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
16 SHOBJ_STATUS
=supported
17 SHLIB_STATUS
=supported
30 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF)'
32 PROGNAME
=`basename $0`
33 USAGE
="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor"
35 while [ $# -gt 0 ]; do
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;;
45 case "${host_os}-${SHOBJ_CC}" in
49 SHOBJ_LDFLAGS
='-assert pure-text'
51 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
57 SHOBJ_LDFLAGS
='-assert pure-text'
59 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
62 sunos5
*-gcc*|solaris2
*-gcc*)
65 SHOBJ_LDFLAGS
='-shared -Wl,-i'
67 SHLIB_XLDFLAGS
='-R $(libdir)'
68 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
73 SHOBJ_LD
=/usr
/ccs
/bin
/ld
74 SHOBJ_LDFLAGS
='-G -dy -z text -i -h $@'
76 SHLIB_XLDFLAGS
='-R $(libdir)'
77 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
80 freebsd2
* | netbsd
* | openbsd
*)
83 SHOBJ_LDFLAGS
='-x -Bshareable'
85 SHLIB_XLDFLAGS
='-R$(libdir)'
86 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
92 SHOBJ_LDFLAGS
='-shared'
94 SHLIB_XLDFLAGS
='-R$(libdir)'
95 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
101 SHOBJ_LDFLAGS
='-shared -Wl,-soname,$@'
103 SHLIB_XLDFLAGS
='-Wl,-rpath,$(libdir)'
104 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
112 SHOBJ_LIBS
=-lc_s.2.1.0
114 # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
115 # the ass -- they require changing {/usr/lib,etc}/shlib.map on
116 # each system, and the library creation process is byzantine
117 SHLIB_STATUS
=unsupported
125 SHOBJ_LIBS
=-lc_s.3.0.0
127 # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
128 # the ass -- they require changing {/usr/lib,etc}/shlib.map on
129 # each system, and the library creation process is byzantine
130 SHLIB_STATUS
=unsupported
134 # BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked
135 # shared libraries. gcc 2.x is the standard compiler, and the
136 # `normal' gcc options should work as they do in Linux.
140 SHOBJ_LDFLAGS
='-shared -Wl,-soname,$@'
142 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
147 SHOBJ_LDFLAGS
='-shared -soname $@ -expect_unresolved "*"'
149 SHLIB_XLDFLAGS
='-rpath $(libdir)'
150 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
153 aix4.
[2-9]*-gcc*) # lightly tested by jik@cisco.com
156 SHOBJ_LDFLAGS
='-bdynamic -bnoentry -bexpall'
159 SHLIB_XLDFLAGS
='-bM:SRE'
160 SHLIB_LIBS
='-lcurses -lc'
161 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
167 SHOBJ_LDFLAGS
='-bdynamic -bnoentry -bexpall'
170 SHLIB_XLDFLAGS
='-bM:SRE'
171 SHLIB_LIBS
='-lcurses -lc'
172 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
176 # THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface
181 SHOBJ_LDFLAGS
='-shared -Wl,-soname,$@'
183 SHLIB_XLDFLAGS
='-Wl,-rpath,$(libdir)'
184 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
188 SHOBJ_CFLAGS
='-K PIC'
190 SHOBJ_LDFLAGS
='-call_shared -hidden_symbol -no_unresolved -soname $@'
192 SHLIB_XLDFLAGS
='-rpath $(libdir)'
193 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
197 # must use gcc; the bundled cc cannot compile PIC code
200 SHOBJ_LDFLAGS
='-shared -Wl,-b -Wl,+s'
202 SHLIB_XLDFLAGS
='-Wl,+b,$(libdir)'
204 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
208 SHOBJ_STATUS
=unsupported
209 SHLIB_STATUS
=unsupported
213 # must use gcc; the bundled cc cannot compile PIC code
216 SHOBJ_LDFLAGS
='-shared -Wl,-b -Wl,+s'
218 SHLIB_XLDFLAGS
='-Wl,+h,$@ -Wl,+b,$(libdir)'
220 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
224 SHOBJ_STATUS
=unsupported
225 SHLIB_STATUS
=unsupported
229 # must use gcc; the bundled cc cannot compile PIC code
232 # SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@'
233 SHOBJ_LDFLAGS
='-shared -Wl,-b -Wl,+s -Wl,+h,$@'
235 SHLIB_XLDFLAGS
='-Wl,+b,$(libdir)'
237 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
241 SHOBJ_STATUS
=unsupported
242 SHLIB_STATUS
=unsupported
247 SHOBJ_LDFLAGS
='-shared -h $@'
250 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
254 SHOBJ_CFLAGS
='-K PIC'
256 SHOBJ_LDFLAGS
='-dy -z text -G -h $@'
258 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
262 SHOBJ_CFLAGS
='-fpic' # DEFAULTS TO ELF
264 SHOBJ_LDFLAGS
='-shared'
266 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
270 SHOBJ_CFLAGS
='-K pic -b elf'
272 SHOBJ_LDFLAGS
='-G -b elf -dy -z text -h $@'
274 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
280 SHOBJ_LDFLAGS
='-shared'
282 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
286 SHOBJ_CFLAGS
='-K PIC'
288 SHOBJ_LDFLAGS
='-G -dy -z text -h $@'
290 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
296 SHOBJ_LDFLAGS
='-shared'
298 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
302 SHOBJ_CFLAGS
='-K pic'
304 SHOBJ_LDFLAGS
='-G -dy -h $@'
306 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
310 SHOBJ_STATUS
=unsupported
311 SHLIB_STATUS
=unsupported
315 # Rely on correct gcc configuration for everything else
320 SHOBJ_LDFLAGS
='-shared'
322 SHLIB_LIBVERSION
='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
326 SHOBJ_STATUS
=unsupported
327 SHLIB_STATUS
=unsupported
332 echo SHOBJ_CC
=\'"$SHOBJ_CC"\'
333 echo SHOBJ_CFLAGS
=\'"$SHOBJ_CFLAGS"\'
334 echo SHOBJ_LD
=\'"$SHOBJ_LD"\'
335 echo SHOBJ_LDFLAGS
=\'"$SHOBJ_LDFLAGS"\'
336 echo SHOBJ_XLDFLAGS
=\'"$SHOBJ_XLDFLAGS"\'
337 echo SHOBJ_LIBS
=\'"$SHOBJ_LIBS"\'
339 echo SHLIB_XLDFLAGS
=\'"$SHLIB_XLDFLAGS"\'
340 echo SHLIB_LIBS
=\'"$SHLIB_LIBS"\'
341 echo SHLIB_LIBSUFF
=\'"$SHLIB_LIBSUFF"\'
342 echo SHLIB_LIBVERSION
=\'"$SHLIB_LIBVERSION"\'
344 echo SHOBJ_STATUS
=\'"$SHOBJ_STATUS"\'
345 echo SHLIB_STATUS
=\'"$SHLIB_STATUS"\'
This page took 0.054522 seconds and 4 git commands to generate.