[Libreoffice-commits] .: configure.in
Petr Mladek
pmladek at kemper.freedesktop.org
Wed Apr 6 09:19:58 PDT 2011
configure.in | 52 ++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 38 insertions(+), 14 deletions(-)
New commits:
commit e25b614fced253bd884a19abbb91ecda862f4c50
Author: Petr Mladek <pmladek at suse.cz>
Date: Wed Apr 6 15:16:03 2011 +0200
Fall back to --hash-style=sysv when gnu is not supported
Based on patch by Francois Tigeot <ftigeot at wolfpond dot org>
diff --git a/configure.in b/configure.in
index 94626f1..da890e3 100755
--- a/configure.in
+++ b/configure.in
@@ -957,8 +957,10 @@ AC_ARG_WITH(system-mozilla,
WITH_SYSTEM_MOZILLA=no)
AC_ARG_WITH(linker-hash-style,
-[ --with-linker-hash-style
-], WITH_LINKER_HASH_STYLE=$withval, WITH_LINKER_HASH_STYLE=gnu)
+ AS_HELP_STRING([--with-linker-hash-style],
+ [Use linker with --hash-style=<style> when linking shared objects.
+ Possible values: "sysv", "gnu", "both". The default value is "gnu"
+ if supported on the build system, and "sysv" otherwise.]))
AC_ARG_WITH(stlport,
AS_HELP_STRING([--with-stlport],
@@ -2021,21 +2023,43 @@ if test "$_os" = "SunOS"; then
fi
fi
-if test "$GCC" = "yes"; then
- AC_MSG_CHECKING( for --hash-style=$WITH_LINKER_HASH_STYLE linker support )
- hash_style_ldflags_save=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,--hash-style=$WITH_LINKER_HASH_STYLE"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([
- #include <stdio.h>
- ],[
- printf ("hello world\n");
- ])], HAVE_LD_HASH_STYLE=TRUE, HAVE_LD_HASH_STYLE=FALSE)
- if test "z$HAVE_LD_HASH_STYLE" = "zTRUE"; then
- AC_MSG_RESULT( found )
+HAVE_LD_HASH_STYLE=FALSE
+WITH_LINKER_HASH_STYLE=
+AC_MSG_CHECKING( for --hash-style gcc linker support )
+if test "$GCC" = "yes" ; then
+ if test -z "$with_linker_hash_style" -o "$with_linker_hash_style" = "yes" ; then
+ hash_styles="gnu sysv"
+ elif test "$with_linker_hash_style" = "no" ; then
+ hash_styles=
else
- AC_MSG_RESULT( not found )
+ hash_styles="$with_linker_hash_style"
+ fi
+
+ for hash_style in $hash_styles ; do
+ test "$HAVE_LD_HASH_STYLE" = "TRUE" && continue
+ hash_style_ldflags_save=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,--hash-style=$hash_style"
+
+ AC_TRY_RUN([
+#include <stdio.h>
+
+int main(char argc, char** argv) {
+ printf ("hello world\n");
+ return 0;
+}
+ ], HAVE_LD_HASH_STYLE=TRUE; WITH_LINKER_HASH_STYLE=$hash_style, HAVE_LD_HASH_STYLE=FALSE)
+
+ LDFLAGS=$hash_style_ldflags_save
+ done
+
+ if test "$HAVE_LD_HASH_STYLE" = "TRUE"; then
+ AC_MSG_RESULT( $WITH_LINKER_HASH_STYLE )
+ else
+ AC_MSG_RESULT( no )
fi
LDFLAGS=$hash_style_ldflags_save
+else
+ AC_MSG_RESULT( no )
fi
AC_SUBST(HAVE_LD_HASH_STYLE)
AC_SUBST(WITH_LINKER_HASH_STYLE)
More information about the Libreoffice-commits
mailing list