This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate mainline
[perl5.git] / hints / next_3.sh
CommitLineData
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 50ccflags="$ccflags -DUSE_NEXT_CTYPE"
da97b635
A
51usemymalloc='n'
52
53######################################################################
54# End of the MALLOC story
55######################################################################
56
85e6fe83 57ldflags='-u libsys_s'
a0d0e21e 58libswanted='dbm gdbm db'
5d94fbed 59
61d11634 60lddlflags='-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.
63cccdlflags=' '
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 77archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'`
40ea3355 78
7bac28a0 79#
80# leave the following part alone
81#
82archcount=`echo $archs |wc -w`
83if [ $archcount -gt 1 ]
84then
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'
93fi
94######################################################################
95# END MAB support
96######################################################################
61d11634 97ld='cc'
98
a0d0e21e
LW
99i_utime='undef'
100groupstype='int'
101direntrytype='struct direct'
102d_strcoll='undef'
a0d0e21e 103d_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#
108d_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.
113d_setpgid='undef'
a0d0e21e
LW
114d_setsid='define'
115d_tcgetpgrp='define'
116d_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 123ranlib='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.
131pp_cflags='optimize=""'
85ab1d1d
JH
132
133# The SysV IPC is optional (ftp://ftp.nluug.nl/pub/comp/next/SysVIPC/)
134# Gerben_Wierda@RnA.nl
135if [ -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.
141fi