| 1 | # This file has been put together by Anno Siegel <[email protected]>,
|
|---|
| 2 | # Andreas Koenig <[email protected]> and Gerd Knops <[email protected]>.
|
|---|
| 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 | # [email protected]
|
|---|
| 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
|
|---|