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]

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


On Thu, Apr 2, 2009 at 3:05 AM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> 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?

Unconditionally?  No.

Richard.

> 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]