[PATCH] m4: update serial numbers in modified files

2024-01-31 Thread Mike Frysinger
These should have been included in the commits that updated these
files, but too late now to rewrite git history.

* m4/libtool.m4: Update serial number.
* m4/ltdl.m4, m4/ltoptions.m4: Likewise.
---
 m4/libtool.m4   | 2 +-
 m4/ltdl.m4  | 2 +-
 m4/ltoptions.m4 | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 20527f830aa1..d9725fdfd1cd 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -32,7 +32,7 @@ m4_define([_LT_COPYING], [dnl
 # along with this program.  If not, see .
 ])
 
-# serial 59 LT_INIT
+# serial 60 LT_INIT
 
 
 # LT_PREREQ(VERSION)
diff --git a/m4/ltdl.m4 b/m4/ltdl.m4
index 0c43799cdecc..548e3643196e 100644
--- a/m4/ltdl.m4
+++ b/m4/ltdl.m4
@@ -8,7 +8,7 @@
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 21 LTDL_INIT
+# serial 22 LTDL_INIT
 
 # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
 # --
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index e24ae1538b6b..6dfe99f1f200 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -8,7 +8,7 @@
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 8 ltoptions.m4
+# serial 9 ltoptions.m4
 
 # This is to help aclocal find these macros, as it can't see m4_define.
 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-- 
2.43.0




Re: [PATCH] libtool.m4: Fix -export-symbols for GNU ld on non-Linux

2024-01-22 Thread Mike Frysinger
On 22 Jan 2024 15:34, Tijl Coosemans wrote:
> Apply the fix for Linux from fb5e6cda96bd9dcae9e4f62ec8b6b3e572a32743
> to the non-Linux cases.
> 
> -export-symbols was implemented using --retain-symbols-file. For
> non-exported symbols this flag tries to remove symbol information
> altogether which it can only do if a symbol isn't referenced
> anywhere. So, often this flag doesn't do anything. With a version
> script non-exported symbols can be marked local instead of removed.

this looks fine, but i kind of think we should wait to kick out the current
release and then merge it
-mike


signature.asc
Description: PGP signature


Re: [PATCH] tests/demo.at: Also test for amd64 where we test for x86_64

2024-01-22 Thread Mike Frysinger
On 22 Jan 2024 14:12, Tijl Coosemans wrote:
> It is used on FreeBSD.
> 
> * tests/demo.at: Also test for amd64 where we test for x86_64.

thx, merged now
-mike


signature.asc
Description: PGP signature


[PATCH] doc: minor fixes

2024-01-20 Thread Mike Frysinger
* doc/libtool.texi: Fix some style & minor grammar.
---
 doc/libtool.texi | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/doc/libtool.texi b/doc/libtool.texi
index ba2e99809de2..44f7eae26468 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -885,7 +885,7 @@ on to the program executable.  Therefore, the program 
executable may not
 employ command line options that begin with @code{--lt-}. (In fact, the
 wrapper executable will detect any command line options that begin with
 @code{--lt-} and abort with an error message if the option is not
-recognized). If this presents a problem, please contact the Libtool
+recognized.) If this presents a problem, please contact the Libtool
 team at @value{BUGADDR}.
 
 These command line options include:
@@ -1792,8 +1792,8 @@ These individual steps are often automated with 
@command{autoreconf}.
 
 Here is a diagram showing how such a typical Libtool configuration works
 when preparing a package for distribution, assuming that @file{m4} has
-been chosen as location for additional Autoconf macros, and
-@file{build-aux} as location for auxiliary build tools (@pxref{Input,,
+been chosen as the location for additional Autoconf macros, and
+@file{build-aux} as the location for auxiliary build tools (@pxref{Input,,
 The Autoconf Manual, autoconf, The Autoconf Manual}):
 
 @example
@@ -2046,8 +2046,8 @@ generated header file), you may find it necessary to 
manually record
 these dependencies.
 Because libtool archives generate object file names manually recording these
 dependencies is not as straightforward as the examples in Automake's manual
-describe in their examples.
-This effects header files in particular, because simply listing them as
+describe.
+This affects header files in particular, because simply listing them as
 @samp{nodist_libfoo_la_SOURCES} will not cause Automake to establish a
 dependent relationship for the object files of @file{libfoo.la}.
 A useful trick (although somewhat imprecise) is to manually record built
@@ -6160,7 +6160,7 @@ cross-compiling, and affects only the ability to launch 
host platform
 executables on the build platform using an emulation or API-enhancement
 environment such as Wine.  Failure to convert paths
 (@pxref{File Name Conversion Failure}) will cause a warning to be issued, but
-rarely causes the build to fail---and should have no affect on the compiled
+rarely causes the build to fail---and should have no effect on the compiled
 products, once installed properly on the host platform.  For more information,
 @pxref{Cross compiling}.
 
-- 
2.43.0




Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR

2024-01-18 Thread Mike Frysinger
On 17 Jan 2024 22:44, KO Myung-Hun wrote:
> Mike Frysinger wrote:
> > On 16 Jan 2024 23:44, KO Myung-Hun wrote:
> >> Some OSes such as OS/2, uses ';' as a path separator. So using 
> >> $PATH_SEPARATOR instead of hard-coded ':' is more proper.
> > 
> > so we're on the same page, we're talking about the separator that
> > is used in the $PATH environment variable.  it doesn't show up in
> > other places -- it is not used to separate e.g. rpath entries right
> > ?  what about LD_LIBRARY_PATH and similar vars ?  i guess we assume
> > the separator used by PATH is also used with that var ?
> 
> This is applied to all the variables containing a list of paths and/or
> dirs separated by ':' including PATH and LD_LIBRARY_PATH.
> 
> If rpath entries is separated by ':', it's also true.

i'm not familiar with the diff (non-glibc) runtime loaders, so will take your
word for this.  afaict, libtool has behaved this way for a long time, so i'm
a bit inclined to wait for 2.4.8 release and then merge it.
-mike


signature.asc
Description: PGP signature


[PATCH 1/2] bootstrap: don't reset config-h.in timestamp newer than configure

2024-01-17 Thread Mike Frysinger
Various autotools rules will compare the timestamps of config-h.in
and configure, and if config-h.in is newer than configure, attempt
to regenerate it.  This breaks `make distcheck` which we need to
produce new releases.  So update config-h.in timestamp, but only
up to the configure file.

The breakage is caught because distcheck makes source dirs read-only
before running.

$ make distcheck
...
make[3]: Entering directory '.../libtool-2.4.7.62-7132f/_build/sub'
  GEN  ../../libltdl/configure
autom4te-2.72: error: cannot create autom4te.cache in 
.../libtool-2.4.7.62-7132f/libltdl: Permission denied
make[3]: *** [Makefile:2411: ../../libltdl/configure] Error 1

* bootstrap.conf (libtool_fudge_timestamps): Set config-h.in timestamp
to configure.
---
 bootstrap.conf | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/bootstrap.conf b/bootstrap.conf
index 808321a0897b..85ac3ee19748 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -269,12 +269,17 @@ func_add_hook func_fini 
libtool_readme_release_package_substitutions
 # are updated.  Unfortunately config-h.in depends on aclocal.m4, which
 # *is* updated, so running 'libtoolize --ltdl=. && configure && make'
 # causes autoheader to be called... undesirable for users that do not
-# have it!  Fudge the timestamp to prevent that:
+# have it!  Fudge the timestamp to prevent that.  But only fudge it as
+# much as configure since configure depends on config-h.in and we don't
+# want to require autoconf either.
 libtool_fudge_timestamps ()
 {
 $debug_cmd
 
-sleep 2 && touch libltdl/config-h.in
+(
+cd libltdl
+touch -r configure config-h.in
+)
 }
 func_add_hook func_fini libtool_fudge_timestamps
 
-- 
2.43.0




[PATCH 2/2] libtoolize: always copy config-h.in like aclocal.m4

2024-01-17 Thread Mike Frysinger
When running `libtoolize --ltdl`, a symlink to the source config-h.in
is used rather than a copy of the file.  This causes the build system
to look at its old timestamp relative to the other generated files
that are copied in, and then try to regenerate things, and update the
config-h.in timestamp by touching the symlink (which will dereference
things).  This breaks `make distcheck` because when a few tests run
that invoke `libtoolize --ltdl --install` w/out --copy, and then try
to build the project, automake's rules trigger autoheader regen, and
then update the timestamp, which updates the underlying file, and then
causes libtool's own files to get out of sync.  So the next time make
is run in the tree, it tries to regenerate the source files, and fails
as the source tree is read-only.

Change libtoolize to always copying the header over during install.
It's not clear to me whether this is 100% the right answer, but it
shouldn't make things worse beyond missing a case to use a symlink.
We probably can't avoid this as long as aclocal.m4 itself is copied
in instead of symlinked.  This changed between v2.4.2 and v2.4.3 in
commit 4e671d6ba69c889b1f9aee12de6c504d26dc6514 ("libtoolize:
simplify file-copying and -linking call-graph.").

Example failure log:

$ make distcheck
...
make[3]: Entering directory '.../libtool-2.4.7.62-3e11/_build/sub'
  GEN  ../../libltdl/Makefile.in
  GEN  ../../libltdl/configure
autom4te-2.72: error: cannot create autom4te.cache in 
.../libtool-2.4.7.62-3e11/libltdl: Permission denied
make[3]: *** [Makefile:2411: ../../libltdl/configure] Error 1
make[3]: *** Waiting for unfinished jobs
autom4te-2.72: error: cannot create autom4te.cache in 
.../libtool-2.4.7.62-3e11/libltdl: Permission denied
automake-1.16: error: autoconf failed with exit status: 1
make[3]: *** [Makefile:2387: ../../libltdl/Makefile.in] Error 1

We can see this in old-m4-iface.at:AC_WITH_LTDL which doesn't use
--copy with libtoolize:

$ stat libltdl/config-h.in | grep Modify
Modify: 2024-01-18 01:18:52.998059970 -0500
$ make check-local TESTSUITEFLAGS=100
...
100: AC_WITH_LTDLok
...
$ stat libltdl/config-h.in | grep Modify
Modify: 2024-01-18 01:19:19.254727020 -0500

And in the test log we can see:

100. old-m4-iface.at:113: testing AC_WITH_LTDL ...
...
libtoolize: linking file 'libltdl/config-h.in'
...
./old-m4-iface.at:161: : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL;
$CONFIG_SHELL ./configure $configure_options   --prefix="$prefix" 
--exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" 
--with-included-ltdl
...
./old-m4-iface.at:161: $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target
stderr:
stdout:
cd libltdl && make
make[1]: Entering directory 
'/usr/local/src/gnu/libtool/tests/testsuite.dir/100/libltdl'
CDPATH="${ZSH_VERSION+.}:" && cd . && aclocal -I m4
 cd . && automake --foreign
CDPATH="${ZSH_VERSION+.}:" && cd . && autoconf
/bin/sh ./config.status --recheck
...
(CDPATH="${ZSH_VERSION+.}:" && cd . && autoheader)
rm -f stamp-h1
touch config-h.in
...

* libtoolize.in: Copy config-h.in.
* tests/libtoolize.at: Change "linking" to "copying".
---
 libtoolize.in   | 10 +-
 tests/libtoolize.at |  4 ++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/libtoolize.in b/libtoolize.in
index 631069418eb0..336fc81bd5ea 100644
--- a/libtoolize.in
+++ b/libtoolize.in
@@ -947,7 +947,15 @@ func_install_pkgltdl_files ()
  ;;
 
 config-h.in)
-  test subproject = "$ltdl_mode" || continue
+  test subproject = "$ltdl_mode" && {
+# Always copy config-h.in, otherwise automake's autoheader rules
+# will change the destination's timestamp if it is symlinked.
+( opt_copy=:
+  func_copy "$file" "$pkgltdldir" "$ltdl_dir" \
+pkgltdl_header "$my_copy_filter"
+)
+  }
+  continue
   ;;
 
 configure)
