Patch to Build Dynamic-Lib (DLL) version of perl using gnuwin32 b17.1
[p5sagit/p5-mst-13.2.git] / hints / bsdos.sh
1 # hints/bsdos.sh
2 #
3 # hints file for BSD/OS 2.x (adapted from bsd386.sh)
4 # Original by Neil Bowers <neilb@khoros.unm.edu>
5 #     Tue Oct  4 12:01:34 EDT 1994
6 # Updated by Tony Sanders <sanders@bsdi.com>
7 #     Mon Nov 27 17:25:51 CST 1995
8 #
9 # You can override the compiler and loader on the Configure command line:
10 #     ./Configure -Dcc=shlicc2 -Dld=shlicc2
11
12 # filename extension for shared library objects
13 so='o'
14
15 # Don't use this for Perl 5.002, which needs parallel sig_name and sig_num lists
16 #sig_name='ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 '
17 signal_t='void'
18 d_voidsig='define'
19 d_dosuid='define'
20
21 # we don't want to use -lnm, since exp() is busted (in 1.1 anyway)
22 set `echo X "$libswanted "| sed -e 's/ nm / /'`
23 shift
24 libswanted="$*"
25
26 # BSD/OS X libraries are in their own tree
27 glibpth="$glibpth /usr/X11/lib"
28 ldflags="$ldflags -L/usr/X11/lib"
29
30 # Avoid telldir prototype conflict in pp_sys.c
31 pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
32
33 case "$bsdos_distribution" in
34 defined)
35         d_portable='no'
36         prefix='/usr/contrib'
37         man3dir='/usr/contrib/man/man3'
38         ;;
39 esac
40
41 case "$osvers" in
42 1.0*)
43         # Avoid problems with HUGE_VAL in POSIX in 1.0's cc.
44         POSIX_cflags='ccflags="$ccflags -UHUGE_VAL"' 
45         ;;
46 1.1*)
47         # Use gcc2
48         case "$cc" in
49         '')     cc='gcc2' ;;
50         esac
51         ;;
52 2.0*)
53         # default to GCC 2.X w/shared libraries
54         case "$cc" in
55         '')     cc='shlicc2' ;;
56         esac
57
58         # default ld to shared library linker
59         case "$ld" in
60         '')     ld='shlicc2' ;;
61         esac
62
63         # setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS stuff
64         # in 4.4BSD-based systems (including BSD/OS 2.0 and later).
65         # See http://www.bsdi.com/bsdi-man?setuid(2)
66         d_setregid='undef'
67         d_setreuid='undef'
68         d_setrgid='undef'
69         d_setruid='undef'
70         ;;
71 2.1*|3.0*)
72         # Use 2.1's shlicc2 for dynamic linking
73         # Since cc -o is linking, use it for compiling too.
74         # I'm not sure whether Configure is careful about
75         # distinguishing between the two.
76
77         case "$cc" in
78         '')     cc='shlicc2'
79                 cccdlflags=' ' ;; # Avoid the dreaded -fpic
80         esac
81
82         # Link with shared libraries in 2.1
83         # Turns out that shlicc2 will automatically use the
84         # shared libs, so don't explicitly specify -lc_s.2.1.*
85         case "$ld" in
86         '')     ld='shlicc2'
87                 lddlflags='-r' ;; # this one is necessary
88         esac
89
90         # setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS  stuff
91         # in 4.4BSD-based systems (including BSD/OS 2.0 and later).
92         # See http://www.bsdi.com/bsdi-man?setuid(2)
93         # This stuff may or may not be right, but it works.
94         d_setregid='undef'
95         d_setreuid='undef'
96         d_setrgid='undef'
97         d_setruid='undef'
98
99         # based on the 5.001m hints file from BSD/OS source disk
100         # (this is needed for pTk to work)
101
102         # BSD/OS 2.1 doesn't (yet) support true dynamic linking.
103         # So we "preload' the shared libraries by linking against
104         # them, even though we don't pull in any symbols thereby.
105         libswanted="Xpm Xaw Xmu Xt SM ICE Xext X11 $libswanted"
106         libswanted="rpc curses termcap $libswanted"
107
108         ;;
109 3.0*)
110         # adapted from 2.1 entry by Christopher Davis <ckd@kei.com
111         # Use 3.0's shlicc2 for dynamic linking
112         # Since cc -o is linking, use it for compiling too.
113         # I'm not sure whether Configure is careful about
114         # distinguishing between the two.
115
116         case "$cc" in
117         '')     cc='shlicc2'
118                 cccdlflags=' ' ;; # Avoid the dreaded -fpic
119         esac
120
121         # Link with shared libraries in 3.0
122         # Turns out that shlicc2 will automatically use the
123         # shared libs, so don't explicitly specify them
124         case "$ld" in
125         '')     ld='shlicc2'
126                 lddlflags='-r' ;; # this one is necessary
127         esac
128
129         # setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS  stuff
130         # in 4.4BSD-based systems (including BSD/OS 2.0 and later).
131         # See http://www.bsdi.com/bsdi-man?setuid(2)
132         # This stuff may or may not be right, but it works.
133         d_setregid='undef'
134         d_setreuid='undef'
135         d_setrgid='undef'
136         d_setruid='undef'
137
138         # this may still be needed for Tk and such
139         # BSD/OS doesn't (yet) support true dynamic linking.
140         # So we "preload' the shared libraries by linking against
141         # them, even though we don't pull in any symbols thereby.
142         libswanted="Xpm Xaw Xmu Xt SM ICE Xext X11 $libswanted"
143         libswanted="rpc curses termcap $libswanted"
144
145         # the IPC stuff doesn't work the way perl expects
146         d_msg='undef'
147         d_msgctl='undef'
148         d_msgget='undef'
149         d_msgrcv='undef'
150         d_msgsnd='undef'
151         d_sem='undef'
152         d_semctl='undef'
153         d_semget='undef'
154         d_semop='undef'
155         d_shm='undef'
156         d_shmat='undef'
157         d_shmatprototype='undef'
158         d_shmctl='undef'
159         d_shmdt='undef'
160         d_shmget='undef'
161
162         # use system malloc instead of perl's
163         d_mymalloc='undef'
164         i_malloc='undef'
165         usemymalloc='n'
166
167         ;;
168 esac