Commit Graph

197 Commits

Author SHA1 Message Date
Peter Breitenlohner
d16ee3379b * Makefile.am (install-data-local): Have root own of installed
files (but do not fail, for user installs).
2005-07-08 15:54:57 +00:00
Ralf Wildenhues
f815c1a1d1 * Makefile.am (stamp-vcl): Use diff' instead of cmp'. 2005-05-02 09:20:24 +00:00
Gary V. Vaughan
ef4442da9b Revert the parallel installation changes from November last year:
* libtoolize.m4sh (pkgdatadir, aclocaldir): Substituted from
configure.
(func_copy_all_from_path): Removed.  No longer used.
(func_copy_some_files): Simplify now that nothing is copied from a
list of possible directories now.
(func_scan_files): Remove directory readability check...
(func_nonemptydir_p): ...in favour of a dedicated sanity check
function called from the main body.
(_lt_pkgvdatadir): Set pkgdatadir and aclocaldir appropriately if
this is in the environment.
* configure.ac: Tests for `ln' removed.
(APIVERSION): Removed.
* Makefile.am (pkgvdatadir, nobase_dist_pkgvdata_DATA)
(nobase_pkgvdata_DATA): Renamed to...
(pkgdatadir, nobase_dist_pkgdata_DATA, aclocalfiles): ...these
respectively.
(edit): Adjust for new variable names.
(install-data-local): Don't bother to remove old macro files that
will be overwritten by the installation, and perform a manual
installation of $(aclocalfiles) to preserve timestamps.
(install-exec-hook): Removed.  No need to make versioned links.
(uninstall-hook): No need to remove versioned links, but now we
need to manually remove the manually installed $(aclocalfiles).
* doc/libtool.texi: Remove bogus notes about setting
ACLOCAL_AMFLAGS for versioned libtool installations.
* NEWS: Remove parallel installation item.
2005-04-30 09:30:14 +00:00
Ralf Wildenhues
1e579accc0 * tests/convenience.at: New. Test convenience archives.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests.  Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust.  Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable.  Use -no-undefined on win32.  Fix to ignore
compile/link warnings.
2005-04-27 18:18:10 +00:00
Ralf Wildenhues
93cd550c92 * Makefile.am, HACKING: Use lt__cd throughout. 2005-04-22 10:20:46 +00:00
Gary V. Vaughan
94cc58be06 The FSF are moving offices today. Changed their contact address
in all files from `59 Temple Place, Suite 330, MA 02111-1307' to
`51 Franklin Street, Fifth Floor, MA 02110-1301'.
2005-04-22 10:10:31 +00:00
Alexandre Oliva
0a89b38e7e Peter O'Gorman <peter@pogma.com>
* config/ltmain.m4sh: Don't add files with the same base name to an
archive; rename duplicates instead.
(func_extract_an_archive): Remove section to deal with duplicate
base names in an archive.
* tests/functests.at: remove.
* tests/duplicate_members.at: new test.
* tests/testsuite.at: Add new test, remove old.
* Makefile.am: Add new test, remove old.
2005-04-17 14:30:34 +00:00
Gary V. Vaughan
25b33e7236 * Makefile.am (lt__cd, CD_TESTDIR): New make macros to work around
problems with CDPATH in some shells.
(check-local, installcheck-local, clean-local): Use them.
2005-04-15 10:26:55 +00:00
Alexandre Oliva
31327f332d * config/ltmain.m4sh (link mode): Add to tmp_libs paths for libtool dep
libs in reverse order as well.
* Makefile.am, tests/testsuite.at, tests/link-order.at: New test.
2005-04-14 11:59:10 +00:00
Gary V. Vaughan
6c1e70c04a Since the bootstrap process requires that several of the rules for
files generated in doc and tests already lived in
$top_srcdir/Makefile.am, along with proxy rules in sub-Makefiles,
this changeset consolidates almost everything into the top
Makefile.am, simplifying things considerably:

* doc/Makefile.am, tests/Makefile.am: Removed.  All rules moved...
* Makefile.am: ...to here and adjusted to run from $top_builddir.
Some reformatting to group rules and declarations by purpose, and
simplify with respect to removing much of the make recursion.
Add `doc/PLATFORMS', `doc/fdl.texi' and `doc/notes.texi'.
`defs.in' and `defs.m4sh' are in directory `tests'.
(uninstall-hook): Don't forget to uninstall libtoolize's libltdl
source tree.
* bootstrap: Simplified dirty makefile management, and bootstrap
file creation in light of having only a single pertinent
Makefile.
* configure.ac (CONF_SUBDIRS): Add tests/ prefix to each subdir to
compensate.
(DIST_MAKEFILE_LIST): Adjust.
(AC_CONFIG_FILES): Remove doc/Makefile and tests/Makefile.
* tests/defs.m4sh (LIBTOOL, scripts): Adjust paths.
* tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/cdemo-undef.test,
tests/demo-conf.test, tests/demo-deplibs.test,
tests/demo-exec.test, tests/demo-hardcode.test,
tests/demo-inst.test, tests/demo-make.test,
tests/demo-nofast.test, tests/demo-noinst-link.test,
tests/demo-nopic.test, tests/demo-pic.test,
tests/demo-relink.test, tests/demo-shared.test,
tests/demo-static.test, tests/demo-unst.test,
tests/depdemo-conf.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/depdemo-make.test,
tests/depdemo-nofast.test, tests/depdemo-relink.test,
tests/depdemo-shared.test, tests/depdemo-static.test,
tests/depdemo-unst.test, tests/f77demo-conf.test,
tests/f77demo-exec.test, tests/f77demo-make.test,
tests/f77demo-shared.test, tests/f77demo-static.test,
tests/link-2.test, tests/link.test, tests/mdemo-conf.test,
tests/mdemo-dryrun.test, tests/mdemo-exec.test,
tests/mdemo-inst.test, tests/mdemo-make.test,
tests/mdemo-shared.test, tests/mdemo-static.test,
tests/mdemo-unst.test, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test,
tests/objectlist.test, tests/pdemo-conf.test,
tests/pdemo-exec.test, tests/pdemo-inst.test,
tests/pdemo-make.test, tests/quote.test, tests/sh.test,
tests/suffix.test, tests/tagdemo-conf.test,
tests/tagdemo-exec.test, tests/tagdemo-make.test,
tests/tagdemo-shared.test, tests/tagdemo-static.test,
tests/tagdemo-undef.test, tests/tagtrace.test (func_cd,
func_require): Adjust paths..
2005-04-13 12:24:35 +00:00
Gary V. Vaughan
0aa2e304c6 Getting the value of ltdldatafiles from a submake was not
portable, and had problems with GNU make-3.80 at least.  This
changeset pulls the installation rules for libtoolize's copy of
the libltdl sources out of libltdl/Makefile.am so that
ltdldatafiles is defined in the same Makefile that uses it.  Also,
this makes a start at cleaning up libltdl/Makefile.am so that it
is useful in a package that uses `libtoolize --ltdl':

