OS/2 limits a length of a DLL base name up to 8 characters. Because of this, if there are many DLLs whose prefix is same and very long, the result DLLs are overwritten. So to avoid this, the option to specify a OS/2 DLL name is needed.
* NEWS: Add news for -os2dllname. * build-aux/ltmain.in (func_mode_help): Add a description for -os2dllname. (fund_mode_link): Add -os2dllname. * doc/libtool.texi: Add -os2dllname item. --- NEWS | 2 ++ build-aux/ltmain.in | 11 +++++++++++ doc/libtool.texi | 4 ++++ 3 files changed, 17 insertions(+), 0 deletions(-) diff --git a/NEWS b/NEWS index 1ca6d65..b2479db 100644 --- a/NEWS +++ b/NEWS @@ -34,6 +34,8 @@ NEWS - list of user-visible changes between releases of GNU Libtool make check-local TESTSUITEFLAGS='-k "!expensive"' + - Added -os2dllname option to specify a OS/2 DLL name (OS/2 only) + ** Bug fixes: - Fix a long-standing latent bug in autom4te include path for autotests diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 86b42dd..39b1b53 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -1819,6 +1819,7 @@ The following components of LINK-COMMAND are treated specially: -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects + -os2dllname NAME specify a OS/2 DLL name(effect on OS/2 only) -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information @@ -4863,6 +4864,11 @@ func_mode_link () prev= continue ;; + os2dllname) + soname_spec="\`eval \$ECHO $arg | cut -b -8 | tr . _\`\${shared_ext}" + prev= + continue + ;; precious_regex) precious_files_regex=$arg prev= @@ -5172,6 +5178,11 @@ func_mode_link () continue ;; + -os2dllname) + prev=os2dllname + continue + ;; + -o) prev=output ;; -precious-files-regex) diff --git a/doc/libtool.texi b/doc/libtool.texi index 89c5d1a..65d63a3 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -1531,6 +1531,10 @@ Create @var{output-file} from the specified objects and libraries. @item -objectlist @var{file} Use a list of object files found in @var{file} to specify objects. +@item -os2dllname @var{name} +If @var{name} is specified, replace a name for a DLL with @var{suffix} (effect +on OS/2 only) + @item -precious-files-regex @var{regex} Prevents removal of files from the temporary output directory whose names match this regular expression. You might specify @samp{\.bbg?$} -- 1.7.3.2