diff --git a/tests/libtoolize.at b/tests/libtoolize.at
index fec51c61c5e6..cbc21d68b61d 100644
--- a/tests/libtoolize.at
+++ b/tests/libtoolize.at
@@ -471,7 +471,7 @@ libtoolize: linking file 'ltdl/README'
 libtoolize: linking file 'ltdl/configure.ac'
 libtoolize: copying file 'ltdl/aclocal.m4'
 libtoolize: linking file 'ltdl/Makefile.in'
-libtoolize: linking file 'ltdl/config-h.in'
+libtoolize: copying file 'ltdl/config-h.in'
 libtoolize: copying file 'ltdl/configure'
 libtoolize: linking file 'ltdl/libltdl/lt__alloc.h'
 libtoolize: linking file 'ltdl/libltdl/lt__argz_.h'
@@ -1047,7 +1047,7 @@ libtoolize: linking file 'ltdl/README'
 libtoolize: creating file 'ltdl/configure.ac'
 libtoolize: creating file 'ltdl/aclocal.m4'
 libtoolize: creating file 'ltdl/Makefile.in'
-libtoolize: linking file 'ltdl/config-h.in'
+libtoolize: copying file 'ltdl/config-h.in'
 libtoolize: creating file 'ltdl/configure'
 libtoolize: linking file 'ltdl/libltdl/lt__alloc.h'
 libtoolize: linking file 

[PATCH] HACKING: add more test related tips

2024-01-17 Thread Mike Frysinger
* HACKING: Document syntax-check & distcheck & parallel testing.
---
 HACKING | 16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/HACKING b/HACKING
index 664251e680a9..38401c9cd732 100644
--- a/HACKING
+++ b/HACKING
@@ -24,6 +24,14 @@ and is not part of a release distribution.
   that demonstrates the bug.  Then fix the bug, re-run the test suite,
   and check everything in.
 
+* Always run the testsuite after applying a patch:
+make check syntax-check TESTSUITEFLAGS="--jobs=$(nproc)" -j$(nproc)
+
+  Ideally also verify the release process doesn't break:
+make distcheck TESTSUITEFLAGS="--jobs=$(nproc)" -j$(nproc)
+  This will run check & syntax-check from above, but will take longer as
+  builds & tests in different configurations.
+
 * Some files in the libtool package are not owned by libtool.  These
   files should never be edited here.  These files are:
COPYING
@@ -55,13 +63,17 @@ and is not part of a release distribution.
   AT_CHECK) is on a single line so that 'testsuite -x' displays the
   whole thing.  You can use m4_do or '[... ]dnl' to wrap long lines.
 
-* Use
-make -k check
+* Run tests in parallel with
+make -k check TESTSUITEFLAGS="--jobs=$(nproc)"
   liberally, on as many platforms as you can.  Use as many compilers and
   linkers you can.  To run old and new testsuites separately, use:
 make check TESTSUITEFLAGS=-V
 make check-local
 
+* The gnulib module also provides some maintainer-focused tests that only
+  work when run from a git checkout.
+make syntax-check
+
 * The new Autotest testsuite uses keywords to denote test features:
 autoconf   needs Autoconf
 automake   needs Automake
-- 
2.43.0




Re: [PATCH 2/3] ltmain.in: Parse additional clang options

2024-01-17 Thread Mike Frysinger
On 17 Jan 2024 12:39, Richard Purdie wrote:
> clang uses -rtlib and --unwindlib to select proper compiler runtime in
> some cases. Therefore pass these options to linker when found in
> ldflags

merged, thanks
-mike


signature.asc
Description: PGP signature


Re: [PATCH 3/3] libtool.m4: Cleanup sysroot trailing "/"

2024-01-17 Thread Mike Frysinger
On 17 Jan 2024 12:39, Richard Purdie wrote:
> If $CC has --sysroot=/, it is a valid configuration however libtool will
> then set lt_sysroot to "/".
> 
> This means references like $lt_sysroot$libdir become //usr/lib instead
> of the more normally expected /usr/lib. This may or may not break something
> but certainly is confusing to the user and gives confusing output. Making
> "/" simply unset lt_sysroot is much cleaner.
> 
> Whilst here, trim any trailing '/' from sysroot paths to drop the duplication
> and result in cleaner/consistent output.

merged, thanks
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/3] ltmain.in: Handle prefix-map compiler options correctly

2024-01-17 Thread Mike Frysinger
On 17 Jan 2024 12:39, Richard Purdie wrote:
> If lto is enabled, we need the prefix-map variables to be passed to the linker
> to correctly link the objects using correctly mapped paths.
> 
> Add these to the list of options libtool passes through.

merged, thanks
-mike


signature.asc
Description: PGP signature


Re: patch to correct fallout from freebsd-elf changes

2024-01-17 Thread Mike Frysinger
On 18 Jun 2017 19:43, Tim Rice wrote:
> Here is a small patch to correct builds on svr5.
> When the freebsd-elf target was changed, this got missed.
> 
> Symptoms were, build newer lib ened up with libfo.nn a loser number
> than the previous version. And building libpng-1.6.29 produced
> libtool:   error: CURRENT '' must be a nonnegative integer
> libtool:   error: '16:29:0' is not valid version information
> 
> Patch attached and inline here.

merged, thanks.

in the future, please make & send standard git commits instead.
when you attach patches, it makes things difficult for us to merge.
-mike


signature.asc
Description: PGP signature


[PATCH] libtool.m4: drop AC_PROG_SED fallback

2024-01-16 Thread Mike Frysinger
We require autoconf 2.62 which includes this macro so we don't need
this fallback logic anymore.

* m4/libtool.m4 (AC_PROG_SED): Delete.
---
 m4/libtool.m4 | 67 ---
 1 file changed, 67 deletions(-)

diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 4b60d27c0ec2..6172662c7a1f 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -8230,73 +8230,6 @@ _LT_DECL([], [SED], [1], [A sed program that does not 
truncate output])
 _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
 ])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this#
-#  macro and use it instead.   #
-
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-  fi
-done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f "$lt_ac_sed" && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-lt_cv_path_SED=$lt_ac_sed
-break
-  fi
-  while true; do
-cat conftest.in conftest.in >conftest.tmp
-mv conftest.tmp conftest.in
-cp conftest.in conftest.nl
-echo >>conftest.nl
-$lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-cmp -s conftest.out conftest.nl || break
-# 1 chars as input seems more than enough
-test 10 -lt "$lt_ac_count" && break
-lt_ac_count=`expr $lt_ac_count + 1`
-if test "$lt_ac_count" -gt "$lt_ac_max"; then
-  lt_ac_max=$lt_ac_count
-  lt_cv_path_SED=$lt_ac_sed
-fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
 dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([LT_AC_PROG_SED], [])
 
-- 
2.43.0




Re: [PATCH 1/3] libtool.m4: augment symcode for Solaris 11

2024-01-16 Thread Mike Frysinger
this should be fixed in git now.  i merged the one posted previously:
https://savannah.gnu.org/patch/?9086
-mike


signature.asc
Description: PGP signature


[patch #9086] Fix support for Solaris 11 build

2024-01-16 Thread Mike Frysinger
Update of patch#9086 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #1:

thanks, merged now
https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=b67d1a2db842c01c051c7e90d7f4c18928d8b555

in the future, please attach git formatted patches instead, and write proper
commit messages


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




Re: [PATCH 02/12] libtool.m4: Rename the --with-sysroot option to avoid conflict with gcc/binutils

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 12:21, Richard Purdie wrote:
> On Mon, 2024-01-15 at 20:08 -0500, Mike Frysinger wrote:
> > On 25 Oct 2021 15:33, Richard Purdie wrote:
> > > This patch renames the --with-sysroot option to --with-libtool-sysroot
> > > to avoid namespace conflict with binutils, gcc and other toolchain
> > > components since these componets also add that option to configure
> > > and this becomes confusing and conflicting otherwise.
> > 
> > we're talking like 3 projects ?  libtool is used & included in way more
> > projects than that.  it seems like --with-sysroot as a standard name to
> > propagate out into the wider ecosystem makes more sense.
> 
> You're saying binutils and gcc should change? I'm fairly sure they'll
> decline to do that. Their options are encoded into quite a few cross
> compiling documents and build systems.

and there are even more packages out there using libtool.

these are all GNU projects working in the toolchain space to make the GNU
system coherent & better under the FSF.  it is not one GNU project working
in isolation and not caring about anyone else.  decisions should be made
with the long term outlook in mind, especially when we aren't talking about
runtime ABI that would break/blow up everywhere.  these are development and
build scripts ... they aren't immutable.

> > i agree there's confusion between "use this path as a sysroot to compile
> > and link against" and "have the compile tools target this sysroot".  the
> > same problem exists with host selection which is why we have the build,
> > host, and target options.  sounds like we want names that can align with
> > these somehow.
> 
> FWIW gcc and binutils have gone with --with-sysroot and --with-build-
> sysroot to differentiate. Unfortunately that doesn't really help
> libtool (see below).

i would argue --with-build-sysroot is not aligned with the other conventions
used in configure scripts.
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/Hosts-and-Cross_002dCompilation.html

--build is the system doing the compilation and controls settings for the
build tools themselves, not for the toolchain specified via --host.  instead
the "host" part is omitted since it's the default.  c.f. BUILD_CC & CC,
BUILD_CFLAGS & CFLAGS, etc...

which makes --with-sysroot the original sin as it fills that gap already.
which is how libtool is using it now.

really it seems like --with-sysroot should be renamed to --with-target-sysroot
since it's controlling the target output behavior ... which is what gcc et al
already use --target for.  you can see that with the various libs it builds
and the use of xxx_FOR_TARGET variables.

ignoring the mismatch in conventions, i can't say that i would see much use
of a sysroot setting for the build tools themselves, so it isn't like gcc
has squatted in a space that would cause issues.  although that kind of
thinking is why we're in this situation in the first place.

> > --with-libtool-sysroot doesn't make sense as it isn't an internal libtool
> > setting, it's changing how executables are linked, and users (who run the
> > configure scripts) don't know or care about this "libtool" thing.
> 
> I think it partly depends upon how you view it. Most of the time
> libtool uses `$CC --print-sysroot` to set this and therefore most users
> wouldn't use the commandline option. In general you do want the
> compiler/linker and libtool to be working the same way.
> 
> The challenge is that binutils/gcc and libtool have adopted different
> meanings for the same option and if/as/where the commandline options
> get passed around, things can become quite broken when cross compiling.

i understand the conflict, and how it only applies to building the toolchain
source projects (gcc and its downstream like binutils & gdb).

> My ask is to try and find a way to avoid the confusion (and the need
> for Yocto Project to have to patch one set of components to make things
> work).
> 
> The options as I see it are:
> 
> a) Use a libtool specific option (as per the patch under review)

no.  libtool is an internal implementation detail.  there should be no
exposure/leakage of the name to people configuring+building.  it's like
saying we should call --with-pic --with-libtool-pic because it's libtool
creating the position independent code.

> b) Stop providing a commandline option for libtool and rely on the
> compiler query.

no, it is in active use as intended already.  this is like saying most
people don't set LDFLAGS, so just delete it.  while it's uncommon, it can
serve a pretty critical and irreplaceable function.

> c) Switch to --with-build-sysroot

not the worst option, but certainly not preferable as outlined above.

> d) Switch

Re: [PATCH] libtool: remove OpenBSD support for non-shared and a.out archs

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 21:11, Brad Smith wrote:
> libtool: remove OpenBSD support for non-shared and a.out archs
> 
> OpenBSD stopped supporting the last non-shared arch 8 years ago
> and stopped supporting a.out 10.5 years ago.

i'm on the fence here, and i don't know what historical guidance/policy
libtool has had.  i looked through HACKING & the manual and didn't find
anything relevant.

