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