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