X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fnext_4.sh;h=d5c8ba7d64e11bc8334e1aadc6704fc1e7887d28;hb=a8c08ecdc5ffec9869657a967edfe7b74a713a27;hp=bd6a38734ceec525632cd0b0d9fab735f74605d6;hpb=bf5a71f00df2acecbeaf55869d887fde1b87d410;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/next_4.sh b/hints/next_4.sh index bd6a387..d5c8ba7 100644 --- a/hints/next_4.sh +++ b/hints/next_4.sh @@ -1,41 +1,62 @@ -###################################################################### -# -# IMPORTANT: before you run 'make', you need to enter one of these two -# lines (depending on your shell): -# DYLD_LIBRARY_PATH=`pwd`; export DYLD_LIBRARY_PATH -# or -# setenv DYLD_LIBRARY_PATH `pwd` -# -###################################################################### - # Posix support has been removed from NextStep # useposix='undef' -libpth='/lib /usr/lib' +libpth='/lib /usr/lib /usr/local/lib' libswanted=' ' libc='/NextLibrary/Frameworks/System.framework/System' -ldflags='-dynamic -prebind' -lddlflags='-dynamic -bundle -undefined suppress' -ccflags='-dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' +ldflags="$ldflags -dynamic -prebind" +lddlflags="$lddlflags -dynamic -bundle -undefined suppress" +ccflags="$ccflags -dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK" cccdlflags='none' ld='cc' #optimize='-g -O' +###################################################################### +# 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. # -# Change the lines below if you do not want to build 'quad-fat' -# binaries +# If you want to build for specific architectures, change the line +# below to something like # -archs=`/bin/lipo -info /usr/lib/libm.a | sed 's/^[^:]*:[^:]*: //'` -for d in $archs -do - mab="$mab -arch $d" -done +# archs='m68k i386' +# + +# On m68k machines, toke.c cannot be compiled at all for i386 and it can +# only be compiled for m68k itself without optimization (this is under +# OPENSTEP 4.2). +# +if [ `hostinfo | grep 'NeXT Mach.*:' | sed 's/.*RELEASE_//'` = M68K ] +then + echo "Cross compilation is impossible on m68k hardware under OS 4" + echo "Forcing architecture to m68k only" + toke_cflags='optimize=""' + archs='m68k' +else + archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'` +fi -ccflags="$ccflags $mab" -ccdlflags="$mab" -# Can we also set ld='libtool -xxx' ? +# +# 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" +fi +###################################################################### +# END MAB support +###################################################################### useshprlib='true' dlext='bundle' @@ -45,48 +66,27 @@ so='dylib' # The default prefix would be '/usr/local'. But since many people are # likely to have still 3.3 machines on their network, we do not want # to overwrite possibly existing 3.3 binaries. -# Allow a Configure -Dprefix=/foo/bar override. +# You can use Configure -Dprefix=/foo/bar to override this, or simply +# remove the lines below. # case "$prefix" in '') prefix='/usr/local/OPENSTEP' ;; esac -#archlib='/usr/lib/perl5' -#archlibexp='/usr/lib/perl5' archname='OPENSTEP-Mach' +# +# At least on m68k there are situations when memcmp doesn't behave +# as expected. So we'll use perl's memcmp. +# +d_sanemcmp='undef' + d_strcoll='undef' i_dbm='define' i_utime='undef' groupstype='int' direntrytype='struct direct' -###################################################################### -# 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() -# -# 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' clocktype='int' @@ -96,8 +96,7 @@ clocktype='int' # 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. -# But since there is no HPPA for OPENSTEP... -# pp_cflags='optimize="-g"' + +case "$ldlibpthname" in +'') ldlibpthname=DYLD_LIBRARY_PATH ;; +esac