* libltdl/loaders/Makefile.am: Removed entirely.
* libltdl/Makefile.am (dlopen.la, dld_link.la, dyld.la)
(load_add_on.la, loadlibrary.la, shl_load.la): All built from here
now that the loaders submake has gone.
(show-ltdldatafiles): Removed.  No longer required.
(ltdldatadir, ltdldatafiles, install-local): Moved from here...
* Makefile.am (ltdldatadir, ltdldatafiles, install-local): ..to
here.
(libtoolize): Substitute $(ltdldatafiles) directly without calling
make to get the value from libltdl/Makefile.
2005-04-04 12:12:25 +00:00
Gary V. Vaughan
e083314267 * Makefile.am (libtoolize): Substitute $(nobase_pkgvdata_DATA).
pkgvmacro_DATA is no longer set in the makefile.
* libtoolize.m4sh (func_massage_pkgvmacro_DATA): Use it and, for
consistency, renamed from this...
(func_massage_nobase_pkgvdata_DATA): ...to this.  Adjust all
callers.
2005-04-01 15:03:23 +00:00
Gary V. Vaughan
86a2d89ea5 Most of the hair introduced ostensibly to enable testing of
uninstalled libtoolize isn't necessary if we allow overriding of
the libtool master copy directory:

* configure.ac (pkvmacrodir): No need to substitute this.
* Makefile.am (edit): No need to substitute pkgvmacrodir.
(dist_pkgvdata_DATA): Use nobase_ prefix so that these files are
installed to $(pkgvdatadir)/config.
(pkgvmacro_DATA): Renamed to...
(nobase_pkgvdata_DATA): ...this, so that files are installed to
$(pkgvdatadir)/m4.
(install-data-hook): Adjust.
* libtoolize.m4sh: Remove -I processing.
(func_filename_path_search): No longer required without -I.
Adjust all callers.
(pkgvltdldirs, pkgvmacrodirs): Deleted.
(pkgvdatadir): Allow overriding from the environment so that we
can write tests for uninstalled libtoolize.
(func_serial_update, func_ltmain_update, func_config_update):
Rename srcdirs parameter to srcdir, and don't call the path_search
function anymore.  Adjust all callers.
(--install): Don't blindly copy all config files.
2005-04-01 12:23:55 +00:00
Gary V. Vaughan
53ee133dbd As a prerequisite for being able to test an uninstalled libtoolize
for copying files correctly from the source tree, we must know
exactly which files should be copied by the --ltdl option to avoid
accidentally picking up compilation objects and other noise when
$builddir == $srcdir:

