diff options
author | Andy Dougherty <doughera@lafayette.edu> | 1998-07-01 19:07:50 -0400 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-07-04 05:15:05 +0000 |
commit | bfb7748a896459ccb0c0ef1926f04b74a100641e (patch) | |
tree | c39b5598f02902c457a8477126083dcf45c709b3 /Configure | |
parent | 105f9295f78e59680043922daac4ef6085834045 (diff) | |
download | perl-bfb7748a896459ccb0c0ef1926f04b74a100641e.tar.gz |
Configure update
Message-Id: <9807020307.AA17848@newton.phys.lafayette.edu>
Subject: [PATCH 5.004_69] Config_69-01
p4raw-id: //depot/perl@1295
Diffstat (limited to 'Configure')
-rwxr-xr-x | Configure | 612 |
1 files changed, 305 insertions, 307 deletions
@@ -20,7 +20,8 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Tue Jun 9 14:56:54 EDT 1998 [metaconfig 3.0 PL70] +# Generated on Wed Jul 1 12:16:14 EDT 1998 [metaconfig 3.0 PL70] +# (with additional metaconfig patches by doughera@lafayette.edu) cat >/tmp/c1$$ <<EOF ARGGGHHHH!!!!! @@ -138,16 +139,25 @@ true) ;; esac +: if needed set CDPATH to a harmless value that is not chatty +: avoid bash 2.02 problems with empty CDPATH. +case "$CDPATH" in +'') ;; +*) case "$SHELL" in + *bash*) CDPATH='.' ;; + *) CDPATH='' ;; + esac + ;; +esac : Configure runs within the UU subdirectory test -d UU || mkdir UU -CDPATH='.' cd UU && rm -f ./* dynamic_ext='' extensions='' known_extensions='' -static_ext='' nonxs_ext='' +static_ext='' useopcode='' useposix='' d_bsd='' @@ -376,7 +386,6 @@ d_memmove='' d_memset='' d_mkdir='' d_mkfifo='' -d_mknod='' d_mktime='' d_msg='' d_msgctl='' @@ -590,7 +599,6 @@ plibpth='' xlibpth='' libs='' lns='' -devtype='' lseektype='' make_set_make='' d_mymalloc='' @@ -635,8 +643,10 @@ ranlib='' package='' spackage='' pager='' +apiversion='' patchlevel='' subversion='' +version='' perladmin='' perlpath='' pidtype='' @@ -789,9 +799,6 @@ plibpth='' : default library list libswanted='' -: full support for void wanted by default -defvoidused=15 - : Possible local include directories to search. : Set locincpth to "" in a hint file to defeat local include searches. locincpth="/usr/local/include /opt/local/include /usr/gnu/include" @@ -805,6 +812,9 @@ _exe='' : Extra object files, if any, needed on this platform. archobjs='' groupstype='' +: full support for void wanted by default +defvoidused=15 + : set useposix=false in your hint file to disable the POSIX extension. useposix=true : set useopcode=false in your hint file to disable the Opcode extension. @@ -857,7 +867,7 @@ case "$sh" in $me: Fatal Error: I can't find a Bourne Shell anywhere. Usually it's in /bin/sh. How did you even get this far? -Please contact me (Andy Dougherty) at doughera@lafcol.lafayette.edu and +Please contact me (Andy Dougherty) at doughera@lafayette.edu and we'll try to straighten this all out. EOM exit 1 @@ -1326,7 +1336,7 @@ THIS PACKAGE SEEMS TO BE INCOMPLETE. You have the option of continuing the configuration process, despite the distinct possibility that your kit is damaged, by typing 'y'es. If you do, don't blame me if something goes wrong. I advise you to type 'n'o -and contact the author (doughera@lafcol.lafayette.edu). +and contact the author (doughera@lafayette.edu). EOM echo $n "Continue? [n] $c" >&4 @@ -1527,7 +1537,7 @@ Much effort has been expended to ensure that this shell script will run on any Unix system. If despite that it blows up on yours, your best bet is to edit Configure and run it again. If you can't run Configure for some reason, you'll have to generate a config.sh file by hand. Whatever problems you -have, let me (doughera@lafcol.lafayette.edu) know how I blew it. +have, let me (doughera@lafayette.edu) know how I blew it. This installation script affects things in two ways: @@ -1850,7 +1860,7 @@ EOM (cd $src/hints; ls -C *.sh) | $sed 's/\.sh/ /g' >&4 dflt='' : Half the following guesses are probably wrong... If you have better - : tests or hints, please send them to doughera@lafcol.lafayette.edu + : tests or hints, please send them to doughera@lafayette.edu : The metaconfig authors would also appreciate a copy... $test -f /irix && osname=irix $test -f /xenix && osname=sco_xenix @@ -1940,14 +1950,7 @@ EOM osvers="$3" ;; genix) osname=genix ;; hp*) osname=hpux - case "$3" in - *.08.*) osvers=9 ;; - *.09.*) osvers=9 ;; - *.10.*) osvers=10 ;; - *.11.*) osvers=11 ;; - *.12.*) osvers=12 ;; - *) osvers="$3" ;; - esac + osvers=`echo "$3" | $sed 's,.*\.\([0-9]*\.[0-9]*\),\1,'` ;; irix*) osname=irix case "$3" in @@ -2704,12 +2707,53 @@ prefixit='case "$3" in esac;; esac' +: set the base revision +baserev=5.0 + +: get the patchlevel +echo " " +echo "Getting the current patchlevel..." >&4 +if $test -r $rsrc/patchlevel.h;then + patchlevel=`awk '/define[ ]+PATCHLEVEL/ {print $3}' $rsrc/patchlevel.h` + subversion=`awk '/define[ ]+SUBVERSION/ {print $3}' $rsrc/patchlevel.h` +else + patchlevel=0 + subversion=0 +fi +$echo $n "(You have $package" $c +case "$package" in +"*$baserev") ;; +*) $echo $n " $baserev" $c ;; +esac +$echo $n " patchlevel $patchlevel" $c +test 0 -eq "$subversion" || $echo $n " subversion $subversion" $c +echo ".)" + +if test 0 -eq "$subversion"; then + version=`LC_ALL=C; export LC_ALL; \ + echo $baserev $patchlevel | \ + $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'` +else + version=`LC_ALL=C; export LC_ALL; \ + echo $baserev $patchlevel $subversion | \ + $awk '{ printf "%.5f\n", $1 + $2/1000.0 + $3/100000.0 }'` +fi +: Figure out perl API version. Perhaps this should be in patchlevel.h +if test "$subversion" -lt 50; then + apiversion=`LC_ALL=C; export LC_ALL; \ + echo $baserev $patchlevel | \ + $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'` +else + apiversion="$version" +fi + : determine where private library files go -: Usual default is /usr/local/lib/perl5. Also allow things like -: /opt/perl/lib, since /opt/perl/lib/perl5 would be redundant. +: Usual default is /usr/local/lib/perl5/$version/share. +: Also allow things like /opt/perl/lib/$version/share, since +: /opt/perl/lib/perl5... would be redundant. case "$prefix" in -*perl*) set dflt privlib lib ;; -*) set dflt privlib lib/$package ;; +*perl*) set dflt privlib lib/$version/share ;; +*) set dflt privlib lib/$package/$version/share ;; esac eval $prefixit $cat <<EOM @@ -2746,28 +2790,6 @@ else installprivlib="$privlibexp" fi -: set the base revision -baserev=5.0 - -: get the patchlevel -echo " " -echo "Getting the current patchlevel..." >&4 -if $test -r $rsrc/patchlevel.h;then - patchlevel=`awk '/define[ ]+PATCHLEVEL/ {print $3}' $rsrc/patchlevel.h` - subversion=`awk '/define[ ]+SUBVERSION/ {print $3}' $rsrc/patchlevel.h` -else - patchlevel=0 - subversion=0 -fi -$echo $n "(You have $package" $c -case "$package" in -"*$baserev") ;; -*) $echo $n " $baserev" $c ;; -esac -$echo $n " patchlevel $patchlevel" $c -test 0 -eq "$subversion" || $echo $n " subversion $subversion" $c -echo ".)" - : set the prefixup variable, to restore leading tilda escape prefixup='case "$prefixexp" in "$prefix") ;; @@ -2777,28 +2799,14 @@ esac' : determine where public architecture dependent libraries go set archlib archlib eval $prefixit +: privlib default is /usr/local/lib/$package/$version/share +: archlib default is /usr/local/lib/$package/$version/$archname +tdflt=`echo $privlib | $sed 's,/share$,,'` +tdflt=$tdflt/$archname case "$archlib" in -'') - case "$privlib" in - '') dflt=`./loc . "." $prefixexp/lib /usr/local/lib /usr/lib /lib` - set dflt - eval $prefixup +'') dflt=$tdflt ;; - *) if test 0 -eq "$subversion"; then - version=`LC_ALL=C; export LC_ALL; \ - echo $baserev $patchlevel | \ - $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'` - else - version=`LC_ALL=C; export LC_ALL; \ - echo $baserev $patchlevel $subversion | \ - $awk '{ printf "%.5f\n", $1 + $2/1000.0 + $3/100000.0 }'` - fi - dflt="$privlib/$archname/$version" - ;; - esac - ;; -*) - dflt="$archlib" +*) dflt="$archlib" ;; esac cat <<EOM @@ -3956,6 +3964,181 @@ n) echo "OK, that should do.";; esac $rm -f try try.* core +: determine filename position in cpp output +echo " " +echo "Computing filename position in cpp output for #include directives..." >&4 +echo '#include <stdio.h>' > foo.c +$cat >fieldn <<EOF +$startsh +$cppstdin $cppflags $cppminus <foo.c 2>/dev/null | \ +$grep '^[ ]*#.*stdio\.h' | \ +while read cline; do + pos=1 + set \$cline + while $test \$# -gt 0; do + if $test -r \`echo \$1 | $tr -d '"'\`; then + echo "\$pos" + exit 0 + fi + shift + pos=\`expr \$pos + 1\` + done +done +EOF +chmod +x fieldn +fieldn=`./fieldn` +$rm -f foo.c fieldn +case $fieldn in +'') pos='???';; +1) pos=first;; +2) pos=second;; +3) pos=third;; +*) pos="${fieldn}th";; +esac +echo "Your cpp writes the filename in the $pos field of the line." + +: locate header file +$cat >findhdr <<EOF +$startsh +wanted=\$1 +name='' +if test -f $usrinc/\$wanted; then + echo "$usrinc/\$wanted" + exit 0 +fi +awkprg='{ print \$$fieldn }' +echo "#include <\$wanted>" > foo\$\$.c +$cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \ +$grep "^[ ]*#.*\$wanted" | \ +while read cline; do + name=\`echo \$cline | $awk "\$awkprg" | $tr -d '"'\` + case "\$name" in + */\$wanted) echo "\$name"; exit 0;; + *) name='';; + esac; +done; +$rm -f foo\$\$.c; +case "\$name" in +'') exit 1;; +esac +EOF +chmod +x findhdr + +: define an alternate in-header-list? function +inhdr='echo " "; td=$define; tu=$undef; yyy=$@; +cont=true; xxf="echo \"<\$1> found.\" >&4"; +case $# in 2) xxnf="echo \"<\$1> NOT found.\" >&4";; +*) xxnf="echo \"<\$1> NOT found, ...\" >&4";; +esac; +case $# in 4) instead=instead;; *) instead="at last";; esac; +while $test "$cont"; do + xxx=`./findhdr $1` + var=$2; eval "was=\$$2"; + if $test "$xxx" && $test -r "$xxx"; + then eval $xxf; + eval "case \"\$$var\" in $undef) . ./whoa; esac"; eval "$var=\$td"; + cont=""; + else eval $xxnf; + eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; fi; + set $yyy; shift; shift; yyy=$@; + case $# in 0) cont="";; + 2) xxf="echo \"but I found <\$1> $instead.\" >&4"; + xxnf="echo \"and I did not find <\$1> either.\" >&4";; + *) xxf="echo \"but I found <\$1\> instead.\" >&4"; + xxnf="echo \"there is no <\$1>, ...\" >&4";; + esac; +done; +while $test "$yyy"; +do set $yyy; var=$2; eval "was=\$$2"; + eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; + set $yyy; shift; shift; yyy=$@; +done' + +: see if this is a malloc.h system +set malloc.h i_malloc +eval $inhdr + +: see if stdlib is available +set stdlib.h i_stdlib +eval $inhdr + +: determine which malloc to compile in +echo " " +case "$usemymalloc" in +''|y*|true) dflt='y' ;; +n*|false) dflt='n' ;; +*) dflt="$usemymalloc" ;; +esac +rp="Do you wish to attempt to use the malloc that comes with $package?" +. ./myread +usemymalloc="$ans" +case "$ans" in +y*|true) + usemymalloc='y' + mallocsrc='malloc.c' + mallocobj="malloc$_o" + d_mymalloc="$define" + case "$libs" in + *-lmalloc*) + : Remove malloc from list of libraries to use + echo "Removing unneeded -lmalloc from library list" >&4 + set `echo X $libs | $sed -e 's/-lmalloc / /' -e 's/-lmalloc$//'` + shift + libs="$*" + echo "libs = $libs" >&4 + ;; + esac + ;; +*) + usemymalloc='n' + mallocsrc='' + mallocobj='' + d_mymalloc="$undef" + ;; +esac + +: compute the return types of malloc and free +echo " " +$cat >malloc.c <<END +#$i_malloc I_MALLOC +#$i_stdlib I_STDLIB +#include <stdio.h> +#include <sys/types.h> +#ifdef I_MALLOC +#include <malloc.h> +#endif +#ifdef I_STDLIB +#include <stdlib.h> +#endif +#ifdef TRY_MALLOC +void *malloc(); +#endif +#ifdef TRY_FREE +void free(); +#endif +END +case "$malloctype" in +'') + if $cc $ccflags -c -DTRY_MALLOC malloc.c >/dev/null 2>&1; then + malloctype='void *' + else + malloctype='char *' + fi + ;; +esac +echo "Your system wants malloc to return '$malloctype', it would seem." >&4 + +case "$freetype" in +'') + if $cc $ccflags -c -DTRY_FREE malloc.c >/dev/null 2>&1; then + freetype='void' + else + freetype='int' + fi + ;; +esac +echo "Your system uses $freetype free(), it would seem." >&4 +$rm -f malloc.[co] : Cruising for prototypes echo " " echo "Checking out function prototypes..." >&4 @@ -4432,96 +4615,6 @@ fi esac $rm -f libnames libpath -: determine filename position in cpp output -echo " " -echo "Computing filename position in cpp output for #include directives..." >&4 -echo '#include <stdio.h>' > foo.c -$cat >fieldn <<EOF -$startsh -$cppstdin $cppflags $cppminus <foo.c 2>/dev/null | \ -$grep '^[ ]*#.*stdio\.h' | \ -while read cline; do - pos=1 - set \$cline - while $test \$# -gt 0; do - if $test -r \`echo \$1 | $tr -d '"'\`; then - echo "\$pos" - exit 0 - fi - shift - pos=\`expr \$pos + 1\` - done -done -EOF -chmod +x fieldn -fieldn=`./fieldn` -$rm -f foo.c fieldn -case $fieldn in -'') pos='???';; -1) pos=first;; -2) pos=second;; -3) pos=third;; -*) pos="${fieldn}th";; -esac -echo "Your cpp writes the filename in the $pos field of the line." - -: locate header file -$cat >findhdr <<EOF -$startsh -wanted=\$1 -name='' -if test -f $usrinc/\$wanted; then - echo "$usrinc/\$wanted" - exit 0 -fi -awkprg='{ print \$$fieldn }' -echo "#include <\$wanted>" > foo\$\$.c -$cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \ -$grep "^[ ]*#.*\$wanted" | \ -while read cline; do - name=\`echo \$cline | $awk "\$awkprg" | $tr -d '"'\` - case "\$name" in - */\$wanted) echo "\$name"; exit 0;; - *) name='';; - esac; -done; -$rm -f foo\$\$.c; -case "\$name" in -'') exit 1;; -esac -EOF -chmod +x findhdr - -: define an alternate in-header-list? function -inhdr='echo " "; td=$define; tu=$undef; yyy=$@; -cont=true; xxf="echo \"<\$1> found.\" >&4"; -case $# in 2) xxnf="echo \"<\$1> NOT found.\" >&4";; -*) xxnf="echo \"<\$1> NOT found, ...\" >&4";; -esac; -case $# in 4) instead=instead;; *) instead="at last";; esac; -while $test "$cont"; do - xxx=`./findhdr $1` - var=$2; eval "was=\$$2"; - if $test "$xxx" && $test -r "$xxx"; - then eval $xxf; - eval "case \"\$$var\" in $undef) . ./whoa; esac"; eval "$var=\$td"; - cont=""; - else eval $xxnf; - eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; fi; - set $yyy; shift; shift; yyy=$@; - case $# in 0) cont="";; - 2) xxf="echo \"but I found <\$1> $instead.\" >&4"; - xxnf="echo \"and I did not find <\$1> either.\" >&4";; - *) xxf="echo \"but I found <\$1\> instead.\" >&4"; - xxnf="echo \"there is no <\$1>, ...\" >&4";; - esac; -done; -while $test "$yyy"; -do set $yyy; var=$2; eval "was=\$$2"; - eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; - set $yyy; shift; shift; yyy=$@; -done' - : see if dld is available set dld.h i_dld eval $inhdr @@ -4685,6 +4778,7 @@ EOM *) dflt='-fpic' ;; esac ;; esac ;; + ' ') dflt='none' ;; *) dflt="$cccdlflags" ;; esac rp="Any special flags to pass to $cc -c to compile shared library modules?" @@ -4758,21 +4852,21 @@ EOM *) dflt="$lddlflags" ;; esac -: Try to guess additional flags to pick up local libraries. -for thisflag in $ldflags; do - case "$thisflag" in - -L*) - case " $dflt " in - *" $thisflag "*) ;; - *) dflt="$dflt $thisflag" ;; + : Try to guess additional flags to pick up local libraries. + for thisflag in $ldflags; do + case "$thisflag" in + -L*) + case " $dflt " in + *" $thisflag "*) ;; + *) dflt="$dflt $thisflag" ;; + esac + ;; esac - ;; - esac -done + done -case "$dflt" in -'') dflt='none' ;; -esac + case "$dflt" in + ''|' ') dflt='none' ;; + esac rp="Any special flags to pass to $ld to create a dynamically loaded library?" . ./myread @@ -4796,6 +4890,7 @@ EOM sunos) dflt='none' ;; *) dflt='none' ;; esac ;; + ' ') dflt='none' ;; *) dflt="$ccdlflags" ;; esac rp="Any special flags to pass to $cc to use dynamic loading?" @@ -4952,7 +5047,7 @@ case "$shrpdir" in *) $cat >&4 <<EOM WARNING: Use of the shrpdir variable for the installation location of the shared $libperl is not supported. It was never documented and -will not work in this version. Let me (doughera@lafcol.lafayette.edu) +will not work in this version. Let me (doughera@lafayette.edu) know of any problems this may cause. EOM @@ -5686,14 +5781,13 @@ else fi : determine where site specific libraries go. -set sitelib sitelib -eval $prefixit -case "$sitelib" in -'') - prog=`echo $package | $sed 's/-*[0-9.]*$//'` - dflt="$privlib/site_$prog" ;; -*) dflt="$sitelib" ;; +: Usual default is /usr/local/lib/perl5/site_perl/$apiversion/share +prog=`echo $package | $sed 's/-*[0-9.]*$//'` +case "$prefix" in +*perl*) set dflt sitelib lib/site_$prog/$apiversion/share ;; +*) set dflt sitelib lib/$package/site_$prog/$apiversion/share ;; esac +eval $prefixit $cat <<EOM The installation process will also create a directory for @@ -5732,12 +5826,14 @@ else fi : determine where site specific architecture-dependent libraries go. -xxx=`echo $sitelib/$archname | sed 's!^$prefix!!'` -: xxx is usuually lib/site_perl/archname. +: sitelib default is /usr/local/lib/perl5/site_perl/$apiversion/share +: sitearch default is /usr/local/lib/perl5/site_perl/$apiversion/$archname +tdflt=`echo $sitelib | $sed 's,/share$,,'` +tdflt="$tdflt/$archname" set sitearch sitearch none eval $prefixit case "$sitearch" in -'') dflt="$sitelib/$archname" ;; +'') dflt="$tdflt" ;; *) dflt="$sitearch" ;; esac $cat <<EOM @@ -7399,10 +7495,6 @@ eval $inlibc set mkfifo d_mkfifo eval $inlibc -: see if mknod exists -set mknod d_mknod -eval $inlibc - : see if mktime exists set mktime d_mktime eval $inlibc @@ -7440,91 +7532,6 @@ fi set d_msg eval $setvar -: see if this is a malloc.h system -set malloc.h i_malloc -eval $inhdr - -: see if stdlib is available -set stdlib.h i_stdlib -eval $inhdr - -: determine which malloc to compile in -echo " " -case "$usemymalloc" in -''|y*|true) dflt='y' ;; -n*|false) dflt='n' ;; -*) dflt="$usemymalloc" ;; -esac -rp="Do you wish to attempt to use the malloc that comes with $package?" -. ./myread -usemymalloc="$ans" -case "$ans" in -y*|true) - usemymalloc='y' - mallocsrc='malloc.c' - mallocobj="malloc$_o" - d_mymalloc="$define" - case "$libs" in - *-lmalloc*) - : Remove malloc from list of libraries to use - echo "Removing unneeded -lmalloc from library list" >&4 - set `echo X $libs | $sed -e 's/-lmalloc / /' -e 's/-lmalloc$//'` - shift - libs="$*" - echo "libs = $libs" >&4 - ;; - esac - ;; -*) - usemymalloc='n' - mallocsrc='' - mallocobj='' - d_mymalloc="$undef" - ;; -esac - -: compute the return types of malloc and free -echo " " -$cat >malloc.c <<END -#$i_malloc I_MALLOC -#$i_stdlib I_STDLIB -#include <stdio.h> -#include <sys/types.h> -#ifdef I_MALLOC -#include <malloc.h> -#endif -#ifdef I_STDLIB -#include <stdlib.h> -#endif -#ifdef TRY_MALLOC -void *malloc(); -#endif -#ifdef TRY_FREE -void free(); -#endif -END -case "$malloctype" in -'') - if $cc $ccflags -c -DTRY_MALLOC malloc.c >/dev/null 2>&1; then - malloctype='void *' - else - malloctype='char *' - fi - ;; -esac -echo "Your system wants malloc to return '$malloctype', it would seem." >&4 - -case "$freetype" in -'') - if $cc $ccflags -c -DTRY_FREE malloc.c >/dev/null 2>&1; then - freetype='void' - else - freetype='int' - fi - ;; -esac -echo "Your system uses $freetype free(), it would seem." >&4 -$rm -f malloc.[co] : see if nice exists set nice d_nice eval $inlibc @@ -8884,6 +8891,10 @@ eval $inhdr set sys/ndir.h i_sysndir eval $inhdr +: see if sys/types.h has to be included +set sys/types.h i_systypes +eval $inhdr + : see if closedir exists set closedir d_closedir eval $inlibc @@ -8896,7 +8907,11 @@ case "$d_closedir" in #$i_dirent I_DIRENT /**/ #$i_sysdir I_SYS_DIR /**/ #$i_sysndir I_SYS_NDIR /**/ +#$i_systypes I_SYS_TYPES /**/ +#if defined(I_SYS_TYPES) +#include <sys/types.h> +#endif #if defined(I_DIRENT) #include <dirent.h> #if defined(NeXT) && defined(I_SYS_DIR) /* NeXT needs dirent + sys/dir.h */ @@ -9288,15 +9303,6 @@ esac : check for void type echo " " echo "Checking to see how well your C compiler groks the void type..." >&4 -echo " " -$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 -echo " " case "$voidflags" in '') $cat >try.c <<'EOCP' @@ -9325,7 +9331,7 @@ main() { sub(); } EOCP if $cc $ccflags -c -DTRY=$defvoidused try.c >.out 2>&1 ; then voidflags=$defvoidused - echo "It appears to support void to the level $package wants ($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 @@ -9371,7 +9377,13 @@ echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4 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 @@ -9480,11 +9492,6 @@ EOM *) groupstype="$gidtype";; esac -: see what type is used for devices -rp="What is the type used for device numbers on this system?" -set dev_t devtype long stdio.h sys/types.h -eval $typedef_ask - : see what type lseek is declared as in the kernel rp="What is the type used for lseek's offset on this system?" set off_t lseektype long stdio.h sys/types.h @@ -10821,10 +10828,6 @@ eval $inhdr set sys/stat.h i_sysstat eval $inhdr -: see if sys/types.h has to be included -set sys/types.h i_systypes -eval $inhdr - : see if this is a sys/un.h system set sys/un.h i_sysun eval $inhdr @@ -10889,22 +10892,20 @@ for xxx in * ; do DynaLoader) ;; *) if $test -f $xxx/$xxx.xs; then known_extensions="$known_extensions $xxx" + elif $test -f $xxx/Makefile.PL; then + nonxs_extensions="$nonxs_extensions $xxx" else if $test -d $xxx; then + # Look for nested extensions, eg. Devel/Dprof. cd $xxx - zzz=$known_extensions for yyy in * ; do if $test -f $yyy/$yyy.xs; then known_extensions="$known_extensions $xxx/$yyy" + elif $test -f $yyy/Makefile.PL; then + nonxs_extensions="$nonxs_extensions $xxx/$yyy" fi done cd .. - if $test "$zzz" = "$known_extensions"; then - if $test -f $xxx/Makefile.PL; then - known_extensions="$known_extensions $xxx" - nonxs_extensions="$nonxs_extensions $xxx" - fi - fi fi fi ;; @@ -10962,11 +10963,7 @@ for xxx in $known_extensions ; do true|$define|y) avail_ext="$avail_ext $xxx" ;; esac ;; - *) - case " $nonxs_extensions " in - *" $xxx "*) ;; - *) avail_ext="$avail_ext $xxx" ;; - esac + *) avail_ext="$avail_ext $xxx" ;; esac done @@ -10976,6 +10973,7 @@ shift avail_ext="$*" : Now see which nonxs extensions are supported on this system. +: For now assume all are. nonxs_ext='' for xxx in $nonxs_extensions ; do case "$xxx" in @@ -11018,7 +11016,6 @@ EOM esac ;; esac - : Exclude those that are not xs extensions case "$dflt" in '') dflt=none;; esac @@ -11034,7 +11031,7 @@ EOM : Exclude those already listed in dynamic linking dflt='' for xxx in $avail_ext; do - case " $dynamic_ext $nonxs_ext " in + case " $dynamic_ext " in *" $xxx "*) ;; *) dflt="$dflt $xxx" ;; esac @@ -11084,6 +11081,7 @@ EOM esac ;; esac + : Exclude those that are not xs extensions case "$dflt" in '') dflt=none;; esac @@ -11096,7 +11094,7 @@ EOM ;; esac -set X $dynamic_ext $static_ext +set X $dynamic_ext $static_ext $nonxs_ext shift extensions="$*" @@ -11186,6 +11184,7 @@ afs='$afs' alignbytes='$alignbytes' ansi2knr='$ansi2knr' aphostname='$aphostname' +apiversion='$apiversion' ar='$ar' archlib='$archlib' archlibexp='$archlibexp' @@ -11323,7 +11322,6 @@ d_memmove='$d_memmove' d_memset='$d_memset' d_mkdir='$d_mkdir' d_mkfifo='$d_mkfifo' -d_mknod='$d_mknod' d_mktime='$d_mktime' d_msg='$d_msg' d_msgctl='$d_msgctl' @@ -11445,7 +11443,6 @@ date='$date' db_hashtype='$db_hashtype' db_prefixtype='$db_prefixtype' defvoidused='$defvoidused' -devtype='$devtype' direntrytype='$direntrytype' dlext='$dlext' dlsrc='$dlsrc' @@ -11602,6 +11599,7 @@ netdb_net_type='$netdb_net_type' nm='$nm' nm_opt='$nm_opt' nm_so_opt='$nm_so_opt' +nonxs_ext='$nonxs_ext' nroff='$nroff' o_nonblock='$o_nonblock' obj_ext='$obj_ext' @@ -11617,7 +11615,6 @@ path_sep='$path_sep' perl='$perl' perladmin='$perladmin' perlpath='$perlpath' -nonxs_ext='$nonxs_ext' pg='$pg' phostname='$phostname' pidtype='$pidtype' @@ -11707,6 +11704,7 @@ usethreads='$usethreads' usevfork='$usevfork' usrinc='$usrinc' uuname='$uuname' +version='$version' vi='$vi' voidflags='$voidflags' xlibpth='$xlibpth' |