yeah, that's an old target, but libtool supports things older than that.
-mike


signature.asc
Description: PGP signature


[PATCH] HACKING: minor formatting tweaks

2024-01-16 Thread Mike Frysinger
* HACKING: Tweak style.
---
 HACKING | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/HACKING b/HACKING
index 92292d1d023d..664251e680a9 100644
--- a/HACKING
+++ b/HACKING
@@ -13,7 +13,7 @@ and is not part of a release distribution.
 * If you incorporate a change from somebody on the net:
   If it is a large change, you must make sure they have signed the
   appropriate paperwork, and be sure to add their name and email
-  address to THANKS
+  address to THANKS.
 
 * If a change fixes a test, mention the test in the git log entry.
 
@@ -45,7 +45,7 @@ and is not part of a release distribution.
   gnulib is up-to-date, and running 'bootstrap' to recheck the links are
   correct.
 
-* Changes other than bug fixes must be mentioned in NEWS
+* Changes other than bug fixes must be mentioned in NEWS.
 
 
 3. Test Suite
@@ -58,7 +58,7 @@ and is not part of a release distribution.
 * Use
 make -k check
   liberally, on as many platforms as you can.  Use as many compilers and
-  linkers you can.  To run old and new testsuites separately, use
+  linkers you can.  To run old and new testsuites separately, use:
 make check TESTSUITEFLAGS=-V
 make check-local
 
@@ -130,7 +130,7 @@ and is not part of a release distribution.
 6. Editing '.am' Files
 ==
 
-* Always use $(...) and not ${...}
+* Always use $(...) and not ${...}.
 
 * Use ':', not 'true'.  Use 'exit 1', not 'false'.
 
@@ -180,7 +180,7 @@ and is not part of a release distribution.
 
 
 8. Abstraction layers in libltdl
-=
+
 
 * The libltdl API uses a layered approach to differentiate internal and
   external interfaces, among other things.  To keep the abstraction
@@ -283,10 +283,10 @@ and is not part of a release distribution.
 9. Licensing Rules
 ==
 
-GNU Libtool uses 3 different licenses for various of the files distributed
-herein, with several variations on license text.  It is important that
-you use the correct license text in each new file added.  Here are the
-texts along with some notes on when each is appropriate.  Appropriate
+GNU Libtool uses 3 different licenses for the files distributed herein,
+with several variations on license text.  It is important that you use
+the correct license text in each new file added.  Here are the texts
+along with some notes on when each is appropriate.  Appropriate
 commenting (shell, C etc) and decoration (m4 etc) assumed throughout.
 
 
-- 
2.43.0




Re: pass_all for z/OS

2024-01-16 Thread Mike Frysinger
On 17 Jan 2024 02:41, Igor Todorovski wrote:
> I’ve attached the git patch based on the master branch.

can you write a proper git commit and send it with send-email ?
or at least format it with `git format-patch` ?

the first version did:
openedition)

the new one does:
*openedition*)

isn't it always going to be "openedition" exactly ?  no need for globs ?
-mike


signature.asc
Description: PGP signature


Re: [PATCH] libtool.m4: Handle "/" as a sysroot more correctly

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 21:47, Richard Purdie wrote:
> If $CC has --sysroot=/, it is a valid configuration however libtool will
> then set lt_sysroot to "/".
> 
> This means references like $lt_sysroot$libdir become //usr/lib instead
> of the more normally expected /usr/lib. This may or may not break something
> but certainly is confusing to the user and gives confusing output. Making
> "/" simply unset lt_sysroot is much cleaner.

could the same argument be made if the returned value is "/opt/sysroot/"
and not just "/opt/sysroot" ?  not sure if gcc forces normalization on its
side.  but we could "simplify" this with:

# Trim trailing / since we'll always append absolute paths and we want
# to avoid //, if only for less confusing output for the user.
lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
-mike


signature.asc
Description: PGP signature


Re: [PATCH 05/12] ltmain.in: Don't encode RATHS which match default linker paths

2024-01-16 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> We don't want to add RPATHS which match default linker search paths, they're
> a waste of space. This patch filters libtools list of paths to encoode and
> removes the ones we don't need.
> 
> Libtool may be passed link paths of the form "/usr/lib/../lib" so normalize
> the paths before comparision.

add a bit more detail to the commit message, add the changelog, and fix the
typo in the subject line ("RATHS").

> --- a/build-aux/ltmain.in
> +++ b/build-aux/ltmain.in
> @@ -7672,8 +7672,16 @@ EOF
> esac
>   fi
> else
> - eval flag=\"$hardcode_libdir_flag_spec\"
> - func_append dep_rpath " $flag"
> +# We only want to hardcode in an rpath if it isn't in the
> +# default dlsearch path.
> +func_normal_abspath "$libdir"
> +libdir_norm=$func_normal_abspath_result
> + case " $sys_lib_dlsearch_path " in
> + *" $libdir_norm "*) ;;
> + *) eval flag=\"$hardcode_libdir_flag_spec\"
> +   func_append dep_rpath " $flag"
> +   ;;
> + esac

this is a non-trivial amount of boiler plate that you're pasting in here.
can we introduce a func to make this more readable ?  something like this
untested code.

# func_is_in_list   [separator]
# blah blah blah
func_is_in_list ()
{
case "${3:- }$2${3:- }" in
*"${3:- }$1${3:- }"*) return 0;;
esac
return 1
}

then you could write:
  func_normal_abspath "$libdir"
  if ! func_is_in_list "$func_normal_abspath_result" "$sys_lib_dlsearch_path"; 
then
eval flag=\"$hardcode_libdir_flag_spec\"
func_append dep_rpath " $flag"
  fi

and there's 2 other places where $sys_lib_dlsearch_path is checked that could
be converted over to this helper.
-mike


signature.asc
Description: PGP signature


Re: [PATCH] libtool: remove OpenBSD specific performance hack for ranlib

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 16:30, Brad Smith wrote:
> The -t flag was used as a performance hack for ranlib. The flag was
> supported by the GNU toolchain, but is a no-op with the LLVM toolchain.

merged, thx
-mike


signature.asc
Description: PGP signature


Re: [PATCH 3/3] libtool: Fix support for NIOS2 processor

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 15:14, Richard Purdie wrote:
> The name of the system contains the string "nios2". This string
> is caught by the some of the greedy checks for OS/2 in libtool,
> in particular the *os2* branches of switch statements match for
> the nios2 string, which results in incorrect behavior of libtool.
> 
> Switch to use $host_os instead of $host and tweak the patterns to
> match to avoid this problem for nios2.

merged, thx
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/3] ltmain.in: Handle prefix-map compiler options correctly

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 15:14, Richard Purdie wrote:
> --- a/build-aux/ltmain.in
> +++ b/build-aux/ltmain.in
> @@ -7,7 +7,6 @@
>  # Copyright (C) 1996-2019, 2021-2024 Free Software Foundation, Inc.
>  # This is free software; see the source for copying conditions.  There is NO
>  # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> -
>  # GNU Libtool is free software; you can redistribute it and/or modify
>  # it under the terms of the GNU General Public License as published by
>  # the Free Software Foundation; either version 2 of the License, or

let's leave unrelated changes out please

> @@ -5413,12 +5412,14 @@ func_mode_link ()
># -shared-libsan   Link with shared sanitizer runtimes (Clang)
># -static-libsan   Link with static sanitizer runtimes (Clang)
># -fuse-ld=*   Linker select flags for GCC
> +  # -f{file|debug|macro}-prefix-map* needed for lto linking

these take the form of -ffile-prefix-map=xxx right ?
so we'd want to put a = before the glob at the end ?
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 23:44, KO Myung-Hun wrote:
> Some OSes such as OS/2, uses ';' as a path separator. So using
> $PATH_SEPARATOR instead of hard-coded ':' is more proper.

so we're on the same page, we're talking about the separator that is used in
the $PATH environment variable.  it doesn't show up in other places -- it is
not used to separate e.g. rpath entries right ?  what about LD_LIBRARY_PATH
and similar vars ?  i guess we assume the separator used by PATH is also used
with that var ?
-mike


signature.asc
Description: PGP signature


[PATCH] bootstrap: sync to latest version

2024-01-16 Thread Mike Frysinger
* gl-mod/bootstrap: Update.
* bootstrap: Likewise.
---
 bootstrap| 34 +-
 gl-mod/bootstrap |  2 +-
 2 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/bootstrap b/bootstrap
index 8e0b5e83218d..e57ec940db68 100755
--- a/bootstrap
+++ b/bootstrap
@@ -9,11 +9,11 @@
 # This is free software.  There is NO warranty; not even for
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 #
-# Copyright (C) 2010-2019, 2021 Bootstrap Authors
+# Copyright (C) 2010-2019, 2021, 2023 Bootstrap Authors
 #
 # This file is dual licensed under the terms of the MIT license
-# , and GPL version 2 or later
-# .  You must apply one of
+# , and GPL version 2 or later
+# .  You must apply one of
 # these licenses when using or redistributing this software or any of
 # the files within it.  See the URLs above, or the file `LICENSE`
 # included in the Bootstrap distribution for the full license texts.
@@ -48,7 +48,7 @@
 #   gl/build-aux/inline-source gl/build-aux/bootstrap.in > bootstrap
 #
 # You should then store than script in version control for other
-# developers in you project.  It will give you instructions about
+# developers in your project.  It will give you instructions about
 # how to keep it up to date if the sources change.
 #
 # See gl/doc/bootstrap.texi for documentation on how to write
@@ -235,11 +235,11 @@ scriptversion=2019-02-19.15; # UTC
 # This is free software.  There is NO warranty; not even for
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 #
-# Copyright (C) 2004-2019, 2021 Bootstrap Authors
+# Copyright (C) 2004-2019, 2021, 2023 Bootstrap Authors
 #
 # This file is dual licensed under the terms of the MIT license
-# , and GPL version 2 or later
-# .  You must apply one of
+# , and GPL version 2 or later
+# .  You must apply one of
 # these licenses when using or redistributing this software or any of
 # the files within it.  See the URLs above, or the file `LICENSE`
 # included in the Bootstrap distribution for the full license texts.
@@ -306,7 +306,7 @@ nl='
 '
 IFS="$sp   $nl"
 
-# There are apparently some retarded systems that use ';' as a PATH separator!
+# There are apparently some systems that use ';' as a PATH separator!
 if test "${PATH_SEPARATOR+set}" != set; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
@@ -1699,11 +1699,11 @@ func_lt_ver ()
 # This is free software.  There is NO warranty; not even for
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 #
-# Copyright (C) 2010-2019, 2021 Bootstrap Authors
+# Copyright (C) 2010-2019, 2021, 2023 Bootstrap Authors
 #
 # This file is dual licensed under the terms of the MIT license
-# , and GPL version 2 or later
-# .  You must apply one of
+# , and GPL version 2 or later
+# .  You must apply one of
 # these licenses when using or redistributing this software or any of
 # the files within it.  See the URLs above, or the file `LICENSE`
 # included in the Bootstrap distribution for the full license texts.
@@ -2384,11 +2384,11 @@ func_version ()
 # This is free software.  There is NO warranty; not even for
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 #
-# Copyright (C) 2010-2019, 2021 Bootstrap Authors
+# Copyright (C) 2010-2019, 2021, 2023 Bootstrap Authors
 #
 # This file is dual licensed under the terms of the MIT license
-# , and GPL version 2 or later
-# .  You must apply one of
+# , and GPL version 2 or later
+# .  You must apply one of
 # these licenses when using or redistributing this software or any of
 # the files within it.  See the URLs above, or the file `LICENSE`
 # included in the Bootstrap distribution for the full license texts.
