# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Mon Aug 30 22:33:03 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Mon Sep 20 12:57:28 EET DST 1999 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
uidtype=''
archname64=''
use64bits=''
+uselfs=''
uselongdouble=''
+usemorebits=''
usemultiplicity=''
nm_opt=''
nm_so_opt=''
: produce awk script to parse command line options
cat >options.awk <<'EOF'
BEGIN {
- optstr = "dD:eEf:hKOrsSU:V"; # getopt-style specification
+ optstr = "A:dD:eEf:hKOrsSU:V"; # getopt-style specification
len = length(optstr);
for (i = 1; i <= len; i++) {
extractsh=''
override=''
knowitall=''
-rm -f optdef.sh
+rm -f optdef.sh posthint.sh
cat >optdef.sh <<EOS
$startsh
EOS
esac
shift
;;
+ -A)
+ shift
+ xxx=''
+ yyy="$1"
+ case "$yyy" in
+ *:*) xxx=`echo $yyy|sed 's!:.*!!'`
+ yyy=`echo $yyy|sed 's!^[^:]*:!!'`
+ ;;
+ esac
+ case "$xxx" in
+ '') xxx=define ;;
+ esac
+ zzz=''
+ uuu='undef'
+ case "$yyy" in
+ *=*) zzz=`echo $yyy|sed 's!^[^=]*=!!'`
+ yyy=`echo $yyy|sed 's!=.*!!'`
+ case "$yyy:$zzz" in
+ undef:) uuu='' ;;
+ esac
+ ;;
+ esac
+ case "$xxx" in
+ append)
+ echo "$yyy=\"\${$yyy}$zzz\"" >> posthint.sh
+ ;;
+ clear)
+ echo "$yyy=''" >> posthint.sh
+ ;;
+ define)
+ case "$zzz" in
+ '') zzz=define ;;
+ esac
+ echo "$yyy='$zzz'" >> posthint.sh
+ ;;
+ eval)
+ echo "eval \"$yyy=$zzz\"" >> posthint.sh
+ ;;
+ prepend)
+ echo "$yyy=\"$zzz\${$yyy}\"" >> posthint.sh
+ ;;
+ undef)
+ case "$zzz" in
+ '') zzz="$uuu" ;;
+ esac
+ echo "$yyy=$zzz" >> posthint.sh
+ ;;
+ *) echo "$me: unknown -A command '$xxx', ignoring -A $1" >&2
+ ;;
+ esac
+ ;;
-V) echo "$me generated by metaconfig 3.0 PL70." >&2
exit 0;;
--) break;;
true)
cat >&2 <<EOM
Usage: $me [-dehrsEKOSV] [-f config.sh] [-D symbol] [-D symbol=value]
- [-U symbol] [-U symbol=]
+ [-U symbol] [-U symbol=] [-A command:symbol...]
-d : use defaults for all answers.
-e : go on without questioning past the production of config.sh.
-f : specify an alternate default configuration file.
-U : undefine symbol:
-U symbol symbol gets the value 'undef'
-U symbol= symbol gets completely empty
+ -A : manipulate symbol after the platform specific hints have been applied:
+ -A append:symbol=value append value to symbol
+ -A define:symbol=value define symbol to have value
+ -A symbol=value define symbol to have value
+ -A clear:symbol define symbol to be ''
+ -A define:symbol define symbol to be 'define'
+ -A eval:symbol=value define symbol to be eval of value
+ -A prepend:symbol=value prepend value to symbol
+ -A undef:symbol define symbol to be 'undef'
+ -A undef:symbol= define symbol to be ''
-V : print version number and exit (with a zero status).
EOM
exit 1
: run the defines and the undefines, if any, but leave the file out there...
touch optdef.sh
. ./optdef.sh
+: create the posthint manipulation script and leave the file out there...
+touch posthint.sh
+. ./posthint.sh
: set package name
package=perl5
*) osvers="$ans" ;;
esac
+
+. ./posthint.sh
+
: who configured the system
cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
cf_by=`(logname) 2>/dev/null`
1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
esac
+
+case "$usemorebits" in
+"$define"|true|[yY]*)
+ use64bits="$define"
+ uselongdouble="$define"
+ usemorebits="$define"
+ ;;
+*) usemorebits="$undef"
+ ;;
+esac
+
+
+cat <<EOM
+
+Perl can be built to understand large files (files larger than 2 gigabytes)
+on some systems. To do so, Configure must be run with -Duselfs.
+
+If this doesn't make any sense to you, just accept the default.
+EOM
+case "$uselfs" in
+"$define"|true|[yY]*) dflt='y' ;;
+*) dflt='n' ;;
+esac
+rp='Try to understand large files?'
+. ./myread
+case "$ans" in
+y|Y) val="$define" ;;
+*) val="$undef" ;;
+esac
+set uselfs
+eval $setvar
+case "$uselfs" in
+"$define") use64bits="$define" ;;
+esac
+
cat <<EOM
Perl can be built to take advantage of explicit 64-bit interfaces,
on some systems. To do so, Configure must be run with -Duse64bits.
-If this doesn't make any sense to you, just accept the default 'n'.
+If this doesn't make any sense to you, just accept the default.
EOM
case "$use64bits" in
$define|true|[yY]*) dflt='y';;
case "$gccversion" in
1*) ;;
2.[0-8]*) ;;
- *) echo " "
+ ?*) echo " "
echo "Checking if your compiler accepts -fno-strict-aliasing" 2>&1
echo 'int main(void) { return 0; }' > gcctest.c
if $cc -O2 -fno-strict-aliasing -o gcctest gcctest.c; then
eval $inlibc
: see if POSIX threads are available
-if test "X$usethreads" = "X$define"; then
- set pthread.h i_pthread
- eval $inhdr
-else
- i_pthread="$undef"
-fi
+set pthread.h i_pthread
+eval $inhdr
+
int main()
{
struct sigaction act, oact;
+ act.sa_flags = 0;
+ oact.sa_handler = 0;
}
EOP
set try
uniq='$uniq'
use64bits='$use64bits'
usedl='$usedl'
+uselfs='$uselfs'
uselongdouble='$uselongdouble'
+usemorebits='$usemorebits'
usemultiplicity='$usemultiplicity'
usemymalloc='$usemymalloc'
usenm='$usenm'