From: Stefano Lattarini Date: Sun, 18 Mar 2012 21:31:45 +0000 (+0100) Subject: Merge branch 'maint' X-Git-Tag: v1.11b~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db1138c5e74d4f5b4713bf29127cb1430c5fc32e;p=thirdparty%2Fautomake.git Merge branch 'maint' * maint: install-mans: avoid spurious failure with NetBSD make install: don't create empty dirs when an empty 'foo_PRIMARY' is used aclocal: remove a couple of useless imports aclocal: create local directory where to install m4 files Signed-off-by: Stefano Lattarini --- db1138c5e74d4f5b4713bf29127cb1430c5fc32e diff --cc NEWS index 1b2e19075,5d463da38..7f6b923b2 --- a/NEWS +++ b/NEWS @@@ -374,7 -107,26 +374,27 @@@ New in 1.11.2 the `${infodir}/dir' file, by exporting the new environment variable `AM_UPDATE_INFO_DIR' to the value "no". +Bugs fixed in 1.11.2: + - For programs and libraries, automake now detects EXTRA_foo_DEPENDENCIES + and adds them to the normal list of dependencies, but without + overwriting the foo_DEPENDENCIES variable, which is normally computed + by automake. + + - The 'ar-lib' script now ignores the "s" (symbol index) and "S" (no + symbol index) modifiers as well as the "s" action, as the symbol index + is created unconditionally by Microsoft lib. Also, the "q" (quick) + action is now a synonym for "r" (replace). Also, the script has been + ignoring the "v" (verbose) modifier already since Automake 1.11.3. + + - When the 'compile' script is used to wrap MSVC, it now accepts an + optional space between the -I, -L and -l options and their respective + arguments, for better POSIX compliance. + + - If "aclocal --install" is used, and the first directory specified with + '-I' is non-existent, aclocal will now create it before trying to copy + files in it. + + Bugs fixed in 1.11.0a: * Bugs introduced by 1.11.2: @@@ -406,9 -171,27 +426,30 @@@ * Long-standing bugs: + - The order of Yacc and Lex flags is fixed to be consistent with other + languages: $(AM_YFLAGS) comes before $(YFLAGS), and $(AM_LFLAGS) before + $(LFLAGS), so that the user variables override the developer variables. + - An empty declaration of a "foo_PRIMARY" don't cause anymore the + generated install rules to create an empty $(foodir) directory; + for example, if Makefile.am contains something like: + + pkglibexec_SCRIPTS = + if FALSE + pkglibexec_SCRIPTS += bar.sh + endif + + the $(pkglibexec) directory will not be created upon "make install". + + - It is now possible for a foo_SOURCES variable to hold Vala sources + together with C header files, as well as with sources and headers for + other supported languages (e.g., C++). Previously, only mixing C and + Vala sources was supported. + + - Vala support now works better in VPATH setups. + + - The "deleted header file problem" for *.am files is avoided by stub + rules. This allows `make' to trigger a rerun of `automake' also if + some previously needed `.am' file has been removed. - "make distcheck" now correctly complains also when "make uninstall" leaves one and only one file installed in $(prefix). diff --cc THANKS index 23c1d5da7,e0c44d7b6..158d9195d --- a/THANKS +++ b/THANKS @@@ -152,8 -151,8 +154,9 @@@ Janos Farkas chexum@shadow.banki.h Jared Davis abiword@aiksaurus.com Jason Duell jcduell@lbl.gov Jason Molenda crash@cygnus.co.jp + Javier Jardón jjardon@gnome.org Jeff Bailey Jbailey@phn.ca +Jeff A. Daily jeff.daily@pnl.gov Jeff Garzik jgarzik@pobox.com Jeff Squyres jsquyres@lam-mpi.org Jens Elkner elkner@imsgroup.de diff --cc lib/am/mans.am index 5c563b3e9,b92576d63..bfc71dc99 --- a/lib/am/mans.am +++ b/lib/am/mans.am @@@ -30,16 -30,24 +30,24 @@@ man%SECTION%dir = $(mandir)/man%SECTION .PHONY install-man: install-man%SECTION% install-man%SECTION%: %DEPS% @$(NORMAL_INSTALL) - test -z "$(man%SECTION%dir)" || $(MKDIR_P) "$(DESTDIR)$(man%SECTION%dir)" if %?NOTRANS_MANS% ## Handle MANS with notrans_ prefix - @list='%NOTRANS_SECT_LIST%'; test -n "$(man%SECTION%dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ + @list1='%NOTRANS_SECT_LIST%'; \ + ?!HAVE_NOTRANS? list2=''; \ + ?HAVE_NOTRANS? list2='%NOTRANS_LIST%'; \ + test -n "$(man%SECTION%dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man%SECTION%dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man%SECTION%dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ ## Extract all items from notrans_man_MANS that should go in this section. ## This must be done dynamically to support conditionals. - ?HAVE_NOTRANS? l2='%NOTRANS_LIST%'; for i in $$l2; do echo "$$i"; done | \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ -## Accept for `man1' files like `foo.1c' but not `sub.1/foo.2' or `foo-2.1.4'. +## Accept for 'man1' files like 'foo.1c' but not 'sub.1/foo.2' or 'foo-2.1.4'. - ?HAVE_NOTRANS? sed -n '/\.%SECTION%[a-z]*$$/p'; \ + | sed -n '/\.%SECTION%[a-z]*$$/p'; \ + fi; \ ## Extract basename of manpage, change the extension if needed. } | while read p; do \ ## Find the file. @@@ -65,13 -73,22 +73,22 @@@ endif %?NOTRANS_MANS% if %?TRANS_MANS% ## Handle MANS without notrans_ prefix - @list='%TRANS_SECT_LIST%'; test -n "$(man%SECTION%dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ + @list1='%TRANS_SECT_LIST%'; \ + ?!HAVE_TRANS? list2=''; \ + ?HAVE_TRANS? list2='%TRANS_LIST%'; \ + test -n "$(man%SECTION%dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man%SECTION%dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man%SECTION%dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ ## Extract all items from notrans_man_MANS that should go in this section. ## This must be done dynamically to support conditionals. - ?HAVE_TRANS? l2='%TRANS_LIST%'; for i in $$l2; do echo "$$i"; done | \ - ## Accept for 'man1' files like 'foo.1c' but not 'sub.1/foo.2' or 'foo-2.1.4'. - ?HAVE_TRANS? sed -n '/\.%SECTION%[a-z]*$$/p'; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ -## Accept for `man1' files like `foo.1c' but not `sub.1/foo.2' or `foo-2.1.4'. ++## Accept for 'man1' files like `foo.1c' but not 'sub.1/foo.2' or 'foo-2.1.4'. + | sed -n '/\.%SECTION%[a-z]*$$/p'; \ + fi; \ ## Extract basename of manpage, change the extension if needed. } | while read p; do \ ## Find the file. diff --cc lib/am/progs.am index 0e2cc025d,da262772f..2be8bcab4 --- a/lib/am/progs.am +++ b/lib/am/progs.am @@@ -26,9 -26,12 +26,12 @@@ install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. @list='$(%DIR%_PROGRAMS)'; test -n "$(%NDIR%dir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ -## On Cygwin with libtool test won't see `foo.exe' but instead `foo'. +## On Cygwin with libtool test won't see 'foo.exe' but instead 'foo'. ## So we check for both. sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p%LIBTOOL? || test -f $$p1%; \ diff --cc tests/Makefile.am index 1126204eb,b2a8e053b..baebb1fec --- a/tests/Makefile.am +++ b/tests/Makefile.am @@@ -15,35 -17,17 +15,35 @@@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +# Run the tests with the shell detected at configure time. +LOG_COMPILER = $(SHELL) + +TEST_EXTENSIONS = .pl .test .tap +TEST_LOG_COMPILER = $(LOG_COMPILER) +TAP_LOG_COMPILER = $(LOG_COMPILER) +PL_LOG_COMPILER = $(PERL) +AM_PL_LOG_FLAGS = -Mstrict -I $(top_builddir)/lib -I $(top_srcdir)/lib -w + +TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/lib/tap-driver.sh + +AM_TAP_LOG_DRIVER_FLAGS = --merge + +EXTRA_DIST = ax/is ChangeLog-old + +TESTS = ## Will be updated later. + XFAIL_TESTS = \ all.test \ -auxdir2.test \ +yacc-bison-skeleton-cxx.test \ +yacc-bison-skeleton.test \ cond17.test \ -dist-auxfile.test \ -dist-auxfile-2.test \ -dist-pr109765.test \ gcj6.test \ +override-conditional-2.test \ +dist-pr109765.test \ - instdir-cond.test \ + instdir-cond2.test \ java-nobase.test \ objext-pr10128.test \ +parallel-tests-many.test \ pr8365-remake-timing.test \ lex-subobj-nodep.test \ remake-am-pr10111.test \ diff --cc tests/installdir.test index c5a382400,2fc1285ec..1147ee727 --- a/tests/installdir.test +++ b/tests/installdir.test @@@ -15,16 -15,19 +15,22 @@@ # along with this program. If not, see . # Test for PR 203. - # == Report == + # See also automake bug#11030. ++# ++# == Original Report for PR/203 == +# Some standard targets are missing '-local' hooks. For instance, +# installdirs is missing this. Ideally this would be an automatic +# feature of any exported target. . ./defs || Exit 1 -set -e - + echo AC_OUTPUT >> configure.in + cat > Makefile.am << 'END' + foodir = $(datadir)/$(distdir) installdirs-local: - @echo here + $(MKDIR_P) $(DESTDIR)$(foodir) + install-data-hook: installdirs-local END $ACLOCAL diff --cc tests/instdir-cond2.test index ccac92dbb,6cdc26d2e..a2c07d755 --- a/tests/instdir-cond2.test +++ b/tests/instdir-cond2.test @@@ -19,11 -23,22 +23,20 @@@ . ./defs || Exit 1 - echo AC_OUTPUT >> configure.ac -set -e - + cat >> configure.in << 'END' + AM_CONDITIONAL([ENABLE_FOO], [false]) + AC_OUTPUT + END + + : > foo + : > bar cat > Makefile.am << 'END' - pkgdata_DATA = - libexec_SCRIPTS = + pkglibexec_SCRIPTS = + if ENABLE_FOO + pkgdata_DATA = foo + pkglibexec_SCRIPTS += bar + endif END $ACLOCAL diff --cc tests/list-of-tests.mk index 70fc8c875,328083371..c00b5715c --- a/tests/list-of-tests.mk +++ b/tests/list-of-tests.mk @@@ -69,7 -64,16 +69,11 @@@ aclocal-path-install.test aclocal-path-install-serial.test \ aclocal-path-nonexistent.test \ aclocal-path-precedence.test \ + aclocal-install-fail.test \ + aclocal-install-mkdir.test \ + aclocal-no-install-no-mkdir.test \ + aclocal-verbose-install.test \ -acoutnoq.test \ -acoutpt.test \ -acoutpt2.test \ -acoutqnl.test \ -acoutbs.test \ -acoutbs2.test \ +ac-output-old.tap \ acsilent.test \ acsubst.test \ acsubst2.test \