home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / hints / cxux.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  1999-07-20  |  4KB  |  107 lines

  1. #! /local/gnu/bin/bash
  2. # Hints for the CX/UX 7.1 operating system running on Concurrent (formerly
  3. # Harris) NightHawk machines.  written by Tom.Horsley@mail.ccur.com
  4. #
  5. # This config is setup for dynamic linking and the Concurrent C compiler.
  6.  
  7. # Check some things and print warnings if this isn't going to work...
  8. #
  9. case ${SDE_TARGET:-ELF} in
  10.    [Cc][Oo][Ff][Ff]|[Oo][Cc][Ss]) echo ''
  11.       echo ''                                >&2
  12.       echo WARNING: Do not build perl 5 with the SDE_TARGET set to    >&2
  13.       echo generate coff object - perl 5 must be built in the ELF    >&2
  14.       echo environment.                            >&2
  15.       echo ''                                >&2
  16.       echo '';;
  17.    [Ee][Ll][Ff]) : ;;
  18.    *) echo ''                                >&2
  19.       echo 'Unknown SDE_TARGET value: '$SDE_TARGET            >&2
  20.       echo ''                                >&2 ;;
  21. esac
  22.  
  23. case `uname -r` in
  24.    [789]*) : ;;
  25.    *) echo ''
  26.       echo ''                                >&2
  27.       echo WARNING: Perl 5 requires shared library support, it cannot    >&2
  28.       echo be built on releases of CX/UX prior to 7.0 with this hints    >&2
  29.       echo file. You\'ll have to do a separate port for the statically    >&2
  30.       echo linked COFF environment.                    >&2
  31.       echo ''                                >&2
  32.       echo '';;
  33. esac
  34.  
  35. # Internally at Concurrent, we use a source management tool which winds up
  36. # giving us read-only copies of source trees that are mostly symbolic links.
  37. # That upsets the perl build process when it tries to edit opcode.h and
  38. # embed.h or touch perly.c or perly.h, so turn those files into "real" files
  39. # when Configure runs. (If you already have "real" source files, this won't
  40. # do anything).
  41. #
  42. if [ -x /usr/local/mkreal ]
  43. then
  44.    for i in '.' '..'
  45.    do
  46.       for j in embed.h opcode.h perly.h perly.c
  47.       do
  48.          if [ -h $i/$j ]
  49.          then
  50.             ( cd $i ; /usr/local/mkreal $j ; chmod 666 $j )
  51.          fi
  52.       done
  53.    done
  54. fi
  55.  
  56. # We DO NOT want -lmalloc
  57. #
  58. libswanted=`echo ' '$libswanted' ' | sed -e 's/ malloc / /'`
  59.  
  60. # Stick the low-level elf library path in first.
  61. #
  62. glibpth="/usr/sde/elf/usr/lib $glibpth"
  63.  
  64. # Need to use Concurrent cc for most of these options to be meaningful (if
  65. # you want to get this to work with gcc, you're on your own :-). Passing
  66. # -Bexport to the linker when linking perl is important because it leaves
  67. # the interpreter internal symbols visible to the shared libs that will be
  68. # loaded on demand (and will try to reference those symbols). The -u option
  69. # to drag 'sigaction' into the perl main program is to make sure it gets
  70. # defined for the posix shared library (for some reason sigaction is static,
  71. # rather than being defined in libc.so.1). The 88110compat option makes sure
  72. # the code will run on both 88100 and 88110 machines. The define is added to
  73. # trigger a work around for a compiler bug which shows up in pp.c.
  74. #
  75. cc='/bin/cc -Xa -Qtarget=M88110compat -DCXUX_BROKEN_CONSTANT_CONVERT'
  76. cccdlflags='-Zelf -Zpic'
  77. ccdlflags='-Zelf -Zlink=dynamic -Wl,-Bexport -u sigaction'
  78. lddlflags='-Zlink=so'
  79.  
  80. # Configure imagines that it sees a pw_quota field, but it is really in a
  81. # different structure than the one it thinks it is looking at.
  82. d_pwquota='undef'
  83.  
  84. # Configure sometimes finds what it believes to be ndbm header files on the
  85. # system and imagines that we have the NDBM library, but we really don't.
  86. # There is something there that once resembled ndbm, but it is purely
  87. # for internal use in some tool and has been hacked beyond recognition
  88. # (or even function :-)
  89. #
  90. i_ndbm='undef'
  91.  
  92. # Don't use the perl malloc
  93. #
  94. d_mymalloc='undef'
  95. usemymalloc='n'
  96.  
  97. cat <<'EOM' >&4
  98.  
  99. WARNING: If you are using ksh to run the Configure script, you may find it
  100. failing in mysterious ways (such as failing to find library routines which
  101. are known to exist). Configure seems to push ksh beyond its limits
  102. sometimes. Try using env to strip unnecessary things out of the environment
  103. and run Configure with /sbin/sh. That sometimes seems to produce more
  104. accurate results.
  105.  
  106. EOM
  107.