[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PATCH fixups for proper setting of archive_cmds_need_lc
From: |
Albert Chin |
Subject: |
Re: PATCH fixups for proper setting of archive_cmds_need_lc |
Date: |
Sat, 18 Jan 2003 19:47:00 -0600 |
User-agent: |
Mutt/1.4i |
On Sun, Jan 12, 2003 at 03:20:02PM -0600, Albert Chin wrote:
> On Sun, Jan 12, 2003 at 02:46:02PM -0600, Robert Boehne wrote:
> > @@ -5376,11 +5375,11 @@
> > if test "$GCC" = yes; then
> > variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX
> > COMPILER_PATH LIBRARY_PATH"
> > fi
> > -
> > +# Skip the -lc test if a tag was specified.
> > +ifelse([$1],[],[
> > #
> > # Do we need to explicitly link libc?
> > #
> > -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
> > if test "$enable_shared" = yes && test "$GCC" = yes; then
> > case $_LT_AC_TAGVAR(archive_cmds, $1) in
> > *'~'*)
> > @@ -5421,7 +5420,7 @@
> > AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
> > ;;
> > esac
> > -fi
> > +fi], [])
> > ])# AC_LIBTOOL_PROG_LD_SHLIBS
>
> I disagree with treating the C tag specially. No tag should be treated
> any different than another. So, my preference is to see:
> _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
> in all non-C tags specified explicitly.
How about this patch?
--
albert chin (address@hidden)
-- snip snip
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.290
diff -u -3 -p -r1.290 libtool.m4
--- libtool.m4 15 Jan 2003 02:55:33 -0000 1.290
+++ libtool.m4 19 Jan 2003 01:38:17 -0000
@@ -3460,7 +3456,6 @@ $rm -f confest.$objext
case " $_LT_AC_TAGVAR(postdeps, $1) " in
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ;;
esac
])# AC_LIBTOOL_POSTDEP_PREDEP
@@ -4810,7 +4802,6 @@ ifelse([$1],[CXX],[
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
_LT_AC_TAGVAR(archive_cmds, $1)=
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
_LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
@@ -5505,48 +5497,54 @@ fi
#
# Do we need to explicitly link libc?
#
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_AC_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $rm conftest*
- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \"
\>/dev/null 2\>\&1)
- then
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_AC_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc
\" \>/dev/null 2\>\&1)
+ then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
else
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ cat conftest.err 1>&5
fi
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
- ;;
- esac
-fi
+ $rm conftest*
+ AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+ ;;
+ esac
+ fi
+ ;;
+esac
])# AC_LIBTOOL_PROG_LD_SHLIBS