X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fnext_3.sh;h=d667ca28685b6e9283703916998dadb8c9e8ba3b;hb=57560dc7335aaed00185c3cccea22fe709754f18;hp=e9f616a3f35abe08a83566d1cf44c99ef8a5e694;hpb=61d11634cacdf659ffe6dc49ffff809a50fd4134;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/next_3.sh b/hints/next_3.sh index e9f616a..d667ca2 100644 --- a/hints/next_3.sh +++ b/hints/next_3.sh @@ -1,12 +1,12 @@ -# This file has been put together by Anno Siegel -# and Andreas Koenig . Comments, questions, and -# improvements welcome! +# This file has been put together by Anno Siegel , +# 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 # special hint file. +# -ccflags='-DUSE_NEXT_CTYPE' -POSIX_cflags='ccflags="-posix $ccflags"' +ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' ldflags='-u libsys_s' libswanted='dbm gdbm db' @@ -15,7 +15,17 @@ lddlflags='-nostdlib -r' # using GNU cc and try to specify -fpic for cccdlflags. cccdlflags=' ' -mab='-arch m68k -arch i386 -arch hppa -arch sparc' +# +# 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' @@ -23,21 +33,56 @@ i_utime='undef' groupstype='int' direntrytype='struct direct' d_strcoll='undef' + +###################################################################### +# THE MALLOC STORY +###################################################################### +# 1994: # the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails # with Larry's malloc on NS 3.2 due to broken sbrk() -usemymalloc='n' +# +# setting usemymalloc='n' was the solution back then. Later came +# reports that perl would run unstable on 3.2: +# +# 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 +# seemed pretty obvious that we had to work around an malloc bug in 3.2. +# This hints file reflects a patch to perl5.002_01 that introduces a +# 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'. +# +###################################################################### +usemymalloc='y' + d_uname='define' -d_setpgid='define' +# 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' + # # On some NeXT machines, the timestamp put by ranlib is not correct, and # this may cause useless recompiles. Fix that by adding a sleep before # running ranlib. The '5' is an empirical number that's "long enough." -# (Thanks to Andreas Koenig ) +# 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=""'