[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SCO/bugfix patch 3 of 10: AC_LIBTOOL_DLOPEN_SELF
From: |
Ralf Wildenhues |
Subject: |
Re: SCO/bugfix patch 3 of 10: AC_LIBTOOL_DLOPEN_SELF |
Date: |
Mon, 31 Oct 2005 17:00:58 +0100 |
User-agent: |
Mutt/1.5.11 |
* Ralf Wildenhues wrote on Mon, Oct 31, 2005 at 01:14:30PM CET:
> * Kean Johnston wrote on Mon, Oct 31, 2005 at 02:04:01AM CET:
>
> > The test for being able to dlopen yourself is flawed. It was using
> > $link_static_flag, which is only present in the generated libtool.
>
> Your fix isn't correct, as there needs to be one more expansion level,
> so that the compiler won't see ${wl}, but its variable expansion. Also,
> I'd like to avoid cluttering namespace.
It's even worse, plain `echo' might not like the hyphen as first
character. Next try:
> 2005-10-31 Kean Johnston <address@hidden>,
> Ralf Wildenhues <address@hidden>
>
> * libtool.m4 (AC_LIBTOOL_DLOPEN_SELF): Use
> `lt_prog_compile_static', not `link_static_flag'. Expand `$wl'
> so expansion of `export_dynamic_flag_spec' works.
> (AC_LIBTOOL_PROG_LD_SHLIBS) [ aix3 ]: Likewise.
> (AC_LIBTOOL_PROG_COMPILER_PIC) [ hpux* ]: Use `${wl}'.
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/libtool.m4,v
retrieving revision 1.314.2.117
diff -u -r1.314.2.117 libtool.m4
--- libtool.m4 31 Oct 2005 09:59:15 -0000 1.314.2.117
+++ libtool.m4 31 Oct 2005 15:57:40 -0000
@@ -949,7 +949,7 @@
])
if test "x$lt_cv_dlopen_self" = xyes; then
- LDFLAGS="$LDFLAGS $link_static_flag"
+ LDFLAGS=$LDFLAGS`wl=$lt_prog_compiler_wl eval echo \"
$lt_prog_compiler_static\"`
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
lt_cv_dlopen_self_static, [dnl
_LT_AC_TRY_DLOPEN_SELF(
@@ -4850,14 +4850,14 @@
case $cc_basename in
CC*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a
${ac_cv_prog_cc_wl}archive"
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
if test "$host_cpu" != ia64; then
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
fi
;;
aCC*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a
${ac_cv_prog_cc_wl}archive"
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
@@ -5020,7 +5020,7 @@
[
if test "$GCC" = yes; then
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-static'
case $host_os in
aix*)
@@ -5516,7 +5516,7 @@
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$link_static_flag"; then
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported