summaryrefslogtreecommitdiff
path: root/hints/next_3.sh
blob: 55e89591d88c09840b35a633fc1aba6dc09936ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE>,
# Andreas Koenig <k@franz.ww.TU-Berlin.DE> and Gerd Knops <gerti@BITart.com>.
# Comments, questions, and improvements welcome!
#
# These hints work for NeXT 3.2 and 3.3.  3.0 has it's own
# special hint file.
#

######################################################################
# 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:
#
# 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
# 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!!
#
# 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' and
# '-DHIDEMYMALLOC' 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 -DHIDEMYMALLOC'
#usemymalloc='y'
# use the following two lines if you have perl5.003_22 or better and
# do not encounter intermittent core dumps.

ccflags='-DUSE_NEXT_CTYPE'
usemymalloc='n'

######################################################################
# End of the MALLOC story
######################################################################

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'
#
# 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'

#
# 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."
#
ranlib='sleep 5; /bin/ranlib' 

#
# There where reports that the compiler on HPPA machines
# fails with the -O flag on pp.c.
# 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=""'