diff options
-rw-r--r-- | config/cc/gcc.in.2 | 1 | ||||
-rw-r--r-- | config/debug/gdb.in.cross | 1 | ||||
-rw-r--r-- | config/toolchain.in | 1 | ||||
-rwxr-xr-x | configure | 24 |
4 files changed, 27 insertions, 0 deletions
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index 6071135b..641478df 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 1c55100b..cbe8b297 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 246427d7..25605cb7 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! :-) @@ -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 \ |