[lfs-patches] r3406 - trunk/autoconf

ken at higgs.linuxfromscratch.org ken at higgs.linuxfromscratch.org
Fri Jun 10 20:06:12 PDT 2016


Author: ken
Date: Fri Jun 10 20:06:12 2016
New Revision: 3406

Log:
Full set of fixes for autoconf-2.13.

Added:
   trunk/autoconf/autoconf-2.13-consolidated_fixes-1.patch

Added: trunk/autoconf/autoconf-2.13-consolidated_fixes-1.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/autoconf/autoconf-2.13-consolidated_fixes-1.patch	Fri Jun 10 20:06:12 2016	(r3406)
@@ -0,0 +1,504 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2016-06-11
+Initial Package Version: 2.13
+Upstream Status: Version is historic and unmaintained.
+Origin: Found at fedora, plus fixes for LFS.
+Description: All of the patches currently used by fedora, except for
+the patch which ensures gawk is used in preference to mawk (we do not
+install mawk).  For LFS: we put mktemp in /usr/bin not /bin, remove
+the install-info target because that will overwrite standards.info
+with an old version (fedora always use a DESTDIR), and change the
+man and info dirs to ${datadir}/ i.e. /usr/share (an empty /usr/info
+will otherwise be created).
+
+diff -Naur a/acgeneral.m4 b/acgeneral.m4
+--- a/acgeneral.m4	1999-01-05 13:27:37.000000000 +0000
++++ b/acgeneral.m4	2016-06-11 00:18:24.429043947 +0100
+@@ -1817,10 +1817,6 @@
+ [cat > conftest.$ac_ext <<EOF
+ [#]line __oline__ "configure"
+ #include "confdefs.h"
+-ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
+-extern "C" void exit(int);
+-#endif
+-])dnl
+ [$1]
+ EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+@@ -1988,12 +1984,12 @@
+ AC_MSG_CHECKING(size of $1)
+ AC_CACHE_VAL(AC_CV_NAME,
+ [AC_TRY_RUN([#include <stdio.h>
+-main()
++int main()
+ {
+   FILE *f=fopen("conftestval", "w");
+-  if (!f) exit(1);
++  if (!f) return(1);
+   fprintf(f, "%d\n", sizeof($1));
+-  exit(0);
++  return(0);
+ }], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl
+ AC_MSG_RESULT($AC_CV_NAME)
+ AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
+@@ -2160,20 +2156,38 @@
+ dnl AC_OUTPUT_MAKE_DEFS()
+ define(AC_OUTPUT_MAKE_DEFS,
+ [# Transform confdefs.h into DEFS.
+-dnl Using a here document instead of a string reduces the quoting nightmare.
+ # Protect against shell expansion while executing Makefile rules.
+ # Protect against Makefile macro expansion.
+-cat > conftest.defs <<\EOF
++#
++# If the first sed substitution is executed (which looks for macros that
++# take arguments), then we branch to the quote section.  Otherwise,
++# look for a macro that doesn't take arguments.
++cat >confdef2opt.sed <<\_ACEOF
+ changequote(<<, >>)dnl
+-s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+-s%[ 	`~<<#>>$^&*(){}\\|;'"<>?]%\\&%g
+-s%\[%\\&%g
+-s%\]%\\&%g
+-s%\$%$$%g
++t clear
++: clear
++s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	(][^ 	(]*([^)]*)\)[ 	]*\(.*\),-D\1=\2,g
++t quote
++s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	][^ 	]*\)[ 	]*\(.*\),-D\1=\2,g
++t quote
++d
++: quote
++s,[ 	`~#$^&*(){}\\|;'"<>?],\\&,g
++s,\[,\\&,g
++s,\],\\&,g
++s,\$,$$,g
++p
+ changequote([, ])dnl
+-EOF
+-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+-rm -f conftest.defs
++_ACEOF
++# We use echo to avoid assuming a particular line-breaking character.
++# The extra dot is to prevent the shell from consuming trailing
++# line-breaks from the sub-command output.  A line-break within
++# single-quotes doesn't work because, if this script is created in a
++# platform that uses two characters for line-breaks (e.g., DOS), tr
++# would break.
++ac_LF_and_DOT=`echo; echo .`
++DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
++rm -f confdef2opt.sed
+ ])
+ 
+ dnl Do the variable substitutions to create the Makefiles or whatever.
+diff -Naur a/acspecific.m4 b/acspecific.m4
+--- a/acspecific.m4	1999-01-05 13:27:52.000000000 +0000
++++ b/acspecific.m4	2016-06-11 00:18:17.533078644 +0100
+@@ -152,8 +152,41 @@
+     CXXFLAGS=
+   fi
+ fi
++
++AC_PROG_CXX_EXIT_DECLARATION
+ ])
+ 
++
++# AC_PROG_CXX_EXIT_DECLARATION
++# -----------------------------
++# Find a valid prototype for exit and declare it in confdefs.h.
++AC_DEFUN(AC_PROG_CXX_EXIT_DECLARATION,
++[for ac_declaration in \
++   ''\
++   '#include <stdlib.h>' \
++   'extern "C" void std::exit (int) throw (); using std::exit;' \
++   'extern "C" void std::exit (int); using std::exit;' \
++   'extern "C" void exit (int) throw ();' \
++   'extern "C" void exit (int);' \
++   'void exit (int);'
++do
++  AC_TRY_COMPILE([#include <stdlib.h>
++$ac_declaration], 
++                 [exit (42);],
++                 [],
++                 [continue])
++  AC_TRY_COMPILE([$ac_declaration],
++                 [exit (42);],
++                 [break])
++done
++if test -n "$ac_declaration"; then
++  echo '#ifdef __cplusplus' >>confdefs.h
++  echo $ac_declaration      >>confdefs.h
++  echo '#endif'             >>confdefs.h
++fi
++])# AC_PROG_CXX_EXIT_DECLARATION
++
++
+ dnl Determine a Fortran 77 compiler to use.  If `F77' is not already set
+ dnl in the environment, check for `g77', `f77' and `f2c', in that order.
+ dnl Set the output variable `F77' to the name of the compiler found.
+@@ -1010,7 +1043,7 @@
+ ])
+ 
+ AC_DEFUN(AC_FUNC_MMAP,
+-[AC_CHECK_HEADERS(unistd.h)
++[AC_CHECK_HEADERS(stdlib.h unistd.h sys/stat.h sys/types.h)
+ AC_CHECK_FUNCS(getpagesize)
+ AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped,
+ [AC_TRY_RUN([
+@@ -1039,11 +1072,24 @@
+ #include <fcntl.h>
+ #include <sys/mman.h>
+ 
++#if HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++
++#if HAVE_STDLIB_H
++# include <stdlib.h>
++#endif
++
++#if HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++
++#if HAVE_UNISTD_H
++# include <unistd.h>
++#endif
++
+ /* This mess was copied from the GNU getpagesize.h.  */
+ #ifndef HAVE_GETPAGESIZE
+-# ifdef HAVE_UNISTD_H
+-#  include <unistd.h>
+-# endif
+ 
+ /* Assume that all systems that can run configure have sys/param.h.  */
+ # ifndef HAVE_SYS_PARAM_H
+@@ -1373,6 +1419,8 @@
+   r.ru_majflt = r.ru_minflt = 0;
+   switch (fork()) {
+   case 0: /* Child.  */
++    /* Unless we actually _do_ something, the kernel sometimes doesn't chalk up any system time to this process. */
++    if(fork()) { i = 123; wait(NULL); } else { i = 234; exit(0); }
+     sleep(1); /* Give up the CPU.  */
+     _exit(0);
+   case -1: _exit(0); /* What can we do?  */
+diff -Naur a/autoconf.sh b/autoconf.sh
+--- a/autoconf.sh	1999-01-05 13:27:53.000000000 +0000
++++ b/autoconf.sh	2016-06-11 00:22:17.351872133 +0100
+@@ -45,20 +45,20 @@
+ esac
+ 
+ : ${TMPDIR=/tmp}
+-tmpout=${TMPDIR}/acout.$$
++tmpout=`/usr/bin/mktemp ${TMPDIR}/acout.XXXXXX`
+ localdir=
+ show_version=no
+ 
+ while test $# -gt 0 ; do
+    case "${1}" in
+       -h | --help | --h* )
+-         echo "${usage}" 1>&2; exit 0 ;;
++         echo "${usage}" 1>&2; rm -f $tmpout ; exit 0 ;;
+       --localdir=* | --l*=* )
+          localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
+          shift ;;
+       -l | --localdir | --l*)
+          shift
+-         test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
++         test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; }
+          localdir="${1}"
+          shift ;;
+       --macrodir=* | --m*=* )
+@@ -66,7 +66,7 @@
+          shift ;;
+       -m | --macrodir | --m* )
+          shift
+-         test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
++         test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; }
+          AC_MACRODIR="${1}"
+          shift ;;
+       --version | --v* )
+@@ -76,7 +76,7 @@
+       - )	# Use stdin as input.
+         break ;;
+       -* )
+-        echo "${usage}" 1>&2; exit 1 ;;
++        echo "${usage}" 1>&2; rm -f $tmpout; exit 1 ;;
+       * )
+         break ;;
+    esac
+@@ -86,23 +86,25 @@
+   version=`sed -n 's/define.AC_ACVERSION.[ 	]*\([0-9.]*\).*/\1/p' \
+     $AC_MACRODIR/acgeneral.m4`
+   echo "Autoconf version $version"
++  rm -f $tmpout
+   exit 0
+ fi
+ 
+ case $# in
+   0) infile=configure.in ;;
+   1) infile="$1" ;;
+-  *) echo "$usage" >&2; exit 1 ;;
++  *) echo "$usage" >&2; rm -f $tmpout; exit 1 ;;
+ esac
+ 
+ trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15
+ 
+-tmpin=${TMPDIR}/acin.$$ # Always set this, to avoid bogus errors from some rm's.
++tmpin=`/usr/bin/mktemp ${TMPDIR}/acin.XXXXXX`
++# Always set this, to avoid bogus errors from some rm's.
+ if test z$infile = z-; then
+   infile=$tmpin
+-  cat > $infile
+ elif test ! -r "$infile"; then
+   echo "autoconf: ${infile}: No such file or directory" >&2
++  rm -f $tmpin $tmpout
+   exit 1
+ fi
+ 
+@@ -111,6 +113,8 @@
+ else
+   use_localdir=
+ fi
++# Make sure we don't leave those around - they are annoying
++trap 'rm -f $tmpin $tmpout' 0
+ 
+ # Use the frozen version of Autoconf if available.
+ r= f=
+@@ -118,7 +122,7 @@
+ case `$M4 --help < /dev/null 2>&1` in
+ *reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
+ *traditional*) ;;
+-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
++*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin $tmpout; exit 1 ;;
+ esac
+ 
+ $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
+@@ -154,6 +158,6 @@
+ /__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__/\2\1/
+ ' >&4
+ 
+-rm -f $tmpout
++rm -f $tmpout $tmpin
+ 
+ exit $status
+diff -Naur a/autoconf.texi b/autoconf.texi
+--- a/autoconf.texi	1999-01-05 13:28:37.000000000 +0000
++++ b/autoconf.texi	2016-06-11 00:18:46.360933604 +0100
+@@ -1,7 +1,7 @@
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+- at setfilename autoconf.info
+- at settitle Autoconf
++ at setfilename autoconf213.info
++ at settitle Autoconf-2.13
+ @c For double-sided printing, uncomment:
+ @c @setchapternewpage odd
+ @c %**end of header
+@@ -17,7 +17,8 @@
+ @ifinfo
+ @format
+ START-INFO-DIR-ENTRY
+-* Autoconf: (autoconf).         Create source code configuration scripts.
++* Autoconf213: (autoconf213).   Create source code configuration scripts.
++                                This is a legacy version of autoconf.
+ END-INFO-DIR-ENTRY
+ @end format
+ 
+diff -Naur a/autoheader.sh b/autoheader.sh
+--- a/autoheader.sh	1999-01-05 13:28:39.000000000 +0000
++++ b/autoheader.sh	2016-06-11 00:22:17.351872133 +0100
+@@ -194,9 +194,9 @@
+   # Some fgrep's have limits on the number of lines that can be in the
+   # pattern on the command line, so use a temporary file containing the
+   # pattern.
+-  (fgrep_tmp=${TMPDIR-/tmp}/autoh$$
++  (fgrep_tmp=`/usr/bin/mktemp ${TMPDIR-/tmp}/autoh$$.XXXXXX`
+    trap "rm -f $fgrep_tmp; exit 1" 1 2 15
+-   cat > $fgrep_tmp <<EOF
++   cat >> $fgrep_tmp <<EOF
+ $syms
+ EOF
+    fgrep -f $fgrep_tmp
+diff -Naur a/autoupdate.sh b/autoupdate.sh
+--- a/autoupdate.sh	1999-01-05 13:28:42.000000000 +0000
++++ b/autoupdate.sh	2016-06-11 00:23:19.151561252 +0100
+@@ -26,7 +26,7 @@
+ Usage: autoupdate [-h] [--help] [-m dir] [--macrodir=dir] 
+        [--version] [template-file]" 
+ 
+-sedtmp=/tmp/acups.$$
++sedtmp=`/usr/bin/mktemp /tmp/acups.XXXXXX`
+ # For debugging.
+ #sedtmp=/tmp/acups
+ show_version=no
+@@ -35,13 +35,13 @@
+ while test $# -gt 0 ; do
+    case "${1}" in 
+       -h | --help | --h* )
+-         echo "${usage}" 1>&2; exit 0 ;;
++         echo "${usage}" 1>&2; rm -f $sedtmp; exit 0 ;;
+       --macrodir=* | --m*=* )
+          AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
+          shift ;;
+       -m | --macrodir | --m* ) 
+          shift
+-         test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
++         test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $sedtmp; exit 1; }
+          AC_MACRODIR="${1}"
+          shift ;;
+       --version | --versio | --versi | --vers)
+@@ -51,7 +51,7 @@
+       - )	# Use stdin as input.
+         break ;;
+       -* )
+-        echo "${usage}" 1>&2; exit 1 ;;
++        echo "${usage}" 1>&2; rm -f $sedtmp; exit 1 ;;
+       * )
+         break ;;
+    esac
+@@ -61,6 +61,7 @@
+   version=`sed -n 's/define.AC_ACVERSION.[ 	]*\([0-9.]*\).*/\1/p' \
+     $AC_MACRODIR/acgeneral.m4`
+   echo "Autoconf version $version"
++  rm -f $sedtmp
+   exit 0
+ fi
+ 
+@@ -68,6 +69,7 @@
+ 
+ tmpout=acupo.$$
+ trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15
++trap 'rm -f $sedtmp' 0
+ case $# in
+   0) infile=configure.in; out="> $tmpout"
+      # Make sure $infile can be read, and $tmpout has the same permissions.
+diff -Naur a/configure b/configure
+--- a/configure	1999-01-05 13:28:57.000000000 +0000
++++ b/configure	2016-06-11 00:50:57.771231914 +0100
+@@ -43,8 +43,8 @@
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++infodir='${datadir}/info'
++mandir='${datadir}/man'
+ 
+ # Initialize some other variables.
+ subdirs=
+diff -Naur a/Makefile.in b/Makefile.in
+--- a/Makefile.in	1999-01-05 13:27:16.000000000 +0000
++++ b/Makefile.in	2016-06-11 00:29:34.005678107 +0100
+@@ -49,7 +49,7 @@
+ 
+ # Directory in which to install library files.
+ datadir = @datadir@
+-acdatadir = $(datadir)/autoconf
++acdatadir = $(datadir)/autoconf-2.13
+ 
+ # Directory in which to install documentation info files.
+ infodir = @infodir@
+@@ -68,8 +68,8 @@
+ DISTFILES = AUTHORS COPYING ChangeLog ChangeLog.1 INSTALL \
+ 	Makefile.in NEWS README TODO $(M4FILES) \
+ 	acconfig.h acfunctions acheaders acidentifiers \
+-	acmakevars acprograms autoconf.info* \
+-	autoconf.sh autoconf.texi install.texi \
++	acmakevars acprograms autoconf213.info* \
++	autoconf.sh autoconf213.texi install.texi \
+ 	autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \
+ 	config.guess config.sub configure configure.in \
+ 	install-sh mkinstalldirs texinfo.tex \
+@@ -106,11 +106,11 @@
+ autoconf.m4f: autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4
+ autoheader.m4f: autoheader.m4 acgeneral.m4 acspecific.m4 acoldnames.m4
+ 
+-info: autoconf.info @standards_info@ INSTALL
++info: autoconf213.info @standards_info@ INSTALL
+ 
+ # Use --no-split to avoid creating filenames > 14 chars.
+-autoconf.info: autoconf.texi install.texi
+-	$(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@
++autoconf213.info: autoconf213.texi install.texi
++	$(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf213.texi --no-split --output=$@
+ 
+ INSTALL: install.texi
+ 	$(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \
+@@ -121,8 +121,8 @@
+ 
+ dvi: autoconf.dvi @standards_dvi@
+ 
+-autoconf.dvi: autoconf.texi
+-	$(TEXI2DVI) $(srcdir)/autoconf.texi
++autoconf.dvi: autoconf213.texi
++	$(TEXI2DVI) $(srcdir)/autoconf213.texi
+ 
+ standards.dvi: standards.texi make-stds.texi
+ 	$(TEXI2DVI) $(srcdir)/standards.texi
+@@ -137,35 +137,35 @@
+ 	cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
+ 
+ installdirs:
+-	$(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
++	$(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(infodir) $(DESTDIR)/$(acdatadir)
+ 
+-install: all $(M4FILES) acconfig.h installdirs install-info
++install: all $(M4FILES) acconfig.h installdirs
+ 	for p in $(ASCRIPTS); do \
+-	  $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
++	  $(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \
+ 	done
+ 	for i in $(M4FROZEN); do \
+-	  $(INSTALL_DATA) $$i $(acdatadir)/$$i; \
++	  $(INSTALL_DATA) $$i $(DESTDIR)/$(acdatadir)/$$i; \
+ 	done
+ 	for i in $(M4FILES) acconfig.h; do \
+-	  $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
++	  $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \
+ 	done
+ 	-if test -f autoscan; then \
+-	$(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
++	$(INSTALL_PROGRAM) autoscan $(DESTDIR)/$(bindir)/`echo autoscan|sed '$(transform)'`; \
+ 	for i in acfunctions acheaders acidentifiers acprograms \
+ 	  acmakevars; do \
+-	$(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
++	$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \
+ 	done; \
+ 	else :; fi
+ 
+ # Don't cd, to avoid breaking install-sh references.
+ install-info: info installdirs
+-	if test -f autoconf.info; then \
++	if test -f autoconf213.info; then \
+ 	  for i in *.info*; do \
+-	    $(INSTALL_DATA) $$i $(infodir)/$$i; \
++	    $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \
+ 	  done; \
+ 	else \
+ 	  for i in $(srcdir)/*.info*; do \
+-	    $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
++	    $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
+ 	  done; \
+ 	fi
+ 
+@@ -174,7 +174,7 @@
+ 	  rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
+ 	done
+ 	rm -fr $(acdatadir)
+-	cd $(infodir) && rm -f autoconf.info*
++	cd $(infodir) && rm -f autoconf213.info*
+ 	if test -f standards.info || test -f $(srcdir)/standards.info; \
+ 	then cd $(infodir) && rm -f standards.info*; fi
+ 
+diff -Naur a/testsuite/autoconf.s/syntax.exp b/testsuite/autoconf.s/syntax.exp
+--- a/testsuite/autoconf.s/syntax.exp	1999-01-05 13:29:54.000000000 +0000
++++ b/testsuite/autoconf.s/syntax.exp	2016-06-11 00:18:51.996905247 +0100
+@@ -2,7 +2,7 @@
+ 
+ send_user "Checking for syntax errors in the specific tests...\n"
+ set script {s/^AC_DEFUN(\([^,]*\).*/\1/p}
+-set macros [exec sed -n $script $srcdir/../acspecific.m4]
++set macros [exec sed -n $script $srcdir/../acspecific.m4 | grep -v -e AC_FUNC_GETLOADAVG -e F77]
+ 
+ foreach mac $macros {
+     send_user "$mac\n"


More information about the patches mailing list