Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!inferno.mpx.com.au!news.unimelb.EDU.AU!munnari.OZ.AU!news.ecn.uoknor.edu!solace!nntp.uio.no!news.cais.net!news.ac.net!imci4!newsfeed.internetmci.com!news.kei.com!usenet From: ckd@loiosh.kei.com (Christopher Davis) Newsgroups: comp.unix.bsd.bsdi.misc Subject: Re: Perl5 Date: 22 Apr 1996 15:00:45 GMT Organization: Yoyodyne Propulsion Systems Lines: 121 Sender: ckd@loiosh.kei.com Message-ID: <w4viisnw39.fsf@loiosh.kei.com> References: <4lejd6$gl8@oznet11.ozemail.com.au> <1996Apr22.020005.1@spcvxb.spc.edu> NNTP-Posting-Host: loiosh.kei.com In-reply-to: terry@spcvxb.spc.edu's message of Mon, 22 Apr 1996 06:00:05 GMT X-Attribution: ckd DB> == dbernard@shell02.ozemail.com.au (David Bernard) TK> == Terry Kennedy, Operations Mgr <terry@spcvxb.spc.edu> DB> Has anyone got perl5 to build on BSD/OS 2.1 ? DB> Got latest from ftp.uu.net but build bombs in DB_File.c? TK> Anyway, perl5 ships with BSD/OS 2.1 ("perl version 5.001 unofficial TK> patchlevel 1m" according to "perl5 -v"). I believe BSDI ships the TK> sources to the /usr/contrib tree on binary-only kits (I'm not sure as TK> I have a source kit) in case you want to make changes, apply patches, TK> or just see how they got it to build. Apparently the changes that BSDI made to 5.001m in order to get it to build on 2.1 didn't make it back to the perl porters and therefore didn't wind up in 5.002. I used the hints file from 5.001m-BSDI with the 5.002 distribution, and it built fine. Diff follows. --- perl5.002/hints/bsdos.sh.orig Mon Jan 22 20:42:32 1996 +++ perl5.002/hints/bsdos.sh Tue Mar 19 10:49:12 1996 @@ -1,53 +1,82 @@ -# hints/bsdi_bsdos.sh +# hints/bsdos.sh # # hints file for BSD/OS 2.x (adapted from bsd386.sh) # Original by Neil Bowers <neilb@khoros.unm.edu> # Tue Oct 4 12:01:34 EDT 1994 # Updated by Tony Sanders <sanders@bsdi.com> -# Mon Mar 13 12:17:24 CST 1995 +# Mon Nov 27 17:25:51 CST 1995 # # You can override the compiler and loader on the Configure command line: -# ./Configure -Dcc=gcc -Dld=ld +# ./Configure -Dcc=shlicc2 -Dld=shlicc2 # filename extension for shared library objects so='o' -d_voidsig='define' +sig_name='ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 ' signal_t='void' - -# If Configure's signal detection fails, uncomment this line. -# sig_name='ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 ' - +d_voidsig='define' d_dosuid='define' -# we don't want to use -lnm, since exp() is busted in there (in 1.1 anyway) +# we don't want to use -lnm, since exp() is busted (in 1.1 anyway) set `echo X "$libswanted "| sed -e 's/ nm / /'` shift libswanted="$*" -# Avoid telldir prototype conflict in pp_sys.c (BSD/386 uses const DIR *) +# BSD/OS X libraries are in their own tree +glibpth="$glibpth /usr/X11/lib" +ldflags="$ldflags -L/usr/X11/lib" + +# Avoid telldir prototype conflict in pp_sys.c pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"' +case "$bsdos_distribution" in +defined) + d_portable='no' + prefix='/usr/contrib' + man3dir='/usr/contrib/man/man3' + ;; +esac + case "$osvers" in 1.0*) # Avoid problems with HUGE_VAL in POSIX in 1.0's cc. POSIX_cflags='ccflags="$ccflags -UHUGE_VAL"' ;; 1.1*) - # Use gcc2 (2.5.8) if available in 1.1. + # Use gcc2 case "$cc" in - '') cc=gcc2 ;; + '') cc='gcc2' ;; esac ;; 2.*) - # Use 2.X's gcc2 + case "$osvers" in + 2.1*) # dlopen() is supported in 2.1 + usedl='true' + d_dlopen='define' + cccdlflags='none' + # pre-link against the shared C library + lddlflags='-r -lc_s.2.1.0' + + # BSD/OS 2.1 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. + libswanted="Xpm Xaw Xmu Xt SM ICE Xext X11 $libswanted" + libswanted="rpc curses termcap $libswanted" + + # Use the system malloc or else you'll have dualing mallocs! + d_mymalloc='undef' + usemymalloc='n' + ;; + esac + + # default to GCC 2.X w/shared libraries case "$cc" in - '') cc=gcc2 ;; + '') cc='shlicc2' ;; esac - # Link with shared libraries in 2.X + # default ld to shared library linker case "$ld" in - '') ld='shlicc' ;; + '') ld='shlicc2' ;; esac # setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS stuff