Configure: bail out when neither stdarg.h nor varargs.h
authorAaron Crane <arc@cpan.org>
Mon, 4 Feb 2013 17:14:20 +0000 (17:14 +0000)
committerAaron Crane <arc@cpan.org>
Sun, 3 Mar 2013 15:37:11 +0000 (15:37 +0000)
Perl uses variadic functions, so we need at least one of the relevant
mechanisms available; for this reason, the CompCert C compiler is unsuitable
for our purposes.

If the person building Perl wants to carry on regardless, they can use the
"-K" option.

This partly addresses RT#112494.

Configure

index f7bbbc5..6823cb7 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -10882,6 +10882,7 @@ chmod +x varargs
 : now check which varargs header should be included
 echo " "
 i_varhdr=''
+val=""
 case "$valstd" in
 "$define")
        if `./varargs I_STDARG`; then
@@ -10898,6 +10899,15 @@ case "$valstd" in
 esac
 case "$val" in
 '')
+       echo " "
+       echo "*** WHOA THERE!!! ***" >&4
+       echo "    Your C compiler \"$cc\" doesn't seem to support stdarg or varargs!" >&4
+       case "$knowitall" in
+       '')
+       echo "    I'm giving up; maybe you can try again with a different compiler?" >&4
+               exit 1
+               ;;
+       esac
 echo "I could not find the definition for va_dcl... You have problems..." >&4
        val="$undef"; set i_stdarg; eval $setvar
        val="$undef"; set i_varargs; eval $setvar