aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp97
-rw-r--r--METADATA15
-rw-r--r--MODULE_LICENSE_BSD0
-rw-r--r--OWNERS1
4 files changed, 113 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..8c06110
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,97 @@
+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",
+ ],
+ c_std: "gnu11",
+ stl: "none",
+ yacc: {
+ flags: [
+ "-y",
+ ],
+ },
+}
+
+genrule {
+ name: "awkgram.tab.c",
+ cmd: "M4=$(location m4) $(location bison) -y --no-lines --output=$(genDir)/awkgram.tab.c $(in)",
+ out: ["awkgram.tab.c"],
+ srcs: ["awkgram.y"],
+ tools: [
+ "bison",
+ "m4",
+ ],
+}
+
+genrule {
+ name: "awkgram.tab.h",
+ cmd: "M4=$(location m4) $(location bison) -y --no-lines --defines=$(genDir)/awkgram.tab.h --output=$(genDir)/awkgram.tab.c $(in)",
+ out: ["awkgram.tab.h"],
+ srcs: ["awkgram.y"],
+ tools: [
+ "bison",
+ "m4",
+ ],
+}
+
+genrule {
+ name: "proctab.c",
+ tools: ["awk-maketab"],
+ cmd: "$(location awk-maketab) $(in) > $(genDir)/proctab.c",
+ out: ["proctab.c"],
+ srcs: [":awkgram.tab.h"],
+}
+
+cc_binary_host {
+ name: "awk-maketab",
+ defaults: ["awk-flags"],
+ generated_headers: ["awkgram.tab.h"],
+ srcs: ["maketab.c"],
+}
+
+cc_defaults {
+ name: "awk-defaults",
+ defaults: ["awk-flags"],
+ generated_headers: ["awkgram.tab.h"],
+ srcs: [
+ "b.c",
+ "lex.c",
+ "lib.c",
+ "main.c",
+ "parse.c",
+ ":proctab.c",
+ "run.c",
+ "tran.c",
+ ":awkgram.tab.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"],
+}
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..0c29003
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,15 @@
+name: "one-true-awk"
+description: "This is the version of awk described in \'The AWK Programming Language\', by Al Aho, Brian Kernighan, and Peter Weinberger (Addison-Wesley, 1988, ISBN 0-201-07981-X)."
+third_party {
+ url {
+ type: GIT
+ value: "https://github.com/onetrueawk/awk.git"
+ }
+ version: "a2a41a8e359dca5295c43dc2c2408094b96c3e0c"
+ license_type: NOTICE
+ last_upgrade_date {
+ year: 2020
+ month: 11
+ day: 30
+ }
+}
diff --git a/MODULE_LICENSE_BSD b/MODULE_LICENSE_BSD
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_BSD
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..7529cb9
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1 @@
+include platform/system/core:/janitors/OWNERS