remove the make version check, and instead, check for the actual bug that
authorRussell Bryant <russell@russellbryant.com>
Fri, 25 Aug 2006 18:55:26 +0000 (18:55 +0000)
committerRussell Bryant <russell@russellbryant.com>
Fri, 25 Aug 2006 18:55:26 +0000 (18:55 +0000)
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: https://origsvn.digium.com/svn/asterisk/trunk@41119 65c4cc65-6c06-0410-ace0-fbb531ad65f3

configure
configure.ac

index 9de6c97..4114c87 100755 (executable)
--- 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
index c632287..88a6bb6 100644 (file)
@@ -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