Merge "Convert toolbox to Android.bp"
am: 603826f857
Change-Id: I430509d1541fc3f6cd91f3200a8a26c6025bf1b8
This commit is contained in:
commit
0b3e2d4499
2 changed files with 71 additions and 90 deletions
|
@ -1,11 +1,18 @@
|
|||
common_cflags = [
|
||||
"-Werror",
|
||||
"-Wno-unused-parameter",
|
||||
"-Wno-unused-const-variable",
|
||||
"-include bsd-compatibility.h"
|
||||
]
|
||||
cc_defaults {
|
||||
name: "toolbox_defaults",
|
||||
|
||||
cflags: [
|
||||
"-Werror",
|
||||
"-Wno-unused-parameter",
|
||||
"-Wno-unused-const-variable",
|
||||
"-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",
|
||||
|
@ -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",
|
||||
|
@ -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,
|
||||
|
|
|
@ -1,78 +0,0 @@
|
|||
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…
Reference in a new issue