diff options
Diffstat (limited to 'hints')
-rw-r--r-- | hints/README.NeXT | 56 | ||||
-rw-r--r-- | hints/next_3.sh | 41 | ||||
-rw-r--r-- | hints/next_4.sh | 84 |
3 files changed, 67 insertions, 114 deletions
diff --git a/hints/README.NeXT b/hints/README.NeXT deleted file mode 100644 index 3e1a461913..0000000000 --- a/hints/README.NeXT +++ /dev/null @@ -1,56 +0,0 @@ -OPENSTEP --------- - -Support for OPENSTEP was added. Perl will build with as shared library. To build and install it, use this sequence: - -cd <wherever your perl source is> -sh Configure -des -DYLD_LIBRARY_PATH=`pwd`; export DYLD_LIBRARY_PATH -make -make test -make install - - -Depending on your shell, you might have to use - - setenv DYLD_LIBRARY_PATH `pwd` - -instead of - - DYLD_LIBRARY_PATH=`pwd`; export DYLD_LIBRARY_PATH - -Note: -During compilation/linking there are going to be some warnings, they do not seem to have any ill effects. - -Perl is going to be installed below the path /usr/local/OPENSTEP. This is done so that binaries for NEXTSTEP (3.2, 3.3 etc) will not be overwritten, since the OPENSTEP binaries will not work on those systems. Below is a part of my .zshrc file, that makes sure that the new OPENSTEP binaries are used on OPENSTEP: - -############################## -if(fgrep -s 'OPENSTEP 4.' /usr/lib/NextStep/software_version ) -then -path=(. /etc /usr/etc ~/Unix/bin /usr/local/OPENSTEP/bin /usr/local/bin /usr/local/netpbm/bin /usr/ucb /bin /usr/bin /usr/sybase/bin ~/Apps /LocalApps /NextApps /NextAdmin /NextDeveloper/Demos) -else -path=(. /etc /usr/etc ~/Unix/bin /usr/local/bin /usr/local/netpbm/bin /usr/ucb /bin /usr/bin /usr/sybase/bin ~/Apps /LocalApps /NextApps /NextAdmin /NextDeveloper/Demos) -fi -############################## - -You can change the installation path by changing 'prefix' in hints/next_4.sh before you run Configure. - - - -NEXTSTEP --------- - -The hints file for NEXTSTEP (hints/next_3.sh) was changed: - -- Support for MAB was added -- perl's malloc is used now; this should take care of some problems with NEXTSTEP 3.2 - -perl should build and install fine with this sequence: - -cd <wherever your perl source is> -sh Configure -des -make -make test -make install - - diff --git a/hints/next_3.sh b/hints/next_3.sh index 2ea3c654c0..829d273a27 100644 --- a/hints/next_3.sh +++ b/hints/next_3.sh @@ -62,25 +62,50 @@ lddlflags='-nostdlib -r' # 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 # -# Change the line below if you do not want to build 'quad-fat' -# binaries +# archs=(m68k i386) # archs=`/bin/lipo -info /usr/lib/libm.a | sed 's/^[^:]*:[^:]*: //'` -for d in $archs -do - mab="$mab -arch $d" -done -archname='next-fat' +# +# 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' +# +# 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. diff --git a/hints/next_4.sh b/hints/next_4.sh index 651b5e40fc..1108794868 100644 --- a/hints/next_4.sh +++ b/hints/next_4.sh @@ -23,27 +23,37 @@ 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. +# +# If you want to build for specific architectures, change the line +# below to something like # -# Change the lines below if you do not want to build 'triple-fat' -# binaries +# archs=(m68k i386) # archs=`/bin/lipo -info /usr/lib/libm.a | sed 's/^[^:]*:[^:]*: //'` -for d in $archs -do - mab="$mab -arch $d" -done # -# Unfortunately, "cc -E - $mab" doesn't work. Since that's what -# Configure will try if we add $mab to $ccflags, we won't. If you want -# to build a fat binary, try changing $ccflags and $ccdlflags to look -# like this when Configure invites you to edit config.h manually: -# -# ccflags="$ccflags $mab" -# ccdlflags="$mab" -# -# (I wonder: 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' @@ -53,48 +63,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' @@ -104,8 +93,3 @@ clocktype='int' # running ranlib. The '5' is an empirical number that's "long enough." # (Thanks to Andreas Koenig <k@franz.ww.tu-berlin.de>) 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"' |