summaryrefslogtreecommitdiff
path: root/support/shobj-conf
diff options
context:
space:
mode:
Diffstat (limited to 'support/shobj-conf')
-rw-r--r--support/shobj-conf19
1 files changed, 15 insertions, 4 deletions
diff --git a/support/shobj-conf b/support/shobj-conf
index bcc9dc7..5a63e80 100644
--- a/support/shobj-conf
+++ b/support/shobj-conf
@@ -64,7 +64,7 @@ while [ $# -gt 0 ]; do
esac
done
-case "${host_os}-${SHOBJ_CC}" in
+case "${host_os}-${SHOBJ_CC}-${host_vendor}" in
sunos4*-*gcc*)
SHOBJ_CFLAGS=-fpic
SHOBJ_LD=/usr/bin/ld
@@ -108,8 +108,8 @@ sunos5*|solaris2*)
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
-# All versions of Linux or the semi-mythical GNU Hurd.
-linux*-*|gnu*-*|k*bsd*-gnu-*)
+# All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
+linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
@@ -128,7 +128,7 @@ freebsd2*)
;;
# FreeBSD-3.x ELF
-freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
+freebsd3*|freebsdaout*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
@@ -145,6 +145,17 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
fi
;;
+# FreeBSD-4.x and later have only ELF
+freebsd[4-9]*|freebsdelf*|dragonfly*)
+ SHOBJ_CFLAGS=-fPIC
+ SHOBJ_LD='${CC}'
+
+ SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+ SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
+
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ ;;
+
# Darwin/MacOS X
darwin[89]*|darwin10*)
SHOBJ_STATUS=supported