# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Thu Mar 4 10:08:40 EET 1999 [metaconfig 3.0 PL70]
+# Generated on Mon Apr 19 22:21:08 EET DST 1999 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
newsh=/usr/bin/bsh
fi
fi
+if test -f /osf_boot -a -f /usr/sbin/setld; then
+ if test X`/usr/bin/uname -s` = XOSF1; then
+ avoidksh="to avoid Digital UNIX' ksh"
+ newsh=/bin/sh
+ unset BIN_SH # if this is 'xpg4' sh will start up ksh
+ fi
+fi
case "$inksh/$needksh" in
/[a-z]*)
ENV=''
d_flock64_s=''
d_fstat64=''
d_ftruncate64=''
-d_ino64t=''
+d_ino64_t=''
+d_llseek=''
d_lockf64=''
d_lseek64=''
d_lstat64=''
-d_off64t=''
+d_off64_t=''
+d_offset_t=''
d_open64=''
d_opendir64=''
d_readdir64=''
selectminbits=''
selecttype=''
sh=''
+sig_count=''
sig_name=''
sig_name_init=''
sig_num=''
: script used to extract .SH files with variable substitutions
cat >extract <<'EOS'
-CONFIG=true
+CONFIGDOTSH=true
echo "Doing variable substitutions on .SH files..."
if test -f $src/MANIFEST; then
set x `awk '{print $1}' <$src/MANIFEST | grep '\.SH$'`
nm
nroff
pg
-tee
test
uname
zip
osvers=2
fi
fi
- unset tmp
+ tmp=''
;;
pc*)
if test -n "$DJGPP"; then
$cat >findhdr <<EOF
$startsh
wanted=\$1
-name=''
-if test -f $usrinc/\$wanted; then
- echo "$usrinc/\$wanted"
- exit 0
-fi
+for usrincdir in $usrinc
+do
+ if test -f \$usrincdir/\$wanted; then
+ echo "\$usrincdir/\$wanted"
+ exit 0
+ fi
+done
awkprg='{ print \$$fieldn }'
echo "#include <\$wanted>" > foo\$\$.c
$cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \
while read cline; do
name=\`echo \$cline | $awk "\$awkprg" | $tr -d '"'\`
case "\$name" in
- */\$wanted) echo "\$name"; exit 0;;
+ *[/\\\\]\$wanted) echo "\$name"; exit 0;;
*) name='';;
esac;
done;
useshrplib='true'
# Why does next4 have to be so different?
case "${osname}${osvers}" in
- next4*) xxx='DYLD_LIBRARY_PATH' ;;
+ next4*|rhapsody*)
+ xxx='DYLD_LIBRARY_PATH' ;;
os2*) xxx='' ;; # Nothing special needed.
beos*) xxx='' ;;
*) xxx='LD_LIBRARY_PATH' ;;
esac
- if test X"$xxx" != "X"; then
- $cat <<EOM | $tee -a ../config.msg >&4
-
-To build perl, you must add the current working directory to your
-$xxx environment variable before running make. You can do
-this with
- $xxx=\`pwd\`:\$$xxx; export $xxx
-for Bourne-style shells, or
- setenv $xxx \`pwd\`
-for Csh-style shells. You *MUST* do this before running make.
-
-EOM
- fi
;;
*) useshrplib='false' ;;
esac
beos)
# beos doesn't like the default, either.
;;
+ hpux*)
+ # hpux doesn't like the default, either.
+ tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\""
+ ;;
*)
tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
;;
shift 2;
done > try.c;
echo "int main () { struct $struct foo; foo.$field = 0; }" >> try.c;
-if eval $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
+if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
val="$define";
else
val="$undef";
set lockf64 d_lockf64
eval $inlibc
+ : see if llseek exists
+ set llseek d_llseek
+ eval $inlibc
+
: see if lseek64 exists
set lseek64 d_lseek64
eval $inlibc
echo $n "Checking to see if your system supports off64_t...$c" >&4
$cat >try.c <<EOCP
#include <sys/types.h>
+#include <unistd.h>
off64_t foo() { off64_t x; x = 7; return x; }'
EOCP
if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
echo " Nope, it doesn't." >&4
fi
$rm -f try.*
- set d_off64t
+ set d_off64_t
+ eval $setvar
+
+ : check for offset_t
+ echo " "
+ echo $n "Checking to see if your system supports offset_t...$c" >&4
+ $cat >try.c <<EOCP
+#include <sys/types.h>
+#include <unistd.h>
+offset_t foo() { offset_t x; x = 7; return x; }'
+EOCP
+ if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
+ val="$define"
+ echo " Yup, it does." >&4
+ else
+ val="$undef"
+ echo " Nope, it doesn't." >&4
+ fi
+ $rm -f try.*
+ set d_offset_t
eval $setvar
: check for ino64_t
else
echo " Nope, it doesn't." >&4
fi
- set d_ino64t
+ set d_ino64_t
eval $setvar
: check for struct flock64
else
val="$undef"
- for xxx in d_fstat64 d_ftruncate64 d_lockf64 d_lseek64 d_lstat64 d_open64 d_opendir64 d_readdir64 d_seekdir64 d_stat64 d_telldir64 d_truncate64 d_off64t d_ino64t d_flock64_s d_dirent64_s
+ for xxx in d_fstat64 d_ftruncate64 d_lockf64 d_lseek64 d_lstat64 d_open64 d_opendir64 d_readdir64 d_seekdir64 d_stat64 d_telldir64 d_truncate64 d_off64_t d_offset_t d_ino64_t d_flock64_s d_dirent64_s
do
set $xxx
eval $setvar
eval $setvar
done
fi
-
: see if flock exists
set flock d_flock
eval $inlibc
: see how we will look up host name
echo " "
-if false; then
- : dummy stub to allow use of elif
-elif set gethostname val -f d_gethname; eval $csym; $val; then
+call=''
+if set gethostname val -f d_gethname; eval $csym; $val; then
echo 'gethostname() found.' >&4
d_gethname="$define"
call=gethostname
-elif set uname val -f d_uname; eval $csym; $val; then
+fi
+if set uname val -f d_uname; eval $csym; $val; then
if ./xenix; then
$cat <<'EOM'
uname() was found, but you're running xenix, and older versions of xenix
else
echo 'uname() found.' >&4
d_uname="$define"
- call=uname
+ case "$call" in
+ '') call=uname ;;
+ esac
fi
fi
case "$d_gethname" in
false) dflt='n';;
*) dflt='y';;
esac
- rp="Some systems have problems with vfork(). Do you want to use it?"
+ cat <<'EOM'
+
+Perl can only use a vfork() that doesn't suffer from strict
+restrictions on calling functions or modifying global data in
+the child. For example, glibc-2.1 contains such a vfork()
+that is unsuitable. If your system provides a proper fork()
+call, chances are that you do NOT want perl to use vfork().
+
+EOM
+ rp="Do you still want to use vfork()?"
. ./myread
case "$ans" in
y|Y) ;;
esac
case "$osname" in
-next) multiarch="$define" ;;
+next|rhapsody) multiarch="$define" ;;
esac
case "$multiarch" in
''|[nN]*) multiarch="$undef" ;;
: Trace out the files included by signal.h, then look for SIGxxx names.
: Remove SIGARRAYSIZE used by HPUX.
+: Remove SIGSTKSIZE used by Linux.
+: Remove SIGSTKSZ used by Posix.
: Remove SIGTYP void lines used by OS2.
xxx=`echo '#include <signal.h>' |
$cppstdin $cppminus $cppflags 2>/dev/null |
'') xxxfiles=`./findhdr signal.h` ;;
esac
xxx=`awk '
-$1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $2 !~ /SIGARRAYSIZE/ && $3 !~ /void/ {
+$1 ~ /^#define$/ && $2 ~ /^SIG[A-Z0-9]*$/ && $2 !~ /SIGARRAYSIZE/ && $2 !~ /SIGSTKSIZE/ && $2 !~ /SIGSTKSZ/ && $3 !~ /void/ {
print substr($2, 4, 20)
}
$1 == "#" && $2 ~ /^define$/ && $3 ~ /^SIG[A-Z0-9]*$/ && $3 !~ /SIGARRAYSIZE/ && $4 !~ /void/ {
sig_name[$2] = $1
sig_num[$2] = $2
}
-
}
END {
- if (nsig == 0) { nsig = maxsig + 1 }
- for (n = 1; n < nsig; n++) {
- if (sig_name[n]) {
- printf("%s %d\n", sig_name[n], sig_num[n])
- }
- else {
- printf("NUM%d %d\n", n, n)
- }
+ if (nsig == 0) {
+ nsig = maxsig + 1
+ }
+ printf("NSIG %d\n", nsig);
+ for (n = 1; n < nsig; n++) {
+ if (sig_name[n]) {
+ printf("%s %d\n", sig_name[n], sig_num[n])
}
+ else {
+ printf("NUM%d %d\n", n, n)
+ }
+ }
for (n = 0; n < ndups; n++) {
- printf("%s %d\n", dup_name[n], dup_num[n])
+ printf("%s %d\n", dup_name[n], dup_num[n])
}
}
EOP
0) set HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM;;
esac
echo $@ | $tr ' ' $trnl | \
- $awk '{ printf $1; printf " %d\n", ++s; }' >signal.lst
+ $awk '{ printf "%s %d\n", $1, ++s; }
+ END { printf "NSIG %d\n", ++s }' >signal.lst
fi
$rm -f signal.c signal$_exe signal$_o signal.nsg signal.ls1
EOS
yes)
echo "Generating a list of signal names and numbers..." >&4
. ./signal_cmd
- sig_name=`$awk '{printf "%s ", $1}' signal.lst`
- sig_name="ZERO $sig_name"
- sig_name_init=`$awk 'BEGIN { printf "\"ZERO\", " }
- { printf "\"%s\", ", $1 }
- END { printf "0\n" }' signal.lst`
- sig_num=`$awk '{printf "%d ", $2}' signal.lst`
- sig_num="0 $sig_num"
- sig_num_init=`$awk 'BEGIN { printf "0, " }
- { printf "%d, ", $2}
- END { printf "0\n"}' signal.lst`
- ;;
-esac
-echo "The following signals are available:"
+ sig_count=`$awk '/^NSIG/ { printf "%d", $2 }' signal.lst`
+ sig_name=`$awk 'BEGIN { printf "ZERO " }
+ !/^NSIG/ { printf "%s ", $1 }' signal.lst`
+ sig_num=`$awk 'BEGIN { printf "0 " }
+ !/^NSIG/ { printf "%d ", $2 }' signal.lst`
+ sig_name_init=`$awk 'BEGIN { printf "\"ZERO\", " }
+ !/^NSIG/ { printf "\"%s\", ", $1 }
+ END { printf "0\n" }' signal.lst`
+ sig_num_init=`$awk 'BEGIN { printf "0, " }
+ !/^NSIG/ { printf "%d, ", $2}
+ END { printf "0\n"}' signal.lst`
+ ;;
+esac
+echo "The following $sig_count signals are available:"
echo " "
echo $sig_name | $awk \
'BEGIN { linelen = 0 }
done
$rm -f try.c
EOS
-unset postprocess_cc_v
+postprocess_cc_v=''
chmod +x ccsym
$eunicefix ccsym
./ccsym > ccsym1.raw
d_htonl='$d_htonl'
d_index='$d_index'
d_inetaton='$d_inetaton'
-d_ino64t='$d_ino64t'
+d_ino64_t='$d_ino64_t'
d_int64t='$d_int64t'
d_iovec_s='$d_iovec_s'
d_isascii='$d_isascii'
d_killpg='$d_killpg'
d_lchown='$d_lchown'
d_link='$d_link'
+d_llseek='$d_llseek'
d_locconv='$d_locconv'
d_lockf64='$d_lockf64'
d_lockf='$d_lockf'
d_mymalloc='$d_mymalloc'
d_nextkey64='$d_nextkey64'
d_nice='$d_nice'
-d_off64t='$d_off64t'
+d_off64_t='$d_off64_t'
+d_offset_t='$d_offset_t'
d_old_pthread_create_joinable='$d_old_pthread_create_joinable'
d_oldpthreads='$d_oldpthreads'
d_oldsock='$d_oldsock'
shortsize='$shortsize'
shrpenv='$shrpenv'
shsharp='$shsharp'
+sig_count='$sig_count'
sig_name='$sig_name'
sig_name_init='$sig_name_init'
sig_num='$sig_num'
: add special variables
$test -f $src/patchlevel.h && \
awk '/^#define[ ]+PERL_/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh
-echo "CONFIG=true" >>config.sh
+echo "CONFIGDOTSH=true" >>config.sh
: propagate old symbols
if $test -f UU/config.sh; then