diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 1999-01-19 12:44:02 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 1999-01-19 12:44:02 +0000 |
commit | 104d25b722892cb36f4c988c17016ee0180c3b1a (patch) | |
tree | 109792e6430e500a9464f9002871477456f0bed5 /hints | |
parent | b478f28d3c42f92a71da0b37f44cc5e7d70574a6 (diff) | |
download | perl-104d25b722892cb36f4c988c17016ee0180c3b1a.tar.gz |
Jumbo Configure update.
* -Uinstallusrbinperl: disable /usr/bin/perl installation
by installperl
* usethreads.cbu
* use64bits.cbu
* "nosuid"
p4raw-id: //depot/cfgperl@2649
Diffstat (limited to 'hints')
-rw-r--r-- | hints/aix.sh | 38 | ||||
-rw-r--r-- | hints/dec_osf.sh | 24 | ||||
-rw-r--r-- | hints/dos_djgpp.sh | 12 | ||||
-rw-r--r-- | hints/freebsd.sh | 35 | ||||
-rw-r--r-- | hints/hpux.sh | 81 | ||||
-rw-r--r-- | hints/irix_4.sh | 21 | ||||
-rw-r--r-- | hints/irix_5.sh | 21 | ||||
-rw-r--r-- | hints/irix_6.sh | 86 | ||||
-rw-r--r-- | hints/irix_6_0.sh | 21 | ||||
-rw-r--r-- | hints/irix_6_1.sh | 20 | ||||
-rw-r--r-- | hints/linux.sh | 12 | ||||
-rw-r--r-- | hints/os2.sh | 14 | ||||
-rw-r--r-- | hints/solaris_2.sh | 71 |
13 files changed, 456 insertions, 0 deletions
diff --git a/hints/aix.sh b/hints/aix.sh index bbcc52210f..727cf93fd6 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -74,3 +74,41 @@ case "$osvers" in ;; 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="$ccflags -DNEED_PTHREAD_INIT" + case "$cc" in + xlc_r | cc_r) ;; + cc) + echo >&4 "Switching cc to xlc_r because of POSIX threads." + cc=xlc_r + ;; + '') + cc=xlc_r + ;; + *) + cat >&4 <<EOM +For pthreads you should use the AIX C compilers xlc_r or cc_r. +(now your compiler was '$cc') +Cannot continue, aborting. +EOM + exit 1 + ;; + esac + + # Add the POSIX threads library and the re-entrant libc. + + lddlflags=`echo $lddlflags | sed 's/ -lc$/ -lpthreads -lc_r -lc/'` + + # 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/hints/dec_osf.sh b/hints/dec_osf.sh index b2a730004b..686ae2c089 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -191,6 +191,28 @@ esac pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"' +# 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. # @@ -326,3 +348,5 @@ unset _DEC_cc_style # * Set -Olimit to 3200 because perl_yylex.c got too big # for the optimizer. # + + diff --git a/hints/dos_djgpp.sh b/hints/dos_djgpp.sh index 94c09d0e6a..db09cbc6d9 100644 --- a/hints/dos_djgpp.sh +++ b/hints/dos_djgpp.sh @@ -52,3 +52,15 @@ sitearch=$sitelib eagain='EAGAIN' rd_nodata='-1' +# 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/hints/freebsd.sh b/hints/freebsd.sh index d6384628e7..96df283579 100644 --- a/hints/freebsd.sh +++ b/hints/freebsd.sh @@ -139,4 +139,39 @@ EOM signal_t='void' d_voidsig='define' +# 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]*) + case "$osvers" in + [34].*) ldflags="-pthread $ldflags" + ;; + 2.2*) if [ ! -r /usr/lib/libc_r ]; then + cat <<'EOM' >&4 +POSIX threads are not supported by default on FreeBSD $osvers. Follow the +instructions in 'man pthread' to build and install the needed libraries. +EOM + exit 1 + fi + set `echo X "$libswanted "| sed -e 's/ c / c_r /'` + shift + libswanted="$*" + # Configure will probably pick the wrong libc to use for nm + # scan. + # The safest quick-fix is just to not use nm at all. + usenm=false + ;; + *) cat <<'EOM' >&4 + +It is not known if FreeBSD $osvers supports POSIX threads or not. +Consider upgrading to the latest STABLE release. + +EOM + exit 1 + ;; + esac + ;; +esac +EOCBU diff --git a/hints/hpux.sh b/hints/hpux.sh index ceef5a3a5b..70250b7a75 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -193,3 +193,84 @@ esac # assembler of the form: # (warning) Use of GR3 when frame >= 8192 may cause conflict. # These warnings are harmless and can be safely ignored. + +# 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 + ccflags="$ccflags -D_POSIX_C_SOURCE=199506L" + libswanted="$libswanted pthread" + ;; + esac + ;; +esac +EOCBU + +# This script UU/use64bits.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use 64 bits. +cat > UU/use64bits.cbu <<'EOCBU' +case "$use64bits" in +$define|true|[yY]*) + if [ "$xxOsRevMajor" -lt 11 ]; then + cat <<EOM >&4 +64-bit compilation is not supported on HP-UX $xxOsRevMajor. +You need at least HP-UX 11.0. +Cannot continue, aborting. +EOM + exit 1 + fi + if [ ! -d /lib/pa20_64 ]; then + cat <<EOM >&4 +You do not seem to have the 64-bit libraries, /lib/pa20_64. +Cannot continue, aborting. +EOM + exit 1 + fi + ccflags="$ccflags +DD64 -D_FILE_OFFSET_BITS=64" + ldflags="$ldflags +DD64" + ld=/usr/bin/ld + set `echo " $libswanted " | sed -e 's@ dl @ @'` + libswanted="$*" + glibpth="/lib/pa20_64" +esac +EOCBU diff --git a/hints/irix_4.sh b/hints/irix_4.sh index f5883f38cb..1e90f989bd 100644 --- a/hints/irix_4.sh +++ b/hints/irix_4.sh @@ -22,3 +22,24 @@ 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 + +case "$use64bits" in +$define|true|[yY]*) + cat >&4 <<EOM +IRIX `uname -r` does not support 64-bit types. +You should upgrade to at least IRIX 6.2. +Cannot continue, aborting. +EOM + exit 1 +esac + diff --git a/hints/irix_5.sh b/hints/irix_5.sh index 9d6e80246c..30f11d7676 100644 --- a/hints/irix_5.sh +++ b/hints/irix_5.sh @@ -32,3 +32,24 @@ 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 + +case "$use64bits" in +$define|true|[yY]*) + cat >&4 <<EOM +IRIX `uname -r` does not support 64-bit types. +You should upgrade to at least IRIX 6.2. +Cannot continue, aborting. +EOM + exit 1 +esac + diff --git a/hints/irix_6.sh b/hints/irix_6.sh index 8f4dbd64af..e6ad0964c5 100644 --- a/hints/irix_6.sh +++ b/hints/irix_6.sh @@ -161,3 +161,89 @@ set `echo X "$libswanted "|sed -e 's/ sun / /' -e 's/ crypt / /' -e 's/ bsd / /' shift libswanted="$*" +# 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 + 2254 Pthread library fixes + 2401 6.2 all platform kernel rollup +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. +EOM + exit 1 + fi + set `echo X "$libswanted "| sed -e 's/ c / pthread /'` + ld="${cc:-cc}" + shift + libswanted="$*" + + usemymalloc='n' + ;; +esac +EOCBU + +# This script UU/use64bits.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use 64 bits. +cat > UU/use64bits.cbu <<'EOCBU' +case "$use64bits" in +$define|true|[yY]*) +esac + case "`uname -r`" in + [1-5]*|6.[01]) + cat >&4 <<EOM +IRIX `uname -r` does not support 64-bit types. +You should upgrade to at least IRIX 6.2. +Cannot continue, aborting. +EOM + exit 1 + ;; + esac + case "$ccflags" in + *-n32*) + ccflags="$ccflags -DUSE_LONG_LONG" + archname64="-n32" + d_open64="$undef" + # In -n32 mode (ILP32LL64) we use the standard open(). + # In -64 we will use the open64(). + cat << 'EOM' >&2 + +You will see a *** WHOA THERE!!! *** message from Configure for +d_open64. Keep the recommended value. See hints/irix6.sh +for more information. + +EOM + ;; + esac + ccflags="$ccflags -DUSE_64_BIT_FILES" + ;; +esac +EOCBU diff --git a/hints/irix_6_0.sh b/hints/irix_6_0.sh index 38fe27d282..b34b3ecaff 100644 --- a/hints/irix_6_0.sh +++ b/hints/irix_6_0.sh @@ -41,3 +41,24 @@ libswanted="$*" # set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ sun / /' -e 's/ crypt / /' -e 's/ nsl / /' -e 's/ dl / /'` # shift # libswanted="$*" + +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 + +case "$use64bits" in +$define|true|[yY]*) + cat >&4 <<EOM +IRIX `uname -r` does not support 64-bit types. +You should upgrade to at least IRIX 6.2. +Cannot continue, aborting. +EOM + exit 1 +esac + diff --git a/hints/irix_6_1.sh b/hints/irix_6_1.sh index 38fe27d282..3359639818 100644 --- a/hints/irix_6_1.sh +++ b/hints/irix_6_1.sh @@ -41,3 +41,23 @@ libswanted="$*" # set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ sun / /' -e 's/ crypt / /' -e 's/ nsl / /' -e 's/ dl / /'` # shift # libswanted="$*" + +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 + +case "$use64bits" in +$define|true|[yY]*) + cat >&4 <<EOM +IRIX `uname -r` does not support 64-bit types. +You should upgrade to at least IRIX 6.2. +Cannot continue, aborting. +EOM + exit 1 +esac diff --git a/hints/linux.sh b/hints/linux.sh index 9b69e9b4ac..a49e004bbd 100644 --- a/hints/linux.sh +++ b/hints/linux.sh @@ -216,3 +216,15 @@ fi # it should be: # ccdlflags='-Wl,-E' +# 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" + set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` + shift + libswanted="$*" + ;; +esac +EOCBU diff --git a/hints/os2.sh b/hints/os2.sh index 0560175ae1..1744fa96dd 100644 --- a/hints/os2.sh +++ b/hints/os2.sh @@ -289,6 +289,20 @@ for xxx in * ; do fi done +# 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]*) +esac + 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" + ;; +EOCBU # Now go back cd ../.. diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index e518540b40..98230dda6b 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -261,6 +261,77 @@ rm -f core # XXX EOSH +# 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]*) +esac + 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> + + main() + { + sigjmp_buf env; + int ret; + + ret = sigsetjmp(env, 1); + if (ret) { return ret == 2; } + 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 + +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 + ;; +EOCBU + +# This script UU/use64bits.cbu will get 'called-back' by Configure +# after it has prompted the user for whether to use 64 bits. +cat > UU/use64bits.cbu <<'EOCBU' +case "$use64bits" in +$define|true|[yY]*) + case "`uname -r`" in + 2.[1-5]) + cat >&4 <<EOM +Solaris `uname -r` does not support 64-bit interfaces. +You should upgrade to at least Solaris 2.6. +EOM + exit 1 + ;; + esac + ccflags="$ccflags `getconf LFS_CFLAGS` -DUSE_LONG_LONG" + ldflags="$ldflags `getconf LFS_LDFLAGS`" + libswanted="$libswanted `getconf LFS_LIBS`" + # When a 64-bit cc becomes available $archname64 + # may need setting so that $archname gets it attached. + ;; +esac +EOCBU + # This is just a trick to include some useful notes. cat > /dev/null <<'End_of_Solaris_Notes' |