From f5aab3b878730d7b0d87b1242354f0835618ff28 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 20 Sep 2019 19:40:37 +0200 Subject: [PATCH] build: Split-out build-source-lib.sh from build-lib.sh. * 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 | 12 ++++++++ build-aux/build-lib.sh | 23 --------------- build-aux/build-source-lib.sh | 53 +++++++++++++++++++++++++++++++++++ build-aux/build.sh.in | 24 ++++++++-------- 4 files changed, 78 insertions(+), 34 deletions(-) create mode 100644 build-aux/build-source-lib.sh diff --git a/build-aux/bootstrap.sh.in b/build-aux/bootstrap.sh.in index 8a3c24c2..6dd69bdb 100644 --- a/build-aux/bootstrap.sh.in +++ b/build-aux/bootstrap.sh.in @@ -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 +) diff --git a/build-aux/build-lib.sh b/build-aux/build-lib.sh index 67a647ed..b70902aa 100755 --- a/build-aux/build-lib.sh +++ b/build-aux/build-lib.sh @@ -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 <> 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 index 00000000..91805679 --- /dev/null +++ b/build-aux/build-source-lib.sh @@ -0,0 +1,53 @@ +#! /bin/sh + +# GNU Mes --- Maxwell Equations of Software +# Copyright © 2019 Jan (janneke) Nieuwenhuizen +# +# 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 . + +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 <> 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.sh.in b/build-aux/build.sh.in index 148386ac..13952a90 100644 --- a/build-aux/build.sh.in +++ b/build-aux/build.sh.in @@ -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 )