LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File libstdc++-config.diff of Package gcc33 (Project openSUSE:Factory)

This is for ppc building the libstdc++-64bit rpm.  It needs to recognize
that we use shared libgcc to activate the symbol versioning.  But -lgcc_s
is not enough as the 64bit libgcc_s is called libgcc_s_64.  This hunk reflects
similar code in trunk and tries to find out the real name of the gcc_s library.
Index: libstdc++-v3/configure
===================================================================
--- libstdc++-v3/configure.orig	2009-11-20 13:06:13.000000000 +0100
+++ libstdc++-v3/configure	2009-11-20 13:07:00.000000000 +0100
@@ -23572,6 +23572,39 @@ else
 fi
 rm -f conftest*
   CFLAGS="$ac_save_CFLAGS"
+
+  if test $glibcpp_shared_libgcc = no; then
+    cat > conftest.c <<EOF
+int main (void) { return 0; }
+EOF
+    glibcxx_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
+                             -shared -shared-libgcc -o conftest.so \
+                             conftest.c -v 2>&1 >/dev/null \
+                             | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
+    rm -f conftest.c conftest.so
+    if test x${glibcxx_libgcc_s_suffix+set} = xset; then
+      CFLAGS=" -lgcc_s$glibcxx_libgcc_s_suffix"
+  cat > conftest.$ac_ext <<EOF
+#line 23600 "configure"
+#include "confdefs.h"
+
+int main() {
+return 0
+; return 0; }
+EOF
+if { (eval echo configure:23607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  glibcpp_shared_libgcc=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+fi
+rm -f conftest*
+      CFLAGS="$ac_save_CFLAGS"
+    fi
+  fi
+
   echo "$ac_t""$glibcpp_shared_libgcc" 1>&6
 fi