|
From: | Ileana Dumitrescu |
Subject: | Re: -no_fixup_chains patch |
Date: | Tue, 9 Jul 2024 16:28:37 +0300 |
User-agent: | Mozilla Thunderbird |
On 05/07/2024 21:53, Gary V. Vaughan wrote:
On Jul 5, 2024, at 8:05 AM, Ileana Dumitrescu <ileanadumitrescu95@gmail.com> wrote:On 04/07/2024 20:55, Gary V. Vaughan wrote: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><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>>On Jul 2, 2024, at 12:01 PM, Václav Haisman <vhaisman@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=3d1baeeef90a6b9e16c545babe833f28dca155a7Is '+=' 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' fiIt is simpler than AS_VAR_APPEND, and it still includes the abilityto utilize the '+=' extension, which I do prefer. I have attached a proposed patch for this implementation. Unless there is an issue withincluding 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!
Thank you for the extra explanation! I would like to do the second approach for the next release of libtool (and bump the minimum required autoconf version), but I will look into the first approach more after that. I hope to focus more on feature improvements instead of bugfixes soon. :) -- Ileana Dumitrescu GPG Public Key: FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354
OpenPGP_0x6570EA01146F7354.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |