Dear developers,
I have reported the following bug on <[email protected]> (see
http://lists.gnu.org/archive/html/bug-libtool/2011-07/msg00002.html and
http://lists.gnu.org/archive/html/bug-libtool/2011-08/msg00001.html).
On the documentation of libtool, the word "linux" is sometimes used to refer to
the entire free software system that uses the kernel Linux. According to the GNU
project's "Information for Maintainers of GNU Software", maintainers of GNU
programs have to name the entire system
"GNU/Linux" (http://www.gnu.org/prep/maintain/maintain.html#Preface and
http://www.gnu.org/prep/maintain/maintain.html#GNU-and-Linux).
So here is a patch to fix this bug in various parts of GNU libtool:
- documentation,
- files HACKING, libltdl/README and TODO,
- core files libltdl/config/ltmain.m4sh and libltdl/m4/libtool.m4.
I have not changed the files that won't be modified in the future as those
files are used for an historical purpose. This includes files Changelog* and
files under the "mail" directory. If it is a problem, please tell me.
I may have replaced "Linux" by "GNU/Linux" even if "Linux" was used to refer to
the "kernel Linux". If that is the case somewhere in the patch, please tell me
and explain me. I will modify my patch accordingly.
Thanks,
Christophe
diff -Naur libtool.orig/doc/libtool.texi libtool/doc/libtool.texi
--- libtool.orig/doc/libtool.texi 2011-08-31 21:50:53.000000000 +0200
+++ libtool/doc/libtool.texi 2011-08-31 22:10:53.000000000 +0200
@@ -3784,7 +3784,7 @@
@itemize @bullet
@item
-@code{dlopen} (Solaris, Linux and various BSD flavors)
+@code{dlopen} (Solaris, GNU/Linux and various BSD flavors)
@item
@code{shl_load} (HP-UX)
@item
@@ -3823,7 +3823,7 @@
@section How to use libltdl in your programs
@noindent
-The libltdl API is similar to the dlopen interface of Solaris and Linux,
+The libltdl API is similar to the dlopen interface of Solaris and GNU/Linux,
which is very simple but powerful.
@noindent
@@ -3945,7 +3945,7 @@
@item system library search path:
The system dependent library search path
-(e.g.@: on Linux it is @env{LD_LIBRARY_PATH}).
+(e.g.@: on GNU/Linux it is @env{LD_LIBRARY_PATH}).
@end enumerate
Each search path must be a list of absolute directories separated by
@@ -5372,7 +5372,7 @@
The @file{tests/mdemo} subdirectory contains a demonstration of a
package that uses libtool and the system independent dlopen wrapper
@file{libltdl} to load modules. The library @file{libltdl} provides a
-dlopen wrapper for various platforms (Linux, Solaris, HP/UX etc.)
+dlopen wrapper for various platforms (GNU/Linux, Solaris, HP/UX etc.)
including support for dlpreopened modules (@pxref{Dlpreopening}).
The tests matching @file{mdemo-*make.test}, @file{mdemo-*exec.test},
@@ -7120,7 +7120,7 @@
@defvar version_type
The library version numbering type. One of @samp{libtool},
-@samp{freebsd-aout}, @samp{freebsd-elf}, @samp{irix}, @samp{linux},
+@samp{freebsd-aout}, @samp{freebsd-elf}, @samp{irix}, @samp{gnu-linux},
@samp{osf}, @samp{sunos}, @samp{windows}, or @samp{none}.
@end defvar
diff -Naur libtool.orig/doc/notes.texi libtool/doc/notes.texi
--- libtool.orig/doc/notes.texi 2011-08-31 21:50:53.000000000 +0200
+++ libtool/doc/notes.texi 2011-08-31 21:54:10.000000000 +0200
@@ -68,7 +68,7 @@
and all recent releases of XEmacs.
@item
-When building on some linux systems for multilib targets
+When building on some GNU/Linux systems for multilib targets
@command{libtool} sometimes guesses the wrong paths that the linker
and dynamic linker search by default. If this occurs, you may override
libtool's guesses at @command{configure} time by setting the
diff -Naur libtool.orig/HACKING libtool/HACKING
--- libtool.orig/HACKING 2011-08-31 21:50:53.000000000 +0200
+++ libtool/HACKING 2011-09-03 20:07:19.000000000 +0200
@@ -154,14 +154,14 @@
* If the changes are particular to certain architectures, they should be
listed after the functions in square brackets:
- * file, another/file (func_foo) [linux, solaris]: Description of
+ * file, another/file (func_foo) [gnu-linux, solaris]: Description of
changes.
* Subsequent changes in other files that are related to the same overall
enhancement or bugfix should be listed concurrently, without blank
lines. Always start a fresh line for a new file:
- * file, another/file (func_foo) [linux, solaris]: Description of
+ * file, another/file (func_foo) [gnu-linux, solaris]: Description of
changes.
* doc/foo.texi (Invoking Foo): Document.
* NEWS: Updated.
diff -Naur libtool.orig/libltdl/config/ltmain.m4sh libtool/libltdl/config/ltmain.m4sh
--- libtool.orig/libltdl/config/ltmain.m4sh 2011-08-31 21:50:53.000000000 +0200
+++ libtool/libltdl/config/ltmain.m4sh 2011-09-03 20:09:08.000000000 +0200
@@ -6540,7 +6540,7 @@
# which has an extra 1 added just for fun
#
case $version_type in
- darwin|linux|osf|windows|none)
+ darwin|gnu-linux|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
age="$number_minor"
@@ -6605,7 +6605,7 @@
none) ;;
darwin)
- # Like Linux, but with the current version available in
+ # Like GNU/Linux, but with the current version available in
# verstring for coding it into the library header
func_arith $current - $age
major=.$func_arith_result
@@ -6656,7 +6656,7 @@
versuffix="$major.$revision"
;;
- linux)
+ gnu-linux)
func_arith $current - $age
major=.$func_arith_result
versuffix="$major.$age.$revision"
diff -Naur libtool.orig/libltdl/m4/libtool.m4 libtool/libltdl/m4/libtool.m4
--- libtool.orig/libltdl/m4/libtool.m4 2011-08-31 21:50:53.000000000 +0200
+++ libtool/libltdl/m4/libtool.m4 2011-09-03 20:11:36.000000000 +0200
@@ -2247,7 +2247,7 @@
case $host_os in
aix3*)
- version_type=linux
+ version_type=gnu-linux
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
@@ -2256,7 +2256,7 @@
;;
aix[[4-9]]*)
- version_type=linux
+ version_type=gnu-linux
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
@@ -2321,7 +2321,7 @@
;;
bsdi[[45]]*)
- version_type=linux
+ version_type=gnu-linux
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
@@ -2460,7 +2460,7 @@
;;
dgux*)
- version_type=linux
+ version_type=gnu-linux
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -2513,7 +2513,7 @@
;;
gnu*)
- version_type=linux
+ version_type=gnu-linux
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
@@ -2524,7 +2524,7 @@
;;
haiku*)
- version_type=linux
+ version_type=gnu-linux
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
@@ -2585,7 +2585,7 @@
;;
interix[[3-9]]*)
- version_type=linux
+ version_type=gnu-linux
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -2601,7 +2601,7 @@
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=gnu-linux
else
version_type=irix
fi ;;
@@ -2633,14 +2633,14 @@
hardcode_into_libs=yes
;;
-# No shared lib support for Linux oldld, aout, or coff.
+# No shared lib support for GNU/Linux oldld, aout, or coff.
linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
-# This must be Linux ELF.
+# This must be GNU/Linux ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
+ version_type=gnu-linux
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2703,7 +2703,7 @@
;;
newsos6)
- version_type=linux
+ version_type=gnu-linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -2772,7 +2772,7 @@
;;
solaris*)
- version_type=linux
+ version_type=gnu-linux
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2797,7 +2797,7 @@
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=gnu-linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -2821,7 +2821,7 @@
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=gnu-linux
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -2852,7 +2852,7 @@
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
+ version_type=gnu-linux
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2862,7 +2862,7 @@
;;
uts4*)
- version_type=linux
+ version_type=gnu-linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
@@ -3284,7 +3284,7 @@
lt_cv_deplibs_check_method=pass_all
;;
-# This must be Linux ELF.
+# This must be GNU/Linux ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
@@ -4066,7 +4066,7 @@
cxx*)
# Compaq C++
# Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
+ # GNU/Linux and Compaq Tru64 Unix objects are PIC.
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
@@ -4121,7 +4121,7 @@
# Digital/Compaq C++
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
+ # GNU/Linux and Compaq Tru64 Unix objects are PIC.
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
diff -Naur libtool.orig/libltdl/README libtool/libltdl/README
--- libtool.orig/libltdl/README 2011-08-31 21:50:53.000000000 +0200
+++ libtool/libltdl/README 2011-09-03 20:07:44.000000000 +0200
@@ -1,7 +1,7 @@
This is GNU libltdl, a system independent dlopen wrapper for GNU libtool.
It supports the following dlopen interfaces:
-* dlopen (Solaris, Linux and various BSD flavors)
+* dlopen (Solaris, GNU/Linux and various BSD flavors)
* shl_load (HP-UX)
* LoadLibrary (Win16 and Win32)
* load_add_on (BeOS)
diff -Naur libtool.orig/TODO libtool/TODO
--- libtool.orig/TODO 2011-08-31 21:50:53.000000000 +0200
+++ libtool/TODO 2011-09-03 20:14:27.000000000 +0200
@@ -58,7 +58,7 @@
* Audit file listing in libtool.m4.
-* Fix deplibs_check_method=pass_all (which is wrong!) on linux.
+* Fix deplibs_check_method=pass_all (which is wrong!) on GNU/Linux.
* Fix -dlopen "self" on AIX. Reported by Gary Kumfert <[email protected]>.
@@ -290,15 +290,15 @@
and central_unixish_to_mingw would still do all the work (with its guts
customized based on $build).
- For more reasonable cross environments (e.g. linux->some_embedded) I think
- you could probably work out a general M+N scheme, since most embedded $hosts
- aren't as strange as the win32 variants -- even VxWorks and INTEGRITY have
- basic, unix-like file systems (although INTEGRITY does have multiple roots).
- Aggressive use of the m4 function_replace machinery WOULD be appropriate for
- /these/ conversion functions. OTOH...(a) you can't run the $host apps on
- $build anyway, in these embedded situations. At best you'd use $TARGETSHELL
- and "run" them via a remote connection, and (b) they don't use the C
- wrapper!
+ For more reasonable cross environments (e.g. GNU/Linux->some_embedded) I
+ think you could probably work out a general M+N scheme, since most embedded
+ $hosts aren't as strange as the win32 variants -- even VxWorks and INTEGRITY
+ have basic, unix-like file systems (although INTEGRITY does have multiple
+ roots). Aggressive use of the m4 function_replace machinery WOULD be
+ appropriate for /these/ conversion functions. OTOH...(a) you can't run the
+ $host apps on $build anyway, in these embedded situations. At best you'd use
+ $TARGETSHELL and "run" them via a remote connection, and (b) they don't use
+ the C wrapper!
So...I don't think it makes much difference *right now* in the amount of
code required, or the number of functions implemented. At some point in the