acinclude.m4: Import CHECK_GNU_MAKE from autoconf macro archive.

2000-07-17  Phil Edwards  <pme@sourceware.cygnus.com>

	* acinclude.m4:  Import CHECK_GNU_MAKE from autoconf macro archive.
	* configure.in:  Use it.  Also print reminders one time.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

From-SVN: r35097
This commit is contained in:
Phil Edwards 2000-07-17 18:17:33 +00:00 committed by Phil Edwards
parent 947851b2c3
commit 29bd52c8e2
5 changed files with 1191 additions and 977 deletions

View File

@ -1,3 +1,10 @@
2000-07-17 Phil Edwards <pme@sourceware.cygnus.com>
* acinclude.m4: Import CHECK_GNU_MAKE from autoconf macro archive.
* configure.in: Use it. Also print reminders one time.
* aclocal.m4: Regenerate.
* configure: Regenerate.
2000-07-15 Gabriel Dos Reis <gdr@codesourcery.com>
* bits/valarray_array.h (__valarray_get_storage): New function.

View File

@ -1453,3 +1453,70 @@ AC_DEFUN(AC_REPLACE_STRINGFUNCS,
[AC_CHECK_FUNCS([$1], , [LIBSTRINGOBJS="$LIBSTRINGOBJS ${ac_func}.lo"])
AC_SUBST(LIBSTRINGOBJS)dnl
])
dnl This macro searches for a GNU version of make. If a match is found, the
dnl makefile variable `ifGNUmake' is set to the empty string, otherwise it is
dnl set to "#". This is useful for including a special features in a Makefile,
dnl which cannot be handled by other versions of make. The variable
dnl _cv_gnu_make_command is set to the command to invoke GNU make if it exists,
dnl the empty string otherwise.
dnl
dnl Here is an example of its use:
dnl
dnl Makefile.in might contain:
dnl
dnl # A failsafe way of putting a dependency rule into a makefile
dnl $(DEPEND):
dnl $(CC) -MM $(srcdir)/*.c > $(DEPEND)
dnl
dnl @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND)))
dnl @ifGNUmake@ include $(DEPEND)
dnl @ifGNUmake@ endif
dnl
dnl Then configure.in would normally contain:
dnl
dnl CHECK_GNU_MAKE()
dnl AC_OUTPUT(Makefile)
dnl
dnl Then perhaps to cause gnu make to override any other make, we could do
dnl something like this (note that GNU make always looks for GNUmakefile first):
dnl
dnl if ! test x$_cv_gnu_make_command = x ; then
dnl mv Makefile GNUmakefile
dnl echo .DEFAULT: > Makefile ;
dnl echo \ $_cv_gnu_make_command \$@ >> Makefile;
dnl fi
dnl
dnl Then, if any (well almost any) other make is called, and GNU make also
dnl exists, then the other make wraps the GNU make.
dnl
dnl @author John Darrington <j.darrington@elvis.murdoch.edu.au>
dnl @version $Id: check_gnu_make.m4,v 1.1 2000/06/15 10:49:36 simons Exp $
dnl
dnl #### Changes for libstdc++-v3: reformatting and linewrapping; prepending
dnl #### GLIBCPP_ to the macro name; adding the :-make fallback in the
dnl #### conditional's subshell (" --version" is not a command).
dnl #### -pme
AC_DEFUN(
GLIBCPP_CHECK_GNU_MAKE, [AC_CACHE_CHECK( for GNU make,_cv_gnu_make_command,
_cv_gnu_make_command='' ;
dnl Search all the common names for GNU make
for a in "${MAKE:-make}" make gmake gnumake ; do
if ( $a --version 2> /dev/null | grep -q GNU ) ; then
_cv_gnu_make_command=$a ;
break;
fi
done ;
) ;
dnl If there was a GNU version, then set @ifGNUmake@ to the empty
dnl string, '#' otherwise
if test "x$_cv_gnu_make_command" != "x" ; then
ifGNUmake='' ;
else
ifGNUmake='#' ;
fi
AC_SUBST(ifGNUmake)
])

View File

@ -1466,6 +1466,73 @@ AC_DEFUN(AC_REPLACE_STRINGFUNCS,
AC_SUBST(LIBSTRINGOBJS)dnl
])
dnl This macro searches for a GNU version of make. If a match is found, the
dnl makefile variable `ifGNUmake' is set to the empty string, otherwise it is
dnl set to "#". This is useful for including a special features in a Makefile,
dnl which cannot be handled by other versions of make. The variable
dnl _cv_gnu_make_command is set to the command to invoke GNU make if it exists,
dnl the empty string otherwise.
dnl
dnl Here is an example of its use:
dnl
dnl Makefile.in might contain:
dnl
dnl # A failsafe way of putting a dependency rule into a makefile
dnl $(DEPEND):
dnl $(CC) -MM $(srcdir)/*.c > $(DEPEND)
dnl
dnl @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND)))
dnl @ifGNUmake@ include $(DEPEND)
dnl @ifGNUmake@ endif
dnl
dnl Then configure.in would normally contain:
dnl
dnl CHECK_GNU_MAKE()
dnl AC_OUTPUT(Makefile)
dnl
dnl Then perhaps to cause gnu make to override any other make, we could do
dnl something like this (note that GNU make always looks for GNUmakefile first):
dnl
dnl if ! test x$_cv_gnu_make_command = x ; then
dnl mv Makefile GNUmakefile
dnl echo .DEFAULT: > Makefile ;
dnl echo \ $_cv_gnu_make_command \$@ >> Makefile;
dnl fi
dnl
dnl Then, if any (well almost any) other make is called, and GNU make also
dnl exists, then the other make wraps the GNU make.
dnl
dnl @author John Darrington <j.darrington@elvis.murdoch.edu.au>
dnl @version $Id: check_gnu_make.m4,v 1.1 2000/06/15 10:49:36 simons Exp $
dnl
dnl #### Changes for libstdc++-v3: reformatting and linewrapping; prepending
dnl #### GLIBCPP_ to the macro name; adding the :-make fallback in the
dnl #### conditional's subshell (" --version" is not a command).
dnl #### -pme
AC_DEFUN(
GLIBCPP_CHECK_GNU_MAKE, [AC_CACHE_CHECK( for GNU make,_cv_gnu_make_command,
_cv_gnu_make_command='' ;
dnl Search all the common names for GNU make
for a in "${MAKE:-make}" make gmake gnumake ; do
if ( $a --version 2> /dev/null | grep -q GNU ) ; then
_cv_gnu_make_command=$a ;
break;
fi
done ;
) ;
dnl If there was a GNU version, then set @ifGNUmake@ to the empty
dnl string, '#' otherwise
if test "x$_cv_gnu_make_command" != "x" ; then
ifGNUmake='' ;
else
ifGNUmake='#' ;
fi
AC_SUBST(ifGNUmake)
])
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.

1972
libstdc++-v3/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,10 @@ AC_ARG_WITH(cross-host,
GLIBCPP_CONFIGURE(.)
AC_LIBTOOL_DLOPEN
GLIBCPP_CHECK_GNU_MAKE
if test "x$_cv_gnu_make_command" = "x"; then
AC_MSG_ERROR([GNU Make not found. Please install it or correct your path.])
fi
AM_PROG_LIBTOOL
AM_CONFIG_HEADER(config.h)
@ -126,21 +130,6 @@ AM_CONDITIONAL(USE_LIBDIR, test -z "$with_cross_host")
AC_LC_MESSAGES
# Sanity checking & User-visible messages.
# Checks down here, otherwise they get scrolled off before
# the user will notice.
if test "$enable_namespaces" = "yes" && test "$enable_libgcc_rebuild" = "no"
then
AC_MSG_WARN([libgcc.a will not match mangled symbols unless it is rebuilt])
fi
if test "$enable_namespaces" = "no" && test "$enable_libgcc_rebuild" != "no"
then
# Other things besides namespaces can make this true as well, but none
# of them are done automatically... yet
AC_MSG_WARN([no point in rebuilding libgcc.a if namespaces aren't used])
fi
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
else
@ -180,3 +169,39 @@ AC_OUTPUT_COMMANDS([$srcdir/mkc++config $blddir $srcdir])
# Generate bits/std_limits.h and src/limitsMEMBERS.cc
AC_OUTPUT_COMMANDS([$srcdir/mknumeric_limits $blddir $srcdir $xcompiling])
# Sanity checking & User-visible messages.
# Checks down here, otherwise they get scrolled off before
# the user will notice.
if test "$enable_namespaces" = "yes" && test "$enable_libgcc_rebuild" = "no"
then
AC_MSG_WARN([libgcc.a will not match mangled symbols unless it is rebuilt])
fi
if test "$enable_namespaces" = "no" && test "$enable_libgcc_rebuild" != "no"
then
# Other things besides namespaces can make this true as well, but none
# of them are done automatically... yet
AC_MSG_WARN([no point in rebuilding libgcc.a if namespaces aren't used])
fi
# Trying to get more people to read documentation. Possibly remove check
# and warn all the time.
if test ! -f .sanity_warned; then
touch .sanity_warned
# There is no "informational" AC_MSG_ macro, so these are going to be
# printed even when --quiet/--silent is given.
echo ''
echo 'Please make certain that you read the installation information here:'
echo " faster => ${srcdir}/docs/install.html"
echo ' slower => <URL:http://sources.redhat.com/libstdc++/install.html>'
echo ''
echo 'and the configuration information here:'
echo " faster => ${srcdir}/docs/configopts.html"
echo ' slower => <URL:http://sources.redhat.com/libstdc++/configopts.html>'
echo ''
echo 'before proceeding with "make".'
echo ''
fi