home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / hints / next_3.sh < prev    next >
Text File  |  1999-10-01  |  5KB  |  142 lines

  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.  
  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
  142.