Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 1 | cc_defaults { |
| 2 | name: "toolbox_defaults", |
| 3 | |
| 4 | cflags: [ |
| 5 | "-Werror", |
| 6 | "-Wno-unused-parameter", |
| 7 | "-Wno-unused-const-variable", |
| 8 | "-include bsd-compatibility.h", |
| 9 | ], |
| 10 | local_include_dirs: ["upstream-netbsd/include/"], |
| 11 | } |
Yifan Hong | 49641ba | 2017-05-22 18:08:02 -0700 | [diff] [blame] | 12 | |
| 13 | cc_library_static { |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 14 | name: "libtoolbox_dd", |
| 15 | defaults: ["toolbox_defaults"], |
Tom Cherry | 6fb3dca | 2018-01-09 13:20:08 -0800 | [diff] [blame^] | 16 | vendor_available: true, |
Yifan Hong | 49641ba | 2017-05-22 18:08:02 -0700 | [diff] [blame] | 17 | srcs: [ |
| 18 | "upstream-netbsd/bin/dd/args.c", |
| 19 | "upstream-netbsd/bin/dd/conv.c", |
| 20 | "upstream-netbsd/bin/dd/dd.c", |
| 21 | "upstream-netbsd/bin/dd/dd_hostops.c", |
| 22 | "upstream-netbsd/bin/dd/misc.c", |
| 23 | "upstream-netbsd/bin/dd/position.c", |
| 24 | "upstream-netbsd/lib/libc/gen/getbsize.c", |
| 25 | "upstream-netbsd/lib/libc/gen/humanize_number.c", |
| 26 | "upstream-netbsd/lib/libc/stdlib/strsuftoll.c", |
| 27 | "upstream-netbsd/lib/libc/string/swab.c", |
| 28 | "upstream-netbsd/lib/libutil/raise_default_signal.c", |
| 29 | ], |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 30 | cflags: [ |
Yifan Hong | 49641ba | 2017-05-22 18:08:02 -0700 | [diff] [blame] | 31 | "-Dmain=dd_main", |
| 32 | "-DNO_CONV", |
| 33 | ], |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 34 | } |
| 35 | |
| 36 | genrule { |
| 37 | name: "toolbox_tools", |
Tom Cherry | e69ba76 | 2018-01-09 00:27:03 +0000 | [diff] [blame] | 38 | cmd: "echo '/* file generated automatically */' >$(out) && for t in toolbox dd getevent newfs_msdos; do echo \"TOOL($$t)\" >>$(out); done", |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 39 | out: ["tools.h"], |
| 40 | } |
| 41 | |
| 42 | genrule { |
| 43 | name: "toolbox_input_labels", |
| 44 | tool_files: ["generate-input.h-labels.py"], |
| 45 | cmd: "$(location) $(in) >$(out)", |
| 46 | srcs: [":kernel_input_headers"], |
| 47 | out: ["input.h-labels.h"], |
| 48 | } |
| 49 | |
Tom Cherry | 6fb3dca | 2018-01-09 13:20:08 -0800 | [diff] [blame^] | 50 | cc_defaults { |
| 51 | name: "toolbox_binary_defaults", |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 52 | defaults: ["toolbox_defaults"], |
| 53 | srcs: [ |
| 54 | "toolbox.c", |
| 55 | "getevent.c", |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 56 | "newfs_msdos.c", |
| 57 | ], |
| 58 | generated_headers: [ |
| 59 | "toolbox_tools", |
| 60 | "toolbox_input_labels", |
| 61 | ], |
| 62 | whole_static_libs: ["libtoolbox_dd"], |
| 63 | shared_libs: [ |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 64 | "libcutils", |
| 65 | ], |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 66 | |
| 67 | symlinks: [ |
| 68 | "dd", |
| 69 | "getevent", |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 70 | "newfs_msdos", |
| 71 | ], |
| 72 | } |
| 73 | |
Tom Cherry | 6fb3dca | 2018-01-09 13:20:08 -0800 | [diff] [blame^] | 74 | cc_binary { |
| 75 | name: "toolbox", |
| 76 | defaults: ["toolbox_binary_defaults"], |
| 77 | } |
| 78 | |
| 79 | cc_binary { |
| 80 | name: "toolbox_vendor", |
| 81 | stem: "toolbox", |
| 82 | vendor: true, |
| 83 | defaults: ["toolbox_binary_defaults"], |
| 84 | } |
| 85 | |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 86 | // We only want 'r' on userdebug and eng builds. |
| 87 | cc_binary { |
| 88 | name: "r", |
| 89 | defaults: ["toolbox_defaults"], |
| 90 | srcs: ["r.c"], |
Yifan Hong | 49641ba | 2017-05-22 18:08:02 -0700 | [diff] [blame] | 91 | } |
| 92 | |
| 93 | // We build BSD grep separately, so it can provide egrep and fgrep too. |
Erik Staats | 0c3b1bd | 2017-06-09 09:10:59 -0700 | [diff] [blame] | 94 | cc_defaults { |
| 95 | name: "grep_common", |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 96 | defaults: ["toolbox_defaults"], |
Yifan Hong | 49641ba | 2017-05-22 18:08:02 -0700 | [diff] [blame] | 97 | srcs: [ |
| 98 | "upstream-netbsd/usr.bin/grep/fastgrep.c", |
| 99 | "upstream-netbsd/usr.bin/grep/file.c", |
| 100 | "upstream-netbsd/usr.bin/grep/grep.c", |
| 101 | "upstream-netbsd/usr.bin/grep/queue.c", |
| 102 | "upstream-netbsd/usr.bin/grep/util.c", |
| 103 | ], |
Dan Willemsen | a852f95 | 2018-01-08 13:50:55 -0800 | [diff] [blame] | 104 | symlinks: [ |
| 105 | "egrep", |
| 106 | "fgrep", |
| 107 | ], |
Ivan Lozano | f4dafbc | 2017-11-13 14:06:08 -0800 | [diff] [blame] | 108 | |
| 109 | sanitize: { |
| 110 | integer_overflow: false, |
| 111 | }, |
Erik Staats | 0c3b1bd | 2017-06-09 09:10:59 -0700 | [diff] [blame] | 112 | } |
Yifan Hong | 49641ba | 2017-05-22 18:08:02 -0700 | [diff] [blame] | 113 | |
Erik Staats | 0c3b1bd | 2017-06-09 09:10:59 -0700 | [diff] [blame] | 114 | cc_binary { |
| 115 | name: "grep", |
| 116 | defaults: ["grep_common"], |
| 117 | } |
| 118 | |
| 119 | // Build vendor grep. |
| 120 | // TODO: Add vendor_available to "grep" module and remove "grep_vendor" module |
| 121 | // when vendor_available is fully supported. |
| 122 | cc_binary { |
| 123 | name: "grep_vendor", |
| 124 | stem: "grep", |
| 125 | vendor: true, |
| 126 | defaults: ["grep_common"], |
Yifan Hong | 49641ba | 2017-05-22 18:08:02 -0700 | [diff] [blame] | 127 | } |