commit e1bc6c3a19ded30fb1affa8dceaeec7d5c0a0951
parent 0717542bba2021b87f92ab99fbd1851618e17da5
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Sun, 31 Oct 2021 09:01:59 +0100
build/posix: Move scc.sh to cc/posix
The current implementation of scc is a shell script that only
can be executed in POSIX systems, so it makes sense to move it
to that directory. The shell script is also modified to support
external SCCPREFIX.
Diffstat:
5 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/src/cmd/Makefile b/src/cmd/Makefile
@@ -18,7 +18,6 @@ TARGET =\
$(BINDIR)/scc-objdump\
$(BINDIR)/scc-objcopy\
$(BINDIR)/scc-addr2line\
- $(BINDIR)/scc\
$(LIBEXEC)/scc/qbe\
all: $(TARGET) $(DIRS)
@@ -34,10 +33,6 @@ qbe/obj/qbe: qbe
$(LIBEXEC)/scc/qbe: qbe/obj/qbe
cp qbe/obj/qbe $@
-$(BINDIR)/scc: scc.sh
- cp scc.sh $@
- chmod +x $@
-
$(BINDIR)/scc-nm: nm.o $(LIBMACH) $(LIBSCC)
$(CC) $(PROJ_LDFLAGS) nm.o -lmach -lscc -o $@
diff --git a/src/cmd/cc/posix/Makefile b/src/cmd/cc/posix/Makefile
@@ -12,19 +12,23 @@ SYSLST =\
i386-sysv-linux-elf\
amd64-sysv-openbsd-elf\
-TARGETS = $(BINDIR)/scc-cc $(BINDIR)/scc-cpp
+TARGETS =\
+ $(BINDIR)/scc-cc\
+ $(BINDIR)/scc-cpp\
+ $(BINDIR)/scc\
all: $(TARGETS)
$(BINDIR)/scc-cc: $(LIBSCC) cc.o
$(CC) $(PROJ_LDFLAGS) cc.o -lscc -o $@
-$(BINDIR)/scc-cpp: cpp.sh
- trap "rm -f $$$$.sh" 0 2 3;\
- rm -f $@ ;\
- sed "s%@PREFIX@%$(PREFIX)%" < cpp.sh > $$$$.sh && \
- chmod +x $$$$.sh && \
- mv $$$$.sh $@
+$(BINDIR)/scc-cpp: scc.sh
+ cp scc.sh $@
+ chmod +x $@
+
+$(BINDIR)/scc: scc.sh
+ cp scc.sh $@
+ chmod +x $@
config.h:
PREFIX=$(PREFIX) ./mkconf $(SYSLST)
diff --git a/src/cmd/cc/posix/cpp.sh b/src/cmd/cc/posix/cpp.sh
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-SCCPREFIX=${SCCPREFIX:-@PREFIX@}
-${SCCPREFIX}/bin/cc -E $@
diff --git a/src/cmd/cc/posix/scc.sh b/src/cmd/cc/posix/scc.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+if test -z $SCCPREFIX
+then
+ SCCPREFIX=`dirname $0`/..
+ export SCCPREFIX
+fi
+
+case $0 in
+*cpp)
+ exec $SCCPREFIX/bin/scc-cc -E $@
+ ;;
+*scc)
+ exec $SCCPREFIX/bin/scc-cc $@
+ ;;
+esac
diff --git a/src/cmd/scc.sh b/src/cmd/scc.sh
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-root=`dirname $0`/..
-SCCPREFIX=$root
-
-export SCCPREFIX
-
-exec $root/bin/scc-cc $@