hints & Configure changes to build perl on DC/OSx
Stephen Zander [Fri, 17 Jan 1997 00:43:52 +0000 (16:43 -0800)]
p5p-msgid: <199701170043.QAA25985@wsbip1.mckesson.com>

Configure
hints/dcosx.sh [new file with mode: 0644]

index f9af03c..1d5ae4a 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -1707,6 +1707,9 @@ EOM
                        *) osvers=$tmp;;
                        esac
                        ;;
+               *dc.osx) osname=dcosx
+                       osvers="$3"
+                       ;;
                dnix) osname=dnix
                        osvers="$3"
                        ;;
diff --git a/hints/dcosx.sh b/hints/dcosx.sh
new file mode 100644 (file)
index 0000000..3b8a300
--- /dev/null
@@ -0,0 +1,188 @@
+# hints/dcosx.sh
+# Last modified:  Thu Jan 16 11:38:12 EST 1996
+# Stephen Zander  <stephen.zander@interlock.mckesson.com>
+# hints for DC/OSx (Pyramid) & SINIX (Seimens: dc/osx rebadged)
+# Based on the hints/solaris_2.sh file
+
+# 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.
+set `echo " $libswanted " | sed -e 's@ ucb @ @'`
+libswanted="$*"
+
+# Here's another draft of the perl5/solaris/gcc sanity-checker. 
+
+case $PATH in
+*/usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END
+
+NOTE:  /usr/ucb/cc does not function properly.
+Remove /usr/ucb from your PATH.
+
+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/ksh -c "whence 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
+#   - increase the optimizing level to prevent object size warnings
+#
+# 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`
+      rm -f try try.c
+      tmp=`echo "$verbose" | grep '^Reading' |
+              awk '{print $NF}'  | sed 's/specs$/include/'`
+
+      # Determine if the fixed-includes look like they'll work.
+      # Doesn't work anymore for gcc-2.7.2.
+
+      # 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 or by including -B/usr/ccs/bin in your cc command.
+
+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 or by including -B/usr/ccs/bin in your cc command.
+
+END
+      ;;
+      esac
+
+      ;; #using gcc
+*)
+      optimize='-O -K Olimit:3064'
+      #
+      # 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
+
+# DC/OSx hides certain functions in a libc that looks dynamic but isn't
+# because of this we reinclude -lc when building dynamic extenstions
+libc='/usr/ccs/lib/libc.so'
+cccdlflags='-lc'
+
+# DC/OSx gets overenthusiastic with symbol removal when building dynamically
+ccdlflags='-Blargedynsym'
+
+# System malloc is safer when using third part libs
+usemymalloc='n'