PLATFORM:Darwin mothership-2.local 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19
00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64
Symptom
~/src/gpg/gnupg(master✔) ./autogen.sh
<snip>
configure.ac:1151: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is
discouraged.
configure.ac:1151: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro
instead,
configure.ac:1151: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am
files.
<snip>
Automake Version:
~/src/gpg/gnupg(master✔) automake --version
automake (GNU automake) 1.14.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later http://gnu.org/licenses/gpl-2.0.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Tom Tromey <tromey@redhat.com>
and Alexandre Duret-Lutz <adl@gnu.org>.
Fix:
Replace the AM_PROG_MKDIR_P macro with AC_PROG_MKDIR_P in
m4/intl.m4
m4/po.m4
Result:
With automake 1.14.1, the deprecation warnings no longer appear
With automake 1.9, I cannot build gnupg-2.1.1-beta51 - message that automake is too old
~/src/gpg/gnupg(master✗) automake --version
Useless use of /d modifier in transliteration operator at /usr/local/share/automake-
1.9/Automake/Wrap.pm line 60.
automake (GNU automake) 1.9
Written by Tom Tromey <tromey@redhat.com>.
Copyright 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~/src/gpg/gnupg(master✗) ./autogen.sh
Useless use of /d modifier in transliteration operator at /usr/local/share/automake-
1.9/Automake/Wrap.pm line 60.
Error: `automake' not installed or too old.
Version 1.10 or newer is required.
Note that you may use alternative versions of the tools by setting
the corresponding environment variables; see README.GIT for details.
autogen.sh: Stop.
With automake 1.10, deprecation warnings suppressed as in 1.14.1.
I chose regression testing with 1.9 and 1.10 of automake, based on the comments in
po/Makefile.in.in about the different handling of MKDIR_P/mkdir_p. But given that the
current version of gnupg wont build with automake<=1.9, I dont think any futher
regression testing is warranted. I also don't think any changes are required to
po/Makefile.in.in, but not certain about that.
Patch:
diff --git a/m4/intl.m4 b/m4/intl.m4
index dcefb11..3906a17 100644
- a/m4/intl.m4
+++ b/m4/intl.m4
@@ -25,7 +25,7 @@ dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
AC_DEFUN([AM_INTL_SUBDIR],
[
AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([gt_GLIBC2])dnl
diff --git a/m4/po.m4 b/m4/po.m4
index 0734762..f7c9c06 100644
- a/m4/po.m4
+++ b/m4/po.m4
@@ -24,7 +24,7 @@ AC_DEFUN([AM_PO_SUBDIRS],
[
AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that