Stefano Lattarini | 5 May 2013 23:28
Picon

[RFC] Convert the Autoconf build system to non-recursive make

Done with this simple patch series.  Testsuite and "make distcheck"
still passes.

If there is any interest in integrating this, I will write proper
commit messages (in GNU ChangeLog style) for all the patches.

Regards,
  Stefano

-*-*-*-

Stefano Lattarini (16):
  sync: some files from upstream
  build: don't distribute lib/freeze.mk explicitly
  build: no more make recursion for 'doc' subdir
  build: no more make recursion for 'bin' subdir
  build: no more recursion for lib/emacs subdir
  build: no more recursion for lib/autoscan subdir
  build: no more recursion for lib/autotest subdir
  build: no more recursion for lib/m4sugar subdir
  build: no more recursion for lib/autoconf subdir
  build: no more recursion for lib/Autom4te subdir
  build: define RELEASE_YEAR with AC_SUBST
  build: no more recursion for lib subdir
  build: avoid repeating the same etags args several times
  build: fixup: don't define ETAGS_ARGS multiple times
  build: no more recursion for tests subdir
  build: remove last make recursion (for subdir 'man')

 .gitignore                      |  35 +++++++-
(Continue reading)

Paul Eggert | 19 Mar 2013 19:23
Favicon

[PATCH] AC_PROG_CC etc: avoid warnings when removing conftest* on OS X

I forgot one of the fixes Mr. Nakada reported for the 2013-03-08 fix.
* lib/autoconf/general.m4 (AC_EGREP_CPP):
Use rm -rf, not just rm -f, when removing conftest*.
---
 lib/autoconf/general.m4 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index 805535a..70b0168 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
 <at>  <at>  -2584,7 +2584,7  <at>  <at>  dnl Quote $1 to prevent m4 from eating character classes
   $EGREP "[$1]" >/dev/null 2>&1],
   [$3],
   [$4])
-rm -f conftest*
+rm -rf conftest*
 ])# AC_EGREP_CPP

 
--

-- 
1.7.11.7

Nobuyoshi Nakada | 8 Mar 2013 07:03
Favicon
Gravatar

extra error messages on Mac OS X

Since fa8beeb3dcd4df6f97183ab29f68c6b3dcc8e844, warnings about conftest.dSYM on Mac OS X are almost
gone away, but there are still some warnings.

