Commit Graph

381 Commits

Author SHA1 Message Date
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
435cb8d714 libtoolize: simplify runtime by substituting pkgauxdir.
* Makefile.am (configure_edit): Substitute pkgauxdir.
* libtoolize.m4sh (func_install_pkgaux_subproject)
(func_install_pkgaux_parent, extract_trace): Use it.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 17:51:15 +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
e73a3b080b build: use pkgauxdir for local install and uninstall rules.
* Makefile.am (pkgauxdir): Set it correctly.
(uninstall-hook): Use it for pkgaux_scripts and
pkgaux_data_files.
(install-data-local): Ditto.
Remove `config/' prefix from extract-trace and option-parser
items.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-09 14:17:35 +07:00
Gary V. Vaughan
43abb0c70b install: correct a typo in pkgaux_files location.
* Makefile.am (install-data-local): Install pkgaux_files
directly from $(aux_dir) [./libltdl/config at the moment].

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-09 00:53:33 +07:00
Gary V. Vaughan
ffe1472772 libtoolize: order pkgltdl_files to avoid reconfiguration.
* Makefile.am (pkgltdl_files): aclocal.m4 depends on
configure.ac, and will cause spurious reconfiguration of freshly
`libtoolize --ltdl' tree if we don't ensure configure.ac is the
older of these two files.
* tests/libtoolize.at: Adjust expout order to match.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-09 00:21:45 +07:00
Gary V. Vaughan
7ce17c8d2e build: remove an over-exuberant $(srcdir) prefix.
* Makefile.am (git_version_gen): No need for an extra $(srcdir)
in the path when we always use after `cd $(srcdir).

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-08 22:05:45 +07:00
Gary V. Vaughan
b544ca3784 libtoolize: massage installed auxiliary script list at make time.
* Makefile.am (configure_edit): Rename pkgconfig_files
substitution to pkgaux_files, and add pkgaux_install_files and
pkgaux_parent_files substitutions for atlocal.
(pkgauxdir): Where to install pkgaux_files.
(auxfiles): Removed, and replaced by...
(pkgaux_parent_files, pkgaux_install_files, pkgaux_data_files):
...these, which separate the files lists more logically for
easier installation, and use by libtoolize.m4sh.
(uninstall-hook): Adjust.
(tests/atlocal): Adjust.
* bootstrap.conf (libtool_link_libltdl_subdirs): Adjust.
* libtoolize.m4sh (func_install_pkgconfig_files)
(func_install_pkgconfig_subproject)
(func_install_pkgconfig_parent, func_install_pkgconfig_files)
(all_pkgconfig_files): Renamed to...
(func_install_pkgaux_files, unc_install_pkgaux_subproject)
(func_install_pkgaux_parent, func_install_pkgaux_files)
(all_pkgaux_files): ...these, resp. Adjust all callers.
(func_massage_pkgconfig_files): Removed.
(pkgaux_files): List of all auxiliary scripts substituted from
Makefile.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-08 21:34:13 +07:00
Gary V. Vaughan
99a808be8c libtoolize: massage installed libltdl file list at make time.
* libtoolize.m4sh (pkgltdldir, pkgdatadir): Put installable
libltdl files in pkgdatadir. When testing, and _lt_pkgdatadir
is set, adjust to look in libltdl subdirectory.
(func_massage_pkgltdl_files): Removed function and only caller,
because...
(pkgltdl_files): ...we substitute the pre-massaged files
directly...
(func_install_pkgltdl_files): ...from here.
Adjust installation of specially handled additional files.
* Makefile.am (ltdldir): Location of libltdl files in source
tree.
(ltdldest, ltdldatafiles): Removed.
(pkgltdl_files): New pre-massaged list of libltdl sources.
(install-data-local, uninstall-hook): Use it.
* tests/libtoolize.at: Reorder expected output to match actual
libtoolize output.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-08 21:34:11 +07:00
Gary V. Vaughan
bcbf77525d libtoolize: massage installed macro list at make time.
* libtoolize.m4sh (func_massage_aclocal_DATA): Removed function
and only caller, because...
(pkgmacro_files): ...we substitute the pre-massaged files
directly...
(func_install_pkgmacro_files): ...from here.
* Makefile.am (pkgmacro_files): New pre-massaged list of aclocal
macros used by func_install_pkgmacro_files.
(configure_edit): Substitute pkgmacro_files instead of
aclocalfiles.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-08 21:34:06 +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
04fbe0e383 maint: calculate required mkinstalldirs calls during `make install'.
* Makefile.am (install-data-local): Make sure all destination
directories are in place before copying files there, without
hardcoding them.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-08 20:07:43 +07:00
Gary V. Vaughan
0ecdf9b9ed maint: substitute static directory names.
By substituting just the directory name as passed to the macro,
aux_dir can be used with or without $srcdir prefix, which is
more flexible, and always means the same thing in each file,
rather than sometimes being a directory name, sometimes relative
to $top_srcdir.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR)
(LT_CONFIG_LTDL_DIR): Don't force config.status substitutions
with unexpanded shell variables.
* Makefile.am, tests/defs.m4sh: Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-08 20:07:29 +07:00
Gary V. Vaughan
e2c4184c38 maint: dynamically strip unused scripts from libltdl Makefile.
* configure.ac (pkgaux_scripts): Centrally maintain the complete
list of aux scripts required to build libltdl, and which need to
be installed by libtoolize --ltdl, and consequently need to be
placed in $pkgdatadir by make install.
* Makefile.am (libltdl/stamp.mk): Improved to strip the unused
scripts not listed in pkgaux_scripts without the need for manual
synchronisation.
(auxexefiles): Removed. Replaced by new pkgaux_scripts
substitution.
(install-data-local): Adjust.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-05 16:58:31 +07:00
Gary V. Vaughan
363a9a0732 build: substitute paths into defs.m4sh instead of recalculating.
* Makefile.am (configure_edit): Add substitutions for aux_dir,
macro_dir and srcdir.
* tests/defs.m4sh: Don't recalculate srcdir.
(aux_dir, macro_dir, srcdir): Convert to absolute paths.

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
166da4d2a2 tests: ensure VPATH autom4te search path can find autotests.
* Makefile.am (tests/testsuite): Passing only $(srcdir) include path
to autom4te is unable to find tests/package.m4, and passing only
$(srcdir)/tests breaks VPATH build searches for TESTSUITE_AT files,
which are relative to $(srcdir)... so we pass both!
* NEWS: Updated.
Reported by Bob Friesenhahn.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-24 16:09:25 +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
8e756c52ee maint: use gnulib's (pending saner) bootstrap script.
* bootstrap: Replaced with gnulib script.
* bootstrap.conf: New file with Libtool specific bootstrap
configuration.
* Makefile.am (EXTRA_DIST): Add bootstrap.conf.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-23 19:17:22 +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
f93b09fa58 maint: don't run help2man on programs not-yet-built.
* Makefile.am (doc/libtool.1, doc/libtoolize.1): Added a
comment about why the dependencies here have to be a mite
bizarre.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-22 18:36:16 +07:00
Gary V. Vaughan
25b333e759 tests: DRYing out `tests/sh.test'.
* Makefile.am (libtool_m4): Canonical location of libtool.m4 file.
(lt_aclocal_m4_deps): Use it.
2011-10-22 18:36:16 +07:00
Gary V. Vaughan
f14182f6e7 maint: pass directory declarations in configure.ac into Makefile.
* configure.ac (AC_CONFIG_AUX_DIR, LT_CONFIG_LTDL_DIR)
(AC_CONFIG_MACRO_DIR): Append code to these functions to
capture and propagate their directory arguments to Makefile.
* Makefile.am (aux_dir, ltdl_dir, macro_dir): Remove declarations.
* bootstrap (my_sed_trace): Also capture LT_CONFIG_LTDL_DIR into
`$ltdl_dir'.
<Makefile>: Output the extracted values of `aux_dir', `ltdl_dir'
and `macro_dir' at the top of the quick'n'dirty bootstrap
Makefile.
2011-10-22 18:36:16 +07:00
Gary V. Vaughan
7afbf5504b maint: factor out ltmain.sh variable deletion.
* Makefile.am (ltmain_sh_edit): Expand upon bootstrap edit by
adding the extra line to delete boilerplate variable settings
from libltdl/config/general.m4sh that don't apply here.
(libltdl/config/ltmain.sh): Use it.
2011-10-22 18:36:16 +07:00
Gary V. Vaughan
2b96af6ed4 maint: DRYing out `Makefile.am' file paths.
* Makefile.am (aux_dir, macro_dir): Include `$(srcdir)' in
declaration. Adjust all references.
(doc_dir, ltdl_dir, m4sh_dir, tests_dir): New single location
to hold directory paths, all including `$(srcdir)', to reduce
typing.
(LT_M4SH): Use `$m4sh_dir' as include directory.
(defs): This one is for a file in the build-tree, so no
leading `$(srcdir)'.
2011-10-22 18:36:12 +07:00
Gary V. Vaughan
cf1249a63c CLEANUP: fix error from pushing too far up the branch.
* Makefile.am (install-data-local): Undo character transposition
from too early push of untested v2.4-17-gaf74d58.
* ChangeLog (2010-09-16): Remove spurious entry.
2011-10-22 18:35:20 +07:00
Gary V. Vaughan
e1398280b6 maint: use macro_dir consistently in all files.
* Makefile.am: Replace all uses of m4dir with macrodir to
match AC_CONFIG_MACRO_DIR.
* libltdl/config/libtoolize.m4sh: Replace all uses of macrodir
with macro_dir.
* tests/defs.m4sh, tests/sh.test: Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-22 18:35:20 +07:00
Gary V. Vaughan
8570766c7d maint: use aux_dir consistently in all files.
* Makefile.am, Makefile.maint: Replace all uses of auxdir
with aux_dir to match AC_CONFIG_AUX_DIR.
* libltdl/config/libtoolize.m4sh: Likewise.
* tests/defs.m4sh, tests/getopt-m4sh.at: Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-22 18:35:20 +07:00
Gary V. Vaughan
6de3756ab2 Makefile: try to be robust against shell meta-chars in filenames.
* Makefile.am: In each rule body, unless a make variable needs
to be seen as multiple words by the shell (for word-splitting
loops, or because it contains several commands), quote it. Use
single quotes unless the shell needs to perform variable inter-
polation, in which case use double quotes.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-22 18:34:54 +07:00
Gary V. Vaughan
2edfcdf1d4 maint: let make employ user's `SED' setting.
* Makefile.am: Replace hard-coded `sed' with `$(SED)' through-
out.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:45 +07:00
Gary V. Vaughan
9ff759568c maint: simplify and improve safety of bootstrap process.
* Makefile.am (bootstrap_files): List files that need to be
generated at bootstrap time before `./configure && make' can
work.  It turns out that this is considerably fewer files than we
had thought necessary previously.
(bootstrap-deps-prep): Ensure minimum set of required substitution
variables are non-empty.
(bootstrap-deps): Depend on `bootstrap' files.
* bootstrap (Generate bootstrap dependencies): Now that
`Makefile.am' is entirely responsible for rebuilding files at
bootstrap time, we need only specify the new `bootstrap-deps'
target, and supply values for the substitutions checked by
`bootstrap-deps-prep'.
* configure.ac (AC_CONFIG_SRCDIR): `libtoolize.in' is not here yet
right after running `bootstrap'.  So rely on the presence of
`libltdl/config/libtoolize.m4sh', which is always there.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:44 +07:00
Gary V. Vaughan
c73118765e build: eliminate superfluous temporary files from `Makefile.am'.
* Makefile.am (CLEANFILES): Remove temporary file entries.
(libtoolize.in, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4)
(tests/defs, tests/testsuite): Factor away temporary files.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:44 +07:00
Gary V. Vaughan
aaa7c9328c build: eliminate ltmain.in' and libtoolize.in' intermediate files.
* Makefile.am (libltdl/config/ltmain.sh, libtoolize.in): Pipe
the output of `$(LT_M4SH)' directly into `$(bootstrap_edit)' to
avoid use of superfluous intermediate file.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:44 +07:00
Gary V. Vaughan
3500d098e8 build: don't hardcode repeated long paths in Makefile rules.
According to the DRY principle, scattering several copies of
something across a file or project leads to pain.  Let's not
do that!
* Makefile.am (Makefile_in, Makefile_inc, defs_in, defs_m4sh),
(libtoolize_in, ltmain_m4sh, ltversion_in): New variables to
hold the location of important files and targets.
(EXTRA_DIST): Add the distributed ones by variable.
(libtoolize, libltdl/Makefile.am, libltdl/m4/ltversion.m4)
(libltdl/config/ltmain.sh, libltdl/stamp-mk, tests/defs)
(tests/defs.in): Use the new variables to reduce noise and
repetition.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:44 +07:00
Gary V. Vaughan
dc827a2dcd build: make better use of automatic variables in `Makefile.am'.
* Makefile.am (libtoolize, libtoolize.in, libltdl/Makefile.am)
(libltdl/config/mkstamp, libltdl/config/ltmain.m4sh)
(libltdl/m4/ltversion.m4, tests/testsuite, tests/defs.in):
Make better use of automatic variables.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:43 +07:00
Gary V. Vaughan
420b992e2e build: name temporary files in `Makefile.am' consistently.
Sadly, we still have to jump through hoops for MICROS~1's very
old, very broken 8.3 naming convention, so we have to be careful
to be unique in the first 8 letters, and not to use two periods
in a filename, otherwise we could use the much more elegent
`temporary files use "$@T"' idiom:
* Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file
to `ltversion.tmp'.
(libltdl/config/ltmain.sh): Rename temporary file to
`libltdl/config/ltmain.tmp'.
(libtoolize): Rename temporary file to `libtoolize.tmp'.
(tests/defs): Rename temporary file to `tests/defs.tmp'
(tests/testsuite): Rename temporary file to `tests/testsuite.tmp'.
(CLEANFILES): Append temporary files as we create rules that
use them.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:43 +07:00
Gary V. Vaughan
be85f384d5 build: factor Makefile.am `m4sh' invocations to LT_M4SH.
* Makefile.am (LT_M4SH): Now that all directories are listed as
fully qualified paths, the search path argument to M4SH is always
the same, so factor it out into a variable.  Adjust all callers.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:43 +07:00
Gary V. Vaughan
7b70f4742a build: avoid unnecessary directory changes in Makefile rules.
* Makefile.am (doc/notes.txt, libltdl/m4/ltversion.m4,
(libltdl/config/ltmain.m4sh, libtoolize.in, libltdl/Makefile.am)
(libltdl/config/mkstamp, tests/testsuite, tests/defs.in): Avoid
unnecessary `cd' commands by using fully qualified paths to files
outside of current directory.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:42 +07:00
Gary V. Vaughan
22d802b8a8 build: compare revision' rather than correctver' in Makefile.am.
* Makefile.am (rebuild): Set the shell variable `revision' rather
than `correctver' for clarity of purpose.
(bootstrap_edit, libltdl/config/ltmain.sh): Adjust.
(libltdl/m4/ltversion.m4): Likewise, and alse, instead of munging
the serial number comment line with set, extract `macro_version'
from this file, and compare it directly with `revision'.
(libtool): Likewise for `package_revision'.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:42 +07:00
Gary V. Vaughan
ade0d8f39c build: avoid spurious bootstrap_edit call.
* Makefile.am (tests/package.m4): @FOO@ substitutions have already
been made by the time Makefile.am has been transformed into Makefile,
so don't try to rerun the substitutions manually with
$(bootstrap_edit) after the fact.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-20 23:43:42 +07:00
Peter O'Gorman
c44468e0ec Install ltmain.sh without execute bit set.
* Makefile.am: change install rule for ltmain.sh
Reported by Křištof Želechovski.
2011-02-14 10:34:58 -06:00
Ralf Wildenhues
5f3ce62d72 Bump copyright years.
* ChangeLog.2010: New, rotated from ...
* ChangeLog: ... here.
* Makefile.am (EXTRA_DIST): Add ChangeLog.2010.
* NEWS, libltdl/config/ltmain.m4sh: Bump copyright years.
* libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise.
* libtoolize.m4sh: Likewise.
* doc/libtool.texi: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2011-01-02 06:00:41 +01:00
KO Myung-Hun
8c00e12df8 Fix PATH_SEPARATOR handling for OS/2.
* Makefile.am (update_mans): Quote $(PATH_SEPARATOR).
* libltdl/m4/libtool.m4 (_LT_SETUP): Add _LT_DECL for
PATH_SEPARATOR.
* libltdl/config/general.m4sh: Use PATH_SEPARATOR when computing
$progpath.
* THANKS: Update.
2010-12-15 22:31:32 +01:00
Ollie Wild
2a736edf3e Modify --with-pic to support per-package configurations.
* libltdl/m4/libtool.m4:  Modify --with-pic to accept a list of
package names.  Modelled off --enable-shared.
* tests/with-pic.at: New test.
* Makefile.am (TESTSUITE_AT): Add tests/with-pic.at.
* doc/libtool.texi (LT_INIT): Enhance documentation of
--with-pic configure flag.
* NEWS (New features): Mention that --with-pic now accepts a
comma-separated list of package names.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-11-10 22:40:11 +01:00