diff options
Diffstat (limited to 'hints')
-rw-r--r-- | hints/aix.sh | 6 | ||||
-rw-r--r-- | hints/hpux.sh | 83 | ||||
-rw-r--r-- | hints/hpux_9.sh | 29 | ||||
-rw-r--r-- | hints/isc.sh | 2 | ||||
-rw-r--r-- | hints/isc_2.sh | 2 | ||||
-rw-r--r-- | hints/ncr_tower.sh | 14 | ||||
-rw-r--r-- | hints/solaris_2.sh | 311 | ||||
-rw-r--r-- | hints/ultrix_4.sh | 2 | ||||
-rw-r--r-- | hints/unicos.sh | 4 | ||||
-rw-r--r-- | hints/utekv.sh | 3 |
10 files changed, 413 insertions, 43 deletions
diff --git a/hints/aix.sh b/hints/aix.sh index 1e8b3124c4..bca6eb7022 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -32,10 +32,14 @@ case "$osvers" in d_setreuid='undef' ccflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE' nm_opt='-B' - scope_cflags='optimize=" "' ;; esac +# The optimizer in 4.1.1 apparently generates bad code for scope.c. +# Configure doesn't offer an easy way to propagate extra variables +# only for certain cases, so the following contortion is required: +scope_cflags='case "$osvers" in 4.1*) optimize=" ";; esac' + # Changes for dynamic linking by Wayne Scott <wscott@ichips.intel.com> # # Tell perl which symbols to export for dynamic linking. diff --git a/hints/hpux.sh b/hints/hpux.sh new file mode 100644 index 0000000000..27513ce196 --- /dev/null +++ b/hints/hpux.sh @@ -0,0 +1,83 @@ +# hints/hpux.sh +# Perl Configure hints file for Hewlett Packard HP/UX 9.x and 10.x +# This file is based on +# hints/hpux_9.sh, Perl Configure hints file for Hewlett Packard HP/UX 9.x +# Use Configure -Dcc=gcc to use gcc. +# From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com> +# Date: Thu, 28 Sep 95 11:06:07 PDT +# and +# hints/hpux_10.sh, Perl Configure hints file for Hewlett Packard HP/UX 10.x +# From: Giles Lean <giles@nemeton.com.au> +# Date: Tue, 27 Jun 1995 08:17:45 +1000 + +# Use Configure -Dcc=gcc to use gcc. +# Use Configure -Dprefix=/usr/local to install in /usr/local. + +# Turn on the _HPUX_SOURCE flag to get many of the HP add-ons +ccflags="$ccflags -D_HPUX_SOURCE" +ldflags="$ldflags" + +# Check if you're using the bundled C compiler. This compiler doesn't support +# ANSI C (the -Aa flag) nor can it produce shared libraries. Thus we have +# to turn off dynamic loading. +case "$cc" in +'') if cc $ccflags -Aa 2>&1 | $contains 'Unknown option "A"' >/dev/null + then + case "$usedl" in + '') usedl="$undef" + cat <<'EOM' + +The bundled C compiler can not produce shared libraries, so you will +not be able to use dynamic loading. + +EOM + ;; + esac + else + ccflags="$ccflags -Aa" # The add-on compiler supports ANSI C + fi + optimize='-O' + ;; +esac + +# Remove bad libraries that will cause problems +# (This doesn't remove libraries that don't actually exist) +# -lld is unneeded (and I can't figure out what it's used for anyway) +# -ldbm is obsolete and should not be used +# -lBSD contains BSD-style duplicates of SVR4 routines that cause confusion +# -lPW is obsolete and should not be used +# Although -lndbm should be included, it will make perl blow up if you should +# copy the binary to a system without libndbm.sl. +# The libraries crypt, malloc, ndir, and net are empty. +set `echo " $libswanted " | sed -e 's@ ndbm @ @' -e 's@ ld @ @' -e 's@ dbm @ @' -e 's@ BSD @ @' -e 's@ PW @ @'` +libswanted="$*" + +# If you copy the perl binaries to other systems and the dynamic loader +# complains about missing libraries, you can either copy the shared libraries +# or switch the comments to recompile perl to use archive libraries +# ccdlflags="-Wl,-E -Wl,-a,archive $ccdlflags" +ccdlflags="-Wl,-E $ccdlflags" + +usemymalloc='y' +alignbytes=8 +selecttype='int *' + +# There are some lingering issues about whether g/setpgrp should be a part +# of the perl core. This setting should cause perl to conform to the Principle +# of Least Astonishment. The best thing is to use the g/setpgrp in the POSIX +# module. +d_bsdpgrp='define' + +# If your compile complains about FLT_MIN, uncomment the next line +# POSIX_cflags='ccflags="$ccflags -DFLT_MIN=1.17549435E-38"' + +# Comment these out if you don't want to follow the SVR4 filesystem layout +# that HP-UX 10.0 uses +case "$prefix" in +'') prefix='/opt/perl5' + privlib='/opt/perl5/lib' + archlib='/opt/perl5/lib/hpux' + man3dir='/opt/perl5/man/man3' + ;; +esac + diff --git a/hints/hpux_9.sh b/hints/hpux_9.sh deleted file mode 100644 index fe5c2c7517..0000000000 --- a/hints/hpux_9.sh +++ /dev/null @@ -1,29 +0,0 @@ -# hints/hpux_9.sh, Perl Configure hints file for Hewlett Packard HP/UX 9.x -# Use Configure -Dcc=gcc to use gcc. -ccflags="$ccflags -D_POSIX_SOURCE -D_HPUX_SOURCE" -case "$cc" in -'') if cc $ccflags -Aa 2>&1 | $contains 'Unknown option "A"' >/dev/null - then # The bundled (limited) compiler doesn't - case "$usedl" in # support -Aa for "ANSI C mode". - '') usedl="$undef";; # Nor can it produce shared libraries. - esac - else - ccflags="$ccflags -Aa" # The add-on compiler supports ANSI C - fi - optimize='+O1' - ;; -esac -libswanted='m dld' -# ccdlflags="-Wl,-E -Wl,-a,shared $ccdlflags" # Force all shared? -ccdlflags="-Wl,-E $ccdlflags" -usemymalloc='y' -alignbytes=8 -selecttype='int *' -POSIX_cflags='ccflags="$ccflags -DFLT_MIN=1.17549435E-38"' - -case "$prefix" in -'') prefix='/opt/perl5' ;; -esac -case "$archname" in -'') archname='hpux' ;; -esac diff --git a/hints/isc.sh b/hints/isc.sh index 0ecdb7ddc9..df745a9b25 100644 --- a/hints/isc.sh +++ b/hints/isc.sh @@ -33,5 +33,3 @@ esac # compilation "redefinition" warnings, but they appear harmless. # ccflags="$ccflags -D_SYSV3" -# Pick up dbm.h in <rpcsvc/dbm.h> -ccflags="$ccflags -I/usr/include/rpcsvc" diff --git a/hints/isc_2.sh b/hints/isc_2.sh index 95b61ba773..c73908cbc6 100644 --- a/hints/isc_2.sh +++ b/hints/isc_2.sh @@ -17,8 +17,6 @@ case "$cc" in ldflags="$ldflags -Xp" ;; esac -# Pick up dbm.h in <rpcsvc/dbm.h> -ccflags="$ccflags -I/usr/include/rpcsvc" # Compensate for conflicts in <net/errno.h> doio_cflags='ccflags="$ccflags -DENOTSOCK=103"' pp_sys_cflags='ccflags="$ccflags -DENOTSOCK=103"' diff --git a/hints/ncr_tower.sh b/hints/ncr_tower.sh index 799ee9375c..7ddb9230e9 100644 --- a/hints/ncr_tower.sh +++ b/hints/ncr_tower.sh @@ -1,4 +1,16 @@ +# For SysV release 2, there are no directory functions defined. To +# prevent compile errors, acquire the functions written by Doug Gwynn. +# They are contained in dirent.tar.gz and can be accessed from gnu +# repositories, as well as other places. +# +# The following hints have been verified to work with PERL5 (001m) on +# SysVr2 with the following caveat(s): +# 1. Maximum User program space (MAXSPACE) must be at least 2MB. +# 2. The directory functions mentioned above have been installed. +# optimize='-O0' -ccflags="$ccflags -W2,-Sl,2000" +ccflags="$ccflags -W2,-Sl,1500 -W0,-Sp,350,-Ss,2500 -Wp,-Sd,30" d_mkdir=$undef usemymalloc='y' +useposix='false' +so='none' diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index b940663d35..0193bd4a1c 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -1,5 +1,14 @@ +# hints/solaris_2.sh +# Last modified: 27 September 1995 by +# Andy Dougherty <doughera@lafcol.lafayette.edu> +# Based on input from lots of folks, especially +# Dean Roehrich <roehrich@ironwood-fddi.cray.com> +# +# See man vfork. usevfork=false +# d_suidsafe=define +# Avoid all libraries in /usr/ucblib. set `echo $glibpth | sed -e 's@/usr/ucblib@@'` glibpth="$*" # Remove bad libraries. -lucb contains incompatible routines. @@ -29,11 +38,311 @@ case "$archname" in *) ;; esac +# See below for excerpts from the Solaris FAQ. + +# From roehrich@ironwood-fddi.cray.com Wed Sep 27 12:51:46 1995 +# Date: Thu, 7 Sep 1995 16:31:40 -0500 +# From: Dean Roehrich <roehrich@ironwood-fddi.cray.com> +# To: perl5-porters@africa.nicoh.com +# Subject: Re: On perl5/solaris/gcc + +# Here's another draft of the perl5/solaris/gcc sanity-checker. + case $PATH in -*/usr/ucb*:/usr/bin:*) cat <<END +*/usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END + NOTE: Some people have reported problems with /usr/ucb/cc. Remove /usr/ucb from your PATH if you have difficulties. + +END +;; +esac + + +# Check that /dev/fd is mounted. If it is not mounted, let the +# user know that suid scripts may not work. +/usr/bin/df /dev/fd 2>&1 > /dev/null +case $? in +0) ;; +*) + cat <<END + +NOTE: Your system does not have /dev/fd mounted. If you want to +be able to use set-uid scripts you must ask your system administrator +to mount /dev/fd. + +END + ;; +esac + + +# See if libucb can be found in /usr/lib. If it is, warn the user +# that this may cause problems while building Perl extensions. +/usr/bin/ls /usr/lib/libucb* >/dev/null 2>&1 +case $? in +0) + cat <<END + +NOTE: libucb has been found in /usr/lib. libucb should reside in +/usr/ucblib. You may have trouble while building Perl extensions. + END ;; esac + +# See if make(1) is GNU make(1). +# If it is, make sure the setgid bit is not set. +make -v > make.vers 2>&1 +if grep GNU make.vers > /dev/null 2>&1; then + tmp=`/usr/bin/which make` + case "`/usr/bin/ls -l $tmp`" in + ??????s*) + cat <<END + +NOTE: Your PATH points to GNU make, and your GNU make has the set-group-id +bit set. You must either rearrange your PATH to put /usr/ccs/bin before the +GNU utilities or you must ask your system administrator to disable the +set-group-id bit on GNU make. + +END + ;; + esac +fi +rm -f make.vers + +# If the C compiler is gcc: +# - check the fixed-includes +# - check as(1) and ld(1), they should not be GNU +# If the C compiler is not gcc: +# - check as(1) and ld(1), they should not be GNU +# +# Watch out in case they have not set $cc. +case "`${cc:-cc} -v 2>&1`" in +*gcc*) + # + # Using gcc. + # + #echo Using gcc + + # Get gcc to share its secrets. + echo 'main() { return 0; }' > try.c + verbose=`${cc:-cc} -v -o try try.c 2>&1` + tmp=`echo "$verbose" | grep '^Reading' | + awk '{print $NF}' | sed 's/specs$/include/'` + + # Determine if the fixed-includes look like they'll work. + sed 1q $tmp/stdarg.h 2>&1 | grep 'stdarg.h for GNU' 2>&1 >/dev/null + case $? in + 0) ;; + *) + cat <<END + +NOTE: The fixincludes or just-fixinc script for gcc was not run +properly. Your gcc may not be able to compile Perl. Inform your system +administrator that ${cc:-cc} is not properly installed. + +END + ;; + esac + + # See if as(1) is GNU as(1). GNU as(1) won't work for this job. + case $verbose in + */usr/ccs/bin/as*) ;; + *) + cat <<END + +NOTE: You are using GNU as(1). GNU as(1) will not build Perl. +You must arrange to use /usr/ccs/bin/as, perhaps by setting +GCC_EXEC_PREFIX. + +END + ;; + esac + + # See if ld(1) is GNU ld(1). GNU ld(1) won't work for this job. + case $verbose in + */usr/ccs/bin/ld*) ;; + *) + cat <<END + +NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl. +You must arrange to use /usr/ccs/bin/ld, perhaps by setting +GCC_EXEC_PREFIX. + +END + ;; + esac + + ;; #using gcc +*) + # + # Not using gcc. + # + #echo Not using gcc + + # See if as(1) is GNU as(1). GNU as(1) won't work for this job. + case `as --version < /dev/null 2>&1` in + *GNU*) + cat <<END + +NOTE: You are using GNU as(1). GNU as(1) will not build Perl. +You must arrange to use /usr/ccs/bin, perhaps by adding it to the +beginning of your PATH. + +END + ;; + esac + + # See if ld(1) is GNU ld(1). GNU ld(1) won't work for this job. + case `ld --version < /dev/null 2>&1` in + *GNU*) + cat <<END + +NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl. +You must arrange to use /usr/ccs/bin, perhaps by adding it to the +beginning of your PATH + +END + ;; + esac + + ;; #not using gcc +esac + +# as --version or ld --version might dump core. +rm -f core + +# This is just a trick to include some useful notes. +cat > /dev/null <<'End_of_Solaris_Notes' + +Here are some notes kindly contributed by Dean Roehrich. + +----- +Generic notes about building Perl5 on Solaris: +- Use /usr/ccs/bin/make. +- If you use GNU make, remove its setgid bit. +- Remove all instances of *ucb* from your path. +- Make sure libucb is not in /usr/lib (it should be in /usr/ucblib). +- Do not use GNU as or GNU ld, or any of GNU binutils or GNU libc. +- Do not use /usr/ucb/cc. +- Do not change Configure's default answers, except for the path names. +- Do not use -lmalloc. +- Do not build on SunOS 4 and expect it to work properly on SunOS 5. +- /dev/fd must be mounted if you want set-uid scripts to work. + + +Here are the gcc-related questions and answers from the Solaris 2 FAQ. Note +the themes: + - run fixincludes + - run fixincludes correctly + - don't use GNU as or GNU ld + +Question 5.7 covers the __builtin_va_alist problem people are always seeing. +Question 6.1.3 covers the GNU as and GNU ld issues which are always biting +people. +Question 6.9 is for those who are still trying to compile Perl4. + +The latest Solaris 2 FAQ can be found in the following locations: + rtfm.mit.edu:/pub/usenet-by-group/comp.sys.sun.admin + ftp.fwi.uva.nl:/pub/solaris + +Perl5 comes with a script in the top-level directory called "myconfig" which +will print a summary of the configuration in your config.sh. My summary for +Solaris 2.4 and gcc 2.6.3 follows. I have also built with gcc 2.7.0 and the +results are identical. This configuration was generated with Configure's -d +option (take all defaults, don't bother prompting me). All tests pass for +Perl5.001, patch.1m. + +Summary of my perl5 (patchlevel 1) configuration: + Platform: + osname=solaris, osver=2.4, archname=sun4-solaris + uname='sunos poplar 5.4 generic_101945-27 sun4d sparc ' + hint=recommended + Compiler: + cc='gcc', optimize='-O', ld='gcc' + cppflags='' + ccflags ='' + ldflags ='' + stdchar='unsigned char', d_stdstdio=define, usevfork=false + voidflags=15, castflags=0, d_casti32=define, d_castneg=define + intsize=4, alignbytes=8, usemymalloc=y, randbits=15 + Libraries: + so=so + libpth=/lib /usr/lib /usr/ccs/lib /usr/local/lib + libs=-lsocket -lnsl -ldl -lm -lc -lcrypt + libc=/usr/lib/libc.so + Dynamic Linking: + dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef + cccdlflags='-fpic', ccdlflags=' ', lddlflags='-G' + + +Dean +roehrich@cray.com +9/7/95 + +----------- + +From: Casper.Dik@Holland.Sun.COM (Casper H.S. Dik - Network Security Engineer) +Subject: Solaris 2 Frequently Asked Questions (FAQ) 1.48 +Date: 25 Jul 1995 12:20:18 GMT + +5.7) Why do I get __builtin_va_alist or __builtin_va_arg_incr undefined? + + You're using gcc without properly installing the gcc fixed + include files. Or you ran fixincludes after installing gcc + w/o moving the gcc supplied varargs.h and stdarg.h files + out of the way and moving them back again later. This often + happens when people install gcc from a binary distribution. + If there's a tmp directory in gcc's include directory, fixincludes + didn't complete. You should have run "just-fixinc" instead. + + Another possible cause is using ``gcc -I/usr/include.'' + +6.1) Where is the C compiler or where can I get one? + + [...] + + 3) Gcc. + + Gcc is available from the GNU archives in source and binary + form. Look in a directory called sparc-sun-solaris2 for + binaries. You need gcc 2.3.3 or later. You should not use + GNU as or GNU ld. Make sure you run just-fixinc if you use + a binary distribution. Better is to get a binary version and + use that to bootstrap gcc from source. + + [...] + + When you install gcc, don't make the mistake of installing + GNU binutils or GNU libc, they are not as capable as their + counterparts you get with Solaris 2.x. + +6.9) I can't get perl 4.036 to compile or run. + + Run Configure, and use the solaris_2_0 hints, *don't* use + the solaris_2_1 hints and don't use the config.sh you may + already have. First you must make sure Configure and make + don't find /usr/ucb/cc. (It must use gcc or the native C + compiler: /opt/SUNWspro/bin/cc) + + Some questions need a special answer. + + Are your system (especially dbm) libraries compiled with gcc? [y] y + + yes: gcc 2.3.3 or later uses the standard calling + conventions, same as Sun's C. + + Any additional cc flags? [ -traditional -Dvolatile=__volatile__ + -I/usr/ucbinclude] -traditional -Dvolatile=__volatile__ + Remove /usr/ucbinclude. + + Any additional libraries? [-lsocket -lnsl -ldbm -lmalloc -lm + -lucb] -lsocket -lnsl -lm + + Don't include -ldbm, -lmalloc and -lucb. + + Perl 5 compiled out of the box. + +End_of_Solaris_Notes + diff --git a/hints/ultrix_4.sh b/hints/ultrix_4.sh index f0369c0be7..3f96a668e1 100644 --- a/hints/ultrix_4.sh +++ b/hints/ultrix_4.sh @@ -24,6 +24,8 @@ case "$cc" in case "$osvers" in *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 2900" ;; *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 2900" + # Prototypes sometimes cause compilation errors in 4.2. + prototype=undef case "$myuname" in *risc*) d_volatile=undef ;; esac diff --git a/hints/unicos.sh b/hints/unicos.sh index 6c431293c6..272cb9b5d6 100644 --- a/hints/unicos.sh +++ b/hints/unicos.sh @@ -7,7 +7,3 @@ libswanted=m d_setregid='undef' d_setreuid='undef' -# Pick up dbm.h in <rpcsvc/dbm.h> -if test -f /usr/include/rpcsvc/dbm.h; then - ccflags="$ccflags -I/usr/include/rpcsvc" -fi diff --git a/hints/utekv.sh b/hints/utekv.sh index 0d30fd66ab..ebc7809c60 100644 --- a/hints/utekv.sh +++ b/hints/utekv.sh @@ -6,9 +6,6 @@ ccflags="$ccflags -X18" usemymalloc='y' -# /usr/include/rpcsvc is for finding dbm.h -inclwanted="$inclwanted /usr/include/rpcsvc" - echo " " echo "NOTE: You may have to take out makefile dependencies on the files in" echo "/usr/include (i.e. /usr/include/ctype.h) or the make will fail. A" |