# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Sun Mar 24 20:31:34 EET 2002 [metaconfig 3.0 PL70]
+# Generated on Sun Apr 14 18:24:18 EET DST 2002 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
;;
next*) osname=next ;;
nonstop-ux) osname=nonstopux ;;
+ openbsd) osname=openbsd
+ osvers="$3"
+ ;;
POSIX-BC | posix-bc ) osname=posix-bc
osvers="$3"
;;
case "$usethreads" in
$define|true|[yY]*) dflt='y';;
-*) dflt='n';;
+*) # Catch case where user specified ithreads or 5005threads but
+ # forgot -Dusethreads (A.D. 4/2002)
+ case "$useithreads$use5005threads" in
+ *$define*) dflt='y' ;;
+ *) dflt='n';;
+ esac
+ ;;
esac
cat <<EOM
set versiononly
eval $setvar
+case "$versiononly" in
+"$define") inc_version_list=''
+ inc_version_list_init=0
+ ;;
+esac
+
: figure out how to guarantee perl startup
case "$startperl" in
'')
set alarm d_alarm
eval $inlibc
+: see if POSIX threads are available
+set pthread.h i_pthread
+eval $inhdr
+
: define a fucntion to check prototypes
$cat > protochk <<EOSH
$startsh
prototype="$prototype"
define="$define"
rm=$rm
+usethreads=$usethreads
+i_pthread=$i_pthread
+pthread_h_first=$pthread_h_first
EOSH
$cat >> protochk <<'EOSH'
$define) echo "#include <$2>" >> try.c ;;
literal) echo "$2" >> try.c ;;
esac
+ # Extra magic for the benefit of systems that need pthread.h
+ # to be included early to correctly detect threadsafe functions.
+ # Such functions must guarantee themselves, though, that the usethreads
+ # and i_pthread have been defined, before calling protochk.
+ if test "$usethreads" = "$define" -a "$i_pthread" = "$define" -a "$pthread_h_first" = "$define" -a "$pthread_h_done" = ""; then
+ echo "#include <pthread.h>" >> try.c
+ pthread_h_done=yes
+ fi
shift 2
done
test "$prototype" = "$define" && echo '#define CAN_PROTOTYPE' >> try.c
eval $inlibc
case "$d_asctime_r" in
"$define")
- hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
- case "time" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
+ hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h"
case "$d_asctime_r_proto:$usethreads" in
":define") d_asctime_r_proto=define
set d_asctime_r_proto asctime_r $hdrs
case "$d_crypt_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_crypt crypt.h"
- case "crypt" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_crypt_r_proto:$usethreads" in
":define") d_crypt_r_proto=define
set d_crypt_r_proto crypt_r $hdrs
case "$d_ctermid_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h "
- case "stdio" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_ctermid_r_proto:$usethreads" in
":define") d_ctermid_r_proto=define
set d_ctermid_r_proto ctermid_r $hdrs
eval $inlibc
case "$d_ctime_r" in
"$define")
- hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
- case "time" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
+ hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h"
case "$d_ctime_r_proto:$usethreads" in
":define") d_ctime_r_proto=define
set d_ctime_r_proto ctime_r $hdrs
case "$d_drand48_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
- case "stdlib" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_drand48_r_proto:$usethreads" in
":define") d_drand48_r_proto=define
set d_drand48_r_proto drand48_r $hdrs
case "$d_endgrent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
- case "grp" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_endgrent_r_proto:$usethreads" in
":define") d_endgrent_r_proto=define
set d_endgrent_r_proto endgrent_r $hdrs
case "$d_endhostent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_endhostent_r_proto:$usethreads" in
":define") d_endhostent_r_proto=define
set d_endhostent_r_proto endhostent_r $hdrs
case "$d_endnetent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_endnetent_r_proto:$usethreads" in
":define") d_endnetent_r_proto=define
set d_endnetent_r_proto endnetent_r $hdrs
case "$d_endprotoent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_endprotoent_r_proto:$usethreads" in
":define") d_endprotoent_r_proto=define
set d_endprotoent_r_proto endprotoent_r $hdrs
case "$d_endpwent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
- case "pwd" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_endpwent_r_proto:$usethreads" in
":define") d_endpwent_r_proto=define
set d_endpwent_r_proto endpwent_r $hdrs
case "$d_endservent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_endservent_r_proto:$usethreads" in
":define") d_endservent_r_proto=define
set d_endservent_r_proto endservent_r $hdrs
case "$d_getgrent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
- case "grp" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getgrent_r_proto:$usethreads" in
":define") d_getgrent_r_proto=define
set d_getgrent_r_proto getgrent_r $hdrs
case "$d_getgrgid_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
- case "grp" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getgrgid_r_proto:$usethreads" in
":define") d_getgrgid_r_proto=define
set d_getgrgid_r_proto getgrgid_r $hdrs
case "$d_getgrnam_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
- case "grp" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getgrnam_r_proto:$usethreads" in
":define") d_getgrnam_r_proto=define
set d_getgrnam_r_proto getgrnam_r $hdrs
case "$d_gethostbyaddr_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_gethostbyaddr_r_proto:$usethreads" in
":define") d_gethostbyaddr_r_proto=define
set d_gethostbyaddr_r_proto gethostbyaddr_r $hdrs
case "$d_gethostbyname_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_gethostbyname_r_proto:$usethreads" in
":define") d_gethostbyname_r_proto=define
set d_gethostbyname_r_proto gethostbyname_r $hdrs
case "$d_gethostent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_gethostent_r_proto:$usethreads" in
":define") d_gethostent_r_proto=define
set d_gethostent_r_proto gethostent_r $hdrs
case "$d_getlogin_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h"
- case "unistd" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getlogin_r_proto:$usethreads" in
":define") d_getlogin_r_proto=define
set d_getlogin_r_proto getlogin_r $hdrs
case "$d_getnetbyaddr_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getnetbyaddr_r_proto:$usethreads" in
":define") d_getnetbyaddr_r_proto=define
set d_getnetbyaddr_r_proto getnetbyaddr_r $hdrs
case "$d_getnetbyname_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getnetbyname_r_proto:$usethreads" in
":define") d_getnetbyname_r_proto=define
set d_getnetbyname_r_proto getnetbyname_r $hdrs
case "$d_getnetent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getnetent_r_proto:$usethreads" in
":define") d_getnetent_r_proto=define
set d_getnetent_r_proto getnetent_r $hdrs
case "$d_getprotobyname_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getprotobyname_r_proto:$usethreads" in
":define") d_getprotobyname_r_proto=define
set d_getprotobyname_r_proto getprotobyname_r $hdrs
case "$d_getprotobynumber_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getprotobynumber_r_proto:$usethreads" in
":define") d_getprotobynumber_r_proto=define
set d_getprotobynumber_r_proto getprotobynumber_r $hdrs
case "$d_getprotoent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getprotoent_r_proto:$usethreads" in
":define") d_getprotoent_r_proto=define
set d_getprotoent_r_proto getprotoent_r $hdrs
case "$d_getpwent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
- case "pwd" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getpwent_r_proto:$usethreads" in
":define") d_getpwent_r_proto=define
set d_getpwent_r_proto getpwent_r $hdrs
case "$d_getpwnam_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
- case "pwd" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getpwnam_r_proto:$usethreads" in
":define") d_getpwnam_r_proto=define
set d_getpwnam_r_proto getpwnam_r $hdrs
case "$d_getpwuid_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
- case "pwd" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getpwuid_r_proto:$usethreads" in
":define") d_getpwuid_r_proto=define
set d_getpwuid_r_proto getpwuid_r $hdrs
case "$d_getservbyname_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getservbyname_r_proto:$usethreads" in
":define") d_getservbyname_r_proto=define
set d_getservbyname_r_proto getservbyname_r $hdrs
case "$d_getservbyport_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getservbyport_r_proto:$usethreads" in
":define") d_getservbyport_r_proto=define
set d_getservbyport_r_proto getservbyport_r $hdrs
case "$d_getservent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getservent_r_proto:$usethreads" in
":define") d_getservent_r_proto=define
set d_getservent_r_proto getservent_r $hdrs
case "$d_getspnam_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_shadow shadow.h"
- case "shadow" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_getspnam_r_proto:$usethreads" in
":define") d_getspnam_r_proto=define
set d_getspnam_r_proto getspnam_r $hdrs
eval $inlibc
case "$d_gmtime_r" in
"$define")
- hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
- case "time" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
+ hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h"
case "$d_gmtime_r_proto:$usethreads" in
":define") d_gmtime_r_proto=define
set d_gmtime_r_proto gmtime_r $hdrs
eval $inlibc
case "$d_localtime_r" in
"$define")
- hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h"
- case "time" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
+ hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h"
case "$d_localtime_r_proto:$usethreads" in
":define") d_localtime_r_proto=define
set d_localtime_r_proto localtime_r $hdrs
set d_off64_t
eval $setvar
-: see if POSIX threads are available
-set pthread.h i_pthread
-eval $inhdr
-
-
-
-
: how to create joinable pthreads
if test "X$usethreads" = "X$define" -a "X$i_pthread" = "X$define"; then
echo " "
case "$d_random_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
- case "stdlib" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_random_r_proto:$usethreads" in
":define") d_random_r_proto=define
set d_random_r_proto random_r $hdrs
case "$d_readdir64_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h"
- case "dirent" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_readdir64_r_proto:$usethreads" in
":define") d_readdir64_r_proto=define
set d_readdir64_r_proto readdir64_r $hdrs
case "$d_readdir_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h"
- case "dirent" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_readdir_r_proto:$usethreads" in
":define") d_readdir_r_proto=define
set d_readdir_r_proto readdir_r $hdrs
case "$d_setgrent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h"
- case "grp" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_setgrent_r_proto:$usethreads" in
":define") d_setgrent_r_proto=define
set d_setgrent_r_proto setgrent_r $hdrs
case "$d_sethostent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_sethostent_r_proto:$usethreads" in
":define") d_sethostent_r_proto=define
set d_sethostent_r_proto sethostent_r $hdrs
case "$d_setlocale_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_locale locale.h"
- case "locale" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_setlocale_r_proto:$usethreads" in
":define") d_setlocale_r_proto=define
set d_setlocale_r_proto setlocale_r $hdrs
case "$d_setnetent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_setnetent_r_proto:$usethreads" in
":define") d_setnetent_r_proto=define
set d_setnetent_r_proto setnetent_r $hdrs
case "$d_setprotoent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_setprotoent_r_proto:$usethreads" in
":define") d_setprotoent_r_proto=define
set d_setprotoent_r_proto setprotoent_r $hdrs
case "$d_setpwent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
- case "pwd" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_setpwent_r_proto:$usethreads" in
":define") d_setpwent_r_proto=define
set d_setpwent_r_proto setpwent_r $hdrs
case "$d_setservent_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h"
- case "netdb" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_setservent_r_proto:$usethreads" in
":define") d_setservent_r_proto=define
set d_setservent_r_proto setservent_r $hdrs
case "$d_srand48_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
- case "stdlib" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_srand48_r_proto:$usethreads" in
":define") d_srand48_r_proto=define
set d_srand48_r_proto srand48_r $hdrs
case "$d_srandom_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h"
- case "stdlib" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_srandom_r_proto:$usethreads" in
":define") d_srandom_r_proto=define
set d_srandom_r_proto srandom_r $hdrs
case "$d_strerror_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_string string.h"
- case "string" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_strerror_r_proto:$usethreads" in
":define") d_strerror_r_proto=define
set d_strerror_r_proto strerror_r $hdrs
set d_telldirproto telldir $i_systypes sys/types.h $i_dirent dirent.h
eval $hasproto
+: see if time exists
+echo " "
+if test "X$d_time" = X -o X"$timetype" = X; then
+ if set time val -f d_time; eval $csym; $val; then
+ echo 'time() found.' >&4
+ val="$define"
+ rp="What is the type returned by time() on this system?"
+ set time_t timetype long stdio.h sys/types.h
+ eval $typedef_ask
+ else
+ echo 'time() not found, hope that will do.' >&4
+ val="$undef"
+ timetype='int';
+ fi
+ set d_time
+ eval $setvar
+fi
+
: see if this is a sys/times.h system
set sys/times.h i_systimes
eval $inhdr
case "$d_tmpnam_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h "
- case "stdio" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_tmpnam_r_proto:$usethreads" in
":define") d_tmpnam_r_proto=define
set d_tmpnam_r_proto tmpnam_r $hdrs
case "$d_ttyname_r" in
"$define")
hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h"
- case "unistd" in
- time)
- hdrs="$hdrs $i_systime sys/time.h"
- ;;
- esac
case "$d_ttyname_r_proto:$usethreads" in
":define") d_ttyname_r_proto=define
set d_ttyname_r_proto ttyname_r $hdrs
-: see if time exists
-echo " "
-if test "X$d_time" = X -o X"$timetype" = X; then
- if set time val -f d_time; eval $csym; $val; then
- echo 'time() found.' >&4
- val="$define"
- rp="What is the type returned by time() on this system?"
- set time_t timetype long stdio.h sys/types.h
- eval $typedef_ask
- else
- echo 'time() not found, hope that will do.' >&4
- val="$undef"
- timetype='int';
- fi
- set d_time
- eval $setvar
-fi
-
: see what type uids are declared as in the kernel
echo " "
echo "Looking for the type for user ids returned by getuid()."
# Special case: Add in threads/shared since it is not picked up by the
# recursive find above (and adding in general recursive finding breaks
# SDBM_File/sdbm). A.D. 10/25/2001.
-# Encode::XX need explicit mentions for the same reason.
-# --jhi 2002-03-04
-known_extensions="$known_extensions threads/shared Encode/CN Encode/JP Encode/KR Encode/TW"
+known_extensions="$known_extensions threads/shared"
set X $nonxs_extensions
shift
nonxs_extensions="$*"
: Exclude those that are not xs extensions
case "$dflt" in
'') dflt=none;;
+ *) case " $dflt " in
+ *" Encode "*) # Add the subextensions of Encode
+ cd "$rsrc/ext"
+ for xxx in `ls Encode/*/Makefile.PL|awk -F/ '{print $2}'`; do
+ dflt="$dflt Encode/$xxx"
+ done
+ cd "$tdir"
+ ;;
+ esac
+ ;;
esac
rp="What extensions do you wish to include?"
. ./myread