diff options
author | Mark Murray <markm@FreeBSD.org> | 1999-05-02 14:33:17 +0000 |
---|---|---|
committer | Mark Murray <markm@FreeBSD.org> | 1999-05-02 14:33:17 +0000 |
commit | ef0775c4f054d9bcacbc3f94478687691d11226b (patch) | |
tree | 6ba8453a691190ab1f96748cae95df2e54cb3c2c /contrib/perl5/hints | |
parent | 0feb57945e44edd6419789b4f64868d2937bc553 (diff) | |
parent | 7c312e6b6a7b1f9412f10365baf3c5eca8fa5649 (diff) | |
download | src-ef0775c4f054d9bcacbc3f94478687691d11226b.tar.gz src-ef0775c4f054d9bcacbc3f94478687691d11226b.zip |
Notes
Diffstat (limited to 'contrib/perl5/hints')
26 files changed, 829 insertions, 336 deletions
diff --git a/contrib/perl5/hints/aix.sh b/contrib/perl5/hints/aix.sh index 25e204893182..d2c45c0a590e 100644 --- a/contrib/perl5/hints/aix.sh +++ b/contrib/perl5/hints/aix.sh @@ -19,6 +19,10 @@ alignbytes=8 usemymalloc='n' +# Intuiting the existence of system calls under AIX is difficult, +# at best; the safest technique is to find them empirically. +usenm='undef' + so="a" dlext="so" @@ -63,40 +67,51 @@ esac # symbol: boot_$(EXP) can it be auto-generated? case "$osvers" in 3*) -lddlflags='-H512 -T512 -bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -e _nostart -lc' + lddlflags='-H512 -T512 -bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -e _nostart -lc' ;; *) -lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -b noentry -lc' - -;; + lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -b noentry -lc' + ;; esac -if [ "X$usethreads" = "X$define" ]; then - ccflags="$ccflags -DNEED_PTHREAD_INIT" - case "$cc" in - xlc_r | cc_r) - ;; - cc | '') - cc=xlc_r # Let us be stricter. - ;; - *) - cat >&4 <<EOM -Unknown C compiler '$cc'. -For pthreads you should use the AIX C compilers xlc_r or cc_r. +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' +case "$usethreads" in +$define|true|[yY]*) + ccflags="$ccflags -DNEED_PTHREAD_INIT" + case "$cc" in + cc_r) ;; + cc|xlc_r) + echo >&4 "Switching cc to cc_r because of POSIX threads." + # xlc_r has been known to produce buggy code in AIX 4.3.2. + # (e.g. pragma/overload core dumps) + # --jhi@iki.fi + cc=cc_r + ;; + '') + cc=cc_r + ;; + *) + cat >&4 <<EOM +For pthreads you should use the AIX C compiler cc_r. +(now your compiler was '$cc') Cannot continue, aborting. EOM - exit 1 - ;; - esac + exit 1 + ;; + esac - # Add the POSIX threads library and the re-entrant libc. + # Add the POSIX threads library and the re-entrant libc. - lddlflags=`echo $lddlflags | sed 's/ -lc$/ -lpthreads -lc_r -lc/'` + lddlflags=`echo $lddlflags | sed 's/ -lc$/ -lpthreads -lc_r -lc/'` - # Add the c_r library to the list of libraries wanted - # Make sure the c_r library is before the c library or - # make will fail. - set `echo X "$libswanted "| sed -e 's/ c / c_r c /'` - shift - libswanted="$*" -fi + # Add the c_r library to the list of wanted libraries. + # Make sure the c_r library is before the c library or + # make will fail. + set `echo X "$libswanted "| sed -e 's/ c / c_r c /'` + shift + libswanted="$*" + ;; +esac +EOCBU diff --git a/contrib/perl5/hints/apollo.sh b/contrib/perl5/hints/apollo.sh index 8c361aa0518c..05f433dfc11f 100644 --- a/contrib/perl5/hints/apollo.sh +++ b/contrib/perl5/hints/apollo.sh @@ -1,13 +1,17 @@ # Info from Johann Klasek <jk@auto.tuwien.ac.at> # Merged by Andy Dougherty <doughera@lafcol.lafayette.edu> -# Last revised Fri Jun 2 11:21:27 EDT 1995 +# Last revised Tue Mar 16 19:12:22 EET 1999 by +# Jarkko Hietaniemi <jhi@iki.fi> # uname -a looks like # DomainOS newton 10.4.1 bsd4.3 425t # We want to use both BSD includes and some of the features from the # /sys5 includes. -ccflags="$ccflags -A cpu,mathchip -I/usr/include -I/sys5/usr/include" +ccflags="$ccflags -A cpu,mathchip -I`pwd`/apollo -I/usr/include -I/sys5/usr/include" + +# When Apollo runs a script with "#!", it sets argv[0] to the script name. +toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"' # These adjustments are necessary (why?) to compile malloc.c. freetype='void' diff --git a/contrib/perl5/hints/beos.sh b/contrib/perl5/hints/beos.sh index ab752769b686..8d76bc5146f4 100644 --- a/contrib/perl5/hints/beos.sh +++ b/contrib/perl5/hints/beos.sh @@ -1,11 +1,12 @@ # BeOS hints file # $Id: beos.sh,v 1.1 1998/02/16 03:51:45 dogcow Exp $ -if [ ! -f beos/nm ]; then mwcc -w all -o beos/nm beos/nm.c; fi +if [ ! -f beos/nm ]; then mwcc -w all -o beos/nm beos/nm.c 2>/dev/null; fi +# If this fails, that's all right - it's only for PPC. prefix="/boot/home/config" -cpp="mwcc -e" +#cpp="mwcc -e" libpth='/boot/beos/system/lib /boot/home/config/lib' usrinc='/boot/develop/headers/posix' @@ -37,9 +38,16 @@ d_syserrlst='undef' # the array syserrlst[] is useless for the most part. # large negative numbers really kind of suck in arrays. -#d_socket='undef' +d_socket='undef' +d_gethbyaddr='undef' +d_gethbyname='undef' +d_getsbyname='undef' + +ld='gcc' + # Sockets really don't work with the current version of perl and the # current BeOS sockets; I suspect that a new module a la GSAR's WIN32 port # will be required. +# Of course, this may also change with R5. export PATH="$PATH:$PWD/beos" diff --git a/contrib/perl5/hints/dec_osf.sh b/contrib/perl5/hints/dec_osf.sh index a531ea8c8f74..8758cbb8207d 100644 --- a/contrib/perl5/hints/dec_osf.sh +++ b/contrib/perl5/hints/dec_osf.sh @@ -177,30 +177,37 @@ case "$optimize" in ;; esac -if [ "X$usethreads" = "X$define" ]; then - # Threads interfaces changed with V4.0. - case "$_DEC_uname_r" in - *[123].*) libswanted="$libswanted pthreads mach exc c_r" - ccflags="-threads $ccflags" - ;; - *) libswanted="$libswanted pthread exc" - ccflags="-pthread $ccflags" - ;; - esac - usemymalloc='n' -fi - # # Make embedding in things like INN and Apache more memory friendly. # Keep it overridable on the Configure command line, though, so that # "-Uuseshrplib" prevents this default. # -# This or the glibpth change above breaks the build. Commented out -# for this snapshot. -#case "$_DEC_cc_style.$useshrplib" in -# new.) useshrplib="$define" ;; -#esac +case "$_DEC_cc_style.$useshrplib" in + new.) useshrplib="$define" ;; +esac + +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' +case "$usethreads" in +$define|true|[yY]*) + # Threads interfaces changed with V4.0. + case "`uname -r`" in + *[123].*) + libswanted="$libswanted pthreads mach exc c_r" + ccflags="-threads $ccflags" + ;; + *) + libswanted="$libswanted pthread exc" + ccflags="-pthread $ccflags" + ;; + esac + + usemymalloc='n' + ;; +esac +EOCBU # # Unset temporary variables no more needed. @@ -216,7 +223,7 @@ unset _DEC_uname_r # # 19-Dec-1997 Spider Boardman <spider@Orb.Nashua.NH.US> # -# * Newer Digial UNIX compilers enforce signaling for NaN without +# * Newer Digital UNIX compilers enforce signaling for NaN without # -ieee. Added -fprm d at the same time since it's friendlier for # embedding. # diff --git a/contrib/perl5/hints/dos_djgpp.sh b/contrib/perl5/hints/dos_djgpp.sh index 73bae63dd2ce..7c59428c7e4b 100644 --- a/contrib/perl5/hints/dos_djgpp.sh +++ b/contrib/perl5/hints/dos_djgpp.sh @@ -52,8 +52,14 @@ sitearch=$sitelib eagain='EAGAIN' rd_nodata='-1' -if [ "X$usethreads" = "X$define" ]; then - set `echo X "$libswanted "| sed -e 's/ c / gthreads c /'` - shift - libswanted="$*" -fi +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' +case "$usethreads" in +$define|true|[yY]*) + set `echo X "$libswanted "| sed -e 's/ c / gthreads c /'` + shift + libswanted="$*" + ;; +esac +EOCBU diff --git a/contrib/perl5/hints/dynixptx.sh b/contrib/perl5/hints/dynixptx.sh index 78a45e42a31e..2edf02630534 100644 --- a/contrib/perl5/hints/dynixptx.sh +++ b/contrib/perl5/hints/dynixptx.sh @@ -1,5 +1,9 @@ # Sequent Dynix/Ptx v. 4 hints # Created 1996/03/15 by Brad Howerter, bhower@wgc.woodward.com + +# Modified 1998/11/10 by Martin J. Bligh, mbligh@sequent.com +# to incorporate work done by Kurtis D. Rader & myself. + # Use Configure -Dcc=gcc to use gcc. # cc wants -G for dynamic loading @@ -15,10 +19,41 @@ libswanted=`echo $libswanted | sed -e 's/ inet / /'` # Configure defaults to usenm='y', which doesn't work very well usenm='n' -# Reported by bruce@aps.org ("Bruce P. Schuck") as needed for -# DYNIX/ptx 4.0 V4.2.1 to get socket i/o to work -# Not defined by default in case they break other versions. -# These probably need to be worked into a piece of code that -# checks for the need for this setting. -# cppflags='-Wc,+abi-socket -I/usr/local/include' -# ccflags='-Wc,+abi-socket -I/usr/local/include' +# for performance, apparently this makes a huge difference (~krader) + +d_vfork='define' +optimize='-Wc,-O3 -W0,-xstring' + +# We override d_socket because it's very hard for Configure to get it right +# in Dynix/Ptx, for several reasons. +# (1) the socket interface is in libsocket.so -- this wouldn't be so hard +# for Configure to fathom...but it gets more tangled. +# (2) if the system has been patched there can be libsocket.so.1.FOO.BAR, +# the FOO.BAR being the old version of the system before the patching. +# Configure picks up the old broken version. +# (3) libsocket.so points to either libsocket.so.1 (v4.2) +# or libsocket.so.1.1 (v4.4) The socket call in libsocket.so.1.1 +# (BSD socket library) is called bsd_socket(), and has a macro wrapper +# to hide this. +# This information kindly provided by Martin J. Bligh of Sequent. +# As he puts it: +# "Sequent has unusual capabilities, taking it above and beyond +# the complexity of any other vendor" :-) +# +# Jarkko Hietaniemi November 1998 + +case "$osvers" in +4.4*) # configure doesn't find sockets, as they're in libsocket, not libc + d_socket='define' + d_oldsock='undef' + d_sockpair='define' + ;; +4.2*) # on ptx/TCP 4.2, we can use BSD sockets, but they're not the default. + cppflags='-Wc,+bsd-socket' + ccflags='-Wc,+bsd-socket' + ldflags='-Wc,+bsd-socket' + d_socket='define' + d_oldsock='undef' + d_sockpair='define' + ;; +esac diff --git a/contrib/perl5/hints/gnu.sh b/contrib/perl5/hints/gnu.sh new file mode 100644 index 000000000000..927bceab9df1 --- /dev/null +++ b/contrib/perl5/hints/gnu.sh @@ -0,0 +1,33 @@ +# hints/gnu.sh +# Last modified: Thu Dec 10 20:47:28 CET 1998 +# Mark Kettenis <kettenis@phys.uva.nl> + +# libnsl is unusable on the Hurd. +# XXX remove this once SUNRPC is implemented. +set `echo X "$libswanted "| sed -e 's/ nsl / /'` +shift +libswanted="$*" + +case "$optimize" in +'') optimize='-O2' ;; +esac + +# Flags needed to produce shared libraries. +lddlflags='-shared' + +# Flags needed by programs that use dynamic linking. +ccdlflags='-Wl,-E' + +# The following routines are only available as stubs in GNU libc. +# XXX remove this once metaconf detects the GNU libc stubs. +d_msgctl='undef' +d_msgget='undef' +d_msgrcv='undef' +d_msgsnd='undef' +d_semctl='undef' +d_semget='undef' +d_semop='undef' +d_shmat='undef' +d_shmctl='undef' +d_shmdt='undef' +d_shmget='undef' diff --git a/contrib/perl5/hints/hpux.sh b/contrib/perl5/hints/hpux.sh index 281f289c9b36..8a9e3cb25d22 100644 --- a/contrib/perl5/hints/hpux.sh +++ b/contrib/perl5/hints/hpux.sh @@ -20,6 +20,7 @@ # Distinguish between MC68020, MC68030, MC68040 # Don't assume every OS != 10 is < 10, (e.g., 11). # From: Chuck Phillips <cdp@fc.hp.com> +# HP-UX 10 pthreads hints: Matthew T Harden <mthard@mthard1.monsanto.com> # This version: August 15, 1997 # Current maintainer: Jeff Okamoto <okamoto@corp.hp.com> @@ -80,6 +81,16 @@ EOM esac else ccflags="$ccflags -Aa" # The add-on compiler supports ANSI C + # cppstdin and cpprun need the -Aa option if you use the unbundled + # ANSI C compiler (*not* the bundled K&R compiler or gcc) + # [XXX this should be set automatically by Configure, but isn't yet.] + # [XXX This is reported not to work. You may have to edit config.sh. + # After running Configure, set cpprun and cppstdin in config.sh, + # run "Configure -S" and then "make".] + cpprun="${cc:-cc} -E -Aa" + cppstdin="$cpprun" + cppminus='-' + cpplast='-' fi # For HP's ANSI C compiler, up to "+O3" is safe for everything # except shared libraries (PIC code). Max safe for PIC is "+O2". @@ -128,6 +139,60 @@ else selecttype='int *' fi +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' +case "$usethreads" in +$define|true|[yY]*) + if [ "$xxOsRevMajor" -lt 10 ]; then + cat <<EOM >&4 +HP-UX $xxOsRevMajor cannot support POSIX threads. +Consider upgrading to at least HP-UX 11. +Cannot continue, aborting. +EOM + exit 1 + fi + case "$xxOsRevMajor" in + 10) + # Under 10.X, a threaded perl can be built, but it needs + # libcma and OLD_PTHREADS_API. Also <pthread.h> needs to + # be #included before any other includes (in perl.h) + if [ ! -f /usr/include/pthread.h -o ! -f /usr/lib/libcma.sl ]; then + cat <<EOM >&4 +In HP-UX 10.X for POSIX threads you need both of the files +/usr/include/pthread.h and /usr/lib/libcma.sl. +Either you must install the CMA package or you must upgrade to HP-UX 11. +Cannot continue, aborting. +EOM + exit 1 + fi + + # HP-UX 10.X uses the old pthreads API + case "$d_oldpthreads" in + '') d_oldpthreads="$define" ;; + esac + + # include libcma before all the others + libswanted="cma $libswanted" + + # tell perl.h to include <pthread.h> before other include files + ccflags="$ccflags -DPTHREAD_H_FIRST" + + # CMA redefines select to cma_select, and cma_select expects int * + # instead of fd_set * (just like 9.X) + selecttype='int *' + ;; + 11 | 12) # 12 may want upping the _POSIX_C_SOURCE datestamp... + ccflags=" -D_POSIX_C_SOURCE=199506L $ccflags" + set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` + shift + libswanted="$*" + ;; + esac + usemymalloc='n' + ;; +esac +EOCBU # Remove bad libraries that will cause problems # (This doesn't remove libraries that don't actually exist) @@ -183,24 +248,3 @@ esac # assembler of the form: # (warning) Use of GR3 when frame >= 8192 may cause conflict. # These warnings are harmless and can be safely ignored. - -# -# cppstdin and cpprun need the -Aa option if you use the unbundled -# ANSI C compiler (*not* the bundled K&R compiler or gcc) -# [XXX this should be enabled automatically by Configure, but isn't yet.] -# [XXX This is reported not to work. You may have to edit config.sh. -# After running Configure, set cpprun and cppstdin in config.sh, -# run "Configure -S" and then "make".] -# -case "$cppstdin" in -'') - case "$ccflags" in - *-Aa*) - cpprun="${cc:-cc} -E -Aa" - cppstdin="$cpprun" - cppminus='-' - cpplast='-' - ;; - esac - ;; -esac diff --git a/contrib/perl5/hints/irix_4.sh b/contrib/perl5/hints/irix_4.sh index f5883f38cb72..8013c8a1f493 100644 --- a/contrib/perl5/hints/irix_4.sh +++ b/contrib/perl5/hints/irix_4.sh @@ -22,3 +22,14 @@ If you have problems, you might have try including -DSTANDARD_C -cckr in ccflags. EOM + +case "$usethreads" in +$define|true|[yY]*) + cat >&4 <<EOM +IRIX `uname -r` does not support POSIX threads. +You should upgrade to at least IRIX 6.2 with pthread patches. +EOM + exit 1 + ;; +esac + diff --git a/contrib/perl5/hints/irix_5.sh b/contrib/perl5/hints/irix_5.sh index 9d6e80246c0b..757ffff38474 100644 --- a/contrib/perl5/hints/irix_5.sh +++ b/contrib/perl5/hints/irix_5.sh @@ -32,3 +32,14 @@ libswanted="$*" # patchSG0000596. The patch can be downloaded from Advantage OnLine (SGI's # WWW server) or from the Support Advantage 9/95 Patch CDROM. Thanks to Tom # Christiansen and others who provided assistance. + +case "$usethreads" in +$define|true|[yY]*) + cat >&4 <<EOM +IRIX `uname -r` does not support POSIX threads. +You should upgrade to at least IRIX 6.2 with pthread patches. +EOM + exit 1 + ;; +esac + diff --git a/contrib/perl5/hints/irix_6.sh b/contrib/perl5/hints/irix_6.sh index 384701ffd6de..3250fc7d4a8a 100644 --- a/contrib/perl5/hints/irix_6.sh +++ b/contrib/perl5/hints/irix_6.sh @@ -53,11 +53,11 @@ case "$cc" in case "`$cc -version 2>&1`" in *7.0*) # Mongoose 7.0 ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1042,1048,1110,1116,1184 -OPT:Olimit=0" - optimize='none' + optimize='none' ;; *7.1*|*7.2|*7.20) # Mongoose 7.1+ ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0" - optimize='-O3' + optimize='-O3' # This is a temporary fix for 5.005. # Leave pp_ctl_cflags line at left margin for Configure. See # hints/README.hints, especially the section @@ -65,12 +65,12 @@ case "$cc" in pp_ctl_cflags='optimize=-O' ;; *7.*) # Mongoose 7.2.1+ - ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0:space=on" - optimize='-O3' + ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0:space=ON" + optimize='-O3' ;; *6.2*) # Ragnarok 6.2 ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184" - optimize='none' + optimize='none' ;; *) # Be safe and not optimize ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0" @@ -78,9 +78,30 @@ pp_ctl_cflags='optimize=-O' ;; esac - ld=ld +# this is to accommodate the 'modules' capability of the +# 7.2 MIPSPro compilers, which allows for the compilers to be installed +# in a nondefault location. Almost everything works as expected, but +# /usr/include isn't caught properly. Hence see the /usr/include/pthread.h +# change below to include TOOLROOT (a modules environment variable), +# and the following code. Additional +# code to accommodate the 'modules' environment should probably be added +# here if possible, or be inserted as a ${TOOLROOT} reference before +# absolute paths (again, see the pthread.h change below). +# -- krishna@sgi.com, 8/23/98 + +if [ "X${TOOLROOT}" != "X" ]; then +# we cant set cppflags because it gets overwritten +# we dont actually need $TOOLROOT/usr/include on the cc line cuz the +# modules functionality already includes it but +# XXX - how do I change cppflags in the hints file? + ccflags="$ccflags -I${TOOLROOT}/usr/include" + usrinc="${TOOLROOT}/usr/include" +fi + + ld=$cc # perl's malloc can return improperly aligned buffer - usemymalloc='undef' + # usemymalloc='undef' +malloc_cflags='ccflags="-DSTRICT_ALIGNMENT $ccflags"' # NOTE: -L/usr/lib32 -L/lib32 are automatically selected by the linker ldflags=' -L/usr/local/lib32 -L/usr/local/lib' cccdlflags=' ' @@ -138,22 +159,23 @@ set `echo X "$libswanted "|sed -e 's/ sun / /' -e 's/ crypt / /' -e 's/ bsd / /' shift libswanted="$*" -if [ "X$usethreads" = "X$define" -o "X$usethreads" = "Xy" ]; then - if test ! -f /usr/include/pthread.h -o ! -f /usr/lib/libpthread.so; then - uname_r=`uname -r` - case "`uname -r`" in - 5*|6.0|6.1) - echo >&4 "IRIX $uname_r does not have the POSIX threads." - echo >&4 "You should upgrade to at least IRIX 6.2 with pthread patches." - echo >&4 "Cannot continue, aborting." - exit 1 - ;; - 6.2) - echo >&4 "" -cat >&4 <<EOF -IRIX 6.2 $uname_r can have the POSIX threads. -The following IRIX patches (or their replacements) must, however, be installed: - +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' +case "$usethreads" in +$define|true|[yY]*) + if test ! -f ${TOOLROOT}/usr/include/pthread.h -o ! -f /usr/lib/libpthread.so; then + case "`uname -r`" in + [1-5].*|6.[01]) + cat >&4 <<EOM +IRIX `uname -r` does not support POSIX threads. +You should upgrade to at least IRIX 6.2 with pthread patches. +EOM + ;; + 6.2) + cat >&4 <<EOM +IRIX 6.2 can have the POSIX threads. +However, the following IRIX patches (or their replacements) MUST be installed: 1404 Irix 6.2 Posix 1003.1b man pages 1645 IRIX 6.2 & 6.3 POSIX header file updates 2000 Irix 6.2 Posix 1003.1b support modules @@ -163,28 +185,27 @@ IMPORTANT: Without patch 2401, a kernel bug in IRIX 6.2 will cause your machine to panic and crash when running threaded perl. IRIX 6.3 and up should be OK. - - +EOM + ;; + [67].*) + cat >&4 <<EOM +IRIX `uname -r` should have the POSIX threads. +But, somehow, you do not seem to have them installed. +EOM + ;; + esac + cat >&4 <<EOM Cannot continue, aborting. -EOF - exit 1 - ;; - 6.*|7.*) - echo >&4 "IRIX $uname_r should have the POSIX threads." - echo >&4 "But somehow you do not seem to have them installed." - echo >&4 "Cannot continue, aborting." - exit 1 - ;; - esac - unset uname_r - fi - # -lpthread needs to come before -lc but after other libraries such - # as -lgdbm and such like. We assume here that -lc is present in - # libswanted. If that fails to be true in future, then this can be - # changed to add pthread to the very end of libswanted. - set `echo X "$libswanted "| sed -e 's/ c / pthread /'` - ld="${cc:-cc}" - shift - libswanted="$*" - usemymalloc='n' -fi +EOM + exit 1 + fi + set `echo X "$libswanted "| sed -e 's/ c / pthread /'` + ld="${cc:-cc}" + shift + libswanted="$*" + + usemymalloc='n' + ;; +esac +EOCBU + diff --git a/contrib/perl5/hints/irix_6_0.sh b/contrib/perl5/hints/irix_6_0.sh index b0a39943bd4e..e61db0460fcc 100644 --- a/contrib/perl5/hints/irix_6_0.sh +++ b/contrib/perl5/hints/irix_6_0.sh @@ -42,10 +42,13 @@ libswanted="$*" # shift # libswanted="$*" -if [ "X$usethreads" = "X$define" ]; then - echo >&4 "IRIX 6.0 does not have POSIX threads." - echo >&4 "You should upgrade to at least IRIX 6.3." - echo >&4 "Cannot continue, aborting." - exit 1 -fi +case "$usethreads" in +$define|true|[yY]*) + cat >&4 <<EOM +IRIX `uname -r` does not support POSIX threads. +You should upgrade to at least IRIX 6.2 with pthread patches. +EOM + exit 1 + ;; +esac diff --git a/contrib/perl5/hints/irix_6_1.sh b/contrib/perl5/hints/irix_6_1.sh index 1c54f774a901..e61db0460fcc 100644 --- a/contrib/perl5/hints/irix_6_1.sh +++ b/contrib/perl5/hints/irix_6_1.sh @@ -42,9 +42,13 @@ libswanted="$*" # shift # libswanted="$*" -if [ "X$usethreads" = "X$define" ]; then - echo >&4 "IRIX 6.1 does not have POSIX threads." - echo >&4 "You should upgrade to at least IRIX 6.3." - echo >&4 "Cannot continue, aborting." - exit 1 -fi +case "$usethreads" in +$define|true|[yY]*) + cat >&4 <<EOM +IRIX `uname -r` does not support POSIX threads. +You should upgrade to at least IRIX 6.2 with pthread patches. +EOM + exit 1 + ;; +esac + diff --git a/contrib/perl5/hints/linux.sh b/contrib/perl5/hints/linux.sh index 545f50eb3d3d..4764e9ea4bdd 100644 --- a/contrib/perl5/hints/linux.sh +++ b/contrib/perl5/hints/linux.sh @@ -18,6 +18,27 @@ # No version of Linux supports setuid scripts. d_suidsafe='undef' +# Debian and Red Hat, and perhaps other vendors, provide both runtime and +# development packages for some libraries. The runtime packages contain shared +# libraries with version information in their names (e.g., libgdbm.so.1.7.3); +# the development packages supplement this with versionless shared libraries +# (e.g., libgdbm.so). +# +# If you want to link against such a library, you must install the development +# version of the package. +# +# These packages use a -dev naming convention in both Debian and Red Hat: +# libgdbmg1 (non-development version of GNU libc 2-linked GDBM library) +# libgdbmg1-dev (development version of GNU libc 2-linked GDBM library) +# So make sure that for any libraries you wish to link Perl with under +# Debian or Red Hat you have the -dev packages installed. +# +# Some operating systems (e.g., Solaris 2.6) will link to a versioned shared +# library implicitly. For example, on Solaris, `ld foo.o -lgdbm' will find an +# appropriate version of libgdbm, if one is available; Linux, however, doesn't +# do the implicit mapping. +ignore_versioned_solibs='y' + # perl goes into the /usr tree. See the Filesystem Standard # available via anonymous FTP at tsx-11.mit.edu in # /pub/linux/docs/linux-standards/fsstnd. @@ -187,29 +208,31 @@ fi # Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu> # Message-Id: <33EF1634.B36B6500@pobox.com> # -# MkLinux (osname=linux,archname=ppc-linux), which differs slightly from other -# linuces, needs special flags passed in order for dynamic loading to work. +# The DR2 of MkLinux (osname=linux,archname=ppc-linux) may need +# special flags passed in order for dynamic loading to work. # instead of the recommended: +# # ccdlflags='-rdynamic' # # it should be: # ccdlflags='-Wl,-E' - -# XXX EXPERIMENTAL A.D. 2/27/1998 -# XXX This script UU/usethreads.cbu will get 'called-back' by Configure -# XXX after it has prompted the user for whether to use threads. -cat > UU/usethreads.cbu <<'EOSH' +# +# So if your DR2 (DR3 came out summer 1998, consider upgrading) +# has problems with dynamic loading, uncomment the +# following three lines, make distclean, and re-Configure: +#case "`uname -r | sed 's/^[0-9.-]*//'``arch`" in +#'osfmach3ppc') ccdlflags='-Wl,-E' ;; +#esac + +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) - ccflags="-D_REENTRANT $ccflags" - # -lpthread needs to come before -lc but after other libraries such - # as -lgdbm and such like. We assume here that -lc is present in - # libswanted. If that fails to be true in future, then this can be - # changed to add pthread to the very end of libswanted. - set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` - shift - libswanted="$*" - ;; + ccflags="-D_REENTRANT $ccflags" + set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` + shift + libswanted="$*" + ;; esac -EOSH -# XXX EXPERIMENTAL --end of call-back +EOCBU diff --git a/contrib/perl5/hints/mint.sh b/contrib/perl5/hints/mint.sh new file mode 100644 index 000000000000..22d854c397c6 --- /dev/null +++ b/contrib/perl5/hints/mint.sh @@ -0,0 +1,94 @@ +# hints/mint.sh +# +# talk to gufl0000@stud.uni-sb.de if you want to change this file. +# Please read the README.mint file. +# +# misc stuff + +case `uname -m` in + atarist*) archname="m68000-mint" + ;; + *) archname="m68k-mint" + ;; +esac + +here=`pwd | tr -d '\015'` + +cc='gcc' + +# The weird include path is really to work around some bugs in +# broken system header files. +ccflags="-D__MINT__ -Uatarist -DDEBUGGING -I$here/../mint" + +# libs + +libpth="$prefix/lib /usr/lib /usr/local/lib" +glibpth="$libpth" +xlibpth="$libpth" + +libswanted='gdbm socket port m' +so='none' + +# +# compiler & linker flags +# +optimize='-O2 -fomit-frame-pointer -fno-defer-pop -fstrength-reduce' + +# The setlocale function in the MiNTLib is actually a bad joke. We +# lend a workaround from Ultrix. If neither LC_ALL nor LANG is +# set in the environment, perl won't complain. If one is set to +# anything but "C" you will see a warning. Note that you can +# still use the GNU extension "$LANGUAGE" if you want to use +# the i18n features of some GNU packages. +util_cflags='ccflags="$ccflags -DLOCALE_ENVIRON_REQUIRED"' + +# +# Some good answers to the questions in Configure: +usenm='true' +d_suidsafe='true' +clocktype='long' +usevfork='true' +d_fsetpos='fpos_t' +gidtype='gid_t' +groupstype='gid_t' +lseektype='long' +models='none' +modetype='mode_t' +sizetype='size_t' +timetype='time_t' +uidtype='uid_t' + +# Don't remove that leading tab character (Configure Black Magic (TM)). + broken_pwd= +case "`/bin/pwd|tr -d xy|tr '\015\012' 'xy'`" in +*xy) broken_pwd=yes ;; +esac + +if test X"$broken_pwd" = Xyes +then + echo " " + echo "*** Building fixed 'pwd'... (as described in README.mint) ***" + echo " " + cd mint + make pwd + cd .. + if test -x mint/pwd -a -w /usr/bin + then + echo " " + echo "*** Installing fixed 'pwd'... ***" + echo " " + cd mint + make install + cd .. + if cmp -s mint/pwd /usr/bin/pwd + then + echo "*** Installed fixed 'pwd' successfully. ***" + else + echo "*** Failed to install fixed 'pwd'. Aborting. ***" + exit 1 + fi + else + echo "*** Cannot install fixed 'pwd'. Aborting. ***" + exit 1 + fi +fi diff --git a/contrib/perl5/hints/mpeix.sh b/contrib/perl5/hints/mpeix.sh index 4a32b77fa262..9ebb0bad1e1a 100644 --- a/contrib/perl5/hints/mpeix.sh +++ b/contrib/perl5/hints/mpeix.sh @@ -51,8 +51,8 @@ toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"' # Linking. # lddlflags='-b' -libs='-lbind -lsvipc -lsocket -lm -lc' -loclibpth='/usr/local/lib /usr/contrib/lib /BIND/PUB/lib' +libs='-lbind -lsyslog -lcurses -lsvipc -lsocket -lm -lc' +loclibpth='/usr/local/lib /usr/contrib/lib /BIND/PUB/lib /SYSLOG/PUB' # # External functions and data items. # diff --git a/contrib/perl5/hints/netbsd.sh b/contrib/perl5/hints/netbsd.sh index 71d508448a6b..6d99a13edfe7 100644 --- a/contrib/perl5/hints/netbsd.sh +++ b/contrib/perl5/hints/netbsd.sh @@ -1,12 +1,11 @@ # hints/netbsd.sh # -# talk to mrg@eterna.com.au if you want to change this file. +# talk to packages@netbsd.org if you want to change this file. # # netbsd keeps dynamic loading dl*() functions in /usr/lib/crt0.o, # so Configure doesn't find them (unless you abandon the nm scan). # this should be *just* 0.9 below as netbsd 0.9a was the first to -# introduce shared libraries. however, they don't work/build on -# pmax, powerpc and alpha ports correctly, yet. +# introduce shared libraries. case "$archname" in '') @@ -19,34 +18,26 @@ case "$osvers" in usedl="$undef" ;; *) - case `uname -m` in - alpha|powerpc|pmax) + if [ -f /usr/libexec/ld.elf_so ]; then + d_dlopen=$define + d_dlerror=$define + ccdlflags="-Wl,-E -Wl,-R${PREFIX}/lib $ccdlflags" + cccdlflags="-DPIC -fPIC $cccdlflags" + lddlflags="--whole-archive -shared $lddlflags" + elif [ "`uname -m`" = "pmax" ]; then +# NetBSD 1.3 and 1.3.1 on pmax shipped an `old' ld.so, which will not work. d_dlopen=$undef - ;; -# this doesn't work (yet). -# alpha) -# d_dlopen=$define -# d_dlerror=$define -# cccdlflags="-DPIC -fPIC $cccdlflags" -# lddlflags="-shared $lddlflags" -# ;; - *) + elif [ -f /usr/libexec/ld.so ]; then d_dlopen=$define d_dlerror=$define + ccdlflags="-Wl,-R${PREFIX}/lib $ccdlflags" # we use -fPIC here because -fpic is *NOT* enough for some of the # extensions like Tk on some netbsd platforms (the sparc is one) cccdlflags="-DPIC -fPIC $cccdlflags" lddlflags="-Bforcearchive -Bshareable $lddlflags" - ;; - esac - ;; -esac -# netbsd 1.3 linker warns about setr[gu]id being deprecated. -# (setregid, setreuid, preferred?) -case "$osvers" in -1.3|1.3*) - d_setrgid="$undef" - d_setruid="$undef" + else + d_dlopen=$undef + fi ;; esac @@ -55,25 +46,31 @@ esac # way to make perl call setuid() or setgid(). if they aren't, then # ($<, $>) = ($u, $u); will work (same for $(/$)). this is because # you can not change the real userid of a process under 4.4BSD. -# netbsd fixed this in 1.2A. +# netbsd fixed this in 1.3.2. case "$osvers" in -0.9*|1.0*|1.1*|1.2_*|1.2|1.2.*) +0.9*|1.[012]*|1.3|1.3.1) d_setregid="$undef" d_setreuid="$undef" - d_setrgid="$undef" - d_setruid="$undef" - ;; -esac -# netbsd 1.3 linker warns about setr[gu]id being deprecated. -# (setregid, setreuid, preferred?) -case "$osvers" in -1.3|1.3*) - d_setrgid="$undef" - d_setruid="$undef" ;; esac -# vfork is ok on NetBSD. +# These are obsolete in any netbsd. +d_setrgid="$undef" +d_setruid="$undef" + +# there's no problem with vfork. case "$usevfork" in '') usevfork=true ;; esac + +# Avoid telldir prototype conflict in pp_sys.c (NetBSD uses const DIR *) +# Configure should test for this. Volunteers? +pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"' + +# Pre-empt the /usr/bin/perl question of installperl. +installusrbinperl='n' + +# Recognize the NetBSD packages collection. +# GDBM might be here. +test -d /usr/pkg/lib && loclibpth="$loclibpth /usr/pkg/lib" +test -d /usr/pkg/include && locincpth="$locincpth /usr/pkg/include" diff --git a/contrib/perl5/hints/next_3.sh b/contrib/perl5/hints/next_3.sh index 43340c03ad2c..99adf50ffe9f 100644 --- a/contrib/perl5/hints/next_3.sh +++ b/contrib/perl5/hints/next_3.sh @@ -129,3 +129,13 @@ ranlib='sleep 5; /bin/ranlib' # This is true whether we're on an HPPA machine or cross-compiling # for one. pp_cflags='optimize=""' + +# The SysV IPC is optional (ftp://ftp.nluug.nl/pub/comp/next/SysVIPC/) +# Gerben_Wierda@RnA.nl +if [ -f /usr/local/lib/libIPC.a ]; then + libswanted="$libswanted IPC" + # As of Sep 1998 d_msg wasn't supported in that library, + # only d_sem and d_shm, but Configure should be able to + # figure that out. --jhi + # Note also the next3 ext/IPC/SysV hints file. +fi diff --git a/contrib/perl5/hints/next_4.sh b/contrib/perl5/hints/next_4.sh index b3887e612b0f..d1d0398dd9ae 100644 --- a/contrib/perl5/hints/next_4.sh +++ b/contrib/perl5/hints/next_4.sh @@ -12,7 +12,7 @@ # useposix='undef' -libpth='/lib /usr/lib' +libpth='/lib /usr/lib /usr/local/lib' libswanted=' ' libc='/NextLibrary/Frameworks/System.framework/System' @@ -35,7 +35,20 @@ ld='cc' # # archs='m68k i386' # -archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'` + +# On m68k machines, toke.c cannot be compiled at all for i386 and it can +# only be compiled for m68k itself without optimization (this is under +# OPENSTEP 4.2). +# +if [ `hostinfo | grep 'NeXT Mach.*:' | sed 's/.*RELEASE_//'` = M68K ] +then + echo "Cross compilation is impossible on m68k hardware under OS 4" + echo "Forcing architecture to m68k only" + toke_cflags='optimize=""' + archs='m68k' +else + archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'` +fi # # leave the following part alone diff --git a/contrib/perl5/hints/openbsd.sh b/contrib/perl5/hints/openbsd.sh index 4c98ec8587a8..e9d8ea483d56 100644 --- a/contrib/perl5/hints/openbsd.sh +++ b/contrib/perl5/hints/openbsd.sh @@ -48,4 +48,14 @@ d_suidsafe='define' # Allow a command-line override, such as -Doptimize=-g test "$optimize" || optimize='-O2' +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' +case "$usethreads" in +$define|true|[yY]*) + # any openbsd version dependencies with pthreads? + libswanted="$libswanted pthread" +esac +EOCBU + # end diff --git a/contrib/perl5/hints/os2.sh b/contrib/perl5/hints/os2.sh index 78d370a1e939..310ae913c490 100644 --- a/contrib/perl5/hints/os2.sh +++ b/contrib/perl5/hints/os2.sh @@ -113,10 +113,11 @@ aout_lib_ext='.a' aout_ar='ar' aout_plibext='.a' aout_lddlflags="-Zdll $ld_dll_optimize" +# Cannot have 32000K stack: get SYS0170 ?! if [ $emxcrtrev -ge 50 ]; then - aout_ldflags='-Zexe -Zsmall-conv -Zstack 32000' + aout_ldflags='-Zexe -Zsmall-conv -Zstack 16000' else - aout_ldflags='-Zexe -Zstack 32000' + aout_ldflags='-Zexe -Zstack 16000' fi # To get into config.sh: @@ -249,15 +250,6 @@ nm_opt='-p' d_getprior='define' d_setprior='define' -if [ "X$usethreads" = "X$define" ]; then - ccflags="-Zmt $ccflags" - cppflags="-Zmt $cppflags" # Do we really need to set this? - aout_ccflags="-DUSE_THREADS $aout_ccflags" - aout_cppflags="-DUSE_THREADS $aout_cppflags" - aout_lddlflags="-Zmt $aout_lddlflags" - aout_ldflags="-Zmt $aout_ldflags" -fi - # The next two are commented. pdksh handles #!, extproc gives no path part. # sharpbang='extproc ' # shsharp='false' @@ -269,6 +261,21 @@ fi cp ./README.os2 ./pod/perlos2.pod +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' +case "$usethreads" in +$define|true|[yY]*) + ccflags="-Zmt $ccflags" + cppflags="-Zmt $cppflags" # Do we really need to set this? + aout_ccflags="-DUSE_THREADS $aout_ccflags" + aout_cppflags="-DUSE_THREADS $aout_cppflags" + aout_lddlflags="-Zmt $aout_lddlflags" + aout_ldflags="-Zmt $aout_ldflags" + ;; +esac +EOCBU + # Now install the external modules. We are in the ./hints directory. cd ./os2/OS2 diff --git a/contrib/perl5/hints/os390.sh b/contrib/perl5/hints/os390.sh index 1cf945dca394..08b60c878e4c 100644 --- a/contrib/perl5/hints/os390.sh +++ b/contrib/perl5/hints/os390.sh @@ -17,6 +17,8 @@ # To get ANSI C, we need to use c89, and ld doesn't exist cc='c89' ld='c89' +# To link via definition side decks we need the dll option +cccdlflags='-W 0,dll,"langlvl(extended)"' # c89 hides most of the useful header stuff, _ALL_SOURCE turns it on again, # YYDYNAMIC ensures that the OS/390 yacc generated parser is reentrant. # -DEBCDIC should come from Configure. @@ -54,3 +56,6 @@ case "$archname" in esac archobjs=ebcdic.o + +# We have our own cppstdin. +echo 'cat >.$$.c; '"$cc"' -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin diff --git a/contrib/perl5/hints/sco.sh b/contrib/perl5/hints/sco.sh index cef1c0c94230..eb598452a1de 100644 --- a/contrib/perl5/hints/sco.sh +++ b/contrib/perl5/hints/sco.sh @@ -1,140 +1,233 @@ -# sco.sh +# sco.sh # Courtesy of Joel Rosi-Schwartz <j.schwartz@agonet.it> - +############################################################### # Additional SCO version info from # Peter Wolfe <wolfe@teloseng.com> -# Last revised # Fri Jul 19 14:54:25 EDT 1996 -# by Andy Dougherty <doughera@lafcol.lafayette.edu> - -# To use gcc, use sh Configure -Dcc=gcc -# But gcc will *not* do dynamic laoding on 3.2.5, -# for that use sh Configure -Dcc=icc -# See below for more details. +# and again Tue Sep 29 16:37:25 EDT 1998 +# by Andy Dougherty <doughera@lafayette.edu> +# Mostly rewritten on +# Tue Jan 19 23:00:00 CET 1999 +# by Francois Desarmenien <desar@club-internet.fr> +############################################################### +# +# To use cc, use sh Configure +# To use gcc, use sh Configure -Dcc=gcc +# +# Default on 3.2v4 is to use static link (dynamic loading unsupported). +# Default on 3.2v5 is to use dynamic loading. +# To use static linkink instead, use to sh Configure -Dusedl=n +# +# Warning: - to use dynamic loading with gcc, you need gcc 2.8.0 or later +# ******** - to compile with older releases of gcc, use Configure -Dusedl=n +# or it wont compile properly +# +############################################################### +# NOTES: +# ----- +# +# I Have removed inclusion of ODBM_File for OSR5 +# because it core dumps and make tests fails. +# +# Support for icc compiler has been removed, because it 'breaks' +# a lot of code :-( +# +# It's *always* a good idea to first make a static link to be sure to +# have all symbols resolved with the current choice of libraries, since +# with dynamic linking, unresolved symbols are allowed an will be detected +# only at runtime (when you try to load the module or worse, when you call +# the symbol) +# +# The best choice of compiler on OSR 5 (3.2v5.*) seems to be gcc >= 2.8.0: +# -You cannot optimize with genuine sco cc (miniperl core dumps), +# so Perl is faster if compiled with gcc. +# -Even optimized for speed, gcc generated code is smaller (!!!) +# -gcc is free +# -I use ld to link which is distributed with the core OS distribution, so you +# don't need to buy the developement kit, just find someone kind enough to +# give you a binary release of gcc. +# +# +############################################################### # figure out what SCO version we are. The output of uname -X is # something like: # System = SCO_SV # Node = xxxxx # Release = 3.2v5.0.0 # KernelID = 95/08/08 -# Machine = Pentium +# Machine = Pentium # BusType = ISA # Serial = xxxxx # Users = 5-user # OEM# = 0 # Origin# = 1 -# NumCPU = 1 - -# Use /bin/uname (because Gnu may be first on the path and +# NumCPU = 1 + +# Use /bin/uname (because GNU uname may be first in $PATH and # it does not support -X) to figure out what SCO version we are: -case `/bin/uname -X | egrep '^Release'` in -*3.2v4.*) scorls=3 ;; # I don't know why this is 3 instead of 4 :-) -*3.2v5.*) scorls=5 ;; -*) scorls=3 ;; # this probabaly shouldn't happen +# Matching '^Release' is broken by locale setting: +# matching '3.2v' should be enough -- FD +case `/bin/uname -X | egrep '3\.2v'` in +*3.2v4.*) scorls=3 ;; # OSR 3 +*3.2v5.*) scorls=5 ;; # OSR 5 +*) + # Future of SCO OSR is SCO UnixWare: there should not be new OSR releases + echo "************************************************************" >&4 + echo "" >&4 + echo " sco.sh hints file only supports:" >&4 + echo "" >&4 + echo " - SCO Unix 3.2v4.x (OSR 3)" >&4 + echo " - SCO Unix 3.2v5.x (OSR 5)" >&4 + echo "" >&4 + echo "" >&4 + echo " For UnixWare, use svr4.sh hints instead" >&4 + echo "" >&4 + echo "***********************************************************" >&4 + exit +;; esac +############################################################### +# Common fixes for all compilers an releases: + +############################################################### +# What is true for SCO5 is true for SCO3 too today, so let's have a single +# symbol for both +ccflags="-U M_XENIX -D PERL_SCO" + +############################################################### +# Compilers options section: +if test "$scorls" = "3" +then + dlext='' + case "$cc" in + gcc) optimize='-O2' ;; + *) ccflags="$ccflags -W0 -quiet" + optimize='-O' ;; + esac +else + ############################################################### + # Need this in release 5 because of changed fpu exeption rules + ccflags="$ccflags -D PERL_SCO5" + + ############################################################### + # In Release 5, always compile ELF objects + case "$cc" in + gcc) + ccflags="$ccflags -melf" + optimize='-O2' + ;; + *) + ccflags="$ccflags -w0 -belf" + optimize='-O0' + ;; + esac + ############################################################### + # Dynamic loading section: + # + # We use ld to build shared libraries as it is always available + # and seems to work better than GNU's one on SCO + # + # ccdlflags : must tell the linker to export all global symbols + # cccdlflags: must tell the compiler to generate relocatable code + # lddlflags : must tell the linker to output a shared library + # + # /usr/local/lib is added for convenience, since 'foreign' libraries + # are usually put there in sco + # + if test "$usedl" != "n"; then + ld='ld' + case "$cc" in + gcc) + ccdlflags='-Xlinker -Bexport -L/usr/local/lib' + cccdlflags='-fpic' + lddlflags='-G -L/usr/local/lib' + ;; + *) + ccdlflags='-Bexport -L/usr/local/lib' + cccdlflags='-Kpic' + lddlflags='-G -L/usr/local/lib' + ;; + esac + + ############################################################### + # Use dynamic loading + usedl='define' + dlext='so' + dlsrc='dl_dlopen.xs' + + ############################################################### + # Force to define those symbols, as they are #defines and not + # catched by Configure, and they are useful + d_dlopen='define' + d_dlerror='define' + fi +fi + + +############################################################### +# Various hints, common to all releases, to have it work better: + +############################################################### +# We need to remove libdl, as libdl.so exists, but ld complains +# it can't find libdl.a ! Bug or feature ? :-) +libswanted=`echo " $libswanted " | sed -e 's/ dl / /'` +set X $libswanted +shift +libswanted="$*" + +############################################################### # Try to use libintl.a since it has strcoll and strxfrm libswanted="intl $libswanted" + +############################################################### # Try to use libdbm.nfs.a since it has dbmclose. -# if test -f /usr/lib/libdbm.nfs.a ; then libswanted=`echo "dbm.nfs $libswanted " | sed -e 's/ dbm / /'` + set X $libswanted + shift + libswanted="$*" fi -set X $libswanted -shift -libswanted="$*" +############################################################### +# We disable ODBM_File if OSR5 because it's mostly broken +# but keep it for ODT3 as it seems to work. +if test "$scorls" = "5"; then + i_dbm='undef' +fi + +############################################################### # We don't want Xenix cross-development libraries glibpth=`echo $glibpth | sed -e 's! /usr/lib/386 ! !' -e 's! /lib/386 ! !'` xlibpth='' -case "$cc" in -*gcc*) ccflags="$ccflags -U M_XENIX" - optimize="$optimize -O2" - ;; -scocc) ;; - -# On SCO 3.2v5 both cc and icc can build dynamic load, but cc core -# dumps if optimised, so I am only setting this up for icc. -# It is possible that some 3.2v4.2 system have icc, I seem to -# recall it was available as a seperate product but I have no -# knowledge if it can do dynamic loading and if so how. -# Joel Rosi-Schwartz -icc)# Apparently, SCO's cc gives rather verbose warnings - # Set -w0 to turn them off. - case $scorls in - 3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;; - 5) ccflags="$ccflags -belf -w0 -U M_XENIX" - optimize="-O1" # -g -O1 will not work - # optimize="-O0" may be needed for pack test to pass. - lddlflags='-G -L/usr/local/lib' - ldflags=' -W l,-Bexport -L/usr/local/lib' - dlext='so' - dlsrc='dl_dlopen.xs' - usedl='define' - ;; - esac - ;; - -*) # Apparently, miniperl core dumps if -O is used. - case "$optimize" in - '') optimize=none ;; - esac - # Apparently, SCO's cc gives rather verbose warnings - # Set -w0 to turn them off. - case $scorls in - 3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;; - 5) ccflags="$ccflags -w0 -U M_XENIX -DPERL_SCO5" ;; - esac - ;; -esac -i_varargs=undef - +############################################################### # I have received one report that nm extraction doesn't work if you're # using the scocc compiler. This system had the following 'myconfig' # uname='xxx xxx 3.2 2 i386 ' # cc='scocc', optimize='-O' -usenm='false' +# You can override this with Configure -Dusenm. +case "$usenm" in +'') usenm='false' ;; +esac +############################################################### # If you want to use nm, you'll probably have to use nm -p. The # following does that for you: nm_opt='-p' +############################################################### # I have received one report that you can't include utime.h in # pp_sys.c. Uncomment the following line if that happens to you: # i_utime=undef -# Apparently, some versions of SCO include both .so and .a libraries, -# but they don't mix as they do on other ELF systems. The upshot is -# that Configure finds -ldl (libdl.so) but 'ld' complains it can't -# find libdl.a. -# I don't know which systems have this feature, so I'll just remove -# -dl from libswanted for all SCO systems until someone can figure -# out how to get dynamic loading working on SCO. -# -# The output of uname -X on one such system was -# System = SCO_SV -# Node = xxxxx -# Release = 3.2v5.0.0 -# KernelID = 95/08/08 -# Machine = Pentium -# BusType = ISA -# Serial = xxxxx -# Users = 5-user -# OEM# = 0 -# Origin# = 1 -# NumCPU = 1 -# -# The 5.0.0 on the Release= line is probably the thing to watch. -# Andy Dougherty <doughera@lafcol.lafayette.edu> -# Thu Feb 1 15:06:56 EST 1996 -libswanted=`echo " $libswanted " | sed -e 's/ dl / /'` -set X $libswanted -shift -libswanted="$*" - +############################################################### # Perl 5.003_05 and later try to include both <time.h> and <sys/select.h> # in pp_sys.c, but that fails due to a redefinition of struct timeval. # This will generate a WHOA THERE. Accept the default. i_sysselct=$undef + + +############################################################### +#END of hint file diff --git a/contrib/perl5/hints/solaris_2.sh b/contrib/perl5/hints/solaris_2.sh index 856f80103f9d..935f00d877ea 100644 --- a/contrib/perl5/hints/solaris_2.sh +++ b/contrib/perl5/hints/solaris_2.sh @@ -261,25 +261,26 @@ rm -f core # XXX EOSH -if [ "X$usethreads" = "X$define" ]; then - ccflags="-D_REENTRANT $ccflags" - # -lpthread needs to come before -lc but after other libraries such - # as -lgdbm and such like. We assume here that -lc is present in - # libswanted. If that fails to be true in future, then this can be - # changed to add pthread to the very end of libswanted. - # sched_yield is in -lposix4 - set `echo X "$libswanted "| sed -e 's/ c / posix4 pthread c /'` - shift - libswanted="$*" - - # On Solaris 2.6 x86 there is a bug with sigsetjmp() and siglongjmp() - # when linked with the threads library, such that whatever positive value - # you pass to siglongjmp(), sigsetjmp() returns 1. - # Thanks to Simon Parsons <S.Parsons@ftel.co.uk> for this report. - # Sun BugID is 4117946, "sigsetjmp always returns 1 when called by - # siglongjmp in a MT program". As of 19980622, there is no patch - # available. - cat >try.c <<'EOM' +# This script UU/usethreads.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use threads. +cat > UU/usethreads.cbu <<'EOCBU' +case "$usethreads" in +$define|true|[yY]*) + ccflags="-D_REENTRANT $ccflags" + + # sched_yield is in -lposix4 + set `echo X "$libswanted "| sed -e 's/ c / posix4 pthread c /'` + shift + libswanted="$*" + + # On Solaris 2.6 x86 there is a bug with sigsetjmp() and siglongjmp() + # when linked with the threads library, such that whatever positive + # value you pass to siglongjmp(), sigsetjmp() returns 1. + # Thanks to Simon Parsons <S.Parsons@ftel.co.uk> for this report. + # Sun BugID is 4117946, "sigsetjmp always returns 1 when called by + # siglongjmp in a MT program". As of 19980622, there is no patch + # available. + cat >try.c <<'EOM' /* Test for sig(set|long)jmp bug. */ #include <setjmp.h> @@ -293,18 +294,20 @@ if [ "X$usethreads" = "X$define" ]; then siglongjmp(env, 2); } EOM - if test "`arch`" = i86pc -a "$osvers" = 2.6 \ - && ${cc:-cc} try.c -lpthread >/dev/null 2>&1 && ./a.out; then - d_sigsetjmp=$undef - cat << 'EOM' >&2 + if test "`arch`" = i86pc -a "$osvers" = 2.6 && \ + ${cc:-cc} try.c -lpthread >/dev/null 2>&1 && ./a.out; then + d_sigsetjmp=$undef + cat << 'EOM' >&2 You will see a *** WHOA THERE!!! *** message from Configure for d_sigsetjmp. Keep the recommended value. See hints/solaris_2.sh for more information. EOM - fi -fi + fi + ;; +esac +EOCBU # This is just a trick to include some useful notes. cat > /dev/null <<'End_of_Solaris_Notes' diff --git a/contrib/perl5/hints/ultrix_4.sh b/contrib/perl5/hints/ultrix_4.sh index d8d2063b22d6..7b841e53fbb6 100644 --- a/contrib/perl5/hints/ultrix_4.sh +++ b/contrib/perl5/hints/ultrix_4.sh @@ -34,16 +34,16 @@ case "$cc" in *gcc*) ;; *) case "$osvers" in - *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3200" ;; - *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3200" + *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3400" ;; + *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3400" # Prototypes sometimes cause compilation errors in 4.2. prototype=undef case "$myuname" in *risc*) d_volatile=undef ;; esac ;; - *4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 3200" ;; - *) ccflags="$ccflags -std -Olimit 3200" ;; + *4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 3400" ;; + *) ccflags="$ccflags -std -Olimit 3400" ;; esac ;; esac diff --git a/contrib/perl5/hints/uwin.sh b/contrib/perl5/hints/uwin.sh new file mode 100644 index 000000000000..0e5e11adfd65 --- /dev/null +++ b/contrib/perl5/hints/uwin.sh @@ -0,0 +1,36 @@ +# +# hint file for U/WIN (UNIX for Windows 95/NT) +# +# created for U/WIN version 1.55 +# running under Windows NT 4.0 SP 3 +# using MSVC++ 5.0 for the compiler +# +# created by Joe Buehler (jbuehler@hekimian.com) +# +# for information about U/WIN see www.gtlinc.com +# + +#ccflags=-D_BSDCOMPAT +# confusion in Configure over preprocessor +cppstdin=`pwd`/cppstdin +cpprun=`pwd`/cppstdin +# pwd.h confuses Configure +d_pwcomment=undef +d_pwgecos=define +# work around case-insensitive file names +firstmakefile=GNUmakefile +# avoid compilation error +i_utime=undef +# compile/link flags +ldflags=-g +optimize=-g +static_ext="B Data/Dumper Fcntl IO IPC/SysV Opcode POSIX SDBM_File Socket attrs" +#static_ext=none +# dynamic loading needs work +usedl=undef +# perl malloc will not work +usemymalloc=n +# cannot use nm +usenm=undef +# vfork() is buggy (as of 1.55 anyway) +usevfork=false |