# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Thu Nov 12 19:00:08 EET 1998 [metaconfig 3.0 PL70]
+# Generated on Thu Dec 3 10:57:23 EET 1998 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by jhi@iki.fi)
cat >/tmp/c1$$ <<EOF
d_pipe=''
d_poll=''
d_portable=''
-d_pthread_create_joinable=''
-pthread_create_joinable=''
+d_old_pthread_create_joinable=''
+old_pthread_create_joinable=''
d_pthread_yield=''
d_sched_yield=''
sched_yield=''
d_seekdir=''
d_telldir=''
d_readlink=''
+d_readv=''
d_rename=''
d_rmdir=''
d_safebcpy=''
d_shmget=''
d_sigaction=''
d_sigsetjmp=''
+d_cmsghdr_s=''
+d_msg_ctrunc=''
+d_msg_dontroute=''
+d_msg_oob=''
+d_msg_peek=''
+d_msg_proxy=''
+d_msghdr_s=''
d_oldsock=''
+d_recvmsg=''
+d_scm_rights=''
+d_sendmsg=''
d_socket=''
d_sockpair=''
sockethdr=''
d_waitpid=''
d_wcstombs=''
d_wctomb=''
+d_writev=''
d_dbmclose64=''
d_dbminit64=''
d_delete64=''
i_neterrno=''
i_niin=''
i_sysin=''
+i_poll=''
d_pwage=''
d_pwchange=''
d_pwclass=''
i_sysstat=''
i_systimes=''
i_systypes=''
+d_iovec_s=''
+i_sysuio=''
i_sysun=''
i_syswait=''
i_sgtty=''
intsize=''
longsize=''
shortsize=''
-d_dirent64s=''
-d_flock64s=''
+d_dirent64_s=''
+d_flock64_s=''
d_fstat64=''
d_ftruncate64=''
d_ino64t=''
I've tried to compile and run the following simple program:
EOM
-$cat try.c
+$cat try.c >> try.msg
$cat >> try.msg <<EOM
esac
: Try to guess additional flags to pick up local libraries.
+ : Be careful not to append to a plain 'none'
+ case "$dflt" in
+ none) dflt='' ;;
+ esac
for thisflag in $ldflags; do
case "$thisflag" in
-L*)
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\`; export $xxx
+ $xxx=\`pwd\`:\$$xxx; export $xxx
for Bourne-style shells, or
setenv $xxx \`pwd\`
for Csh-style shells. You *MUST* do this before running make.
set chsize d_chsize
eval $inlibc
+hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift;
+while $test $# -ge 2; do
+ case "$1" in
+ $define) echo "#include <$2>";;
+ esac ;
+ 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
+ val="$define";
+else
+ val="$undef";
+fi;
+set $varname;
+eval $setvar;
+$rm -f try.c try.o'
+
+: see if this is a sys/uio.h system
+set sys/uio.h i_sysuio
+eval $inhdr
+
+echo "Checking to see if your system supports struct iovec..." >&4
+set d_iovec_s iovec iov_base $i_sysuio sys/uio.h
+eval $hasfield
+case "$d_iovec_s" in
+"$define") echo "Yup, it does." >&4
+ ;;
+*) echo "Nope, it doesn't." >&4
+ ;;
+esac
+
+socketlib=''
+sockethdr=''
+: see whether socket exists
+echo " "
+$echo $n "Hmm... $c" >&4
+if set socket val -f d_socket; eval $csym; $val; then
+ echo "Looks like you have Berkeley networking support." >&4
+ d_socket="$define"
+ if set setsockopt val -f; eval $csym; $val; then
+ d_oldsock="$undef"
+ else
+ echo "...but it uses the old BSD 4.1c interface, rather than 4.2." >&4
+ d_oldsock="$define"
+ fi
+else
+ if $contains socklib libc.list >/dev/null 2>&1; then
+ echo "Looks like you have Berkeley networking support." >&4
+ d_socket="$define"
+ : we will have to assume that it supports the 4.2 BSD interface
+ d_oldsock="$undef"
+ else
+ echo "You don't have Berkeley networking in libc$_a..." >&4
+ if test "X$d_socket" = "X$define"; then
+ echo "...but you seem to believe that you have sockets." >&4
+ else
+ for net in net socket
+ do
+ if test -f /usr/lib/lib$net$_a; then
+ ( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) || \
+ $ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list
+ if $contains socket libc.list >/dev/null 2>&1; then
+ d_socket="$define"
+ socketlib="-l$net"
+ case "$net" in
+ net)
+ echo "...but the Wollongong group seems to have hacked it in." >&4
+ sockethdr="-I/usr/netinclude"
+ ;;
+ esac
+ echo "Found Berkeley sockets interface in lib$net." >& 4
+ if $contains setsockopt libc.list >/dev/null 2>&1; then
+ d_oldsock="$undef"
+ else
+ echo "...using the old BSD 4.1c interface, rather than 4.2." >&4
+ d_oldsock="$define"
+ fi
+ break
+ fi
+ fi
+ done
+ if test "X$d_socket" != "X$define"; then
+ echo "or anywhere else I see." >&4
+ d_socket="$undef"
+ d_oldsock="$undef"
+ fi
+ fi
+ fi
+fi
+
+: see if socketpair exists
+set socketpair d_sockpair
+eval $inlibc
+
+
+echo " "
+echo "Checking the availability of certain socket constants..." >& 4
+for ENUM in MSG_CTRUNC MSG_DONTROUTE MSG_OOB MSG_PEEK MSG_PROXY SCM_RIGHTS; do
+ enum=`$echo $ENUM|./tr '[A-Z]' '[a-z]'`
+ $cat >try.c <<EOF
+#include <sys/types.h>
+#include <sys/socket.h>
+int main() {
+ int i = $ENUM;
+}
+EOF
+ val="$undef"
+ set try; if eval $compile; then
+ val="$define"
+ fi
+ set d_${enum}; eval $setvar
+ $rm -f try.c try
+done
+
+set sendmsg d_sendmsg
+eval $inlibc
+
+set recvmsg d_recvmsg
+eval $inlibc
+
+echo " "
+$echo $n "Checking to see if your system supports struct msghdr...$c" >&4
+set d_msghdr_s msghdr msg_name define sys/types.h $d_socket sys/socket.h $i_sysuio sys/uio.h
+eval $hasfield
+case "$d_msghdr_s" in
+"$define") echo "Yup, it does." >&4
+ ;;
+*) echo "Nope, it doesn't." >&4
+ ;;
+esac
+
+$echo $n "Checking to see if your system supports struct cmsghdr...$c" >&4
+set d_cmsghdr_s cmsghdr cmsg_len define sys/types.h $d_socket sys/socket.h $i_sysuio sys/uio.h
+eval $hasfield
+case "$d_cmsghdr_s" in
+"$define") echo "Yup, it does." >&4
+ ;;
+*) echo "Nope, it doesn't." >&4
+ ;;
+esac
+
: check for const keyword
echo " "
echo 'Checking to see if your C compiler knows about "const"...' >&4
eval $setvar
$rm -f try.c
-hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift;
-while $test $# -ge 2; do
- case "$1" in
- $define) echo "#include <$2>";;
- esac ;
- 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
- val="$define";
-else
- val="$undef";
-fi;
-set $varname;
-eval $setvar;
-$rm -f try.c try.o'
-
if $test X"$use64bits" = X"$define"; then
: see if fstat64 exists
echo " "
echo "Checking to see if your system supports struct flock64..." >&4
if $h_fcntl; then
- set d_flock64s flock64 l_len define fcntl.h
+ set d_flock64_s flock64 l_len define fcntl.h
eval $hasfield
else
val="$undef"
- set d_flock64s
+ set d_flock64_s
eval $setvar
fi
- case "$d_flock64s" in
+ case "$d_flock64_s" in
"$define") echo "Yup, it does." >&4
;;
*) echo "Nope, it doesn't." >&4
: check for struct dirent64
echo " "
echo "Checking to see if your system supports struct dirent64..." >&4
- set d_dirent64s dirent64 d_off $i_dirent dirent.h
+ set d_dirent64_s dirent64 d_off $i_dirent dirent.h
eval $hasfield
- case "$d_flock64s" in
+ case "$d_dirent64_s" in
"$define") echo "Yup, it does." >&4
;;
*) echo "Nope, it doesn't." >&4
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_flock64s d_dirent64s
+ 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
do
set $xxx
eval $setvar
set fcntl d_fcntl
eval $inlibc
-socketlib=''
-sockethdr=''
-: see whether socket exists
-echo " "
-$echo $n "Hmm... $c" >&4
-if set socket val -f d_socket; eval $csym; $val; then
- echo "Looks like you have Berkeley networking support." >&4
- d_socket="$define"
- if set setsockopt val -f; eval $csym; $val; then
- d_oldsock="$undef"
- else
- echo "...but it uses the old BSD 4.1c interface, rather than 4.2" >&4
- d_oldsock="$define"
- fi
-else
- if $contains socklib libc.list >/dev/null 2>&1; then
- echo "Looks like you have Berkeley networking support." >&4
- d_socket="$define"
- : we will have to assume that it supports the 4.2 BSD interface
- d_oldsock="$undef"
- else
- echo "You don't have Berkeley networking in libc$_a..." >&4
- if test "X$d_socket" = "X$define"; then
- echo "...but you seem to believe that you have sockets." >&4
- else
- for net in net socket
- do
- if test -f /usr/lib/lib$net$_a; then
- ( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) || \
- $ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list
- if $contains socket libc.list >/dev/null 2>&1; then
- d_socket="$define"
- socketlib="-l$net"
- case "$net" in
- net)
- echo "...but the Wollongong group seems to have hacked it in." >&4
- sockethdr="-I/usr/netinclude"
- ;;
- esac
- echo "Found Berkeley sockets interface in lib$net." >& 4
- if $contains setsockopt libc.list >/dev/null 2>&1; then
- d_oldsock="$undef"
- else
- echo "...using the old BSD 4.1c interface, rather than 4.2." >&4
- d_oldsock="$define"
- fi
- break
- fi
- fi
- done
- if test "X$d_socket" != "X$define"; then
- echo "or anywhere else I see." >&4
- d_socket="$undef"
- d_oldsock="$undef"
- fi
- fi
- fi
-fi
-
-: see if socketpair exists
-set socketpair d_sockpair
-eval $inlibc
-
: see if sys/select.h has to be included
set sys/select.h i_sysselct
eval $inhdr
set nice d_nice
eval $inlibc
-: see if pause exists
-set pause d_pause
-eval $inlibc
-
-: see if pipe exists
-set pipe d_pipe
-eval $inlibc
-
-: see if poll exists
-set poll d_poll
-eval $inlibc
-
: how to create joinable pthreads
if test "X$usethreads" = "X$define"; then
echo " "
set try -DJOINABLE=PTHREAD_CREATE_JOINABLE
if eval $compile; then
echo "You seem to use PTHREAD_CREATE_JOINABLE." >&2
- val="$undef"
- set d_pthread_create_joinable
+ val="$undef" # Yes, undef.
+ set d_old_pthread_create_joinable
eval $setvar
- val=0
- set pthread_create_joinable
+ val=""
+ set old_pthread_create_joinable
eval $setvar
else
set try -DJOINABLE=PTHREAD_CREATE_UNDETACHED
if eval $compile; then
echo "You seem to use PTHREAD_CREATE_UNDETACHED." >&2
val="$define"
- set d_pthread_create_joinable
+ set d_old_pthread_create_joinable
eval $setvar
val=PTHREAD_CREATE_UNDETACHED
- set pthread_create_joinable
+ set old_pthread_create_joinable
eval $setvar
else
set try -DJOINABLE=__UNDETACHED
if eval $compile; then
echo "You seem to use __UNDETACHED." >&2
val="$define"
- set d_pthread_create_joinable
+ set d_old_pthread_create_joinable
eval $setvar
val=__UNDETACHED
- set pthread_create_joinable
+ set old_pthread_create_joinable
eval $setvar
else
echo "Egads, nothing obvious found. Guessing that you use 0." >&2
val="$define"
- set d_pthread_create_joinable
+ set d_old_pthread_create_joinable
eval $setvar
val=0
- set pthread_create_joinable
+ set old_pthread_create_joinable
eval $setvar
fi
fi
fi
$rm -f try try.*
else
- d_pthread_create_joinable="$undef"
- pthread_create_joinable=0
+ d_old_pthread_create_joinable="$undef"
+ old_pthread_create_joinable=""
fi
+: see if pause exists
+set pause d_pause
+eval $inlibc
+
+: see if pipe exists
+set pipe d_pipe
+eval $inlibc
+
+: see if poll exists
+set poll d_poll
+eval $inlibc
+
: see whether the various POSIXish _yields exist
$cat >try.c <<EOP
set readlink d_readlink
eval $inlibc
+: see if readv exists
+set readv d_readv
+eval $inlibc
+
: see if rename exists
set rename d_rename
eval $inlibc
set wctomb d_wctomb
eval $inlibc
+: see if writev exists
+set writev d_writev
+eval $inlibc
+
: preserve RCS keywords in files with variable substitution, grrr
Date='$Date'
Id='$Id'
: 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
if set $ans val -f; eval $csym; $val; then
cont=''
else
- dflt=n
- rp="Function $ans does not exists. Use that name anyway?"
+ dflt=y
+ rp="I cannot find function $ans. Use that name anyway?"
. ./myread
dflt=rand
case "$ans" in
set i_neterrno
eval $setvar
+: see if this is a poll.h system
+set poll.h i_poll
+eval $inhdr
+
: get C preprocessor symbols handy
echo " "
$echo $n "Hmm... $c"
d_chroot='$d_chroot'
d_chsize='$d_chsize'
d_closedir='$d_closedir'
+d_cmsghdr_s='$d_cmsghdr_s'
d_const='$d_const'
d_crypt='$d_crypt'
d_csh='$d_csh'
d_dbminit64='$d_dbminit64'
d_delete64='$d_delete64'
d_difftime='$d_difftime'
-d_dirent64s='$d_dirent64s'
+d_dirent64_s='$d_dirent64_s'
d_dirnamlen='$d_dirnamlen'
d_dlerror='$d_dlerror'
d_dlopen='$d_dlopen'
d_fgetpos='$d_fgetpos'
d_firstkey64='$d_firstkey64'
d_flexfnam='$d_flexfnam'
-d_flock64s='$d_flock64s'
+d_flock64_s='$d_flock64_s'
d_flock='$d_flock'
d_fopen64='$d_fopen64'
d_fork='$d_fork'
d_inetaton='$d_inetaton'
d_ino64t='$d_ino64t'
d_int64t='$d_int64t'
+d_iovec_s='$d_iovec_s'
d_isascii='$d_isascii'
d_killpg='$d_killpg'
d_lchown='$d_lchown'
d_mkfifo='$d_mkfifo'
d_mktime='$d_mktime'
d_msg='$d_msg'
+d_msg_ctrunc='$d_msg_ctrunc'
+d_msg_dontroute='$d_msg_dontroute'
+d_msg_oob='$d_msg_oob'
+d_msg_peek='$d_msg_peek'
+d_msg_proxy='$d_msg_proxy'
d_msgctl='$d_msgctl'
d_msgget='$d_msgget'
+d_msghdr_s='$d_msghdr_s'
d_msgrcv='$d_msgrcv'
d_msgsnd='$d_msgsnd'
d_mymalloc='$d_mymalloc'
d_nextkey64='$d_nextkey64'
d_nice='$d_nice'
d_off64t='$d_off64t'
+d_old_pthread_create_joinable='$d_old_pthread_create_joinable'
d_oldpthreads='$d_oldpthreads'
d_oldsock='$d_oldsock'
d_open3='$d_open3'
d_pipe='$d_pipe'
d_poll='$d_poll'
d_portable='$d_portable'
-d_pthread_create_joinable='$d_pthread_create_joinable'
d_pthread_yield='$d_pthread_yield'
d_pwage='$d_pwage'
d_pwchange='$d_pwchange'
d_readdir64='$d_readdir64'
d_readdir='$d_readdir'
d_readlink='$d_readlink'
+d_readv='$d_readv'
+d_recvmsg='$d_recvmsg'
d_rename='$d_rename'
d_rewinddir='$d_rewinddir'
d_rmdir='$d_rmdir'
d_safemcpy='$d_safemcpy'
d_sanemcmp='$d_sanemcmp'
d_sched_yield='$d_sched_yield'
+d_scm_rights='$d_scm_rights'
d_seekdir64='$d_seekdir64'
d_seekdir='$d_seekdir'
d_select='$d_select'
d_semctl_semun='$d_semctl_semun'
d_semget='$d_semget'
d_semop='$d_semop'
+d_sendmsg='$d_sendmsg'
d_setegid='$d_setegid'
d_seteuid='$d_seteuid'
d_setgrent='$d_setgrent'
d_waitpid='$d_waitpid'
d_wcstombs='$d_wcstombs'
d_wctomb='$d_wctomb'
+d_writev='$d_writev'
d_xenix='$d_xenix'
date='$date'
db_hashtype='$db_hashtype'
i_netdb='$i_netdb'
i_neterrno='$i_neterrno'
i_niin='$i_niin'
+i_poll='$i_poll'
i_pwd='$i_pwd'
i_rpcsvcdbm='$i_rpcsvcdbm'
i_sfio='$i_sfio'
i_systimek='$i_systimek'
i_systimes='$i_systimes'
i_systypes='$i_systypes'
+i_sysuio='$i_sysuio'
i_sysun='$i_sysun'
i_syswait='$i_syswait'
i_termio='$i_termio'
nroff='$nroff'
o_nonblock='$o_nonblock'
obj_ext='$obj_ext'
+old_pthread_create_joinable='$old_pthread_create_joinable'
optimize='$optimize'
orderlib='$orderlib'
osname='$osname'
privlib='$privlib'
privlibexp='$privlibexp'
prototype='$prototype'
-pthread_create_joinable='$pthread_create_joinable'
ptrsize='$ptrsize'
randbits='$randbits'
randfunc='$randfunc'