> On Jul 5, 2024, at 8:05 AM, Ileana Dumitrescu <ileanadumitresc...@gmail.com> > wrote: > > On 04/07/2024 20:55, Gary V. Vaughan wrote: >>> On Jul 2, 2024, at 12:01 PM, Václav Haisman <vhais...@gmail.com> wrote: >>> >>> On 28. 06. 24 0:41, Ozkan Sezer wrote: >>>> [Sorry, I seem to have deleted the mailing list message from my inbox] >>>> Regarding -no_fixup_chains patch i.e. >>>> >>>> http://git.savannah.gnu.org/gitweb/?p=libtool.git;a=commitdiff;h=3d1baeeef90a6b9e16c545babe833f28dca155a7 >>>> Is '+=' universally supported?? Maybe change to something like the >>>> following?? >>> >>> Is there a reason not to use AS_VAR_APPEND? >>> (https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Polymorphic-Variables.html) >>> >>>> diff --git a/m4/libtool.m4 b/m4/libtool.m4 >>>> index 381d4cb..31f1be0 100644 >>>> --- a/m4/libtool.m4 >>>> +++ b/m4/libtool.m4 >>>> @@ -1032,3 +1032,3 @@ >>>> [ save_LDFLAGS=$LDFLAGS >>>> - LDFLAGS+=" -Wl,-no_fixup_chains" >>>> + LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains" >>>> AC_LINK_IFELSE( >>>> @@ -1093,3 +1093,3 @@ _LT_EOF >>>> if test yes = "$lt_cv_support_no_fixup_chains"; then >>>> - _lt_dar_allow_undefined+=' $wl-no_fixup_chains' >>>> + _lt_dar_allow_undefined='$_lt_dar_allow_undefined >>>> $wl-no_fixup_chains' >>>> fi >> AS_VAR_APPEND goes through a lot of setup at Libtool build-time, and >> eventually ends up calling a shell function as_fn_append at runtime anyway. >> Since Libtool includes funclib.sh, it would be simpler to use func_append >> in this case: >> https://github.com/gnulib-modules/bootstrap/blob/master/build-aux/funclib.sh#L532-L549 >> >> <https://github.com/gnulib-modules/bootstrap/blob/master/build-aux/funclib.sh#L532-L549> > > It is simpler than AS_VAR_APPEND, and it still includes the ability > to utilize the '+=' extension, which I do prefer. I have attached a proposed > patch for this implementation. Unless there is an issue with > including the functionality of funclib.sh in libtool.m4, I will apply > this patch early next week.
+ # Include functionality from bootstrap script funclib.sh + . $ac_aux_dir/funclib.sh Oh! My memory is poor… I had thought LT_INIT was already running: . "$abs_top_srcdir/build-aux/funclib.sh” Or even injecting funclib.sh content directly into the generated configure script in order to ensure definitions from funclib.sh at configure time, just like testsuite.at <http://testsuite.at/> (and bootstrap, ltmain, libtoolize at runtime). It might make more sense to put that line somewhere in LT_INIT after abs_top_srcdir has been set so that all the functions from funclib.sh are available to simplify other configuration macros at configure time, although I worry about looking up the path to that script from other projects’ build scripts. Anyway, I think I prefer one of the following two approaches than this most recent patch of yours: 1. Arrange for m4 (i.e. autoconf) to inject the body of funclib.sh near the top of configure so that it’s functions can be used indiscriminately from the rest of libtool.m4 and open the door to many more simplifications where we currently rely on AS_ macros; 2. Always use AS_* macros at autoconf time to pull in exactly what shell functions are used (as_fn_append etc) on demand, and leave funclib.sh for ltmain, libtoolize et. al (i.e. same as your previous AS_VAR_APPEND patch). Sorry for adding confusion to this thread! Cheers, Gary