This commit was generated by cvs2svn to track changes on a CVS vendor
[deliverable/binutils-gdb.git] / readline / 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 #
14 # defaults
15 #
16 SHOBJ_STATUS=supported
17 SHLIB_STATUS=supported
18
19 SHOBJ_CC=cc
20 SHOBJ_CFLAGS=
21 SHOBJ_LD=
22 SHOBJ_LDFLAGS=
23 SHOBJ_XLDFLAGS=
24 SHOBJ_LIBS=
25
26 SHLIB_XLDFLAGS=
27 SHLIB_LIBS=
28 SHLIB_LIBSUFF='so'
29
30 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF)'
31
32 PROGNAME=`basename $0`
33 USAGE="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor"
34
35 while [ $# -gt 0 ]; do
36 case "$1" in
37 -C) shift; SHOBJ_CC="$1"; shift ;;
38 -c) shift; host_cpu="$1"; shift ;;
39 -o) shift; host_os="$1"; shift ;;
40 -v) shift; host_vendor="$1"; shift ;;
41 *) echo "$USAGE" >&2 ; exit 2;;
42 esac
43 done
44
45 case "${host_os}-${SHOBJ_CC}" in
46 sunos4*-gcc*)
47 SHOBJ_CFLAGS=-fpic
48 SHOBJ_LD=/usr/bin/ld
49 SHOBJ_LDFLAGS='-assert pure-text'
50
51 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
52 ;;
53
54 sunos4*)
55 SHOBJ_CFLAGS=-pic
56 SHOBJ_LD=/usr/bin/ld
57 SHOBJ_LDFLAGS='-assert pure-text'
58
59 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
60 ;;
61
62 sunos5*-gcc*|solaris2*-gcc*)
63 SHOBJ_CFLAGS=-fpic
64 SHOBJ_LD='${CC}'
65 SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
66
67 # SHLIB_XLDFLAGS='-R $(libdir)'
68 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
69 ;;
70
71 sunos5*|solaris2*)
72 SHOBJ_CFLAGS='-K pic'
73 SHOBJ_LD=/usr/ccs/bin/ld
74 SHOBJ_LDFLAGS='-G -dy -z text -i -h $@'
75
76 # SHLIB_XLDFLAGS='-R $(libdir)'
77 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
78 ;;
79
80 freebsd2* | netbsd* | openbsd*)
81 SHOBJ_CFLAGS=-fpic
82 SHOBJ_LD=ld
83 SHOBJ_LDFLAGS='-x -Bshareable'
84
85 SHLIB_XLDFLAGS='-R$(libdir)'
86 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
87 ;;
88
89 # FreeBSD-3.x can have either a.out or ELF object files
90 #freebsd3*)
91 # SHOBJ_CFLAGS=-fpic
92 # SHOBJ_LD='${CC}'
93 # SHOBJ_LDFLAGS='-shared'
94 #
95 # SHLIB_XLDFLAGS='-R$(libdir)'
96 # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
97 # ;;
98
99 # FreeBSD-3.x ELF
100 freebsd3*)
101 SHOBJ_CFLAGS=-fpic
102 SHOBJ_LD='${CC}'
103
104 if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
105 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
106
107 SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
108 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
109 else
110 SHOBJ_LDFLAGS='-shared'
111
112 SHLIB_XLDFLAGS='-R$(libdir)'
113 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
114 fi
115 ;;
116
117 linux*)
118 SHOBJ_CFLAGS=-fPIC
119 SHOBJ_LD='${CC}'
120 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
121
122 SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
123 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
124 ;;
125
126 bsdi2*)
127 SHOBJ_CC=shlicc2
128 SHOBJ_CFLAGS=
129 SHOBJ_LD=ld
130 SHOBJ_LDFLAGS=-r
131 SHOBJ_LIBS=-lc_s.2.1.0
132
133 # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
134 # the ass -- they require changing {/usr/lib,etc}/shlib.map on
135 # each system, and the library creation process is byzantine
136 SHLIB_STATUS=unsupported
137 ;;
138
139 bsdi3*)
140 SHOBJ_CC=shlicc2
141 SHOBJ_CFLAGS=
142 SHOBJ_LD=ld
143 SHOBJ_LDFLAGS=-r
144 SHOBJ_LIBS=-lc_s.3.0.0
145
146 # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
147 # the ass -- they require changing {/usr/lib,etc}/shlib.map on
148 # each system, and the library creation process is byzantine
149 SHLIB_STATUS=unsupported
150 ;;
151
152 bsdi4*)
153 # BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked
154 # shared libraries. gcc 2.x is the standard compiler, and the
155 # `normal' gcc options should work as they do in Linux.
156
157 SHOBJ_CFLAGS=-fPIC
158 SHOBJ_LD='${CC}'
159 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
160
161 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
162 ;;
163
164 osf*-gcc*)
165 # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE
166 SHOBJ_LD='${CC}'
167 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
168
169 SHLIB_XLDFLAGS='-rpath $(libdir)'
170 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
171 ;;
172
173 osf*)
174 SHOBJ_LD=ld
175 SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"'
176
177 SHLIB_XLDFLAGS='-rpath $(libdir)'
178 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
179 ;;
180
181 aix4.[2-9]*-gcc*) # lightly tested by jik@cisco.com
182 SHOBJ_CFLAGS=-fpic
183 SHOBJ_LD='ld'
184 SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
185 SHOBJ_XLDFLAGS='-G'
186
187 SHLIB_XLDFLAGS='-bM:SRE'
188 SHLIB_LIBS='-lcurses -lc'
189 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
190 ;;
191
192 aix4.[2-9]*)
193 SHOBJ_CFLAGS=-K
194 SHOBJ_LD='ld'
195 SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
196 SHOBJ_XLDFLAGS='-G'
197
198 SHLIB_XLDFLAGS='-bM:SRE'
199 SHLIB_LIBS='-lcurses -lc'
200 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
201 ;;
202
203 #
204 # THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface
205 #
206 irix[56]*-gcc*)
207 SHOBJ_CFLAGS='-fpic'
208 SHOBJ_LD='${CC}'
209 SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
210
211 SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
212 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
213 ;;
214
215 irix[56]*)
216 SHOBJ_CFLAGS='-K PIC'
217 SHOBJ_LD=ld
218 # SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
219 # Change from David Kaelbling <drk@sgi.com>
220 SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@'
221
222 SHLIB_XLDFLAGS='-rpath $(libdir)'
223 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
224 ;;
225
226 hpux9*-gcc*)
227 # must use gcc; the bundled cc cannot compile PIC code
228 SHOBJ_CFLAGS='-fpic'
229 SHOBJ_LD='${CC}'
230 SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
231
232 SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
233 SHLIB_LIBSUFF='sl'
234 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
235 ;;
236
237 hpux9*)
238 SHOBJ_STATUS=unsupported
239 SHLIB_STATUS=unsupported
240 ;;
241
242 hpux10*-gcc*)
243 # must use gcc; the bundled cc cannot compile PIC code
244 SHOBJ_CFLAGS='-fpic'
245 SHOBJ_LD='${CC}'
246 SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
247
248 SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
249 SHLIB_LIBSUFF='sl'
250 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
251 ;;
252
253 hpux10*)
254 SHOBJ_STATUS=unsupported
255 SHLIB_STATUS=unsupported
256 ;;
257
258 hpux11*-gcc*)
259 # must use gcc; the bundled cc cannot compile PIC code
260 SHOBJ_CFLAGS='-fpic'
261 SHOBJ_LD='${CC}'
262 # SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@'
263 SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s -Wl,+h,$@'
264
265 SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
266 SHLIB_LIBSUFF='sl'
267 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
268 ;;
269
270 hpux11*)
271 SHOBJ_STATUS=unsupported
272 SHLIB_STATUS=unsupported
273 ;;
274
275 sysv4*-gcc*)
276 SHOBJ_CFLAGS=-shared
277 SHOBJ_LDFLAGS='-shared -h $@'
278 SHOBJ_LD='${CC}'
279
280 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
281 ;;
282
283 sysv4*)
284 SHOBJ_CFLAGS='-K PIC'
285 SHOBJ_LD=ld
286 SHOBJ_LDFLAGS='-dy -z text -G -h $@'
287
288 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
289 ;;
290
291 sco3.2v5*-gcc*)
292 SHOBJ_CFLAGS='-fpic' # DEFAULTS TO ELF
293 SHOBJ_LD='${CC}'
294 SHOBJ_LDFLAGS='-shared'
295
296 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
297 ;;
298
299 sco3.2v5*)
300 SHOBJ_CFLAGS='-K pic -b elf'
301 SHOBJ_LD=ld
302 SHOBJ_LDFLAGS='-G -b elf -dy -z text -h $@'
303
304 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
305 ;;
306
307 sysv5uw7*-gcc*)
308 SHOBJ_CFLAGS='-fpic'
309 SHOBJ_LD='${CC}'
310 SHOBJ_LDFLAGS='-shared'
311
312 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
313 ;;
314
315 sysv5uw7*)
316 SHOBJ_CFLAGS='-K PIC'
317 SHOBJ_LD=ld
318 SHOBJ_LDFLAGS='-G -dy -z text -h $@'
319
320 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
321 ;;
322
323 dgux*-gcc*)
324 SHOBJ_CFLAGS=-fpic
325 SHOBJ_LD='${CC}'
326 SHOBJ_LDFLAGS='-shared'
327
328 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
329 ;;
330
331 dgux*)
332 SHOBJ_CFLAGS='-K pic'
333 SHOBJ_LD=ld
334 SHOBJ_LDFLAGS='-G -dy -h $@'
335
336 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
337 ;;
338
339 msdos*)
340 SHOBJ_STATUS=unsupported
341 SHLIB_STATUS=unsupported
342 ;;
343
344 #
345 # Rely on correct gcc configuration for everything else
346 #
347 *-gcc*)
348 SHOBJ_CFLAGS=-fpic
349 SHOBJ_LD='${CC}'
350 SHOBJ_LDFLAGS='-shared'
351
352 SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
353 ;;
354
355 *)
356 SHOBJ_STATUS=unsupported
357 SHLIB_STATUS=unsupported
358 ;;
359
360 esac
361
362 echo SHOBJ_CC=\'"$SHOBJ_CC"\'
363 echo SHOBJ_CFLAGS=\'"$SHOBJ_CFLAGS"\'
364 echo SHOBJ_LD=\'"$SHOBJ_LD"\'
365 echo SHOBJ_LDFLAGS=\'"$SHOBJ_LDFLAGS"\'
366 echo SHOBJ_XLDFLAGS=\'"$SHOBJ_XLDFLAGS"\'
367 echo SHOBJ_LIBS=\'"$SHOBJ_LIBS"\'
368
369 echo SHLIB_XLDFLAGS=\'"$SHLIB_XLDFLAGS"\'
370 echo SHLIB_LIBS=\'"$SHLIB_LIBS"\'
371 echo SHLIB_LIBSUFF=\'"$SHLIB_LIBSUFF"\'
372 echo SHLIB_LIBVERSION=\'"$SHLIB_LIBVERSION"\'
373
374 echo SHOBJ_STATUS=\'"$SHOBJ_STATUS"\'
375 echo SHLIB_STATUS=\'"$SHLIB_STATUS"\'
376
377 exit 0
This page took 0.037543 seconds and 5 git commands to generate.