Loading toolbox/Android.bp +71 −12 Original line number Diff line number Diff line common_cflags = [ cc_defaults { name: "toolbox_defaults", cflags: [ "-Werror", "-Wno-unused-parameter", "-Wno-unused-const-variable", "-include bsd-compatibility.h" ] "-include bsd-compatibility.h", ], local_include_dirs: ["upstream-netbsd/include/"], } cc_library_static { name: "libtoolbox_dd", defaults: ["toolbox_defaults"], srcs: [ "upstream-netbsd/bin/dd/args.c", "upstream-netbsd/bin/dd/conv.c", Loading @@ -19,17 +26,68 @@ cc_library_static { "upstream-netbsd/lib/libc/string/swab.c", "upstream-netbsd/lib/libutil/raise_default_signal.c", ], cflags: common_cflags + [ cflags: [ "-Dmain=dd_main", "-DNO_CONV", ], local_include_dirs: ["upstream-netbsd/include/"], name: "libtoolbox_dd", } genrule { name: "toolbox_tools", cmd: "echo '/* file generated automatically */' >$(out) && for t in toolbox dd getevent newfs_msdos getprop; do echo \"TOOL($$t)\" >>$(out); done", out: ["tools.h"], } genrule { name: "toolbox_input_labels", tool_files: ["generate-input.h-labels.py"], cmd: "$(location) $(in) >$(out)", srcs: [":kernel_input_headers"], out: ["input.h-labels.h"], } cc_binary { name: "toolbox", defaults: ["toolbox_defaults"], srcs: [ "toolbox.c", "getevent.c", "getprop.cpp", "newfs_msdos.c", ], generated_headers: [ "toolbox_tools", "toolbox_input_labels", ], whole_static_libs: ["libtoolbox_dd"], shared_libs: [ "libbase", "libcutils", ], static_libs: [ "libpropertyinfoparser", ], cpp_std: "gnu++1z", symlinks: [ "dd", "getevent", "getprop", "newfs_msdos", ], } // We only want 'r' on userdebug and eng builds. cc_binary { name: "r", defaults: ["toolbox_defaults"], srcs: ["r.c"], } // We build BSD grep separately, so it can provide egrep and fgrep too. cc_defaults { name: "grep_common", defaults: ["toolbox_defaults"], srcs: [ "upstream-netbsd/usr.bin/grep/fastgrep.c", "upstream-netbsd/usr.bin/grep/file.c", Loading @@ -37,9 +95,10 @@ cc_defaults { "upstream-netbsd/usr.bin/grep/queue.c", "upstream-netbsd/usr.bin/grep/util.c", ], cflags: common_cflags, local_include_dirs: ["upstream-netbsd/include/"], symlinks: ["egrep", "fgrep"], symlinks: [ "egrep", "fgrep", ], sanitize: { integer_overflow: false, Loading toolbox/Android.mkdeleted 100644 → 0 +0 −78 Original line number Diff line number Diff line LOCAL_PATH:= $(call my-dir) common_cflags := \ -Werror -Wno-unused-parameter -Wno-unused-const-variable \ -include bsd-compatibility.h \ include $(CLEAR_VARS) BSD_TOOLS := \ dd \ OUR_TOOLS := \ getevent \ newfs_msdos \ OUR_CPP_TOOLS := \ getprop \ ALL_TOOLS = $(BSD_TOOLS) $(OUR_TOOLS) $(OUR_CPP_TOOLS) LOCAL_SRC_FILES := \ toolbox.c \ $(patsubst %,%.c,$(OUR_TOOLS)) \ $(patsubst %,%.cpp,$(OUR_CPP_TOOLS)) \ LOCAL_CFLAGS += $(common_cflags) LOCAL_CPPFLAGS += -std=gnu++1z LOCAL_C_INCLUDES += $(LOCAL_PATH)/upstream-netbsd/include/ LOCAL_SHARED_LIBRARIES := \ libbase \ libcutils \ LOCAL_STATIC_LIBRARIES := libpropertyinfoparser LOCAL_WHOLE_STATIC_LIBRARIES := $(patsubst %,libtoolbox_%,$(BSD_TOOLS)) LOCAL_MODULE := toolbox # Install the symlinks. LOCAL_POST_INSTALL_CMD := $(hide) $(foreach t,$(ALL_TOOLS),ln -sf toolbox $(TARGET_OUT)/bin/$(t);) # Including this will define $(intermediates). # include $(BUILD_EXECUTABLE) $(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h TOOLS_H := $(intermediates)/tools.h $(TOOLS_H): PRIVATE_TOOLS := toolbox $(ALL_TOOLS) $(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done $(TOOLS_H): $(LOCAL_PATH)/Android.mk $(TOOLS_H): $(transform-generated-source) $(LOCAL_PATH)/getevent.c: $(intermediates)/input.h-labels.h UAPI_INPUT_EVENT_CODES_H := bionic/libc/kernel/uapi/linux/input.h bionic/libc/kernel/uapi/linux/input-event-codes.h INPUT_H_LABELS_H := $(intermediates)/input.h-labels.h $(INPUT_H_LABELS_H): PRIVATE_LOCAL_PATH := $(LOCAL_PATH) # The PRIVATE_CUSTOM_TOOL line uses = to evaluate the output path late. # We copy the input path so it can't be accidentally modified later. $(INPUT_H_LABELS_H): PRIVATE_UAPI_INPUT_EVENT_CODES_H := $(UAPI_INPUT_EVENT_CODES_H) $(INPUT_H_LABELS_H): PRIVATE_CUSTOM_TOOL = $(PRIVATE_LOCAL_PATH)/generate-input.h-labels.py $(PRIVATE_UAPI_INPUT_EVENT_CODES_H) > $@ # The dependency line though gets evaluated now, so the PRIVATE_ copy doesn't exist yet, # and the original can't yet have been modified, so this is both sufficient and necessary. $(INPUT_H_LABELS_H): $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/generate-input.h-labels.py $(UAPI_INPUT_EVENT_CODES_H) $(INPUT_H_LABELS_H): $(transform-generated-source) # We only want 'r' on userdebug and eng builds. include $(CLEAR_VARS) LOCAL_SRC_FILES := r.c LOCAL_CFLAGS += $(common_cflags) LOCAL_C_INCLUDES += $(LOCAL_PATH)/upstream-netbsd/include/ LOCAL_MODULE := r LOCAL_MODULE_TAGS := debug include $(BUILD_EXECUTABLE) Loading
toolbox/Android.bp +71 −12 Original line number Diff line number Diff line common_cflags = [ cc_defaults { name: "toolbox_defaults", cflags: [ "-Werror", "-Wno-unused-parameter", "-Wno-unused-const-variable", "-include bsd-compatibility.h" ] "-include bsd-compatibility.h", ], local_include_dirs: ["upstream-netbsd/include/"], } cc_library_static { name: "libtoolbox_dd", defaults: ["toolbox_defaults"], srcs: [ "upstream-netbsd/bin/dd/args.c", "upstream-netbsd/bin/dd/conv.c", Loading @@ -19,17 +26,68 @@ cc_library_static { "upstream-netbsd/lib/libc/string/swab.c", "upstream-netbsd/lib/libutil/raise_default_signal.c", ], cflags: common_cflags + [ cflags: [ "-Dmain=dd_main", "-DNO_CONV", ], local_include_dirs: ["upstream-netbsd/include/"], name: "libtoolbox_dd", } genrule { name: "toolbox_tools", cmd: "echo '/* file generated automatically */' >$(out) && for t in toolbox dd getevent newfs_msdos getprop; do echo \"TOOL($$t)\" >>$(out); done", out: ["tools.h"], } genrule { name: "toolbox_input_labels", tool_files: ["generate-input.h-labels.py"], cmd: "$(location) $(in) >$(out)", srcs: [":kernel_input_headers"], out: ["input.h-labels.h"], } cc_binary { name: "toolbox", defaults: ["toolbox_defaults"], srcs: [ "toolbox.c", "getevent.c", "getprop.cpp", "newfs_msdos.c", ], generated_headers: [ "toolbox_tools", "toolbox_input_labels", ], whole_static_libs: ["libtoolbox_dd"], shared_libs: [ "libbase", "libcutils", ], static_libs: [ "libpropertyinfoparser", ], cpp_std: "gnu++1z", symlinks: [ "dd", "getevent", "getprop", "newfs_msdos", ], } // We only want 'r' on userdebug and eng builds. cc_binary { name: "r", defaults: ["toolbox_defaults"], srcs: ["r.c"], } // We build BSD grep separately, so it can provide egrep and fgrep too. cc_defaults { name: "grep_common", defaults: ["toolbox_defaults"], srcs: [ "upstream-netbsd/usr.bin/grep/fastgrep.c", "upstream-netbsd/usr.bin/grep/file.c", Loading @@ -37,9 +95,10 @@ cc_defaults { "upstream-netbsd/usr.bin/grep/queue.c", "upstream-netbsd/usr.bin/grep/util.c", ], cflags: common_cflags, local_include_dirs: ["upstream-netbsd/include/"], symlinks: ["egrep", "fgrep"], symlinks: [ "egrep", "fgrep", ], sanitize: { integer_overflow: false, Loading
toolbox/Android.mkdeleted 100644 → 0 +0 −78 Original line number Diff line number Diff line LOCAL_PATH:= $(call my-dir) common_cflags := \ -Werror -Wno-unused-parameter -Wno-unused-const-variable \ -include bsd-compatibility.h \ include $(CLEAR_VARS) BSD_TOOLS := \ dd \ OUR_TOOLS := \ getevent \ newfs_msdos \ OUR_CPP_TOOLS := \ getprop \ ALL_TOOLS = $(BSD_TOOLS) $(OUR_TOOLS) $(OUR_CPP_TOOLS) LOCAL_SRC_FILES := \ toolbox.c \ $(patsubst %,%.c,$(OUR_TOOLS)) \ $(patsubst %,%.cpp,$(OUR_CPP_TOOLS)) \ LOCAL_CFLAGS += $(common_cflags) LOCAL_CPPFLAGS += -std=gnu++1z LOCAL_C_INCLUDES += $(LOCAL_PATH)/upstream-netbsd/include/ LOCAL_SHARED_LIBRARIES := \ libbase \ libcutils \ LOCAL_STATIC_LIBRARIES := libpropertyinfoparser LOCAL_WHOLE_STATIC_LIBRARIES := $(patsubst %,libtoolbox_%,$(BSD_TOOLS)) LOCAL_MODULE := toolbox # Install the symlinks. LOCAL_POST_INSTALL_CMD := $(hide) $(foreach t,$(ALL_TOOLS),ln -sf toolbox $(TARGET_OUT)/bin/$(t);) # Including this will define $(intermediates). # include $(BUILD_EXECUTABLE) $(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h TOOLS_H := $(intermediates)/tools.h $(TOOLS_H): PRIVATE_TOOLS := toolbox $(ALL_TOOLS) $(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done $(TOOLS_H): $(LOCAL_PATH)/Android.mk $(TOOLS_H): $(transform-generated-source) $(LOCAL_PATH)/getevent.c: $(intermediates)/input.h-labels.h UAPI_INPUT_EVENT_CODES_H := bionic/libc/kernel/uapi/linux/input.h bionic/libc/kernel/uapi/linux/input-event-codes.h INPUT_H_LABELS_H := $(intermediates)/input.h-labels.h $(INPUT_H_LABELS_H): PRIVATE_LOCAL_PATH := $(LOCAL_PATH) # The PRIVATE_CUSTOM_TOOL line uses = to evaluate the output path late. # We copy the input path so it can't be accidentally modified later. $(INPUT_H_LABELS_H): PRIVATE_UAPI_INPUT_EVENT_CODES_H := $(UAPI_INPUT_EVENT_CODES_H) $(INPUT_H_LABELS_H): PRIVATE_CUSTOM_TOOL = $(PRIVATE_LOCAL_PATH)/generate-input.h-labels.py $(PRIVATE_UAPI_INPUT_EVENT_CODES_H) > $@ # The dependency line though gets evaluated now, so the PRIVATE_ copy doesn't exist yet, # and the original can't yet have been modified, so this is both sufficient and necessary. $(INPUT_H_LABELS_H): $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/generate-input.h-labels.py $(UAPI_INPUT_EVENT_CODES_H) $(INPUT_H_LABELS_H): $(transform-generated-source) # We only want 'r' on userdebug and eng builds. include $(CLEAR_VARS) LOCAL_SRC_FILES := r.c LOCAL_CFLAGS += $(common_cflags) LOCAL_C_INCLUDES += $(LOCAL_PATH)/upstream-netbsd/include/ LOCAL_MODULE := r LOCAL_MODULE_TAGS := debug include $(BUILD_EXECUTABLE)