Elliott Hughes | c673df2 | 2017-11-30 10:53:25 -0800 | [diff] [blame] | 1 | cc_defaults { |
Elliott Hughes | b89363f | 2019-01-29 12:52:50 -0800 | [diff] [blame] | 2 | name: "awk-flags", |
Elliott Hughes | c673df2 | 2017-11-30 10:53:25 -0800 | [diff] [blame] | 3 | cflags: [ |
| 4 | "-Wall", |
| 5 | "-Werror", |
| 6 | "-Wextra", |
| 7 | // Ignore a few harmless idioms widely used in this code. |
| 8 | "-Wno-missing-field-initializers", |
| 9 | "-Wno-self-assign", |
| 10 | "-Wno-unused-parameter", |
Elliott Hughes | c9fdfd8 | 2019-03-08 15:25:46 -0800 | [diff] [blame] | 11 | // A loop to UCHAR_MAX in `b.c`. |
| 12 | "-Wno-sign-compare", |
Elliott Hughes | 112b307 | 2018-12-12 14:36:24 -0800 | [diff] [blame] | 13 | // And one less harmless used with strtod(3) in `lex.c`. |
| 14 | "-Wno-unused-result", |
George Burgess IV | b870290 | 2019-01-15 18:56:57 -0800 | [diff] [blame] | 15 | // Also ignore harmless macro redefinitions: glibc 2.17 #defines dprintf |
| 16 | // in stdio2.h, and this #defines it in awk.h |
| 17 | "-Wno-macro-redefined", |
Elliott Hughes | c673df2 | 2017-11-30 10:53:25 -0800 | [diff] [blame] | 18 | ], |
Elliott Hughes | b89363f | 2019-01-29 12:52:50 -0800 | [diff] [blame] | 19 | yaccflags: [ |
| 20 | "-y", |
| 21 | ], |
| 22 | } |
| 23 | |
Elliott Hughes | 52487fa | 2019-03-15 03:28:55 +0000 | [diff] [blame] | 24 | // TODO: we should actually rebuild awkgram.y and pass the output through maketab. |
| 25 | // For now we just rebuild the checked-in generated files. |
| 26 | cc_binary { |
Elliott Hughes | b89363f | 2019-01-29 12:52:50 -0800 | [diff] [blame] | 27 | name: "awk-maketab", |
| 28 | defaults: ["awk-flags"], |
| 29 | srcs: ["maketab.c"] |
| 30 | } |
| 31 | |
| 32 | cc_defaults { |
| 33 | name: "awk-defaults", |
| 34 | defaults: ["awk-flags"], |
Elliott Hughes | 52487fa | 2019-03-15 03:28:55 +0000 | [diff] [blame] | 35 | |
Elliott Hughes | b89363f | 2019-01-29 12:52:50 -0800 | [diff] [blame] | 36 | srcs: [ |
| 37 | "b.c", |
| 38 | "lex.c", |
| 39 | "lib.c", |
| 40 | "main.c", |
| 41 | "parse.c", |
Elliott Hughes | 52487fa | 2019-03-15 03:28:55 +0000 | [diff] [blame] | 42 | "proctab.c", |
Elliott Hughes | b89363f | 2019-01-29 12:52:50 -0800 | [diff] [blame] | 43 | "run.c", |
| 44 | "tran.c", |
Elliott Hughes | 52487fa | 2019-03-15 03:28:55 +0000 | [diff] [blame] | 45 | "ytab.c", |
Elliott Hughes | b89363f | 2019-01-29 12:52:50 -0800 | [diff] [blame] | 46 | ], |
Elliott Hughes | c673df2 | 2017-11-30 10:53:25 -0800 | [diff] [blame] | 47 | } |
| 48 | |
| 49 | cc_binary { |
| 50 | name: "awk", |
| 51 | defaults: ["awk-defaults"], |
| 52 | } |
| 53 | |
| 54 | cc_binary { |
| 55 | name: "awk_vendor", |
| 56 | defaults: ["awk-defaults"], |
| 57 | stem: "awk", |
| 58 | vendor: true, |
| 59 | } |
Elliott Hughes | 112b307 | 2018-12-12 14:36:24 -0800 | [diff] [blame] | 60 | |
| 61 | cc_binary_host { |
| 62 | name: "one-true-awk", |
| 63 | defaults: ["awk-defaults"], |
| 64 | } |