summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2017-03-14 09:43:50 +0100
committerAndy Wingo <wingo@pobox.com>2017-03-14 09:49:17 +0100
commitc50c3a47b328c10780f4453b925a3e36d182c2bd (patch)
tree9cd25beff8fc824c748cd647673de51ab67741d9
parent0543ec96b22001d884fa444f55807825c70fa719 (diff)
downloadguile-c50c3a47b328c10780f4453b925a3e36d182c2bd.tar.gz
configure detects which set of prebuilt binaries to use
* configure.ac: Use detected endianness and word size to automatically select which set of prebuilt binaries to use. * meta/build-env.in (top_builddir): * meta/uninstalled-env.in (top_builddir): Update to use SCM_PREBUILT_BINARIES for prebuilt entry in GUILE_LOAD_COMPILED_PATH. * prebuilt/32-bit-big-endian: * prebuilt/32-bit-little-endian: * prebuilt/64-bit-little-endian: New links. * prebuilt/x86_64-pc-linux-gnu: Remove this link now that it's unneeded.
-rw-r--r--configure.ac12
-rw-r--r--meta/build-env.in4
-rw-r--r--meta/uninstalled-env.in4
l---------prebuilt/32-bit-big-endian1
l---------prebuilt/32-bit-little-endian1
l---------prebuilt/64-bit-little-endian1
l---------prebuilt/x86_64-pc-linux-gnu1
7 files changed, 19 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac
index 24ee878d5..217364bbf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -631,6 +631,18 @@ AC_SUBST([SCM_I_GSC_T_UINTPTR])
AC_SUBST([SCM_I_GSC_NEEDS_STDINT_H])
AC_SUBST([SCM_I_GSC_NEEDS_INTTYPES_H])
+AC_MSG_CHECKING([for which prebuilt binary set to use during bootstrap])
+SCM_PREBUILT_BINARIES=
+case "$ac_cv_c_bigendian-$ac_cv_sizeof_void_p" in
+ yes-8) SCM_PREBUILT_BINARIES=64-bit-big-endian;;
+ yes-4) SCM_PREBUILT_BINARIES=32-bit-big-endian;;
+ no-8) SCM_PREBUILT_BINARIES=64-bit-little-endian;;
+ no-4) SCM_PREBUILT_BINARIES=32-bit-little-endian;;
+ *) AC_MSG_ERROR([Unexpected endianness+pointer size combination.])
+esac
+AC_MSG_RESULT($SCM_PREBUILT_BINARIES)
+AC_SUBST([SCM_PREBUILT_BINARIES])
+
AC_HEADER_STDC
AC_HEADER_TIME
AC_HEADER_SYS_WAIT
diff --git a/meta/build-env.in b/meta/build-env.in
index b271d0bc8..27e604366 100644
--- a/meta/build-env.in
+++ b/meta/build-env.in
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2003, 2006, 2008-2012, 2016 Free Software Foundation
+# Copyright (C) 2003, 2006, 2008-2012, 2016, 2017 Free Software Foundation
#
# This file is part of GNU Guile.
#
@@ -54,7 +54,7 @@ then
GUILE_LOAD_PATH="$GUILE_LOAD_PATH:${top_builddir}/module:${top_builddir}/guile-readline"
fi
export GUILE_LOAD_PATH
- GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/bootstrap:${top_srcdir}/prebuilt/@host@:${top_builddir}/guile-readline"
+ GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/bootstrap:${top_srcdir}/prebuilt/@SCM_PREBUILT_BINARIES@:${top_builddir}/guile-readline"
export GUILE_LOAD_COMPILED_PATH
# Don't look in installed dirs for guile modules
diff --git a/meta/uninstalled-env.in b/meta/uninstalled-env.in
index ff32902d0..ed932d0cb 100644
--- a/meta/uninstalled-env.in
+++ b/meta/uninstalled-env.in
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2003, 2006, 2008, 2009, 2010, 2011, 2012, 2015 Free Software Foundation
+# Copyright (C) 2003, 2006, 2008, 2009, 2010, 2011, 2012, 2015, 2017 Free Software Foundation
#
# This file is part of GUILE.
#
@@ -80,7 +80,7 @@ then
fi
export GUILE_LOAD_PATH
- for d in "/prebuilt/@host@" "/bootstrap" "/module" "/guile-readline"
+ for d in "/prebuilt/@SCM_PREBUILT_BINARIES@" "/bootstrap" "/module" "/guile-readline"
do
# This hair prevents double inclusion.
# The ":" prevents prefix aliasing.
diff --git a/prebuilt/32-bit-big-endian b/prebuilt/32-bit-big-endian
new file mode 120000
index 000000000..3b619a6a1
--- /dev/null
+++ b/prebuilt/32-bit-big-endian
@@ -0,0 +1 @@
+mips-unknown-linux-gnu \ No newline at end of file
diff --git a/prebuilt/32-bit-little-endian b/prebuilt/32-bit-little-endian
new file mode 120000
index 000000000..63f12a0b3
--- /dev/null
+++ b/prebuilt/32-bit-little-endian
@@ -0,0 +1 @@
+i686-pc-linux-gnu \ No newline at end of file
diff --git a/prebuilt/64-bit-little-endian b/prebuilt/64-bit-little-endian
new file mode 120000
index 000000000..8dd176f8b
--- /dev/null
+++ b/prebuilt/64-bit-little-endian
@@ -0,0 +1 @@
+x86_64-unknown-linux-gnu \ No newline at end of file
diff --git a/prebuilt/x86_64-pc-linux-gnu b/prebuilt/x86_64-pc-linux-gnu
deleted file mode 120000
index 7ef2cbd31..000000000
--- a/prebuilt/x86_64-pc-linux-gnu
+++ /dev/null
@@ -1 +0,0 @@
-./x86_64-unknown-linux-gnu \ No newline at end of file