Merge "Convert toolbox to Android.bp"
This commit is contained in:
commit
603826f857
2 changed files with 71 additions and 90 deletions
|
|
@ -1,11 +1,18 @@
|
||||||
common_cflags = [
|
cc_defaults {
|
||||||
"-Werror",
|
name: "toolbox_defaults",
|
||||||
"-Wno-unused-parameter",
|
|
||||||
"-Wno-unused-const-variable",
|
cflags: [
|
||||||
"-include bsd-compatibility.h"
|
"-Werror",
|
||||||
]
|
"-Wno-unused-parameter",
|
||||||
|
"-Wno-unused-const-variable",
|
||||||
|
"-include bsd-compatibility.h",
|
||||||
|
],
|
||||||
|
local_include_dirs: ["upstream-netbsd/include/"],
|
||||||
|
}
|
||||||
|
|
||||||
cc_library_static {
|
cc_library_static {
|
||||||
|
name: "libtoolbox_dd",
|
||||||
|
defaults: ["toolbox_defaults"],
|
||||||
srcs: [
|
srcs: [
|
||||||
"upstream-netbsd/bin/dd/args.c",
|
"upstream-netbsd/bin/dd/args.c",
|
||||||
"upstream-netbsd/bin/dd/conv.c",
|
"upstream-netbsd/bin/dd/conv.c",
|
||||||
|
|
@ -19,17 +26,68 @@ cc_library_static {
|
||||||
"upstream-netbsd/lib/libc/string/swab.c",
|
"upstream-netbsd/lib/libc/string/swab.c",
|
||||||
"upstream-netbsd/lib/libutil/raise_default_signal.c",
|
"upstream-netbsd/lib/libutil/raise_default_signal.c",
|
||||||
],
|
],
|
||||||
cflags: common_cflags + [
|
cflags: [
|
||||||
"-Dmain=dd_main",
|
"-Dmain=dd_main",
|
||||||
"-DNO_CONV",
|
"-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.
|
// We build BSD grep separately, so it can provide egrep and fgrep too.
|
||||||
cc_defaults {
|
cc_defaults {
|
||||||
name: "grep_common",
|
name: "grep_common",
|
||||||
|
defaults: ["toolbox_defaults"],
|
||||||
srcs: [
|
srcs: [
|
||||||
"upstream-netbsd/usr.bin/grep/fastgrep.c",
|
"upstream-netbsd/usr.bin/grep/fastgrep.c",
|
||||||
"upstream-netbsd/usr.bin/grep/file.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/queue.c",
|
||||||
"upstream-netbsd/usr.bin/grep/util.c",
|
"upstream-netbsd/usr.bin/grep/util.c",
|
||||||
],
|
],
|
||||||
cflags: common_cflags,
|
symlinks: [
|
||||||
local_include_dirs: ["upstream-netbsd/include/"],
|
"egrep",
|
||||||
symlinks: ["egrep", "fgrep"],
|
"fgrep",
|
||||||
|
],
|
||||||
|
|
||||||
sanitize: {
|
sanitize: {
|
||||||
integer_overflow: false,
|
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…
Add table
Reference in a new issue