cc_defaults { name: "toolbox_defaults", cflags: [ "-Werror", "-Wno-unused-parameter", "-Wno-unused-const-variable", "-include bsd-compatibility.h", "-D_FILE_OFFSET_BITS=64", ], local_include_dirs: ["upstream-netbsd/include/"], } cc_library_static { name: "libtoolbox_dd", defaults: ["toolbox_defaults"], vendor_available: true, srcs: [ "upstream-netbsd/bin/dd/args.c", "upstream-netbsd/bin/dd/conv.c", "upstream-netbsd/bin/dd/dd.c", "upstream-netbsd/bin/dd/dd_hostops.c", "upstream-netbsd/bin/dd/misc.c", "upstream-netbsd/bin/dd/position.c", "upstream-netbsd/lib/libc/gen/getbsize.c", "upstream-netbsd/lib/libc/gen/humanize_number.c", "upstream-netbsd/lib/libc/stdlib/strsuftoll.c", "upstream-netbsd/lib/libc/string/swab.c", "upstream-netbsd/lib/libutil/raise_default_signal.c", ], cflags: [ "-Dmain=dd_main", "-DNO_CONV", ], } 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_defaults { name: "toolbox_binary_defaults", defaults: ["toolbox_defaults"], cpp_std: "experimental", srcs: [ "toolbox.c", "getevent.c", "getprop.cpp", "newfs_msdos.c", ], generated_headers: [ "toolbox_input_labels", ], whole_static_libs: ["libtoolbox_dd"], shared_libs: [ "libbase", "libcutils", ], static_libs: ["libpropertyinfoparser"], symlinks: [ "dd", "getevent", "getprop", "newfs_msdos", ], } cc_binary { name: "toolbox", defaults: ["toolbox_binary_defaults"], } cc_binary { name: "toolbox_vendor", stem: "toolbox", vendor: true, defaults: ["toolbox_binary_defaults"], } // 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", "upstream-netbsd/usr.bin/grep/grep.c", "upstream-netbsd/usr.bin/grep/queue.c", "upstream-netbsd/usr.bin/grep/util.c", ], symlinks: [ "egrep", "fgrep", ], sanitize: { integer_overflow: false, }, } cc_binary { name: "grep", defaults: ["grep_common"], } // Build vendor grep. // TODO: Add vendor_available to "grep" module and remove "grep_vendor" module // when vendor_available is fully supported. cc_binary { name: "grep_vendor", stem: "grep", vendor: true, defaults: ["grep_common"], }