@@ -3832,7 +3832,7 @@ for tool in autoconf libtoolize autopoint; do
   _G_version=$func_extract_trace_result
   test -n "$_G_version" && {
 func_append buildreq "\
-'$tool' $_G_version http://www.gnu.org/s/'$b'
+'$tool' $_G_version https://www.gnu.org/s/'$b'
 "
 func_verbose \
 "auto-adding '\'$tool'-$_G_version'\'' to build requirements"
@@ -3865,7 +3865,7 @@ func_require_buildreq_automake ()
 test -n "$automake_version" || automake_version=-
 
 func_append buildreq "\
-automake $automake_version http://www.gnu.org/s/automake
+automake $automake_version 

Re: [PATCH 1/3] Fix typos

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 17:59, Mike Frysinger wrote:
> merged, but please write ChangeLog entries in the commit message

i had to revert the changes to "bootstrap" as that isn't maintained here.
you'll want to send those fixes to that upstream:
https://github.com/gnulib-modules/bootstrap
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/3] Fix typos

2024-01-16 Thread Mike Frysinger
merged, but please write ChangeLog entries in the commit message
-mike


signature.asc
Description: PGP signature


[PATCH] cfg.mk: update old NEWS hash

2024-01-16 Thread Mike Frysinger
The recent change to change http:// to https:// updated old NEWS
entries.  This isn't exactly against the spirit of the "don't
change old NEWS", so update the hash to match.

* cfg.mk (old_NEWS_hash): Update.
---
 cfg.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cfg.mk b/cfg.mk
index fcf43e34d142..8bec8813353b 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -31,8 +31,8 @@ update-release-year:
-e "/^Copyright/ {s:[0-9][0-9][0-9][0-9]:$$year:} " \
m4/libtool.m4
 
-# Set format of NEWS
-old_NEWS_hash := 68e21416d15e517576ce749b131f
+# Set format of NEWS.
+old_NEWS_hash := 3e6638705e1c1ac7104260815a46c7bd
 
 manual_title = Portable Dynamic Shared Object Management
 
-- 
2.43.0




[PATCH] ChangeLog.old: Convert ISO-8859-1 to UTF-8

2024-01-16 Thread Mike Frysinger
From: Antonin D??cimo 

This file is mostly UTF-8 already, but some old entries were using
ISO-8859-1.  Change them to UTF-8 entirely.

* ChangeLog.old: Change ISO-8859-1 to UTF-8.

Copyright-paperwork-exempt: Yes
---
 ChangeLog.old | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/ChangeLog.old b/ChangeLog.old
index 8e2b51caad46..bb84e8047d0b 100644
--- a/ChangeLog.old
+++ b/ChangeLog.old
@@ -15551,7 +15551,7 @@
 
* libltdl/ltdl.c (foreach_dirinpath): Ensure that filename is '\0'
terminated by all code paths.
-   Reported by Lutz M?ller 
+   Reported by Lutz M??ller 
 
 2002-06-20  Gary V. Vaughan  
 
@@ -18669,7 +18669,7 @@
  and file_magic_cmd
 
