GNU make < 3.79.1 is no longer officially supported; parallel building does not work in older versions due to the lack of .NOTPARALLEL. Fixed typo in configure check

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@29856 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2010-03-06 15:48:40 +00:00
parent 9c3a0cd810
commit 292e009638
4 changed files with 108 additions and 19 deletions

View file

@ -1,3 +1,12 @@
2010-03-06 Nicola Pero <nicola.pero@meta-innovation.com>
* configure.ac: Check for GNU make >= 3.79 and emit a warning if
it's not found. Fixed typo in check for $(info ...).
* configure: Regenerated.
* Documentation/releasenotes.texi: Mention that versions of GNU
Make older than 3.79.1 (released June 2000) are no longer
supported.
2010-02-18 Adam Fedor <fedor@gnu.org>
* Documentation/{gnustep-howto.texi,gnustep-machines.texi,GNUmakefile}:

View file

@ -7,6 +7,15 @@ migrate to using a newer version of the make system.
@section Version 2.4.0
@table @samp
@item Versions of GNU make older then 3.79.1 (June 2000) are no longer supported
The .NOTPARALLEL pseudo-target is only available in GNU make 3.79 and
is essential for parallel builds to work. Starting with version
2.4.0, gnustep-make recommends using GNU make 3.79.1 or greater; a
warning will be issued during configure if an older GNU make is
detected. Older versions of GNU make are likely to work (except for
parallel building) but are no longer supported. As 3.79.1 was
released about 10 years ago, this should not be a particular problem.
@item new internalmessages=yes option
Starting with version 2.4.0, gnustep-make recognized the new
internalmessages=yes option (separate from messages=yes) which prints

56
configure vendored
View file

@ -6241,7 +6241,7 @@ fi
#--------------------------------------------------------------------
# Check for $(info ...) function in GNU make
# Check for GNU make
#--------------------------------------------------------------------
# Search for GNU make. We try 'gmake' then 'gnumake' then 'make'. If
@ -6311,25 +6311,63 @@ gs_cv_make_version=`($GNUMAKE --version | head -1 | sed -e 's/^[^0-9]*//') 2>&5`
# Now check for the major/minor version numbers.
gs_cv_make_major_version=`(echo ${gs_cv_make_version} | sed -e 's/\([0-9][0-9]*\)[^0-9]\([0-9][0-9]*\).*/\1/') 2>&5`
gs_cv_make_minor_version=`(echo ${gs_cv_make_version} | sed -e 's/\([0-9][0-9]*\)[^0-9]\([0-9][0-9]*\).*/\2/') 2>&5`
gs_cv_make_minor_version=60
{ echo "$as_me:$LINENO: result: version: ${gs_cv_make_major_version}.${gs_cv_make_minor_version}" >&5
echo "${ECHO_T}version: ${gs_cv_make_major_version}.${gs_cv_make_minor_version}" >&6; }
#--------------------------------------------------------------------
# Check for GNU Make >= 3.79
#--------------------------------------------------------------------
# We want to emit a warning if they are using GNU make < 3.79 as it's
# no longer supported. We let them install everything at their own
# risk though.
{ echo "$as_me:$LINENO: checking for GNU Make >= 3.79" >&5
echo $ECHO_N "checking for GNU Make >= 3.79... $ECHO_C" >&6; }
SUPPORTED_MAKE=no
if test "${gs_cv_make_major_version}" = "3" >&5 2>&5; then
if test "${gs_cv_make_minor_version}" -ge "79" >&5 2>&5; then
SUPPORTED_MAKE=yes
fi
fi
if test "${gs_cv_make_major_version}" -ge "4" >&5 2>&5; then
SUPPORTED_MAKE=yes
fi
if test "${SUPPORTED_MAKE}" = "yes" >&5 2>&5; then
{ echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; }
else
# We do not abort mostly because the checks for GNU make might have
# gone wrong and returned the wrong version, and because GNU make <
# 3.79.1 probably works anyway (with the exception of parallel
# building).
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
{ echo "$as_me:$LINENO: WARNING: GNU Make >= 3.79.1 is recommended! Older versions are no longer supported. Continue at your own risk." >&5
echo "$as_me: WARNING: GNU Make >= 3.79.1 is recommended! Older versions are no longer supported. Continue at your own risk." >&2;}
fi
#--------------------------------------------------------------------
# Check for $(info ...) function in GNU make
#--------------------------------------------------------------------
{ echo "$as_me:$LINENO: checking if GNU Make has the info function" >&5
echo $ECHO_N "checking if GNU Make has the info function... $ECHO_C" >&6; }
# Things may go wrong (eg, make couldn't be found), so by default we
# assume 'no' here. If things go wrong, you'll lost some
# non-essential features.
# Things may go wrong (eg, make couldn't be found in one of the
# previous steps), so by default we assume 'no' here. If things go
# wrong, you'll lost some non-essential features.
MAKE_WITH_INFO_FUNCTION=no
if test "${gs_cv_make_major_version}" -ge "4" >&5 2>&5; then
MAKE_WITH_INFO_FUNCTION=yes
fi
if test "${gs_cv_make_major_version}" -ge "3" >&5 2>&5; then
if test "${gs_cv_make_major_version}" = "3" >&5 2>&5; then
if test "${gs_cv_make_minor_version}" -ge "81" >&5 2>&5; then
MAKE_WITH_INFO_FUNCTION=yes
fi
fi
if test "${gs_cv_make_major_version}" -ge "4" >&5 2>&5; then
MAKE_WITH_INFO_FUNCTION=yes
fi
{ echo "$as_me:$LINENO: result: ${MAKE_WITH_INFO_FUNCTION}" >&5
echo "${ECHO_T}${MAKE_WITH_INFO_FUNCTION}" >&6; }

