Commit Graph

1094 Commits

Author SHA1 Message Date
Gary V. Vaughan
a734603dc1 libltdl: don't trip subdir-objects warning from Automake >= 1.14.
Latest Automake releases now warn when subdir-objects is not
specified in preparation for Automake 2.0.  The option has been
in Automake for more than a decade, so there's minimal risk of
someone using the next release of Libtool alongside an ancient
release of Automake when bootstrapping libltdl client projects.
* libltdl/configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-08-22 15:51:33 +07:00
Gary V. Vaughan
9a7071e668 maint: update copyright notices to include 2013.
* gnulib/: Update to latest upstream.
* AUTHORS, ChangeLog.old, HACKING, Makefile.am, NEWS, README,
THANKS, TODO, bootstrap, bootstrap.conf,
build-aux/edit-readme-alpha, build-aux/ltmain.in, cfg.mk,
configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in,
gl/build-aux/extract-trace, gl/build-aux/funclib.sh,
gl/build-aux/inline-source, gl/build-aux/options-parser,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/configure.ac, libltdl/libltdl/lt__alloc.h,
libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h,
libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, 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/lt__alloc.c,
libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c,
libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h,
libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4,
m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4,
m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4,
tests/am-subdir.at, tests/archive-in-archive.at,
tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at,
tests/configure-iface.at, tests/convenience.at, tests/ctor.at,
tests/cwrapper.at, tests/darwin.at, tests/demo.at,
tests/depdemo.at, tests/deplib-in-subdir.at,
tests/deplibs-ident.at, tests/deplibs-mingw.at,
tests/destdir.at, tests/dlloader-api.at,
tests/dumpbin-symbols.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/exceptions.at,
tests/execute-mode.at, tests/exeext.at, tests/export.at,
tests/f77demo.at, tests/fail.at, tests/fcdemo.at,
tests/flags.at, tests/help.at, tests/indirect_deps.at,
tests/infer-tag.at, tests/inherited_flags.at, tests/install.at,
tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at,
tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at,
tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at,
tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at,
tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at,
tests/need_lib_prefix.at, tests/no-executables.at,
tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at,
tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at,
tests/resident.at, tests/runpath-in-lalib.at,
tests/search-path.at, tests/shlibpath.at, tests/slist.at,
tests/standalone.at, tests/static.at, tests/stresstest.at,
tests/subproject.at, tests/sysroot.at, tests/tagdemo.at,
tests/template.at, tests/testsuite.at, tests/versioning.at,
tests/with-pic.at: Bump copyright year.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2013-01-02 00:34:06 +07:00
Peter Rosin
34fe402efa libtool: add @INIT@ to the preloader, for data imports on Windows
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Adjust
lt_cv_sys_global_symbol_to_cdecl so that it declares imported
data symbols as __declspec(dllimport). Adjust
lt_cv_sys_global_symbol_to_c_name_address and
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix so that they
fill in "(void*) 0" for imported data symbols. Add new
lt_cv_sys_global_symbol_to_import which finds imported data
symbols if non-empty and export this variable to the libtool script
in the global_symbol_to_import variable. Adjust
lt_cv_sys_global_symbol_pipe so that data imports can be located.
* build-aux/ltmain.in (func_generate_dlsyms): When data imports
are present, as indicated by global_symbol_to_import, generate
a relocation function lt_syminit that fills in the addresses
of data imports at runtime and point to the new function with a
new virtual @INIT@ entry in the symbol list.
* libltdl/loaders/preopen.c (add_symlist): Look for the virtual
@INIT@ symbol (i.e. lt_syminit) and call it.
(vm_sym): Step past the @INIT@ symbol, if present.
* tests/demo.at (dlmain.c): Call the @INIT@ symbol, if present.
* NEWS: Update.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2012-11-02 23:50:43 +01:00
Gary V. Vaughan
d98a30fbce syntax-check: fix violations and implement sc_old_style_quoting.
Modern GNU ASCII quoting in output and comments is done
'like this'.
* cfg.mk (sc_old_style_quoting): Try to catch most instances
of `old style quoting' so that it is not accidentally re-
introduced to the code.
* HACKING, Makefile.am, NEWS, PORTING, README, TODO, bootstrap,
bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/git-hooks/commit-msg, build-aux/ltmain.in,
doc/libtool.texi, gl/build-aux/bootstrap.in,
gl/build-aux/extract-trace, gl/build-aux/funclib.sh,
gl/build-aux/inline-source, gl/build-aux/options-parser,
libltdl/libltdl/slist.h, libltdl/loaders/loadlibrary.c,
libltdl/ltdl.c, libltdl/slist.c, libtoolize.in, m4/argz.m4,
m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4,
tests/cmdline_wrap.at, tests/configure-iface.at, tests/demo.at,
tests/depdemo.at, tests/deplib-in-subdir.at,
tests/deplibs-mingw.at, tests/destdir.at, tests/execute-mode.at,
tests/f77demo.at, tests/fail.at, tests/inherited_flags.at,
tests/libtool.at, tests/libtoolize.at, tests/lt_dladvise.at,
tests/lt_dlexit.at, tests/mdemo.at, tests/need_lib_prefix.at,
tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/static.at,
tests/stresstest.at, tests/testsuite.at, tests/versioning.at:
Convert to upright quotes.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-22 00:01:13 +07:00
Peter Rosin
cfcb7afd26 libtool: fix spelling nit
* build-aux/ltmain.in (func_generate_dlsyms): Fix spelling nit.
* libltdl/libltdl/lt_system.h: Likewise.
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2012-10-18 14:27:10 +02:00
Gary V. Vaughan
9847559cef syntax-check: fix violations and implement sc_prohibit_space_semicolon.
No need for a spurious space before a command ending semi-colon.
* cfg.mk (sc_prohibit_space_semicolon): New test to catch
accidental reintroduction of spurious spaces removed by this
changeset.
* bootstrap, build-aux/general.m4sh, build-aux/ltmain.m4sh,
libltdl/lt__strl.c, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at:
Remove spurious spaces.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-04 20:11:04 +07:00
Gary V. Vaughan
387ac2e703 maint: run update-copyright for missing 2011 and 2012 years.
See maintain.texi (Copyright Notices) for rules for maintaining
the years in copyright notices.
* All Files (Copyright): Updated with missing 2011 and 2012.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-09-16 17:52:10 +07:00
Pavel (Pasha) Shamis
e444159cc0 Improve debug error reporting in ltdl.
* libltdl/ltdl.c: Print the error message if loading fails.
2012-02-19 14:18:19 -06:00
Gary V. Vaughan
8fad6be03e syntax-check: fix violations and implement sc_useless_braces_in_variable_derefs.
Until now, libtool sources have used braced variable names
seemingly at random! Almost always the braces are just noise, so
remove all the unnecessary ones.
* cfg.mk (sc_useless_braces_in_variable_derefs): New syntax
check rule to ensure we only reintroduce braced variable
dereferences if they are followed by a valid variable name
character.
build-aux/general.m4sh, build-aux/git-hooks/commit-msg,
build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac,
libltdl/configure.ac, m4/libtool.m4, m4/ltdl.m4,
m4/ltoptions.m4, tests/defs.m4sh, tests/demo-nopic.test,
tests/depdemo/configure.ac, tests/flags.at, tests/link.test,
tests/objectlist.test, tests/quote.test, tests/static.at: Remove
spurious braces.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-25 14:53:42 +07:00
Gary V. Vaughan
460eb0638a syntax-check: fix violations and re-enable sc_useless_cpp_parens.
* cfg.mk (local-checks-to-fix): Remove sc_useless_cpp_parens
from list of disabled checks.
* doc/libtool.texi, libltdl/argz.c, libltdl/argz_.h,
build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h,
libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h,
libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/shl_load.c, libltdl/lt__dirent.c, libltdl/lt__strl.c,
libltdl/ltdl.c, libltdl/ltdl.h, libltdl/m4/libtool.m4, tests/demo/foo.h,
tests/depdemo/sysdep.h, tests/exceptions.at, tests/export.at,
tests/pdemo/foo.h, tests/stresstest.at: Remove useless parens in cpp
`#if defined(foo)' statements.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:22:16 +07:00
Gary V. Vaughan
e628dd85c1 syntax-check: fix violations and re-enable sc_space_tab.
* cfg.mk (local-checks-to-fix): Remove sc_space_tab from list of
disabled checks.
(exclude_file_name_regexp--sc_space_tab): Don't flag space-tab
sequences in diff files as an error.
* Makefile.am, build-aux/general.m4sh, build-aux/git-hooks/commit-msg,
build-aux/ltmain.m4sh, libltdl/loaders/dyld.c,
libltdl/loaders/shl_load.c, libltdl/ltdl.h, libltdl/ltdl.mk,
libltdl/slist.c, libtoolize.m4sh, m4/ltoptions.m4, tests/demo/dlmain.c,
tests/depdemo/main.c, tests/libtoolize.at, tests/lt_dladvise.at,
tests/pdemo/longer_file_name_dlmain.c, tests/sh.test, tests/static.at,
tests/stresstest.at, tests/template.at: Fix space-tab sequences by
reversing them in regexps, and deleting leading spaces in indentation.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:22:14 +07:00
Gary V. Vaughan
2c0e68f058 syntax-check: fix violations and re-enable sc_prohibit_strcmp.
* cfg.mk (local-checks-to-fix): Remove sc_prohibit_strcmp
from list of disabled checks.
(exclude_file_name_regexp--sc_prohibit_strcmp): Ignore
violations in libtool.texi and any demo C files.
* libltdl/libltdl/lt__private.h (strneq, streq): Renamed from
this...
(STRNEQ, STREQ): ..to this.  Adjust all callers.
* tests/slist.at: Add STREQ definition. Change all !strcmp calls
to STREQ.
* build-aux/ltmain.m4sh (func_emit_cwrapperexe_src): Add and use
STREQ definition.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:21:10 +07:00
Gary V. Vaughan
176ed61129 syntax-check: fix violations and re-enable sc_prohibit_stddef_without_use.
* cfg.mk (local-checks-to-fix): Remove
sc_prohibit_stddef_without_use from list of disabled checks.
* libltdl/argz.c, libltdl/lt__dirent.c, libltdl/slist.c: Remove
spurious stddef.h #include lines.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:21:07 +07:00
Gary V. Vaughan
baf75223ff syntax-check: fix violations and re-enable sc_prohibit_empty_lines_at_EOF.
* cfg.mk (local-checks-to-fix): Remove
sc_prohibit_empty_lines_at_EOF from list of disabled checks.
* THANKS, libltdl/argz.c, libltdl/config/getopt.m4sh,
tests/f77demo/README, tests/f77demo/cprogram.c,
tests/f77demo/fprogram.f, tests/fcdemo/README,
tests/fcdemo/cprogram.c, tests/libtoolize.at,
tests/mdemo/README, tests/mdemo2/README, tests/pdemo-inst.test:
Remove spurious empty lines from the end of these files.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:21:07 +07:00
Gary V. Vaughan
0574d54b16 syntax-check: fix violations and re-enable sc_makefile_TAB_only_indentation.
* cfg.mk (local-checks-to-fix): Remove
sc_makefile_TAB_only_indentation from list of disabled checks.
* Makefile.am (libltdl/Makefile.am): Replace leading spaces with
TABs.
* libltdl/Makefile.am (libltdl_libltdl_la_SOURCES): Ditto.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:20:24 +07:00
Gary V. Vaughan
40adfb1b85 syntax-check: fix violations and re-enable sc_file_system.
* cfg.mk (local-checks-to-fix): Remove sc_file_system from list
of disabled checks.
(VC_LIST_ALWAYS_EXCLUDE_REGEX): Match mail directory correctly
to avoid running its contents through syntax-check.
* build-aux/ltmain.m4sh (func_mode_link): Use correct spelling
for "file system".
* libltdl/ltdl.c (try_dlopen): Ditto.
* tests/dlloader-api.at: Ditto.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:19:54 +07:00
Gary V. Vaughan
f3e71d08e8 syntax-check: fix violations and re-enable sc_cast_of_argument_to_free.
* cfg.mk (local-checks-to-fix): Remove
sc_cast_of_argument_to_free from list of disabled checks.
* build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h,
libltdl/lt__dirent.c: Casting argument to free is never
necessary.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:11:12 +07:00
Gary V. Vaughan
abc2b152d3 syntax-check: fix violations and re-enable sc_avoid_if_before_free.
* cfg.mk (local-checks-to-fix): Remove sc_avoid_if_before_free
from list of disabled checks.
According to gnulib/doc/free.texi: "On old platforms such as
SunOS4, @code{free (NULL)} fails.  However, since all such
systems are so old as to no longer be considered ``reasonable
portability targets,'' this module is no longer useful."
* libltdl/libltdl/lt__alloc.h (FREE, MEMREASSIGN): Don't protect
against freeing NULL bug on SunOS4.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 17:57:05 +07:00
Gary V. Vaughan
aa2b2b71fa libtoolize: rename libltdl/config' directory to standard build-aux'.
In addition to moving the autoconf auxiliary script directory
into the place expected by GNU developers ($top_srcdir/build-aux)
we also simplify libtoolize somewhat by having libltdl use
whatever directory was specified by the parent project.  This is
much more flexible, allows libltdl client projects to also use a
single canonical `$top_srcdir/build-aux' auxiliary script
directory, and maintains backward compatibility with existing
projects that wish to continue using $ltdl_dir/config.
* libltdl/config: Moved whole directory from here...
* build-aux: ...to here.
* libtoolize.m4sh (func_install_pkgaux_subproject): Remove.
(func_install_pkgaux_parent): Remove.
(func_install_pkgaux_files): Considerably simplified now that we
have only a single auxiliary directory to worry about.
(subproject_aux_dir): Remove.
* bootstrap.conf (libtool_readme_release_package_substitutions):
No need to substitute our old unusual aux_dir location into
README-release any more.
* cfg.mk (_build-aux): Now that we use the standard location for
this directory, no need to set this variable either.
* configure.ac (AC_INIT): git-version-gen has moved.
(AC_CONFIG_AUX_DIR): Adjust.
* Makefile.am (stamp-mk, auxexefiles, auxfiles)
(install-data-local): Use build-aux instead of config.
(libltdl/stamp-mk): Ditto.
* libltdl/configure.ac, tests/cdemo/configure.ac,
tests/demo/configure.ac, tests/depdemo/configure.ac,
tests/f77demo/configure.ac, tests/fcdemo/configure.ac,
tests/mdemo/configure.ac, tests/mdemo2/configure.ac,
tests/pdemo/configure.ac, tests/tagdemo/configure.ac
(AC_CONFIG_AUX_DIR): Ditto.
* tests/defs.m4sh (aux_dir): Ditto.
* tests/configure-iface.at, tests/getopt-m4sh.at,
tests/libtoolize.at, tests/subproject.at, tests/testsuite.at:
Ditto.
* Makefile.am (ltdl_ac_aux_dir): Extract at build-time...
* libtoolize.m4sh (require_ltdl_ac_aux_dir): ...so that
libtoolize can access it at runtime without requiring GNU M4 via
the extract-trace script.
(require_Makefile_am_filter): Use it to determine whether the
aux_dir declared in the current (parent) project configure is
compatible with the declarations in installed ltdl autotools
source files.
(require_configure_ac_filter): New function to perform similar
checks and rewrite configure.ac during installation if necessary.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 17:56:40 +07:00
Gary V. Vaughan
bcdfe9f273 libtoolize: rename libltdl/m4' directory to standard m4'.
In addition to moving the autoconf macro directory into the
place expected by GNU developers ($top_srcdir/m4), we also
simplify libtoolize somewhat by having libltdl use whatever
directory was specified by the parent project.  This is much
more flexible, allows libltdl client projects to also use a
single canonical `$top_srcdir/m4' macro directory, and maintains
backward compatibility with existing projects that wish to
continue using $ltdl_dir/m4.
* libltdl/m4: Moved to it's parent directory.
* Makefile.am (ACLOCAL_AMFLAGS, BUILDCHECK_ENVIRONMENT)
(libltdl/Makefile.am, libltdl/aclocal.m4): Adjust.
* configure.ac (AC_CONFIG_MACRO_DIR): Adjust.
* libltdl/configure.ac (AC_CONFIG_MACRO_DIR): Remove. The
libtoolize script can pick up the project macro directory from
ACLOCAL_AMFLAGS in libltdl/Makefile.am, saving us from needing
to regenerate configure for the sake of a different macro
directory declared in the libltdl using client project.
* libtoolize.m4sh (func_install_pkgmacro_subproject): Remove.
(func_install_pkgmacro_parent): Remove.
(subproject_macro_dir): Remove.
(require_libltdl_Makefile_am, require_ltdl_aclocal_amflags)
(require_ltdl_am_macro_dir): New functions, generated at runtime
by adding libltdl/Makefile.am to the generation loop.
(func_install_pkgmacro_files): Considerably simplified now that
we have only a single macro directory to worry about.
(require_ltdl_relative_macro_dir): New function. Calculate the
relative path from $ltdl_dir to the parent project macro_dir.
(require_Makefile_am_filter): Depending on $ltdl_mode, edit
Makefile.am ACLOCAL_AMFLAGS to use the parent project macro
directory if necessary.
(require_aclocal_m4_filter): Make sure m4_includes point to the
correct macro directory by editing the file as it is copied
into the parent project.
(func_install_pkgltdl_files): Use the filters.
(func_check_macros): Remove various advice that no longer
applies with an always shared macro directory.
(func_require_ltdl_dir): Don't default ltdl_dir to subproject
when `--ltdl' was not given.
(func_require_ltdl_mode): Leave ltdl_mode empty when ltdl_dir is
not set.
(func_require_macro_dir): Default to $ltdl_dir/m4 in subproject
mode with no other directory implied by AC_CONFIG_MACRO_DIR or
ACLOCAL_AMFLAGS, otherwise m4 as before.
* tests/libtoolize.at: Match new "creating file `Makefile.am'"
messages correctly.
(subproject ltdl with non-shared directories): This test no
longer makes sense, so repurposed...
(subproject ltdl with non-canonical macro dir): ...this, to
ensure subproject ltdl continues to automatically share the
parent macro directory.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Use new location
of macro_dir.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 17:51:14 +07:00
Gary V. Vaughan
76fff42c2a libtoolize: rename Makefile.inc' to standard ltdl.mk'.
* libltdl/Makefile.inc: Moved from here...
* libltdl/ltdl.mk: ...to here.
* Makefile.am, bootstrap.conf, tests/libtoolize.at,
tests/nonrecursive.at: Adjust.
* libtoolize.m4sh (func_install_pkgltdl_files): Set the
destination file to `Makefile.inc' if grep finds an include for
that name in a top-level Makefile.am.
(func_check_macros): Print a deprecation warning if use of the
old `Makefile.inc' convention is found.
* tests/old-ltdl-iface.at: New test for renaming and warning
correctly when `Makefile.inc' convention is still in use.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 17:51:14 +07:00
Gary V. Vaughan
eb82543f61 libtoolize: simplify copying of files that are edited during install.
* libltdl/Makefile.inc (EXTRA_DIST): Don't list autotools files
that Automake automatically adds to a (subproject)
distribution...
* Makefile.am (EXTRA_DIST): ...although, our layout is a bit odd
because we reuse libltdl/Makefile.inc in non-recursive mode in
our own tree, so we do need to add those very same files here...
* libtoolize.m4sh (require_Makefile_am_filter)
(require_Makefile_inc_filter): ...all of which means we no
longer need to manually remove those files at libtoolize time.
These two new functions are factored out of...
(func_fixup_Makefile): ...this old function, now removed.
(func_copy): Add support for an optional sed script as the last
argument to filter the content of a file as it is copied.
(func_install_pkgltdl_files): Much simplified by $require_<foo>
the relevant filter scripts and passing them to func_copy.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 17:51:14 +07:00
Gary V. Vaughan
3e7c10eb67 maint: generate full and correct ChangeLog.
* gnulib: Updated to pick up gitlog-to-changelog multi-author
support.
* gl/build-aux/gitlog-to-changelog.diff: Use gnulib-rejected
patch for '(tiny change)' support.
* Makefile.am (ChangeLog): Use gitlog-to-changelog --amend=F
option.
* libltdl/config/git-hooks/commit-msg: New commit message hook
for git.
* libltdl/config/git-log-fix: New file, with ChangeLog fixes.
* HACKING (Using git): Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 17:49:52 +07:00
Gary V. Vaughan
de4c35b810 options-parser: provide a saner pluggable API.
It's much too easy to forget that the functions you hook into
the option parser need to return unconsumed options in the
variable `func_run_hooks_result'; better to follow the
convention used in the rest of bootstrap and return results in a
variable named after the function with `_result' appended.
* libltdl/config/options-parser (func_run_hooks): implement this
new API.
(Option parsing): Update the example in the header comment for
this section to reflect the changes.
* bootstrap (bootstrap_options_prep, bootstrap_parse_options)
(bootstrap_validate_options): Adjust.
* bootstrap.conf (libtool_options_prep, libtool_parse_options)
(libtool_validate_options): Ditto.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-16 12:43:53 +07:00
Gary V. Vaughan
7285b13522 bootstrap: accept --gnulib-srcdir=/path/to/gnulib again.
During the split of bootstrap into options-parser and
extract-trace, the generic long-option splitting code got lost.
* libltdl/config/options-parser (func_parse_options): Add the
code to split any long option separated by an equals from its
optarg back in.
Reported by Roumen Petrov.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-16 12:08:13 +07:00
Gary V. Vaughan
65f9e9a2e5 general.m4sh: relative path to the same directory is `.'.
* general.m4sh (func_relative_path): We sometimes want to use
the result of this function directly, rather than purely as a
prefix, so we need to return `.' when both directories end up at
the same location.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-14 17:15:39 +07:00
Gary V. Vaughan
0f5df1ceef ltmain.sh: append relative path trailing slashes explicitly.
In addition to being more idiomatic, and hence minimising
suprises, seeing the slash written explicity when appending to
the result of a relative path calculation is a lot more
readable.
* libltdl/config/general.m4sh (func_relative_path): Don't append
an implicit trailing slash...
* libltdl/config/ltmain.m4sh (func_mode_link): ...write it
explicitly at the time of use.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-14 17:11:19 +07:00
Gary V. Vaughan
d5393524f6 bootstrap: split into reusable parts.
* bootstrap: Bourne shell has no scoping, so be extremely
careful with namespaces, functions in `^func_' and `^require_';
private variables in `^_G_', and public variables all well
documented by comments.
* libltdl/config/extract-trace: New file, containing the minimum
of code previously in bootstrap plus a little glue to make the
GNU M4 based autotools tracing function (as opposed to the
kludgy sed extraction currently used everywhere else) a
standalone script that can be executed or sourced.
* libltdl/config/options-parser: New file, containing the
pluggable options parser code shared between the other two.
* bootstrap.conf: Adjust.
* Makefile.am (EXTRA_DIST): Be sure to distribute the new
extract-trace and options-parser scripts.
(install-data-local): And install them where libtoolize can find
them.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-08 20:38:27 +07:00
Gary V. Vaughan
db48cd3e2b maint: rename the debug shell command variable to `debug_cmd'.
Not only does it make more sense, it also matches bootstrap and
others.
* libtoolize.m4sh, libltdl/config/ltmain.m4sh,
libltdl/config/getopt.m4sh, tests/defs.m4sh (opt_debug): Rename
to debug_cmd.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-05 16:58:31 +07:00
Gary V. Vaughan
99df003684 build: support AM_SILENT_RULES
* configure.ac: Add AM_SILENT_RULES.
* libltdl/configure.ac: Ditto, but only if defined.
* Makefile.am (.version, ChangeLog, README, doc/notes.txt)
(libtool, libtoolize, libtoolize.in, libltdl/Makefile.am)
(libltdl/stamp-mk, m4/ltversion.m4, tests/atconfig, tests/defs)
(tests/defs.in, tests/package.m4): Output an AM_SILENT_RULES-like
GEN when V==0.
* libltdl/Makfile.inc (libltdl/argz.h): Ditto.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-05 16:58:22 +07:00
Gary V. Vaughan
bba5b84fcd maint: use gnulib's gitlog-to-changelog instead of a ChangeLog file.
* ChangeLog: Removed.
* HACKING (Editing 'ChangeLog'): Removed. Renumbered other sections to
compensate.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
* Makefile.am (ChangeLog): Generate the ChangeLog for 2011...
(dist-hook): ...from the output of `git log' before rolling a
distribution tarball.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-27 10:22:45 +07:00
Gary V. Vaughan
4008119bcc maint: use gnulib's git-version-gen instead of mkstamp.
* libltdl/config/mkstamp: File removed.
* bootstrap.conf (gnulib_modules): Add git-version-gen.
* configure.ac (AC_INIT, package_revision): Use git-version-gen to
calculate version number.
(TIMESTAMP): Removed.
* libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4
(TIMESTAMP): Ditto.
* Makefile.am (TIMESTAMP): Ditto.
(MKSTAMP): Renamed from this...
(git_version_gen): ...to this. Set revision here.  An alpha is now a
release with an odd micro relase number.
(rebuild): Don't reset revision here.
(build_scripts): Remove mkstamp, add git-version-gen.
(EXTRA_DIST, BUILT_SOURCES): Add .version.
(libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4, tests/package.m4):
Don't depend on configure.ac or ChangeLog to determine when the
version number has reved, use .version directly.
(.version): Flush most recent configure calculated VERSION to disk.
(dist-hook): Flush current VERSION to disk at dist time.
(dotserial): Distributed file to cache the serial number for
when git is not available to recalculate it when building from a
release tarball.
(dist-hook): Make sure .serial is created.
(libltdl/config/ltversion.m4): Use .serial when it is present
(in a dist tarball) or calculate with git otherwise (in a git
working directory).
(EXTRA_DIST): Add .serial file.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-27 10:22:44 +07:00
Gary V. Vaughan
a7d34118b2 maint: use gnulib's maint.mk and support scripts release procedure.
* Makefile.maint: Removed.
* configure.ac (LASTRELEASE, lt_major, lt_minor, lt_micro, lt_alpha):
All removed. Makefile.maint was the only client.
* HACKING (Release Procedure): Removed.
* bootstrap.conf (gnulib_modules): Add announce-gen,
do-release-commit-and-tag, gendocs, gnu-web-doc-update, gnupload and
readme-release.
* cfg.mk (manual_title): Set it for web-manual rule.
(announcement_Cc_): Release announcement email addresses.
* Makefile.am (build_scripts): Add to EXTRA_DIST additional files
imported from gnulib for maint.mk release procedure.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-27 10:22:32 +07:00
Gary V. Vaughan
adb7abda11 maint: use gnulib's maintainer-makefile module.
* bootstrap.conf (gnulib_modules): Add maintainer-makefile.
(gnulib_tool_options): Add --avoid=dummy now that we have a real
module to import.
* cfg.mk: New file. Customize maint.mk for Libtool.
* Makefile.am (EXTRA_DIST): Add GNUmakefile, cfg.mk and maint.mk.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-23 19:17:23 +07:00
Gary V. Vaughan
3fc61c5669 maint: use gnulib's canonical COPYING files.
* COPYING, libltdl/COPYING.LIB: Removed.
* bootstrap.conf (gnulib_non_module_files): Add COPYING.
(libtool_add_libltdl_copying): New func_gnulib_tool hook
function to copy the canonical LGPL2 COPYING file from gnulib at
bootstrap.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-23 19:17:23 +07:00
Gary V. Vaughan
b868b7c487 maint: add gnulib submodule.
* configure.ac (GL_INIT, GL_EARLY): Initialise gnulib, and expand
its configure time checks.
* .gitmodules (gnulib): New file with configuration for our
gnulib git submodule.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-23 14:33:21 +07:00
Gary V. Vaughan
933f614f6c maint: tidy, sort and consolidate .gitignore files.
The `gnulib-tool' and gnulib `bootstrap' scripts  maintain
`.gitignore' files in asciibetical order, so reorder them now
to avoid spurious patches later.

Take advantage of putting recursive file ignore matches into
`$top_srcdir/.gitignore' and remove repetitions from other
`.gitignore' files.
2011-10-22 18:36:16 +07:00
Gary V. Vaughan
e9efe2cf60 Post-release administrivia.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
numbers.
* NEWS: Add header line for next release.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-18 15:30:13 +07:00
Gary V. Vaughan
fdb4c54678 Release 2.4.2.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
numbers.
* NEWS: Update version number.
2011-10-18 13:20:53 +07:00
Gary V. Vaughan
0fe4d0740e Replace leading spaces with tabs.
* libltdl/m4/libtool.m4, libltdl/config/ltmain.m4sh: Replace leading
spaces in soure code with tabs to match surrounding code.

Reported by Peter Rosin.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-17 16:43:18 +07:00
Gary V. Vaughan
789817d512 Make a note to use gnu/linux for version_type.
* libltdl/m4/libtool.m4 (version_type): Add a comment to change
version_type setting from 'linux' to 'gnu/linux' during the next
destabilising code refactoring.
* libltdl/config/ltmain.m4sh: ditto.

Requested by Richard Stallman.
2011-10-17 12:40:55 +07:00
Bart Van Assche
ecb2ab031b Typo fix - change func_apped into func_append
* libltdl/config/ltmain.m4sh: Fix typo.
2011-10-04 16:51:27 -05:00
Xin LI
49ae2888b4 Avoid problems when FreeBSD goes to version 10.
* libltdl/m4/libtool.m4: Remove mentions of freebsd1. Use dots
	for FreeBSD 2 and 3 detection to avoid future problems
	* libltdl/m4/ltmain.m4sh: ditto.
2011-10-02 10:02:18 -05:00
Cristophe Jarry
920da81be6 Avoid mentioning "Linux", use "GNU/Linux", if appropriate.
* TODO: Don't use bare "Linux".
	* doc/libtool.texi: ditto.
	* doc/notes.texi: ditto.
	* libltdl/README: ditto.
	* libltdl/m4/libtool.m4: ditto.
2011-09-25 17:49:43 -05:00
Peter O'Gorman
dc28c2bfbc Add flag to inhibit warnings.
* libltdl/config/ltmain.m4sh: Add --no-warn, --no-warning flags.
Reported by John Davd Anglin.
2011-09-01 18:45:03 -05:00
Svante Signell
1ea9302bd1 Set shlibpath_overrides_runpath for the Hurd.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [gnu]
<shlibpath_overrides_runpath>: Set to no.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2011-04-10 10:17:21 +02:00
Justin Lecher
1b76054f47 Don't filter OPENMP flags (-openmp & -fopenmp) from linker lines.
If -fopenmp if passed to gcc during linking, it will take care to add all
necessary libs to link correctly for openmp support. Currently libtool filters
those flags, similar as it was the case with the threading flags. This change
handles the situation for the openmp support similar as before the thread
support was fixed.

http://lists.gnu.org/archive/html/bug-libtool/2010-12/msg00009.html
http://lists.gnu.org/archive/html/bug-libtool/2011-03/msg00014.html

* libltdl/config/ltmain.m4sh (func_mode_link): Treat OpenMP
flags like pthreads flags.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2011-03-22 07:47:10 +01:00
Peter O'Gorman
6a6de36e4c On Mac OS X try .dylib as well as .so with lt_dlopenext
* libltdl/m4/ltdl.m4: Define extra extension if module extension
differs from shared lib extension.
* libltdl/ltdl.c: Use it.
* tests/darwin.at: Test it.
* NEWS: Announce it.
Reported by Hans Aberg, Michael Ellis, and others.
2011-03-05 10:14:19 -06:00
Rainer Orth
9196966580 Fix LD setting for 64-bit Solaris 2/x86.
* libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [*-*-solaris*):
Determine GNU ld options for 64-bit Solaris 2/x86.  Detect gld
2.21 _sol2 emulations.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2011-02-01 07:39:26 +01:00
Peter O'Gorman
286e87b103 Don't loop through wrapper script arguments unnecessarily.
* libltdl/m4/ltmain.m4sh: Check that argv contains " --lt-"
before looping to remove wrapper script targetted arguments.
Performance regression reported by Dan McGee.
2011-01-27 17:13:10 -06:00