build: x86_64 bootstrap build fixes and workaround.
authorJan Nieuwenhuizen <janneke@gnu.org>
Tue, 9 Oct 2018 17:22:51 +0000 (19:22 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Wed, 10 Oct 2018 20:16:44 +0000 (22:16 +0200)
* configure: Substitute @arch@ (WAS: ARCH).  Update users.
* configure.sh: Substitute @arch@.
* build-aux/build-mes.sh: Use $GUILE for x86_64 build.
* build-aux/install.sh.in: Install mes.S, mes.x86_64-mes-S too.
Prune *.E, *.out.

build-aux/build-mes.sh
build-aux/build-x86_64-mes.sh
build-aux/build.sh.in
build-aux/config.sh
build-aux/export.make
build-aux/install.sh.in
configure
configure.sh

index 2b46c85efeb08d49c478828e6cc15fd0ec4c5f9f..8c301fab432a9b02fc337152ece0bc29c2953996 100755 (executable)
@@ -107,9 +107,9 @@ fi
 
 PREPROCESS=1
 if [ ! -d "$MES_SEED" ] \
-       && [ "$ARCH" = "i386" \
-            -o "$ARCH" = "i586" \
-            -o "$ARCH" = "i686" ]; then
+       && [ "$arch" = "i386" \
+            -o "$arch" = "i586" \
+            -o "$arch" = "i686" ]; then
     MES_ARENA=100000000
 fi
 
index de9fd8ecf07eddb5de96be18850171871d7f4aca..67f867fcb299d8a17a8a383102e3cee8c40e6e76 100755 (executable)
@@ -107,13 +107,6 @@ fi
 
 
 PREPROCESS=1
-if [ ! -d "$MES_SEED" ] \
-       && [ "$ARCH" = "i386" \
-            -o "$ARCH" = "i586" \
-            -o "$ARCH" = "i686" ]; then
-    MES_ARENA=100000000
-fi
-
 MES_ARENA=100000000
 
 ARCHDIR=1 NOLINK=1 bash ${srcdest}build-aux/cc-x86_64-mes.sh lib/linux/x86_64-mes/crt1
index 5ef1131e5b841b57610b2eb715edef3d47281eee..836a6928921df6045b8f88ec9b65715ea895e60b 100755 (executable)
@@ -24,6 +24,7 @@ abs_top_srcdir="@abs_top_srcdir@"
 abs_top_builddir="@abs_top_builddir@"
 prefix=${prefix-@prefix@}
 VERSION=${VERSION-@VERSION@}
+arch=${arch-@arch@}
 
 . ${srcdest}build-aux/config.sh
 . ${srcdest}build-aux/trace.sh
@@ -53,6 +54,6 @@ if [ -n "$TCC" ]; then
 fi
 
 sh ${srcdest}build-aux/build-mes.sh
-if [ "$MES" = guile ]; then
-    sh ${srcdest}build-aux/build-x86_64-mes.sh
+if [ "$arch" = x86_64 -a "$GUILE" ]; then
+    MES=$GUILE sh ${srcdest}build-aux/build-x86_64-mes.sh
 fi
index f1a848868259f2c98f728a9d27adcb9f473a8483..6a1cbd9a5374965ca385bcc950c9c4ada56cdfcc 100644 (file)
@@ -58,6 +58,7 @@ export V
 
 export abs_top_builddir
 export abs_top_srcdir
+export arch
 export datadir
 export moduledir
 export prefix
index 3df66d810dd2c8e1c750116d7e2b1f60f470340c..5f34aad10740662cff8b10f9e807d7d71289aef0 100644 (file)
@@ -48,8 +48,8 @@ ifdef DESTDIR
 export DESTDIR
 endif
 
-ifdef ARCH
-export ARCH
+ifdef arch
+export arch
 endif
 
 ifdef CC
index 9a414b30f9859f8c0131d548880be051a7e3520b..70a16302dd8ff2804c92328c8cec882f5187ad0b 100755 (executable)
@@ -94,17 +94,22 @@ fi
 
 mkdir -p $DESTDIR$MES_PREFIX
 if [ -z "$srcdest" ]; then
-    tar -cf- include lib | tar -xf- -C $DESTDIR$MES_PREFIX
+    tar -cf- --exclude='*.E' --exclude='*.*-out' include lib | tar -xf- -C $DESTDIR$MES_PREFIX
     tar -cf- --exclude='*.go' module | tar -xf- -C $DESTDIR$MES_PREFIX
     tar -cf- --exclude='*.gcc*' --exclude='*.mes*' scaffold | tar -xf- -C $DESTDIR$MES_PREFIX
 else
     tar -cf- -C ${srcdest} include lib | tar -xf- -C $DESTDIR$MES_PREFIX
-    tar -cf- -C lib | tar -xf- -C $DESTDIR$MES_PREFIX
+    tar -cf- -C lib --exclude='*.E' --exclude='*.*-out' | tar -xf- -C $DESTDIR$MES_PREFIX
     tar -cf- -C ${srcdest} module | tar -xf- -C $DESTDIR$MES_PREFIX
     tar -cf- -C ${srcdest} scaffold | tar -xf- -C $DESTDIR$MES_PREFIX
 fi
 tar -cf- -C ${srcdest}mes module | tar -xf- -C $DESTDIR$MES_PREFIX
 
+cp src/mes.S $DESTDIR$MES_PREFIX/lib/x86-mes/mes.S
+if [ -f src/mes.x86_64-mes-S ]; then
+    cp src/mes.x86_64-mes-S $DESTDIR$MES_PREFIX/lib/x86_64-mes/mes.S
+fi
+
 mkdir -p $DESTDIR$guile_site_dir
 mkdir -p $DESTDIR$guile_site_ccache_dir
 tar -cf- -C ${srcdest}module --exclude='*.go' . | tar -xf- -C $DESTDIR$guile_site_dir
index b56310ea8a3ba199361936ffe897077ccdee0f9e..6ad9673b59a84c3ce93ee254d13e0d07bdfdcd7c 100755 (executable)
--- a/configure
+++ b/configure
@@ -423,7 +423,7 @@ Some influential environment variables:
           (stdout "PACKAGE:=~a\n" PACKAGE)
           (stdout "VERSION:=~a\n" VERSION)
 
-          (stdout "ARCH:=~a\n" arch)
+          (stdout "arch:=~a\n" arch)
           (stdout "build:=~a\n" build-type)
           (stdout "host:=~a\n" host-type)
 
@@ -481,6 +481,7 @@ Some influential environment variables:
                      ("@guile_site_dir@" . ,guile-site-dir)
                      ("@guile_site_ccache_dir@" . ,guile-site-ccache-dir)
                      ("@VERSION@" . ,VERSION)
+                     ("@arch@" . ,arch)
                      ("mes/module/" . ,(string-append moduledir/)))))
         (for-each (lambda (o)
                     (let* ((src (string-append srcdest o))
index 9749755510c6d98791640050921e6e32b3516a79..ae6aa726dc627e981b307b44e28eb601b3c1f494 100755 (executable)
@@ -60,6 +60,7 @@ moduledir=$(eval echo ${moduledir-$datadir/mes/module})
 moduledir_="$moduledir/"
 guile_site_dir=$(eval echo ${guile_site_dir-$prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION})
 guile_site_ccache_dir=$(eval echo ${guile_site_ccache_dir-$prefix/lib/guile/$GUILE_EFFECTIVE_VERSION/site-ccache})
+arch=$(get_machine || uname -m)
 
 subst () {
     sed \
@@ -74,6 +75,7 @@ subst () {
     -e s,"@guile_site_dir@,$guile_site_dir,"\
     -e s,"@guile_site_ccache_dir@,$guile_site_ccache_dir,"\
     -e s,"@VERSION@,$VERSION,"\
+    -e s,"@arch@,$arch,"\
     -e s,"mes/module/,$moduledir/,"\
     $1 > $2
 }