BSD/OS 3.0 hints
authorChristopher Davis <ckd@loiosh.kei.com>
Fri, 14 Mar 1997 21:20:46 +0000 (16:20 -0500)
committerChip Salzenberg <chip@atlantic.net>
Sat, 8 Mar 1997 23:57:19 +0000 (11:57 +1200)
These are based on the 2.1 hints and the config.sh that BSDI used to build
their "perl5" executable.  It compiles and passes "make test" but has not
been tested extensively.

p5p-msgid: w47mjakw5t.fsf@loiosh.kei.com

hints/bsdos.sh

index 8cf69ba..29a0691 100644 (file)
@@ -105,5 +105,64 @@ case "$osvers" in
        libswanted="Xpm Xaw Xmu Xt SM ICE Xext X11 $libswanted"
        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