source: trunk/third/perl/hints/next_3.sh @ 14545

Revision 14545, 4.8 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, which included commits to RCS files with non-trunk default branches.
Line 
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 it's 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
50ccflags="$ccflags -DUSE_NEXT_CTYPE"
51usemymalloc='n'
52
53######################################################################
54# End of the MALLOC story
55######################################################################
56
57ldflags='-u libsys_s'
58libswanted='dbm gdbm db'
59
60lddlflags='-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.
63cccdlflags=' '
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#
77archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'`
78
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######################################################################
97ld='cc'
98
99i_utime='undef'
100groupstype='int'
101direntrytype='struct direct'
102d_strcoll='undef'
103d_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#
108d_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.
113d_setpgid='undef'
114d_setsid='define'
115d_tcgetpgrp='define'
116d_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#
123ranlib='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.
131pp_cflags='optimize=""'
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
Note: See TracBrowser for help on using the repository browser.