* libltdl/loaders/Makefile.am (ltdldatadir, ltdldatafiles)
(install-data-local): Removed...
* libltdl/Makefile.am (ltdldatafiles): ...and consolidated here.
(show-ltdldatafiles): New rule...
* Makefile.am (ltdldatafiles, libtoolize): ...used to substitute
exactly which files are installed by libtoolize --ltdl.
(edit): Move pkgvmacro_DATA substitution expression...
(libtoolize): ...to here.
* libtoolize.m4sh: Use func_copy_some_files() instead of
func_copy_all_from_path() to copy the --ltdl option installed
files.
(pkgvltdldirs): New path variable to search for	files installed by
--ltdl option.
(func_massage_pkgvltdl_files): New function to calculate the list
of ltdl installation files.
2005-03-24 11:38:25 +00:00
Ralf Wildenhues
da1641c30a * Makefile.am: tests/defs.in depends on config/general.m4sh. 2005-03-16 17:43:51 +00:00
Gary V. Vaughan
cff8c06c8c * libtoolize.m4sh (func_massage_pkgvmacro_DATA): New function
to calculate the macro filenames to be copied by libtoolize.
* Makefile.am (edit): Substitute pkgvmacro_DATA.
2005-03-15 11:49:59 +00:00
Ralf Wildenhues
52ba41bdad * Makefile.am, bootstrap, clcommit.m4sh, libtoolize.m4sh,
config/ltmain.m4sh: Replace `set --' with `set dummy [...]; shift'
for portability.  tests/sh.test: Test for this.
2004-12-28 13:50:23 +00:00
Ralf Wildenhues
d471094f21 * libtoolize.m4sh: Install `install-sh' as well, needed for configure ..
* Makefile.am, Makefile.maint: .. install, update it.
* NEWS, doc/libtool.texi (Distributing): .. document it.
Reported by Ross Boylan <ross@biostat.ucsf.edu>.
2004-12-20 13:08:35 +00:00
Gary V. Vaughan
bce1e676de * Makefile.am: Move Autotest rules from here...
* tests/Makefile.am: ...to here.
* bootstrap: Adjust.  Also, create temporary Makefile from
tests/Makefile.am so that bootstrap can create the Autotest
testsuite.
2004-11-24 14:55:55 +00:00
Gary V. Vaughan
ef758b513c * configure.ac (APIVERSION): New substituted variable.
(pkgvdatadir): Ditto.  Versioned data directory.
(pkgvmacrodir): Ditto.  Versioned aclocal directory.
(LN): New check for LN command.
* Makefile.am (aclocal_DATA): Replaced with...
(pkgvmacro_DATA): ...this.
(install-data-local): Remove old shared resources.
(install-exec-hook): Make versioned links to executables.
(uninstall-hook): Remove versioned files.
* libltdl/Makefile.am (ltdldatadir): Redefine in terms of
pkgvdatadir.
* libltdl/loaders/Makefile.am (ltdldatadir): Ditto.
* libtoolize.m4sh: Copy macro files from versioned macro directory
instead of shared aclocal directory.
* doc/libtool.texi: Document it.
* NEWS: Updated.
2004-11-15 01:03:14 +00:00
James E Wilson
806ec5d7dc * Makefile.am: config/ltmain.sh is generated by config/ltmain.m4sh. 2004-11-10 10:07:56 +00:00
Patrick Welche
1174721b33 * Makefile.am, Makefile.maint: Use path for dependencies built
in the source tree, to cater for BSD make.
2004-10-29 08:25:25 +00:00
Gary V. Vaughan
fd13e4f5ca Add some new tests for Libtool's support of Automake
subdir-objects builds.  This marks the beginning of a move to an
Autotest driven test framework, which will eventually allow us to
trim away many of the generated files in the current test demo
subdirectories:

* configure.ac (AC_CONFIG_TESTDIR): Re-enable commented out
Autotest macros.
(AUTOTEST, M4SH): Use --language long hand.
* bootstrap: Generate tests/testsuite, and by implication
tests/package.m4.
* Makefile.am (edit): Add substitutions needed to generate
tests/package.m4 from bootstrap.
(check-recursive): Add tests/testsuite.
(TESTSUITE): The new Autotest testsuite target.
(TESTSUITE_AT): The Autotest sources.
(EXTRA_DIST): Distribute the generated testsuite and sources.
(tests/package.m4): Use $(edit) to propagate package metadata to
the new tests.
(tests/testsuite): Build the testsuite.
(tests/atconfig): How to regenerate the file.
(check-local): Hook Autotest into `make check'.
(installcheck-local): Run the testsuite on the installed tree.
(clean-local): Tidy our file droppings.
* tests/Makefile.am: Remove bitrotted code from Autotest
experiments in Autoconf 2.52 era.  Updated the rest and moved into
Makefile.am.
* tests/testsuite.at: New container for Autotest test groups.
* tests/am-subdir.at: New test group for compatibility with
Automake's subdir-objects builds.  Currently holds two tests, one
for a C project and another similar project in C++.
* TODO: Add an entry to remind us that these new tests expose a
bug in libtool.
* NEWS: Updated.
2004-10-16 14:43:48 +00:00
Gary V. Vaughan
e5d70992b8 * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO
with $lt_ECHO, or we always get a libtool with ECHO=echo, rather
than testing for a mechanism that quotes  properly.
* NEWS: Updated.

