summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-06-27 19:03:40 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-06-27 19:03:40 (GMT)
commit74a50972fbd7c9f5e1d10aa72ce770123521da2f (patch)
treed5600485e3a7a05fc60baadcaec43494fac35ffb
parent87425910c2f76411d9328b694a307e09452eee96 (diff)
configure: disable static linking on Darwin
Static liunking is not supported on Darwin, so hide the corresponding options when the build machine is Darwin. Reported-by: Andrea Franceschini <therealmorpheu5@gmail.com> Reported-by: Bryan Hundven <bryanhundven@gmail.com> Reported-by: "Titus von Boxberg" <titus@v9g.de> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-rw-r--r--config/cc/gcc.in.21
-rw-r--r--config/debug/gdb.in.cross1
-rw-r--r--config/toolchain.in1
-rwxr-xr-xconfigure24
4 files changed, 27 insertions, 0 deletions
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
index 6071135..641478d 100644
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -44,6 +44,7 @@ config CC_STATIC_LIBSTDCXX
bool
prompt "Link libstdc++ statically into the gcc binary"
default y
+ depends on CONFIGURE_static_link_ok
depends on CONFIGURE_has_static_libstdcxx
depends on CC_GCC_4_4_or_later
help
diff --git a/config/debug/gdb.in.cross b/config/debug/gdb.in.cross
index 1c55100..cbe8b29 100644
--- a/config/debug/gdb.in.cross
+++ b/config/debug/gdb.in.cross
@@ -24,6 +24,7 @@ if GDB_CROSS
config GDB_CROSS_STATIC
bool
prompt "Build a static cross gdb"
+ depends on CONFIGURE_static_link_ok
depends on CONFIGURE_has_static_expat
help
A static cross gdb can be usefull if you debug on a machine that is
diff --git a/config/toolchain.in b/config/toolchain.in
index 246427d..25605cb 100644
--- a/config/toolchain.in
+++ b/config/toolchain.in
@@ -51,6 +51,7 @@ config SYSROOT_DIR_PREFIX
config STATIC_TOOLCHAIN_POSSIBLE
bool
default y
+ depends on CONFIGURE_static_link_ok
depends on CONFIGURE_has_static_libstdcxx
# Add new deps here! :-)
diff --git a/configure b/configure
index 93d9f43..31bd263 100755
--- a/configure
+++ b/configure
@@ -449,6 +449,30 @@ case "${host}" in
;;
esac
+printf "Checking if static linking is possible... "
+static_link_ok=""
+case "${host}" in
+ Darwin) ;;
+ *) tmp=.static.tmp
+ if gcc -xc - -static -o "${tmp}" >/dev/null 2>&1<<-_EOF_
+ int main() { return 0; }
+ _EOF_
+ then
+ static_link_ok="y"
+ fi
+ rm -f "${tmp}"
+ ;;
+esac
+if [ "${static_link_ok}" = "y" ]; then
+ printf "yes\n"
+else
+ printf "no\n"
+ printf " * An optional host feature is missing, some features will be disabled:\n"
+ printf " * - It will not be possible to statically link toolchain's binaries\n"
+fi
+add_to_kconfig_list static_link_ok
+
+# Library checks
ncurses_hdrs="ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h"
ncurses_libs="$( for l in ncursesw ncurses curses; do \
for x in so a dylib; do \