From a403111660dd017cf1c8129c5312cf751bcb4643 Mon Sep 17 00:00:00 2001 From: russell Date: Fri, 25 Aug 2006 18:55:26 +0000 Subject: remove the make version check, and instead, check for the actual bug that causes our build system to blow up. If anyone still sees problems and configure didn't detect a problem with make, please let me know. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41119 f38db490-d61c-443f-a65b-d21fe96a405b --- configure | 48 ++++++++++++++++++++++++++++++------------------ configure.ac | 33 +++++++++++++++++++++++---------- 2 files changed, 53 insertions(+), 28 deletions(-) diff --git a/configure b/configure index 9de6c97a5..4114c8737 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Revision: 40949 . +# From configure.ac Revision: 41088 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.60. # @@ -4854,6 +4854,35 @@ fi +# http://www.mail-archive.com/bug-make@gnu.org/msg02871.html +echo 'define A' > testMakefile +echo '12345: $(1:.idl=.hh) $(1:.idl=S.h) $(1:.idl=C.h) $(1:.idl=SK.cc) $(1:.idl=DynSK.cc)' >> testMakefile +echo 'endef' >> testMakefile +echo '$(eval $(call A,01234567890123456789012345678901.idl))' >> testMakefile +echo '01234567890123456789012345678901.hh:' >> testMakefile +echo '01234567890123456789012345678901S.h:' >> testMakefile +echo '01234567890123456789012345678901C.h:' >> testMakefile +echo '01234567890123456789012345678901SK.cc:' >> testMakefile +echo '01234567890123456789012345678901DynSK.cc:' >> testMakefile +$GNU_MAKE -r -f testMakefile 2&>1 > /dev/null +if test "$?" != "0" ; then + rm -f testMakefile + { echo "$as_me:$LINENO: ********** ERROR **********" >&5 +echo "$as_me: ********** ERROR **********" >&6;} + { echo "$as_me:$LINENO: Your version of GNU Make contains a bug that will cause the Asterisk build" >&5 +echo "$as_me: Your version of GNU Make contains a bug that will cause the Asterisk build" >&6;} + { echo "$as_me:$LINENO: system to not funciton properly. This bug is known to be fixed in version" >&5 +echo "$as_me: system to not funciton properly. This bug is known to be fixed in version" >&6;} + { echo "$as_me:$LINENO: 3.81 as well as versions of 3.80 that contain backported bug fixes. You" >&5 +echo "$as_me: 3.81 as well as versions of 3.80 that contain backported bug fixes. You" >&6;} + { echo "$as_me:$LINENO: must update GNU make to build Asterisk." >&5 +echo "$as_me: must update GNU make to build Asterisk." >&6;} + { echo "$as_me:$LINENO: ***************************" >&5 +echo "$as_me: ***************************" >&6;} + exit 1 +fi +rm -f testMakefile + # Extract the first word of "grep", so it can be a program name with args. set dummy grep; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 @@ -30835,20 +30864,3 @@ if test "${cross_compiling}" = "yes"; then { echo "$as_me:$LINENO: Cross Compilation = YES" >&5 echo "$as_me: Cross Compilation = YES" >&6;} fi - -if test ${GNU_MAKE_VERSION_MAJOR} -lt 3 || test ${GNU_MAKE_VERSION_MINOR} -lt 81 ; then - { echo "$as_me:$LINENO: " >&5 -echo "$as_me: " >&6;} - { echo "$as_me:$LINENO: ***** WARNING ******" >&5 -echo "$as_me: ***** WARNING ******" >&6;} - { echo "$as_me:$LINENO: You are currently using GNU Make version ${GNU_MAKE_VERSION_MAJOR}.${GNU_MAKE_VERSION_MINOR}." >&5 -echo "$as_me: You are currently using GNU Make version ${GNU_MAKE_VERSION_MAJOR}.${GNU_MAKE_VERSION_MINOR}." >&6;} - { echo "$as_me:$LINENO: The Asterisk build system uses features that may not work correctly prior to 3.81." >&5 -echo "$as_me: The Asterisk build system uses features that may not work correctly prior to 3.81." >&6;} - { echo "$as_me:$LINENO: Please consider upgrading GNU Make or you may experience problems." >&5 -echo "$as_me: Please consider upgrading GNU Make or you may experience problems." >&6;} - { echo "$as_me:$LINENO: ********************" >&5 -echo "$as_me: ********************" >&6;} - { echo "$as_me:$LINENO: " >&5 -echo "$as_me: " >&6;} -fi diff --git a/configure.ac b/configure.ac index c632287a3..88a6bb6fe 100644 --- a/configure.ac +++ b/configure.ac @@ -108,6 +108,29 @@ AC_PROG_LN_S AC_PROG_RANLIB AST_CHECK_GNU_MAKE +# http://www.mail-archive.com/bug-make@gnu.org/msg02871.html +echo 'define A' > testMakefile +echo '12345: $(1:.idl=.hh) $(1:.idl=S.h) $(1:.idl=C.h) $(1:.idl=SK.cc) $(1:.idl=DynSK.cc)' >> testMakefile +echo 'endef' >> testMakefile +echo '$(eval $(call A,01234567890123456789012345678901.idl))' >> testMakefile +echo '01234567890123456789012345678901.hh:' >> testMakefile +echo '01234567890123456789012345678901S.h:' >> testMakefile +echo '01234567890123456789012345678901C.h:' >> testMakefile +echo '01234567890123456789012345678901SK.cc:' >> testMakefile +echo '01234567890123456789012345678901DynSK.cc:' >> testMakefile +$GNU_MAKE -r -f testMakefile 2&>1 > /dev/null +if test "$?" != "0" ; then + rm -f testMakefile + AC_MSG_NOTICE(********** ERROR **********) + AC_MSG_NOTICE(Your version of GNU Make contains a bug that will cause the Asterisk build) + AC_MSG_NOTICE(system to not funciton properly. This bug is known to be fixed in version) + AC_MSG_NOTICE(3.81 as well as versions of 3.80 that contain backported bug fixes. You) + AC_MSG_NOTICE(must update GNU make to build Asterisk.) + AC_MSG_NOTICE(***************************) + exit 1 +fi +rm -f testMakefile + AC_PATH_PROG([GREP], [grep], :) AC_PATH_PROG([AR], [ar], :) AC_PATH_PROG([FIND], [find], :) @@ -970,13 +993,3 @@ AC_MSG_NOTICE( Host CPU : $host_cpu) if test "${cross_compiling}" = "yes"; then AC_MSG_NOTICE( Cross Compilation = YES) fi - -if test ${GNU_MAKE_VERSION_MAJOR} -lt 3 || test ${GNU_MAKE_VERSION_MINOR} -lt 81 ; then - AC_MSG_NOTICE() - AC_MSG_NOTICE(***** WARNING ******) - AC_MSG_NOTICE(You are currently using GNU Make version ${GNU_MAKE_VERSION_MAJOR}.${GNU_MAKE_VERSION_MINOR}.) - AC_MSG_NOTICE(The Asterisk build system uses features that may not work correctly prior to 3.81.) - AC_MSG_NOTICE(Please consider upgrading GNU Make or you may experience problems.) - AC_MSG_NOTICE(********************) - AC_MSG_NOTICE() -fi -- cgit v1.2.3