mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
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:
parent
9c3a0cd810
commit
292e009638
4 changed files with 108 additions and 19 deletions
|
@ -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}:
|
||||
|
|
|
@ -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
56
configure
vendored
|
@ -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; }
|
||||
|
||||
|
|
53
configure.ac
53
configure.ac
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue