(Please excuse the brute force rearrangement of libtoolize.at expout files... I have a much nicer patch to generate these from the filelists that libtoolize itself is using, but I want to get back to the directory renaming patches in as few steps as possible, without flooding the list with patches along the way)
* libtoolize.m4sh (func_massage_aclocal_DATA): Removed function and only caller, because... (pkgmacro_files): ...we substitute the pre-massaged files directly... (func_install_pkgmacro_files): ...from here. * Makefile.am (pkgmacro_files): New pre-massaged list of aclocal macros used by func_install_pkgmacro_files. (configure_edit): Substitute pkgmacro_files instead of aclocalfiles. Signed-off-by: Gary V. Vaughan <g...@gnu.org> --- Makefile.am | 19 ++++------ libtoolize.m4sh | 96 +++++++++++++++++++-------------------------------- tests/libtoolize.at | 4 +- 3 files changed, 46 insertions(+), 73 deletions(-) diff --git a/Makefile.am b/Makefile.am index b1abaa1..fed52fc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -269,7 +269,6 @@ all-local: $(LTDL_BOOTSTRAP_DEPS) ## ---------------- ## configure_edit = $(SED) \ - -e 's,@aclocal_DATA\@,$(aclocalfiles),g' \ -e 's,@aclocaldir\@,$(aclocaldir),g' \ -e 's,@aux_dir\@,$(aux_dir),g' \ -e 's,@datadir\@,$(datadir),g' \ @@ -282,6 +281,7 @@ configure_edit = $(SED) \ -e "s,@pkgconfig_files\@,$(auxfiles),g" \ -e 's,@pkgdatadir\@,$(pkgdatadir),g' \ -e "s,@pkgltdl_files\@,$(ltdldatafiles),g" \ + -e 's,@pkgmacro_files\@,$(pkgmacro_files),g' \ -e 's,@prefix\@,$(prefix),g' \ -e 's,@SED\@,$(SED),g' \ -e 's,@srcdir\@,$(srcdir),g' @@ -333,9 +333,7 @@ lt_config_h_in = $(ltdl_dir)/config-h.in lt_configure = $(ltdl_dir)/configure stamp_mk = $(ltdl_dir)/stamp-mk -lt_obsolete_m4 = $(macro_dir)/lt~obsolete.m4 - -EXTRA_DIST += $(stamp_mk) $(lt_obsolete_m4) +EXTRA_DIST += $(stamp_mk) $(macro_dir)/lt~obsolete.m4 $(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) $(AM_V_GEN)cd '$(ltdl_dir)' && $(AUTOMAKE) Makefile @@ -439,8 +437,8 @@ auxfiles = $(pkgaux_scripts) config/ltmain.sh # Everything that gets picked up by aclocal is automatically distributed, # this is the list of macro files we install on the user's system. -aclocalfiles = m4/argz.m4 m4/libtool.m4 m4/ltdl.m4 m4/ltoptions.m4 \ - m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 +pkgmacro_files = argz.m4 libtool.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 \ + ltversion.m4 lt~obsolete.m4 ## These are installed as a subdirectory of pkgdatadir so that ## libtoolize --ltdl can find them later: @@ -473,10 +471,9 @@ install-data-local: $(lt_Makefile_in) ## with libtoolize, we have to install them in the correct order: ## First, put a copy of the libtool m4 macros in the aclocal dir $(mkinstalldirs) $(DESTDIR)$(aclocaldir) - @list='$(aclocalfiles)'; for p in $$list; do \ - f=`echo "$$p" |'$(SED)' 's|^.*/||'`; \ - echo " $(INSTALL_DATA) '$(macro_dir)/$$f' '$(DESTDIR)$(aclocaldir)/$$f'"; \ - $(INSTALL_DATA) "$(macro_dir)/$$f" "$(DESTDIR)$(aclocaldir)/$$f"; \ + @list='$(pkgmacro_files)'; for p in $$list; do \ + echo " $(INSTALL_DATA) '$(macro_dir)/$$p' '$(DESTDIR)$(aclocaldir)/$$p'"; \ + $(INSTALL_DATA) "$(macro_dir)/$$p" "$(DESTDIR)$(aclocaldir)/$$p"; \ done ## install the helper scripts $(mkinstalldirs) '$(DESTDIR)$(pkgdatadir)' @@ -559,7 +556,7 @@ uninstall-hook: echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ done - @for p in $(aclocalfiles); do \ + @for p in $(pkgmacro_files); do \ f=`echo "$$p" |$(SED) 's|^.*/||'`; \ echo " rm -f '$(DESTDIR)$(aclocaldir)/$$f'"; \ rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \ diff --git a/libtoolize.m4sh b/libtoolize.m4sh index 7568f1c..608471f 100644 --- a/libtoolize.m4sh +++ b/libtoolize.m4sh @@ -759,34 +759,6 @@ func_install_update () } -# func_massage_aclocal_DATA [glob_exclude] -# @aclocal_DATA\@ is substituted as per its value in Makefile.am; -# this function massages it into a suitable format for func_copy_some_files. -func_massage_aclocal_DATA () -{ - $debug_cmd - - pkgmacro_files= # GLOBAL VAR - - my_glob_exclude="$1" - - # Massage a value for pkgmacro_files from the value used in Makefile.am. - for my_filename in @aclocal_DATA@; do - func_dirname_and_basename "$my_filename" - my_filename=$func_basename_result - - # ignore excluded filenames - if test -n "$my_glob_exclude"; then - my_cont=false - eval 'case $my_filename in '$my_glob_exclude') my_cont=: ;; esac' - $my_cont && continue - fi - - pkgmacro_files="${pkgmacro_files+$pkgmacro_files }$my_filename" - done -} - - # func_install_pkgmacro_subproject # Unless --quiet was passed, display a message. Then copy pkgmacro_files # from libtool installation tree to subproject libltdl tree. @@ -811,7 +783,7 @@ func_install_pkgmacro_subproject () pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, \`$subproject_macro_dir'." fi - func_copy_some_files "libtool.m4 ltdl.m4 $pkgmacro_files" \ + func_copy_some_files "$pkgmacro_files" \ "$aclocaldir" "$subproject_macro_dir" pkgmacro_header } @@ -842,26 +814,29 @@ func_install_pkgmacro_parent () my_pkgmacro_header="putting macros in \`$macro_dir'." fi - if $opt_ltdl; then - func_serial_update argz.m4 "$aclocaldir" "$macro_dir" \ - my_pkgmacro_header argz.m4 - else - func_verbose "Not copying \`$macro_dir/argz.m4', libltdl not used." - fi + for file in $pkgmacro_files; do + case $file in + argz.m4|ltdl.m4) + $opt_ltdl || { + func_verbose "Not copying \`$macro_dir/$file', libltdl not used." + continue + } + ;; + esac - func_serial_update libtool.m4 "$aclocaldir" "$macro_dir" \ - my_pkgmacro_header LT_INIT 'A[CM]_PROG_LIBTOOL' + case $file in + libtool.m4) + func_serial_update libtool.m4 "$aclocaldir" "$macro_dir" \ + my_pkgmacro_header LT_INIT 'A[CM]_PROG_LIBTOOL' ;; - if $opt_ltdl; then - func_serial_update ltdl.m4 "$aclocaldir" "$macro_dir" \ - my_pkgmacro_header 'LTDL_INIT' - else - func_verbose "Not copying \`$macro_dir/ltdl.m4', libltdl not used." - fi + ltdl.m4) + func_serial_update ltdl.m4 "$aclocaldir" "$macro_dir" \ + my_pkgmacro_header 'LTDL_INIT' ;; - for file in $pkgmacro_files; do - func_serial_update "$file" "$aclocaldir" "$macro_dir" \ - my_pkgmacro_header "$file" + *) + func_serial_update "$file" "$aclocaldir" "$macro_dir" \ + my_pkgmacro_header "$file" ;; + esac done } @@ -877,9 +852,6 @@ func_install_pkgmacro_files () $require_ltdl_mode $require_macro_dir - # argz.m4, libtool.m4 and ltdl.m4 are handled specially: - func_massage_aclocal_DATA 'argz.m4|libtool.m4|ltdl.m4' - # 1. Parent has separate macro_dir to subproject ltdl: if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" && test "x$macro_dir" != "x$subproject_macro_dir" @@ -1173,17 +1145,17 @@ func_check_macros () my_ac_config_macro_srcdir="$subproject_macro_dir" fi - my_needed="libtool.m4 ltoptions.m4 ltversion.m4 ltsugar.m4 lt~obsolete.m4" - $opt_ltdl && my_needed="$my_needed argz.m4 ltdl.m4" - - 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 + my_missing= + for file in $pkgmacro_files; do + case $file in + argz.m4|ltdl.m4) $opt_ltdl || continue ;; + esac + if test -f "aclocal.m4"; then + func_aclocal_update_check $file + $func_aclocal_update_check_result || continue + fi + my_missing="$my_missing $file" + done if test -n "$my_missing"; then func_echo "You should add the contents of the following files to \`aclocal.m4':" @@ -1685,6 +1657,10 @@ func_require_seen_libtool () 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" + # Files installed by func_install_pkgmacro_files(), not including + # libtool.m4 and ltdl.m4 which are handled specially. + pkgmacro_files="@pkgmacro_files@" + # Locations for important files: prefix=@prefix@ datadir=@datadir@ diff --git a/tests/libtoolize.at b/tests/libtoolize.at index 541753b..cf366c0 100644 --- a/tests/libtoolize.at +++ b/tests/libtoolize.at @@ -539,8 +539,8 @@ libtoolize: copying file `build-aux/ltmain.sh' libtoolize: You should add the contents of the following files to `aclocal.m4': libtoolize: `/usr/local/share/aclocal/libtool.m4' libtoolize: `/usr/local/share/aclocal/ltoptions.m4' -libtoolize: `/usr/local/share/aclocal/ltversion.m4' libtoolize: `/usr/local/share/aclocal/ltsugar.m4' +libtoolize: `/usr/local/share/aclocal/ltversion.m4' libtoolize: `/usr/local/share/aclocal/lt~obsolete.m4' libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. @@ -674,8 +674,8 @@ AT_DATA([expout], libtoolize: copying file `./ltmain.sh' libtoolize: You should add the contents of the following files to `aclocal.m4': libtoolize: `/usr/local/share/aclocal/libtool.m4' -libtoolize: `/usr/local/share/aclocal/ltversion.m4' libtoolize: `/usr/local/share/aclocal/ltsugar.m4' +libtoolize: `/usr/local/share/aclocal/ltversion.m4' libtoolize: `/usr/local/share/aclocal/lt~obsolete.m4' libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. -- 1.7.7.2 Cheers, -- Gary V. Vaughan (gary AT gnu DOT org)