From a464734a61366f6ff91c5a2ef147bbdfd11e2f62 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 8 Mar 2013 14:57:17 +0900 Subject: [PATCH] Avoid warnings about conftest.dSYM directories on Mac OS X. * lib/autoconf/c.m4 (AC_PROG_CXX_C_O): Remove `conftest.*' recursively. * lib/autoconf/fortran.m4 (_AC_PROG_FC_C_O): Likewise. * lib/autoconf/functions.m4 (AC_FUNC_SELECT_ARGTYPES): Likewise. * lib/autoconf/general.m4 (AC_EGREP_CPP): Likewise. --- lib/autoconf/c.m4 | 2 +- lib/autoconf/fortran.m4 | 2 +- lib/autoconf/functions.m4 | 2 +- lib/autoconf/general.m4 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 index 6fe00fb..abf4a66 100644 --- a/lib/autoconf/c.m4 +++ b/lib/autoconf/c.m4 <at> <at> -823,7 +823,7 <at> <at> if _AC_DO_VAR(ac_try) && else ac_cv_prog_cxx_c_o=no fi -rm -f conftest*]) (Continue reading)

Patrick Welche | 20 Feb 2013 18:38
Picon
Picon
Favicon

LIBOBJDIR documentation

Would this be right? (Not sure about texinfo syntax...)

Cheers,

Patrick

diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index bb83443..cc4043a 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
 <at>  <at>  -5084,7 +5084,7  <at>  <at>  If the system has the  <at> code{getloadavg} function, define
  <at> code{HAVE_GETLOADAVG}, and set  <at> code{GETLOADAVG_LIBS} to any libraries
 necessary to get that function.  Also add  <at> code{GETLOADAVG_LIBS} to
  <at> code{LIBS}.  Otherwise, require an  <at> code{AC_LIBOBJ} replacement for
- <at> samp{getloadavg} with source code in  <at> file{ <at> var{dir}/getloadavg.c}, and
+ <at> samp{getloadavg} with source code in  <at> file{$ <at> {LIBOBJDIR <at> }/getloadavg.c}, and
 possibly define several other C preprocessor macros and output
 variables:

Pavel Raiskup | 13 Feb 2013 16:28
Picon
Favicon

[PATCH] autotest: do not fail when make throws warnings

Related to commit d902536.

On Fedora 17 having installed latest git autoconf and automake, testsuite
failed on 'C unit tests'.  The problem was that tested 'make' was unable to
run jobserver and was throwing warning.  As this is not the tested feature
we can simply ignore warnings.

* tests/autotest.at (C unit tests): Ignore stderr.
---
 tests/autotest.at | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/autotest.at b/tests/autotest.at
index d7d473c..6da1a02 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
 <at>  <at>  -1935,7 +1935,7  <at>  <at>  rm t/atconfig
 AT_CHECK_AUTOCONF
 AT_CHECK_CONFIGURE
 AT_CHECK([grep '^EXEEXT='\''.*'\' t/atconfig], [], [ignore])
-AT_CHECK([make], [], [ignore])
+AT_CHECK([make], [], [ignore], [ignore])
 AT_CHECK([cd t && $CONFIG_SHELL ./suite], [], [ignore])
 AT_CHECK([grep 1.*successful t/suite.log], [], [ignore])
 AT_CLEANUP
 <at>  <at>  -1996,7 +1996,7  <at>  <at>  rm t/atconfig
 AT_CHECK_AUTOCONF
 AT_CHECK_CONFIGURE
 AT_CHECK([grep '^EXEEXT='\''.*'\' t/atconfig], [], [ignore])
-AT_CHECK([make], [], [ignore])
(Continue reading)

Pavel Raiskup | 13 Feb 2013 14:42
Picon
Favicon

[PATCH] autotest: do not fail when make throws warnings

Related to commit d902536.

On Fedora 17 having installed latest git autoconf and automake, testsuite
failed on 'C unit tests'.  The problem was that tested 'make' was unable to
run jobserver and was throwing warning.  As this is not the tested feature
we can simply ignore warnings.

* tests/autotest.at (C unit tests): Ignore stderr.
---
 tests/autotest.at | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/autotest.at b/tests/autotest.at
index d7d473c..6da1a02 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
 <at>  <at>  -1935,7 +1935,7  <at>  <at>  rm t/atconfig
 AT_CHECK_AUTOCONF
 AT_CHECK_CONFIGURE
 AT_CHECK([grep '^EXEEXT='\''.*'\' t/atconfig], [], [ignore])
-AT_CHECK([make], [], [ignore])
+AT_CHECK([make], [], [ignore], [ignore])
 AT_CHECK([cd t && $CONFIG_SHELL ./suite], [], [ignore])
 AT_CHECK([grep 1.*successful t/suite.log], [], [ignore])
 AT_CLEANUP
 <at>  <at>  -1996,7 +1996,7  <at>  <at>  rm t/atconfig
 AT_CHECK_AUTOCONF
 AT_CHECK_CONFIGURE
 AT_CHECK([grep '^EXEEXT='\''.*'\' t/atconfig], [], [ignore])
-AT_CHECK([make], [], [ignore])
(Continue reading)

Nic Heath | 7 Feb 2013 03:19
Picon

Patch AC_USE_SYSTEM_EXTENSIONS for Minix3

Minix3 uses NETBSD userland api now.
Gary V. Vaughan | 29 Jan 2013 13:27
Picon
Gravatar

[FYI] m4sugar: fix AS_VAR_GET regression.

AS_VAR_GET expands AS_ECHO inside en evaled single quoted string,
which causes the single quotes in "printf '%s\n'" to expose the
%s\n to the shell which expands "\n" to simply "n" before passing
it to printf.
* lib/m4sugar/m4sh.m4 (AS_ECHO): Use double quotes around the
format string.
* doc/autoconf.texi (Limitations of Shell Builtins): Show double
quotes to match AS_ECHO expansion.
* NEWS: Likewise.
---
 NEWS                | 2 +-
 doc/autoconf.texi   | 2 +-
 lib/m4sugar/m4sh.m4 | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 35e7b88..16de922 100644
--- a/NEWS
+++ b/NEWS
 <at>  <at>  -10,7 +10,7  <at>  <at>  GNU Autoconf NEWS - User visible changes.

 ** Use of printf is now recommended instead of working around bugs in
    echo.  Macros AS_ECHO and AS_ECHO_N now expand unconditionally to
-   "printf '%s\n'" and "printf %s".
+   'printf "%s\n"' and 'printf %s'.

 ** Macros

diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index c95d871..8f58d4a 100644
(Continue reading)

Gary V. Vaughan | 28 Jan 2013 12:15
Picon
Gravatar

[PATCH] m4sugar: factor away _AS_ECHO_PREPARE.

From: "Gary V. Vaughan" <gary <at> gnu.org>

Following a recent discussion on bug-gnulib, Jim tells me not
to use the ugly as_echo setting boilerplate in my scripts
anymore, since printf has been available on every shell we care
about for at least 5 if not 10 years.

That affords us the opportunity to simplify Autoconf somewhat
in the same area.  Patch follows.  Okay to push?

Cheers,
Gary

"printf '%s\n' ..." has been a fine replacement for plain "echo"
for at least 5 years (probably more like 10), even with most
museum-piece shells.
* lib/m4sugar/m4sh.m4 (_AS_ECHO_PREPARE): Remove.
(_AS_SHELL_SANITIZE): Keep as_nl setting originally from
_AS_ECHO_PREPARE here where it more properly belongs.
(AS_ECHO, AS_ECHO_N): Use printf unconditionally.
Reported by Jim Meyering.
---
 lib/m4sugar/m4sh.m4 | 60 +++++++----------------------------------------------
 1 file changed, 7 insertions(+), 53 deletions(-)

diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4
index 25b4fe3..cd1718b 100644
--- a/lib/m4sugar/m4sh.m4
+++ b/lib/m4sugar/m4sh.m4
 <at>  <at>  -453,7 +453,6  <at>  <at>  m4_defun([_AS_SHELL_SANITIZE],
(Continue reading)

Nick Bowler | 13 Jan 2013 21:11
Picon
Gravatar

[PATCH] Ensure current language is C when using AC_PROG_CC_C_O.

If the current language is not C, the AC_PROG_CC_C_O macro will never-
theless directly invoke the C compiler, but the file extensions used by
the tests will be appropriate for the current language setting rather
than for the C compiler.

In this case, the test may produce a false negative result if the C
compiler cares about input file extensions (for example, when using
the GNU Compiler Collection) or if the current language uses a
different object file extension than the C compiler.

* lib/autoconf/c.m4 (AC_PROG_CC_C_O): Add AC_LANG_ASSERT([C]) to help
avoid possible false negatives.
---
 lib/autoconf/c.m4 | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
index affd765..fcc5c88 100644
--- a/lib/autoconf/c.m4
+++ b/lib/autoconf/c.m4
 <at>  <at>  -589,6 +589,7  <at>  <at>  fi
 # --------------
 AC_DEFUN([AC_PROG_CC_C_O],
 [AC_REQUIRE([AC_PROG_CC])dnl
+AC_LANG_ASSERT([C])dnl
 if test "x$CC" != xcc; then
   AC_MSG_CHECKING([whether $CC and cc understand -c and -o together])
 else
--

-- 
1.8.1
(Continue reading)

Stefano Lattarini | 10 Jan 2013 15:23
Picon

[PATCH] AC_PROG_CC: also check whether $CC supports "-c -o" together

This is for Automake and its 'subdir-object' mode (see automake bug#13378,
in particular <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#73>), so
we only make the behavior available only if the special witness macro
'_AM_PROG_CC_C_O_HELPME' is defined (future Automake versions will define
it).  We might decide, at a later date, to make this behaviour public;
but then we'll have to discuss its usefulness and design more in depth,
and if they are agreed upon, adjust the documentation to match, and also
decide what to do with the macro AC_PROG_CC_C_O, with it's similar (but
slightly incompatible) semantics; since doing so right would bring us
off-track (and Automake needs this change *today*, or better, yesterday),
we proceed with this simpler hack.

* lib/autoconf/c.m4 (AC_PROG_CC): Adjust.

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

This should ideally go in autoconf 2.70, so that Automake from master
can start relying on it right away.

What I don't like about this patch is the lack of tests.  Since
automake will be the only user for now, that is no big deal (as
long as you delay the 2.70 some days release to give me time to
properly test this change in combination with the planned but not
yet written changes to Automake master).  But should be fixed if
we ever want to make this new interface public.

ACK?

Thanks,
(Continue reading)


Gmane