I like to name temporary directories that I will remove shortly
with two leading commas so that they sort lexicographically at
the top of `ls' output. Now, `./configure
--prefix=`pwd`/,,inst' works again, for the first time in
several years.
* cfg.mk (sc_prohibit_sed_s_comma): Comma is too common a
character to use routinely as the separator for sed
substitutions on file paths and other variables determined by
the user, causing bugs like the one I describe above. Make sure
we don't accidentally reintroduce any comma separators in
future.
* Makefile.am, bootstrap, bootstrap.conf, build-aux/extract-trace,
build-aux/general.m4sh, build-aux/git-hooks/commit-msg,
build-aux/git-log-fix, build-aux/ltmain.m4sh, libtoolize.m4sh,
m4/libtool.m4, m4/ltdl.m4, tests/cdemo-undef.test,
tests/cmdline_wrap.at, tests/darwin.at, tests/defs.m4sh,
tests/getopt-m4sh.at, tests/install.at, tests/libtoolize.at,
tests/mdemo/Makefile.am, tests/need_lib_prefix.at,
tests/sysroot.at, tests/tagdemo-undef.test, tests/testsuite.at:
Try to use `|' as the default separator wherever possible,
otherwise something else that doesn't occur in the substitution
expression.
* NEWS: Updated.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Some modernization of the legacy testsuite.
* tests/sh.test: Remove.
* Makefile.am (COMMON_TESTS): Adjust.
* cfg.mk (sc_libtool_m4_cc_basename, sc_prohibit_bracket_as_test)
(sc_prohibit_nested_quotes, sc_prohibit_set_dummy_without_shift)
(sc_prohibit_set_minus_minus, sc_prohibit_test_binary_operators)
(sc_prohibit_test_dollar, sc_prohibit_test_minus_e)
(sc_prohibit_test_unary_operators, sc_prohibit_test_X)
(sc_prohibit_Xsed_withou_X, sc_require_function_nl_brace):
Functionally identical tests to what used to be performed by
sh.test, only with coverage of all files.
* bootstrap, build-aux/edit-readme-alpha,
build-aux/extract-trace, build-aux/getopt.m4sh,
build-aux/ltmain.m4sh, configure.ac, m4/libtool.m4, m4/ltdl.m4,
tests/bindir.at, tests/configure-iface.at, tests/cwrapper.at,
tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test,
tests/dlloader-api.at, tests/exceptions.at,
tests/getopt-m4sh.at, tests/lalib-syntax.at, tests/link-2.test,
tests/link-order2.at, tests/loadlibrary.at,
tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen_a.at,
tests/lt_dlopenext.at, tests/need_lib_prefix.at,
tests/nonrecursive.at, tests/recursive.at, tests/resident.at,
tests/standalone.at, tests/static.at, tests/stresstest.at,
tests/subproject.at, tests/sysroot.at, tests/tagtrace.test,
tests/testsuite.at: Fix violations of the new syntax checks.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh): The
bootstrap_edit make macro already contains double quotes, so
when echoing it, don't surround it with more double quotes since
it is not escaped.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
To make sure we don't accidentally release anything with
failing syntax-checks, have `make distcheck' run the
syntax-checks automatically.
* Makefile.am (distcheck-hook): New rule depending on
syntax-check.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* 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>
At some point we were supporting some undetermined `broken
make', as evidenced by having carried the following code since
2003:
## use @LIBLTDL@ because some broken makes do not accept
## macros in targets, we can only do this because our LIBLTDL
## does not contain $(top_builddir).
@LIBLTDL@: $(top_distdir)/libtool \
...
However, we've also had *many* cases of macros in targets for
just as long, so most likely we never fully supported makes
allegedly broken in this way. As of this release, we explicitly
no longer support make implementations that do not accept macros
in targets.
* cfg.mk (local-checks-to-fix): Remove sc_makefile_at_at_check
from list of disabled checks.
* configure.ac (order-only prerequisites): Test with the
order-only pipe symbol in a macro.
* Makefile.am, tests/mdemo/Makefile.am: Convert all @FOO@ to
$(FOO).
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* 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>
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>
* 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>
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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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.
* 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.
* 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)'.
* 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.
* 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>
* 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>
* 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>
* 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>
* 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>
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>
* 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>
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>
* 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>