* README: use 'libtool --version' instead of 'ltconfig --version'
- (suggested by Francios Pinard 
+ (suggested by Fran??ois Pinard 
 
 2000-01-10  Gary V. Vaughan  
 
@@ -19442,7 +19442,7 @@
 
* ltconfig.in: Support new GNU ld --help output format.
* NEWS:  Likewise.
-   Reported by Ga?l Qu?ri  and
+   Reported by Ga??l Qu??ri  and
H.J. Lu .
 
 1999-06-05  Mark Kettenis  
@@ -23515,7 +23515,7 @@ Thu May 28 18:59:08 1998  Ian Lance Taylor  

ld's.  From Eiichi Takamori.
 
* ltmain.in (install): Don't print silly `library stripping'
-   warnings.  Reported by Fran?ois Pinard.
+   warnings.  Reported by Fran??ois Pinard.
 
 1997-12-19  Gordon Matzigkeit  
 
@@ -23650,7 +23650,7 @@ Thu May 28 18:59:08 1998  Ian Lance Taylor  

because we need it for quoting substitutions.  For most of the
script, though, use the default echo, just like Autoconf does.
Without this patch, character \001 ends up in global_symbol_pipe.
-   Reported by Lars Hecking and J?rgen Fluk.
+   Reported by Lars Hecking and J??rgen Fluk.
 
* ltmain.in (echo): Set default to `echo=echo'.  Ooops.  That's
what you get for testing obscure code paths and forgetting to
-- 
2.43.0




[PATCH] use https:// with more gnu.org sites

2024-01-16 Thread Mike Frysinger
* NEWS: Change http:// to https:// for some URIs.
* bootstrap.conf, build-aux/ltmain.in, configure.ac, libtoolize.in: Likewise.
---
 NEWS| 2 +-
 bootstrap.conf  | 8 
 build-aux/ltmain.in | 2 +-
 configure.ac| 2 +-
 libtoolize.in   | 2 +-
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/NEWS b/NEWS
index 39a35e605488..5c0b614e6d55 100644
--- a/NEWS
+++ b/NEWS
@@ -1069,7 +1069,7 @@ New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team:
 * We now have anonymous CVS access to GNU libtool.  CVSROOT is
   :pserver:anon...@anoncvs.gnu.org:/gd/gnu/anoncvsroot.  The password
   is empty.  The directory is libtool.  Check our home-page at
-  http://www.gnu.org/software/libtool/libtool.html for details.
+  https://www.gnu.org/software/libtool/libtool.html for details.
 * Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over
   the maintenance of libtool.
 * Arguments to ltconfig have been changed to allow creation of a
diff --git a/bootstrap.conf b/bootstrap.conf
index 68295f640e90..bc91a67f8096 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -44,10 +44,10 @@ checkout_only_file=HACKING
 # List of programs (and minimum versions) required to bootstrap, maintain
 # and release Libtool.
 buildreq="
-help2man   1.29http://www.gnu.org/s/help2man
-make   3.81http://www.gnu.org/s/make
-makeinfo   4.8 http://www.gnu.org/s/texinfo
-xz 4.999.8beta http://tukaani.org/xz
+help2man   1.29https://www.gnu.org/s/help2man
+make   3.81https://www.gnu.org/s/make
+makeinfo   4.8 https://www.gnu.org/s/texinfo
+xz 4.999.8beta https://tukaani.org/xz
 "
 
 # Instructions on how to install packages in $buildreq.
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index d996f7986993..f2cede828049 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -162,7 +162,7 @@ include the following information:
 
 Report bugs to <@PACKAGE_BUGREPORT@>.
 GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
-General help using GNU software: ."
+General help using GNU software: ."
 exit 0
 }
 
diff --git a/configure.ac b/configure.ac
index cc8113154d54..9aef55d3712e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,7 +35,7 @@ AC_INIT([GNU Libtool],
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
[bug-libt...@gnu.org])
 m4_ifndef([AC_PACKAGE_URL],
- [AC_SUBST([PACKAGE_URL], [http://www.gnu.org/s/libtool/])])
+ [AC_SUBST([PACKAGE_URL], [https://www.gnu.org/s/libtool/])])
 
 # Remove this when a released Autoconf is capable of bootstrapping
 # Libtool without it (probably after autoconf-2.70).
diff --git a/libtoolize.in b/libtoolize.in
index ecdf07f8af63..4c0c6cfbcf81 100644
--- a/libtoolize.in
+++ b/libtoolize.in
@@ -125,7 +125,7 @@ include the following information:
 
 Report bugs to <@PACKAGE_BUGREPORT@>.
 GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
-General help using GNU software: ."
+General help using GNU software: ."
 exit 0
 }
 
-- 
2.43.0




Re: [PATCH] libtool: remove bitrig support.

2024-01-16 Thread Mike Frysinger
On 16 Jan 2024 01:49, Brad Smith wrote:
> libtool: remove bitrig support.
> 
> Bitrig has been defunct for 7 years.

pushed, thanks
-mike


signature.asc
Description: PGP signature


Re: [PATCH 05/12] ltmain.in: Don't encode RATHS which match default linker paths

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> We don't want to add RPATHS which match default linker search paths, they're
> a waste of space. This patch filters libtools list of paths to encoode and
> removes the ones we don't need.

how are you defining "linker" ?  are you talking about the runtime linker
(i.e. ld.so) or the build time linker (i.e. `ld`) ?

the commit message also doesn't really explain in concrete details the
scenario you're running into.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 02/12] libtool.m4: Rename the --with-sysroot option to avoid conflict with gcc/binutils

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> This patch renames the --with-sysroot option to --with-libtool-sysroot
> to avoid namespace conflict with binutils, gcc and other toolchain
> components since these componets also add that option to configure
> and this becomes confusing and conflicting otherwise.

we're talking like 3 projects ?  libtool is used & included in way more
projects than that.  it seems like --with-sysroot as a standard name to
propagate out into the wider ecosystem makes more sense.

i agree there's confusion between "use this path as a sysroot to compile
and link against" and "have the compile tools target this sysroot".  the
same problem exists with host selection which is why we have the build,
host, and target options.  sounds like we want names that can align with
these somehow.

--with-libtool-sysroot doesn't make sense as it isn't an internal libtool
setting, it's changing how executables are linked, and users (who run the
configure scripts) don't know or care about this "libtool" thing.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 06/12] libtool.m4: Handle "/" as a sysroot correctly

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> Update libtool.m4 to resolve a problem with lt_sysroot not being properly
> updated if the option '--with[-libtool]-sysroot' is not provided when
> running the 'configure' script for a package so that "/" as a sysroot
> is handled correctly by libtool.

this is a long sentence, and there's no concrete examples, so i'm having a
bit of trouble extrapolating the bug.  can you tweak this a bit to make it
more clear ?
-mike


signature.asc
Description: PGP signature


Re: [PATCH 11/12] ltmain.in: Handle prefix-map compiler options correctly

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> +  # -f*-prefix-map*  needed for lto linking

what flags are you trying to actually match here ?  excessive globs
make it more likely to match flags we don't want.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 00/12] Yocto Project libtool patch queue

2024-01-15 Thread Mike Frysinger
there's a bunch of changes in here, but no additional test coverage

also the project still requires ChangeLog entries in the commit message,
so can you please add those so we don't have to write them for you ?  if
you look at commit history, the format should hopefully be obvious.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 07/12] libtool: Fix support for NIOS2 processor

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> The name of the system contains the string "nios2". This string
> is caught by the some of the greedy checks for OS/2 in libtool,
> in particular the *os2* branches of switch statements match for
> the nios2 string, which results in incorrect behavior of libtool.
> 
> This patch adds an explicit check for *nios2* before the *os2*
> checks to prevent the OS/2 check incorrectly trapping the nios2
> as well.

i don't think this is the right approach.  this is adding another substring
search across the entire space (cpu/vendor/os).  we should fix the search so
it uses the right value only to match against.

> --- a/build-aux/ltmain.in
> +++ b/build-aux/ltmain.in
>
>  case $host in
> +  # For NIOS2, we want to make sure that it's not caught by the
> +  # more general OS/2 check below. Otherwise, NIOS2 is the same
> +  # as the default option.
> +  *nios2*)
> +opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
> +;;
># Solaris2 added to fix 
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
># see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
>*cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)

these should only match $host_os, and remove the leading glob at the same time.
same for the other changes in this patch.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR

2024-01-15 Thread Mike Frysinger
On 15 Jan 2024 21:15, KO Myung-Hun wrote:
> Mike Frysinger wrote:
> > On 15 Oct 2023 02:04, KO Myung-Hun wrote:
> >> Some OSes such as OS/2, uses ';' as a path separator. So using 
> >> $PATH_SEPARATOR instead of hard-coded ':' is more proper.
> >> 
> >> * build-aux-ltmain.in: replace : with $PATH_SEPARATOR. *
> >> m4/libtool.m4: Likewise.
> > 
> > this doesn't work for me
> > 
> > 544675d6b538 2024-01-14 18:06:03 -0500 gnulib: update submodule to
> > current versions
> > 
> > $ ./bootstrap $ ./configure ... checking for mt... no checking if :
> > is a manifest tool... no ./configure: 1: Syntax error: Unterminated
> > quoted string $ -mike
> 
> How about this?

it passes configure, but fails `make check` & `make syntax-check`.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR

2024-01-14 Thread Mike Frysinger
On 15 Oct 2023 02:04, KO Myung-Hun wrote:
> Some OSes such as OS/2, uses ';' as a path separator. So using
> $PATH_SEPARATOR instead of hard-coded ':' is more proper.
> 
> * build-aux-ltmain.in: replace : with $PATH_SEPARATOR.
> * m4/libtool.m4: Likewise.

this doesn't work for me

544675d6b538 2024-01-14 18:06:03 -0500 gnulib: update submodule to current 
versions

$ ./bootstrap
$ ./configure
...
checking for mt... no
checking if : is a manifest tool... no
./configure: 1: Syntax error: Unterminated quoted string
$
-mike


signature.asc
Description: PGP signature


[PATCH 2/2] libltdl: unify get_vtable boilerplate

2024-01-14 Thread Mike Frysinger
These files all define get_vtable the same way, so create a single
header file to hold it.  This would fix desync problems like we had
with some defining the return value as const, and it'll make it a
bit easier to workaround GNU indent issues related to the defines.

* Makefile.am (pkgltdl_files): Add lt_vtable.h.
* libltdl/ltdl.mk (libltdl_libltdl_la_SOURCES): Likewise.
* libtoolize.in (all_pkgltdl_files): Likewise.
* libltdl/loaders/dld_link.c: Replace get_vtable prototype with lt_vtable.h
include.
* libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c, libltdl/ltdl.c: Likewise.
* libltdl/lt_vtable.h: New file.
---
 Makefile.am   |  1 +
 libltdl/loaders/dld_link.c|  5 +---
 libltdl/loaders/dlopen.c  |  5 +---
 libltdl/loaders/dyld.c|  5 +---
 libltdl/loaders/load_add_on.c |  5 +---
 libltdl/loaders/loadlibrary.c |  5 +---
 libltdl/loaders/preopen.c |  5 +---
 libltdl/loaders/shl_load.c|  5 +---
 libltdl/lt_vtable.h   | 44 +++
 libltdl/ltdl.c|  4 +---
 libltdl/ltdl.mk   |  1 +
 libtoolize.in |  2 +-
 12 files changed, 55 insertions(+), 32 deletions(-)
 create mode 100644 libltdl/lt_vtable.h

diff --git a/Makefile.am b/Makefile.am
index 904f3d73fc89..34384c5acf26 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -479,6 +479,7 @@ pkgltdl_files   = COPYING.LIB \
  lt__strl.c \
  lt_dlloader.c \
  lt_error.c \
+ lt_vtable.h \
  ltdl.c \
  ltdl.h \
  ltdl.mk \
diff --git a/libltdl/loaders/dld_link.c b/libltdl/loaders/dld_link.c
index 9dc220d96c07..7e7541c7338d 100644
--- a/libltdl/loaders/dld_link.c
+++ b/libltdl/loaders/dld_link.c
@@ -37,10 +37,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
Use the "_LTX_" prefix so that the symbol addresses can
be fetched from the preloaded symbol list by lt_dlsym():  */
 #define get_vtable dld_link_LTX_get_vtable
-
-LT_BEGIN_C_DECLS
-LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
-LT_END_C_DECLS
+#include "lt_vtable.h"
 
 
 /* Boilerplate code to set up the vtable for hooking this loader into
diff --git a/libltdl/loaders/dlopen.c b/libltdl/loaders/dlopen.c
index 5ec46b7f126b..c8c03bf42e25 100644
--- a/libltdl/loaders/dlopen.c
+++ b/libltdl/loaders/dlopen.c
@@ -37,10 +37,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
Use the "_LTX_" prefix so that the symbol addresses can
be fetched from the preloaded symbol list by lt_dlsym():  */
 #define get_vtable dlopen_LTX_get_vtable
-
-LT_BEGIN_C_DECLS
-LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
-LT_END_C_DECLS
+#include "lt_vtable.h"
 
 
 /* Boilerplate code to set up the vtable for hooking this loader into
diff --git a/libltdl/loaders/dyld.c b/libltdl/loaders/dyld.c
index 2c62c6fb0642..bfd35b24c590 100644
--- a/libltdl/loaders/dyld.c
+++ b/libltdl/loaders/dyld.c
@@ -37,10 +37,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
Use the "_LTX_" prefix so that the symbol addresses can
be fetched from the preloaded symbol list by lt_dlsym():  */
 #define get_vtable dyld_LTX_get_vtable
-
-LT_BEGIN_C_DECLS
-LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
-LT_END_C_DECLS
+#include "lt_vtable.h"
 
 
 /* Boilerplate code to set up the vtable for hooking this loader into
diff --git a/libltdl/loaders/load_add_on.c b/libltdl/loaders/load_add_on.c
index 513daa4c147a..6b07cd521e22 100644
--- a/libltdl/loaders/load_add_on.c
+++ b/libltdl/loaders/load_add_on.c
@@ -37,10 +37,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
Use the "_LTX_" prefix so that the symbol addresses can
be fetched from the preloaded symbol list by lt_dlsym():  */
 #define get_vtable load_add_on_LTX_get_vtable
-
-LT_BEGIN_C_DECLS
-LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
-LT_END_C_DECLS
+#include "lt_vtable.h"
 
 
 /* Boilerplate code to set up the vtable for hooking this loader into
diff --git a/libltdl/loaders/loadlibrary.c b/libltdl/loaders/loadlibrary.c
index 10e44490548a..d8995eb5f2bc 100644
--- a/libltdl/loaders/loadlibrary.c
+++ b/libltdl/loaders/loadlibrary.c
@@ -41,10 +41,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
Use the "_LTX_" prefix so that the symbol addresses can
be fetched from the preloaded symbol list by lt_dlsym():  */
 #define get_vtable loadlibrary_LTX_get_vtable
-
-LT_BEGIN_C_DECLS
-LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
-LT_END_C_DECLS
+#include "lt_vtable.h"
 
 
 /* Boilerplate code to set up the vtable for hooking this loader into
diff --git a/libltdl/loaders/preopen.c b/libltdl/loaders/preopen.c
index e5440d3e07ac..4f61c03b3bda 100644

[PATCH 1/2] libltdl: constify get_vtable in loaders

2024-01-14 Thread Mike Frysinger
The lt_dlloader.h API already says these have const return values, and
the main ltdl.c module defines its get_vtable in that way, so update all
of the loaders to match.

* libltdl/loaders/dld_link.c (get_vtable): Add const.
* libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise.
---
 libltdl/loaders/dld_link.c| 4 ++--
 libltdl/loaders/dlopen.c  | 4 ++--
 libltdl/loaders/dyld.c| 4 ++--
 libltdl/loaders/load_add_on.c | 4 ++--
 libltdl/loaders/loadlibrary.c | 4 ++--
 libltdl/loaders/preopen.c | 4 ++--
 libltdl/loaders/shl_load.c| 4 ++--
 7 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/libltdl/loaders/dld_link.c b/libltdl/loaders/dld_link.c
index 3a9f345e53ae..9dc220d96c07 100644
--- a/libltdl/loaders/dld_link.c
+++ b/libltdl/loaders/dld_link.c
@@ -39,7 +39,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #define get_vtable dld_link_LTX_get_vtable
 
 LT_BEGIN_C_DECLS
-LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data);
+LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
 LT_END_C_DECLS
 
 
@@ -57,7 +57,7 @@ static lt_dlvtable *vtable = 0;
 /* Return the vtable for this loader, only the name and sym_prefix
attributes (plus the virtual function implementations, obviously)
change between loaders.  */
-lt_dlvtable *
+const lt_dlvtable *
 get_vtable (lt_user_data loader_data)
 {
   if (!vtable)
diff --git a/libltdl/loaders/dlopen.c b/libltdl/loaders/dlopen.c
index 66a129c9a472..5ec46b7f126b 100644
--- a/libltdl/loaders/dlopen.c
+++ b/libltdl/loaders/dlopen.c
@@ -39,7 +39,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #define get_vtable dlopen_LTX_get_vtable
 
 LT_BEGIN_C_DECLS
-LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data);
+LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
 LT_END_C_DECLS
 
 
@@ -57,7 +57,7 @@ static lt_dlvtable *vtable = 0;
 /* Return the vtable for this loader, only the name and sym_prefix
attributes (plus the virtual function implementations, obviously)
change between loaders.  */
-lt_dlvtable *
+const lt_dlvtable *
 get_vtable (lt_user_data loader_data)
 {
   if (!vtable)
diff --git a/libltdl/loaders/dyld.c b/libltdl/loaders/dyld.c
index 3889b6aa57a0..2c62c6fb0642 100644
--- a/libltdl/loaders/dyld.c
+++ b/libltdl/loaders/dyld.c
@@ -39,7 +39,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #define get_vtable dyld_LTX_get_vtable
 
 LT_BEGIN_C_DECLS
-LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data);
+LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
 LT_END_C_DECLS
 
 
@@ -58,7 +58,7 @@ static lt_dlvtable *vtable = 0;
 /* Return the vtable for this loader, only the name and sym_prefix
attributes (plus the virtual function implementations, obviously)
change between loaders.  */
-lt_dlvtable *
+const lt_dlvtable *
 get_vtable (lt_user_data loader_data)
 {
   if (!vtable)
diff --git a/libltdl/loaders/load_add_on.c b/libltdl/loaders/load_add_on.c
index 97b4fcb689c0..513daa4c147a 100644
--- a/libltdl/loaders/load_add_on.c
+++ b/libltdl/loaders/load_add_on.c
@@ -39,7 +39,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #define get_vtable load_add_on_LTX_get_vtable
 
 LT_BEGIN_C_DECLS
-LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data);
+LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
 LT_END_C_DECLS
 
 
@@ -57,7 +57,7 @@ static lt_dlvtable *vtable = 0;
 /* Return the vtable for this loader, only the name and sym_prefix
attributes (plus the virtual function implementations, obviously)
change between loaders.  */
-lt_dlvtable *
+const lt_dlvtable *
 get_vtable (lt_user_data loader_data)
 {
   if (!vtable)
diff --git a/libltdl/loaders/loadlibrary.c b/libltdl/loaders/loadlibrary.c
index 13fd2fb9c72c..10e44490548a 100644
--- a/libltdl/loaders/loadlibrary.c
+++ b/libltdl/loaders/loadlibrary.c
@@ -43,7 +43,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #define get_vtable loadlibrary_LTX_get_vtable
 
 LT_BEGIN_C_DECLS
-LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data);
+LT_SCOPE const lt_dlvtable *get_vtable (lt_user_data loader_data);
 LT_END_C_DECLS
 
 
@@ -62,7 +62,7 @@ static lt_dlvtable *vtable = 0;
 /* Return the vtable for this loader, only the name and sym_prefix
attributes (plus the virtual function implementations, obviously)
change between loaders.  */
-lt_dlvtable *
+const lt_dlvtable *
 get_vtable (lt_user_data loader_data)
 {
   if (!vtable)
diff --git a/libltdl/loaders/preopen.c b/libltdl/loaders/preopen.c
index f1ed0aa3e306..e5440d3e07ac 100644
--- a/libltdl/loaders/preopen.c
+++ b/libltdl/loaders/preopen.c
@@ -39,7 +39,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #define get_vtable preopen_LTX_get_vtable
 
 LT_BEGIN_C_DECLS

[PATCH] gnulib: update submodule to current versions

2024-01-14 Thread Mike Frysinger
* gnulib: Update submodule.
---
 gl/build-aux/do-release-commit-and-tag.diff | 10 +-
 gnulib  |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/gl/build-aux/do-release-commit-and-tag.diff 
b/gl/build-aux/do-release-commit-and-tag.diff
index 1a8b29d1d8bf..f79870e509a3 100644
--- a/gl/build-aux/do-release-commit-and-tag.diff
+++ b/gl/build-aux/do-release-commit-and-tag.diff
@@ -1,20 +1,20 @@
 ./gnulib/build-aux/do-release-commit-and-tag   2013-01-26 
16:46:26.0 +1300
-+++ gl/build-aux/do-release-commit-and-tag 2013-10-28 20:21:38.0 
+1300
+--- ./gnulib/build-aux/do-release-commit-and-tag
 gl/build-aux/do-release-commit-and-tag
 @@ -5,6 +5,9 @@
  # will serve to identify the release, so apply a signed tag to it as well.
- VERSION=2012-08-01.09 # UTC
+ VERSION=2018-03-07.03 # UTC
  
 +# Make sure we've evaluated scripts we depend on.
 +test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh
 +
  # Note: this is a bash script (could be zsh or dash)
  
- # Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ # Copyright (C) 2009-2024 Free Software Foundation, Inc.
 @@ -125,10 +128,8 @@
|| die 'failed to determine previous version number from .prev-version'
  
  # Verify that $ver is sensible (> .prev-version).
--case $(printf "$prev_ver\n$ver\n"|sort -V -u|tr '\n' ':') in
+-case $(printf "%s\n%s\n" "$prev_ver" "$ver"|sort -V -u|tr '\n' ':') in
 -  "$prev_ver:$ver:") ;;
 -  *) die "invalid version: $ver (<= $prev_ver)";;
 -esac
diff --git a/gnulib b/gnulib
index a5218207e5f9..29d705ead113 16
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit a5218207e5f92e152a34994cce4aa415b1eb25c8
+Subproject commit 29d705ead11382c8d608dcc254394439cb43b9b8
-- 
2.43.0




[PATCH] maint: tweak update-release-year for syntax checks

2024-01-14 Thread Mike Frysinger
`make syntax-check` complains about redundant variable braces.

* cfg.mk (update-release-year): Delete $${year} braces.
---
 cfg.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cfg.mk b/cfg.mk
index e936094763de..bce1dd6195c0 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -27,8 +27,8 @@ update-copyright: update-release-year
 update-release-year:
$(AM_V_GEN)year=`date +%Y`; \
sed -i \
-   -e "/_LT_COPY/,+1 { /Copyright/ 
{s:[0-9][0-9][0-9][0-9]:$${year}:} }" \
-   -e "/^Copyright/ {s:[0-9][0-9][0-9][0-9]:$${year}:} " \
+   -e "/_LT_COPY/,+1 { /Copyright/ 
{s:[0-9][0-9][0-9][0-9]:$$year:} }" \
+   -e "/^Copyright/ {s:[0-9][0-9][0-9][0-9]:$$year:} " \
m4/libtool.m4
 
 # Set format of NEWS
-- 
2.43.0




[PATCH] maint: disable syntax checks on local gnulib patches

2024-01-14 Thread Mike Frysinger
The syntax checks might trip over problems in the gnulib code itself
when scanning the local patches.  Since it's unlikely these checks
will find anything useful, just disable them for the gl/ patches.

* cfg.mk (VC_LIST_ALWAYS_EXCLUDE_REGEX): Ignore ^gl/.
---
 cfg.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cfg.mk b/cfg.mk
index bce1dd6195c0..fcf43e34d142 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -44,8 +44,8 @@ else
 announcement_Cc_ = autotools-annou...@gnu.org, $(PACKAGE_BUGREPORT)
 endif
 
-# Don't syntax check the mail subdirectory.
-VC_LIST_ALWAYS_EXCLUDE_REGEX = ^mail/
+# Don't syntax check the mail subdirectory or patches to gnulib itself.
+VC_LIST_ALWAYS_EXCLUDE_REGEX = ^(mail|gl)/
 
 local-checks-to-fix =  \
sc_require_config_h \
-- 
2.43.0




[PATCH] maint: disable GNU indent checks for now

2024-01-14 Thread Mike Frysinger
GNU indent will reformat a bunch of files in a way that's broken or
incorrect, so disable the check until we can find a way to workaround
this.  Unfortunately, the indent check is enforced at `make distcheck`
time if GNU indent is installed, so it can't simply be ignored.

* cfg.mk (local-checks-to-skip): Add sc_indent.
---
 cfg.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/cfg.mk b/cfg.mk
index e334b1365c27..e936094763de 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -55,6 +55,7 @@ local-checks-to-skip =\
$(local-checks-to-fix)  \
sc_GPL_version  \
sc_cast_of_x_alloc_return_value \
+   sc_indent   \
sc_prohibit_always-defined_macros   \
sc_prohibit_always_true_header_tests\
sc_prohibit_strncpy \
-- 
2.43.0




[PATCH] libltdl: delete use of ^L

2024-01-14 Thread Mike Frysinger
GNU indent does not process this well, and nothing else in the tree
uses this convention, so drop it.

(GNU indent is enforced by gnulib when running `make distcheck`.)

* libltdl/ltdl.c: Delete ^L.
* libltdl/ltdl.h: Likewise.
---
 libltdl/ltdl.c | 1 -
 libltdl/ltdl.h | 2 --
 2 files changed, 3 deletions(-)

diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c
index 2cbe9a9cb9e6..db4905de1563 100644
--- a/libltdl/ltdl.c
+++ b/libltdl/ltdl.c
@@ -91,7 +91,6 @@ staticconst char  sys_dlsearch_path[] = 
LT_DLSEARCH_PATH;
 
 
 
-
 /* --- DYNAMIC MODULE LOADING --- */
 
 
diff --git a/libltdl/ltdl.h b/libltdl/ltdl.h
index 67c9af9a277a..ec0fd70c9d0b 100644
--- a/libltdl/ltdl.h
+++ b/libltdl/ltdl.h
@@ -43,7 +43,6 @@ LT_BEGIN_C_DECLS
 /* LT_STRLEN can be used safely on NULL pointers.  */
 #define LT_STRLEN(s)   (((s) && (s)[0]) ? strlen (s) : 0)
 
-
 /* --- DYNAMIC MODULE LOADING API --- */
 
 
@@ -110,7 +109,6 @@ extern LT_DLSYM_CONST lt_dlsymlist 
lt__PROGRAM__LTX_preloaded_symbols[];
 
 
 
-
 /* --- MODULE INFORMATION --- */
 
 
-- 
2.43.0




[PATCH] generalize genders

2024-01-14 Thread Mike Frysinger
* HACKING: Change "his" to "their".
* tests/old-m4-iface.at: Change "she" to "they".
---
 HACKING   | 2 +-
 tests/old-m4-iface.at | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/HACKING b/HACKING
index c653893d2dc7..92292d1d023d 100644
--- a/HACKING
+++ b/HACKING
@@ -17,7 +17,7 @@ and is not part of a release distribution.
 
 * If a change fixes a test, mention the test in the git log entry.
 
-* If somebody reports a new bug, mention his name in the git log entry
+* If somebody reports a new bug, mention their name in the git log entry
   and in the test case you write.
 
 * The correct response to most actual bugs is to write a new test case
diff --git a/tests/old-m4-iface.at b/tests/old-m4-iface.at
index f7ff69c1985e..ef3963e9e19f 100644
--- a/tests/old-m4-iface.at
+++ b/tests/old-m4-iface.at
@@ -93,7 +93,7 @@ LT_AT_BOOTSTRAP([ignore], [ignore], [ignore], [ignore], 
[--force])
 LT_AT_EXEC_CHECK([./old], 0, [Hello, World!])
 
 # Now, test that libtoolize doesn't mistakenly think the user called
-# any libtool macros if in fact she didn't.
+# any libtool macros if in fact they didn't.
 $SED '/AM_PROG_LIBTOOL/d' configure.in >configure.int
 mv -f configure.int configure.in
 AT_CHECK([$LIBTOOLIZE -n], [0], [stdout], [stderr])
-- 
2.43.0




Re: [PATCH] .gitmodules: use HTTPS for cloning gnulib

2024-01-14 Thread Mike Frysinger
merged, thx
-mike


signature.asc
Description: PGP signature


Re: [PATCH 12/12] libtool.m4: For reproducibility stop encoding hostname in libtool script

2024-01-13 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> For reproducibilty, stop encoding the hostname into the libtool script, this 
> isn't
> really adding much to debugging and most distros are carrying such a patch 
> now as
> reproducibility is important.

thanks, merged
-mike


signature.asc
Description: PGP signature


[patch #9442] Add flang (LLVM-based compiler) support

2024-01-13 Thread Mike Frysinger
Update of patch#9442 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #1:

i dropped the -DPIC part as no other target does it, and i think we handle
that in common code already.  feel free to follow up if you disagree.

https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=33d4b69fccbbb557c1160cc46c3d8d2f30fb8a2d


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




Re: [PATCH] Support for Flang and ARM HPC compiler

2024-01-13 Thread Mike Frysinger
weird timing.  this was submitted a week before you:
https://savannah.gnu.org/patch/?9442
-mike


signature.asc
Description: PGP signature


Re: Armflang patch

2024-01-13 Thread Mike Frysinger
i think this earlier patch is more complete:
https://savannah.gnu.org/patch/?9442
-mike


signature.asc
Description: PGP signature


Re: Patch to set correct compiler flags for 'armflang' on 'aarch64'

2024-01-13 Thread Mike Frysinger
i think this earlier patch is more complete:
https://savannah.gnu.org/patch/?9442
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR

2024-01-13 Thread Mike Frysinger
On 15 Oct 2023 02:04, KO Myung-Hun wrote:
> Some OSes such as OS/2, uses ';' as a path separator. So using
> $PATH_SEPARATOR instead of hard-coded ':' is more proper.
> 
> * build-aux-ltmain.in: replace : with $PATH_SEPARATOR.
> * m4/libtool.m4: Likewise.
> ---
>  build-aux/ltmain.in | 76 ++---
>  m4/libtool.m4   | 16 +-
>  2 files changed, 46 insertions(+), 46 deletions(-)

this seems reasonable, but the size of the patch seems like it should require
copyright papers.  have you done those for the libtool project before ?
-mike


signature.asc
Description: PGP signature


Re: pass_all for z/OS

2024-01-13 Thread Mike Frysinger
On 24 Nov 2023 15:19, Igor Todorovski wrote:
> diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
> index d812584..f959bae 100644
> --- a/libltdl/m4/libtool.m4
> +++ b/libltdl/m4/libtool.m4

this file doesn't exist.  i don't know what git tree you're working against,
but it isn't the latest libtool one.  please rebase onto the latest version,
and send a proper git patch.  hand written ones like what you've posted here
are a pain to merge as it forces us to do a lot of manual work.
-mike


signature.asc
Description: PGP signature


Re: [PATCH] ltmain.in: Pass through -fdiagnostics-color, -frecord-gcc-switches

2024-01-13 Thread Mike Frysinger
On 14 Jan 2024 06:27, Sam James wrote:
> * -fdiagnostics-color: who doesn't like color? No reason to strip it. This
>   makes the link phase stick out like a sore thumb if there's warnings 
> emitted.

i have a vague recollection of libtool processing output, but i can't recall
where.  i guess if it breaks people, it's kind of their own fault, and we can
wait for reports.

> * -frecord-gcc-switches: we use it in Gentoo to check if a package respects
>   *FLAGS. Note that we do not need to include -grecord-gcc-switches explicitly
>   here as -g* is already whitelisted.

this is certainly np.

merged!
-mike


signature.asc
Description: PGP signature


Re: [PATCH] Makefile.am: make sure autoheader run before automake

2024-01-13 Thread Mike Frysinger
merged, thx
-mike


signature.asc
Description: PGP signature


Re: [PATCH] Makefile.am: make sure autoheader run before autoconf

2024-01-13 Thread Mike Frysinger
merged, thx
-mike


signature.asc
Description: PGP signature


Re: [PATCH] docs: Fix typo in 'Linking Libraries' section

2024-01-13 Thread Mike Frysinger
merged, thanks
-mike


signature.asc
Description: PGP signature


Re: [PATCH] docs: Use @file for .libs directory

2024-01-13 Thread Mike Frysinger
merged, thanks
-mike


signature.asc
Description: PGP signature


Re: GCC Patch Tracking [https://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html]

2024-01-13 Thread Mike Frysinger
On 21 Dec 2022 17:36, Shinde, Yash wrote:
> https://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
> Submission Date- Sun, 16 Jan 2011
> Upstream-Status: Submitted
> 
> The given Libtool patch is with it’s current status as ‘Submitted’ but still 
> is not taken to the upstream. Please let us know about why the patch is not 
> taken to the upstream or let us know if there is any problem in including it 
> in upstream.

sorry, but i don't understand the question or what you're looking for
-mike


signature.asc
Description: PGP signature


Re: [PATCH] Support "-fno-sanitize*" options.

2024-01-13 Thread Mike Frysinger
On 16 Dec 2022 10:10, Manoj Gupta wrote:
> "-fno-sanitize*" options e.g. -fno-sanitize=alignment
> or -fno-sanitize-recover=all are used to tune the behvior of
> sanitizers in GCC/clang. Let libtool pass these options
> to compiler similar to fsanitize=*.

merged now, thx
-mike


signature.asc
Description: PGP signature


[PATCH] maint: extend release version hook to cover config.lt

2024-01-13 Thread Mike Frysinger
* cfg.mk: Extend rule to cover config.lt.
* m4/libtool.m4: Update copyright year.
---
 cfg.mk| 5 -
 m4/libtool.m4 | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/cfg.mk b/cfg.mk
index 62782ba809fb..e334b1365c27 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -26,7 +26,10 @@ update-copyright-env := UPDATE_COPYRIGHT_FORCE=1 
UPDATE_COPYRIGHT_USE_INTERVALS=
 update-copyright: update-release-year
 update-release-year:
$(AM_V_GEN)year=`date +%Y`; \
-   sed -i "/_LT_COPY/,+1 { /Copyright/ {s:[0-9][0-9][0-9][0-9]:$${year}:} 
}" m4/libtool.m4
+   sed -i \
+   -e "/_LT_COPY/,+1 { /Copyright/ 
{s:[0-9][0-9][0-9][0-9]:$${year}:} }" \
+   -e "/^Copyright/ {s:[0-9][0-9][0-9][0-9]:$${year}:} " \
+   m4/libtool.m4
 
 # Set format of NEWS
 old_NEWS_hash := 68e21416d15e517576ce749b131f
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index f439b5a62299..32485604e847 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -651,7 +651,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME 
])config.lt[]dnl
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
 configured by $[0], generated by m4_PACKAGE_STRING.
 
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2024 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
-- 
2.43.0




Re: [PATCH] tests: Fix grep warning about stray \ before /

2024-01-13 Thread Mike Frysinger
thx for the patch.  we ended up merging Paul's work as it covered more cases:
https://savannah.gnu.org/patch/index.php?10282
-mike


signature.asc
Description: PGP signature


Re: [PATCH] libtool.m4: fix typos

2024-01-13 Thread Mike Frysinger
thx, merged now
-mike


signature.asc
Description: PGP signature


Re: [PATCH] Fix mingw _putenv warning

2024-01-13 Thread Mike Frysinger
i merged Vadim's patch now, thanks
-mike


signature.asc
Description: PGP signature


[patch #8843] Include _CRTIMP in _putenv() declaration in EXE wrapper sources

2024-01-13 Thread Mike Frysinger
Update of patch#8843 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #3:

merged now, thanks


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




Re: [PATCH] Include _CRTIMP in _putenv() declaration in EXE wrapper?sources.

2024-01-13 Thread Mike Frysinger
On 07 Jul 2011 15:45, Vadim Zeitlin wrote:
> Charles Wilson  cwilson.fastmail.fm> writes:
> > On 6/23/2011 5:34 AM, Vadim Zeitlin wrote:
> > > Re-declaring _putenv() without _CRTIMP in strict ANSI mode when using
> > > MinGW resulted in a warning because of a conflict with the previous
> > > declaration that did use _CRTIMP.
> > > 
> > > Simply add _CRTIMP to our declaration to avoid it.
> > 
> > > -int _putenv (const char *);
> > > +_CRTIMP int _putenv (const char *);
> > 
> > Probably should also add __cdecl (for correctness, not warning
> > suppression) in case the user has done a -mrtd.
> > 
> > _CRTIMP int __cdecl _putenv (const char*);
> 
>  Sorry for the delay, I left aside my struggles with libtool for some time,
> but am getting back to it now as I'd really like to not have to return to
> this again later.
> 
>  It's not totally clear to me if I should make this trivial change myself
> or whether this would be done by whoever applies the patch? FWIW I clearly
> agree that __cdecl should be there, I just didn't think about -mrtd case.

i've done it this time for you due to the vintage, but for future reference,
you should always make the updates and post v2/etc... in response to your
original patch.
-mike


signature.asc
Description: PGP signature


Re: [PATCH] hurd-amd64 support

2024-01-13 Thread Mike Frysinger
On 06 May 2023 16:17, Samuel Thibault wrote:
> This adds support for passing -m elf32_x86_64 vs -m elf_x86_64 to the
> linker on hurd-amd64

this was difficult to merge because you aren't using git.
please switch to that in the futrue when sending patches.
-mike


signature.asc
Description: PGP signature


[patch #10398] hurd-amd64 support

2024-01-13 Thread Mike Frysinger
Update of patch#10398 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #2:

looks like you posted this to the mailing list previously, so i can pull
details from that.  it's still a pita though, so please use git in the
future.

https://lists.gnu.org/archive/html/libtool-patches/2023-05/msg0.html


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[patch #10387] Recognize the *-*-windows* config triplets introduced on 2023-06-26

2024-01-13 Thread Mike Frysinger
Update of patch#10387 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #1:

thanks, merged now


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[patch #10398] hurd-amd64 support

2024-01-13 Thread Mike Frysinger
Follow-up Comment #1, patch#10398 (group libtool):

can you use git to create patches ?  hand written ones like this are a pita to
apply, and it's not clear what metadata to put into it (e.g. what name/e-mail
you prefer to use).

the content of the patch itself looks fine.


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




Re: [PATCH 3/3] Update links to FlexDLL and edll

2024-01-13 Thread Mike Frysinger
thx, merged this one now
-mike


signature.asc
Description: PGP signature


Re: [PATCH 2/3] Fix ChangeLog.old encoding

2024-01-13 Thread Mike Frysinger
On 23 Nov 2023 09:44, Antonin Décimo wrote:
> Copyright-paperwork-exempt: Yes
> ---
>  ChangeLog.old | 10 +-
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/ChangeLog.old b/ChangeLog.old
> index 8e2b51ca..51d7859d 100644
> --- a/ChangeLog.old
> +++ b/ChangeLog.old
> @@ -15551,7 +15551,7 @@
>  
>   * libltdl/ltdl.c (foreach_dirinpath): Ensure that filename is '\0'
>   terminated by all code paths.
> - Reported by Lutz M?ller 
> + Reported by Lutz M?ller 

not sure what you mean by "fix" here.  were you trying to convert the
various ISO-8859-1 sequences with UTF-8 ?  your patch didn't come across
the mailing list correctly if so.  can you compress + resend ?  and put
a little more detail into the commit message ?
-mike


signature.asc
Description: PGP signature


Re: [PATCH 0/3] Fix typos and update links

2024-01-13 Thread Mike Frysinger
On 23 Nov 2023 15:11, Antonin Décimo wrote:
> > > I also note that the latest version isn't reported on the webpage
> > > (2.4.7 instead of 2.4.6).
> >
> > Which web page (e.g. URL, documentation file in libtool git) are you
> > talking about?
> 
> https://www.gnu.org/software/libtool/ reads:
> > Latest stable release:  libtool-2.4.6.tar.gz

it's fixed now
-mike


signature.asc
Description: PGP signature


Re: [PATCH] libtool: passthru '-shared-libsan' and '-static-libsan' flags

2024-01-13 Thread Mike Frysinger
On 21 May 2023 20:28, Dmitry Antipov wrote:
> * build-aux/ltmain.in: Pass '-shared-libsan' and '-static-libsan'
>   flags when linking.
> 
> This is intented to link against shared and static sanitizer
> runtimes with Clang.

thx, merged now
-mike


signature.asc
Description: PGP signature


Re: [PATCH] testsuite: Fix C99 compatibility issue in lt_dlopen_a.at

2024-01-13 Thread Mike Frysinger
On 10 Jan 2023 10:21, Florian Weimer wrote:
> Include  for the strcmp function.  This improves C99
> compiler compatibility because it avoids an implicit function
> declaration.

thx bud, merged now
-mike


signature.asc
Description: PGP signature


Re: [PATCH] libtool: remove stray \ before -

2024-01-13 Thread Mike Frysinger
On 14 Sep 2022 00:10, jspri...@debian.org wrote:
> From: Jochen Sprickerhof 
> 
> grep 3.8 emits a warning for this.

thanks for the patch ... we merged fixed from Paul via
https://savannah.gnu.org/patch/index.php?10282
-mike


signature.asc
Description: PGP signature


[patch #10282] port libtool to grep 3.8 and to POSIX

2024-01-13 Thread Mike Frysinger
Update of patch#10282 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #4:

merged both patches.  verified they fixed failures on my system with current
git.


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[patch #10275] link-order.at: fix tests with GNU grep 3.8

2024-01-13 Thread Mike Frysinger
Update of patch#10275 (group libtool):

  Status:None => Duplicate  
 Open/Closed:Open => Closed 

___

Follow-up Comment #3:

normally we don't dupe older-into-newer, but as Paul said, his fix is more
complete, so let's roll with his


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[patch #10385] Add an option for setting rpaths on darwin

2024-01-13 Thread Mike Frysinger
Update of patch#10385 (group libtool):

  Status:None => Duplicate  
 Open/Closed:Open => Closed 

___

Follow-up Comment #1:

duplicate of https://savannah.gnu.org/patch/index.php?10384


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[patch #8675] elftoolchain strip support

2024-01-13 Thread Mike Frysinger
Update of patch#8675 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #1:

we merged a fix which i think covers this & more:
https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=d7c8d3b43fef8641f4354edaa0429d157259bf56


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[patch #6691] FreeMiNT support to libtool 1.5.26 (tested)

2024-01-13 Thread Mike Frysinger
Update of patch#6691 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #4:

looks like this was merged:
https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=26d36541aded9124add202e288a79f3c08242687


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[patch #7759] Use AS_HELP_STRING in libtool.m4

2024-01-13 Thread Mike Frysinger
Update of patch#7759 (group libtool):

  Status:None => Done   
 Open/Closed:Open => Closed 

___

Follow-up Comment #1:

thanks for the report.  this is fixed in current releases.
https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=d5a9df4837136fa90e9147778939d5c628bc7213


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[patch #10384] Add a darwin-specific rpath flag

2024-01-12 Thread Mike Frysinger
Update of patch#10384 (group libtool):

 Summary:  Add a  => Add a darwin-specific
rpath flag


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[PATCH] libtoolize: don't execute automake and autoconf on every invocation.

2016-02-13 Thread Mike Frysinger
Same fix as applied to libtool in commit 408cfb9c5fa8a666917167ffb806cb
to delay use of automake/autoconf to when the --help option is actually
specified.

* libtoolize.in (func_help): Override func_help() from
gl/build-aux/options-parser to only run automake --version and
autoconf --version when libtool --help is executed on the command
line.
---
 libtoolize.in | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/libtoolize.in b/libtoolize.in
index 3fe61ce..0d4af3d 100644
--- a/libtoolize.in
+++ b/libtoolize.in
@@ -94,7 +94,12 @@ usage_message="Options:
 "
 
 # Additional text appended to 'usage_message' in response to '--help'.
-long_help_message=$long_help_message"
+func_help ()
+{
+$debug_cmd
+
+func_usage_message
+$ECHO "$long_help_message
'environment'   show warnings about LIBTOOLIZE_OPTIONS content
'file'  show warnings about file copying and linking
 
@@ -120,8 +125,9 @@ include the following information:
 
 Report bugs to <@PACKAGE_BUGREPORT@>.
 GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
-General help using GNU software: .
-"
+General help using GNU software: ."
+exit 0
+}
 
 warning_categories='environment file'
 
-- 
2.6.2




[PATCH] libtool: pass through -fuse-ld flags

2016-02-12 Thread Mike Frysinger
Starting with gcc-4.8, there's a -fuse-ld flag that can be used to select
between bfd & gold.  Make sure we pass it through to the linking stage.

* build-aux/ltmain.in (func_mode_link): Pass -fuse-ld=* flags through.
---
 build-aux/ltmain.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 2a5aaad..4c24d5d 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5383,10 +5383,11 @@ func_mode_link ()
   # -specs=* GCC specs files
   # -stdlib=*select c++ std lib with clang
   # -fsanitize=* Clang/GCC memory and address sanitizer
+  # -fuse-ld=*   Linker select flags for GCC
   -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
   
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
   
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-  -specs=*|-fsanitize=*)
+  -specs=*|-fsanitize=*|-fuse-ld=*)
 func_quote_arg pretty "$arg"
arg=$func_quote_arg_result
 func_append compile_command " $arg"
-- 
2.6.2




Re: [PATCH] libtoolize: do not delete gnulib headers

2014-11-02 Thread Mike Frysinger
On 02 Nov 2014 18:55, Gary V. Vaughan wrote:
 If you'd like me to credit you in the 2.4.4 ChangeLog alongside Pavel, just 
 let
 me know and I'll add a ChangeLog edit into build-aux/git-log-fix.

*shrug* either is fine by me.  if the issue is fixed, i'm happy either way.
-mike


signature.asc
Description: Digital signature


[PATCH] libtoolize: do not delete gnulib headers

2014-10-31 Thread Mike Frysinger
These snippet/ headers are installed by gnulib, not libtool.  There's no
reason libtool should be trying to delete these for us (and will break
projects), so drop that logic.

People who are using gnulib can use gnulib to update/manage these.

* libtoolize.in (func_require_seen_libtool): Delete snippet/ header files
from $all_pkgaux_files.

Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 libtoolize.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libtoolize.in b/libtoolize.in
index d819470..d0cbfb0 100644
--- a/libtoolize.in
+++ b/libtoolize.in
@@ -1897,7 +1897,7 @@ func_require_seen_libtool ()
   # Do not remove config.guess, config.sub or install-sh, we don't
   # install them without --install, and the project may not be using
   # Automake.
-  all_pkgaux_files=compile depcomp missing ltmain.sh snippet/_Noreturn.h 
snippet/arg-nonnull.h snippet/c++defs.h snippet/warn-on-use.h
+  all_pkgaux_files=compile depcomp missing ltmain.sh
   all_pkgmacro_files=argz.m4 libtool.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 
ltversion.in ltversion.m4 lt~obsolete.m4
   all_pkgltdl_files=COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am 
README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure 
configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__dirent.h 
libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h 
libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h 
loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c 
loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c 
lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h ltdl.mk slist.c
 
-- 
2.1.2




Re: [PATCH] libtool: LT_PATH_NM: default to ${ac_tool_prefix}nm

2013-04-29 Thread Mike Frysinger
On Monday 29 April 2013 02:55:12 Peter Rosin wrote:
 On 2013-04-29 04:45, Mike Frysinger wrote:
  On Sunday 28 April 2013 03:21:15 Peter Rosin wrote:
  And on re-reading, my IFS changes are not very constructive. I removed
  those. I will push the attached in a couple of days, if there are no
  objections.
  
  i actually thought your IFS changes made sense.  the current code
  saves/restores IFS around the inside loop, so if your code breaks out of
  both the inside and outside loop, then IFS won't get restored.
 
 The first statement of the inner loop restores IFS, so IFS is as it should
 be when break 2 hits, no?

so it does ... i was focusing on the code outside of the inner loop.  why do 
we need the restore at the bottom then ?
-mike


signature.asc
Description: This is a digitally signed message part.


Re: [PATCH] libtool: LT_PATH_NM: default to ${ac_tool_prefix}nm

2013-04-28 Thread Mike Frysinger
On Sunday 28 April 2013 03:21:15 Peter Rosin wrote:
 On 2013-04-27 22:38, Mike Frysinger wrote:
  On Saturday 27 April 2013 13:53:28 Peter Rosin wrote:
  On 2013-04-27 07:58, Mike Frysinger wrote:
  The current code tries to locate a compatible nm tool.  It starts with
  a prefixed nm tool (great!) and includes a plain nm too (that's fine).
  The problem is that the code searches for the prefixed nm before the
  plain nm (normally fine), but doesn't break once it has found a valid
  match.  It does this so that it if it finds an OK, but not great,
  tool, it'll keep on searching.
  
  I agree this sounds like the wrong this to do, but isn't it better to
  just break all the way out when a great nm is found?
  
  for some reason i thought the [n] arg to break wasn't portable.  this
  should work though.
  -mike
 
 And on re-reading, my IFS changes are not very constructive. I removed
 those. I will push the attached in a couple of days, if there are no
 objections.

i actually thought your IFS changes made sense.  the current code 
saves/restores IFS around the inside loop, so if your code breaks out of both 
the inside and outside loop, then IFS won't get restored.
-mike


signature.asc
Description: This is a digitally signed message part.


[PATCH] libtool: LT_PATH_NM: default to ${ac_tool_prefix}nm

2013-04-26 Thread Mike Frysinger
The current code tries to locate a compatible nm tool.  It starts with
a prefixed nm tool (great!) and includes a plain nm too (that's fine).
The problem is that the code searches for the prefixed nm before the
plain nm (normally fine), but doesn't break once it has found a valid
match.  It does this so that it if it finds an OK, but not great,
tool, it'll keep on searching.

Let's re-order the search so that the plain nm comes first and the
prefixed nm comes last.  This doesn't violate any of the existing
logic and keeps us with defaulting to the prefixed tool.

The code currently tries to avoid using a plain nm tool when it knows
it most likely will be wrong (i.e. when cross-compiling).  However,
this assumption is not valid and can indeed cause problems.  Consider
projects that utilize qemu to provide native builds all the time:
$ ./config.guess
x86_64-unknown-linux-gnu
$ ./configure --build=bfin-uclinux --host=bfin-uclinux
The code produced by the toolchain will execute fine here (because
we've configured the system to use qemu to transparently run the
programs), but libtool will end up defaulting to `nm` which does not
work with ELFs it does not know about.

* m4/libtool.m4 (LT_PATH_NM): Prepend nm to lt_nm_to_check rather than
append.

Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 m4/libtool.m4 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 3f50b0c..624b3a0 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -3381,7 +3381,7 @@ AC_CACHE_CHECK([for BSD- or MS-compatible name lister 
(nm)], lt_cv_path_NM,
 else
   lt_nm_to_check=${ac_tool_prefix}nm
   if test -n $ac_tool_prefix  test $build = $host; then
-lt_nm_to_check=$lt_nm_to_check nm
+lt_nm_to_check=nm $lt_nm_to_check
   fi
   for lt_tmp_nm in $lt_nm_to_check; do
 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
-- 
1.8.2.1




[PATCH] Fix typo in libtool install mode usage text

2009-01-26 Thread Mike Frysinger
* libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix
to -inst-prefix-dir.

Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 ChangeLog  |6 ++
 libltdl/config/ltmain.m4sh |2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 424d296..a5f3a07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-25  Mike Frysinger  vap...@gentoo.org
+
+   Fix typo in libtool install mode usage text.
+   * libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix
+   to -inst-prefix-dir.
+
 2009-01-24  Charles Wilson  libt...@cwilson.fastmail.fm
 
Add -Wall to cwrapper tests.
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 82ee723..08045bf 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -1107,7 +1107,7 @@ either the \`install' or \`cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
-  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for 
installation
 
 The rest of the components are interpreted as arguments to that command (only
 BSD-compatible install options are recognized).
-- 
1.6.1





Re: [patch] quote language related variables in case they have garbage

2008-03-16 Thread Mike Frysinger
On Sunday 16 March 2008, Ralf Wildenhues wrote:
 * Mike Frysinger wrote on Sun, Mar 16, 2008 at 08:57:25AM CET:
  On Sunday 16 March 2008, Ralf Wildenhues wrote:
   * Mike Frysinger wrote on Sun, Mar 16, 2008 at 08:36:20AM CET:
if you set a language variable with quotes or semicolons or other
weird things, you may get ugly warnings/errors when indirectly
evaluating them.
  
   Please provide an example, including all output, that exposes this.
   I can't see what case it would fix.
 
  i did say a language variable set oddly ...
 
  tar xf libtool-1.5.26.tar.bz2
  cd libtool-1.5.26
  export LANGUAGE='a;b;c'
  ./configure  make
  things quickly fall apart

 Ah, ok, thanks.  But your fix isn't right.  If LANGUAGE contains double
 quotes, then your fix will still do the wrong thing.

 I've applied this instead, which should fix things for good in HEAD,
 and put you in THANKS. 

thanks

 Do you care about a brackport to branch-1-5? 

i didnt think anymore 1.5.x releases were being made ... but no, doesnt really 
matter to me.  i dont think there's any valid values those variables could 
have which would cause a problem ...
-mike


signature.asc
Description: This is a digitally signed message part.


Fwd: libtool filters gcc coverage flags breaking linking step

2007-01-14 Thread Mike Frysinger
the attached tarball illustrates a small package that breaks because libtool
does not allow -fprofile-arcs or -fprofile-generate ... looking through
latest cvs, i see that --coverage was added, but not these other flags

the builtin gcc spec allows for any of these flags to be used:
%{fprofile-arcs|fprofile-generate|coverage:-lgcov}\

also, it would seem that -p is filtered but -pg is let through ...

the attached patch against CVS head should do the trick i think
-mike


gcov-libtool.tar.bz2
Description: application/tbz
2006-12-30  Mike Frysinger  [EMAIL PROTECTED]

	* libltdl/config/ltmain.m4sh (func_mode_link): Pass through
	`-p', `-fprofile-arcs', and `-fprofile-generate' for GCC.

Index: libltdl/config/ltmain.m4sh
===
RCS file: /cvsroot/libtool/libtool/libltdl/config/ltmain.m4sh,v
retrieving revision 1.56
diff -u -p -r1.56 ltmain.m4sh
--- libltdl/config/ltmain.m4sh	22 Oct 2006 14:10:33 -	1.56
+++ libltdl/config/ltmain.m4sh	30 Dec 2006 15:37:08 -
@@ -2902,10 +2902,11 @@ func_mode_link ()
   # -m*, -t[45]*, -txscale* pass through architecture-specific
   # compiler args for GCC
   # -F/path gives path to uninstalled frameworks, gcc on darwin
-  # -pg, --coverage pass through profiling flag for GCC
+  # -p, -pg, --coverage, -fprofile-arcs, -fprofile-generate pass
+  # through profiling flag for GCC
   # @file GCC response files
   -64|-mips[[0-9]]|-r[[0-9]][[0-9]]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-  -t[[45]]*|-txscale*|-pg|--coverage|-F*|@*)
+  -t[[45]]*|-txscale*|-p|-pg|--coverage|-fprofile-arcs|-fprofile-generate|-F*|@*)
 func_quote_for_eval $arg
 	arg=$func_quote_for_eval_result
 func_append compile_command  $arg


pgpfTr5kFRXXx.pgp
Description: PGP signature