ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/hints/next_3.sh
Revision: 1.1
Committed: Thu Jun 30 14:27:07 2005 UTC (21 years, 3 months ago) by root
Content type: application/x-sh
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
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