Commit | Line | Data |
---|---|---|
760ac839 LW |
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! | |
4aa0a1f7 | 4 | # |
022735b4 | 5 | # These hints work for NeXT 3.2 and 3.3. 3.0 has its own |
4aa0a1f7 | 6 | # special hint file. |
760ac839 | 7 | # |
4aa0a1f7 | 8 | |
da97b635 A |
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 | |
86058a2d GS |
35 | # perl's malloc off, you need to remove '-DUSE_PERL_SBRK' |
36 | # from the ccflags and set usemymalloc to 'n'. | |
da97b635 A |
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: | |
86058a2d | 45 | #ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK' |
da97b635 A |
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 | ||
c22e42be | 50 | ccflags="$ccflags -DUSE_NEXT_CTYPE" |
da97b635 A |
51 | usemymalloc='n' |
52 | ||
53 | ###################################################################### | |
54 | # End of the MALLOC story | |
55 | ###################################################################### | |
56 | ||
85e6fe83 | 57 | ldflags='-u libsys_s' |
a0d0e21e | 58 | libswanted='dbm gdbm db' |
5d94fbed | 59 | |
61d11634 | 60 | lddlflags='-nostdlib -r' |
5d94fbed AD |
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 | ||
7bac28a0 | 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 | |
760ac839 | 74 | # |
77172323 | 75 | # archs='m68k i386' |
760ac839 | 76 | # |
64a2d3c9 | 77 | archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'` |
40ea3355 | 78 | |
7bac28a0 | 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 | ###################################################################### | |
61d11634 | 97 | ld='cc' |
98 | ||
a0d0e21e LW |
99 | i_utime='undef' |
100 | groupstype='int' | |
101 | direntrytype='struct direct' | |
102 | d_strcoll='undef' | |
a0d0e21e | 103 | d_uname='define' |
7bac28a0 | 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' | |
2736da80 A |
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' | |
a0d0e21e LW |
114 | d_setsid='define' |
115 | d_tcgetpgrp='define' | |
116 | d_tcsetpgrp='define' | |
760ac839 | 117 | |
ecfc5424 AD |
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." | |
760ac839 | 122 | # |
ecfc5424 | 123 | ranlib='sleep 5; /bin/ranlib' |
760ac839 | 124 | |
40000a8c AD |
125 | # |
126 | # There where reports that the compiler on HPPA machines | |
127 | # fails with the -O flag on pp.c. | |
2736da80 A |
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=""' | |
85ab1d1d JH |
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 |