BSD/OS 3.0 hints
[p5sagit/p5-mst-13.2.git] / hints / bsdos.sh
index 8cf69ba..7737783 100644 (file)
@@ -68,7 +68,7 @@ case "$osvers" in
        d_setrgid='undef'
        d_setruid='undef'
        ;;
-2.1*)
+2.1*|3.0*)
        # Use 2.1's shlicc2 for dynamic linking
        # Since cc -o is linking, use it for compiling too.
        # I'm not sure whether Configure is careful about
@@ -106,4 +106,63 @@ case "$osvers" in
        libswanted="rpc curses termcap $libswanted"
 
        ;;
+3.0*)
+       # adapted from 2.1 entry by Christopher Davis <ckd@kei.com
+       # Use 3.0's shlicc2 for dynamic linking
+       # Since cc -o is linking, use it for compiling too.
+       # I'm not sure whether Configure is careful about
+       # distinguishing between the two.
+
+       case "$cc" in
+       '')     cc='shlicc2'
+               cccdlflags=' ' ;; # Avoid the dreaded -fpic
+       esac
+
+       # Link with shared libraries in 3.0
+       # Turns out that shlicc2 will automatically use the
+       # shared libs, so don't explicitly specify them
+       case "$ld" in
+       '')     ld='shlicc2'
+               lddlflags='-r' ;; # this one is necessary
+       esac
+
+       # setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS  stuff
+       # in 4.4BSD-based systems (including BSD/OS 2.0 and later).
+       # See http://www.bsdi.com/bsdi-man?setuid(2)
+       # This stuff may or may not be right, but it works.
+       d_setregid='undef'
+       d_setreuid='undef'
+       d_setrgid='undef'
+       d_setruid='undef'
+
+       # this may still be needed for Tk and such
+       # BSD/OS doesn't (yet) support true dynamic linking.
+       # So we "preload' the shared libraries by linking against
+       # them, even though we don't pull in any symbols thereby.
+       libswanted="Xpm Xaw Xmu Xt SM ICE Xext X11 $libswanted"
+       libswanted="rpc curses termcap $libswanted"
+
+       # the IPC stuff doesn't work the way perl expects
+       d_msg='undef'
+       d_msgctl='undef'
+       d_msgget='undef'
+       d_msgrcv='undef'
+       d_msgsnd='undef'
+       d_sem='undef'
+       d_semctl='undef'
+       d_semget='undef'
+       d_semop='undef'
+       d_shm='undef'
+       d_shmat='undef'
+       d_shmatprototype='undef'
+       d_shmctl='undef'
+       d_shmdt='undef'
+       d_shmget='undef'
+
+       # use system malloc instead of perl's
+       d_mymalloc='undef'
+       i_malloc='undef'
+       usemymalloc='n'
+
+       ;;
 esac