This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge branch 'vincent/rvalue_stmt_given' into blead
[perl5.git] / hints / dgux.sh
CommitLineData
8e9464f1 1# $Id: dgux.sh,v 1.9 2001-05-07 00:06:00-05 Takis Exp $
c07a80fd 2
8e9464f1
JH
3# This is a hints file for DGUX, which is EMC's Data General's Unix. It
4# was originally developed with version 5.4.3.10 of the OS, and then was
735aabf6
RS
5# later updated running under version 4.11.2 (running on m88k hardware).
6# The gross features should work with versions going back to 2.nil but
7# some tweaking will probably be necessary.
a0d0e21e 8#
d1be9408 9# DGUX is an SVR4 derivative. It ships with gcc as the standard
735aabf6 10# compiler. Since version 3.0 it has shipped with Perl 4.036
c07a80fd 11# installed in /usr/bin, which is kind of neat. Be careful when you
12# install that you don't overwrite the system version, though (by
13# answering yes to the question about installing perl as /usr/bin/perl),
14# as it would suck to try to get support if the vendor learned that you
15# were physically replacing the system binaries.
a0d0e21e 16#
54310121 17# -Roderick Schertler <roderick@argon.org>
a0d0e21e 18
c07a80fd 19# The standard system compiler is gcc, but invoking it as cc changes its
20# behavior. I have to pick one name or the other so I can get the
21# dynamic loading switches right (they vary depending on this). I'm
22# picking gcc because there's no way to get at the optimization options
23# and so on when you call it cc.
8e9464f1
JH
24
25##########################################
26# Modified by Takis Psarogiannakopoulos
27# Universirty of Cambridge
28# Centre for Mathematical Sciences
29# Department of Pure Mathematics
30# Wilberforce road
31# Cambridge CB3 0WB , UK
95036ac7 32# e-mail <takis@XFree86.Org>
8e9464f1
JH
33# Use GCC-2.95.2/3 rev (DG/UX) for threads
34# This compiler supports the -pthread switch
35# to link correctly DG/UX 's -lthread.
95036ac7 36# March 2002
8e9464f1
JH
37###########################################
38
39cc=gcc
40ccflags="-DDGUX -D_DGUX_SOURCE"
95036ac7
JH
41# Debug build. If using GNU as,ld use the flag -gstabs+
42# ccflags="-g -mstandard -DDGUX -D_DGUX_SOURCE -DDEBUGGING"
8e9464f1 43# Dummy ; always compile with -O2 on GCC 2.95.2/3 rev (DG/UX)
95036ac7 44# even if you debugging the program!
8e9464f1
JH
45optimize="-mno-legend -O2"
46
47archname="ix86-dgux"
48libpth="/usr/lib"
49
50#####################################
95036ac7 51# <takis@XFree86.Org>
8e9464f1
JH
52# Change this if you want.
53# prefix =/usr/local
54#####################################
55
56prefix=/usr/local
b70b2c2a
VP
57perlpath="$prefix/bin/perl513"
58startperl="#! $prefix/bin/perl513"
59privlib="$prefix/lib/perl513"
8e9464f1
JH
60man1dir="$prefix/man/man1"
61man3dir="$prefix/man/man3"
62
b70b2c2a
VP
63sitearch="$prefix/lib/perl513/$archname"
64sitelib="$prefix/lib/perl513"
8e9464f1
JH
65
66#Do not overwrite by default /usr/bin/perl of DG/UX
67installusrbinperl="$undef"
68
69# Configure may fail to find lstat()
70# function in <sys/stat.h>.
95036ac7 71d_lstat='define'
8e9464f1 72
95036ac7
JH
73# Internal (perl) malloc is causing serious problems and
74# test failures in DG/UX. Most notable Embed.t
75# So for perl-5.7.3 and on do NOT use.
8e9464f1 76# I have no time to investigate more.
95036ac7 77# <takis@XFree86.Org>
8e9464f1
JH
78
79case "$usemymalloc" in
95036ac7 80'') usemymalloc='n' ;;
c07a80fd 81esac
82
8e9464f1
JH
83case "$uselongdouble" in
84'') uselongdouble='y' ;;
85esac
86
8e9464f1
JH
87#usevfork=true
88usevfork=false
c07a80fd 89
90# DG has this thing set up with symlinks which point to different places
91# depending on environment variables (see elink(5)) and the compiler and
92# related tools use them to access different development environments
93# (COFF, ELF, m88k BCS and so on), see sde(5). The upshot, however, is
94# that when a normal program tries to access one of these elinks it sees
95# no such file (like stat()ting a mis-directed symlink). Setting
96# $plibpth to explicitly include the place to which the elinks point
97# allows Configure to find libraries which vary based on the development
98# environment.
735aabf6
RS
99#
100# Starting with version 4.10 (the first time the OS supported Intel
101# hardware) all libraries are accessed with this mechanism.
102#
103# The default $TARGET_BINARY_INTERFACE changed with version 4.10. The
104# system now comes with a link named /usr/sde/default which points to
105# the proper entry, but older versions lacked this and used m88kdgux
106# directly.
107
108: && sde_path=${SDE_PATH:-/usr}/sde # hide from Configure
109while : # dummy loop
110do
111 if [ -n "$TARGET_BINARY_INTERFACE" ]
112 then set X "$TARGET_BINARY_INTERFACE"
113 else set X default dg m88k_dg ix86_dg m88kdgux m88kdguxelf
114 fi
115 shift
116 default_sde=$1
117 for sde
118 do
119 [ -d "$sde_path/$sde" ] && break 2
120 done
68dc0745 121 cat <<END >&2
735aabf6
RS
122
123NOTE: I can't figure out what SDE is used by default on this machine (I
124didn't find a likely directory under $sde_path). This is bad news. If
125this is a R4.10 or newer system I'm not going to be able to find any of
126your libraries, if this system is R3.10 or older I won't be able to find
127the math library. You should re-run Configure with the environment
128variable TARGET_BINARY_INTERFACE set to the proper value for this
129machine, see sde(5) and the notes in hints/dgux.sh.
130
131END
132 sde=$default_sde
133 break
134done
135
136plibpth="$plibpth $sde_path/$sde/usr/lib"
137unset sde_path default_sde sde
c07a80fd 138
8e9464f1 139#####################################
95036ac7 140# <takis@XFree86.Org>
8e9464f1
JH
141#####################################
142
b70b2c2a 143libperl="libperl513.so"
8e9464f1 144
c07a80fd 145# Many functions (eg, gethostent(), killpg(), getpriority(), setruid()
146# dbm_*(), and plenty more) are defined in -ldgc. Usually you don't
147# need to know this (it seems that libdgc.so is searched automatically
148# by ld), but Configure needs to check it otherwise it will report all
149# those functions as missing.
8e9464f1
JH
150
151#####################################
95036ac7 152# <takis@XFree86.Org>
8e9464f1
JH
153#####################################
154
155# libswanted="dgc gdbm $libswanted"
156#libswanted="dbm posix $libswanted"
95036ac7
JH
157# Do *NOT* add there the malloc native
158# DG/UX library!
8e9464f1
JH
159libswanted="dbm posix resolv socket nsl dl m"
160
161#####################################
95036ac7 162# <takis@XFree86.Org>
8e9464f1
JH
163#####################################
164
165mydomain='.localhost'
166cf_by=`(whoami) 2>/dev/null`
167cf_email="$cf_by@localhost"
c07a80fd 168
169# Dynamic loading works using the dlopen() functions. Note that dlfcn.h
735aabf6
RS
170# used to be broken, it declared _dl*() rather than dl*(). This was the
171# case up to 3.10, it has been fixed in 4.11. I'm not sure if it was
172# fixed in 4.10. If you have the older header just ignore the warnings
173# (since pointers and integers have the same format on m88k).
8e9464f1
JH
174
175# usedl=true
176usedl=false
177
c07a80fd 178# For cc rather than gcc the flags would be `-K PIC' for compiling and
179# -G for loading. I haven't tested this.
8e9464f1
JH
180
181#####################################
95036ac7 182# <takis@XFree86.Org>
8e9464f1
JH
183# Use -fPIC instead -fpic
184#####################################
185
186cccdlflags=-fPIC
187#We must use gcc
188ld="gcc"
189lddlflags="-shared"
190
191############################################################################
192# DGUX Posix 4A Draft 10 Thread support
95036ac7 193# <takis@XFree86.Org>
8e9464f1
JH
194# use Configure -Dusethreads to enable
195############################################################################
196
197cat > UU/usethreads.cbu <<'EOCBU'
198case "$usethreads" in
199$define|true|[yY]*)
200 ccflags="$ccflags"
95036ac7
JH
201 # DG/UX has this for sure! Main Configure fails to
202 # detect it but it is needed!
203 d_pthread_atfork='define'
8e9464f1
JH
204 shift
205 # DG/UX's sched_yield is in -lrte
95036ac7
JH
206 # Do *NOT* add there the malloc native
207 # DG/UX library!
8e9464f1
JH
208 libswanted="dbm posix resolv socket nsl dl m rte"
209 archname="ix86-dgux-thread"
b70b2c2a
VP
210 sitearch="$prefix/lib/perl513/$archname"
211 sitelib="$prefix/lib/perl513"
8e9464f1
JH
212 case "$cc" in
213 *gcc*)
214 #### Use GCC -2.95.2/3 rev (DG/UX) and -pthread
215 #### Otherwise take out the switch -pthread
216 #### And add manually the -D_POSIX4A_DRAFT10_SOURCE flag.
217 ld="gcc"
218 ccflags="$ccflags -D_POSIX4A_DRAFT10_SOURCE"
219 # Debug build : use -DS flag on command line perl
95036ac7 220 # ccflags="$ccflags -g -mstandard -DDEBUGGING -D_POSIX4A_DRAFT10_SOURCE -pthread"
8e9464f1
JH
221 cccdlflags='-fPIC'
222 lddlflags="-shared"
223 #### Use GCC -2.95.2/3 rev (DG/UX) and -pthread
224 #### Otherwise take out the switch -pthread
225 #### And add manually the -lthread library.
226 ldflags="$ldflags -pthread"
227 ;;
228
229 *)
230 echo "Not supported DG/UX cc and threads !"
231 ;;
232 esac
233esac
234EOCBU
235
236# "./Configure -d" can't figure this out easily
237d_suidsafe='define'
238
239###################################################