[PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
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(-) diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 3b76bd08..cd38be04 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -733,8 +733,8 @@ func_resolve_sysroot () # store the result into func_replace_sysroot_result. func_replace_sysroot () { - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) + case "$lt_sysroot$PATH_SEPARATOR$1" in + ?*"$PATH_SEPARATOR$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result='='$func_stripname_result ;; @@ -2006,7 +2006,7 @@ func_mode_execute () if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + eval "$shlibpath_var=\"\$dir\$PATH_SEPARATOR\$$shlibpath_var\"" fi done @@ -3578,7 +3578,7 @@ func_exec_program () if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH -PATH=$dllsearchpath:\$PATH +PATH=\"$dllsearchpath$PATH_SEPARATOR\$PATH\" " fi @@ -3590,7 +3590,7 @@ func_exec_program () # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed -$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` +$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/$PATH_SEPARATOR$PATH_SEPARATOR*\$//'\` export $shlibpath_var " @@ -3801,7 +3801,7 @@ EOF fi if test -n "$dllsearchpath"; then - func_to_host_path "$dllsearchpath:" + func_to_host_path "$dllsearchpath$PATH_SEPARATOR" cat <
Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
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: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi/2. 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. --- 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 Sure. I've done already. - -- KO Myung-Hun Korean OS/2 User Community : https://www.os2.kr/ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (OS/2) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFlo/ZgE9YstvghgroRAhOPAJ48Ztp2AygDR3trkqpncq2HxFPNBQCfcF4I TRp9xcZ4jlBuvNIfJFZP83s= =E2z2 -END PGP SIGNATURE-
Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
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
Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 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? - -- KO Myung-Hun Korean OS/2 User Community : https://www.os2.kr/ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (OS/2) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFlpSHTE9YstvghgroRAhS0AJoDOLC7CqgIxDOIjauhO3TW0TGvbACghk6m pHAtNYl5XnpC4Pptph8j3sE= =kxUR -END PGP SIGNATURE- From 23812414244882e7a7dbe790de648318643e66e6 Mon Sep 17 00:00:00 2001 From: KO Myung-Hun Date: Thu, 3 Nov 2022 23:32:37 +0900 Subject: [PATCH v2] libtool: replace : with $PATH_SEPARATOR 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(-) diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index d5157a8d..4ad97c40 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -733,8 +733,8 @@ func_resolve_sysroot () # store the result into func_replace_sysroot_result. func_replace_sysroot () { - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) + case "$lt_sysroot$PATH_SEPARATOR$1" in + ?*"$PATH_SEPARATOR$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result='='$func_stripname_result ;; @@ -2007,7 +2007,7 @@ func_mode_execute () if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + eval "$shlibpath_var=\"\$dir\$PATH_SEPARATOR\$$shlibpath_var\"" fi done @@ -3579,7 +3579,7 @@ func_exec_program () if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH -PATH=$dllsearchpath:\$PATH +PATH=\"$dllsearchpath$PATH_SEPARATOR\$PATH\" " fi @@ -3591,7 +3591,7 @@ func_exec_program () # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed -$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` +$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/$PATH_SEPARATOR$PATH_SEPARATOR*\$//'\` export $shlibpath_var " @@ -3802,7 +3802,7 @@ EOF fi if test -n "$dllsearchpath"; then - func_to_host_path "$dllsearchpath:" + func_to_host_path "$dllsearchpath$PATH_SEPARATOR" cat <
Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
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
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi/2. Mike Frysinger wrote: > 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 Another try. - -- KO Myung-Hun Korean OS/2 User Community : https://www.os2.kr/ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (OS/2) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFlppZFE9YstvghgroRAjFKAJ0fQTTh4qTJtgRvd/pI2TSeFIf4xgCeNEWF mWoDIYiA2aMRvGaFs3ES9cE= =fXIc -END PGP SIGNATURE- From 11d5ba83c5211ec7e149f3170bbaf7d49e6448da Mon Sep 17 00:00:00 2001 From: KO Myung-Hun Date: Thu, 3 Nov 2022 23:32:37 +0900 Subject: [PATCH v3 1/2] libtool: replace : with $PATH_SEPARATOR Some OSes such as OS/2, uses ';' as a path separator. So using $PATH_SEPARATOR instead of hard-coded ':' is more proper. * Makefile.am (TESTS_ENVIRONMENT): Pass $PATH_SEPARATOR. * build-aux-ltmain.in: Replace : with $PATH_SEPARATOR. * m4/libtool.m4: Likewise. --- Makefile.am | 1 + build-aux/ltmain.in | 76 ++--- m4/libtool.m4 | 16 +- 3 files changed, 47 insertions(+), 46 deletions(-) diff --git a/Makefile.am b/Makefile.am index 904f3d73..d2838ad2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -745,6 +745,7 @@ TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ F77="$(F77)" FFLAGS="$(FFLAGS)" \ FC="$(FC)" FCFLAGS="$(FCFLAGS)" \ GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \ + PATH_SEPARATOR="$(PATH_SEPARATOR)" \ lt_cv_with_aix_soname="$(with_aix_soname)" \ lt_cv_to_host_file_cmd="$(to_host_file_cmd)" \ lt_cv_to_tool_file_cmd="$(to_tool_file_cmd)" diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index d5157a8d..8e596847 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -733,8 +733,8 @@ func_resolve_sysroot () # store the result into func_replace_sysroot_result. func_replace_sysroot () { - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) + case $lt_sysroot$PATH_SEPARATOR$1 in + ?*$PATH_SEPARATOR$lt_sysroot*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result='='$func_stripname_result ;; @@ -2007,7 +2007,7 @@ func_mode_execute () if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + eval "$shlibpath_var=\"\$dir\$PATH_SEPARATOR\$$shlibpath_var\"" fi done @@ -3579,7 +3579,7 @@ func_exec_program () if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH -PATH=$dllsearchpath:\$PATH +PATH=\"$dllsearchpath$PATH_SEPARATOR\$PATH\" " fi @@ -3591,7 +3591,7 @@ func_exec_program () # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed -$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` +$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/$PATH_SEPARATOR$PATH_SEPARATOR*\$//'\` export $shlibpath_var " @@ -3802,7 +3802,7 @@ EOF fi if test -n "$dllsearchpath"; then - func_to_host_path "$dllsearchpath:" + func_to_host_path "$dllsearchpath$PATH_SEPARATOR" cat
Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
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
Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 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. - -- KO Myung-Hun Korean OS/2 User Community : https://www.os2.kr/ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (OS/2) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFlp9m6E9YstvghgroRAqRsAKCpMU2R0Ci96WrlxC4v3MeDSnJBlACgtwJo sb+xmV5nLYLHccbW8uJl4W8= =FtDX -END PGP SIGNATURE-
Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
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
Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi/2. Mike Frysinger wrote: > 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. This is true for `libtool: Limit a length of DLL name to 8.3 correctly' patch ? - -- KO Myung-Hun Korean OS/2 User Community : https://www.os2.kr/ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (OS/2) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFlrlAqE9YstvghgroRAu9lAJ9PNW+i6302JaHF1EJdwflkAaqXCwCfQkBX TD0X3lZjcbypyNfW27XR800= =j071 -END PGP SIGNATURE-