]>
Commit | Line | Data |
---|---|---|
b72432fd JA |
1 | #! /bin/sh |
2 | # | |
3 | # shobj-conf -- output a series of variable assignments to be substituted | |
4 | # into a Makefile by configure which specify system-dependent | |
5 | # information for creating shared objects that may be loaded | |
6 | # into bash with `enable -f' | |
7 | # | |
8 | # usage: shobj-conf [-C compiler] -c host_cpu -o host_os -v host_vendor | |
9 | # | |
10 | # Chet Ramey | |
11 | # chet@po.cwru.edu | |
12 | ||
234d8729 | 13 | # Copyright (C) 1996-2007 Free Software Foundation, Inc. |
7117c2d2 JA |
14 | # |
15 | # This program is free software; you can redistribute it and/or modify | |
16 | # it under the terms of the GNU General Public License as published by | |
17 | # the Free Software Foundation; either version 2, or (at your option) | |
18 | # any later version. | |
19 | # | |
20 | # This program is distributed in the hope that it will be useful, | |
21 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
22 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
23 | # GNU General Public License for more details. | |
24 | # | |
25 | # You should have received a copy of the GNU General Public License | |
26 | # along with this program; if not, write to the Free Software | |
27 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. | |
28 | ||
b72432fd JA |
29 | # |
30 | # defaults | |
31 | # | |
32 | SHOBJ_STATUS=supported | |
33 | SHLIB_STATUS=supported | |
34 | ||
35 | SHOBJ_CC=cc | |
36 | SHOBJ_CFLAGS= | |
37 | SHOBJ_LD= | |
38 | SHOBJ_LDFLAGS= | |
39 | SHOBJ_XLDFLAGS= | |
40 | SHOBJ_LIBS= | |
41 | ||
42 | SHLIB_XLDFLAGS= | |
43 | SHLIB_LIBS= | |
055a1bf5 CR |
44 | |
45 | SHLIB_DOT='.' | |
46 | SHLIB_LIBPREF='lib' | |
b72432fd JA |
47 | SHLIB_LIBSUFF='so' |
48 | ||
49 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF)' | |
055a1bf5 | 50 | SHLIB_DLLVERSION='$(SHLIB_MAJOR)' |
b72432fd JA |
51 | |
52 | PROGNAME=`basename $0` | |
53 | USAGE="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor" | |
54 | ||
55 | while [ $# -gt 0 ]; do | |
56 | case "$1" in | |
57 | -C) shift; SHOBJ_CC="$1"; shift ;; | |
58 | -c) shift; host_cpu="$1"; shift ;; | |
59 | -o) shift; host_os="$1"; shift ;; | |
60 | -v) shift; host_vendor="$1"; shift ;; | |
61 | *) echo "$USAGE" >&2 ; exit 2;; | |
62 | esac | |
63 | done | |
64 | ||
65 | case "${host_os}-${SHOBJ_CC}" in | |
28ef6c31 | 66 | sunos4*-*gcc*) |
b72432fd JA |
67 | SHOBJ_CFLAGS=-fpic |
68 | SHOBJ_LD=/usr/bin/ld | |
69 | SHOBJ_LDFLAGS='-assert pure-text' | |
70 | ||
71 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' | |
72 | ;; | |
73 | ||
74 | sunos4*) | |
75 | SHOBJ_CFLAGS=-pic | |
76 | SHOBJ_LD=/usr/bin/ld | |
77 | SHOBJ_LDFLAGS='-assert pure-text' | |
78 | ||
79 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' | |
80 | ;; | |
81 | ||
28ef6c31 | 82 | sunos5*-*gcc*|solaris2*-*gcc*) |
b72432fd | 83 | SHOBJ_LD='${CC}' |
cc87ba64 CR |
84 | ld_used=`gcc -print-prog-name=ld` |
85 | if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then | |
86 | # This line works for the GNU ld | |
87 | SHOBJ_LDFLAGS='-shared -Wl,-h,$@' | |
1d0e1a34 CR |
88 | # http://sourceware.org/ml/binutils/2001-08/msg00361.html |
89 | SHOBJ_CFLAGS=-fPIC | |
cc87ba64 CR |
90 | else |
91 | # This line works for the Solaris linker in /usr/ccs/bin/ld | |
92 | SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@' | |
1d0e1a34 | 93 | SHOBJ_CFLAGS=-fpic |
cc87ba64 | 94 | fi |
b72432fd | 95 | |
bb70624e | 96 | # SHLIB_XLDFLAGS='-R $(libdir)' |
b72432fd JA |
97 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
98 | ;; | |
99 | ||
100 | sunos5*|solaris2*) | |
101 | SHOBJ_CFLAGS='-K pic' | |
102 | SHOBJ_LD=/usr/ccs/bin/ld | |
103 | SHOBJ_LDFLAGS='-G -dy -z text -i -h $@' | |
104 | ||
bb70624e | 105 | # SHLIB_XLDFLAGS='-R $(libdir)' |
b72432fd JA |
106 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
107 | ;; | |
108 | ||
f73dda09 | 109 | # All versions of Linux or the semi-mythical GNU Hurd. |
d3a24ed2 | 110 | linux*-*|gnu*-*|k*bsd*-gnu-*) |
f73dda09 JA |
111 | SHOBJ_CFLAGS=-fPIC |
112 | SHOBJ_LD='${CC}' | |
113 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' | |
114 | ||
115 | SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' | |
116 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' | |
117 | ;; | |
118 | ||
d3ad40de | 119 | freebsd2*) |
b72432fd JA |
120 | SHOBJ_CFLAGS=-fpic |
121 | SHOBJ_LD=ld | |
122 | SHOBJ_LDFLAGS='-x -Bshareable' | |
123 | ||
124 | SHLIB_XLDFLAGS='-R$(libdir)' | |
125 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' | |
126 | ;; | |
127 | ||
bb70624e | 128 | # FreeBSD-3.x ELF |
798a67db | 129 | freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*) |
d3ad40de | 130 | SHOBJ_CFLAGS=-fPIC |
b72432fd | 131 | SHOBJ_LD='${CC}' |
b72432fd | 132 | |
bb70624e JA |
133 | if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then |
134 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' | |
135 | ||
136 | SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)' | |
137 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
138 | else | |
139 | SHOBJ_LDFLAGS='-shared' | |
140 | ||
141 | SHLIB_XLDFLAGS='-R$(libdir)' | |
142 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' | |
143 | fi | |
b72432fd | 144 | ;; |
f73dda09 JA |
145 | |
146 | # Darwin/MacOS X | |
866961ad | 147 | darwin[89]*) |
8d618825 CR |
148 | SHOBJ_STATUS=supported |
149 | SHLIB_STATUS=supported | |
150 | ||
151 | SHOBJ_CFLAGS='-fno-common' | |
152 | ||
153 | SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}' | |
154 | ||
155 | SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)' | |
156 | SHLIB_LIBSUFF='dylib' | |
157 | ||
d3ad40de | 158 | SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup -arch_only `/usr/bin/arch`' |
8d618825 CR |
159 | SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' |
160 | ||
161 | SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1 | |
162 | ;; | |
163 | ||
f73dda09 JA |
164 | darwin*|macosx*) |
165 | SHOBJ_STATUS=unsupported | |
166 | SHLIB_STATUS=supported | |
167 | ||
d3a24ed2 | 168 | SHOBJ_CFLAGS='-fno-common' |
f73dda09 | 169 | |
d3a24ed2 | 170 | SHOBJ_LD='${CC}' |
f73dda09 JA |
171 | |
172 | SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)' | |
173 | SHLIB_LIBSUFF='dylib' | |
174 | ||
5e13499c | 175 | case "${host_os}" in |
866961ad | 176 | darwin[789]*) SHOBJ_LDFLAGS='' |
5e13499c CR |
177 | SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' |
178 | ;; | |
179 | *) SHOBJ_LDFLAGS='-dynamic' | |
180 | SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' | |
181 | ;; | |
182 | esac | |
f73dda09 | 183 | |
d3a24ed2 | 184 | SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1 |
f73dda09 JA |
185 | ;; |
186 | ||
d3ad40de | 187 | openbsd*|netbsd*) |
b72432fd JA |
188 | SHOBJ_CFLAGS=-fPIC |
189 | SHOBJ_LD='${CC}' | |
f73dda09 | 190 | SHOBJ_LDFLAGS='-shared' |
b72432fd | 191 | |
f73dda09 | 192 | SHLIB_XLDFLAGS='-R$(libdir)' |
b72432fd JA |
193 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
194 | ;; | |
195 | ||
196 | bsdi2*) | |
197 | SHOBJ_CC=shlicc2 | |
198 | SHOBJ_CFLAGS= | |
199 | SHOBJ_LD=ld | |
200 | SHOBJ_LDFLAGS=-r | |
201 | SHOBJ_LIBS=-lc_s.2.1.0 | |
202 | ||
203 | # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in | |
204 | # the ass -- they require changing {/usr/lib,etc}/shlib.map on | |
205 | # each system, and the library creation process is byzantine | |
206 | SHLIB_STATUS=unsupported | |
207 | ;; | |
208 | ||
209 | bsdi3*) | |
210 | SHOBJ_CC=shlicc2 | |
211 | SHOBJ_CFLAGS= | |
212 | SHOBJ_LD=ld | |
213 | SHOBJ_LDFLAGS=-r | |
214 | SHOBJ_LIBS=-lc_s.3.0.0 | |
215 | ||
216 | # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in | |
217 | # the ass -- they require changing {/usr/lib,etc}/shlib.map on | |
218 | # each system, and the library creation process is byzantine | |
219 | SHLIB_STATUS=unsupported | |
220 | ;; | |
221 | ||
222 | bsdi4*) | |
223 | # BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked | |
224 | # shared libraries. gcc 2.x is the standard compiler, and the | |
225 | # `normal' gcc options should work as they do in Linux. | |
226 | ||
227 | SHOBJ_CFLAGS=-fPIC | |
228 | SHOBJ_LD='${CC}' | |
229 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' | |
230 | ||
28ef6c31 | 231 | SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`' |
b72432fd JA |
232 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
233 | ;; | |
234 | ||
28ef6c31 | 235 | osf*-*gcc*) |
bb70624e JA |
236 | # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE |
237 | SHOBJ_LD='${CC}' | |
238 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' | |
239 | ||
240 | SHLIB_XLDFLAGS='-rpath $(libdir)' | |
241 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
242 | ;; | |
243 | ||
b72432fd JA |
244 | osf*) |
245 | SHOBJ_LD=ld | |
246 | SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"' | |
247 | ||
248 | SHLIB_XLDFLAGS='-rpath $(libdir)' | |
249 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
250 | ;; | |
251 | ||
234d8729 | 252 | aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*) # lightly tested by jik@cisco.com |
b72432fd JA |
253 | SHOBJ_CFLAGS=-fpic |
254 | SHOBJ_LD='ld' | |
255 | SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall' | |
256 | SHOBJ_XLDFLAGS='-G' | |
257 | ||
258 | SHLIB_XLDFLAGS='-bM:SRE' | |
259 | SHLIB_LIBS='-lcurses -lc' | |
260 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
261 | ;; | |
262 | ||
234d8729 | 263 | aix4.[2-9]*|aix[5-9].*) |
b72432fd JA |
264 | SHOBJ_CFLAGS=-K |
265 | SHOBJ_LD='ld' | |
266 | SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall' | |
267 | SHOBJ_XLDFLAGS='-G' | |
268 | ||
269 | SHLIB_XLDFLAGS='-bM:SRE' | |
270 | SHLIB_LIBS='-lcurses -lc' | |
271 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
272 | ;; | |
273 | ||
274 | # | |
275 | # THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface | |
276 | # | |
28ef6c31 | 277 | irix[56]*-*gcc*) |
b72432fd JA |
278 | SHOBJ_CFLAGS='-fpic' |
279 | SHOBJ_LD='${CC}' | |
280 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' | |
281 | ||
282 | SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)' | |
283 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
284 | ;; | |
285 | ||
286 | irix[56]*) | |
287 | SHOBJ_CFLAGS='-K PIC' | |
288 | SHOBJ_LD=ld | |
bb70624e | 289 | # SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@' |
28ef6c31 JA |
290 | # Change from David Kaelbling <drk@sgi.com>. If you have problems, |
291 | # remove the `-no_unresolved' | |
bb70624e | 292 | SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@' |
b72432fd JA |
293 | |
294 | SHLIB_XLDFLAGS='-rpath $(libdir)' | |
295 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
296 | ;; | |
297 | ||
28ef6c31 | 298 | hpux9*-*gcc*) |
b72432fd JA |
299 | # must use gcc; the bundled cc cannot compile PIC code |
300 | SHOBJ_CFLAGS='-fpic' | |
301 | SHOBJ_LD='${CC}' | |
302 | SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s' | |
303 | ||
304 | SHLIB_XLDFLAGS='-Wl,+b,$(libdir)' | |
305 | SHLIB_LIBSUFF='sl' | |
306 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
307 | ;; | |
308 | ||
309 | hpux9*) | |
310 | SHOBJ_STATUS=unsupported | |
311 | SHLIB_STATUS=unsupported | |
f73dda09 JA |
312 | |
313 | # If you are using the HP ANSI C compiler, you can uncomment and use | |
314 | # this code (I have not tested it) | |
315 | # SHOBJ_STATUS=supported | |
316 | # SHLIB_STATUS=supported | |
317 | # | |
318 | # SHOBJ_CFLAGS='+z' | |
319 | # SHOBJ_LD='ld' | |
320 | # SHOBJ_LDFLAGS='-b +s' | |
321 | # | |
322 | # SHLIB_XLDFLAGS='+b $(libdir)' | |
323 | # SHLIB_LIBSUFF='sl' | |
324 | # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
325 | ||
b72432fd JA |
326 | ;; |
327 | ||
28ef6c31 | 328 | hpux10*-*gcc*) |
b72432fd JA |
329 | # must use gcc; the bundled cc cannot compile PIC code |
330 | SHOBJ_CFLAGS='-fpic' | |
331 | SHOBJ_LD='${CC}' | |
d3a24ed2 CR |
332 | # if you have problems linking here, moving the `-Wl,+h,$@' from |
333 | # SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work | |
3d4e09aa | 334 | SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s' |
b72432fd JA |
335 | |
336 | SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)' | |
337 | SHLIB_LIBSUFF='sl' | |
338 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
339 | ;; | |
340 | ||
341 | hpux10*) | |
342 | SHOBJ_STATUS=unsupported | |
343 | SHLIB_STATUS=unsupported | |
28ef6c31 JA |
344 | |
345 | # If you are using the HP ANSI C compiler, you can uncomment and use | |
f73dda09 JA |
346 | # this code (I have not tested it) |
347 | # SHOBJ_STATUS=supported | |
348 | # SHLIB_STATUS=supported | |
28ef6c31 JA |
349 | # |
350 | # SHOBJ_CFLAGS='+z' | |
351 | # SHOBJ_LD='ld' | |
f73dda09 | 352 | # SHOBJ_LDFLAGS='-b +s +h $@' |
28ef6c31 | 353 | # |
f73dda09 | 354 | # SHLIB_XLDFLAGS='+b $(libdir)' |
28ef6c31 JA |
355 | # SHLIB_LIBSUFF='sl' |
356 | # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
f73dda09 | 357 | |
b72432fd JA |
358 | ;; |
359 | ||
28ef6c31 | 360 | hpux11*-*gcc*) |
b72432fd JA |
361 | # must use gcc; the bundled cc cannot compile PIC code |
362 | SHOBJ_CFLAGS='-fpic' | |
363 | SHOBJ_LD='${CC}' | |
364 | # SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@' | |
28ef6c31 | 365 | SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s -Wl,+h,$@' |
b72432fd JA |
366 | |
367 | SHLIB_XLDFLAGS='-Wl,+b,$(libdir)' | |
368 | SHLIB_LIBSUFF='sl' | |
369 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
370 | ;; | |
371 | ||
372 | hpux11*) | |
373 | SHOBJ_STATUS=unsupported | |
374 | SHLIB_STATUS=unsupported | |
28ef6c31 JA |
375 | |
376 | # If you are using the HP ANSI C compiler, you can uncomment and use | |
f73dda09 JA |
377 | # this code (I have not tested it) |
378 | # SHOBJ_STATUS=supported | |
379 | # SHLIB_STATUS=supported | |
28ef6c31 JA |
380 | # |
381 | # SHOBJ_CFLAGS='+z' | |
382 | # SHOBJ_LD='ld' | |
f73dda09 | 383 | # SHOBJ_LDFLAGS='-b +s +h $@' |
28ef6c31 | 384 | # |
f73dda09 | 385 | # SHLIB_XLDFLAGS='+b $(libdir)' |
28ef6c31 JA |
386 | # SHLIB_LIBSUFF='sl' |
387 | # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
388 | ||
b72432fd JA |
389 | ;; |
390 | ||
28ef6c31 | 391 | sysv4*-*gcc*) |
b72432fd JA |
392 | SHOBJ_CFLAGS=-shared |
393 | SHOBJ_LDFLAGS='-shared -h $@' | |
394 | SHOBJ_LD='${CC}' | |
395 | ||
396 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
397 | ;; | |
398 | ||
399 | sysv4*) | |
400 | SHOBJ_CFLAGS='-K PIC' | |
401 | SHOBJ_LD=ld | |
402 | SHOBJ_LDFLAGS='-dy -z text -G -h $@' | |
403 | ||
404 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
405 | ;; | |
406 | ||
28ef6c31 | 407 | sco3.2v5*-*gcc*) |
b72432fd JA |
408 | SHOBJ_CFLAGS='-fpic' # DEFAULTS TO ELF |
409 | SHOBJ_LD='${CC}' | |
410 | SHOBJ_LDFLAGS='-shared' | |
411 | ||
412 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
413 | ;; | |
414 | ||
415 | sco3.2v5*) | |
416 | SHOBJ_CFLAGS='-K pic -b elf' | |
417 | SHOBJ_LD=ld | |
418 | SHOBJ_LDFLAGS='-G -b elf -dy -z text -h $@' | |
419 | ||
420 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
421 | ;; | |
422 | ||
28ef6c31 | 423 | sysv5uw7*-*gcc*) |
b72432fd JA |
424 | SHOBJ_CFLAGS='-fpic' |
425 | SHOBJ_LD='${CC}' | |
426 | SHOBJ_LDFLAGS='-shared' | |
427 | ||
428 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
429 | ;; | |
430 | ||
431 | sysv5uw7*) | |
432 | SHOBJ_CFLAGS='-K PIC' | |
433 | SHOBJ_LD=ld | |
434 | SHOBJ_LDFLAGS='-G -dy -z text -h $@' | |
435 | ||
436 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
437 | ;; | |
cac4cdbf CR |
438 | |
439 | sysv5UnixWare*-*gcc*) | |
440 | SHOBJ_CFLAGS=-fpic | |
441 | SHOBJ_LD='${CC}' | |
442 | SHOBJ_LDFLAGS='-shared' | |
443 | ||
444 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
445 | ;; | |
446 | ||
447 | sysv5UnixWare*) | |
448 | SHOBJ_CFLAGS='-K PIC' | |
449 | SHOBJ_LD=ld | |
450 | SHOBJ_LDFLAGS='-G -dy -z text -h $@' | |
451 | ||
452 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
453 | ;; | |
454 | ||
455 | sysv5OpenUNIX*-*gcc*) | |
456 | SHOBJ_CFLAGS=-fpic | |
457 | SHOBJ_LD='${CC}' | |
458 | SHOBJ_LDFLAGS='-shared' | |
459 | ||
460 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
461 | ;; | |
462 | ||
463 | sysv5OpenUNIX*) | |
464 | SHOBJ_CFLAGS='-K PIC' | |
465 | SHOBJ_LD=ld | |
466 | SHOBJ_LDFLAGS='-G -dy -z text -h $@' | |
467 | ||
468 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
469 | ;; | |
470 | ||
28ef6c31 | 471 | dgux*-*gcc*) |
b72432fd JA |
472 | SHOBJ_CFLAGS=-fpic |
473 | SHOBJ_LD='${CC}' | |
474 | SHOBJ_LDFLAGS='-shared' | |
475 | ||
476 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
477 | ;; | |
478 | ||
479 | dgux*) | |
480 | SHOBJ_CFLAGS='-K pic' | |
481 | SHOBJ_LD=ld | |
482 | SHOBJ_LDFLAGS='-G -dy -h $@' | |
483 | ||
484 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
485 | ;; | |
bb70624e JA |
486 | |
487 | msdos*) | |
488 | SHOBJ_STATUS=unsupported | |
489 | SHLIB_STATUS=unsupported | |
490 | ;; | |
491 | ||
055a1bf5 CR |
492 | cygwin*) |
493 | SHOBJ_LD='$(CC)' | |
547ef914 CR |
494 | SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a' |
495 | SHLIB_LIBPREF='cyg' | |
496 | SHLIB_LIBSUFF='dll' | |
497 | SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)' | |
498 | SHLIB_LIBS='$(TERMCAP_LIB)' | |
055a1bf5 CR |
499 | |
500 | SHLIB_DOT= | |
547ef914 CR |
501 | # For official cygwin releases, DLLVERSION will be defined in the |
502 | # environment of configure, and will be incremented any time the API | |
503 | # changes in a non-backwards compatible manner. Otherwise, it is just | |
504 | # SHLIB_MAJOR. | |
505 | if [ -n "$DLLVERSION" ] ; then | |
055a1bf5 | 506 | SHLIB_DLLVERSION="$DLLVERSION" |
547ef914 CR |
507 | fi |
508 | ;; | |
509 | ||
510 | mingw*) | |
511 | SHOBJ_LD='$(CC)' | |
512 | SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a' | |
513 | SHLIB_LIBSUFF='dll' | |
514 | SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)' | |
515 | SHLIB_LIBS='$(TERMCAP_LIB)' | |
516 | ||
517 | SHLIB_DOT= | |
518 | # For official cygwin releases, DLLVERSION will be defined in the | |
519 | # environment of configure, and will be incremented any time the API | |
520 | # changes in a non-backwards compatible manner. Otherwise, it is just | |
521 | # SHLIB_MAJOR. | |
522 | if [ -n "$DLLVERSION" ] ; then | |
523 | SHLIB_DLLVERSION="$DLLVERSION" | |
524 | fi | |
055a1bf5 CR |
525 | ;; |
526 | ||
b72432fd JA |
527 | # |
528 | # Rely on correct gcc configuration for everything else | |
529 | # | |
28ef6c31 | 530 | *-*gcc*) |
b72432fd JA |
531 | SHOBJ_CFLAGS=-fpic |
532 | SHOBJ_LD='${CC}' | |
533 | SHOBJ_LDFLAGS='-shared' | |
534 | ||
535 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' | |
536 | ;; | |
537 | ||
538 | *) | |
539 | SHOBJ_STATUS=unsupported | |
540 | SHLIB_STATUS=unsupported | |
541 | ;; | |
542 | ||
543 | esac | |
544 | ||
545 | echo SHOBJ_CC=\'"$SHOBJ_CC"\' | |
546 | echo SHOBJ_CFLAGS=\'"$SHOBJ_CFLAGS"\' | |
547 | echo SHOBJ_LD=\'"$SHOBJ_LD"\' | |
548 | echo SHOBJ_LDFLAGS=\'"$SHOBJ_LDFLAGS"\' | |
549 | echo SHOBJ_XLDFLAGS=\'"$SHOBJ_XLDFLAGS"\' | |
550 | echo SHOBJ_LIBS=\'"$SHOBJ_LIBS"\' | |
551 | ||
552 | echo SHLIB_XLDFLAGS=\'"$SHLIB_XLDFLAGS"\' | |
553 | echo SHLIB_LIBS=\'"$SHLIB_LIBS"\' | |
055a1bf5 CR |
554 | |
555 | echo SHLIB_DOT=\'"$SHLIB_DOT"\' | |
556 | ||
557 | echo SHLIB_LIBPREF=\'"$SHLIB_LIBPREF"\' | |
b72432fd | 558 | echo SHLIB_LIBSUFF=\'"$SHLIB_LIBSUFF"\' |
055a1bf5 | 559 | |
b72432fd | 560 | echo SHLIB_LIBVERSION=\'"$SHLIB_LIBVERSION"\' |
055a1bf5 | 561 | echo SHLIB_DLLVERSION=\'"$SHLIB_DLLVERSION"\' |
b72432fd JA |
562 | |
563 | echo SHOBJ_STATUS=\'"$SHOBJ_STATUS"\' | |
564 | echo SHLIB_STATUS=\'"$SHLIB_STATUS"\' | |
565 | ||
566 | exit 0 |