summaryrefslogtreecommitdiff
path: root/support/shobj-conf
diff options
context:
space:
mode:
Diffstat (limited to 'support/shobj-conf')
-rwxr-xr-xsupport/shobj-conf50
1 files changed, 43 insertions, 7 deletions
diff --git a/support/shobj-conf b/support/shobj-conf
index cbd3d1b..6649c70 100755
--- a/support/shobj-conf
+++ b/support/shobj-conf
@@ -62,9 +62,9 @@ sunos4*)
sunos5*-gcc*|solaris2*-gcc*)
SHOBJ_CFLAGS=-fpic
SHOBJ_LD='${CC}'
- SHOBJ_LDFLAGS='-shared -Wl,-i'
+ SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
- SHLIB_XLDFLAGS='-R $(libdir)'
+# SHLIB_XLDFLAGS='-R $(libdir)'
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
@@ -73,7 +73,7 @@ sunos5*|solaris2*)
SHOBJ_LD=/usr/ccs/bin/ld
SHOBJ_LDFLAGS='-G -dy -z text -i -h $@'
- SHLIB_XLDFLAGS='-R $(libdir)'
+# SHLIB_XLDFLAGS='-R $(libdir)'
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
@@ -86,13 +86,32 @@ freebsd2* | netbsd* | openbsd*)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
;;
+# FreeBSD-3.x can have either a.out or ELF object files
+#freebsd3*)
+# SHOBJ_CFLAGS=-fpic
+# SHOBJ_LD='${CC}'
+# SHOBJ_LDFLAGS='-shared'
+#
+# SHLIB_XLDFLAGS='-R$(libdir)'
+# SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+# ;;
+
+# FreeBSD-3.x ELF
freebsd3*)
SHOBJ_CFLAGS=-fpic
SHOBJ_LD='${CC}'
- SHOBJ_LDFLAGS='-shared'
- SHLIB_XLDFLAGS='-R$(libdir)'
- SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+ if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
+ SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+
+ SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ else
+ SHOBJ_LDFLAGS='-shared'
+
+ SHLIB_XLDFLAGS='-R$(libdir)'
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+ fi
;;
linux*)
@@ -142,6 +161,15 @@ bsdi4*)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
;;
+osf*-gcc*)
+ # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE
+ SHOBJ_LD='${CC}'
+ SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+
+ SHLIB_XLDFLAGS='-rpath $(libdir)'
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ ;;
+
osf*)
SHOBJ_LD=ld
SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"'
@@ -187,7 +215,9 @@ irix[56]*-gcc*)
irix[56]*)
SHOBJ_CFLAGS='-K PIC'
SHOBJ_LD=ld
- SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
+# SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
+# Change from David Kaelbling <drk@sgi.com>
+ SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@'
SHLIB_XLDFLAGS='-rpath $(libdir)'
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
@@ -305,6 +335,12 @@ dgux*)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
+
+msdos*)
+ SHOBJ_STATUS=unsupported
+ SHLIB_STATUS=unsupported
+ ;;
+
#
# Rely on correct gcc configuration for everything else
#