| 1 |
root |
1.1 |
# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE>, |
| 2 |
|
|
# Andreas Koenig <k@franz.ww.TU-Berlin.DE> and Gerd Knops <gerti@BITart.com>. |
| 3 |
|
|
# Comments, questions, and improvements welcome! |
| 4 |
|
|
# |
| 5 |
|
|
# These hints work for NeXT 3.2 and 3.3. 3.0 has its own |
| 6 |
|
|
# special hint file. |
| 7 |
|
|
# |
| 8 |
|
|
|
| 9 |
|
|
###################################################################### |
| 10 |
|
|
# THE MALLOC STORY |
| 11 |
|
|
###################################################################### |
| 12 |
|
|
# 1994: |
| 13 |
|
|
# the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails |
| 14 |
|
|
# with Larry's malloc on NS 3.2 due to broken sbrk() |
| 15 |
|
|
# |
| 16 |
|
|
# setting usemymalloc='n' was the solution back then. Later came |
| 17 |
|
|
# reports that perl would run unstable on 3.2: |
| 18 |
|
|
# |
| 19 |
|
|
# 1996: |
| 20 |
|
|
# From about perl5.002beta1h perl became unstable on the |
| 21 |
|
|
# NeXT. Intermittent coredumps were frequent on 3.2 OS. There were |
| 22 |
|
|
# reports, that the developer version of 3.3 didn't have problems, so it |
| 23 |
|
|
# seemed pretty obvious that we had to work around an malloc bug in 3.2. |
| 24 |
|
|
# This hints file reflects a patch to perl5.002_01 that introduces a |
| 25 |
|
|
# home made sbrk routine (remember, NeXT's sbrk _never_ worked). This |
| 26 |
|
|
# sbrk makes it possible to run perl with its own malloc. Thanks to |
| 27 |
|
|
# Ilya who showed me the way to his sbrk for OS/2!! |
| 28 |
|
|
# |
| 29 |
|
|
# The whole malloc desaster lead to a failing gdbm test. It is far |
| 30 |
|
|
# beyond my understanding, why GDBM_File breaks with the "fix", but in |
| 31 |
|
|
# general I consider it better to have a working perl with broken GDBM |
| 32 |
|
|
# than no perl at all. |
| 33 |
|
|
# |
| 34 |
|
|
# So, this hintsfile is using perl's malloc. If you want to turn |
| 35 |
|
|
# perl's malloc off, you need to remove '-DUSE_PERL_SBRK' |
| 36 |
|
|
# from the ccflags and set usemymalloc to 'n'. |
| 37 |
|
|
# |
| 38 |
|
|
# 1997: |
| 39 |
|
|
# From perl5.003_22 the malloc bug has no impact any more. We can run |
| 40 |
|
|
# a perl without a special sbrk. Apparently Chip Salzenberg, the hero |
| 41 |
|
|
# of 5.004 anyway, earned another trophy during Australien Open. |
| 42 |
|
|
# |
| 43 |
|
|
# use the following two lines to enable USE_PERL_SBRK. Try this if you |
| 44 |
|
|
# encounter intermittent core dumps: |
| 45 |
|
|
#ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK' |
| 46 |
|
|
#usemymalloc='y' |
| 47 |
|
|
# use the following two lines if you have perl5.003_22 or better and |
| 48 |
|
|
# do not encounter intermittent core dumps. |
| 49 |
|
|
|
| 50 |
|
|
ccflags="$ccflags -DUSE_NEXT_CTYPE" |
| 51 |
|
|
usemymalloc='n' |
| 52 |
|
|
|
| 53 |
|
|
###################################################################### |
| 54 |
|
|
# End of the MALLOC story |
| 55 |
|
|
###################################################################### |
| 56 |
|
|
|
| 57 |
|
|
ldflags='-u libsys_s' |
| 58 |
|
|
libswanted='dbm gdbm db' |
| 59 |
|
|
|
| 60 |
|
|
lddlflags='-nostdlib -r' |
| 61 |
|
|
# Give cccdlflags an empty value since Configure will detect we are |
| 62 |
|
|
# using GNU cc and try to specify -fpic for cccdlflags. |
| 63 |
|
|
cccdlflags=' ' |
| 64 |
|
|
|
| 65 |
|
|
###################################################################### |
| 66 |
|
|
# MAB support |
| 67 |
|
|
###################################################################### |
| 68 |
|
|
# By default we will build for all architectures your development |
| 69 |
|
|
# environment supports. If you only want to build for the platform |
| 70 |
|
|
# you are on, simply comment or remove the line below. |
| 71 |
|
|
# |
| 72 |
|
|
# If you want to build for specific architectures, change the line |
| 73 |
|
|
# below to something like |
| 74 |
|
|
# |
| 75 |
|
|
# archs='m68k i386' |
| 76 |
|
|
# |
| 77 |
|
|
archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'` |
| 78 |
|
|
|
| 79 |
|
|
# |
| 80 |
|
|
# leave the following part alone |
| 81 |
|
|
# |
| 82 |
|
|
archcount=`echo $archs |wc -w` |
| 83 |
|
|
if [ $archcount -gt 1 ] |
| 84 |
|
|
then |
| 85 |
|
|
for d in $archs |
| 86 |
|
|
do |
| 87 |
|
|
mabflags="$mabflags -arch $d" |
| 88 |
|
|
done |
| 89 |
|
|
ccflags="$ccflags $mabflags" |
| 90 |
|
|
ldflags="$ldflags $mabflags" |
| 91 |
|
|
lddlflags="$lddlflags $mabflags" |
| 92 |
|
|
archname='next-fat' |
| 93 |
|
|
fi |
| 94 |
|
|
###################################################################### |
| 95 |
|
|
# END MAB support |
| 96 |
|
|
###################################################################### |
| 97 |
|
|
ld='cc' |
| 98 |
|
|
|
| 99 |
|
|
i_utime='undef' |
| 100 |
|
|
groupstype='int' |
| 101 |
|
|
direntrytype='struct direct' |
| 102 |
|
|
d_strcoll='undef' |
| 103 |
|
|
d_uname='define' |
| 104 |
|
|
# |
| 105 |
|
|
# At least on m68k there are situations when memcmp doesn't behave |
| 106 |
|
|
# as expected. So we'll use perl's memcmp. |
| 107 |
|
|
# |
| 108 |
|
|
d_sanemcmp='undef' |
| 109 |
|
|
# setpgid() is in the posix library, but we don't use -posix, so |
| 110 |
|
|
# we don't see it. ext/POSIX/POSIX.xs *does* use -posix, so |
| 111 |
|
|
# setpgid is still available as POSIX::setpgid. |
| 112 |
|
|
# See ext/POSIX/POSIX/hints/next.pl. |
| 113 |
|
|
d_setpgid='undef' |
| 114 |
|
|
d_setsid='define' |
| 115 |
|
|
d_tcgetpgrp='define' |
| 116 |
|
|
d_tcsetpgrp='define' |
| 117 |
|
|
|
| 118 |
|
|
# |
| 119 |
|
|
# On some NeXT machines, the timestamp put by ranlib is not correct, and |
| 120 |
|
|
# this may cause useless recompiles. Fix that by adding a sleep before |
| 121 |
|
|
# running ranlib. The '5' is an empirical number that's "long enough." |
| 122 |
|
|
# |
| 123 |
|
|
ranlib='sleep 5; /bin/ranlib' |
| 124 |
|
|
|
| 125 |
|
|
# |
| 126 |
|
|
# There where reports that the compiler on HPPA machines |
| 127 |
|
|
# fails with the -O flag on pp.c. |
| 128 |
|
|
# Compiling pp.c with -O for HPPA machines results in a broken perl. |
| 129 |
|
|
# This is true whether we're on an HPPA machine or cross-compiling |
| 130 |
|
|
# for one. |
| 131 |
|
|
pp_cflags='optimize=""' |
| 132 |
|
|
|
| 133 |
|
|
# The SysV IPC is optional (ftp://ftp.nluug.nl/pub/comp/next/SysVIPC/) |
| 134 |
|
|
# Gerben_Wierda@RnA.nl |
| 135 |
|
|
if [ -f /usr/local/lib/libIPC.a ]; then |
| 136 |
|
|
libswanted="$libswanted IPC" |
| 137 |
|
|
# As of Sep 1998 d_msg wasn't supported in that library, |
| 138 |
|
|
# only d_sem and d_shm, but Configure should be able to |
| 139 |
|
|
# figure that out. --jhi |
| 140 |
|
|
# Note also the next3 ext/IPC/SysV hints file. |
| 141 |
|
|
fi |