View file

@ -1524,7 +1524,7 @@ fi
AC_SUBST(GNUSTEP_DEFAULT_DEBUG)
#--------------------------------------------------------------------
# Check for $(info ...) function in GNU make
# Check for GNU make
#--------------------------------------------------------------------
# Search for GNU make. We try 'gmake' then 'gnumake' then 'make'. If
@ -1553,21 +1553,54 @@ gs_cv_make_major_version=`(echo ${gs_cv_make_version} | sed -e 's/\([[0-9]][[0-9
gs_cv_make_minor_version=`(echo ${gs_cv_make_version} | sed -e 's/\([[0-9]][[0-9]]*\)[[^0-9]]\([[0-9]][[0-9]]*\).*/\2/') 2>&5`
AC_MSG_RESULT(version: ${gs_cv_make_major_version}.${gs_cv_make_minor_version})
AC_MSG_CHECKING(if GNU Make has the info function)
# Things may go wrong (eg, make couldn't be found), so by default we
# assume 'no' here. If things go wrong, you'll lost some
# non-essential features.
MAKE_WITH_INFO_FUNCTION=no
if test "${gs_cv_make_major_version}" -ge "4" >&5 2>&5; then
MAKE_WITH_INFO_FUNCTION=yes
#--------------------------------------------------------------------
# Check for GNU Make >= 3.79
#--------------------------------------------------------------------
# We want to emit a warning if they are using GNU make < 3.79 as it's
# no longer supported. We let them install everything at their own
# risk though.
AC_MSG_CHECKING(for GNU Make >= 3.79)
SUPPORTED_MAKE=no
if test "${gs_cv_make_major_version}" = "3" >&5 2>&5; then
if test "${gs_cv_make_minor_version}" -ge "79" >&5 2>&5; then
SUPPORTED_MAKE=yes
fi
fi
if test "${gs_cv_make_major_version}" -ge "3" >&5 2>&5; then
if test "${gs_cv_make_major_version}" -ge "4" >&5 2>&5; then
SUPPORTED_MAKE=yes
fi
if test "${SUPPORTED_MAKE}" = "yes" >&5 2>&5; then
AC_MSG_RESULT(yes)
else
# We do not abort mostly because the checks for GNU make might have
# gone wrong and returned the wrong version, and because GNU make <
# 3.79.1 probably works anyway (with the exception of parallel
# building).
AC_MSG_RESULT(no)
AC_MSG_WARN(GNU Make >= 3.79.1 is recommended! Older versions are no longer supported. Continue at your own risk.)
fi
#--------------------------------------------------------------------
# Check for $(info ...) function in GNU make
#--------------------------------------------------------------------
AC_MSG_CHECKING(if GNU Make has the info function)
# Things may go wrong (eg, make couldn't be found in one of the
# previous steps), so by default we assume 'no' here. If things go
# wrong, you'll lost some non-essential features.
MAKE_WITH_INFO_FUNCTION=no
if test "${gs_cv_make_major_version}" = "3" >&5 2>&5; then
if test "${gs_cv_make_minor_version}" -ge "81" >&5 2>&5; then
MAKE_WITH_INFO_FUNCTION=yes
fi
fi
if test "${gs_cv_make_major_version}" -ge "4" >&5 2>&5; then
MAKE_WITH_INFO_FUNCTION=yes
fi
AC_MSG_RESULT(${MAKE_WITH_INFO_FUNCTION})
AC_SUBST(MAKE_WITH_INFO_FUNCTION)