build: Split-out build-source-lib.sh from build-lib.sh.
authorJan Nieuwenhuizen <janneke@gnu.org>
Fri, 20 Sep 2019 17:40:37 +0000 (19:40 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Fri, 20 Sep 2019 17:40:37 +0000 (19:40 +0200)
* build-aux/build-lib.sh: Remove building of source lib.
* build-aux/build-source-lib.sh: New file.
* build-aux/build.sh.in: Invoke it.
* build-aux/bootstrap.sh.in: Likewise.

build-aux/bootstrap.sh.in
build-aux/build-lib.sh
build-aux/build-source-lib.sh [new file with mode: 0644]
build-aux/build.sh.in

index 8a3c24c234a09355612846f2ce4f7db1cc35cdf8..6dd69bdb102bd57117a86f1a265a16228f7a2409 100644 (file)
@@ -81,3 +81,15 @@ for c in $mes_SOURCES; do
 done
 echo "CCLD       src/mes"
 $CC -nostdlib -o src/mes -L mescc-lib mescc-lib/crt1.o $objects -lc
+
+(
+    mkdir -p gcc-lib
+    cp config.sh gcc-lib
+    cd gcc-lib
+    compiler=gcc
+    if test -z "$srcdest"; then
+        srcdest=../
+        srcdir=../
+    fi
+    @SHELL@ ${srcdest}build-aux/build-source-lib.sh
+)
index 67a647ed7cfb38269a950a9e4f7926dbc55a1eb6..b70902aa1148e95854b918cfc726d2cf0e9f1a03 100755 (executable)
@@ -79,26 +79,3 @@ cp libgetopt.a $mes_cpu-mes
 if test -e libgetopt.s; then
     cp libgetopt.s $mes_cpu-mes
 fi
-
-cp ${srcdest}lib/$mes_kernel/$mes_cpu-mes-$compiler/crt*.c $mes_cpu-mes
-
-rm -f libc+gnu.c
-cat > libc+gnu.c <<EOF
-// Generated from Mes -- do not edit
-// compiler: $compiler
-// cpu:      $mes_cpu
-// bits:     $mes_bits
-// libc:     $mes_libc
-// kernel:   $mes_kernel
-// system:   $mes_system
-
-EOF
-for c in $libc_gnu_SOURCES; do
-    echo "// $c" >> libc+gnu.c
-    cat ${srcdest}$c >> libc+gnu.c
-    echo >> libc+gnu.c
-done
-cp libc+gnu.c $mes_cpu-mes
-
-cp ${srcdest}lib/libtcc1.c $mes_cpu-mes
-cp ${srcdest}lib/posix/getopt.c $mes_cpu-mes/libgetopt.c
diff --git a/build-aux/build-source-lib.sh b/build-aux/build-source-lib.sh
new file mode 100644 (file)
index 0000000..9180567
--- /dev/null
@@ -0,0 +1,53 @@
+#! /bin/sh
+
+# GNU Mes --- Maxwell Equations of Software
+# Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+#
+# This file is part of GNU Mes.
+#
+# GNU Mes is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GNU Mes is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
+
+set -e
+
+if test "$V" = 2; then
+    set -x
+fi
+
+set -u
+srcdest=${srcdest-}
+. ${srcdest}build-aux/configure-lib.sh
+
+mkdir -p $mes_cpu-mes
+cp ${srcdest}lib/$mes_kernel/$mes_cpu-mes-$compiler/crt*.c $mes_cpu-mes
+
+rm -f libc+gnu.c
+cat > libc+gnu.c <<EOF
+// Generated from Mes -- do not edit
+// compiler: $compiler
+// cpu:      $mes_cpu
+// bits:     $mes_bits
+// libc:     $mes_libc
+// kernel:   $mes_kernel
+// system:   $mes_system
+
+EOF
+for c in $libc_gnu_SOURCES; do
+    echo "// $c" >> libc+gnu.c
+    cat ${srcdest}$c >> libc+gnu.c
+    echo >> libc+gnu.c
+done
+cp libc+gnu.c $mes_cpu-mes
+
+cp ${srcdest}lib/libtcc1.c $mes_cpu-mes
+cp ${srcdest}lib/posix/getopt.c $mes_cpu-mes/libgetopt.c
index 148386acf0421f3af5373a47c60a50954e9fc233..13952a90dc1ac0d5c0426adae27d09968fb45c9f 100644 (file)
@@ -87,15 +87,15 @@ export CPPFLAGS
 export LDFLAGS
 export LIBS
 
-if test $compiler = gcc; then
-    (
-        mkdir -p gcc-lib
-        cp config.sh gcc-lib
-        cd gcc-lib
-        if test -z "$srcdest"; then
-            srcdest=../
-            srcdir=../
-        fi
+(
+    mkdir -p gcc-lib
+    cp config.sh gcc-lib
+    cd gcc-lib
+    if test -z "$srcdest"; then
+        srcdest=../
+        srcdir=../
+    fi
+    if test $compiler = gcc; then
         CPPFLAGS="
 -D HAVE_CONFIG_H=1
 -I include
@@ -104,8 +104,9 @@ if test $compiler = gcc; then
 "
         ${SHELL} ${srcdest}build-aux/build-lib.sh
         cp crt1.o ..
-    )
-fi
+    fi
+    compiler=gcc ${SHELL} ${srcdest}build-aux/build-source-lib.sh
+)
 
 (
     if test $compiler = gcc; then
@@ -145,4 +146,5 @@ fi
     AR="${srcdest}pre-inst-env mesar"
     CC="${srcdest}pre-inst-env mescc -m $mes_bits"
     ${SHELL} ${srcdest}build-aux/build-lib.sh
+    ${SHELL} ${srcdest}build-aux/build-source-lib.sh
 )