# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Mon Jul 5 02:09:55 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Tue Jul 6 18:36:05 EET DST 1999 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
runnm=''
usenm=''
useperlio=''
+usesocks=''
d_oldpthreads=''
usethreads=''
incpath=''
: set useopcode=false in your hint file to disable the Opcode extension.
useopcode=true
: set usemultiplicity on the Configure command line to enable multiplicity.
+: set usesocks on the Configure command line to enable socks.
: set usethreads on the Configure command line to enable threads.
: List of libraries we want.
: If anyone needs -lnet, put it in a hint file.
'') firstmakefile='makefile';;
esac
+cat <<EOM
+
+Perl can be built to use the SOCKS proxy protocol library. To do so,
+Configure must be run with -Dusesocks.
+
+Normally you do not need this and you should answer no.
+
+EOM
+case "$usesocks" in
+$define|true|[yY]*) dflt='y';;
+*) dflt='n';;
+esac
+rp='Build Perl for SOCKS?'
+. ./myread
+case "$ans" in
+y|Y) val="$define" ;;
+*) val="$undef" ;;
+esac
+set usesocks
+eval $setvar
+
: Looking for optional libraries
echo " "
echo "Checking for optional libraries..." >&4
case "$libswanted" in
'') libswanted='c_s';;
esac
+case "$usesocks" in
+$define)
+ libswanted="$libswanted socks5 socks5_sh"
+ ;;
+esac
for thislib in $libswanted; do
if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`;
esac
$cat <<EOM
-
-Some versions of Unix support shared libraries, which make executables smaller
-but make load time slightly longer.
-
-On some systems, mostly System V Release 3's, the shared library is included
-by putting the option "-lc_s" as the last thing on the cc command line when
-linking. Other systems use shared libraries by default. There may be other
-libraries needed to compile $package on your machine as well. If your system
-needs the "-lc_s" option, include it here. Include any other special libraries
-here as well. Say "none" for none.
+
+In order to compile $package on your machine, a number of libraries
+are usually needed. Include any other special libraries here as well.
+Say "none" for none. The default list is almost always right.
EOM
echo " "
-rp="Any additional libraries?"
+rp="What libraries to use?"
. ./myread
case "$ans" in
none) libs=' ';;
set signal.h LANGUAGE_C; eval $inctest
+case "$usesocks" in
+$define)
+ ccflags="$ccflags -DSOCKS"
+ ;;
+esac
+
case "$hint" in
none|recommended) dflt="$ccflags $dflt" ;;
*) dflt="$ccflags";;
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='';;
+ *[/\\\\]\$wanted) echo "\$name"; exit 1;;
+ *[\\\\/]\$wanted) echo "\$name"; exit 1;;
+ *) exit 2;;
esac;
done;
+#
+# status = 0: grep returned 0 lines, case statement not executed
+# status = 1: headerfile found
+# status = 2: while loop executed, no headerfile found
+#
+status=\$?
$rm -f foo\$\$.c;
-case "\$name" in
-'') exit 1;;
-esac
+if test \$status -eq 1; then
+ exit 0;
+fi
+exit 1
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";
set ebcdic
eval $setvar
+echo " "
$cat >&4 <<EOM
Checking how to flush all pending stdio output...
EOM
echo " "
echo "Looking for extensions..." >&4
-tdir=`pwd`
-cd $rsrc/ext
: If we are using the old config.sh, known_extensions may contain
: old or inaccurate or duplicate values.
known_extensions=''
: We do not just use MANIFEST because the user may have dropped
: some additional extensions into the source tree and expect them
: to be built.
-for xxx in * ; do
- case "$xxx" in
- DynaLoader|dynaload) ;;
- *) 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
- 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 ..
- fi
- fi
- ;;
- esac
-done
+
+: Function to recursively find available extensions, ignoring DynaLoader
+: NOTE: recursion limit of 10 to prevent runaway in case of symlink madness
+find_extensions='
+ for xxx in *; do
+ case "$xxx" in
+ DynaLoader|dynaload) ;;
+ *)
+ if $test -f $xxx/$xxx.xs; then
+ known_extensions="$known_extensions $1$xxx";
+ elif $test -f $xxx/Makefile.PL; then
+ nonxs_extensions="$nonxs_extensions $1$xxx";
+ else
+ if $test -d $xxx -a $# -lt 10; then
+ set $1$xxx/ $*;
+ cd $xxx;
+ eval $find_extensions;
+ cd ..;
+ shift;
+ fi
+ fi
+ ;;
+ esac
+ done'
+tdir=`pwd`
+cd $rsrc/ext
+set
+shift
+eval $find_extensions
set X $nonxs_extensions
shift
nonxs_extensions="$*"
useposix='$useposix'
usesfio='$usesfio'
useshrplib='$useshrplib'
+usesocks='$usesocks'
usethreads='$usethreads'
usevfork='$usevfork'
usrinc='$usrinc'