diff options
author | Paul Green <Paul.Green@stratus.com> | 2011-11-04 15:19:28 -0400 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-11-04 13:25:44 -0700 |
commit | 05954a8b9f14e33d62acd061f4cdda5f0cfd0ec0 (patch) | |
tree | b217104335f3b41c0724f16d19b35050183fd5db /hints | |
parent | f0d0a205cc02c769ca48d6df00f3eea304ff91d8 (diff) | |
download | perl-05954a8b9f14e33d62acd061f4cdda5f0cfd0ec0.tar.gz |
Build perl using the dynamic linking capabilities of OpenVOS Release 17.1. Remove private copies of some POSIX functions that are now implemented by OpenVOS.
Diffstat (limited to 'hints')
-rw-r--r-- | hints/vos.sh | 118 |
1 files changed, 25 insertions, 93 deletions
diff --git a/hints/vos.sh b/hints/vos.sh index f08ba0b2c5..0a3a677edd 100644 --- a/hints/vos.sh +++ b/hints/vos.sh @@ -1,54 +1,48 @@ -# $Id: vos.sh,v 1.0 2001-12-11 09:30:00-05 Green Exp $ - -# This is a hints file for Stratus VOS, using the POSIX environment -# in VOS 14.4.0 and higher. +# This is a hints file for Stratus OpenVOS, using the POSIX environment +# found in VOS 17.1.0 and higher. # -# VOS POSIX is based on POSIX.1-1996 and contains elements of +# OpenVOS POSIX is based on POSIX.1-1996 and contains elements of # POSIX.1-2001. It ships with gcc as the standard compiler. # # Paul Green (Paul.Green@stratus.com) # C compiler and default options. cc=gcc -ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=200112L -D_VOS_EXTENDED_NAMES" +ccflags="-D_XOPEN_SOURCE=700 -D_VOS_EXTENDED_NAMES" +ccdlflags="-Wl,-rpath,$shrpdir" +cccdlflags="-fPIC" # Make command. make="/system/gnu_library/bin/gmake" # indented to not put it into config.sh _make="/system/gnu_library/bin/gmake" -# Architecture name -if test `uname -m` = i786; then - archname="i786" -else - archname="hppa1.1" +# Check for the minimum acceptable release of OpenVOS (17.1.0). +if test `uname -r | sed -e 's/OpenVOS Release //' -e 's/VOS Release //'` \< "17.1.0"; then +cat >&4 <<EOF +*** +*** This version of Perl 5 must be built on OpenVOS Release 17.1.0 or later. +*** +EOF +exit 1 fi +# Always X86 +archname=`uname -m` + # Executable suffix. # No, this is not a typo. The ".pm" really is the native # executable suffix in VOS. Talk about cosmic resonance. _exe=".pm" # Object library paths. -loclibpth="/system/stcp/object_library" -loclibpth="$loclibpth /system/stcp/object_library/common" -loclibpth="$loclibpth /system/stcp/object_library/net" -loclibpth="$loclibpth /system/stcp/object_library/socket" -loclibpth="$loclibpth /system/posix_object_library/sysv" loclibpth="$loclibpth /system/posix_object_library" loclibpth="$loclibpth /system/c_object_library" loclibpth="$loclibpth /system/object_library" glibpth="$loclibpth" # Include library paths -# Pick up vos/syslog.h on Continuum Platform. -if test "$archname" = "i786"; then - locincpth="" -else - locincpth=`pwd`/vos -fi -locincpth="$locincpth /system/stcp/include_library" -locincpth="$locincpth /system/include_library/sysv" +locincpth="" usrinc="/system/include_library" # Where to install perl5. @@ -56,11 +50,15 @@ prefix=/system/ported/perl5 # Linker is gcc. ld="gcc" +lddlflags="-shared" + +# Shared libraries! +so="so" -# No shared libraries. -so="none" +# Build libperl.so +useshrplib="true" -# Don't use nm. +# Don't use nm. The VOS copy of libc.a is empty. usenm="n" # Make the default be no large file support. @@ -89,71 +87,5 @@ archobjs="vos.o" # Help gmake find vos.c test -h vos.c || ln -s vos/vos.c vos.c -# VOS returns a constant 1 for st_nlink when stat'ing a -# directory. Therefore, we must set this variable to stop -# File::Find using the link count to determine whether there are -# subdirectories to be searched. -dont_use_nlink=define - # Tell Configure where to find the hosts file. hostcat="cat /system/stcp/hosts" - -# VOS does not have socketpair() but we supply one in vos.c -d_sockpair="define" - -# Once we have the compiler flags defined, Configure will -# execute the following call-back script. See hints/README.hints -# for details. -cat > UU/cc.cbu <<'EOCBU' -# This script UU/cc.cbu will get 'called-back' by Configure after it -# has prompted the user for the C compiler to use. - -# Compile and run the a test case to see if bug gnu_g++-220 is -# present. If so, lower the optimization level when compiling -# pp_pack.c. This works around a bug in unpack. - -echo " " -echo "Testing whether bug gnu_g++-220 is fixed in your compiler..." - -# Try compiling the test case. -if $cc -o t001 -O $ccflags $ldflags ../hints/t001.c; then - gccbug=`$run ./t001` - if [ "X$gccversion" = "X" ]; then - # Done too late in Configure if hinted - gccversion=`$cc -dumpversion` - fi - case "$gccbug" in - *fails*) cat >&4 <<EOF -This C compiler ($gccversion) is known to have optimizer -problems when compiling pp_pack.c. The Stratus bug number -for this problem is gnu_g++-220. - -Disabling optimization for pp_pack.c. -EOF - case "$pp_pack_cflags" in - '') pp_pack_cflags='optimize=' - echo "pp_pack_cflags='optimize=\"\"'" >> config.sh ;; - *) echo "You specified pp_pack_cflags yourself, so we'll go with your value." >&4 ;; - esac - ;; - *) echo "Your compiler is ok." >&4 - ;; - esac -else - echo " " - echo "*** WHOA THERE!!! ***" >&4 - echo " Your C compiler \"$cc\" doesn't seem to be working!" >&4 - case "$knowitall" in - '') - echo " You'd better start hunting for one and let me know about it." >&4 - exit 1 - ;; - esac -fi - -$rm -f t001$_o t001$_exe t001.kp -EOCBU - - -# VOS 14.7 has minimal support for dynamic linking. Too minimal for perl. -usedl="undef" |