* config/ltmain.m4sh: Need to include getopt.m4sh earlier so that
progpath is set before it is called to --no-reexec.
* NEWS: Updated.

Without this change, the distributed libtool tarball has a
dependency on autom4te.  There was some inconsistency in the
filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure
-> foo[.sh].  Bootstrap runs the m4sh steps and the resulting .in
files are distributed:

* tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh.
* Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh.
(libtoolize.in, libtoolize): Split into bootstrap and runtime
stages.
($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto.
($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in
names.
* bootstrap: Make libtoolize.in and tests/defs.in.
* NEWS: Updated.
2004-10-04 18:32:45 +00:00
Gary V. Vaughan
e9b2b3f264 Since defs can change (path to grep for example) when it is made
for a different host, it can't be shipped.  That also means that
defs will always be generated in the build tree, so each test case
can have the srcdir discovery factored away into tests/defs.in:

* Makefile.am (EXTRA_DIST): s/defs/defs.in/g
* tests/Makefile.am (defs): New rule to remake defs from the
parent directory's Makefile.
* tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/demo-conf.test,
tests/demo-deplibs.test, tests/demo-exec.test,
tests/demo-hardcode.test, tests/demo-inst.test,
tests/demo-make.test, tests/demo-nofast.test,
tests/demo-noinst-link.test, tests/demo-nopic.test,
tests/demo-pic.test, tests/demo-relink.test,
tests/demo-shared.test, tests/demo-static.test,
tests/demo-unst.test, tests/depdemo-conf.test,
tests/depdemo-exec.test, tests/depdemo-inst.test,
tests/depdemo-make.test, tests/depdemo-nofast.test,
tests/depdemo-relink.test, tests/depdemo-shared.test,
tests/depdemo-static.test, tests/depdemo-unst.test,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/link-2.test, tests/link.test,
tests/mdemo-conf.test, tests/mdemo-dryrun.test,
tests/mdemo-exec.test, tests/mdemo-inst.test,
tests/mdemo-make.test, tests/mdemo-shared.test,
tests/mdemo-static.test, tests/mdemo-unst.test,
tests/mdemo2-conf.test, tests/mdemo2-exec.test,
tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test,
tests/pdemo-exec.test, tests/pdemo-inst.test,
tests/pdemo-make.test, tests/quote.test, tests/sh.test,
tests/suffix.test, tests/tagdemo-conf.test,
tests/tagdemo-exec.test, tests/tagdemo-make.test,
tests/tagdemo-shared.test, tests/tagdemo-static.test,
tests/tagtrace.test: Removed srcdir discovery boilerplate...
* tests/defs.in: ...and put it here.
2004-09-23 13:07:15 +00:00
Gary V. Vaughan
bfce27f524 * configure.ac (M4SH): AC_SUBST m4sh expander.
* config/general.m4sh, config/getopt.m4sh: New files with factored
out functionality from...
* config/ltmain.in, libtoolize.in: ...here.  m4_include the shared
code, and call AS_SHELL_SANITIZE.  Also quote all `[' and `]' to
survive m4 run.
(func_serial): No need to double up m4sh quotes after a `#'.
(func_check_macros): Escape `dnl' to stop m4sh interpreting it as
a macro.
* tests/defs.in: New file expanded into tests/defs by autom4te.
* m4/libtool.m4 (_LT_DECL_EGREP): Also require fgrep for the tests
that use it.
* Makefile.am ($(top_srcdir)/config/ltmain.sh): Now built with
M4SH.
(libtoolize): Ditto.
* bootstrap: Set M4SH for call to make.
* HACKING: No need to sync to AS_SHELL_SANITIZE by hand any more.
2004-09-23 01:16:41 +00:00
Gary V. Vaughan
0e0104aa45 My most recent `2004-09-02 Gary V. Vaughan' patch for mkdir_p
below is horrendously broken since it makes the installed libtool
try to run the mkinstalldirs or install-sh helper scripts.  This
patch fixes the `make -j' mkdir race condition internally:

* libtoolize.in (func_mkdir_p): New slice and dice algorithm
to build the directory tree one dir at a time, ignoring errors
until the end incase they are transient due to a concurrent
identical mkdir.
* tests/defs (func_mkdir_p): Ditto.
* config/ltmain.in (func_mkdir_p): Ditto, except that ltmain.in
uses $echo rather than $ECHO, and uses $show and $run to interact
correctly with the command line.
* configure.ac (AM_INIT_AUTOMAKE): 1.8 is sufficient again.
* Makefile.am (edit): Don't substitute automake's $(mkdir_p).
* NEWS: Updated.
2004-09-16 14:57:02 +00:00
Albert Chin-A-Young
fb9e30ad0e * Makefile.am (clean-ltmain-sh): Using '==' to test for equality
in a shell script is not portable. Use '=' instead.
2004-09-05 23:59:39 +00:00
Gary V. Vaughan
1c0b2cca5f * Makefile.am (libtool): Force libtool to be regenerated if
stamp-vcl has changed.
2004-09-05 18:00:56 +00:00
Gary V. Vaughan
ba6daa7408 Builds of packages that use libtool and make -j produce "directory
already exists warnings" for .lib directory.  Build on automake
wisdom to support make -j builds where a suitable mkdir is
available:

* configure.ac (AM_INIT_AUTOMAKE): Require 1.9, which goes to some
trouble to find a $(mkdir_p) that doesn't interfere with make -j.
* Makefile.am (edit): Substitute for @mkdir_p@.
* config/ltmain.in (MKDIR_P): Take @mkdir_p@ value.
(mkdir): Removed.
(func_mkdir_p): New function to use $MKDIR_P.  Factor out all
previous mkdir calls to use this function.
(RM, MV): Declared as in libtoolize.in.  Changed all callers.
* libtoolize.in (MKDIR_P): Take @mkdir_p@ value from automake.
(func_mkdir_p): Use it, similarly to new config/ltmain.in.
* tests/defs: Synchronize boiler plate code with ltmain.in.
Adjust all callers.
Add missing copyright preamble.
* tests/demo-static.test: Add missing copyright preamble.
Reported by Daniel Reed <n@ml.org>
2004-09-03 00:26:37 +00:00
Gary V. Vaughan
fd730c8573 * Makefile.am (clean-ltmain-sh): Quote $(top_builddir) for the
shell, incase it is not set when running maintainer rules with
`make -fMakefile.maint'.
Don't show the shell commands.
2004-09-02 15:33:35 +00:00
Gary V. Vaughan
03b6087d6a * Makefile.am (clean-ltmain-sh): Remove stale config/ltmain.sh
from the build tree that were left behind by previous versions of
libtool.
($top_srcdir)/stamp-vcl: Since this rule is already called on
every invocation of make, hook clean-ltmain-sh in here too.
Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2004-08-31 14:24:26 +00:00
Gary V. Vaughan
b2c4578138 * Makefile.am (dist-hook): Only run if README-alpha exists.
* README.alpha: Renamed from README-alpha to stop automake from
automatically adding it to DIST_COMMON.
2004-08-29 19:52:20 +00:00
Gary V. Vaughan
2c47af0d62 * Makefile.am (dist-hook): Always distribute just a README file,
but take its contents from README-alpha for alpha releases.
2004-08-29 16:59:23 +00:00
Gary V. Vaughan
fd970d8493 To help users submit better bug reports, improve the general
instructions, and provide additional useful info alongside the bug
reporting address in --help output:

* Makefile.am (edit): Substitute $host_triplet.
* libtoolize.in: Output useful debug info with --help.
* config/ltmain.in: Ditto.
* README: Rewritten.  Added copyright info.
* README-alpha: Rewritten.  Added copyright info.
* HACKING: New file, partly taken from old README-alpha.
2004-08-28 16:15:23 +00:00
Gary V. Vaughan
f3f9d0f31c Two things to stop `make distcheck' from trying to rebuild
distributed files (m4/ltversion.m4 and config/ltmain.in) in the
readonly source tree:

* Makefile.am (stamp-vcl): Keep only one copy of stamp-vcl; in
$(top_srcdir), so that an up-to-date version is rolled into the
dist tarball even from a VPATH build.
($(top_srcdir)/config/ltmain.sh): Don't depend on Makefile,
otherwise ltmain.sh needs to be rebuilt after every config.status
run, and then configure needs to be rebuilt, and it all goes
horribly wrong :-/  Unfortunately, we can't depend on Makefile.am
either, because that is a circular dependency.  The downside of
this change is that it is now possible to edit Makefile.am to
change the way ltmain.sh is generated, and the dependency
information can't tell that ltmain.sh needs regenerating.
2004-08-27 18:08:47 +00:00
Gary V. Vaughan
199c90ecca * Makefile.am ($(top_srcdir)/config/ltmain.sh): Depends on
Makefile.
(timestamp): Factor out timestamp setting and edit it based on the
version number, so that it is empty for release versions.
($(top_srcdir)/config/ltmain.sh): Use it.
(libtoolize): Ditto.
2004-08-05 07:54:15 +00:00
Gary V. Vaughan
5de3e29e35 * Makefile.am (libtool): Depends on ltmain.sh.
(libtoolize): Set and substitute TIMESTAMP.
2004-08-05 07:16:13 +00:00
Gary V. Vaughan
6836243e0b * Makefile.am ($(top_srcdir)/config/ltmain.sh): Actually run
$(MKSTAMP) before changing directories, or it won't be found.
Forgot to save before my last commit :-(
2004-08-05 06:58:55 +00:00
Gary V. Vaughan
ad7c333ea7 * Makefile.am ($(top_srcdir)/m4/ltversion.m4): Since we already did
`cd $(top_srcdir)' for this rule, we can't mv ltversion.tmp to the
relative $(top_srcdir) again!  Also, run $(MKSTAMP) before changing
directories, or it won't be found.
($(top_srcdir)/config/ltmain.sh): Ditto.
(EXTRA_DIST): We should distribute ltversion.m4 too.
2004-08-05 06:40:19 +00:00
Gary V. Vaughan
e46561b83e My thanks to Alexandre Duret-Lutz <adl@gnu.org> for the insight
required to write this changeset -- especially that ltmain.sh is
the same on any machine for a given release, which I hadn't
noticed for some bizarre reason: It turns out that generating
distributed files from configure causes no end of hassle, as
evidenced by the many patches I've generated over the last few
days to try and get the dist and distcheck make rules to work.
Instead of all that hair, we now simply generate our distributed
files (now including ltmain.sh) with make rules -- and since
automake creates make variables for all AC_SUBSTs, that is really
easy.  The code looks a lot more like automake and autoconf
Makefile.ams now, and doesn't have all the rough edges the earlier
hacky solution suffered from.  We still generate libtool from
config.status, but that is not a distributed file, and doesn't
break the golden rule.  Besides, there is way more going on there
than a bunch of substitutions:

* Makefile.am (edit): New common sed substitutions for files now
generated by make instead of config.status.
(CLEANFILES): Clean new tmp files.
(EXTRA_DIST): Add ltmain.sh.
(vcl-tmp): Reinstated.
(m4/ltversion.m4, config/ltmain.sh): New rules.  Generate from
here instead of config.status.
(libtoolize): Ditto.
(libtool): Call config.status to regenerate if necessary.
(dist-hook): Removed.
* config/ltmain.in: Moved here from top_srcdir.
* README-alpha: Update instructions to check AS_SHELL_SANITIZE is
up to date.
* bootstrap: Rewritten.  Generate m4/ltversion.m4 and
config/ltmain.sh because configure depends on them.
* configure.ac (AC_CONFIG_SRCDIR): Use libtoolize.in now that
ltmain.in has moved.
(AC_CONFIG_FILES): Don't generate distributed files,
config/ltmain.sh and libtoolize from config.status.  We have make
rules to do that now.
2004-07-30 23:02:39 +00:00
Gary V. Vaughan
3805a031d9 * Makefile.am ($(top_srcdir)/config/ltmain.sh): Ugh. More hair to
help `make distcheck'; not only do we have to make a copy of
ltmain.sh available in the source tree, but we have to be really
careful about permission bit twiddling when we copy it across into
the possible read-only $(top_srcdir)/config directory!
2004-07-29 19:34:23 +00:00
Gary V. Vaughan
253c26c96c * Makefile.am ($(top_srcdir)/config/ltmain.sh): Automake assumes,
quite rightly for every project except libtool, that there will be
an ltmain.sh in the source tree.
(EXTRA_DIST): As do the dist rules it generates.
(dist-hook): Even though we definitely don't want to distribute
our local ltmain.sh.
2004-07-29 16:49:27 +00:00
Gary V. Vaughan
b0cf8fdd16 This change fixes another VPATH build bug, where the vcl.tmp
target forced a rebuild of stamp-vcl in the build tree (and
hence regeneration of m4/ltversion.m4, thus an automake driven
rebootstrap that doesn't know about $fakes) requiring a fresh
./bootstrap after every cvs/tla update:

* Makefile.am (vcl.tmp): Removed.
(stamp-vcl): Adopt former vcl.tmp target rules.
2004-07-27 12:51:31 +00:00
Gary V. Vaughan
3cb36d316f Automake 1.9 won't have the AC_PROG_EGREP bug (aclocal used to
pull an old installed libtool.m4 as well as the bootstrap
m4/libtool.m4 if an AC_DEFUN was removed), and we have
lt~obsolete.m4 to work around it in the mean time.  libtoolize
can install macro files from $prefix/share/aclocal perfectly well
without us needing to move to a whole other directory:

* Makefile.am (pkgmacro_DATA): Renamed to aclocal_DATA, so m4
files are installed to $prefix/share/aclocal again.
(install-data-local): Don't remove just installed macros!
* libtoolize.in (pkgmacrodir): Renamed to aclocaldir.
(func_copy_some_files): New function factored out of...
(func_copy_all_files): ...here.  Adjust to use func_copy_some_files.
(re_pkgaux_files): Renamed to glob_pkgaux_files, since it is not
a regular expression.
(re_pkgmagro_files): Replaced with...
(pkgmacro_files): ...a colon delimited list of libtool installed
m4 files from aclocaldir.
(Main): Copy macro files from aclocaldir again.
* NEWS: Updated.
2004-06-16 15:08:28 +00:00
Gary V. Vaughan
04e0cebad7 * libltdl/argz.h: Moved from here...
* libltdl/argz_.h: ...to here, so as not to shadow system
argz.h when we `#include <argz.h>' for example.
#include stdlib.h and sys/types.h to ensure we get a size_t
definition.
* libltdl/argz.c (HAVE_CONFIG_H): Set it up how ltdl likes it when
used by another client.
* m4/argz.m4: New file.
(gl_FUNC_ARGZ): Try to find an error_t definition, and a system
argz.h.
* m4/ltdl.m4: Use it.
(AC_LTDL_FUNC_ARGZ): Removed.
* libltdl/lt__glibc.h: #include <argz.h> to pick up either the
system argz.h or our libltdl/argz.h if necessary.
* libltdl/Makefile.am (libltdl_la_SOURCES): Move argz.h from
here...
(ltdldata_DATA): ...here. Along with argz.c.
(argz.h): Generate from argz_.h if the system file is missing.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2004-04-22 22:47:20 +00:00
Gary V. Vaughan
3a79ae38fd * Makefile.am (pkgmacro_DATA): Install ltoptions.m4. 2004-03-29 12:03:29 +00:00
Scott James Remnant
80a18dca96 * Makefile.am (m4/ltversion.m4): Generate serial number by
removing initial '1.' from the revision, replace @MACRO_SERIAL@
with this new variable.
* m4/ltversion.in: Use @MACRO_SERIAL@ for the serial number
as some shells don't like a '.' when using test.
2004-02-15 17:57:31 +00:00
Scott James Remnant
2e3dde20ea * Makefile.am (pkgmacro_DATA): We have to distribute
m4/ltversion.m4 because it can be needed before the Makefile
that generates it exists.
2004-02-13 00:40:37 +00:00
Scott James Remnant
20edd8bb0d * Makefile.maint, Makefile: Move rules intended for Libtool
maintainers only out of the Makefile we distribute and into one
that we only need keep in CVS.
* README-alpha: Add -fMakefile.maint to the instructions where
needed.
2004-02-12 23:50:56 +00:00