| cc_defaults { |
| name: "awk-flags", |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| "-Wextra", |
| // Ignore a few harmless idioms widely used in this code. |
| "-Wno-missing-field-initializers", |
| "-Wno-self-assign", |
| "-Wno-unused-parameter", |
| // A loop to UCHAR_MAX in `b.c`. |
| "-Wno-sign-compare", |
| // And one less harmless used with strtod(3) in `lex.c`. |
| "-Wno-unused-result", |
| // Also ignore harmless macro redefinitions: glibc 2.17 #defines dprintf |
| // in stdio2.h, and this #defines it in awk.h |
| "-Wno-macro-redefined", |
| ], |
| stl: "none", |
| yacc: { |
| flags: [ |
| "-y", |
| ], |
| }, |
| } |
| |
| // TODO: we should actually rebuild awkgram.y and pass the output through maketab. |
| // For now we just rebuild the checked-in generated files. |
| cc_binary_host { |
| name: "awk-maketab", |
| defaults: ["awk-flags"], |
| srcs: ["maketab.c"] |
| } |
| |
| cc_defaults { |
| name: "awk-defaults", |
| defaults: ["awk-flags"], |
| |
| srcs: [ |
| "b.c", |
| "lex.c", |
| "lib.c", |
| "main.c", |
| "parse.c", |
| "proctab.c", |
| "run.c", |
| "tran.c", |
| "ytab.c", |
| ], |
| } |
| |
| cc_binary { |
| name: "awk", |
| defaults: ["awk-defaults"], |
| } |
| |
| cc_binary { |
| name: "awk_vendor", |
| defaults: ["awk-defaults"], |
| stem: "awk", |
| vendor: true, |
| } |
| |
| cc_binary_host { |
| name: "one-true-awk", |
| defaults: ["awk-defaults"], |
| } |