# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Wed Jan 11 21:57:24 CET 2006 [metaconfig 3.0 PL70]
+# Generated on Wed Mar 8 09:08:03 CET 2006 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
d_attribute_warn_unused_result=''
d_bcmp=''
d_bcopy=''
+d_builtin_choose_expr=''
+d_builtin_expect=''
d_bzero=''
d_casti32=''
castflags=''
sSCNfldbl=''
lseeksize=''
lseektype=''
+mad=''
make_set_make=''
d_mymalloc=''
freetype=''
+madlyh=''
+madlyobj=''
+madlysrc=''
mallocobj=''
mallocsrc=''
malloctype=''
domainos) osname=apollo
osvers="$3"
;;
- dgux) osname=dgux
+ dgux) osname=dgux
+ osvers="$3"
+ ;;
+ dragonfly) osname=dragonfly
osvers="$3"
;;
dynixptx*) osname=dynixptx
osvers=`echo "$4"|sed 's/^v//'`
;;
- freebsd) osname=freebsd
+ freebsd) osname=freebsd
osvers="$3" ;;
genix) osname=genix ;;
gnu) osname=gnu
osvers="$3" ;;
- hp*) osname=hpux
+ hp*) osname=hpux
osvers=`echo "$3" | $sed 's,.*\.\([0-9]*\.[0-9]*\),\1,'`
;;
irix*) osname=irix
*freebsd*) ;;
svr*)
: svr4.x or possibly later
- case "svr$3" in
+ case "svr$3" in
${osname}*)
osname=svr$3
osvers=$4
osvers="$5"
fi
fi
-
+
case "$targetarch" in
'') ;;
*) hostarch=$osname
solaris)
xxx="-R $shrpdir"
;;
- freebsd|netbsd|openbsd|interix)
+ freebsd|netbsd|openbsd|interix|dragonfly)
xxx="-Wl,-R$shrpdir"
;;
bsdos|linux|irix*|dec_osf|gnu*)
set d_bsdsetpgrp
eval $setvar
$rm -f try try.*
+: Look for GCC-style __builtin_choose_expr
+case "$d_builtin_choose_expr" in
+'')
+ echo " "
+ echo "Checking whether your compiler can handle __builtin_choose_expr ..." >&4
+ $cat >try.c <<'EOCP'
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#define SYRINX(x) __builtin_choose_expr( x, (1056*2), (103*50) )
+
+int main(void) {
+ assert( SYRINX(1) == 2112 );
+ assert( SYRINX(1) != 5150 );
+ assert( SYRINX(0) == 5150 );
+ assert( SYRINX(0) != 2112 );
+ puts( "All good!" );
+ exit(0);
+}
+
+EOCP
+ set try
+ if eval $compile; then
+ echo "Your C compiler supports __builtin_choose_expr."
+ val="$define"
+ else
+ echo "Your C compiler doesn't seem to understand __builtin_choose_expr."
+ val="$undef"
+ fi
+;;
+*) val="$d_builtin_choose_expr" ;;
+esac
+
+set d_builtin_choose_expr
+eval $setvar
+$rm -f try.* try core core.try.*
+
+: Look for GCC-style __builtin_expect
+case "$d_builtin_expect" in
+'')
+ echo " "
+ echo "Checking whether your compiler can handle __builtin_expect ..." >&4
+ $cat >builtin.c <<'EOCP'
+int main(void) {
+ int n = 50;
+ if ( __builtin_expect(n, 0) ) n = 1;
+}
+EOCP
+ set try
+ if eval $compile; then
+ echo "Your C compiler supports __builtin_choose_expr."
+ val="$define"
+ else
+ echo "Your C compiler doesn't seem to understand __builtin_choose_expr."
+ val="$undef"
+ fi
+ ;;
+*) val="$d_builtin_expect" ;;
+esac
+
+set d_builtin_expect
+eval $setvar
+$rm -f try.* try core core.try.*
+
: see if bzero exists
set bzero d_bzero
eval $inlibc
*) groupstype="$gidtype";;
esac
+
+case "$mad" in
+$define|true|[yY]*) dflt='y' ;;
+*) dflt='n' ;;
+esac
+cat <<EOM
+
+Would you like to build with Misc Attribute Decoration? This is development
+work leading to a Perl 5 to Perl 6 convertor, which imposes a space and speed
+overhead on the interpreter.
+
+If this doesn't make any sense to you, just accept the default '$dflt'.
+EOM
+rp='Build Perl with MAD?'
+. ./myread
+case "$ans" in
+y|Y) val="$define"
+ madlyh='madly.h madly.act madly.tab'
+ madlysrc='madly.c'
+ madlyobj="madly$_o" ;;
+*) val="$undef"
+ madlyh=''
+ madlysrc=''
+ madlyobj='' ;;
+esac
+set mad
+eval $setvar
+
echo " "
echo "Checking if your $make program sets \$(MAKE)..." >&4
case "$make_set_make" in
if [ "X$ranlib" = "X" ]; then
ranlib=":"
fi
+elif $ar s bar$_a >/dev/null 2>&1 &&
+ $cc -o foobar $ccflags $ldflags foo$_o bar$_a $libs > /dev/null 2>&1 &&
+ $run ./foobar >/dev/null 2>&1; then
+ echo "a table of contents needs to be added with '$ar s'."
+ orderlib=false
+ ranlib="$ar s"
elif $ar ts bar$_a >/dev/null 2>&1 &&
$cc -o foobar $ccflags $ldflags foo$_o bar$_a $libs > /dev/null 2>&1 &&
$run ./foobar >/dev/null 2>&1; then
ranlib=":"
fi
fi
-$rm -f foo* bar*
+$rm -f foo* bar*
: check for type of arguments to select.
case "$selecttype" in
eval $inhdr
echo " "
-$echo "Guessing which symbols your C compiler and preprocessor define..." >&4
+$echo "Guessing which symbols your C compiler and preprocessor define..." >&4
$cat <<'EOSH' > Cppsym.know
a29k ABI64 aegis AES_SOURCE AIX AIX32 AIX370
AIX41 AIX42 AIX43 AIX_SOURCE aixpc ALL_SOURCE
chmod +x Cppsym.try
$eunicefix Cppsym.try
./Cppsym < Cppsym.know > Cppsym.true
+: Add in any linux cpp "predefined macros":
+case "$osname::$gccversion" in
+ *linux*::*.*)
+ tHdrH=_tmpHdr
+ rm -f $tHdrH'.h' $tHdrH
+ touch $tHdrH'.h'
+ if cpp -dM $tHdrH'.h' > $tHdrH'_cppsym.h' && [ -s $tHdrH'_cppsym.h' ]; then
+ sed 's/#define[\ \ ]*//;s/[\ \ ].*$//' <$tHdrH'_cppsym.h' >$tHdrH'_cppsym.real'
+ if [ -s $tHdrH'_cppsym.real' ]; then
+ cat $tHdrH'_cppsym.real' Cppsym.know | sort | uniq | ./Cppsym | sort | uniq > Cppsym.true
+ fi
+ fi
+ rm -f $tHdrH'.h' $tHdrH'_cppsym.h' $tHdrH'_cppsym.real'
+ ;;
+esac
: now check the C compiler for additional symbols
postprocess_cc_v=''
case "$osname" in
d_bsd='$d_bsd'
d_bsdgetpgrp='$d_bsdgetpgrp'
d_bsdsetpgrp='$d_bsdsetpgrp'
+d_builtin_choose_expr='$d_builtin_choose_expr'
+d_builtin_expect='$d_builtin_expect'
d_bzero='$d_bzero'
d_casti32='$d_casti32'
d_castneg='$d_castneg'
ls='$ls'
lseeksize='$lseeksize'
lseektype='$lseektype'
+mad='$mad'
mail='$mail'
mailx='$mailx'
make='$make'
make_set_make='$make_set_make'
mallocobj='$mallocobj'
mallocsrc='$mallocsrc'
+madlyh='$madlyh'
+madlyobj='$madlyobj'
+madlysrc='$madlysrc'
malloctype='$malloctype'
man1dir='$man1dir'
man1direxp='$man1direxp'