summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-04-18 14:50:23 -0700
committerMichael Forney <mforney@mforney.org>2016-04-18 14:54:57 -0700
commit6dbfc835f05ea90023fc3c162f4548885fe78ef0 (patch)
treedc62b1ff950347f44e7381a52d6ee3dbe058ed18
parent67369cfb378b636564cf126b67d8971399a774d5 (diff)
Add awk
-rw-r--r--.gitmodules3
-rw-r--r--core/awk/.gitignore1
-rw-r--r--core/awk/gen.rc20
m---------core/awk/src0
-rw-r--r--core/gen.rc1
5 files changed, 25 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
index 6bcfa973..1b797a31 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -31,3 +31,6 @@
[submodule "core/zlib/src"]
path = core/zlib/src
url = https://github.com/madler/zlib
+[submodule "core/awk/src"]
+ path = core/awk/src
+ url = https://github.com/onetrueawk/awk
diff --git a/core/awk/.gitignore b/core/awk/.gitignore
new file mode 100644
index 00000000..012dc66e
--- /dev/null
+++ b/core/awk/.gitignore
@@ -0,0 +1 @@
+/tools.ninja
diff --git a/core/awk/gen.rc b/core/awk/gen.rc
new file mode 100644
index 00000000..25ad9a67
--- /dev/null
+++ b/core/awk/gen.rc
@@ -0,0 +1,20 @@
+cflags '-std=c90' -I '$outdir' -I '$srcdir'
+
+yacc gram '$srcdir'/awkgram.y
+build '$outdir'/ytab.h copy '$outdir'/gram.tab.h
+
+{
+ include 'toolchain/$host_toolchain.ninja'
+ cflags -I '$outdir'
+ exe maketab -d '$outdir'/ytab.h maketab.c
+} >../tools.ninja
+subninja '$dir/tools.ninja'
+
+rule maketab '(cd $outdir && ./maketab) >$out.tmp && mv $out.tmp $out'
+build '$outdir'/proctab.c maketab '|' '$outdir'/maketab
+
+exe awk -d '$outdir'/ytab.h\
+ b.c main.c parse.c tran.c lib.c run.c lex.c\
+ '$outdir'/^(gram.tab.c proctab.c)
+file bin/awk '$outdir'/awk 755
+file share/man/man1/awk.1 '$srcdir'/awk.1 644
diff --git a/core/awk/src b/core/awk/src
new file mode 160000
+Subproject e37f882d7273c61cb0b33c47d5fed3801ad38a6
diff --git a/core/gen.rc b/core/gen.rc
index e6a507ba..f12541c3 100644
--- a/core/gen.rc
+++ b/core/gen.rc
@@ -1,3 +1,4 @@
+subgen awk
subgen bzip2
subgen cparser
subgen file