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'
8 # usage: shobj-conf [-C compiler] -c host_cpu -o host_os -v host_vendor
13 # Copyright (C) 1996-2002 Free Software Foundation, Inc.
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)
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.
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.
32 SHOBJ_STATUS
=supported
33 SHLIB_STATUS
=supported
46 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF)'
48 PROGNAME
=`basename $0`
49 USAGE
="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor"
51 while [ $# -gt 0 ]; do
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;;
61 case "${host_os}-${SHOBJ_CC}" in
65 SHOBJ_LDFLAGS
='-assert pure-text'
67 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
73 SHOBJ_LDFLAGS
='-assert pure-text'
75 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
78 sunos5
*-*gcc
*|solaris2
*-*gcc
*)
81 # This line works for the Solaris linker in /usr/ccs/bin/ld
82 SHOBJ_LDFLAGS
='-shared -Wl,-i -Wl,-h,$@'
83 # This line works for the GNU ld
84 # SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
86 # SHLIB_XLDFLAGS='-R $(libdir)'
87 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
92 SHOBJ_LD
=/usr
/ccs
/bin
/ld
93 SHOBJ_LDFLAGS
='-G -dy -z text -i -h $@'
95 # SHLIB_XLDFLAGS='-R $(libdir)'
96 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
99 # All versions of Linux or the semi-mythical GNU Hurd.
103 SHOBJ_LDFLAGS
='-shared -Wl,-soname,$@'
105 SHLIB_XLDFLAGS
='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
106 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
112 SHOBJ_LDFLAGS
='-x -Bshareable'
114 SHLIB_XLDFLAGS
='-R$(libdir)'
115 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
119 freebsd
[3-9]*|freebsdelf
[3-9]*|freebsdaout
[3-9]*)
123 if [ -x /usr
/bin
/objformat
] && [ "`/usr/bin/objformat`" = "elf" ]; then
124 SHOBJ_LDFLAGS
='-shared -Wl,-soname,$@'
126 SHLIB_XLDFLAGS
='-Wl,-rpath,$(libdir)'
127 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
129 SHOBJ_LDFLAGS
='-shared'
131 SHLIB_XLDFLAGS
='-R$(libdir)'
132 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
138 SHOBJ_STATUS
=unsupported
139 SHLIB_STATUS
=supported
141 SHOBJ_CFLAGS
='-dynamic -fno-common'
143 SHOBJ_LD
=/usr
/bin
/libtool
145 SHLIB_LIBVERSION
='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
146 SHLIB_LIBSUFF
='dylib'
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'
151 SHLIB_LIBS
='-lSystem'
157 SHOBJ_LDFLAGS
='-shared'
159 SHLIB_XLDFLAGS
='-R$(libdir)'
160 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
168 SHOBJ_LIBS
=-lc_s.2.1.0
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
181 SHOBJ_LIBS
=-lc_s.3.0.0
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
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.
196 SHOBJ_LDFLAGS
='-shared -Wl,-soname,$@'
198 SHLIB_XLDFLAGS
='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
199 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
203 # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE
205 SHOBJ_LDFLAGS
='-shared -Wl,-soname,$@'
207 SHLIB_XLDFLAGS
='-rpath $(libdir)'
208 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
213 SHOBJ_LDFLAGS
='-shared -soname $@ -expect_unresolved "*"'
215 SHLIB_XLDFLAGS
='-rpath $(libdir)'
216 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
219 aix4.
[2-9]*-*gcc
*) # lightly tested by jik@cisco.com
222 SHOBJ_LDFLAGS
='-bdynamic -bnoentry -bexpall'
225 SHLIB_XLDFLAGS
='-bM:SRE'
226 SHLIB_LIBS
='-lcurses -lc'
227 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
233 SHOBJ_LDFLAGS
='-bdynamic -bnoentry -bexpall'
236 SHLIB_XLDFLAGS
='-bM:SRE'
237 SHLIB_LIBS
='-lcurses -lc'
238 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
242 # THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface
247 SHOBJ_LDFLAGS
='-shared -Wl,-soname,$@'
249 SHLIB_XLDFLAGS
='-Wl,-rpath,$(libdir)'
250 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
254 SHOBJ_CFLAGS
='-K PIC'
256 # SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
257 # Change from David Kaelbling <drk@sgi.com>. If you have problems,
258 # remove the `-no_unresolved'
259 SHOBJ_LDFLAGS
='-shared -no_unresolved -soname $@'
261 SHLIB_XLDFLAGS
='-rpath $(libdir)'
262 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
266 # must use gcc; the bundled cc cannot compile PIC code
269 SHOBJ_LDFLAGS
='-shared -Wl,-b -Wl,+s'
271 SHLIB_XLDFLAGS
='-Wl,+b,$(libdir)'
273 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
277 SHOBJ_STATUS
=unsupported
278 SHLIB_STATUS
=unsupported
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
287 # SHOBJ_LDFLAGS='-b +s'
289 # SHLIB_XLDFLAGS='+b $(libdir)'
291 # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
296 # must use gcc; the bundled cc cannot compile PIC code
299 SHOBJ_LDFLAGS
='-shared -Wl,-b -Wl,+s'
301 SHLIB_XLDFLAGS
='-Wl,+h,$@ -Wl,+b,$(libdir)'
303 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
307 SHOBJ_STATUS
=unsupported
308 SHLIB_STATUS
=unsupported
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
317 # SHOBJ_LDFLAGS='-b +s +h $@'
319 # SHLIB_XLDFLAGS='+b $(libdir)'
321 # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
326 # must use gcc; the bundled cc cannot compile PIC code
329 # SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@'
330 SHOBJ_LDFLAGS
='-shared -fpic -Wl,-b -Wl,+s -Wl,+h,$@'
332 SHLIB_XLDFLAGS
='-Wl,+b,$(libdir)'
334 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
338 SHOBJ_STATUS
=unsupported
339 SHLIB_STATUS
=unsupported
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
348 # SHOBJ_LDFLAGS='-b +s +h $@'
350 # SHLIB_XLDFLAGS='+b $(libdir)'
352 # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
358 SHOBJ_LDFLAGS
='-shared -h $@'
361 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
365 SHOBJ_CFLAGS
='-K PIC'
367 SHOBJ_LDFLAGS
='-dy -z text -G -h $@'
369 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
373 SHOBJ_CFLAGS
='-fpic' # DEFAULTS TO ELF
375 SHOBJ_LDFLAGS
='-shared'
377 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
381 SHOBJ_CFLAGS
='-K pic -b elf'
383 SHOBJ_LDFLAGS
='-G -b elf -dy -z text -h $@'
385 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
391 SHOBJ_LDFLAGS
='-shared'
393 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
397 SHOBJ_CFLAGS
='-K PIC'
399 SHOBJ_LDFLAGS
='-G -dy -z text -h $@'
401 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
407 SHOBJ_LDFLAGS
='-shared'
409 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
413 SHOBJ_CFLAGS
='-K pic'
415 SHOBJ_LDFLAGS
='-G -dy -h $@'
417 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
421 SHOBJ_STATUS
=unsupported
422 SHLIB_STATUS
=unsupported
426 # Rely on correct gcc configuration for everything else
431 SHOBJ_LDFLAGS
='-shared'
433 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
437 SHOBJ_STATUS
=unsupported
438 SHLIB_STATUS
=unsupported
443 echo SHOBJ_CC
=\'"$SHOBJ_CC"\'
444 echo SHOBJ_CFLAGS
=\'"$SHOBJ_CFLAGS"\'
445 echo SHOBJ_LD
=\'"$SHOBJ_LD"\'
446 echo SHOBJ_LDFLAGS
=\'"$SHOBJ_LDFLAGS"\'
447 echo SHOBJ_XLDFLAGS
=\'"$SHOBJ_XLDFLAGS"\'
448 echo SHOBJ_LIBS
=\'"$SHOBJ_LIBS"\'
450 echo SHLIB_XLDFLAGS
=\'"$SHLIB_XLDFLAGS"\'
451 echo SHLIB_LIBS
=\'"$SHLIB_LIBS"\'
452 echo SHLIB_LIBSUFF
=\'"$SHLIB_LIBSUFF"\'
453 echo SHLIB_LIBVERSION
=\'"$SHLIB_LIBVERSION"\'
455 echo SHOBJ_STATUS
=\'"$SHOBJ_STATUS"\'
456 echo SHLIB_STATUS
=\'"$SHLIB_STATUS"\'
This page took 0.041575 seconds and 4 git commands to generate.