Home | History | Annotate | Download | only in one-true-awk
      1 cc_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.
     26 cc_binary {
     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"],
     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 
     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 }
     60 
     61 cc_binary_host {
     62     name: "one-true-awk",
     63     defaults: ["awk-defaults"],
     64 }
     65