X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fnext_3.sh;h=d142de5e76ee068eecb1ada3920babb8e093da18;hb=220a91308f6b34e49047b6c7b9ae54dc92ee2cad;hp=d1e16eeed08b24de199dd66bf7ca463d2dd2ecef;hpb=40ea335528d29db69bd60cfcbac6f29171db0bac;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/next_3.sh b/hints/next_3.sh index d1e16ee..d142de5 100644 --- a/hints/next_3.sh +++ b/hints/next_3.sh @@ -2,39 +2,10 @@ # Andreas Koenig and Gerd Knops . # Comments, questions, and improvements welcome! # -# These hints work for NeXT 3.2 and 3.3. 3.0 has it's own +# These hints work for NeXT 3.2 and 3.3. 3.0 has its own # special hint file. # -ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' -POSIX_cflags='ccflags="-posix $ccflags"' -ldflags='-u libsys_s' -libswanted='dbm gdbm db' - -lddlflags='-nostdlib -r' -# Give cccdlflags an empty value since Configure will detect we are -# using GNU cc and try to specify -fpic for cccdlflags. -cccdlflags=' ' - -# -# Change the line below if you do not want to build 'quad-fat' -# binaries -# -archs=`/bin/lipo -info /usr/lib/libm.a | sed 's/^[^:]*:[^:]*: //'` -for d in $archs -do - mab="$mab -arch $d" -done - - -archname='next-fat' -ld='cc' - -i_utime='undef' -groupstype='int' -direntrytype='struct direct' -d_strcoll='undef' - ###################################################################### # THE MALLOC STORY ###################################################################### @@ -45,6 +16,7 @@ d_strcoll='undef' # setting usemymalloc='n' was the solution back then. Later came # reports that perl would run unstable on 3.2: # +# 1996: # From about perl5.002beta1h perl became unstable on the # NeXT. Intermittent coredumps were frequent on 3.2 OS. There were # reports, that the developer version of 3.3 didn't have problems, so it @@ -53,18 +25,92 @@ d_strcoll='undef' # home made sbrk routine (remember, NeXT's sbrk _never_ worked). This # sbrk makes it possible to run perl with its own malloc. Thanks to # Ilya who showed me the way to his sbrk for OS/2!! -# andreas koenig, 1996-06-16 # -# So, this hintsfile is using perl's malloc. If you want to turn perl's -# malloc off, you need to change remove '-DUSE_PERL_SBRK' and -# '-DHIDEMYMALLOC' from the ccflags above and set usemymalloc below -# to 'n'. +# The whole malloc desaster lead to a failing gdbm test. It is far +# beyond my understanding, why GDBM_File breaks with the "fix", but in +# general I consider it better to have a working perl with broken GDBM +# than no perl at all. +# +# So, this hintsfile is using perl's malloc. If you want to turn +# perl's malloc off, you need to remove '-DUSE_PERL_SBRK' +# from the ccflags and set usemymalloc to 'n'. # +# 1997: +# From perl5.003_22 the malloc bug has no impact any more. We can run +# a perl without a special sbrk. Apparently Chip Salzenberg, the hero +# of 5.004 anyway, earned another trophy during Australien Open. +# +# use the following two lines to enable USE_PERL_SBRK. Try this if you +# encounter intermittent core dumps: +#ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK' +#usemymalloc='y' +# use the following two lines if you have perl5.003_22 or better and +# do not encounter intermittent core dumps. + +ccflags="$ccflags -DUSE_NEXT_CTYPE" +usemymalloc='n' + +###################################################################### +# End of the MALLOC story ###################################################################### -usemymalloc='y' +ldflags='-u libsys_s' +libswanted='dbm gdbm db' + +lddlflags='-nostdlib -r' +# Give cccdlflags an empty value since Configure will detect we are +# using GNU cc and try to specify -fpic for cccdlflags. +cccdlflags=' ' + +###################################################################### +# MAB support +###################################################################### +# By default we will build for all architectures your development +# environment supports. If you only want to build for the platform +# you are on, simply comment or remove the line below. +# +# If you want to build for specific architectures, change the line +# below to something like +# +# archs='m68k i386' +# +archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'` + +# +# leave the following part alone +# +archcount=`echo $archs |wc -w` +if [ $archcount -gt 1 ] +then + for d in $archs + do + mabflags="$mabflags -arch $d" + done + ccflags="$ccflags $mabflags" + ldflags="$ldflags $mabflags" + lddlflags="$lddlflags $mabflags" + archname='next-fat' +fi +###################################################################### +# END MAB support +###################################################################### +ld='cc' + +i_utime='undef' +groupstype='int' +direntrytype='struct direct' +d_strcoll='undef' d_uname='define' -d_setpgid='define' +# +# At least on m68k there are situations when memcmp doesn't behave +# as expected. So we'll use perl's memcmp. +# +d_sanemcmp='undef' +# setpgid() is in the posix library, but we don't use -posix, so +# we don't see it. ext/POSIX/POSIX.xs *does* use -posix, so +# setpgid is still available as POSIX::setpgid. +# See ext/POSIX/POSIX/hints/next.pl. +d_setpgid='undef' d_setsid='define' d_tcgetpgrp='define' d_tcsetpgrp='define' @@ -79,4 +125,17 @@ ranlib='sleep 5; /bin/ranlib' # # There where reports that the compiler on HPPA machines # fails with the -O flag on pp.c. -pp_cflags='optimize="-g"' +# Compiling pp.c with -O for HPPA machines results in a broken perl. +# This is true whether we're on an HPPA machine or cross-compiling +# for one. +pp_cflags='optimize=""' + +# The SysV IPC is optional (ftp://ftp.nluug.nl/pub/comp/next/SysVIPC/) +# Gerben_Wierda@RnA.nl +if [ -f /usr/local/lib/libIPC.a ]; then + libswanted="$libswanted IPC" + # As of Sep 1998 d_msg wasn't supported in that library, + # only d_sem and d_shm, but Configure should be able to + # figure that out. --jhi + # Note also the next3 ext/IPC/SysV hints file. +fi