| cc_defaults { | 
 |     name: "toolbox_defaults", | 
 |  | 
 |     cflags: [ | 
 |         "-Werror", | 
 |         "-Wno-unused-parameter", | 
 |         "-Wno-unused-const-variable", | 
 |         "-D_FILE_OFFSET_BITS=64", | 
 |         "-DWITHOUT_NLS", | 
 |         "-DWITHOUT_BZ2", | 
 |         "-DWITHOUT_GZIP", | 
 |     ], | 
 | } | 
 |  | 
 | 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", | 
 |     ], | 
 |     generated_headers: [ | 
 |         "toolbox_input_labels", | 
 |     ], | 
 |     shared_libs: [ | 
 |         "libbase", | 
 |     ], | 
 |     static_libs: ["libpropertyinfoparser"], | 
 |  | 
 |     symlinks: [ | 
 |         "getevent", | 
 |         "getprop", | 
 |     ], | 
 | } | 
 |  | 
 | cc_binary { | 
 |     name: "toolbox", | 
 |     defaults: ["toolbox_binary_defaults"], | 
 |     recovery_available: true, | 
 | } | 
 |  | 
 | cc_binary { | 
 |     name: "toolbox_vendor", | 
 |     stem: "toolbox", | 
 |     vendor: true, | 
 |     defaults: ["toolbox_binary_defaults"], | 
 | } | 
 |  | 
 | // We build BSD grep separately (but see http://b/111849261). | 
 | 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"], | 
 |     recovery_available: true, | 
 | } | 
 |  | 
 | // 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"], | 
 | } |