AM_PROG_MKDIR_P: remove as obsolete, this time for good

This commit basically reverts v1.12.4-158-gdf23daf, re-instating
commit v1.12-20-g8a1c64f.

Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro has been
deprecated in the documentation and with runtime warnings since
Automake 1.12.1.  Still, when we released Automake 1.13, we had
to delay that macro's removal, since at the time the last released
version of GNU gettext still AC_REQUIRE's AM_PROG_MKDIR_P via its
'intl.m4' and 'po.m4' files, which are pulled into *many* projects.

But it's now time to remove AM_PROG_MKDIR_P once and for all.
Projects still needing to work with older gettext releases will
be able to do so by adding a definition like

   AC_DEFUN([AM_PROG_MKDIR_P], [AC_PROG_MKDIR_P([$@])])

to their 'acinclude.m4' file or to another local '*.m4' file.

* m4/mkdirp.m4: Delete.
* Makefile.am (dist_automake_ac_DATA): Remove it.
* automake.in (scan_autoconf_traces): Don't handle, nor warn about,
AM_PROG_MKDIR_P.
* doc/automake.texi (Obsolete Macros): Delete (it only spoke about
AM_PROG_MKDIR_P).
* t/gettext-macros.sh: Adjust.
* t/mkdirp-deprecation.sh: Delete.
* t/list-of-tests.mk: Don't list it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable major release 1.13

