• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cc_defaults {
2    name: "awk-flags",
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",
11        // A loop to UCHAR_MAX in `b.c`.
12        "-Wno-sign-compare",
13        // And one less harmless used with strtod(3) in `lex.c`.
14        "-Wno-unused-result",
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",
18    ],
19    yaccflags: [
20        "-y",
21    ],
22}
23
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.
26cc_binary {
27    name: "awk-maketab",
28    defaults: ["awk-flags"],
29    srcs: ["maketab.c"]
30}
31
32cc_defaults {
33    name: "awk-defaults",
34    defaults: ["awk-flags"],
35
36    srcs: [
37        "b.c",
38        "lex.c",
39        "lib.c",
40        "main.c",
41        "parse.c",
42        "proctab.c",
43        "run.c",
44        "tran.c",
45        "ytab.c",
46    ],
47}
48
49cc_binary {
50    name: "awk",
51    defaults: ["awk-defaults"],
52}
53
54cc_binary {
55    name: "awk_vendor",
56    defaults: ["awk-defaults"],
57    stem: "awk",
58    vendor: true,
59}
60
61cc_binary_host {
62    name: "one-true-awk",
63    defaults: ["awk-defaults"],
64}
65