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>
preamble.
* tests/defs: Put a full m4sh.m4 style 'Be Bourne compatible'
preamble in here too.
* HACKING: Note that tests/defs needs synching with m4sh.m4 too.
* TODO: Add new item.
compatible. Instead, revert to the old way of doing things with
an array of symbol name vs. address, and adding the originator as
the first symbol but with a NULL address:
* config/ltmain.in (func_extract_dlsyms): Store originator as a
NULL address symbol.
* libltdl/ltdl.h (lt_dlsymbol): Removed.
(lt_dlsymlist): Remove originator field.
(LTDL_SET_PRELOADED_SYMBOLS): Adjust.
* libltdl/loaders/preopen.c (vm_open, lt_dlpreload_open): Adjust
for new types.
(vm_sym): Skip the new originator symbol when scanning symbol
names.
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust preloaded symbols
test file to match.
* NEWS: Updated.
dependency libraries from dlpreopened modules to libraries:
* config/ltmain.in: Support new -weak link mode option. Adjust
help message.
* libltdl/Makefile.am (libltdlc_la_LDFLAGS): Use it.
* doc/libtool.texi (Linking with dlopened modules): Document it.
(Link mode): Mention -weak.
* NEWS: Updated.
complaint now, and recently a few more have crept in. Make a
start at refactoring the code with shell functions, and
standardising on option parsing style:
* config/ltmain.in (func_echo, func_verbose, func_error)
(func_fatal_error, func_fatal_help, func_missing_arg)
(func_version, func_usage, func_help): Boiler plate shell
functions mostly copied from libtoolize.in. Changed *lots* of
shell snippets to call these functions as appropriate, rather than
inlining the same code over and over.
(func_config, func_features, func_enable_tag, func_mode_help):
Factored out from the shared option parsing loop. Write a new
shared option parser based on the one in libtoolize.in.
(func_check_version_match): Factored out from global scope.
(func_mode_compile, func_mode_execute, func_mode_finish)
(func_mode_install, func_mode_link, func_mode_uninstall): Break
each of the top level mode handlers out into a function. Adjust
main loop.
(modename, prevopt, prev, optarg, show_help): Removed in the
course of cleaning up the shared option parser.
(opt_duplicate_deps): Use `:' and `false' instead of `yes' and `',
so we can run it directly, rather than calling test.
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.
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.