[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: |
Robert Boehne |
Subject: |
Re: PATCH fixups for proper setting of archive_cmds_need_lc |
Date: |
Tue, 04 Feb 2003 01:08:15 -0600 |
Approved! Checking in to CVS head.
Thanks,
Robert
Albert Chin wrote:
>
> 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
>
>
>
> _______________________________________________
> Libtool-patches mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool-patches
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: PATCH fixups for proper setting of archive_cmds_need_lc,
Robert Boehne <=