This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 2 of 4 v2] configure: disable static linking on Darwin


 config/cc/gcc.in.2        |   1 +
 config/debug/gdb.in.cross |   1 +
 config/toolchain.in       |   1 +
 configure                 |  24 ++++++++++++++++++++++++
 4 files changed, 27 insertions(+), 0 deletions(-)


# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1309201420 -7200
# Node ID 1d66ee93a9a4cc963cad0ba2e245fa4a19e31af8
# Parent  355696b27bc33908a25bade22d917ce6fa99da5d
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>

diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -44,6 +44,7 @@
     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
--- a/config/debug/gdb.in.cross
+++ b/config/debug/gdb.in.cross
@@ -24,6 +24,7 @@
 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
--- a/config/toolchain.in
+++ b/config/toolchain.in
@@ -51,6 +51,7 @@
 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
--- a/configure
+++ b/configure
@@ -454,6 +454,30 @@
         ;;
 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 link binaries statically\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            \

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]