* readline/terminal.c (_rl_get_screen_size): Get console size from
[deliverable/binutils-gdb.git] / readline / support / shobj-conf
CommitLineData
9b700aad 1#! /bin/sh
c862e87b
JM
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
9255ee31
EZ
13# Copyright (C) 1996-2002 Free Software Foundation, Inc.
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
c862e87b
JM
29#
30# defaults
31#
32SHOBJ_STATUS=supported
33SHLIB_STATUS=supported
34
35SHOBJ_CC=cc
36SHOBJ_CFLAGS=
37SHOBJ_LD=
38SHOBJ_LDFLAGS=
39SHOBJ_XLDFLAGS=
40SHOBJ_LIBS=
41
42SHLIB_XLDFLAGS=
43SHLIB_LIBS=
44SHLIB_LIBSUFF='so'
45
46SHLIB_LIBVERSION='$(SHLIB_LIBSUFF)'
47
48PROGNAME=`basename $0`
49USAGE="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor"
50
51while [ $# -gt 0 ]; do
52 case "$1" in
53 -C) shift; SHOBJ_CC="$1"; shift ;;
54 -c) shift; host_cpu="$1"; shift ;;
55 -o) shift; host_os="$1"; shift ;;
56 -v) shift; host_vendor="$1"; shift ;;
57 *) echo "$USAGE" >&2 ; exit 2;;
58 esac
59done
60
61case "${host_os}-${SHOBJ_CC}" in
9255ee31 62sunos4*-*gcc*)
c862e87b
JM
63 SHOBJ_CFLAGS=-fpic
64 SHOBJ_LD=/usr/bin/ld
65 SHOBJ_LDFLAGS='-assert pure-text'
66
67 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
68 ;;
69
70sunos4*)
71 SHOBJ_CFLAGS=-pic
72 SHOBJ_LD=/usr/bin/ld
73 SHOBJ_LDFLAGS='-assert pure-text'
74
75 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
76 ;;
77
9255ee31 78sunos5*-*gcc*|solaris2*-*gcc*)
c862e87b
JM
79 SHOBJ_CFLAGS=-fpic
80 SHOBJ_LD='${CC}'
9255ee31 81 # This line works for the Solaris linker in /usr/ccs/bin/ld
1b17e766 82 SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
9255ee31
EZ
83 # This line works for the GNU ld
84# SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
c862e87b 85
1b17e766 86# SHLIB_XLDFLAGS='-R $(libdir)'
c862e87b
JM
87 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
88 ;;
89
90sunos5*|solaris2*)
91 SHOBJ_CFLAGS='-K pic'
92 SHOBJ_LD=/usr/ccs/bin/ld
93 SHOBJ_LDFLAGS='-G -dy -z text -i -h $@'
94
1b17e766 95# SHLIB_XLDFLAGS='-R $(libdir)'
c862e87b
JM
96 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
97 ;;
98
9255ee31
EZ
99# All versions of Linux or the semi-mythical GNU Hurd.
100linux*|gnu*)
101 SHOBJ_CFLAGS=-fPIC
102 SHOBJ_LD='${CC}'
103 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
104
105 SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
106 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
107 ;;
108
109freebsd2* | netbsd*)
c862e87b
JM
110 SHOBJ_CFLAGS=-fpic
111 SHOBJ_LD=ld
112 SHOBJ_LDFLAGS='-x -Bshareable'
113
114 SHLIB_XLDFLAGS='-R$(libdir)'
115 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
116 ;;
117
1b17e766 118# FreeBSD-3.x ELF
9255ee31 119freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*)
c862e87b
JM
120 SHOBJ_CFLAGS=-fpic
121 SHOBJ_LD='${CC}'
c862e87b 122
1b17e766
EZ
123 if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
124 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
125
126 SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
127 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
128 else
129 SHOBJ_LDFLAGS='-shared'
130
131 SHLIB_XLDFLAGS='-R$(libdir)'
132 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
133 fi
c862e87b
JM
134 ;;
135
9255ee31
EZ
136# Darwin/MacOS X
137darwin*|macosx*)
138 SHOBJ_STATUS=unsupported
139 SHLIB_STATUS=supported
140
141 SHOBJ_CFLAGS='-dynamic -fno-common'
142
143 SHOBJ_LD=/usr/bin/libtool
144
145 SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
146 SHLIB_LIBSUFF='dylib'
147
148 SHOBJ_LDFLAGS='-dynamic'
149 SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
150
151 SHLIB_LIBS='-lSystem'
152 ;;
153
154openbsd*)
c862e87b
JM
155 SHOBJ_CFLAGS=-fPIC
156 SHOBJ_LD='${CC}'
9255ee31 157 SHOBJ_LDFLAGS='-shared'
c862e87b 158
9255ee31 159 SHLIB_XLDFLAGS='-R$(libdir)'
c862e87b
JM
160 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
161 ;;
162
163bsdi2*)
164 SHOBJ_CC=shlicc2
165 SHOBJ_CFLAGS=
166 SHOBJ_LD=ld
167 SHOBJ_LDFLAGS=-r
168 SHOBJ_LIBS=-lc_s.2.1.0
169
170 # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
171 # the ass -- they require changing {/usr/lib,etc}/shlib.map on
172 # each system, and the library creation process is byzantine
173 SHLIB_STATUS=unsupported
174 ;;
175
176bsdi3*)
177 SHOBJ_CC=shlicc2
178 SHOBJ_CFLAGS=
179 SHOBJ_LD=ld
180 SHOBJ_LDFLAGS=-r
181 SHOBJ_LIBS=-lc_s.3.0.0
182
183 # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
184 # the ass -- they require changing {/usr/lib,etc}/shlib.map on
185 # each system, and the library creation process is byzantine
186 SHLIB_STATUS=unsupported
187 ;;
188
189bsdi4*)
190 # BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked
191 # shared libraries. gcc 2.x is the standard compiler, and the
192 # `normal' gcc options should work as they do in Linux.
193
194 SHOBJ_CFLAGS=-fPIC
195 SHOBJ_LD='${CC}'
196 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
197
9255ee31 198 SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
c862e87b
JM
199 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
200 ;;
201
9255ee31 202osf*-*gcc*)
1b17e766
EZ
203 # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE
204 SHOBJ_LD='${CC}'
205 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
206
207 SHLIB_XLDFLAGS='-rpath $(libdir)'
208 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
209 ;;
210
c862e87b
JM
211osf*)
212 SHOBJ_LD=ld
213 SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"'
214
215 SHLIB_XLDFLAGS='-rpath $(libdir)'
216 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
217 ;;
218
9255ee31 219aix4.[2-9]*-*gcc*) # lightly tested by jik@cisco.com
c862e87b
JM
220 SHOBJ_CFLAGS=-fpic
221 SHOBJ_LD='ld'
222 SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
223 SHOBJ_XLDFLAGS='-G'
224
225 SHLIB_XLDFLAGS='-bM:SRE'
226 SHLIB_LIBS='-lcurses -lc'
227 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
228 ;;
229
230aix4.[2-9]*)
231 SHOBJ_CFLAGS=-K
232 SHOBJ_LD='ld'
233 SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
234 SHOBJ_XLDFLAGS='-G'
235
236 SHLIB_XLDFLAGS='-bM:SRE'
237 SHLIB_LIBS='-lcurses -lc'
238 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
239 ;;
240
241#
242# THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface
243#
9255ee31 244irix[56]*-*gcc*)
c862e87b
JM
245 SHOBJ_CFLAGS='-fpic'
246 SHOBJ_LD='${CC}'
247 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
248
249 SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
250 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
251 ;;
252
253irix[56]*)
254 SHOBJ_CFLAGS='-K PIC'
255 SHOBJ_LD=ld
1b17e766 256# SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
9255ee31
EZ
257# Change from David Kaelbling <drk@sgi.com>. If you have problems,
258# remove the `-no_unresolved'
1b17e766 259 SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@'
c862e87b
JM
260
261 SHLIB_XLDFLAGS='-rpath $(libdir)'
262 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
263 ;;
264
9255ee31 265hpux9*-*gcc*)
c862e87b
JM
266 # must use gcc; the bundled cc cannot compile PIC code
267 SHOBJ_CFLAGS='-fpic'
268 SHOBJ_LD='${CC}'
269 SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
270
271 SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
272 SHLIB_LIBSUFF='sl'
273 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
274 ;;
275
276hpux9*)
277 SHOBJ_STATUS=unsupported
278 SHLIB_STATUS=unsupported
9255ee31
EZ
279
280 # If you are using the HP ANSI C compiler, you can uncomment and use
281 # this code (I have not tested it)
282# SHOBJ_STATUS=supported
283# SHLIB_STATUS=supported
284#
285# SHOBJ_CFLAGS='+z'
286# SHOBJ_LD='ld'
287# SHOBJ_LDFLAGS='-b +s'
288#
289# SHLIB_XLDFLAGS='+b $(libdir)'
290# SHLIB_LIBSUFF='sl'
291# SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
292
c862e87b
JM
293 ;;
294
9255ee31 295hpux10*-*gcc*)
c862e87b
JM
296 # must use gcc; the bundled cc cannot compile PIC code
297 SHOBJ_CFLAGS='-fpic'
298 SHOBJ_LD='${CC}'
299 SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
300
301 SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
302 SHLIB_LIBSUFF='sl'
303 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
304 ;;
305
306hpux10*)
307 SHOBJ_STATUS=unsupported
308 SHLIB_STATUS=unsupported
9255ee31
EZ
309
310 # If you are using the HP ANSI C compiler, you can uncomment and use
311 # this code (I have not tested it)
312# SHOBJ_STATUS=supported
313# SHLIB_STATUS=supported
314#
315# SHOBJ_CFLAGS='+z'
316# SHOBJ_LD='ld'
317# SHOBJ_LDFLAGS='-b +s +h $@'
318#
319# SHLIB_XLDFLAGS='+b $(libdir)'
320# SHLIB_LIBSUFF='sl'
321# SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
322
c862e87b
JM
323 ;;
324
9255ee31 325hpux11*-*gcc*)
c862e87b
JM
326 # must use gcc; the bundled cc cannot compile PIC code
327 SHOBJ_CFLAGS='-fpic'
328 SHOBJ_LD='${CC}'
329# SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@'
9255ee31 330 SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s -Wl,+h,$@'
c862e87b
JM
331
332 SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
333 SHLIB_LIBSUFF='sl'
334 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
335 ;;
336
337hpux11*)
338 SHOBJ_STATUS=unsupported
339 SHLIB_STATUS=unsupported
9255ee31
EZ
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 +h $@'
349#
350# SHLIB_XLDFLAGS='+b $(libdir)'
351# SHLIB_LIBSUFF='sl'
352# SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
353
c862e87b
JM
354 ;;
355
9255ee31 356sysv4*-*gcc*)
c862e87b
JM
357 SHOBJ_CFLAGS=-shared
358 SHOBJ_LDFLAGS='-shared -h $@'
359 SHOBJ_LD='${CC}'
360
361 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
362 ;;
363
364sysv4*)
365 SHOBJ_CFLAGS='-K PIC'
366 SHOBJ_LD=ld
367 SHOBJ_LDFLAGS='-dy -z text -G -h $@'
368
369 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
370 ;;
371
9255ee31 372sco3.2v5*-*gcc*)
c862e87b
JM
373 SHOBJ_CFLAGS='-fpic' # DEFAULTS TO ELF
374 SHOBJ_LD='${CC}'
375 SHOBJ_LDFLAGS='-shared'
376
377 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
378 ;;
379
380sco3.2v5*)
381 SHOBJ_CFLAGS='-K pic -b elf'
382 SHOBJ_LD=ld
383 SHOBJ_LDFLAGS='-G -b elf -dy -z text -h $@'
384
385 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
386 ;;
387
9255ee31 388sysv5uw7*-*gcc*)
c862e87b
JM
389 SHOBJ_CFLAGS='-fpic'
390 SHOBJ_LD='${CC}'
391 SHOBJ_LDFLAGS='-shared'
392
393 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
394 ;;
395
396sysv5uw7*)
397 SHOBJ_CFLAGS='-K PIC'
398 SHOBJ_LD=ld
399 SHOBJ_LDFLAGS='-G -dy -z text -h $@'
400
401 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
402 ;;
403
9255ee31 404dgux*-*gcc*)
c862e87b
JM
405 SHOBJ_CFLAGS=-fpic
406 SHOBJ_LD='${CC}'
407 SHOBJ_LDFLAGS='-shared'
408
409 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
410 ;;
411
412dgux*)
413 SHOBJ_CFLAGS='-K pic'
414 SHOBJ_LD=ld
415 SHOBJ_LDFLAGS='-G -dy -h $@'
416
417 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
418 ;;
511fec4d 419
1b17e766 420msdos*)
511fec4d
EZ
421 SHOBJ_STATUS=unsupported
422 SHLIB_STATUS=unsupported
423 ;;
424
c862e87b
JM
425#
426# Rely on correct gcc configuration for everything else
427#
9255ee31 428*-*gcc*)
c862e87b
JM
429 SHOBJ_CFLAGS=-fpic
430 SHOBJ_LD='${CC}'
431 SHOBJ_LDFLAGS='-shared'
432
433 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
434 ;;
435
436*)
437 SHOBJ_STATUS=unsupported
438 SHLIB_STATUS=unsupported
439 ;;
440
441esac
442
443echo SHOBJ_CC=\'"$SHOBJ_CC"\'
444echo SHOBJ_CFLAGS=\'"$SHOBJ_CFLAGS"\'
445echo SHOBJ_LD=\'"$SHOBJ_LD"\'
446echo SHOBJ_LDFLAGS=\'"$SHOBJ_LDFLAGS"\'
447echo SHOBJ_XLDFLAGS=\'"$SHOBJ_XLDFLAGS"\'
448echo SHOBJ_LIBS=\'"$SHOBJ_LIBS"\'
449
450echo SHLIB_XLDFLAGS=\'"$SHLIB_XLDFLAGS"\'
451echo SHLIB_LIBS=\'"$SHLIB_LIBS"\'
452echo SHLIB_LIBSUFF=\'"$SHLIB_LIBSUFF"\'
453echo SHLIB_LIBVERSION=\'"$SHLIB_LIBVERSION"\'
454
455echo SHOBJ_STATUS=\'"$SHOBJ_STATUS"\'
456echo SHLIB_STATUS=\'"$SHLIB_STATUS"\'
457
458exit 0
This page took 0.303593 seconds and 4 git commands to generate.