summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-06-02 17:50:12 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-06-02 17:50:12 (GMT)
commit08ebd6ec3db26f34ea4fcb04fc475aec5e26ad73 (patch)
treee56d4e3265449c78864025a3dc52176d410a26fe /configure
parent203f2d36ba5a60a3617576b1b6c755fafe4e9971 (diff)
cc/gcc: CC_STATIC_LIBSTDCXX 'depends on' CONFIGURE_has_static_libstdcpp
Hide the staticaly linked libstdc++ option if the static libstdc++ is not present, detected at configure time. Add a blind option that says whether static linking is possible at all. It defaults to 'y', but depends on the needed CONFIGURE_* options. For now, it only depends on static libtdc++, but new dependencies can be easily added. Hide the global static toolchain option behind this new option. Original patch by Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure8
1 files changed, 8 insertions, 0 deletions
diff --git a/configure b/configure
index 6982257..d0c032a 100755
--- a/configure
+++ b/configure
@@ -437,6 +437,14 @@ stdcxx_libs="$( for x in so dylib a; do \
has_or_abort lib="${stdcxx_libs}" \
err="'libstdc++' shared library was not found"
+# Yes, we may be checking twice for libstdc++.a
+# The first is because we need one instance of libstdc++ (shared or static)
+# because it is needed for PPL; the second is because the static version is
+# required for static-linking, and if missing, the option is removed.
+has_or_warn lib="libstdc++.a" \
+ err="static 'libstdc++' is needed to statically link the toolchain's executables" \
+ kconfig=has_static_libstdcxx
+
#---------------------------------------------------------------------
# Compute the version string