This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


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

RFC: PATCH: Try to link in GMP, PPL and CLOOG statically


Hi,

Linking GMP, PPL and CLOOG dynamically has some issues if they aren't
provided by system.  This patch will try to link in GMP, PPL and CLOOG
statically. Is this a good idea?

Thanks.


H.J.
---
2009-04-01  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (GMPLIBS): Use @BSTATIC@ and @BDYNAMIC@.
	(PPLLIBS): Likewise.
	(CLOOGLIBS): Likewise.

	* configure.ac: Support -Bstatic/-Bdynamic for linker version > 2.
	Substitute BSTATIC and BDYNAMIC.
	* configure: Regenerated.

--- gcc/Makefile.in.static	2009-03-31 16:22:20.000000000 -0700
+++ gcc/Makefile.in	2009-04-01 17:58:46.000000000 -0700
@@ -274,15 +274,15 @@ ZLIB = @zlibdir@ -lz
 ZLIBINC = @zlibinc@
 
 # How to find GMP
-GMPLIBS = @GMPLIBS@
+GMPLIBS = @BSTATIC@ @GMPLIBS@ @BDYNAMIC@
 GMPINC = @GMPINC@
 
 # How to find PPL
-PPLLIBS = @PPLLIBS@
+PPLLIBS = @BSTATIC@ @PPLLIBS@ @BDYNAMIC@
 PPLINC = @PPLINC@
 
 # How to find CLOOG
-CLOOGLIBS = @CLOOGLIBS@
+CLOOGLIBS = @BSTATIC@ @CLOOGLIBS@ @BDYNAMIC@
 CLOOGINC = @CLOOGINC@
 
 CPPLIB = ../libcpp/libcpp.a
--- gcc/configure.ac.static	2009-04-01 10:56:41.000000000 -0700
+++ gcc/configure.ac	2009-04-01 17:56:26.000000000 -0700
@@ -2756,7 +2756,8 @@ fi
 AC_MSG_CHECKING(linker -Bstatic/-Bdynamic option)
 gcc_cv_ld_static_dynamic=no
 if test $in_tree_ld = yes ; then
-  if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10; then
+  if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 \
+     && test $in_tree_ld_is_elf = yes; then
     gcc_cv_ld_static_dynamic=yes
   fi
 elif test x$gcc_cv_ld != x; then
@@ -2767,10 +2768,14 @@ elif test x$gcc_cv_ld != x; then
 	fi
 fi
 if test x"$gcc_cv_ld_static_dynamic" = xyes; then
+	BSTATIC="-Wl,-Bstatic"
+	BDYNAMIC="-Wl,-Bdynamic"
 	AC_DEFINE(HAVE_LD_STATIC_DYNAMIC, 1,
 [Define if your linker supports -Bstatic/-Bdynamic option.])
 fi
 AC_MSG_RESULT($gcc_cv_ld_static_dynamic)
+AC_SUBST(BSTATIC)
+AC_SUBST(BDYNAMIC)
 
 if test x"$demangler_in_ld" = xyes; then
   AC_MSG_CHECKING(linker --demangle support)


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