From: Alexandre Duret-Lutz Date: Mon, 8 Jul 2002 19:41:24 +0000 (+0000) Subject: Fix for PR automake/291: X-Git-Tag: Release-1-6b~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f03fe6eaf6aa3d1213a82c69ee69dcb2ba20d657;p=thirdparty%2Fautomake.git Fix for PR automake/291: * automake.in (macro_define): Catch variable names starting with `_'. (handle_installdirs): Rename _am_installdirs to am__installdirs. * lib/am/data.am, lib/am/install.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlibs.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Likewise. * tests/canon5.test: Use -Wno-portability. * tests/vars2.test: New file. * tests/Makefile.am (TESTS): Add vars2.test. --- diff --git a/ChangeLog b/ChangeLog index 0a63bc314..8f075c116 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2002-07-08 Alexandre Duret-Lutz + + Fix for PR automake/291: + * automake.in (macro_define): Catch variable names starting + with `_'. + (handle_installdirs): Rename _am_installdirs to am__installdirs. + * lib/am/data.am, lib/am/install.am, lib/am/libs.am, + lib/am/lisp.am, lib/am/ltlibs.am, lib/am/mans.am, + lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, + lib/am/texinfos.am: Likewise. + * tests/canon5.test: Use -Wno-portability. + * tests/vars2.test: New file. + * tests/Makefile.am (TESTS): Add vars2.test. + 2002-07-08 Alexandre Duret-Lutz * tests/defs (AUTOMAKE): Add -Wall. diff --git a/automake.in b/automake.in index 84231bd70..9b4775c32 100755 --- a/automake.in +++ b/automake.in @@ -4371,8 +4371,8 @@ sub handle_installdirs () { $output_rules .= &file_contents ('install', - ('_am_installdirs' - => variable_value ('_am_installdirs') || '', + ('am__installdirs' + => variable_value ('am__installdirs') || '', 'installdirs-local' => (target_defined ('installdirs-local') ? ' installdirs-local' : ''))); @@ -5927,9 +5927,14 @@ sub macro_define ($$$$$$) { my ($var, $var_is_am, $type, $cond, $value, $where) = @_; - err $where, "bad characters in macro name `$var'" + err $where, "bad characters in variable name `$var'" if $var !~ /$MACRO_PATTERN/o; + # NEWS-OS 4.2R complains if a Makefile variable begins with `_'. + msg ('portability', $where, + "$var: variable names starting with `_' are not portable") + if $var =~ /^_/; + $cond ||= 'TRUE'; # An Automake variable must be consistently defined with the same diff --git a/lib/am/data.am b/lib/am/data.am index 3187e0689..49e133d5a 100644 --- a/lib/am/data.am +++ b/lib/am/data.am @@ -21,7 +21,7 @@ ## ------------ ## if %?INSTALL% -_am_installdirs += $(DESTDIR)$(%NDIR%dir) +am__installdirs += $(DESTDIR)$(%NDIR%dir) ?BASE?%DIR%%PRIMARY%_INSTALL = $(INSTALL_%ONE_PRIMARY%) ?!BASE?%DIR%%PRIMARY%_INSTALL = $(install_sh_DATA) ?EXEC?.PHONY install-exec-am: install-%DIR%%PRIMARY% diff --git a/lib/am/install.am b/lib/am/install.am index 1f3351eee..f45a8ec00 100644 --- a/lib/am/install.am +++ b/lib/am/install.am @@ -22,11 +22,11 @@ ?SUBDIRS?.PHONY: installdirs installdirs-am installdirs-recursive ?SUBDIRS?installdirs: installdirs-recursive ?SUBDIRS?installdirs-am:%installdirs-local% -?SUBDIRS??_am_installdirs? $(mkinstalldirs) %_am_installdirs% +?SUBDIRS??am__installdirs? $(mkinstalldirs) %am__installdirs% ?!SUBDIRS?.PHONY: installdirs ?!SUBDIRS?installdirs:%installdirs-local% -?!SUBDIRS??_am_installdirs? $(mkinstalldirs) %_am_installdirs% +?!SUBDIRS??am__installdirs? $(mkinstalldirs) %am__installdirs% ## ----------------- ## diff --git a/lib/am/java.am b/lib/am/java.am index 9fb5c7270..9e2f974d7 100644 --- a/lib/am/java.am +++ b/lib/am/java.am @@ -40,7 +40,7 @@ class%DIR%.stamp: $(%DIR%_JAVA) ## ------------ ## if %?INSTALL% -_am_installdirs += $(DESTDIR)$(%NDIR%dir) +am__installdirs += $(DESTDIR)$(%NDIR%dir) ?EXEC?.PHONY install-exec-am: install-%DIR%JAVA ?!EXEC?.PHONY install-data-am: install-%DIR%JAVA install-%DIR%JAVA: class%DIR%.stamp diff --git a/lib/am/libs.am b/lib/am/libs.am index 906d5e5ee..ba7fd53cb 100644 --- a/lib/am/libs.am +++ b/lib/am/libs.am @@ -32,7 +32,7 @@ endif %?FIRST% ## ------------ ## if %?INSTALL% -_am_installdirs += $(DESTDIR)$(%NDIR%dir) +am__installdirs += $(DESTDIR)$(%NDIR%dir) ?BASE?%DIR%LIBRARIES_INSTALL = $(INSTALL_DATA) ?!BASE?%DIR%LIBRARIES_INSTALL = $(install_sh_DATA) ?EXEC?.PHONY install-exec-am: install-%DIR%LIBRARIES diff --git a/lib/am/lisp.am b/lib/am/lisp.am index b0378613e..fa7ed0308 100644 --- a/lib/am/lisp.am +++ b/lib/am/lisp.am @@ -32,7 +32,7 @@ ## ------------ ## if %?INSTALL% -_am_installdirs += $(DESTDIR)$(%NDIR%dir) +am__installdirs += $(DESTDIR)$(%NDIR%dir) ?BASE?%DIR%LISP_INSTALL = $(INSTALL_DATA) ?!BASE?%DIR%LISP_INSTALL = $(install_sh_DATA) ?EXEC?.PHONY install-exec-am: install-%DIR%LISP diff --git a/lib/am/ltlib.am b/lib/am/ltlib.am index d9044cc2d..03c8e10d6 100644 --- a/lib/am/ltlib.am +++ b/lib/am/ltlib.am @@ -22,7 +22,7 @@ ## ------------ ## if %?INSTALL% -_am_installdirs += $(DESTDIR)$(%NDIR%dir) +am__installdirs += $(DESTDIR)$(%NDIR%dir) ?BASE?%DIR%LTLIBRARIES_INSTALL = $(INSTALL) ?!BASE?%DIR%LTLIBRARIES_INSTALL = $(install_sh) -c ?EXEC?.PHONY install-exec-am: install-%DIR%LTLIBRARIES diff --git a/lib/am/mans.am b/lib/am/mans.am index b6fa21aa5..9be711a9f 100644 --- a/lib/am/mans.am +++ b/lib/am/mans.am @@ -27,7 +27,7 @@ man%SECTION%dir = $(mandir)/man%SECTION% .PHONY: install-man ?INSTALL-MAN?install-data-am: install-man -?INSTALL-MAN?_am_installdirs += $(DESTDIR)$(man%SECTION%dir) +?INSTALL-MAN?am__installdirs += $(DESTDIR)$(man%SECTION%dir) .PHONY install-man: install-man%SECTION% install-man%SECTION%: $(man%SECTION%_MANS) $(man_MANS) @$(NORMAL_INSTALL) diff --git a/lib/am/progs.am b/lib/am/progs.am index 7b0b323af..b923e7f1c 100644 --- a/lib/am/progs.am +++ b/lib/am/progs.am @@ -23,7 +23,7 @@ ## ------------ ## if %?INSTALL% -_am_installdirs += $(DESTDIR)$(%NDIR%dir) +am__installdirs += $(DESTDIR)$(%NDIR%dir) ?BASE?%DIR%PROGRAMS_INSTALL = $(INSTALL_PROGRAM) ?!BASE?%DIR%PROGRAMS_INSTALL = $(install_sh_PROGRAM) ?EXEC?.PHONY install-exec-am: install-%DIR%PROGRAMS diff --git a/lib/am/python.am b/lib/am/python.am index cfe5d52ba..ddf6974e1 100644 --- a/lib/am/python.am +++ b/lib/am/python.am @@ -22,7 +22,7 @@ ## ------------ ## if %?INSTALL% -_am_installdirs += $(DESTDIR)$(%NDIR%dir) +am__installdirs += $(DESTDIR)$(%NDIR%dir) ?BASE?%DIR%PYTHON_INSTALL = $(INSTALL_DATA) ?!BASE?%DIR%PYTHON_INSTALL = $(install_sh_DATA) ?EXEC?.PHONY install-exec-am: install-%DIR%PYTHON diff --git a/lib/am/scripts.am b/lib/am/scripts.am index 0f5cd5d24..9d4ea7ba0 100644 --- a/lib/am/scripts.am +++ b/lib/am/scripts.am @@ -23,7 +23,7 @@ if %?INSTALL% ## if doesn't work properly for Automake variables yet. -_am_installdirs += $(DESTDIR)$(%NDIR%dir) +am__installdirs += $(DESTDIR)$(%NDIR%dir) ?BASE?%DIR%SCRIPT_INSTALL = $(INSTALL_SCRIPT) ?!BASE?%DIR%SCRIPT_INSTALL = $(install_sh_SCRIPT) ?EXEC?.PHONY install-exec-am: install-%DIR%SCRIPTS @@ -93,4 +93,3 @@ installcheck-%DIR%SCRIPTS: $(%DIR%_SCRIPTS) done; \ done; rm -f c$${pid}_.???; exit $$bad endif %?CK-OPTS% - diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am index 89c00fe39..59deefe11 100644 --- a/lib/am/texinfos.am +++ b/lib/am/texinfos.am @@ -101,7 +101,7 @@ endif ! %?LOCAL-TEXIS% ## is hard coded. if %?INSTALL-INFO% if %?LOCAL-TEXIS% -_am_installdirs += $(DESTDIR)$(infodir) +am__installdirs += $(DESTDIR)$(infodir) install-data-am: install-info-am endif %?LOCAL-TEXIS% if %?SUBDIRS% diff --git a/tests/Makefile.am b/tests/Makefile.am index b47000097..415f058dc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -380,6 +380,7 @@ texinfo10.test \ transform.test \ unused.test \ vars.test \ +vars2.test \ vartar.test \ version.test \ version2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 33e5e8f3e..f1b97acca 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -467,6 +467,7 @@ texinfo10.test \ transform.test \ unused.test \ vars.test \ +vars2.test \ vartar.test \ version.test \ version2.test \ diff --git a/tests/canon5.test b/tests/canon5.test index b05ced445..9102bfd9f 100755 --- a/tests/canon5.test +++ b/tests/canon5.test @@ -20,18 +20,21 @@ bin_PROGRAMS = _foo _foo_SOURCES = foo.c END -$AUTOMAKE || exit 1 +# Variables starting with `_' are not portable. +$AUTOMAKE -Wno-portability || exit 1 cat > Makefile.am << 'END' bin_PROGRAMS = ,foo ,foo_SOURCES = foo.c END -$AUTOMAKE && exit 1 +# Variables starting with `_' are not portable. +$AUTOMAKE -Wno-portability && exit 1 cat > Makefile.am << 'END' bin_PROGRAMS = ,foo _foo_SOURCES = foo.c END -$AUTOMAKE +# Variables starting with `_' are not portable. +$AUTOMAKE -Wno-portability diff --git a/tests/vars2.test b/tests/vars2.test new file mode 100755 index 000000000..19cfcabb0 --- /dev/null +++ b/tests/vars2.test @@ -0,0 +1,22 @@ +#! /bin/sh + +# Check that Automake warns about variables starting with `_'. +# PR/291 + +. $srcdir/defs || exit 1 + +set -e + +cat >Makefile.am <stderr +cat stderr +grep GOOD stderr && exit 1 +grep _BAD stderr +grep _bad stderr