Bash-4.3 distribution sources and documentation
[platform/upstream/bash.git] / support / shobj-conf
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
13 #   Copyright (C) 1996-2014 Free Software Foundation, Inc.
14 #
15 #   This file is part of GNU Bash, the Bourne Again SHell.
16 #
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/>.
29 #
30
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=
46
47 SHLIB_DOT='.'
48 SHLIB_LIBPREF='lib'
49 SHLIB_LIBSUFF='so'
50
51 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF)'
52 SHLIB_DLLVERSION='$(SHLIB_MAJOR)'
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}-${host_vendor}" in
68 nsk-cc-tandem)
69         SHOBJ_CFLAGS=-Wglobalized
70         case `uname -m` in
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
82 sunos4*-*gcc*)
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
98 sunos5*-*gcc*|solaris2*-*gcc*)
99         SHOBJ_LD='${CC}'
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,$@'
104                 # http://sourceware.org/ml/binutils/2001-08/msg00361.html
105                 SHOBJ_CFLAGS=-fPIC
106         else
107                 # This line works for the Solaris linker in /usr/ccs/bin/ld
108                 SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
109                 SHOBJ_CFLAGS=-fpic
110         fi
111
112 #       SHLIB_XLDFLAGS='-R $(libdir)'
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
121 #       SHLIB_XLDFLAGS='-R $(libdir)'
122         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
123         ;;
124
125 # All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
126 linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
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
135 freebsd2*)
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
144 # FreeBSD-3.x ELF
145 freebsd3*|freebsdaout*)
146         SHOBJ_CFLAGS=-fPIC
147         SHOBJ_LD='${CC}'
148
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
160         ;;
161
162 # FreeBSD-4.x and later have only ELF
163 freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*)
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
173 # Darwin/MacOS X
174 darwin*)
175         # Common definitions for all darwin/mac os x versions
176         SHOBJ_CFLAGS='-fno-common'
177
178         SHOBJ_LD='${CC}'
179
180         SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
181         SHLIB_LIBSUFF='dylib'
182
183         # unused at this time
184         SHLIB_SONAME='$(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF)'
185
186         case "${host_os}" in
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                 case "${host_os}" in
197                 darwin[89]*|darwin1[012]*)
198                         SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`'
199                         ;;
200                  *)     # Mac OS X 10.9 (Mavericks) and later
201                         SHOBJ_ARCHFLAGS=
202                         # for 32 and 64bit universal library
203                         #SHOBJ_ARCHFLAGS='-arch i386 -arch x86_64'
204                         #SHOBJ_CFLAGS=${SHOBJ_CFLAGS}' -arch i386 -arch x86_64'
205                         ;;
206                  esac
207                  SHOBJ_LDFLAGS="-dynamiclib -dynamic -undefined dynamic_lookup ${SHOBJ_ARCHFLAGS}"
208                  SHLIB_XLDFLAGS="-dynamiclib ${SHOBJ_ARCHFLAGS}"' -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
209                 ;;
210         esac
211
212         SHLIB_LIBS='-lncurses'  # see if -lcurses works on MacOS X 10.1 
213         ;;
214
215 openbsd*|netbsd*|mirbsd*)
216         SHOBJ_CFLAGS=-fPIC
217         SHOBJ_LD='${CC}'
218         SHOBJ_LDFLAGS='-shared'
219
220         SHLIB_XLDFLAGS='-R$(libdir)'
221         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
222         ;;
223
224 bsdi2*)
225         SHOBJ_CC=shlicc2
226         SHOBJ_CFLAGS=
227         SHOBJ_LD=ld
228         SHOBJ_LDFLAGS=-r
229         SHOBJ_LIBS=-lc_s.2.1.0
230
231         # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
232         # the ass -- they require changing {/usr/lib,etc}/shlib.map on
233         # each system, and the library creation process is byzantine
234         SHLIB_STATUS=unsupported
235         ;;
236
237 bsdi3*)
238         SHOBJ_CC=shlicc2
239         SHOBJ_CFLAGS=
240         SHOBJ_LD=ld
241         SHOBJ_LDFLAGS=-r
242         SHOBJ_LIBS=-lc_s.3.0.0
243
244         # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
245         # the ass -- they require changing {/usr/lib,etc}/shlib.map on
246         # each system, and the library creation process is byzantine
247         SHLIB_STATUS=unsupported
248         ;;
249
250 bsdi4*)
251         # BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked
252         # shared libraries.  gcc 2.x is the standard compiler, and the
253         # `normal' gcc options should work as they do in Linux.
254
255         SHOBJ_CFLAGS=-fPIC
256         SHOBJ_LD='${CC}'
257         SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
258
259         SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
260         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
261         ;;
262
263 osf*-*gcc*)
264         # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE
265         SHOBJ_LD='${CC}'
266         SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
267
268         SHLIB_XLDFLAGS='-rpath $(libdir)'
269         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
270         ;;
271
272 osf*)
273         SHOBJ_LD=ld
274         SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"'
275
276         SHLIB_XLDFLAGS='-rpath $(libdir)'
277         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
278         ;;
279
280 aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*)             # lightly tested by jik@cisco.com
281         SHOBJ_CFLAGS=-fpic
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 aix4.[2-9]*|aix[5-9].*)
292         SHOBJ_CFLAGS=-K
293         SHOBJ_LD='ld'
294         SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
295         SHOBJ_XLDFLAGS='-G'
296
297         SHLIB_XLDFLAGS='-bM:SRE'
298         SHLIB_LIBS='-lcurses -lc'
299         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
300         ;;
301
302 #
303 # THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface
304 #
305 irix[56]*-*gcc*)
306         SHOBJ_CFLAGS='-fpic'
307         SHOBJ_LD='${CC}'
308         SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
309
310         SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
311         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
312         ;;
313
314 irix[56]*)
315         SHOBJ_CFLAGS='-K PIC'
316         SHOBJ_LD=ld
317 #       SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
318 #       Change from David Kaelbling <drk@sgi.com>.  If you have problems,
319 #       remove the `-no_unresolved'
320         SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@'
321
322         SHLIB_XLDFLAGS='-rpath $(libdir)'
323         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
324         ;;
325
326 hpux9*-*gcc*)
327         # must use gcc; the bundled cc cannot compile PIC code
328         SHOBJ_CFLAGS='-fpic'
329         SHOBJ_LD='${CC}'
330         SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
331
332         SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
333         SHLIB_LIBSUFF='sl'
334         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
335         ;;
336
337 hpux9*)
338         SHOBJ_STATUS=unsupported
339         SHLIB_STATUS=unsupported
340
341         # If you are using the HP ANSI C compiler, you can uncomment and use
342         # this code (I have not tested it)
343 #       SHOBJ_STATUS=supported
344 #       SHLIB_STATUS=supported
345 #
346 #       SHOBJ_CFLAGS='+z'
347 #       SHOBJ_LD='ld'
348 #       SHOBJ_LDFLAGS='-b +s'
349 #
350 #       SHLIB_XLDFLAGS='+b $(libdir)'
351 #       SHLIB_LIBSUFF='sl'
352 #       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'      
353
354         ;;
355
356 hpux10*-*gcc*)
357         # must use gcc; the bundled cc cannot compile PIC code
358         SHOBJ_CFLAGS='-fpic'
359         SHOBJ_LD='${CC}'
360         # if you have problems linking here, moving the `-Wl,+h,$@' from
361         # SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work
362         SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s'
363
364         SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
365         SHLIB_LIBSUFF='sl'
366         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
367         ;;
368
369 hpux10*)
370         SHOBJ_STATUS=unsupported
371         SHLIB_STATUS=unsupported
372
373         # If you are using the HP ANSI C compiler, you can uncomment and use
374         # this code (I have not tested it)
375 #       SHOBJ_STATUS=supported
376 #       SHLIB_STATUS=supported
377 #
378 #       SHOBJ_CFLAGS='+z'
379 #       SHOBJ_LD='ld'
380 #       SHOBJ_LDFLAGS='-b +s +h $@'
381 #
382 #       SHLIB_XLDFLAGS='+b $(libdir)'
383 #       SHLIB_LIBSUFF='sl'
384 #       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'      
385
386         ;;
387
388 hpux11*-*gcc*)
389         # must use gcc; the bundled cc cannot compile PIC code
390         SHOBJ_CFLAGS='-fpic'
391         SHOBJ_LD='${CC}'
392 #       SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@'
393         SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s -Wl,+h,$@'
394
395         SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
396         SHLIB_LIBSUFF='sl'
397         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
398         ;;
399
400 hpux11*)
401         SHOBJ_STATUS=unsupported
402         SHLIB_STATUS=unsupported
403
404         # If you are using the HP ANSI C compiler, you can uncomment and use
405         # this code (I have not tested it)
406 #       SHOBJ_STATUS=supported
407 #       SHLIB_STATUS=supported
408 #
409 #       SHOBJ_CFLAGS='+z'
410 #       SHOBJ_LD='ld'
411 #       SHOBJ_LDFLAGS='-b +s +h $@'
412 #
413 #       SHLIB_XLDFLAGS='+b $(libdir)'
414 #       SHLIB_LIBSUFF='sl'
415 #       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'      
416
417         ;;
418
419 sysv4*-*gcc*)
420         SHOBJ_CFLAGS=-shared
421         SHOBJ_LDFLAGS='-shared -h $@'
422         SHOBJ_LD='${CC}'
423
424         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
425         ;;
426
427 sysv4*)
428         SHOBJ_CFLAGS='-K PIC'
429         SHOBJ_LD=ld
430         SHOBJ_LDFLAGS='-dy -z text -G -h $@'
431
432         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
433         ;;
434
435 sco3.2v5*-*gcc*)
436         SHOBJ_CFLAGS='-fpic'            # DEFAULTS TO ELF
437         SHOBJ_LD='${CC}'
438         SHOBJ_LDFLAGS='-shared'
439
440         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
441         ;;
442
443 sco3.2v5*)
444         SHOBJ_CFLAGS='-K pic -b elf'
445         SHOBJ_LD=ld
446         SHOBJ_LDFLAGS='-G -b elf -dy -z text -h $@'
447
448         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
449         ;;
450
451 sysv5uw7*-*gcc*)
452         SHOBJ_CFLAGS='-fpic'
453         SHOBJ_LD='${CC}'
454         SHOBJ_LDFLAGS='-shared'
455
456         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
457         ;;
458
459 sysv5uw7*)
460         SHOBJ_CFLAGS='-K PIC'
461         SHOBJ_LD=ld
462         SHOBJ_LDFLAGS='-G -dy -z text -h $@'
463
464         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
465         ;;
466
467 sysv5UnixWare*-*gcc*)
468         SHOBJ_CFLAGS=-fpic
469         SHOBJ_LD='${CC}'
470         SHOBJ_LDFLAGS='-shared'
471
472         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
473         ;;
474
475 sysv5UnixWare*)
476         SHOBJ_CFLAGS='-K PIC'
477         SHOBJ_LD=ld
478         SHOBJ_LDFLAGS='-G -dy -z text -h $@'
479
480         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
481         ;;
482
483 sysv5OpenUNIX*-*gcc*)
484         SHOBJ_CFLAGS=-fpic
485         SHOBJ_LD='${CC}'
486         SHOBJ_LDFLAGS='-shared'
487
488         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
489         ;;
490
491 sysv5OpenUNIX*)
492         SHOBJ_CFLAGS='-K PIC'
493         SHOBJ_LD=ld
494         SHOBJ_LDFLAGS='-G -dy -z text -h $@'
495
496         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
497         ;;
498
499 dgux*-*gcc*)
500         SHOBJ_CFLAGS=-fpic
501         SHOBJ_LD='${CC}'
502         SHOBJ_LDFLAGS='-shared'
503
504         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
505         ;;
506
507 dgux*)
508         SHOBJ_CFLAGS='-K pic'
509         SHOBJ_LD=ld
510         SHOBJ_LDFLAGS='-G -dy -h $@'
511
512         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
513         ;;
514
515 msdos*)
516         SHOBJ_STATUS=unsupported
517         SHLIB_STATUS=unsupported
518         ;;
519
520 cygwin*)
521         SHOBJ_LD='$(CC)'
522         SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
523         SHLIB_LIBPREF='cyg'
524         SHLIB_LIBSUFF='dll'
525         SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
526         SHLIB_LIBS='$(TERMCAP_LIB)'
527
528         SHLIB_DOT=
529         # For official cygwin releases, DLLVERSION will be defined in the
530         # environment of configure, and will be incremented any time the API
531         # changes in a non-backwards compatible manner.  Otherwise, it is just
532         # SHLIB_MAJOR.
533         if [ -n "$DLLVERSION" ] ; then
534                 SHLIB_DLLVERSION="$DLLVERSION"
535         fi
536         ;;
537
538 mingw*)
539         SHOBJ_LD='$(CC)'
540         SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
541         SHLIB_LIBSUFF='dll'
542         SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
543         SHLIB_LIBS='$(TERMCAP_LIB)'
544
545         SHLIB_DOT=
546         # For official cygwin releases, DLLVERSION will be defined in the
547         # environment of configure, and will be incremented any time the API
548         # changes in a non-backwards compatible manner.  Otherwise, it is just
549         # SHLIB_MAJOR.
550         if [ -n "$DLLVERSION" ] ; then
551                 SHLIB_DLLVERSION="$DLLVERSION"
552         fi
553         ;;
554
555 #
556 # Rely on correct gcc configuration for everything else
557 #
558 *-*gcc*)
559         SHOBJ_CFLAGS=-fpic
560         SHOBJ_LD='${CC}'
561         SHOBJ_LDFLAGS='-shared'
562
563         SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
564         ;;
565
566 *)
567         SHOBJ_STATUS=unsupported
568         SHLIB_STATUS=unsupported
569         ;;
570
571 esac
572
573 echo SHOBJ_CC=\'"$SHOBJ_CC"\'
574 echo SHOBJ_CFLAGS=\'"$SHOBJ_CFLAGS"\'
575 echo SHOBJ_LD=\'"$SHOBJ_LD"\'
576 echo SHOBJ_LDFLAGS=\'"$SHOBJ_LDFLAGS"\'
577 echo SHOBJ_XLDFLAGS=\'"$SHOBJ_XLDFLAGS"\'
578 echo SHOBJ_LIBS=\'"$SHOBJ_LIBS"\'
579
580 echo SHLIB_XLDFLAGS=\'"$SHLIB_XLDFLAGS"\'
581 echo SHLIB_LIBS=\'"$SHLIB_LIBS"\'
582
583 echo SHLIB_DOT=\'"$SHLIB_DOT"\'
584
585 echo SHLIB_LIBPREF=\'"$SHLIB_LIBPREF"\'
586 echo SHLIB_LIBSUFF=\'"$SHLIB_LIBSUFF"\'
587
588 echo SHLIB_LIBVERSION=\'"$SHLIB_LIBVERSION"\'
589 echo SHLIB_DLLVERSION=\'"$SHLIB_DLLVERSION"\'
590
591 echo SHOBJ_STATUS=\'"$SHOBJ_STATUS"\'
592 echo SHLIB_STATUS=\'"$SHLIB_STATUS"\'
593
594 exit 0