commit: 596af33507ab4b55e880f4484e9ce310ec4c20ef
parent 2750c820586500c54afa5efd51218970a0d9d344
Author: Andrius Štikonas <andrius@stikonas.eu>
Date: Thu, 28 Jan 2021 21:55:00 +0000
Rebuild bash parser.
Diffstat:
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
@@ -245,16 +245,17 @@ be useful later for autotools.
of standard UNIX utilities derived from code by Caldera and Sun. Differently from
the analogous utilities from the GNU project, they can be compiled with a simple `Makefile`.
-#### Part 21: bash 2.05b
+#### Part 18: bash 2.05b
GNU `bash` is the most well known shell and the most complex piece of software
so far. However, it comes with a number of great benefits over kaem, including
proper POSIX sh support, globbing, etc.
-NOTE: Currently, there is a bison pre-generated file here, which we are working
-to remove.
+Bash ships with a bison pre-generated file here which we delete. Unfortunately,
+we have not bootstrapped bison but fortunately for us, heirloom yacc is able to
+cope here.
-#### Part 22: m4 1.4
+#### Part 19: m4 1.4
`m4` is the first piece of software we need in the autotools suite. It allows
macros to be defined and files to be generated from those macros.
diff --git a/sysa/bash-2.05b/bash-2.05b.kaem b/sysa/bash-2.05b/bash-2.05b.kaem
@@ -17,6 +17,7 @@ cp ../../mk/common.mk common.mk
touch config.h
touch include/version.h
touch include/pipesize.h
+rm y.tab.c y.tab.h
# Patch
patch -Np0 -i ../../patches/mes-libc.patch
diff --git a/sysa/bash-2.05b/mk/main.mk b/sysa/bash-2.05b/mk/main.mk
@@ -78,6 +78,9 @@ mksignames: $(MKSIGNAMES_OBJS)
signames.h: mksignames
./mksignames $@
+y.tab.c: parse.y
+ yacc -d $^
+
trap.c: signames.h
bash: libsh.a libglob.a libtilde.a $(OBJS)