* configure.ac (AC_INIT): Bump version number to 1.13.
* m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (regenerated
by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: minor version bump

This is for the maint branch.

* configure.ac, m4/amversion.m4: Bump version to 1.13.0a.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: major version bump

This is for the master branch.

* configure.ac, m4/amversion.m4: Bump version to 1.13a.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'

Actually a dummy merge, since we retain our own "1.13a" version
number.

* maint:
  post-release: minor version bump

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'am-prog-mkdir-p-remove'

Finally backporting the AM_PROG_MKDIR_P removal that has already taken
place in Automake-NG.  We can safely do this since the latest Gettext
release (1.18.2) has removed all uses of AM_PROG_MKDIR_P, replacing
them with uses of AC_PROG_MKDIR_P instead.

References:
<http://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00064.html>
<http://lists.gnu.org/archive/html/automake/2012-12/msg00024.html>
Commit v0.18.1.1-147-g2cccb4c in the Gettext git repository.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: allow third-party macros take precedence over automake ones

It makes sense to allow "local system-wide" m4 macros take precedence
over built-in macros (defined in the aclocal versioned m4 directory
"${prefix}/share/aclocal-${APIVERSION}"), the same way we allow
"environment-level" m4 macros (through the ACLOCAL_PATH environment
variable ) take precedence over system-wide third-party macros.

An example: after this change, a definition of AM_PROG_VALAC placed
in file (say) '/usr/local/share/aclocal/my-vala.m4' should take
precedence over the same-named automake-provided macro defined in
file '/usr/local/share/aclocal-1.14/vala.m4'.

Even more importantly, after this change, m4 macros accessible
through $ACLOCAL_PATH entries will take precedence over m4 macros
defined in the aclocal versioned m4 directory; it was quite counter
intuitive that it was not the case before.

* aclocal.in (scan_m4_files): Search files in @system_includes before
files in @automake_includes.
* t/aclocal-acdir.sh: Adjust.
* t/aclocal-path-precedence.sh: Likewise.
* t/dirlist.sh: Likewise.
* doc/automake.texi: Adjust.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'aclocal-lookup-order'

* aclocal-lookup-order:
  aclocal: allow third-party macros take precedence over automake ones
compile: remove support for $(INCLUDES)

It has already been deprecated in the manual and by warnings in the
'obsolete' category for ages (at least since 2003), in favour of
AM_CPPFLAGS.  Automake-NG has removed support for it already.  And
the warnings in the obsolete category are on by default since the
1.12.4 release.

So, by removing it in Automake 1.14, we will simplify the transition
path for people that want to switch to Automake-NG.

See also Automake-NG commit v1.12-267-g6b74968 of 2012-05-21,
"[ng] compile: don't support $(INCLUDES) anymore, it's obsolete".

* NEWS, doc/automake.texi: Update.
* automake.in (generate_makefile): Reject INCLUDES unconditionally.
In all languages: don't add $(INCLUDES) to the compiler command line.
* t/includes-deprecation.sh: New test.
* t/list-of-tests.mk: Add it.
* t/werror2.sh : Adjust to avoid spurious failures.
* t/pluseq5.sh: Likewise.
* t/warnopts.sh: Likewise.

Suggested-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ACLOCAL_AMFLAGS: fully deprecate, with warnings in the 'obsolete' category

Users are expected to use the AC_CONFIG_MACRO_DIR{,S} autoconf macros
instead.  And the use of the '--install' aclocal option in ACLOCAL_AMFLAGS
has proved to be a bad idea anyway -- see automake bug#9037.

* NEWS: Update.
* t/aclocal-amflags.sh: Enhance and adjust.
* t/acloca14b.sh: Adjust.
* t/acloca22b.sh: Likewise.
* t/ax/distcheck-hook-m4.am: Likewise.
* t/dist-missing-m4.sh: Likewise.
* t/remake-renamed-m4-macro.sh: Likewise.
* t/remake-renamed-m4-macro-and-file.sh: Likewise.
* t/remake-renamed-m4-file.sh: Likewise.
* t/remake-moved-m4-file.sh: Likewise.
* t/remake-gnulib-remove-header.sh: Likewise.
* t/remake-gnulib-add-acsubst.sh: Likewise.
* t/remake-deleted-m4-file.sh: Likewise.
* t/remake-deleted-m4-file.sh: Likewise.
* t/libtool-macros.sh: Likewise.
* t/gettext-macros.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
tests: a test about warnings in category 'obsolete' was failing spuriously

* t/warnings-obsolete-default.sh : After our removal of $(INCLUDES)
support, this test has been spuriously failing because it was assuming
that a definition of the INCLUDES make variable only caused a warning
rather than a fatal error.  Fix it to use a definition of the newly
obsolescent ACLOCAL_AMFLAGS make variable.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: remove support for SGI C/C++ compilers

These compilers are only meant to run on IRIX, and that system has seen
its last release in 2006, and is expected to lose support from SGI in
December 2013:
<http://www.sgi.com/services/support/irix_mips_support.html>

This change fixes automake bug#12967 and bug#12978.

* lib/depcomp (sgi): Remove this depmode.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Drop support for DJGPP, MS-DOS, Windows 95/98/ME

Basically a backport and squash-in of three Automake-NG commits:
v1.12.1-447-g041fe15, v1.12-343-g4526363, v1.12-341-gc853c20,
plus proper simplifications of the ylwrap script.

See also:
<http://lists.gnu.org/archive/html/automake-ng/2012-05/msg00104.html>

* automake.in (BEGIN): Don't override $ENV{SHELL} for DJGPP.
(handle_libtool): Do not bother cleaning '_libs' directories, they
are only used by Libtool on MS-DOS (and we no longer support that
setup).
* syntax-checks.mk (automake_diff_no): Adjust, as now there are only
seven (not eight) different lines between 'automake.in' and 'automake'.
* bootstrap.sh: Don't special case the default value for BOOTSTRAP_SHELL
on DJGPP.  While we are at, allow that variable to be overridden from
the environment. Also, adjust comments: we don't use "ln -s" not because
it's not properly supported by DJGPP, but because it might not be
properly supported by MinGW/MSYS.
* configure.ac (MODIFICATION_DELAY): Define to '2' unconditionally, as
we no longer have to cater to quirks of Windows 95/98/ME.
* lib/am/texibuild.am: Remove support for '*.iNN' files used on DJGPP.
* lib/am/texinfos.am: Likewise.
* lib/ylwrap: Remove support for DOS-specific filenames for bison
output.
* t/txinfo19.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
general: assume dot-starting file names are supported

Now that we've dropped support for DJGPP, Windows 95/98/ME
and MS-DOS, that should always the case.

This change is basically a backport of Automake-NG commit
'v1.12-342-ge6af355'.

* lib/am/texibuild.am: Just assume we can have directories whose
name starts with a dot, i.e., that '${am__leading_dot}' expands
to '.'.
* automake.in (require_build_directory): Likewise.
* m4/depend.m4 (AM_SET_DEPDIR): Likewise.  Now $(DEPDIR) will
be set unconditionally to '.deps'.
* m4/init.m4 (AM_INIT_AUTOMAKE): Don't AC_REQUIRE the m4 macro
'AM_SET_LEADING_DOT' anymore.
* m4/lead-dot.m4: Delete.
* Makefile.am (dist_automake_ac_DATA): Remove it.
* t/subobj11a.sh: Just assume $(DEPDIR) expands to '.deps'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'remove-djgpp-support'

* remove-djgpp-support:
  general: assume dot-starting file names are supported
  Drop support for DJGPP, MS-DOS, Windows 95/98/ME
tests: remove stray uses of 'Exit', in favour of simple 'exit'

* t/warnopts.sh: Here.  Suggested by the 'sc_tests_exit_not_Exit'
maintainer check.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Drop support for $(ACLOCAL_M4_SOURCES), it's obsolete

The $(ACLOCAL_M4_SOURCES) variables has been obsolete by a long time,
and basically unused (since at least commit ab57cf28 of 2003-04-24), so
drop any mention of it.

* automake.in (scan_aclocal_m4): Flatly reject any ACLOCAL_M4_SOURCES
definition with a fatal error, rather than just warning about it.
if any deinifn
$(ACLOCAL_M4_SOURCES).  Don't append it to @ac_deps.  This makes such
variable always empty, so there's no need to return it.  Adjust the
signature of this function accordingly, and ...
(handle_configure): ... update this function accordingly.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Drop support for 'configure.in' as the Autoconf input file

The autoconf input should be named 'configure.ac' instead.  The use
of 'configure.in' has been deprecated in Autoconf since at least
the 2.13 -> 2.50 transition, and future Autoconf versions (starting
with 2.70 probably) will start to warn about it at runtime.  Automake
has been warning about it since the 1.13 release.

This change is basically a backport of commit 'v1.12-325-g927d4cb',
from Automake-NG.

* lib/Automake/Configure_ac.pm (find_configure_ac): Don't look for
'configure.in' if 'configure.ac' is not found.
(require_configure_ac): On failure, don't tell that "'configure.ac'
or 'configure.in' is required", but just that "'configure.ac' is
required".
* automake.in (@common_sometimes): Don't list 'configure.in'.
(scan_autoconf_files): Adjust heading comments.
* NEWS: Update.
* t/help.sh: Adjust.
* t/configure.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
maint: reflect removal of 'configure.in' support in comments and messages

* t/help.sh, syntax-checks.mk, aclocal.in, old/TODO: In these files.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove a botched comment from a test case

* t/backcompat6.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>