# See Porting/pumpkin.pod for more information on metaconfig.
#
-# Generated on Mon May 27 09:27:16 CEST 2013 [metaconfig 3.5 PL0]
+# Generated on Tue Sep 17 10:34:33 CEST 2013 [metaconfig 3.5 PL0]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
d_dirnamlen=''
direntrytype=''
i_dirent=''
-i_dld=''
i_dlfcn=''
i_fcntl=''
i_float=''
vendorscript=''
vendorscriptexp=''
versiononly=''
-defvoidused=''
-voidflags=''
yacc=''
yaccflags=''
CONFIG=''
elif test -n "$DJGPP"; then
: DOS DJGPP
_exe=".exe"
+elif test -f /kern/cookiejar; then
+: MiNT
+ _exe=""
elif test -d c:/. -o -n "$is_os2" ; then
: OS/2 or cygwin
_exe=".exe"
ignore_versioned_solibs=''
: set usethreads on the Configure command line to enable threads.
usereentrant='undef'
-: full support for void wanted by default
-defvoidused=15
-
ccname=''
ccversion=''
perllibs=''
: set usesocks on the Configure command line to enable socks.
: List of libraries we want.
: If anyone needs extra -lxxx, put those in a hint file.
-libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
+libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld sun"
libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
*) osvers=$tmp;;
esac
;;
+ bitrig) osname=bitrig
+ osvers="$3"
+ ;;
bsd386) osname=bsd386
osvers=`$uname -r`
;;
esac
cat <<EOM
-Perl can be built to take advantage of threads on some systems.
+Perl can be built to offer a form of threading support on some systems
To do so, Configure can be run with -Dusethreads.
Note that Perl built with threading support runs slightly slower
-and uses more memory than plain Perl. The current implementation
-is believed to be stable, but it is fairly new, and so should be
-treated with caution.
+and uses slightly more memory than plain Perl.
If this doesn't make any sense to you, just accept the default '$dflt'.
EOM
if $test $patchlevel -lt 9; then
case "$usethreads" in
$define)
- $cat <<EOM
-
-Since release 5.6, Perl has had two different threading implementations,
-the newer interpreter-based version (ithreads) with one interpreter per
-thread, and the older 5.005 version (5005threads).
-The 5005threads version is effectively unmaintained and will probably be
-removed in Perl 5.10, so there should be no need to build a Perl using it
-unless needed for backwards compatibility with some existing 5.005threads
-code.
-
-EOM
: Default to ithreads unless overridden on command line or with
: old config.sh
dflt='y'
case "$use5005threads" in
- $define|true|[yY]*) dflt='n';;
+ $define|true|[yY]*)
+ echo "5.005 threads are no longer supported"
+ exit 1
+ ;;
esac
case "$useithreads" in
$undef|false|[nN]*) dflt='n';;
fi
case "$use64bitint" in
"$define"|true|[yY]*)
+ : This test was common to all the OpenBSD forks, and seems harmless for
+ : other platforms:
+ echo " "
+ echo "Checking if your C library has broken 64-bit functions..." >&4
+ cat >try.c <<EOCP
+#include <stdio.h>
+typedef $uquadtype myULL;
+int main (void)
+{
+ struct {
+ double d;
+ myULL u;
+ } *p, test[] = {
+ {4294967303.15, 4294967303ULL},
+ {4294967294.2, 4294967294ULL},
+ {4294967295.7, 4294967295ULL},
+ {0.0, 0ULL}
+ };
+ for (p = test; p->u; p++) {
+ myULL x = (myULL)p->d;
+ if (x != p->u) {
+ printf("buggy\n");
+ return 0;
+ }
+ }
+ printf("ok\n");
+ return 0;
+}
+EOCP
+ set try
+ if eval $compile_ok; then
+ libcquad=`./try`
+ echo "Your C library's 64-bit functions are $libcquad."
+ else
+ echo "(I can't seem to compile the test program.)"
+ echo "Assuming that your C library's 64-bit functions are ok."
+ libcquad="ok"
+ fi
+ $rm_try
+
+ case "$libcquad" in
+ buggy*)
+ cat >&4 <<EOM
+
+*** You have a C library with broken 64-bit functions.
+*** 64-bit support does not work reliably in this configuration.
+*** Please rerun Configure without -Duse64bitint and/or -Dusemorebits.
+*** Cannot continue, aborting.
+
+EOM
+ exit 1
+ ;;
+ esac
case "$longsize" in
4) case "$archname64" in
'') archname64=64int ;;
set i_malloc
eval $setvar
-: check for void type
-echo " "
-echo "Checking to see how well your C compiler groks the void type..." >&4
-case "$voidflags" in
-'')
- $cat >try.c <<EOCP
-#$i_stdlib I_STDLIB
-#ifdef I_STDLIB
-#include <stdlib.h>
-#endif
-#if TRY & 1
-void sub() {
-#else
-sub() {
-#endif
- extern void moo(); /* function returning void */
- void (*goo)(); /* ptr to func returning void */
-#if TRY & 8
- void *hue; /* generic ptr */
-#endif
-#if TRY & 2
- void (*foo[10])();
-#endif
-
-#if TRY & 4
- if(goo == moo) {
- exit(0);
- }
-#endif
- exit(0);
-}
-int main() { sub(); }
-EOCP
- if $cc $ccflags -c -DTRY=$defvoidused try.c >.out 2>&1 ; then
- voidflags=$defvoidused
- echo "Good. It appears to support void to the level $package wants.">&4
- if $contains warning .out >/dev/null 2>&1; then
- echo "However, you might get some warnings that look like this:"
- $cat .out
- fi
- else
-echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4
- if $cc $ccflags -c -DTRY=1 try.c >/dev/null 2>&1; then
- echo "It supports 1..."
- if $cc $ccflags -c -DTRY=3 try.c >/dev/null 2>&1; then
- echo "It also supports 2..."
- if $cc $ccflags -c -DTRY=7 try.c >/dev/null 2>&1; then
- voidflags=7
- echo "And it supports 4 but not 8 definitely."
- else
- echo "It doesn't support 4..."
- if $cc $ccflags -c -DTRY=11 try.c >/dev/null 2>&1; then
- voidflags=11
- echo "But it supports 8."
- else
- voidflags=3
- echo "Neither does it support 8."
- fi
- fi
- else
- echo "It does not support 2..."
- if $cc $ccflags -c -DTRY=13 try.c >/dev/null 2>&1; then
- voidflags=13
- echo "But it supports 4 and 8."
- else
- if $cc $ccflags -c -DTRY=5 try.c >/dev/null 2>&1; then
- voidflags=5
- echo "And it supports 4 but has not heard about 8."
- else
- echo "However it supports 8 but not 4."
- fi
- fi
- fi
- else
- echo "There is no support at all for void."
- voidflags=0
- fi
- fi
-esac
-case "$voidflags" in
-"$defvoidused") ;;
-*) $cat >&4 <<'EOM'
- Support flag bits are:
- 1: basic void declarations.
- 2: arrays of pointers to functions returning void.
- 4: operations between pointers to and addresses of void functions.
- 8: generic void pointers.
-EOM
- dflt="$voidflags";
- rp="Your void support flags add up to what?"
- . ./myread
- voidflags="$ans"
- ;;
-esac
-$rm_try
-
: check for length of pointer
echo " "
case "$ptrsize" in
'')
echo "Checking to see how big your pointers are..." >&4
- if test "$voidflags" -gt 7; then
- echo '#define VOID_PTR char *' > try.c
- else
- echo '#define VOID_PTR void *' > try.c
- fi
$cat >>try.c <<EOCP
#include <stdio.h>
#$i_stdlib I_STDLIB
#endif
int main()
{
- printf("%d\n", (int)sizeof(VOID_PTR));
+ printf("%d\n", (int)sizeof(void *));
exit(0);
}
EOCP
esac
$rm -f libnames libpath
-: see if dld is available
-set dld.h i_dld
-eval $inhdr
-
: Check if we are using C++
echo " "
echo "Checking for C++..." >&4
case "$d_dlopen" in
$define) dflt='y' ;;
esac
- case "$i_dld" in
- $define) dflt='y' ;;
- esac
: Does a dl_xxx.xs file exist for this operating system
$test -f $rsrc/$dldir/dl_${osname}.xs && dflt='y'
;;
dflt="$dldir/dl_${osname}.xs"
elif $test "$d_dlopen" = "$define" ; then
dflt="$dldir/dl_dlopen.xs"
- elif $test "$i_dld" = "$define" ; then
- dflt="$dldir/dl_dld.xs"
else
dflt=''
fi
solaris)
xxx="-R $shrpdir"
;;
- freebsd|mirbsd|netbsd|openbsd|interix|dragonfly)
+ freebsd|mirbsd|netbsd|openbsd|interix|dragonfly|bitrig)
xxx="-Wl,-R$shrpdir"
;;
bsdos|linux|irix*|dec_osf|gnu*)
#endif
#ifdef INT16
int16_t i = INT16_MAX;
- uint16_t i = UINT16_MAX;
+ uint16_t u = UINT16_MAX;
printf("int16_t\n");
#endif
#ifdef INT32
: How can we generate normalized random numbers ?
echo " "
-echo "Looking for a random number function..." >&4
-case "$randfunc" in
-'')
- if set drand48 val -f; eval $csym; $val; then
- dflt="drand48"
- echo "Good, found drand48()." >&4
- elif set random val -f; eval $csym; $val; then
- dflt="random"
- echo "OK, found random()." >&4
- else
- dflt="rand"
- echo "Yuck, looks like I have to use rand()." >&4
- fi
- echo " "
- ;;
-*)
- dflt="$randfunc"
- ;;
-esac
-cont=true
+echo "Using our internal random number implementation..." >&4
case "$ccflags" in
*-Dmy_rand=*|*-Dmy_srand=*)
;;
esac
-while $test "$cont"; do
- rp="Use which function to generate random numbers?"
- . ./myread
- if $test "$ans" = "$dflt"; then
- : null
- else
- randbits=''
- fi
- randfunc="$ans"
- if set $ans val -f; eval $csym; $val; then
- cont=''
- else
- dflt=y
- rp="I cannot find function $ans. Use that name anyway?"
- . ./myread
- dflt=rand
- case "$ans" in
- [yY]*) cont='';;
- esac
- fi
- case "$cont" in
- '')
- case "$randfunc" in
- drand48)
- drand01="drand48()"
- seedfunc="srand48"
- randbits=48
- randseedtype=long
- ;;
- rand|random)
- case "$randbits" in
- '')
-echo "Checking to see how many bits your $randfunc() function produces..." >&4
- $cat >try.c <<EOCP
-#$i_unistd I_UNISTD
-#$i_stdlib I_STDLIB
-#include <stdio.h>
-#ifdef I_UNISTD
-# include <unistd.h>
-#endif
-#ifdef I_STDLIB
-# include <stdlib.h>
-#endif
-int main()
-{
- int i;
- unsigned long tmp;
- unsigned long max = 0L;
-
- for (i = 1000; i; i--) {
- tmp = (unsigned long) $randfunc();
- if (tmp > max) max = tmp;
- }
- for (i = 0; max; i++)
- max /= 2;
- printf("%d\n",i);
-}
-EOCP
- set try
- if eval $compile_ok; then
- dflt=`try`
- else
- dflt='?'
- echo "(I can't seem to compile the test program...)"
- fi
- ;;
- *)
- dflt="$randbits"
- ;;
- esac
- rp="How many bits does your $randfunc() function produce?"
- . ./myread
- randbits="$ans"
- $rm_try
- drand01="($randfunc() / (double) ((unsigned long)1 << $randbits))"
- seedfunc="s$randfunc"
- randseedtype=unsigned
- ;;
- *)
- dflt="31"
- rp="How many bits does your $randfunc() function produce?"
- . ./myread
- randbits="$ans"
- seedfunc="s$randfunc"
- drand01="($randfunc() / (double) ((unsigned long)1 << $randbits))"
- if set $seedfunc val -f; eval $csym; $val; then
- echo "(Using $seedfunc() to seed random generator)"
- else
- echo "(Warning: no $seedfunc() to seed random generator)"
- seedfunc=rand
- fi
- randseedtype=unsigned
- ;;
- esac
- ;;
- esac
-done
+randfunc=Perl_drand48
+drand01="Perl_drand48()"
+seedfunc="Perl_drand48_init"
+randbits=48
+randseedtype=U32
: Check how to flush
echo " "
DynaLoader|dynaload) ;;
*)
this_ext=`echo $xxx | $sed -e s/-/\\\//g`;
+ case "$this_ext" in
+ Scalar/List/Utils) this_ext="List/Util";;
+ PathTools) this_ext="Cwd";;
+ esac;
echo " $xs_extensions $nonxs_extensions" > $$.tmp;
if $contains " $this_ext " $$.tmp; then
echo >&4;
nonxs_ext=''
for xxx in $nonxs_extensions ; do
case "$xxx" in
+ VMS*)
+ ;;
*) nonxs_ext="$nonxs_ext $xxx"
;;
esac
db_version_major='$db_version_major'
db_version_minor='$db_version_minor'
db_version_patch='$db_version_patch'
-defvoidused='$defvoidused'
direntrytype='$direntrytype'
dlext='$dlext'
dlsrc='$dlsrc'
i_db='$i_db'
i_dbm='$i_dbm'
i_dirent='$i_dirent'
-i_dld='$i_dld'
i_dlfcn='$i_dlfcn'
i_fcntl='$i_fcntl'
i_float='$i_float'
version_patchlevel_string='$version_patchlevel_string'
versiononly='$versiononly'
vi='$vi'
-voidflags='$voidflags'
xlibpth='$xlibpth'
yacc='$yacc'
yaccflags='$yaccflags'