2008-11-07 15:58:24 +08:00
|
|
|
m4_pattern_allow([dnl])
|
Remove double `Generated from foo.m4sh' lines.
We now require a modern Autoconf to bootstrap libtool, which
will add the `Generated by ...' boiler-plate automatically,
so we can remove the hand-rolled @configure_input@
substitutions we had been doing:
* clcommit.m4sh, libtoolize.m4sh, tests/defs.sh,
libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh,
libltdl/config/mailnotify.m4sh: Remove @configure_input@.
* Makefile.am (edit): Remove configure_input substitution.
(libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4)
(tests/defs): Don't set `$input' shell variable.
* Makefile.maint (announce_gen, libltdl/config/mailnotify)
(commit): Likewise.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-08-31 18:54:10 +08:00
|
|
|
AS_INIT[]m4_divert_push([HEADER-COPYRIGHT])
|
2011-10-20 23:17:23 +08:00
|
|
|
# libtoolize (GNU @PACKAGE@) @VERSION@
|
2004-08-29 00:15:23 +08:00
|
|
|
# Written by Gary V. Vaughan <gary@gnu.org>, 2003
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2011-01-02 12:54:24 +08:00
|
|
|
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
|
|
|
# Free Software Foundation, Inc.
|
2003-10-07 19:12:16 +08:00
|
|
|
# This is free software; see the source for copying conditions. There is NO
|
|
|
|
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
* HACKING (Licensing Rules): Explain the various license texts
used for files distributed with Libtool, and update license text
to match.
* Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO,
bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/config/general.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
libltdl/config/mkstamp, 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/m4/argz.m4, libltdl/m4/libtool.m4,
libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4,
libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in,
Jlibltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4,
libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at,
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/cdemo/Makefile.am, tests/cdemo/configure.ac,
tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c,
tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh,
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/demo/Makefile.am, tests/demo/configure.ac,
tests/demo/dlmain.c, tests/demo/foo.c,
tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c,
tests/demo/hello.c, tests/demo/main.c,
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/depdemo/Makefile.am,
tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am,
tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h,
tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c,
tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am,
tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h,
tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c,
tests/depdemo/l4/l4.h, tests/depdemo/main.c,
tests/depdemo/sysdep.h, tests/deplibs-ident.at,
tests/destdir.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/export.at,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/f77demo/Makefile.am,
tests/f77demo/configure.ac, tests/f77demo/cprogram.c,
tests/f77demo/foo.h, tests/f77demo/fooc.c,
tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test,
tests/fcdemo-make.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test, tests/fcdemo/Makefile.am,
tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c,
tests/fcdemo/foo.h, tests/fcdemo/fooc.c,
tests/inherited_flags.at, tests/libtoolize.at,
tests/link-2.test, tests/link-order.at, tests/link-order2.at,
tests/link.test, tests/lt_dlexit.at, 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/mdemo/Makefile.am,
tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c,
tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c,
tests/mdemo/sub.c, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test,
tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac,
tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at,
tests/objectlist.test, tests/old-m4-iface.at,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo/Makefile.am, tests/pdemo/configure.ac,
tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c,
tests/pdemo/longer_file_name_foo.c,
tests/pdemo/longer_file_name_foo2.c,
tests/pdemo/longer_file_name_hell1.c,
tests/pdemo/longer_file_name_hell2.c,
tests/pdemo/longer_file_name_hello.c,
tests/pdemo/longer_file_name_main.c, tests/quote.test,
tests/recursive.at, tests/search-path.at, tests/sh.test,
tests/shlibpath.at, tests/standalone.at, tests/static.at,
tests/stresstest.at, tests/subproject.at, 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/tagdemo/Makefile.am, tests/tagdemo/baz.cpp,
tests/tagdemo/baz.h, tests/tagdemo/configure.ac,
tests/tagdemo/conv.cpp, tests/tagdemo/conv.h,
tests/tagdemo/foo.cpp, tests/tagdemo/foo.h,
tests/tagdemo/main.cpp, tests/tagtrace.test,
tests/template.at, tests/testsuite.at: Apply correct license
text according to the new rules set out in HACKING.
2007-03-25 20:12:44 +08:00
|
|
|
# Libtoolize is free software; you can redistribute it and/or modify
|
1997-04-02 02:29:23 +08:00
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
|
|
# (at your option) any later version.
|
|
|
|
#
|
* HACKING (Licensing Rules): Explain the various license texts
used for files distributed with Libtool, and update license text
to match.
* Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO,
bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/config/general.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
libltdl/config/mkstamp, 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/m4/argz.m4, libltdl/m4/libtool.m4,
libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4,
libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in,
Jlibltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4,
libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at,
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/cdemo/Makefile.am, tests/cdemo/configure.ac,
tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c,
tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh,
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/demo/Makefile.am, tests/demo/configure.ac,
tests/demo/dlmain.c, tests/demo/foo.c,
tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c,
tests/demo/hello.c, tests/demo/main.c,
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/depdemo/Makefile.am,
tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am,
tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h,
tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c,
tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am,
tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h,
tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c,
tests/depdemo/l4/l4.h, tests/depdemo/main.c,
tests/depdemo/sysdep.h, tests/deplibs-ident.at,
tests/destdir.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/export.at,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/f77demo/Makefile.am,
tests/f77demo/configure.ac, tests/f77demo/cprogram.c,
tests/f77demo/foo.h, tests/f77demo/fooc.c,
tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test,
tests/fcdemo-make.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test, tests/fcdemo/Makefile.am,
tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c,
tests/fcdemo/foo.h, tests/fcdemo/fooc.c,
tests/inherited_flags.at, tests/libtoolize.at,
tests/link-2.test, tests/link-order.at, tests/link-order2.at,
tests/link.test, tests/lt_dlexit.at, 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/mdemo/Makefile.am,
tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c,
tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c,
tests/mdemo/sub.c, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test,
tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac,
tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at,
tests/objectlist.test, tests/old-m4-iface.at,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo/Makefile.am, tests/pdemo/configure.ac,
tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c,
tests/pdemo/longer_file_name_foo.c,
tests/pdemo/longer_file_name_foo2.c,
tests/pdemo/longer_file_name_hell1.c,
tests/pdemo/longer_file_name_hell2.c,
tests/pdemo/longer_file_name_hello.c,
tests/pdemo/longer_file_name_main.c, tests/quote.test,
tests/recursive.at, tests/search-path.at, tests/sh.test,
tests/shlibpath.at, tests/standalone.at, tests/static.at,
tests/stresstest.at, tests/subproject.at, 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/tagdemo/Makefile.am, tests/tagdemo/baz.cpp,
tests/tagdemo/baz.h, tests/tagdemo/configure.ac,
tests/tagdemo/conv.cpp, tests/tagdemo/conv.h,
tests/tagdemo/foo.cpp, tests/tagdemo/foo.h,
tests/tagdemo/main.cpp, tests/tagtrace.test,
tests/template.at, tests/testsuite.at: Apply correct license
text according to the new rules set out in HACKING.
2007-03-25 20:12:44 +08:00
|
|
|
# Libtoolize is distributed in the hope that it will be useful, but
|
1997-04-02 02:29:23 +08:00
|
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
* HACKING (Licensing Rules): Explain the various license texts
used for files distributed with Libtool, and update license text
to match.
* Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO,
bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/config/general.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
libltdl/config/mkstamp, 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/m4/argz.m4, libltdl/m4/libtool.m4,
libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4,
libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in,
Jlibltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4,
libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at,
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/cdemo/Makefile.am, tests/cdemo/configure.ac,
tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c,
tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh,
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/demo/Makefile.am, tests/demo/configure.ac,
tests/demo/dlmain.c, tests/demo/foo.c,
tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c,
tests/demo/hello.c, tests/demo/main.c,
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/depdemo/Makefile.am,
tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am,
tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h,
tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c,
tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am,
tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h,
tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c,
tests/depdemo/l4/l4.h, tests/depdemo/main.c,
tests/depdemo/sysdep.h, tests/deplibs-ident.at,
tests/destdir.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/export.at,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/f77demo/Makefile.am,
tests/f77demo/configure.ac, tests/f77demo/cprogram.c,
tests/f77demo/foo.h, tests/f77demo/fooc.c,
tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test,
tests/fcdemo-make.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test, tests/fcdemo/Makefile.am,
tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c,
tests/fcdemo/foo.h, tests/fcdemo/fooc.c,
tests/inherited_flags.at, tests/libtoolize.at,
tests/link-2.test, tests/link-order.at, tests/link-order2.at,
tests/link.test, tests/lt_dlexit.at, 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/mdemo/Makefile.am,
tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c,
tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c,
tests/mdemo/sub.c, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test,
tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac,
tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at,
tests/objectlist.test, tests/old-m4-iface.at,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo/Makefile.am, tests/pdemo/configure.ac,
tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c,
tests/pdemo/longer_file_name_foo.c,
tests/pdemo/longer_file_name_foo2.c,
tests/pdemo/longer_file_name_hell1.c,
tests/pdemo/longer_file_name_hell2.c,
tests/pdemo/longer_file_name_hello.c,
tests/pdemo/longer_file_name_main.c, tests/quote.test,
tests/recursive.at, tests/search-path.at, tests/sh.test,
tests/shlibpath.at, tests/standalone.at, tests/static.at,
tests/stresstest.at, tests/subproject.at, 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/tagdemo/Makefile.am, tests/tagdemo/baz.cpp,
tests/tagdemo/baz.h, tests/tagdemo/configure.ac,
tests/tagdemo/conv.cpp, tests/tagdemo/conv.h,
tests/tagdemo/foo.cpp, tests/tagdemo/foo.h,
tests/tagdemo/main.cpp, tests/tagtrace.test,
tests/template.at, tests/testsuite.at: Apply correct license
text according to the new rules set out in HACKING.
2007-03-25 20:12:44 +08:00
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
1997-04-02 02:29:23 +08:00
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
* HACKING (Licensing Rules): Explain the various license texts
used for files distributed with Libtool, and update license text
to match.
* Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO,
bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/config/general.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
libltdl/config/mkstamp, 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/m4/argz.m4, libltdl/m4/libtool.m4,
libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4,
libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in,
Jlibltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4,
libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at,
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/cdemo/Makefile.am, tests/cdemo/configure.ac,
tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c,
tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh,
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/demo/Makefile.am, tests/demo/configure.ac,
tests/demo/dlmain.c, tests/demo/foo.c,
tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c,
tests/demo/hello.c, tests/demo/main.c,
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/depdemo/Makefile.am,
tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am,
tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h,
tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c,
tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am,
tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h,
tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c,
tests/depdemo/l4/l4.h, tests/depdemo/main.c,
tests/depdemo/sysdep.h, tests/deplibs-ident.at,
tests/destdir.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/export.at,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/f77demo/Makefile.am,
tests/f77demo/configure.ac, tests/f77demo/cprogram.c,
tests/f77demo/foo.h, tests/f77demo/fooc.c,
tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test,
tests/fcdemo-make.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test, tests/fcdemo/Makefile.am,
tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c,
tests/fcdemo/foo.h, tests/fcdemo/fooc.c,
tests/inherited_flags.at, tests/libtoolize.at,
tests/link-2.test, tests/link-order.at, tests/link-order2.at,
tests/link.test, tests/lt_dlexit.at, 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/mdemo/Makefile.am,
tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c,
tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c,
tests/mdemo/sub.c, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test,
tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac,
tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at,
tests/objectlist.test, tests/old-m4-iface.at,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo/Makefile.am, tests/pdemo/configure.ac,
tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c,
tests/pdemo/longer_file_name_foo.c,
tests/pdemo/longer_file_name_foo2.c,
tests/pdemo/longer_file_name_hell1.c,
tests/pdemo/longer_file_name_hell2.c,
tests/pdemo/longer_file_name_hello.c,
tests/pdemo/longer_file_name_main.c, tests/quote.test,
tests/recursive.at, tests/search-path.at, tests/sh.test,
tests/shlibpath.at, tests/standalone.at, tests/static.at,
tests/stresstest.at, tests/subproject.at, 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/tagdemo/Makefile.am, tests/tagdemo/baz.cpp,
tests/tagdemo/baz.h, tests/tagdemo/configure.ac,
tests/tagdemo/conv.cpp, tests/tagdemo/conv.h,
tests/tagdemo/foo.cpp, tests/tagdemo/foo.h,
tests/tagdemo/main.cpp, tests/tagtrace.test,
tests/template.at, tests/testsuite.at: Apply correct license
text according to the new rules set out in HACKING.
2007-03-25 20:12:44 +08:00
|
|
|
# along with libtoolize; see the file COPYING. If not, a copy
|
|
|
|
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
|
|
|
# or obtained by writing to the Free Software Foundation, Inc.,
|
|
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
1997-04-02 02:29:23 +08:00
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
# Usage: $progname [OPTION]...
|
|
|
|
#
|
|
|
|
# Prepare a package to use libtool.
|
|
|
|
#
|
Man pages for libtoolize and libtool, --help-all.
* Makefile.am (dist_man1_MANS, update_mans): New macros.
($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New
rules. Use --help-all for libtool.
(MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS.
(BUILT_SOURCES): Add libtoolize.
* configure.ac: Check for help2man, set HELP2MAN.
* doc/libtool.texi: Add @direntry for libtool-invocation.
(Invoking libtool): Document -h, --help-all. Reorder mode
description for consistency.
(Compile mode): Do not document -Wl,FLAG and -XCClinker here.
(Link mode): Document -Wc,FLAG here, reformat a bit.
* libtoolize.m4sh: Reformat --help output a bit, to help
help2man.
* libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to
`libtool', not `ltmain.sh', so the former is used in the man
page.
New argument `--help-all'. If given, call func_help and
func_mode_help several times, beating output in shape with sed.
(func_mode_help): Do not exit here.
* libltdl/config/getopt.m4sh (func_usage): Work with different
indentations, but require comment hash in first column, when
grepping for '-h' in usage to end short help.
(func_help): Accept optional argument to not exit.
* NEWS, THANKS: Update.
Suggestion by Karl Berry.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-09-20 14:50:50 +08:00
|
|
|
# -c, --copy copy files rather than symlinking them
|
|
|
|
# --debug enable verbose shell tracing
|
|
|
|
# -n, --dry-run print commands rather than running them
|
|
|
|
# -f, --force replace existing files
|
|
|
|
# -i, --install copy missing auxiliary files
|
|
|
|
# --ltdl[=DIR] install libltdl sources [default: libltdl]
|
|
|
|
# --no-warn don't display warning messages
|
|
|
|
# --nonrecursive prepare ltdl for non-recursive make
|
|
|
|
# -q, --quiet work silently
|
|
|
|
# --recursive prepare ltdl for recursive make
|
|
|
|
# --subproject prepare ltdl to configure and build independently
|
|
|
|
# -v, --verbose verbosely report processing
|
|
|
|
# --version print version information and exit
|
|
|
|
# -h, --help print short or long help message
|
2003-10-07 19:12:16 +08:00
|
|
|
#
|
2008-04-30 03:11:54 +08:00
|
|
|
# The following space or comma delimited options can be passed to $progname
|
|
|
|
# via the environment variable LIBTOOLIZE_OPTIONS, unknown environment
|
|
|
|
# options are ignored:
|
|
|
|
#
|
Man pages for libtoolize and libtool, --help-all.
* Makefile.am (dist_man1_MANS, update_mans): New macros.
($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New
rules. Use --help-all for libtool.
(MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS.
(BUILT_SOURCES): Add libtoolize.
* configure.ac: Check for help2man, set HELP2MAN.
* doc/libtool.texi: Add @direntry for libtool-invocation.
(Invoking libtool): Document -h, --help-all. Reorder mode
description for consistency.
(Compile mode): Do not document -Wl,FLAG and -XCClinker here.
(Link mode): Document -Wc,FLAG here, reformat a bit.
* libtoolize.m4sh: Reformat --help output a bit, to help
help2man.
* libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to
`libtool', not `ltmain.sh', so the former is used in the man
page.
New argument `--help-all'. If given, call func_help and
func_mode_help several times, beating output in shape with sed.
(func_mode_help): Do not exit here.
* libltdl/config/getopt.m4sh (func_usage): Work with different
indentations, but require comment hash in first column, when
grepping for '-h' in usage to end short help.
(func_help): Accept optional argument to not exit.
* NEWS, THANKS: Update.
Suggestion by Karl Berry.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-09-20 14:50:50 +08:00
|
|
|
# --debug enable verbose shell tracing
|
|
|
|
# --no-warn don't display warning messages
|
|
|
|
# --quiet work silently
|
|
|
|
# --verbose verbosely report processing
|
2008-04-30 03:11:54 +08:00
|
|
|
#
|
2003-10-07 19:12:16 +08:00
|
|
|
# You must `cd' to the top directory of your package before you run
|
|
|
|
# `$progname'.
|
|
|
|
#
|
2004-08-29 00:15:23 +08:00
|
|
|
# When reporting a bug, please describe a test case to reproduce it and
|
|
|
|
# include the following information:
|
|
|
|
#
|
|
|
|
# host-triplet: @host_triplet@
|
2011-10-20 23:17:23 +08:00
|
|
|
# $progname: (GNU @PACKAGE@) @VERSION@
|
2004-08-29 00:15:23 +08:00
|
|
|
# automake: $automake_version
|
|
|
|
# autoconf: $autoconf_version
|
|
|
|
#
|
2010-06-13 18:28:58 +08:00
|
|
|
# Report bugs to <@PACKAGE_BUGREPORT@>.
|
|
|
|
# GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
|
|
|
|
# General help using GNU software: <http://www.gnu.org/gethelp/>.
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2005-09-10 23:38:27 +08:00
|
|
|
: ${TAR=tar}
|
|
|
|
|
1997-04-02 02:29:23 +08:00
|
|
|
PROGRAM=libtoolize
|
|
|
|
|
2008-11-10 15:25:24 +08:00
|
|
|
m4_divert_pop
|
2004-09-23 09:16:41 +08:00
|
|
|
m4_include([getopt.m4sh])
|
2004-02-12 21:18:52 +08:00
|
|
|
|
2007-03-06 08:46:56 +08:00
|
|
|
M4SH_VERBATIM([[
|
2008-04-30 03:11:54 +08:00
|
|
|
# Parse environment options
|
|
|
|
{
|
|
|
|
my_sed_env_opt='1s/^\([^,:; ]*\).*$/\1/;q'
|
|
|
|
my_sed_env_rest='1s/^[^,:; ]*[,:; ]*\(.*\)$/\1/;q'
|
|
|
|
|
|
|
|
while test -n "$LIBTOOLIZE_OPTIONS"; do
|
|
|
|
opt=`echo "$LIBTOOLIZE_OPTIONS" | sed "$my_sed_env_opt"`
|
|
|
|
LIBTOOLIZE_OPTIONS=`echo "$LIBTOOLIZE_OPTIONS" | sed "$my_sed_env_rest"`
|
|
|
|
|
|
|
|
case $opt in
|
2010-06-11 14:01:48 +08:00
|
|
|
--debug|--no-warn|--quiet|--verbose)
|
|
|
|
envopts="${envopts+$envopts }$opt" ;;
|
|
|
|
--*) env_warning="${env_warning+$env_warning
|
|
|
|
}unrecognized environment option \`$opt'" ;;
|
2008-04-30 03:11:54 +08:00
|
|
|
*) func_fatal_help "garbled LIBTOOLIZE_OPTIONS near \`$opt'" ;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
2010-06-11 14:01:48 +08:00
|
|
|
test -n "$envopts" && {
|
|
|
|
func_quote_for_eval "$envopts"
|
|
|
|
eval set dummy "$func_quote_for_eval_result" ${1+"$@"}
|
2004-02-12 21:18:52 +08:00
|
|
|
shift
|
2010-06-11 14:01:48 +08:00
|
|
|
}
|
2003-10-07 19:12:16 +08:00
|
|
|
}
|
2010-06-11 14:01:48 +08:00
|
|
|
]])
|
|
|
|
|
|
|
|
dnl SHORT LONG DEFAULT INIT
|
|
|
|
dnl ----------------------------------------------------------------------
|
|
|
|
dnl --automake, below, is for compatibility with automake 1.5
|
|
|
|
M4SH_GETOPTS(
|
|
|
|
[c], [--copy], [], [],
|
|
|
|
[f], [--force], [], [],
|
|
|
|
[i], [--install], [], [],
|
|
|
|
[n], [--dry-run|--dryrun], [], [
|
|
|
|
CP="func_echo_all $CP"
|
|
|
|
test -n "$LN_S" && LN_S="func_echo_all $LN_S"
|
|
|
|
MKDIR="func_echo_all $MKDIR"
|
|
|
|
RM="func_echo_all $RM"
|
|
|
|
TAR="func_echo_all $TAR"],
|
|
|
|
[q], [--quiet|--automake], [], [],
|
|
|
|
[v], [--verbose], [], [],
|
|
|
|
[], [--no-warning|--no-warn], [], [],
|
|
|
|
[], [--nonrecursive|--non-recursive], [], [],
|
|
|
|
[], [--recursive], [], [],
|
2011-11-07 12:34:13 +08:00
|
|
|
[], [--subproject], [], [],
|
2010-06-11 14:01:48 +08:00
|
|
|
[?], [--ltdl], [false], [
|
|
|
|
# This is tricky, since we're overloading $opt_ltdl to be the
|
|
|
|
# optarg for --ltdl during option processing, but then stashing
|
2011-11-04 15:43:23 +08:00
|
|
|
# the (optional) optarg in $ltdl_dir and reusing $opt_ltdl to
|
2010-06-11 14:01:48 +08:00
|
|
|
# indicate that --ltdl was seen during option processing. Also,
|
2011-11-04 15:43:23 +08:00
|
|
|
# be careful that --ltdl=foo --ltdl=bar results in ltdl_dir=bar:
|
2010-06-11 14:01:48 +08:00
|
|
|
case $opt_ltdl in
|
|
|
|
false|:) ;; # a bare '--ltdl' followed by another option
|
2011-11-04 15:43:23 +08:00
|
|
|
*) ltdl_dir=`$ECHO "$optarg" |$SED 's,/*$,,'` ;;
|
2010-06-11 14:01:48 +08:00
|
|
|
esac
|
|
|
|
opt_ltdl=:],
|
|
|
|
[
|
|
|
|
# show any warnings saved by LIBTOOLIZE_OPTIONS parsing
|
|
|
|
test -n "$env_warning" &&
|
|
|
|
echo "$env_warning" |while read line; do func_warning "$line"; done
|
|
|
|
|
2011-11-07 18:49:39 +08:00
|
|
|
# validate $opt_nonrecursive, $opt_recursive and $opt_subproject
|
2010-06-11 14:01:48 +08:00
|
|
|
if $opt_nonrecursive; then
|
2011-11-07 12:34:13 +08:00
|
|
|
if $opt_recursive || $opt_subproject; then
|
|
|
|
func_error "you can have at most one of --non-recursive, --recursive and --subproject"
|
2010-06-11 14:01:48 +08:00
|
|
|
fi
|
|
|
|
ltdl_mode=nonrecursive
|
|
|
|
elif $opt_recursive; then
|
2011-11-07 12:34:13 +08:00
|
|
|
$opt_subproject &&
|
|
|
|
func_error "you can have at most one of --non-recursive, --recursive and --subproject"
|
2010-06-11 14:01:48 +08:00
|
|
|
ltdl_mode=recursive
|
2011-11-07 12:34:13 +08:00
|
|
|
elif $opt_subproject; then
|
|
|
|
ltdl_mode=subproject
|
2010-06-11 14:01:48 +08:00
|
|
|
fi
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2010-06-11 14:01:48 +08:00
|
|
|
# any remaining arguments are an error
|
|
|
|
test [$]# -gt 0 &&
|
|
|
|
func_fatal_help "unknown additional arguments: \`${1+$@}'"
|
|
|
|
])
|
2004-09-03 08:26:37 +08:00
|
|
|
|
2010-06-11 14:01:48 +08:00
|
|
|
|
|
|
|
M4SH_VERBATIM([[
|
2008-04-23 06:55:20 +08:00
|
|
|
# func_echo_once msg_var
|
|
|
|
# Calls func_echo with the value of MSG_VAR, and then sets MSG_VAR="" so
|
|
|
|
# that subsequent calls have no effect.
|
|
|
|
func_echo_once ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
if test -n "$1"; then
|
|
|
|
eval my_msg=\$$1
|
|
|
|
|
|
|
|
if test -n "$my_msg"; then
|
|
|
|
func_echo "$my_msg"
|
|
|
|
eval $1=""
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# func_copy srcfile destfile [msg_var]
|
2005-02-22 23:27:07 +08:00
|
|
|
# A wrapper for func_copy_cb that accepts arguments in the same order
|
|
|
|
# as the cp(1) shell command.
|
2003-10-07 19:12:16 +08:00
|
|
|
func_copy ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
2005-02-22 23:27:07 +08:00
|
|
|
|
|
|
|
test -f "$1" || \
|
|
|
|
{ func_error "\`$1' not copied: not a regular file"; return 1; }
|
|
|
|
|
2008-11-23 21:52:32 +08:00
|
|
|
func_dirname_and_basename "$1"
|
|
|
|
my_f1=$func_basename_result
|
2005-02-22 23:27:07 +08:00
|
|
|
|
|
|
|
if test -d "$2"; then
|
|
|
|
|
2005-02-26 01:50:23 +08:00
|
|
|
func_copy_cb "$my_f1" \
|
2008-11-23 21:38:24 +08:00
|
|
|
`$ECHO "$1" | $SED "$dirname"` "$2" "$3"
|
2005-02-22 23:27:07 +08:00
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
else
|
2005-02-22 23:27:07 +08:00
|
|
|
|
|
|
|
# Supporting this would mean changing the timestamp:
|
2008-11-23 21:52:32 +08:00
|
|
|
func_dirname_and_basename "$2"
|
|
|
|
my_tname=$func_basename_result
|
|
|
|
test "X$my_f1" = "X$my_tname" \
|
2005-02-22 23:27:07 +08:00
|
|
|
|| func_fatal_error "func_copy() cannot change filename on copy"
|
|
|
|
|
|
|
|
func_copy_cb "$my_f1" \
|
2008-11-23 21:38:24 +08:00
|
|
|
`$ECHO "$1" | $SED "$dirname"` \
|
|
|
|
`$ECHO "$2" | $SED "$dirname"` \
|
2008-04-23 06:55:20 +08:00
|
|
|
"$3"
|
2005-02-22 23:27:07 +08:00
|
|
|
|
1997-04-02 03:19:30 +08:00
|
|
|
fi
|
|
|
|
|
2005-02-22 23:27:07 +08:00
|
|
|
return $copy_return_status # set in func_copy_cb
|
2003-10-07 19:12:16 +08:00
|
|
|
}
|
1997-04-02 02:29:23 +08:00
|
|
|
|
2004-11-29 21:50:54 +08:00
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
# func_copy_cb filename srcdir destdir [msg_var]
|
2005-02-22 23:27:07 +08:00
|
|
|
# If option `--copy' was specified, or soft-linking SRCFILE to DESTFILE fails,
|
|
|
|
# then try to copy SRCFILE to DESTFILE (without changing the timestamp if
|
|
|
|
# possible).
|
2004-11-29 21:50:54 +08:00
|
|
|
func_copy_cb ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2005-02-22 23:27:07 +08:00
|
|
|
my_file="$1"
|
|
|
|
my_srcdir="$2"
|
|
|
|
my_destdir="$3"
|
2008-04-23 06:55:20 +08:00
|
|
|
my_msg_var="$4"
|
2005-02-22 23:27:07 +08:00
|
|
|
copy_return_status=1
|
|
|
|
|
|
|
|
# Libtool is probably misinstalled if this happens:
|
2009-01-19 16:05:31 +08:00
|
|
|
test -f "$my_srcdir/$my_file" ||
|
2005-12-04 22:34:03 +08:00
|
|
|
func_fatal_error "\`$my_file' not found in \`$my_srcdir'"
|
2005-02-22 23:27:07 +08:00
|
|
|
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* 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): Adjust to
compensate.
* 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.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
case $opt_verbose in
|
|
|
|
false) my_copy_msg="file \`$my_destdir/$my_file'" ;;
|
|
|
|
*) my_copy_msg="file from \`$my_srcdir/$my_file'" ;;
|
|
|
|
esac
|
2008-11-23 21:38:24 +08:00
|
|
|
func_mkdir_p `$ECHO "$my_destdir/$my_file" | $SED "$dirname"`
|
2005-02-22 23:27:07 +08:00
|
|
|
|
|
|
|
$RM "$my_destdir/$my_file"
|
2010-06-11 14:01:48 +08:00
|
|
|
if $opt_copy; then
|
|
|
|
if { ( cd "$my_srcdir" && $TAR chf - "$my_file" ) 2>/dev/null \
|
|
|
|
| ( umask 0 && cd "$my_destdir" && $TAR xf - ) >/dev/null 2>&1; } \
|
|
|
|
&& touch "$my_destdir/$my_file"; then
|
|
|
|
$opt_quiet || func_echo_once "$my_msg_var"
|
|
|
|
$opt_quiet || func_echo "copying $my_copy_msg"
|
|
|
|
copy_return_status=0
|
|
|
|
fi
|
|
|
|
else
|
2006-06-13 01:54:15 +08:00
|
|
|
if test "$my_file" = "aclocal.m4"; then
|
|
|
|
if { ( cd "$my_srcdir" && $TAR chf - "$my_file" ) 2>/dev/null \
|
|
|
|
| ( umask 0 && cd "$my_destdir" && $TAR xf - ) >/dev/null 2>&1 ; }
|
|
|
|
then
|
2008-04-23 06:55:20 +08:00
|
|
|
$opt_quiet || func_echo_once "$my_msg_var"
|
2006-06-13 01:54:15 +08:00
|
|
|
$opt_quiet || func_echo "copying $my_copy_msg"
|
|
|
|
copy_return_status=0
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
if $LN_S "$my_srcdir/$my_file" "$my_destdir/$my_file"; then
|
2008-04-23 06:55:20 +08:00
|
|
|
$opt_quiet || func_echo_once "$my_msg_var"
|
2006-06-13 01:54:15 +08:00
|
|
|
$opt_quiet || func_echo "linking $my_copy_msg"
|
|
|
|
copy_return_status=0
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if test "$copy_return_status" != 0; then
|
2008-04-23 06:55:20 +08:00
|
|
|
$opt_quiet || func_echo_once "$my_msg_var"
|
2005-02-22 23:27:07 +08:00
|
|
|
func_error "can not copy \`$my_srcdir/$my_file' to \`$my_destdir/'"
|
|
|
|
exit_status=$EXIT_FAILURE
|
|
|
|
fi
|
2004-11-29 21:50:54 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
# func_copy_some_files srcfile_spec srcdir destdir [msg_var] [cb=func_copy_cb]
|
2005-04-30 17:30:14 +08:00
|
|
|
# Call COPY_CB for each regular file in SRCDIR named by the ':' delimited
|
|
|
|
# names in SRCFILE_SPEC. The odd calling convention is needed to allow
|
|
|
|
# spaces in file and directory names.
|
2004-06-16 23:08:28 +08:00
|
|
|
func_copy_some_files ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2004-11-29 21:50:54 +08:00
|
|
|
my_srcfile_spec="$1"
|
2005-04-30 17:30:14 +08:00
|
|
|
my_srcdir="$2"
|
2004-06-16 23:08:28 +08:00
|
|
|
my_destdir="$3"
|
2008-04-23 06:55:20 +08:00
|
|
|
my_msg_var="$4"
|
|
|
|
my_copy_cb="${5-func_copy_cb}"
|
2004-06-16 23:08:28 +08:00
|
|
|
|
|
|
|
my_save_IFS="$IFS"
|
|
|
|
IFS=:
|
|
|
|
for my_filename in $my_srcfile_spec; do
|
2005-04-30 17:30:14 +08:00
|
|
|
IFS="$my_save_IFS"
|
|
|
|
if test -f "$my_srcdir/$my_filename"; then
|
|
|
|
if test "X$my_copy_cb" = Xfunc_copy_cb; then
|
|
|
|
$opt_force || if test -f "$my_destdir/$my_filename"; then
|
2008-04-23 06:55:20 +08:00
|
|
|
$opt_quiet || func_echo_once "$my_msg_var"
|
2009-01-19 16:05:31 +08:00
|
|
|
$opt_quiet \
|
2005-04-30 17:30:14 +08:00
|
|
|
|| func_error "\`$my_destdir/$my_filename' exists: use \`--force' to overwrite"
|
|
|
|
continue
|
|
|
|
fi
|
2003-10-07 19:12:16 +08:00
|
|
|
fi
|
2005-04-30 17:30:14 +08:00
|
|
|
else
|
2008-04-23 06:55:20 +08:00
|
|
|
func_echo_once "$my_msg_var"
|
2005-12-04 22:34:03 +08:00
|
|
|
func_fatal_error "\`$my_filename' not found in \`$my_srcdir'"
|
2005-04-30 17:30:14 +08:00
|
|
|
fi
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
$my_copy_cb "$my_filename" "$my_srcdir" "$my_destdir" "$my_msg_var"
|
2003-10-07 19:12:16 +08:00
|
|
|
done
|
2004-06-16 23:08:28 +08:00
|
|
|
IFS="$my_save_IFS"
|
2003-10-07 19:12:16 +08:00
|
|
|
}
|
|
|
|
|
2008-02-01 00:17:06 +08:00
|
|
|
|
2006-06-13 01:54:15 +08:00
|
|
|
# func_fixup_Makefile srcfile srcdir destdir
|
|
|
|
func_fixup_Makefile ()
|
2005-12-03 16:49:48 +08:00
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
$require_ltdl_dir
|
|
|
|
|
2005-12-03 16:49:48 +08:00
|
|
|
my_filename="$1"
|
|
|
|
my_srcdir="$2"
|
|
|
|
my_destdir="$3"
|
2011-10-31 19:29:35 +08:00
|
|
|
my_fixup_non_subpackage_script='/^[^#]/{
|
2008-02-01 00:17:06 +08:00
|
|
|
s,(LIBOBJS),(ltdl_LIBOBJS),g
|
|
|
|
s,(LTLIBOBJS),(ltdl_LTLIBOBJS),g
|
2006-06-13 01:54:15 +08:00
|
|
|
s,libltdl/configure.ac,,
|
|
|
|
s,libltdl/configure,,
|
|
|
|
s,libltdl/aclocal.m4,,
|
|
|
|
s,libltdl/config-h.in,,
|
|
|
|
s,libltdl/Makefile.am,,
|
2006-10-25 04:07:35 +08:00
|
|
|
s,libltdl/Makefile.in,,
|
2011-10-31 19:29:35 +08:00
|
|
|
/^[ ]*\\\\$/d
|
|
|
|
}'
|
2006-06-13 01:54:15 +08:00
|
|
|
case $my_filename in
|
|
|
|
Makefile.am)
|
|
|
|
my_fixup_non_subpackage_script=`echo "$my_fixup_non_subpackage_script" | \
|
|
|
|
sed 's,libltdl/,,'`
|
|
|
|
my_fixup_inc_paths_script= ;;
|
|
|
|
Makefile.inc)
|
2011-11-04 15:43:23 +08:00
|
|
|
repl=$ltdl_dir
|
2008-11-23 21:38:24 +08:00
|
|
|
repl_uscore=`$ECHO "$repl" | $SED 's,[/.+-],_,g'`
|
2006-06-13 01:54:15 +08:00
|
|
|
my_fixup_inc_paths_script="\
|
|
|
|
s,libltdl_,@repl_uscore@_,
|
|
|
|
s,libltdl/,@repl@/,
|
|
|
|
s,: libltdl/,: @repl@/,
|
2006-10-25 04:07:35 +08:00
|
|
|
s, -Ilibltdl , -I@repl@ ,
|
2006-06-13 01:54:15 +08:00
|
|
|
s,\\\$(libltdl_,\$(@repl_uscore@_,
|
|
|
|
s,)/libltdl ,)/@repl@ ,
|
|
|
|
s,@repl_uscore@,${repl_uscore},g
|
|
|
|
s,@repl@,${repl},g"
|
|
|
|
;;
|
|
|
|
esac
|
2005-12-03 16:49:48 +08:00
|
|
|
|
|
|
|
$RM "$my_destdir/$my_filename" 2>/dev/null
|
|
|
|
$opt_quiet || func_echo "creating file \`$my_destdir/$my_filename'"
|
|
|
|
if $opt_dry_run; then :;
|
|
|
|
else
|
2006-06-13 01:54:15 +08:00
|
|
|
$SED "$my_fixup_non_subpackage_script
|
|
|
|
$my_fixup_inc_paths_script" \
|
|
|
|
< "$my_srcdir/$my_filename" > "$my_destdir/$my_filename" ||
|
2005-12-03 16:49:48 +08:00
|
|
|
func_fatal_error "cannot create $my_destdir/$my_filename"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2011-11-04 01:44:08 +08:00
|
|
|
|
|
|
|
# func_extract_trace macro_name [filename ...]
|
|
|
|
# set `$func_extract_trace_result' to a colon delimited list of arguments
|
|
|
|
# to MACRO_NAME in FILENAME. If no FILENAME is given, then
|
|
|
|
# `configure.ac' is assumed.
|
|
|
|
func_extract_trace ()
|
|
|
|
{
|
|
|
|
$opt_debug
|
|
|
|
|
|
|
|
if test 1 -eq $#; then
|
|
|
|
test -n "$configure_ac" || return
|
|
|
|
set dummy "$@" "$configure_ac"; shift
|
|
|
|
fi
|
|
|
|
|
|
|
|
func_extract_trace_result=`$extract_trace ${1+"$@"}`
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
# func_scan_files
|
2004-01-07 04:25:53 +08:00
|
|
|
# Scan configure.(ac|in) and aclocal.m4 (if present) for use of libltdl
|
|
|
|
# and libtool. Possibly running some of these tools if necessary.
|
|
|
|
# Libtoolize affects the contents of aclocal.m4, and should be run before
|
|
|
|
# aclocal, so we can't use configure --trace which relies on a consistent
|
|
|
|
# configure.(ac|in) and aclocal.m4.
|
2003-10-07 19:12:16 +08:00
|
|
|
func_scan_files ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2011-11-03 22:45:15 +08:00
|
|
|
$require_configure_ac
|
2005-10-03 23:45:47 +08:00
|
|
|
|
2011-11-04 17:10:28 +08:00
|
|
|
test -n "$configure_ac" || return
|
2003-10-07 19:12:16 +08:00
|
|
|
|
|
|
|
# ---------------------------------------------------- #
|
|
|
|
# Probe macro usage in configure.ac and/or aclocal.m4. #
|
|
|
|
# ---------------------------------------------------- #
|
|
|
|
|
2006-01-22 00:44:41 +08:00
|
|
|
my_sed_traces='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,
|
2008-11-07 15:58:24 +08:00
|
|
|
s,^.*AC_REQUIRE(.*$,,; s,^.*m4@&t@_require(.*$,,;
|
|
|
|
s,^.*m4@&t@_define(.*$,,
|
|
|
|
s,^.*A[CU]_DEFUN(.*$,,; s,^.*m4@&t@_defun(.*$,,
|
2008-01-17 13:36:21 +08:00
|
|
|
/\@<:@A[CM]_PROG_LIBTOOL/d
|
2007-03-06 08:46:56 +08:00
|
|
|
/A[CM]_PROG_LIBTOOL/ {
|
2006-01-22 00:44:41 +08:00
|
|
|
s,^.*$,seen_libtool=:,
|
|
|
|
p
|
|
|
|
}
|
2008-01-17 13:36:21 +08:00
|
|
|
/the.*option into.*LT_INIT.*parameter/d
|
|
|
|
/\@<:@LT_INIT/d
|
2009-01-19 16:05:31 +08:00
|
|
|
/LT_INIT/ {
|
2006-01-22 00:44:41 +08:00
|
|
|
s,^.*$,seen_libtool=:,
|
|
|
|
p
|
|
|
|
}
|
2008-01-17 13:36:21 +08:00
|
|
|
/\@<:@LTDL_INIT/d
|
2006-01-22 00:44:41 +08:00
|
|
|
/LTDL_INIT/ {
|
2011-11-04 17:10:28 +08:00
|
|
|
s,^.*$,seen_ltdl=:,
|
2006-01-22 00:44:41 +08:00
|
|
|
p
|
|
|
|
}
|
|
|
|
/LT_WITH_LTDL/ {
|
|
|
|
s,^.*$,seen_ltdl=:,
|
|
|
|
p
|
|
|
|
}
|
|
|
|
/AC_LIB_LTDL/ {
|
|
|
|
s,^.*$,seen_ltdl=:,
|
|
|
|
p
|
|
|
|
}
|
|
|
|
/AC_WITH_LTDL/ {
|
|
|
|
s,^.*$,seen_ltdl=:,
|
|
|
|
p
|
|
|
|
}
|
2005-09-01 19:13:23 +08:00
|
|
|
d'
|
2004-04-14 18:24:25 +08:00
|
|
|
eval `cat aclocal.m4 "$configure_ac" 2>/dev/null | $SED "$my_sed_traces"`
|
2003-10-07 19:12:16 +08:00
|
|
|
}
|
1997-04-02 03:18:28 +08:00
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
# func_included_files searchfile
|
|
|
|
# Output INCLUDEFILE if SEARCHFILE m4_includes it, else output SEARCHFILE.
|
|
|
|
func_included_files ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
my_searchfile="$1"
|
1997-04-02 02:29:23 +08:00
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
my_include_regex=
|
|
|
|
my_sed_include='
|
2008-11-07 15:58:24 +08:00
|
|
|
/^m4@&t@_include(\[.*\])$/ {
|
|
|
|
s,^m4@&t@_include(\[\(.*\)\])$,\1,
|
2006-01-22 00:44:41 +08:00
|
|
|
p
|
|
|
|
}
|
2003-10-07 19:12:16 +08:00
|
|
|
d'
|
|
|
|
|
2004-09-25 00:08:33 +08:00
|
|
|
if test -f "$my_searchfile"; then
|
2008-11-23 21:38:24 +08:00
|
|
|
$ECHO "$my_searchfile"
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2005-09-30 00:36:17 +08:00
|
|
|
# Only recurse when we don't care if all the variables we use get
|
|
|
|
# trashed, since they are in global scope.
|
|
|
|
for my_filename in `$SED "$my_sed_include" "$my_searchfile"`; do
|
|
|
|
func_included_files $my_filename
|
|
|
|
done
|
|
|
|
fi
|
2003-10-07 19:12:16 +08:00
|
|
|
}
|
|
|
|
|
2004-11-29 21:50:54 +08:00
|
|
|
|
2004-01-08 18:34:52 +08:00
|
|
|
# func_serial filename [macro_regex]
|
2003-10-07 19:12:16 +08:00
|
|
|
# Output the value of the serial number comment in FILENAME, where the
|
2004-01-08 18:34:52 +08:00
|
|
|
# comment line must also match MACRO_REGEX, if given.
|
2003-10-07 19:12:16 +08:00
|
|
|
func_serial ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2004-01-08 18:34:52 +08:00
|
|
|
my_filename="$1"
|
|
|
|
my_macro_regex="$2"
|
2007-03-06 08:46:56 +08:00
|
|
|
my_sed_serial='
|
2009-01-19 16:05:31 +08:00
|
|
|
/^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ {
|
2006-01-22 00:44:41 +08:00
|
|
|
s,^# serial \([1-9][0-9.]*\).*$,\1,
|
|
|
|
q
|
|
|
|
}
|
2007-03-06 08:46:56 +08:00
|
|
|
d'
|
2003-10-07 19:12:16 +08:00
|
|
|
|
|
|
|
# Search FILENAME and all the files it m4_includes for a serial number
|
|
|
|
# in the file that AC_DEFUNs MACRO_REGEX.
|
|
|
|
my_serial=
|
2008-11-23 21:52:32 +08:00
|
|
|
func_dirname_and_basename "$my_filename"
|
|
|
|
my_filebase=$func_basename_result
|
2003-10-07 19:12:16 +08:00
|
|
|
for my_file in `func_included_files "$my_filename"`; do
|
2004-03-30 17:38:29 +08:00
|
|
|
if test -z "$my_macro_regex" ||
|
2005-11-01 22:28:20 +08:00
|
|
|
test "$my_filename" = aclocal.m4 ||
|
2008-11-23 21:52:32 +08:00
|
|
|
test "X$my_macro_regex" = "X$my_filebase" ||
|
2004-09-23 09:16:41 +08:00
|
|
|
func_grep '^AC_DEFUN(\@<:@'"$my_macro_regex" "$my_file"
|
2004-03-30 17:38:29 +08:00
|
|
|
then
|
2004-02-12 21:18:52 +08:00
|
|
|
my_serial=`$SED -e "$my_sed_serial" "$my_file"`
|
2003-10-07 19:12:16 +08:00
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
# If the file has no serial number, we assume it's ancient.
|
|
|
|
test -n "$my_serial" || my_serial=0
|
|
|
|
|
2008-11-23 21:38:24 +08:00
|
|
|
$ECHO "$my_serial"
|
2003-10-07 19:12:16 +08:00
|
|
|
}
|
|
|
|
|
2005-02-28 05:19:51 +08:00
|
|
|
|
|
|
|
# func_serial_max serial1 serial2
|
|
|
|
# Compare (possibly multi-part, '.' delimited) serial numbers, and
|
|
|
|
# return the largest in $func_serial_max_result. If they are the
|
|
|
|
# same, func_serial_max_result will be empty.
|
|
|
|
func_serial_max ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2005-02-28 05:19:51 +08:00
|
|
|
my_serial1="$1"
|
|
|
|
my_serial2="$2"
|
|
|
|
|
|
|
|
my_sed_dot='s/\..*$//g'
|
2007-03-06 08:46:56 +08:00
|
|
|
my_sed_rest='s/^[0-9][1-9]*\.*//'
|
|
|
|
my_sed_digits='s/[^0-9.]//g'
|
2005-02-28 05:19:51 +08:00
|
|
|
|
|
|
|
# Incase they turn out to be the same, we'll set it to empty
|
|
|
|
func_serial_max_result=
|
|
|
|
|
2008-11-23 21:38:24 +08:00
|
|
|
test "X$1$2" = X`$ECHO "$1$2" | $SED "$my_sed_digits"` || {
|
2005-02-28 05:19:51 +08:00
|
|
|
func_error "serial numbers \`$1' or \`$2' contain non-digit chars"
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
while test -n "$my_serial1$my_serial2"; do
|
2008-11-23 21:38:24 +08:00
|
|
|
my_serial1_part=`$ECHO "$my_serial1" | $SED "$my_sed_dot"`
|
|
|
|
my_serial2_part=`$ECHO "$my_serial2" | $SED "$my_sed_dot"`
|
2005-02-28 05:19:51 +08:00
|
|
|
|
|
|
|
test -z "$my_serial1_part$my_serial2_part" \
|
|
|
|
&& break
|
|
|
|
|
|
|
|
test -z "$my_serial1_part" \
|
|
|
|
&& { func_serial_max_result="$2"; break; }
|
|
|
|
|
|
|
|
test -z "$my_serial2_part" \
|
|
|
|
&& { func_serial_max_result="$1"; break; }
|
|
|
|
|
|
|
|
test "$my_serial1_part" -gt "$my_serial2_part" \
|
|
|
|
&& { func_serial_max_result="$1"; break; }
|
|
|
|
|
|
|
|
test "$my_serial2_part" -gt "$my_serial1_part" \
|
|
|
|
&& { func_serial_max_result="$2"; break; }
|
|
|
|
|
2008-11-23 21:38:24 +08:00
|
|
|
my_serial1=`$ECHO "$my_serial1" | $SED "$my_sed_rest"`
|
|
|
|
my_serial2=`$ECHO "$my_serial2" | $SED "$my_sed_rest"`
|
2005-02-28 05:19:51 +08:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# func_serial_update_check srcfile src_serial destfile dest_serial
|
|
|
|
# Unless SRC_SERIAL is newer than DEST_SERIAL set $func_serial_update_check
|
|
|
|
# to 'false'.
|
|
|
|
func_serial_update_check ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
$require_ac_ltdl_dir
|
2011-11-04 01:44:08 +08:00
|
|
|
$require_ac_macro_dir
|
|
|
|
|
2005-02-28 05:19:51 +08:00
|
|
|
my_srcfile="$1"
|
|
|
|
my_src_serial="$2"
|
|
|
|
my_destfile="$3"
|
|
|
|
my_dest_serial="$4"
|
|
|
|
my_update_p=:
|
|
|
|
|
|
|
|
if test -f "$my_destfile"; then
|
|
|
|
test "X$my_src_serial" = "X0" && {
|
2008-04-30 03:11:54 +08:00
|
|
|
func_warning "no serial number on \`$my_srcfile', not copying."
|
2005-02-28 05:19:51 +08:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
# Determine whether the destination has an older serial.
|
|
|
|
func_serial_max "$my_src_serial" "$my_dest_serial"
|
|
|
|
test "X$my_src_serial" = "X$func_serial_max_result" || my_update_p=false
|
|
|
|
|
|
|
|
test "X$my_src_serial" = "X$func_serial_max_result" \
|
|
|
|
&& func_verbose "\`$my_srcfile' is serial $my_src_serial, greater than $my_dest_serial in \`$my_destfile'"
|
|
|
|
|
|
|
|
if test "X$my_dest_serial" = "X$func_serial_max_result"; then
|
|
|
|
func_verbose "\`$my_srcfile' is serial $my_src_serial, less than $my_dest_serial in \`$my_destfile'"
|
2011-11-04 15:43:23 +08:00
|
|
|
$opt_force || if test -n "$ac_macro_dir$ac_ltdl_dir"; then
|
2008-04-23 06:55:20 +08:00
|
|
|
func_error "\`$my_destfile' is newer: use \`--force' to overwrite"
|
|
|
|
fi
|
2005-02-28 05:19:51 +08:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
func_serial_update_check_result="$my_update_p"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
# func_aclocal_update_check filename
|
|
|
|
# Unless serial number of FILENAME is newer than the matching serial number
|
|
|
|
# in aclocal.m4, set $func_aclocal_update_check to 'false'.
|
|
|
|
func_aclocal_update_check ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2011-11-05 20:40:30 +08:00
|
|
|
my_filename=$1
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
my_srcfile="$aclocaldir/$1"
|
|
|
|
my_destfile="aclocal.m4"
|
|
|
|
|
2011-11-05 20:40:30 +08:00
|
|
|
case $my_filename in
|
2008-04-23 06:55:20 +08:00
|
|
|
libtool.m4)
|
|
|
|
my_src_serial=`func_serial "$my_srcfile" LT_INIT`
|
|
|
|
my_dest_serial=`func_serial "$my_destfile" LT_INIT`
|
|
|
|
|
|
|
|
# Strictly, this libtoolize ought not to have to deal with ancient
|
|
|
|
# serial formats, but we accept them here to be complete:
|
|
|
|
test "X$my_src_serial" = "X0" &&
|
|
|
|
my_src_serial=`func_serial "$my_srcfile" 'A[CM]_PROG_LIBTOOL'`
|
|
|
|
test "X$my_dest_serial" = "X0" &&
|
|
|
|
my_dest_serial=`func_serial "$my_destfile" 'A[CM]_PROG_LIBTOOL'`
|
|
|
|
;;
|
|
|
|
ltdl.m4)
|
|
|
|
my_src_serial=`func_serial "$my_srcfile" LTDL_INIT`
|
|
|
|
my_dest_serial=`func_serial "$my_destfile" LTDL_INIT`
|
|
|
|
;;
|
|
|
|
*)
|
2011-11-05 20:40:30 +08:00
|
|
|
my_src_serial=`func_serial "$my_srcfile" "$my_filename"`
|
|
|
|
my_dest_serial=`func_serial "$my_destfile" "$my_filename"`
|
2008-04-23 06:55:20 +08:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
func_serial_update_check \
|
|
|
|
"$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial"
|
|
|
|
|
|
|
|
func_aclocal_update_check_result="$func_serial_update_check_result"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# func_serial_update filename srcdir destdir [msg_var] [macro_re] [old_macro_re]
|
2005-04-01 20:23:55 +08:00
|
|
|
# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME
|
|
|
|
# has a newer serial number, or DESTFILE does not yet exist, or the user
|
2004-11-29 21:50:54 +08:00
|
|
|
# specified `--force' at the command line. If given, MACRO_REGEX or
|
|
|
|
# OLD_MACRO_REGEX must match any text after "# serial N" in both files.
|
2003-10-07 19:12:16 +08:00
|
|
|
func_serial_update ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2004-11-29 21:50:54 +08:00
|
|
|
my_filename="$1"
|
2005-04-01 20:23:55 +08:00
|
|
|
my_srcdir="$2"
|
2004-11-29 21:50:54 +08:00
|
|
|
my_destdir="$3"
|
2008-04-23 06:55:20 +08:00
|
|
|
my_msg_var="$4"
|
|
|
|
my_macro_regex="$5"
|
|
|
|
my_old_macro_regex="$6"
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2005-04-05 01:30:46 +08:00
|
|
|
my_serial_update_p=:
|
2003-10-07 19:12:16 +08:00
|
|
|
my_return_status=1
|
2005-04-01 20:23:55 +08:00
|
|
|
my_srcfile="$my_srcdir/$my_filename"
|
2004-11-29 21:50:54 +08:00
|
|
|
my_destfile="$my_destdir/$my_filename"
|
|
|
|
|
2005-12-04 22:34:03 +08:00
|
|
|
test -f "$my_srcfile" || func_fatal_error "\`$my_srcfile' does not exist."
|
2003-10-07 19:12:16 +08:00
|
|
|
|
|
|
|
if test -f "$my_destfile"; then
|
2004-01-08 18:34:52 +08:00
|
|
|
my_src_serial=`func_serial "$my_srcfile" "$my_macro_regex"`
|
2005-04-04 22:03:25 +08:00
|
|
|
my_dest_serial=`func_serial "$my_destfile" "$my_macro_regex"`
|
|
|
|
|
2004-03-29 20:43:37 +08:00
|
|
|
# Strictly, this libtoolize ought not to have to deal with ancient
|
|
|
|
# serial formats, but we accept them here to be complete:
|
2005-02-28 05:19:51 +08:00
|
|
|
test "X$my_src_serial" = "X0" &&
|
2004-03-29 20:43:37 +08:00
|
|
|
my_src_serial=`func_serial "$my_srcfile" "$my_old_macro_regex"`
|
|
|
|
|
2005-02-28 05:19:51 +08:00
|
|
|
test "X$my_dest_serial" = "X0" &&
|
2004-03-29 20:43:37 +08:00
|
|
|
my_dest_serial=`func_serial "$my_destfile" "$my_old_macro_regex"`
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2005-02-28 05:19:51 +08:00
|
|
|
func_serial_update_check \
|
|
|
|
"$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial"
|
2005-04-05 01:30:46 +08:00
|
|
|
my_serial_update_p="$func_serial_update_check_result"
|
1997-04-02 02:29:23 +08:00
|
|
|
fi
|
1999-12-16 19:40:16 +08:00
|
|
|
|
2005-04-05 01:30:46 +08:00
|
|
|
if $my_serial_update_p || $opt_force; then
|
2008-04-23 06:55:20 +08:00
|
|
|
func_copy "$my_srcfile" "$my_destfile" "$my_msg_var"
|
2003-10-07 19:12:16 +08:00
|
|
|
my_return_status=$?
|
2008-04-23 06:55:20 +08:00
|
|
|
elif $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then
|
|
|
|
$opt_quiet || func_echo_once "$my_msg_var"
|
2004-02-12 21:18:52 +08:00
|
|
|
$opt_quiet \
|
2003-10-07 19:12:16 +08:00
|
|
|
|| func_echo "\`$my_destfile' is already up to date."
|
1999-12-16 19:40:16 +08:00
|
|
|
fi
|
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
# Do this after the copy for hand maintained `aclocal.m4', incase
|
|
|
|
# it has `m4_include([DESTFILE])', so the copy effectively already
|
|
|
|
# updated `aclocal.m4'.
|
2005-10-26 18:36:31 +08:00
|
|
|
my_included_files=`func_included_files aclocal.m4`
|
2005-11-01 22:28:20 +08:00
|
|
|
case `echo " $my_included_files " | $NL2SP` in
|
|
|
|
|
|
|
|
# Skip included files:
|
2005-10-26 18:36:31 +08:00
|
|
|
*" $my_destfile "*) ;;
|
2005-11-01 22:28:20 +08:00
|
|
|
|
|
|
|
# Otherwise compare to aclocal.m4 serial number (func_serial
|
|
|
|
# returns 0 for older macro serial numbers before we provided
|
|
|
|
# serial tags, so the update message will be correctly given
|
|
|
|
# if aclocal.m4 contains an untagged --i.e older-- macro file):
|
2005-10-26 18:36:31 +08:00
|
|
|
*)
|
|
|
|
if test -f aclocal.m4; then
|
|
|
|
func_serial_max \
|
|
|
|
"$my_src_serial" `func_serial aclocal.m4 "$my_macro_regex"`
|
2008-04-23 06:55:20 +08:00
|
|
|
if test "X$my_src_serial" = "X$func_serial_max_result"; then
|
|
|
|
func_echo_once "$my_msg_var"
|
|
|
|
func_echo "You should add the contents of \`$my_destfile' to \`aclocal.m4'."
|
|
|
|
fi
|
2005-10-26 18:36:31 +08:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
2003-10-07 19:12:16 +08:00
|
|
|
return $my_return_status
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
# func_keyword_update filename srcdir destdir sed_script [msg_var]
|
2005-04-01 20:23:55 +08:00
|
|
|
# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME
|
2005-04-01 20:27:56 +08:00
|
|
|
# has a newer revision according to the serial number extracted by
|
|
|
|
# SED_SCRIPT, or DESTFILE does not yet exist, or the user specified
|
|
|
|
# `--force' at the command line.
|
|
|
|
func_keyword_update ()
|
2003-10-07 19:12:16 +08:00
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2004-11-29 21:50:54 +08:00
|
|
|
my_filename="$1"
|
2005-04-01 20:23:55 +08:00
|
|
|
my_srcdir="$2"
|
2004-11-29 21:50:54 +08:00
|
|
|
my_destdir="$3"
|
2005-04-01 20:27:56 +08:00
|
|
|
my_sed_script="$4"
|
2008-04-23 06:55:20 +08:00
|
|
|
my_msg_var="$5"
|
2004-11-29 21:50:54 +08:00
|
|
|
|
2005-04-01 20:23:55 +08:00
|
|
|
my_srcfile="$my_srcdir/$my_filename"
|
2004-11-29 21:50:54 +08:00
|
|
|
my_destfile="$my_destdir/$my_filename"
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2005-04-01 20:27:56 +08:00
|
|
|
my_keyword_update_p=:
|
2004-11-29 21:50:54 +08:00
|
|
|
|
2005-12-04 22:34:03 +08:00
|
|
|
test -f "$my_srcfile" || func_fatal_error "\`$my_srcfile' does not exist."
|
2003-10-07 19:12:16 +08:00
|
|
|
|
2005-02-28 05:19:51 +08:00
|
|
|
if test -f "$my_destfile"; then
|
2005-04-01 20:27:56 +08:00
|
|
|
my_src_serial=`$SED -e "$my_sed_script" "$my_srcfile"`
|
2005-02-28 05:19:51 +08:00
|
|
|
test -z "$my_src_serial" && {
|
2008-04-30 03:11:54 +08:00
|
|
|
func_warning "no serial number in \`$my_srcfile', not copying."
|
2005-02-28 05:19:51 +08:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2005-04-01 20:27:56 +08:00
|
|
|
my_dest_serial=`$SED -e "$my_sed_script" "$my_destfile"`
|
2005-02-28 05:19:51 +08:00
|
|
|
test -n "$my_dest_serial" || my_dest_serial=0
|
|
|
|
|
|
|
|
func_serial_update_check \
|
|
|
|
"$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial"
|
2005-04-01 20:27:56 +08:00
|
|
|
my_keyword_update_p="$func_serial_update_check_result"
|
2005-02-28 05:19:51 +08:00
|
|
|
fi
|
|
|
|
|
2005-04-01 20:27:56 +08:00
|
|
|
if $my_keyword_update_p || $opt_force; then
|
2008-04-23 06:55:20 +08:00
|
|
|
func_copy "$my_srcfile" "$my_destfile" "$my_msg_var"
|
|
|
|
elif $opt_verbose || $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then
|
|
|
|
func_echo_once "$my_msg_var"
|
|
|
|
func_echo "\`$my_destfile' is already up to date."
|
2003-10-07 19:12:16 +08:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2005-02-28 05:19:51 +08:00
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
# func_ltmain_update filename srcdir destdir [msg_var]
|
2005-04-01 20:27:56 +08:00
|
|
|
# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME
|
|
|
|
# has a newer revision, or DESTFILE does not yet exist, or the user
|
|
|
|
# specified `--force' at the command line.
|
|
|
|
func_ltmain_update ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2007-03-06 08:46:56 +08:00
|
|
|
my_sed_ltmain='
|
2006-01-22 00:44:41 +08:00
|
|
|
/^package_revision='\''*[0-9][1-9.]*'\''*/ {
|
2009-01-19 16:05:31 +08:00
|
|
|
s,^package_revision='\''*\([0-9.]*\)'\''*[ ]*$,\1,
|
2006-01-22 00:44:41 +08:00
|
|
|
p
|
|
|
|
}
|
2007-03-06 08:46:56 +08:00
|
|
|
d'
|
2005-04-01 20:27:56 +08:00
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
func_keyword_update "$1" "$2" "$3" "$my_sed_ltmain" "$4"
|
2005-04-01 20:27:56 +08:00
|
|
|
|
|
|
|
return $my_return_status
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
# func_config_update filename srcdir destdir [msg_var]
|
2005-04-01 20:23:55 +08:00
|
|
|
# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME
|
|
|
|
# has a newer timestamp, or DESTFILE does not yet exist, or the user
|
2004-11-29 21:50:54 +08:00
|
|
|
# specified `--force' at the command line.
|
2003-10-07 19:12:16 +08:00
|
|
|
func_config_update ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2007-03-06 08:46:56 +08:00
|
|
|
my_sed_config='
|
2006-01-22 00:44:41 +08:00
|
|
|
/^timestamp='\''*[0-9][1-9-]*'\''*/ {
|
|
|
|
s,^timestamp='\''*\([0-9-]*\)'\''*,\1,
|
|
|
|
s/-/./g
|
|
|
|
p
|
|
|
|
}
|
2007-03-06 08:46:56 +08:00
|
|
|
d'
|
2004-11-29 21:50:54 +08:00
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
func_keyword_update "$1" "$2" "$3" "$my_sed_config" "$4"
|
1997-04-02 02:29:23 +08:00
|
|
|
|
2005-04-01 20:27:56 +08:00
|
|
|
return $my_return_status
|
|
|
|
}
|
2005-02-28 05:19:51 +08:00
|
|
|
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
# func_install_update filename srcdir destdir [msg_var]
|
2005-04-01 20:27:56 +08:00
|
|
|
# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME
|
|
|
|
# has a newer timestamp, or DESTFILE does not yet exist, or the user
|
|
|
|
# specified `--force' at the command line.
|
|
|
|
func_install_update ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2007-03-06 08:46:56 +08:00
|
|
|
my_sed_install='
|
2006-01-22 00:44:41 +08:00
|
|
|
/^scriptversion='\''*[0-9][1-9.-]*'\''*/ {
|
2009-05-05 13:39:16 +08:00
|
|
|
s,[#;].*,,
|
2006-01-22 00:44:41 +08:00
|
|
|
s,^scriptversion='\''*\([0-9.-]*\)'\''*,\1,
|
|
|
|
s/-/./g
|
|
|
|
p
|
|
|
|
}
|
2007-03-06 08:46:56 +08:00
|
|
|
d'
|
2005-02-28 05:19:51 +08:00
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
func_keyword_update "$1" "$2" "$3" "$my_sed_install" "$4"
|
2005-04-01 20:27:56 +08:00
|
|
|
|
|
|
|
return $my_return_status
|
2003-10-07 19:12:16 +08:00
|
|
|
}
|
1997-04-02 03:53:01 +08:00
|
|
|
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
# func_massage_aclocal_DATA [glob_exclude]
|
|
|
|
# @aclocal_DATA\@ is substituted as per its value in Makefile.am;
|
2005-04-01 23:03:23 +08:00
|
|
|
# this function massages it into a suitable format for func_copy_some_files.
|
2005-04-30 17:30:14 +08:00
|
|
|
func_massage_aclocal_DATA ()
|
2005-03-15 19:49:59 +08:00
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
pkgmacro_files= # GLOBAL VAR
|
2005-03-15 19:49:59 +08:00
|
|
|
|
|
|
|
my_glob_exclude="$1"
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
# Massage a value for pkgmacro_files from the value used in Makefile.am.
|
|
|
|
for my_filename in @aclocal_DATA@; do
|
2008-11-23 21:52:32 +08:00
|
|
|
func_dirname_and_basename "$my_filename"
|
|
|
|
my_filename=$func_basename_result
|
2005-03-15 19:49:59 +08:00
|
|
|
|
2005-03-24 19:38:25 +08:00
|
|
|
# ignore excluded filenames
|
2005-03-15 19:49:59 +08:00
|
|
|
if test -n "$my_glob_exclude"; then
|
2005-11-19 01:37:40 +08:00
|
|
|
my_cont=false
|
|
|
|
eval 'case $my_filename in '$my_glob_exclude') my_cont=: ;; esac'
|
|
|
|
$my_cont && continue
|
2005-03-15 19:49:59 +08:00
|
|
|
fi
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
pkgmacro_files="$pkgmacro_files:$my_filename"
|
2005-03-15 19:49:59 +08:00
|
|
|
done
|
|
|
|
|
|
|
|
# strip spurious leading `:'
|
2008-11-23 21:38:24 +08:00
|
|
|
pkgmacro_files=`$ECHO "$pkgmacro_files" | $SED 's,^:*,,'`
|
2005-03-15 19:49:59 +08:00
|
|
|
}
|
|
|
|
|
1997-04-02 02:29:23 +08:00
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# func_install_pkgmacro_subproject
|
|
|
|
# Unless --quiet was passed, display a message. Then copy pkgmacro_files
|
|
|
|
# from libtool installation tree to subproject libltdl tree.
|
|
|
|
func_install_pkgmacro_subproject ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
2008-02-01 00:14:09 +08:00
|
|
|
|
2011-11-04 01:44:08 +08:00
|
|
|
$require_macro_dir
|
|
|
|
|
2008-05-03 04:12:38 +08:00
|
|
|
# Remove any lingering files that my have been installed by some
|
|
|
|
# previous libtoolize release:
|
|
|
|
$opt_force && for file in $all_pkgmacro_files; do
|
2010-09-24 22:12:18 +08:00
|
|
|
test -f "$subproject_macro_dir/$file" && func_verbose "rm -f '$subproject_macro_dir/$file'"
|
|
|
|
rm -f "$subproject_macro_dir/$file"
|
2008-05-03 04:12:38 +08:00
|
|
|
done
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# Copy all the files from installed libltdl to this project, if the
|
2010-09-24 22:12:18 +08:00
|
|
|
# user specified a macro_dir.
|
|
|
|
$opt_quiet || if test "x$macro_dir" != "x$subproject_macro_dir"; then
|
|
|
|
pkgmacro_header="putting macros in \`$subproject_macro_dir'."
|
|
|
|
elif test -n "$subproject_macro_dir"; then
|
|
|
|
pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, \`$subproject_macro_dir'."
|
2008-02-01 00:14:09 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
func_copy_some_files "argz.m4:libtool.m4:ltdl.m4:$pkgmacro_files" \
|
2010-09-24 22:12:18 +08:00
|
|
|
"$aclocaldir" "$subproject_macro_dir" pkgmacro_header
|
2008-02-01 00:14:09 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# func_install_pkgmacro_parent
|
|
|
|
# Unless --quiet was passed, or AC_CONFIG_MACRO_DIR was not seen, display
|
|
|
|
# a message. Then update appropriate macros if newer ones are available
|
|
|
|
# from the libtool installation tree.
|
|
|
|
func_install_pkgmacro_parent ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
2008-02-01 00:14:09 +08:00
|
|
|
|
2011-11-04 01:44:08 +08:00
|
|
|
$require_ac_macro_dir
|
|
|
|
$require_macro_dir
|
|
|
|
|
2008-05-03 04:12:38 +08:00
|
|
|
# Remove any lingering files that my have been installed by some
|
|
|
|
# previous libtoolize release:
|
|
|
|
$opt_force && for file in $all_pkgmacro_files; do
|
2010-09-24 22:12:18 +08:00
|
|
|
test -f "$macro_dir/$file" && func_verbose "rm -f '$macro_dir/$file'"
|
|
|
|
rm -f "$macro_dir/$file"
|
2008-05-03 04:12:38 +08:00
|
|
|
done
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# Copy all the files from installed libltdl to this project, if the
|
2010-09-24 22:12:18 +08:00
|
|
|
# user specified a macro_dir.
|
|
|
|
$opt_quiet || if test -n "$ac_macro_dir"; then
|
|
|
|
my_pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, \`$ac_macro_dir'."
|
2011-11-04 01:44:08 +08:00
|
|
|
else
|
2010-09-24 22:12:18 +08:00
|
|
|
my_pkgmacro_header="putting macros in \`$macro_dir'."
|
2008-02-01 00:14:09 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
if $opt_ltdl; then
|
2010-09-24 22:12:18 +08:00
|
|
|
func_serial_update argz.m4 "$aclocaldir" "$macro_dir" \
|
2008-04-23 06:55:20 +08:00
|
|
|
my_pkgmacro_header argz.m4
|
2008-02-01 00:14:09 +08:00
|
|
|
else
|
2010-09-24 22:12:18 +08:00
|
|
|
func_verbose "Not copying \`$macro_dir/argz.m4', libltdl not used."
|
2008-02-01 00:14:09 +08:00
|
|
|
fi
|
|
|
|
|
2010-09-24 22:12:18 +08:00
|
|
|
func_serial_update libtool.m4 "$aclocaldir" "$macro_dir" \
|
2008-04-23 06:55:20 +08:00
|
|
|
my_pkgmacro_header LT_INIT 'A[CM]_PROG_LIBTOOL'
|
2008-02-01 00:14:09 +08:00
|
|
|
|
|
|
|
if $opt_ltdl; then
|
2010-09-24 22:12:18 +08:00
|
|
|
func_serial_update ltdl.m4 "$aclocaldir" "$macro_dir" \
|
2008-04-23 06:55:20 +08:00
|
|
|
my_pkgmacro_header 'LTDL_INIT'
|
2008-02-01 00:14:09 +08:00
|
|
|
else
|
2010-09-24 22:12:18 +08:00
|
|
|
func_verbose "Not copying \`$macro_dir/ltdl.m4', libltdl not used."
|
2008-02-01 00:14:09 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
my_save_IFS="$IFS"
|
|
|
|
IFS=:
|
|
|
|
for file in $pkgmacro_files; do
|
|
|
|
IFS="$my_save_IFS"
|
2010-09-24 22:12:18 +08:00
|
|
|
func_serial_update "$file" "$aclocaldir" "$macro_dir" \
|
2008-04-23 06:55:20 +08:00
|
|
|
my_pkgmacro_header "$file"
|
2008-02-01 00:14:09 +08:00
|
|
|
done
|
|
|
|
IFS="$my_save_IFS"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# func_install_pkgmacro_files
|
|
|
|
# Install copies of the libtool and libltdl m4 macros into this package.
|
|
|
|
func_install_pkgmacro_files ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
2008-02-01 00:14:09 +08:00
|
|
|
|
2011-11-04 01:44:08 +08:00
|
|
|
$require_ac_macro_dir
|
|
|
|
$require_am_macro_dir
|
2011-11-07 22:06:59 +08:00
|
|
|
$require_configure_ac
|
2011-11-04 17:10:28 +08:00
|
|
|
$require_ltdl_mode
|
2011-11-04 01:44:08 +08:00
|
|
|
$require_macro_dir
|
|
|
|
|
2008-02-01 00:17:06 +08:00
|
|
|
# argz.m4, libtool.m4 and ltdl.m4 are handled specially:
|
2008-02-01 00:14:09 +08:00
|
|
|
func_massage_aclocal_DATA 'argz.m4|libtool.m4|ltdl.m4'
|
|
|
|
|
2010-09-24 22:12:18 +08:00
|
|
|
# 1. Parent has separate macro_dir to subproject ltdl:
|
2008-02-01 00:14:09 +08:00
|
|
|
if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" &&
|
2011-11-04 01:44:08 +08:00
|
|
|
test "x$macro_dir" != "x$subproject_macro_dir"
|
2008-02-01 00:14:09 +08:00
|
|
|
then
|
2011-11-07 22:06:59 +08:00
|
|
|
# No point installing configure macros in the parent project when
|
|
|
|
# there's no $configure_ac to use them.
|
|
|
|
test -f "$configure_ac" && func_install_pkgmacro_parent
|
2008-02-01 00:14:09 +08:00
|
|
|
func_install_pkgmacro_subproject
|
|
|
|
|
2010-09-24 22:12:18 +08:00
|
|
|
# 2. Parent shares macro_dir with subproject ltdl:
|
2008-02-01 00:14:09 +08:00
|
|
|
elif $opt_ltdl && test "x$ltdl_mode" = "xsubproject"
|
2010-09-24 22:12:18 +08:00
|
|
|
# && test "x$macro_dir" = "x$subproject_macro_dir"
|
2008-02-01 00:14:09 +08:00
|
|
|
then
|
|
|
|
func_install_pkgmacro_subproject
|
|
|
|
|
2010-09-24 22:12:18 +08:00
|
|
|
# 3. Not a subproject, but macro_dir was specified in parent:
|
2011-11-04 01:44:08 +08:00
|
|
|
elif test -n "$ac_macro_dir$am_macro_dir"; then
|
2008-02-01 00:14:09 +08:00
|
|
|
func_install_pkgmacro_parent
|
|
|
|
|
|
|
|
# 4. AC_CONFIG_MACRO_DIR was not specified:
|
|
|
|
else
|
|
|
|
func_verbose "AC_CONFIG_MACRO_DIR not defined, not copying libtool macros."
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
# func_massage_pkgltdl_files [glob_exclude]
|
|
|
|
# @pkgltdl_files\@ is substituted as per its value in Makefile.am; this
|
2005-03-24 19:38:25 +08:00
|
|
|
# function massages it into a suitable format for func_copy_some_files.
|
2005-04-30 17:30:14 +08:00
|
|
|
func_massage_pkgltdl_files ()
|
2005-03-24 19:38:25 +08:00
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
pkgltdl_files= # GLOBAL VAR
|
2005-03-24 19:38:25 +08:00
|
|
|
|
|
|
|
my_glob_exclude="$1"
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
# Massage a value for pkgltdl_files from the value used in Makefile.am
|
|
|
|
for my_filename in @pkgltdl_files@; do
|
2005-03-24 19:38:25 +08:00
|
|
|
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* 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): Adjust to
compensate.
* 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.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
# Strip surplus leading 'libltdl/':
|
|
|
|
my_filename=`expr "X$my_filename" : 'Xlibltdl/\(.*\)'`
|
|
|
|
|
2005-03-24 19:38:25 +08:00
|
|
|
# ignore excluded filenames
|
|
|
|
if test -n "$my_glob_exclude"; then
|
2005-11-19 01:37:40 +08:00
|
|
|
my_cont=false
|
|
|
|
eval 'case $my_filename in '$my_glob_exclude') my_cont=: ;; esac'
|
|
|
|
$my_cont && continue
|
2005-03-24 19:38:25 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# ignore duplicates
|
2005-04-30 17:30:14 +08:00
|
|
|
case :$pkgltdl_files: in
|
2005-03-24 19:38:25 +08:00
|
|
|
*:$my_filename:*) ;;
|
2005-04-30 17:30:14 +08:00
|
|
|
*) pkgltdl_files="$pkgltdl_files:$my_filename" ;;
|
2005-03-24 19:38:25 +08:00
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
# strip spurious leading `:'
|
2008-11-23 21:38:24 +08:00
|
|
|
pkgltdl_files=`$ECHO "$pkgltdl_files" | $SED 's,^:*,,'`
|
2005-04-30 17:30:14 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# func_install_pkgltdl_files
|
|
|
|
# Install copies of the libltdl files into this package. Any auxiliary
|
|
|
|
# or m4 macro files needed in the libltdl tree will also be copied by
|
|
|
|
# func_install_pkgconfig_files and func_install_pkgmacro_files resp.
|
|
|
|
func_install_pkgltdl_files ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
$opt_ltdl || return
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
$require_ac_ltdl_dir
|
|
|
|
$require_ltdl_dir
|
2011-11-04 17:10:28 +08:00
|
|
|
$require_ltdl_mode
|
2011-11-04 15:43:23 +08:00
|
|
|
|
2008-05-03 04:12:38 +08:00
|
|
|
# Remove any lingering files that my have been installed by some
|
|
|
|
# previous libtoolize release:
|
|
|
|
$opt_force && for file in $all_pkgltdl_files; do
|
2011-11-04 15:43:23 +08:00
|
|
|
test -f "$ltdl_dir/$file" && func_verbose "rm -f '$ltdl_dir/$file'"
|
|
|
|
rm -f "$ltdl_dir/$file"
|
2008-05-03 04:12:38 +08:00
|
|
|
done
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# Copy all the files from installed libltdl to this project, if the
|
|
|
|
# user specified `--ltdl'.
|
2011-11-04 15:43:23 +08:00
|
|
|
$opt_quiet || if test -n "$ac_ltdl_dir"; then
|
|
|
|
pkgltdl_header="putting libltdl files in LT_CONFIG_LTDL_DIR, \`$ac_ltdl_dir'."
|
|
|
|
else
|
|
|
|
pkgltdl_header="putting libltdl files in \`$ltdl_dir'."
|
2008-02-01 00:14:09 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# These files are handled specially, depending on ltdl_mode:
|
|
|
|
if test "x$ltdl_mode" = "xsubproject"; then
|
|
|
|
func_massage_pkgltdl_files 'Makefile.inc'
|
|
|
|
else
|
|
|
|
func_massage_pkgltdl_files 'Makefile.am|Makefile.in*|aclocal.m4|config*'
|
|
|
|
fi
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
func_copy_some_files "$pkgltdl_files" \
|
2011-11-04 15:43:23 +08:00
|
|
|
"$pkgltdldir/libltdl" "$ltdl_dir" pkgltdl_header
|
2008-02-01 00:14:09 +08:00
|
|
|
|
|
|
|
# For recursive ltdl modes, copy a suitable Makefile.{am,inc}:
|
|
|
|
case $ltdl_mode in
|
|
|
|
recursive)
|
2011-11-04 15:43:23 +08:00
|
|
|
func_fixup_Makefile "Makefile.am" "$pkgltdldir/libltdl" "$ltdl_dir"
|
2008-02-01 00:14:09 +08:00
|
|
|
;;
|
|
|
|
nonrecursive)
|
2011-11-04 15:43:23 +08:00
|
|
|
func_fixup_Makefile "Makefile.inc" "$pkgltdldir/libltdl" "$ltdl_dir"
|
2008-02-01 00:14:09 +08:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
|
|
|
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* 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): Adjust to
compensate.
* 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.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
# func_massage_pkgconfig_files [glob_exclude]
|
|
|
|
# @pkgconfig_files\@ is substituted as per its value in Makefile.am; this
|
|
|
|
# function massages it into a suitable format for func_copy_some_files.
|
|
|
|
func_massage_pkgconfig_files ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* 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): Adjust to
compensate.
* 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.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
pkgconfig_files= # GLOBAL VAR
|
|
|
|
|
|
|
|
my_glob_exclude="$1"
|
|
|
|
|
|
|
|
# Massage a value for pkgconfig_files from the value used in Makefile.am
|
|
|
|
for my_filename in @pkgconfig_files@; do
|
|
|
|
|
|
|
|
# ignore excluded filenames
|
|
|
|
if test -n "$my_glob_exclude"; then
|
2005-11-19 01:37:40 +08:00
|
|
|
my_cont=false
|
|
|
|
eval 'case $my_filename in '$my_glob_exclude') my_cont=: ;; esac'
|
|
|
|
$my_cont && continue
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* 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): Adjust to
compensate.
* 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.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# ignore duplicates
|
|
|
|
case :$pkgconfig_files: in
|
|
|
|
*:$my_filename:*) ;;
|
|
|
|
*) pkgconfig_files="$pkgconfig_files:$my_filename" ;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
# strip spurious leading `:'
|
2008-11-23 21:38:24 +08:00
|
|
|
pkgconfig_files=`$ECHO "$pkgconfig_files" | $SED 's,^:*,,'`
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* 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): Adjust to
compensate.
* 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.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# func_install_pkgconfig_subproject
|
|
|
|
# Unless --quiet was passed, display a message. Then copy pkgconfig_files
|
|
|
|
# from libtool installation tree to subproject libltdl tree.
|
|
|
|
func_install_pkgconfig_subproject ()
|
2008-01-28 00:35:36 +08:00
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
2008-01-28 00:35:36 +08:00
|
|
|
|
2011-11-04 02:30:24 +08:00
|
|
|
$require_ac_aux_dir
|
|
|
|
$require_aux_dir
|
2011-11-04 15:43:23 +08:00
|
|
|
$require_ltdl_dir
|
2011-11-04 02:30:24 +08:00
|
|
|
|
2008-05-03 04:12:38 +08:00
|
|
|
# Remove any lingering files that my have been installed by some
|
|
|
|
# previous libtoolize release:
|
|
|
|
$opt_force && for file in $all_pkgconfig_files; do
|
2010-09-24 22:10:19 +08:00
|
|
|
test -f "$subproject_aux_dir/$file" && func_verbose "rm -f '$subproject_aux_dir/$file'"
|
|
|
|
rm -f "$subproject_aux_dir/$file"
|
2008-05-03 04:12:38 +08:00
|
|
|
done
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# Copy all the files from installed libltdl to this project, if the
|
2010-09-24 22:10:19 +08:00
|
|
|
# user specified an aux_dir.
|
|
|
|
$opt_quiet || if test "x$ac_aux_dir" = "x$subproject_aux_dir"; then
|
|
|
|
pkgconfig_header="putting auxiliary files in AC_CONFIG_AUX_DIR, \`$subproject_aux_dir'."
|
2011-11-04 02:30:24 +08:00
|
|
|
elif test -n "$ac_aux_dir"; then
|
2010-09-24 22:10:19 +08:00
|
|
|
pkgconfig_header="putting auxiliary files in \`$aux_dir'."
|
2011-11-07 21:49:53 +08:00
|
|
|
else
|
|
|
|
pkgconfig_header="putting auxiliary files in \`$subproject_aux_dir'."
|
2008-01-28 00:35:36 +08:00
|
|
|
fi
|
2008-02-01 00:14:09 +08:00
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
func_copy_some_files "$pkgconfig_files" \
|
2011-11-04 15:43:23 +08:00
|
|
|
"$pkgdatadir" "$ltdl_dir" pkgconfig_header
|
2008-01-28 00:35:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# func_install_pkgconfig_parent
|
|
|
|
# Unless --quiet was passed, or AC_CONFIG_AUX_DIR was not seen, display a
|
|
|
|
# message. Then update appropriate auxiliary files if newer ones are
|
|
|
|
# available from the libtool installation tree.
|
|
|
|
func_install_pkgconfig_parent ()
|
2008-01-28 00:35:36 +08:00
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
2008-01-28 00:35:36 +08:00
|
|
|
|
2011-11-04 02:30:24 +08:00
|
|
|
$require_ac_aux_dir
|
|
|
|
$require_aux_dir
|
|
|
|
|
2008-05-03 04:12:38 +08:00
|
|
|
# Remove any lingering files that my have been installed by some
|
|
|
|
# previous libtoolize release:
|
|
|
|
$opt_force && for file in $all_pkgconfig_files; do
|
2010-09-24 22:10:19 +08:00
|
|
|
test -f "$aux_dir/$file" && func_verbose "rm -f '$aux_dir/$file'"
|
|
|
|
rm -f "$aux_dir/$file"
|
2008-05-03 04:12:38 +08:00
|
|
|
done
|
|
|
|
|
2010-09-24 22:10:19 +08:00
|
|
|
if test -n "$ac_aux_dir"; then
|
|
|
|
pkgconfig_header="putting auxiliary files in AC_CONFIG_AUX_DIR, \`$ac_aux_dir'."
|
2011-11-04 02:30:24 +08:00
|
|
|
else
|
2010-09-24 22:10:19 +08:00
|
|
|
pkgconfig_header="putting auxiliary files in \`$aux_dir'."
|
2008-02-01 00:14:09 +08:00
|
|
|
fi
|
2008-01-28 00:35:36 +08:00
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
if $opt_install; then
|
2008-04-23 06:55:20 +08:00
|
|
|
func_config_update config.guess \
|
2010-09-24 22:10:19 +08:00
|
|
|
"$pkgdatadir/config" "$aux_dir" pkgconfig_header
|
2008-04-23 06:55:20 +08:00
|
|
|
func_config_update config.sub \
|
2010-09-24 22:10:19 +08:00
|
|
|
"$pkgdatadir/config" "$aux_dir" pkgconfig_header
|
2008-04-23 06:55:20 +08:00
|
|
|
func_install_update install-sh \
|
2010-09-24 22:10:19 +08:00
|
|
|
"$pkgdatadir/config" "$aux_dir" pkgconfig_header
|
2008-01-28 00:35:36 +08:00
|
|
|
fi
|
2008-04-23 06:55:20 +08:00
|
|
|
func_ltmain_update ltmain.sh \
|
2010-09-24 22:10:19 +08:00
|
|
|
"$pkgdatadir/config" "$aux_dir" pkgconfig_header
|
2008-01-28 00:35:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# func_install_pkgconfig_files
|
|
|
|
# Install copies of the auxiliary files into this package according to
|
|
|
|
# the whether libltdl is included as a subproject, and whether the parent
|
|
|
|
# shares the AC_CONFIG_AUX_DIR setting.
|
|
|
|
func_install_pkgconfig_files ()
|
2008-01-28 00:35:36 +08:00
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2011-11-04 02:30:24 +08:00
|
|
|
$require_aux_dir
|
2011-11-03 22:45:15 +08:00
|
|
|
$require_configure_ac
|
2011-11-04 17:10:28 +08:00
|
|
|
$require_ltdl_mode
|
2011-11-03 22:45:15 +08:00
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
func_massage_pkgconfig_files
|
2008-01-28 00:35:36 +08:00
|
|
|
|
2010-09-24 22:10:19 +08:00
|
|
|
# 1. Parent shares aux_dir with subproject ltdl:
|
2008-02-01 00:14:09 +08:00
|
|
|
if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" &&
|
2011-11-04 02:30:24 +08:00
|
|
|
test "x$aux_dir" = "x$subproject_aux_dir"
|
2008-02-01 00:14:09 +08:00
|
|
|
then
|
|
|
|
func_install_pkgconfig_subproject
|
2008-01-28 00:35:36 +08:00
|
|
|
|
2010-09-24 22:10:19 +08:00
|
|
|
# 2. Parent has separate aux_dir to subproject ltdl:
|
2008-02-01 00:14:09 +08:00
|
|
|
elif $opt_ltdl && test "x$ltdl_mode" = "xsubproject"
|
2010-09-24 22:10:19 +08:00
|
|
|
# && test "x$aux_dir" != "x$subproject_aux_dir" is implied
|
2008-02-01 00:14:09 +08:00
|
|
|
then
|
2011-11-03 22:45:15 +08:00
|
|
|
if test -n "$configure_ac"; then
|
2008-02-14 12:36:37 +08:00
|
|
|
func_install_pkgconfig_parent
|
|
|
|
fi
|
2008-02-01 00:14:09 +08:00
|
|
|
func_install_pkgconfig_subproject
|
2008-01-28 00:35:36 +08:00
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# 3. Not subproject, but AC_CONFIG_AUX_DIR was used in parent:
|
2010-09-24 22:10:19 +08:00
|
|
|
elif test -n "$ac_aux_dir" || test "x$aux_dir" = "x."; then
|
2008-02-01 00:14:09 +08:00
|
|
|
func_install_pkgconfig_parent
|
2008-01-28 00:35:36 +08:00
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# 4. AC_CONFIG_AUX_DIR was not specified:
|
|
|
|
else
|
|
|
|
func_verbose "AC_CONFIG_AUX_DIR not defined, not copying libtool auxiliary files."
|
2008-01-28 00:35:36 +08:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
# func_nonemptydir_p dirvar
|
|
|
|
# DIRVAR is the name of a variable to evaluate. Unless DIRVAR names
|
|
|
|
# a directory that exists and is non-empty abort with a diagnostic.
|
|
|
|
func_nonemptydir_p ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
my_dirvar="$1"
|
|
|
|
my_dir=`eval echo "\\\$$my_dirvar"`
|
|
|
|
|
|
|
|
# Is it a directory at all?
|
|
|
|
test -d "$my_dir" \
|
2008-10-26 18:01:26 +08:00
|
|
|
|| func_fatal_error "\$$my_dirvar is not a directory: \`$my_dir'"
|
2005-04-30 17:30:14 +08:00
|
|
|
|
|
|
|
# check that the directories contents can be ls'ed
|
|
|
|
test -n "`{ cd $my_dir && ls; } 2>/dev/null`" \
|
|
|
|
|| func_fatal_error "can not list files: \`$my_dir'"
|
2005-03-24 19:38:25 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-01-28 13:12:23 +08:00
|
|
|
# func_check_macros
|
|
|
|
# Sanity check macros from aclocal.m4 against installed versions.
|
|
|
|
func_check_macros ()
|
|
|
|
{
|
2011-11-04 19:38:06 +08:00
|
|
|
$debug_cmd
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
$require_ac_ltdl_dir
|
2011-11-04 01:44:08 +08:00
|
|
|
$require_ac_macro_dir
|
|
|
|
$require_am_macro_dir
|
2011-11-04 02:30:24 +08:00
|
|
|
$require_aux_dir
|
2011-11-03 22:45:15 +08:00
|
|
|
$require_configure_ac
|
2011-11-04 15:43:23 +08:00
|
|
|
$require_ltdl_dir
|
2011-11-04 17:10:28 +08:00
|
|
|
$require_ltdl_mode
|
2011-11-04 01:44:08 +08:00
|
|
|
$require_macro_dir
|
2011-11-03 22:45:15 +08:00
|
|
|
|
2008-01-28 15:34:25 +08:00
|
|
|
$opt_quiet && return
|
2011-11-03 22:45:15 +08:00
|
|
|
test -n "$configure_ac" || return
|
2008-01-28 15:34:25 +08:00
|
|
|
|
2008-01-28 13:12:23 +08:00
|
|
|
ac_config_macro_dir_advised=false
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
if test -n "$ac_macro_dir$ltdl_dir" && test -z "$ac_macro_dir$am_macro_dir"; then
|
2008-01-28 13:12:23 +08:00
|
|
|
my_ac_config_macro_srcdir="$aclocaldir"
|
2010-09-24 22:12:18 +08:00
|
|
|
if $opt_ltdl && test "$macro_dir" != "$subproject_macro_dir"; then
|
|
|
|
my_ac_config_macro_srcdir="$subproject_macro_dir"
|
2008-01-28 13:12:23 +08:00
|
|
|
fi
|
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
my_needed="libtool.m4 ltoptions.m4 ltversion.m4 ltsugar.m4 lt~obsolete.m4"
|
|
|
|
$opt_ltdl && my_needed="$my_needed argz.m4 ltdl.m4"
|
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
if test -f "aclocal.m4"; then
|
|
|
|
for need in $my_needed; do
|
|
|
|
func_aclocal_update_check $need
|
|
|
|
$func_aclocal_update_check_result && my_missing="$my_missing $need"
|
|
|
|
done
|
|
|
|
else
|
|
|
|
my_missing="$my_needed"
|
|
|
|
fi
|
2008-02-01 00:14:09 +08:00
|
|
|
|
2008-04-23 06:55:20 +08:00
|
|
|
if test -n "$my_missing"; then
|
|
|
|
func_echo "You should add the contents of the following files to \`aclocal.m4':"
|
|
|
|
for need in $my_missing; do
|
|
|
|
func_echo " \`$my_ac_config_macro_srcdir/$need'"
|
|
|
|
done
|
|
|
|
|
|
|
|
if test "$my_ac_config_macro_srcdir" != "$aclocaldir"; then
|
2010-09-24 22:12:18 +08:00
|
|
|
func_echo "or else add \`AC_CONFIG_MACRO_DIR([$subproject_macro_dir])' to $configure_ac."
|
2008-04-23 06:55:20 +08:00
|
|
|
ac_config_macro_dir_advised=:
|
|
|
|
fi
|
2008-01-28 13:12:23 +08:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2008-04-30 03:11:54 +08:00
|
|
|
## ---------------------------------------------------------- ##
|
|
|
|
## Since we return early here when --no-warn was given: ##
|
|
|
|
## DO NOT PUT ANYTHING BUT UPGRADE ADVICE MESSAGES BELOW HERE ##
|
|
|
|
## ---------------------------------------------------------- ##
|
|
|
|
|
|
|
|
$opt_warning || return
|
|
|
|
|
2008-01-28 13:12:23 +08:00
|
|
|
$seen_libtool ||
|
|
|
|
func_echo "Remember to add \`LT_INIT' to $configure_ac."
|
|
|
|
|
|
|
|
# Suggest using LTDL_INIT if appropriate:
|
|
|
|
$opt_ltdl && if test x$seen_ltdl != x:; then
|
|
|
|
case $ltdl_mode in
|
|
|
|
subproject) ltdl_init_args="" ;;
|
|
|
|
*) ltdl_init_args="([$ltdl_mode])" ;;
|
|
|
|
esac
|
|
|
|
func_echo "Remember to add \`LTDL_INIT$ltdl_init_args' to $configure_ac."
|
|
|
|
fi
|
|
|
|
|
2008-01-28 13:39:26 +08:00
|
|
|
if $opt_ltdl; then
|
2008-01-28 13:12:23 +08:00
|
|
|
# Remind the user to call LT_CONFIG_LTDL_DIR:
|
2011-11-04 15:43:23 +08:00
|
|
|
test -n "$ac_ltdl_dir" ||
|
|
|
|
func_echo "Remember to add \`LT_CONFIG_LTDL_DIR([$ltdl_dir])' to \`$configure_ac'."
|
2008-01-28 13:12:23 +08:00
|
|
|
|
2008-02-01 00:14:09 +08:00
|
|
|
# For subproject mode, offer some suggestions for avoiding duplicate
|
|
|
|
# files in a project that uses libltdl:
|
|
|
|
if test "x$ltdl_mode" = "xsubproject"; then
|
2010-09-24 22:10:19 +08:00
|
|
|
test "$subproject_aux_dir" = "$aux_dir" ||
|
|
|
|
func_echo "Consider using \`AC_CONFIG_AUX_DIR([$subproject_aux_dir])' in $configure_ac."
|
2010-09-24 22:12:18 +08:00
|
|
|
$ac_config_macro_dir_advised || test "$subproject_macro_dir" = "$macro_dir" ||
|
|
|
|
func_echo "Consider using \`AC_CONFIG_MACRO_DIR([$subproject_macro_dir])' in $configure_ac."
|
2008-04-23 11:18:56 +08:00
|
|
|
ac_config_macro_dir_advised=:
|
2008-02-01 00:14:09 +08:00
|
|
|
fi
|
2008-01-28 13:12:23 +08:00
|
|
|
fi
|
|
|
|
|
2008-04-23 11:18:56 +08:00
|
|
|
# Suggest modern idioms for storing autoconf macros:
|
2010-09-24 22:12:18 +08:00
|
|
|
$ac_config_macro_dir_advised || if test -z "$ac_macro_dir" || test x"$macro_dir" = x.; then
|
2008-04-23 11:18:56 +08:00
|
|
|
func_echo "Consider adding \`AC_CONFIG_MACRO_DIR([m4])' to $configure_ac and"
|
2008-09-06 22:50:15 +08:00
|
|
|
func_echo "rerunning $progname, to keep the correct libtool macros in-tree."
|
2008-04-23 11:18:56 +08:00
|
|
|
ac_config_macro_dir_advised=:
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
elif test -z "$ac_macro_dir"; then
|
2010-09-24 22:12:18 +08:00
|
|
|
func_echo "Consider adding \`AC_CONFIG_MACRO_DIR([$macro_dir])' to $configure_ac,"
|
2008-09-06 22:50:15 +08:00
|
|
|
func_echo "and rerunning $progname and aclocal."
|
2008-04-23 11:18:56 +08:00
|
|
|
ac_config_macro_dir_advised=:
|
|
|
|
fi
|
|
|
|
|
2011-11-04 01:44:08 +08:00
|
|
|
if test -z "$am_macro_dir$ac_macro_dir"; then
|
2008-04-23 11:18:56 +08:00
|
|
|
func_echo "Consider adding \`-I m4' to ACLOCAL_AMFLAGS in Makefile.am."
|
|
|
|
|
2010-09-24 22:12:18 +08:00
|
|
|
elif test -z "$am_macro_dir"; then
|
|
|
|
if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" && test "$subproject_macro_dir" != "$macro_dir"; then
|
|
|
|
func_echo "Consider adding \`-I $subproject_macro_dir' to ACLOCAL_AMFLAGS in Makefile.am."
|
2008-04-23 11:18:56 +08:00
|
|
|
else
|
2010-09-24 22:12:18 +08:00
|
|
|
func_echo "Consider adding \`-I $macro_dir' to ACLOCAL_AMFLAGS in Makefile.am."
|
2008-04-23 11:18:56 +08:00
|
|
|
fi
|
2009-01-19 16:05:31 +08:00
|
|
|
fi
|
2008-04-23 11:18:56 +08:00
|
|
|
|
2008-01-28 13:12:23 +08:00
|
|
|
# Don't trace for this, we're just checking the user didn't invoke it
|
|
|
|
# directly from configure.ac.
|
|
|
|
$SED 's,dnl .*$,,; s,# .*$,,' "$configure_ac" | grep AC_PROG_RANLIB >/dev/null &&
|
|
|
|
func_echo "\`AC_PROG_RANLIB' is rendered obsolete by \`LT_INIT'"
|
|
|
|
|
|
|
|
# FIXME: Ensure ltmain.sh, libtool.m4 and ltdl.m4 are from the same release
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-03 22:45:15 +08:00
|
|
|
|
|
|
|
## ------------------##
|
|
|
|
## Helper functions. ##
|
|
|
|
## ------------------##
|
|
|
|
|
|
|
|
# This section contains the helper functions used by the rest of
|
|
|
|
# this script.
|
|
|
|
|
|
|
|
|
|
|
|
# func_autoconf_configure MAYBE-CONFIGURE-FILE
|
|
|
|
# ------------------------------------------
|
|
|
|
# Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current
|
|
|
|
# directory which contains an uncommented call to AC_INIT.
|
|
|
|
func_autoconf_configure ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
_G_sed_no_comment='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,;'
|
|
|
|
_G_ac_init=
|
|
|
|
|
|
|
|
# If we were passed a genuine file, make sure it calls AC_INIT.
|
|
|
|
test -f "$1" \
|
|
|
|
&& _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |grep AC_INIT`
|
|
|
|
|
|
|
|
# Otherwise it is not a genuine Autoconf input file.
|
|
|
|
test -n "$_G_ac_init"
|
|
|
|
_G_status=$?
|
|
|
|
|
|
|
|
test "$_G_status" -ne 0 \
|
|
|
|
&& func_verbose "\`$1' not using Autoconf"
|
|
|
|
|
|
|
|
(exit $_G_status)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## -------------------- ##
|
|
|
|
## Resource management. ##
|
|
|
|
## -------------------- ##
|
|
|
|
|
|
|
|
# This section contains definitions for functions that each ensure a
|
|
|
|
# particular resource (a file, or a non-empty configuration variable for
|
|
|
|
# example) is available, and if appropriate to extract default values
|
|
|
|
# from pertinent package files. Where a variable already has a non-
|
|
|
|
# empty value (as set by the package's `bootstrap.conf'), that value is
|
|
|
|
# used in preference to deriving the default. Call them using their
|
|
|
|
# associated `require_*' variable to ensure that they are executed, at
|
|
|
|
# most, once.
|
|
|
|
|
|
|
|
|
2011-11-04 02:30:24 +08:00
|
|
|
# require_ac_aux_dir
|
|
|
|
# ------------------
|
|
|
|
# Extract ac_aux_dir from AC_CONFIG_AUX_DIR.
|
|
|
|
require_ac_aux_dir=func_require_ac_aux_dir
|
|
|
|
func_require_ac_aux_dir ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_configure_ac
|
|
|
|
|
|
|
|
if test -n "$configure_ac"; then
|
|
|
|
func_extract_trace AC_CONFIG_AUX_DIR
|
|
|
|
ac_aux_dir=$func_extract_trace_result
|
|
|
|
|
|
|
|
case $ac_aux_dir in
|
|
|
|
*\$*)
|
|
|
|
func_fatal_error "\
|
|
|
|
can not expand unknown variable in AC_CONFIG_AUX_DIR argument."
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
|
|
|
require_ac_aux_dir=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
# require_ac_ltdl_dir
|
|
|
|
# -------------------
|
|
|
|
# Extract ac_ltdl_dir from LT_CONFIG_LTDL_DIR.
|
|
|
|
require_ac_ltdl_dir=func_require_ac_ltdl_dir
|
|
|
|
func_require_ac_ltdl_dir ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_configure_ac
|
|
|
|
|
|
|
|
if test -n "$configure_ac"; then
|
|
|
|
func_extract_trace LT_CONFIG_LTDL_DIR
|
|
|
|
ac_ltdl_dir=`expr "$func_extract_trace_result" : '\([^:]*\)'`
|
|
|
|
|
|
|
|
case $ac_ltdl_dir in
|
|
|
|
*\$*)
|
|
|
|
func_fatal_error "\
|
|
|
|
can not expand unknown variable in LT_CONFIG_LTDL_DIR argument."
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Strip trailing slashes.
|
|
|
|
ac_ltdl_dir=`echo "$ac_ltdl_dir" |$SED 's,/*$,,'`
|
|
|
|
|
|
|
|
require_ac_ltdl_dir=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-04 17:10:28 +08:00
|
|
|
# require_ac_ltdl_mode
|
|
|
|
# --------------------
|
|
|
|
# Extract mode name from LTDL_INIT options.
|
|
|
|
require_ac_ltdl_mode=func_require_ac_ltdl_mode
|
|
|
|
func_require_ac_ltdl_mode ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_ac_ltdl_options
|
|
|
|
|
|
|
|
case " $ac_ltdl_options " in
|
|
|
|
*" nonrecursive "*) ac_ltdl_mode=nonrecursive ;;
|
|
|
|
*" recursive "*) ac_ltdl_mode=recursive ;;
|
|
|
|
*" subproject "*) ac_ltdl_mode=subproject ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
require_ac_ltdl_mode=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# require_ac_ltdl_options
|
|
|
|
# -----------------------
|
|
|
|
# Extract ac_ltdl_options from LTDL_INIT.
|
|
|
|
require_ac_ltdl_options=func_require_ac_ltdl_options
|
|
|
|
func_require_ac_ltdl_options ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_configure_ac
|
|
|
|
|
|
|
|
if test -n "$configure_ac"; then
|
|
|
|
func_extract_trace LTDL_INIT
|
|
|
|
ac_ltdl_options=$func_extract_trace_result
|
|
|
|
|
|
|
|
case $ac_ltdl_options in
|
|
|
|
*\$*)
|
|
|
|
func_fatal_error "\
|
|
|
|
can not expand unknown variable in LTDL_INIT argument."
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
|
|
|
require_ac_ltdl_mode=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-04 01:44:08 +08:00
|
|
|
# require_ac_macro_dir
|
|
|
|
# --------------------
|
|
|
|
# Extract ac_macro_dir from AC_CONFIG_MACRO_DIR.
|
|
|
|
require_ac_macro_dir=func_require_ac_macro_dir
|
|
|
|
func_require_ac_macro_dir ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_configure_ac
|
|
|
|
|
|
|
|
if test -n "$configure_ac"; then
|
|
|
|
func_extract_trace AC_CONFIG_MACRO_DIR
|
|
|
|
ac_macro_dir=$func_extract_trace_result
|
|
|
|
fi
|
|
|
|
|
|
|
|
require_ac_macro_dir=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# require_aclocal_amflags
|
|
|
|
# -----------------------
|
|
|
|
# Extract `$aclocal_amflags' from `Makefile.am' if present.
|
|
|
|
require_aclocal_amflags=func_require_aclocal_amflags
|
|
|
|
func_require_aclocal_amflags ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_makefile_am
|
|
|
|
|
|
|
|
test -n "$makefile_am" && {
|
|
|
|
_G_sed_extract_aclocal_amflags='s|#.*$||
|
|
|
|
/^[ ]*ACLOCAL_AMFLAGS[ ]*=/ {
|
|
|
|
s|^.*=[ ]*\(.*\)|aclocal_amflags="\1"|
|
|
|
|
p
|
|
|
|
}'
|
|
|
|
|
|
|
|
_G_aclocal_flags_cmd=`$SED -n "$_G_sed_extract_aclocal_amflags" \
|
|
|
|
"$makefile_am"`
|
|
|
|
eval "$_G_aclocal_flags_cmd"
|
|
|
|
|
|
|
|
func_verbose "ACLOCAL_AMFLAGS='$aclocal_amflags'"
|
|
|
|
}
|
|
|
|
|
|
|
|
require_aclocal_amflags=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# require_am_macro_dir
|
|
|
|
# --------------------
|
|
|
|
# Set am_macro_dir to the first directory specified in ACLOCAL_AMFLAGS.
|
|
|
|
require_am_macro_dir=func_require_am_macro_dir
|
|
|
|
func_require_am_macro_dir ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_aclocal_amflags
|
|
|
|
|
|
|
|
_G_minus_I_seen=false
|
|
|
|
for _G_arg in $aclocal_amflags; do
|
|
|
|
case $_G_minus_I_seen,$_G_arg in
|
|
|
|
:,*) am_macro_dir=$_G_arg; break ;;
|
|
|
|
*,-I) _G_minus_I_seen=: ;;
|
|
|
|
*,-I*) am_macro_dir=`expr x$_G_opt : 'x-I\(.*\)$'`; break ;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
require_am_macro_dir=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-04 02:30:24 +08:00
|
|
|
# require_aux_dir
|
|
|
|
# ---------------
|
|
|
|
# Set aux_dir according to AC_CONFIG_AUX_DIR or else use the same
|
|
|
|
# heuristics as Autoconf to intuit an appropriate setting.
|
|
|
|
require_aux_dir=func_require_aux_dir
|
|
|
|
func_require_aux_dir ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_ac_aux_dir
|
|
|
|
|
|
|
|
test -n "$aux_dir" || aux_dir=$ac_aux_dir
|
|
|
|
test -n "$aux_dir" || {
|
|
|
|
# Try to intuit aux_dir using the same heuristic as Autoconf.
|
|
|
|
for _G_dir in . .. ../..; do
|
|
|
|
if test -f "$_G_dir/install-sh" || test -f "$_G_dir/install.sh"
|
|
|
|
then
|
|
|
|
aux_dir=$_G_dir
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
# Use the current directory if all else fails.
|
|
|
|
test -n "$aux_dir" || aux_dir=.
|
|
|
|
|
|
|
|
require_aux_dir=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-03 22:45:15 +08:00
|
|
|
# require_configure_ac
|
|
|
|
# --------------------
|
|
|
|
# Ensure that there is a `configure.ac' or `configure.in' file in the
|
|
|
|
# current directory, and that `$configure_ac' contains its name.
|
|
|
|
require_configure_ac=func_require_configure_ac
|
|
|
|
func_require_configure_ac ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
test -z "$configure_ac" \
|
|
|
|
&& func_autoconf_configure configure.ac && configure_ac=configure.ac
|
|
|
|
test -z "$configure_ac" \
|
|
|
|
&& func_autoconf_configure configure.in && configure_ac=configure.in
|
|
|
|
test -z "$configure_ac" \
|
|
|
|
|| func_verbose "found \`$configure_ac'"
|
|
|
|
|
|
|
|
require_configure_ac=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
# require_ltdl_dir
|
|
|
|
# ----------------
|
|
|
|
# If both are specified, ensure both --ltdl=LTDL_DIR and
|
|
|
|
# LT_CONFIG_LTDL_DIR agree, and set ltdl_dir to the value of either.
|
|
|
|
require_ltdl_dir=func_require_ltdl_dir
|
|
|
|
func_require_ltdl_dir ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_ac_ltdl_dir
|
|
|
|
|
|
|
|
test -n "$ltdl_dir" || ltdl_dir=$ac_ltdl_dir
|
|
|
|
test -n "$ltdl_dir" || ltdl_dir=libltdl
|
|
|
|
|
|
|
|
if test -n "$ac_ltdl_dir"; then
|
|
|
|
test "$ac_ltdl_dir" = "$ltdl_dir" || func_fatal_error "\
|
|
|
|
--ltdl='$ltdl_dir' does not match LT_CONFIG_LTDL_DIR($ac_ltdl_dir)"
|
|
|
|
fi
|
|
|
|
|
|
|
|
require_ltdl_dir=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-04 17:10:28 +08:00
|
|
|
# require_ltdl_mode
|
|
|
|
# -----------------
|
|
|
|
# If both are specified, ensure both command line setting and LTDL_INIT
|
|
|
|
# option agree, and set ltdl_mode to the value of either.
|
|
|
|
require_ltdl_mode=func_require_ltdl_mode
|
|
|
|
func_require_ltdl_mode ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_ac_ltdl_mode
|
|
|
|
|
|
|
|
test -n "$ltdl_mode" || ltdl_mode=$ac_ltdl_mode
|
|
|
|
test -n "$ltdl_mode" || ltdl_mode=subproject
|
|
|
|
|
|
|
|
if test -n "$ac_ltdl_mode"; then
|
|
|
|
test "$ac_ltdl_mode" = "$ltdl_mode" || func_fatal_error "\
|
|
|
|
--$ltdl_mode does not match LTDL_INIT($ac_ltdl_mode)"
|
|
|
|
fi
|
|
|
|
|
|
|
|
require_ltdl_mode=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-04 01:44:08 +08:00
|
|
|
# require_macro_dir
|
|
|
|
# -----------------
|
|
|
|
# If both are specified, ensure both ACLOCAL_AMFLAGS and
|
|
|
|
# AC_CONFIG_MACRO_DIR agree, and set macro_dir to the value of either.
|
|
|
|
require_macro_dir=func_require_macro_dir
|
|
|
|
func_require_macro_dir ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_ac_macro_dir
|
|
|
|
$require_am_macro_dir
|
|
|
|
|
|
|
|
macro_dir=$ac_macro_dir
|
|
|
|
test -n "$macro_dir" || macro_dir=$am_macro_dir
|
|
|
|
test -n "$macro_dir" || macro_dir=m4
|
|
|
|
|
|
|
|
if test -n "$ac_macro_dir" && test -n "$am_macro_dir"; then
|
|
|
|
test "$ac_macro_dir" = "$am_macro_dir" || func_fatal_error "\
|
|
|
|
AC_CONFIG_MACRO_DIR([$ac_macro_dir]) conflicts with ACLOCAL_AMFLAGS=-I $am_macro_dir."
|
|
|
|
fi
|
|
|
|
|
|
|
|
require_macro_dir=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# require_makefile_am
|
|
|
|
# -------------------
|
|
|
|
# If not already set, set makefile_am to `Makefile.am' if that file is
|
|
|
|
# present in the current directory.
|
|
|
|
require_makefile_am=func_require_makefile_am
|
|
|
|
func_require_makefile_am ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
test -n "$makefile_am" || makefile_am=Makefile.am
|
|
|
|
|
|
|
|
if test -f Makefile.am; then
|
|
|
|
func_verbose "found \`$makefile_am'"
|
|
|
|
else
|
|
|
|
makefile_am=
|
|
|
|
fi
|
|
|
|
|
|
|
|
require_makefile_am=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-11-03 22:45:15 +08:00
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
## ----------- ##
|
|
|
|
## Main. ##
|
|
|
|
## ----------- ##
|
1997-04-02 02:29:23 +08:00
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
{
|
2010-06-11 14:01:48 +08:00
|
|
|
# Lists of all files libtoolize has ever installed. These are removed
|
|
|
|
# before installing the latest files when --force was passed to help
|
|
|
|
# ensure a clean upgrade.
|
|
|
|
# Do not remove config.guess nor config.sub, we don't install them
|
|
|
|
# without --install, and the project may not be using Automake.
|
|
|
|
all_pkgconfig_files="ltmain.sh"
|
|
|
|
all_pkgmacro_files="argz.m4 libtool.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 ltversion.in ltversion.m4 lt~obsolete.m4"
|
|
|
|
all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h slist.c"
|
|
|
|
|
|
|
|
# Locations for important files:
|
|
|
|
prefix=@prefix@
|
|
|
|
datadir=@datadir@
|
|
|
|
pkgdatadir=@pkgdatadir@
|
|
|
|
pkgltdldir=@pkgdatadir@
|
|
|
|
aclocaldir=@aclocaldir@
|
|
|
|
|
|
|
|
seen_libtool=false
|
|
|
|
seen_ltdl=false
|
|
|
|
|
|
|
|
# test EBCDIC or ASCII
|
|
|
|
case `echo X|tr X '\101'` in
|
|
|
|
A) # ASCII based system
|
|
|
|
# \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
|
|
|
|
SP2NL='tr \040 \012'
|
|
|
|
NL2SP='tr \015\012 \040\040'
|
|
|
|
;;
|
|
|
|
*) # EBCDIC based system
|
|
|
|
SP2NL='tr \100 \n'
|
|
|
|
NL2SP='tr \r\n \100\100'
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2005-04-30 17:30:14 +08:00
|
|
|
# Allow the user to override the master libtoolize repository:
|
|
|
|
if test -n "$_lt_pkgdatadir"; then
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* 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): Adjust to
compensate.
* 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.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
pkgltdldir="$_lt_pkgdatadir"
|
|
|
|
pkgdatadir="$_lt_pkgdatadir/libltdl"
|
|
|
|
aclocaldir="$_lt_pkgdatadir/libltdl/m4"
|
2005-04-30 17:30:14 +08:00
|
|
|
fi
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* 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): Adjust to
compensate.
* 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.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
func_nonemptydir_p pkgltdldir
|
2005-04-30 17:30:14 +08:00
|
|
|
func_nonemptydir_p pkgdatadir
|
|
|
|
func_nonemptydir_p aclocaldir
|
|
|
|
|
2011-11-04 01:44:08 +08:00
|
|
|
extract_trace=$pkgdatadir/config/extract-trace
|
|
|
|
|
2005-10-26 18:42:05 +08:00
|
|
|
func_scan_files
|
|
|
|
|
2011-11-04 15:43:23 +08:00
|
|
|
$require_ltdl_dir
|
|
|
|
case $ltdl_dir in
|
2006-06-14 03:08:33 +08:00
|
|
|
.) ltdlprefix= ;;
|
2011-11-04 15:43:23 +08:00
|
|
|
*) ltdlprefix=$ltdl_dir/ ;;
|
2006-06-14 03:08:33 +08:00
|
|
|
esac
|
2010-09-24 22:10:19 +08:00
|
|
|
subproject_aux_dir=${ltdlprefix}config
|
2010-09-24 22:12:18 +08:00
|
|
|
subproject_macro_dir=${ltdlprefix}m4
|
2006-06-14 03:08:33 +08:00
|
|
|
|
2008-01-28 13:39:26 +08:00
|
|
|
# :::BE CAREFUL HERE:::
|
|
|
|
# func_check_macros needs to check whether --ltdl was specified when
|
|
|
|
# LTDL_INIT was not seen, so we can't just use one variable for both
|
|
|
|
# conditions, or that check will be impossible. No need to clutter the
|
|
|
|
# rest of the code with '$opt_ltdl || $seen_ltdl' though, because we CAN
|
|
|
|
# safely set opt_ltdl to true if LTDL_INIT was seen:
|
|
|
|
$seen_ltdl && opt_ltdl=:
|
|
|
|
|
2008-01-28 00:35:36 +08:00
|
|
|
func_install_pkgconfig_files
|
|
|
|
func_install_pkgmacro_files
|
|
|
|
func_install_pkgltdl_files
|
2006-06-13 01:54:15 +08:00
|
|
|
|
2008-01-28 13:12:23 +08:00
|
|
|
func_check_macros
|
2003-10-07 19:12:16 +08:00
|
|
|
}
|
1999-03-10 06:57:26 +08:00
|
|
|
|
2003-10-07 19:12:16 +08:00
|
|
|
exit $exit_status
|
1997-04-02 02:29:23 +08:00
|
|
|
|
|
|
|
# Local Variables:
|
|
|
|
# mode:shell-script
|
|
|
|
# sh-indentation:2
|
|
|
|
# End:
|
2007-03-06 08:46:56 +08:00
|
|
|
]])
|