From 7670eee717467ec7c78ce640d911a58bc5145d66 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Sun, 9 Sep 2001 16:37:03 +0000 Subject: David Lebel: Shared object linkage on OpenBSD. --- zshconfig.ac | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'zshconfig.ac') diff --git a/zshconfig.ac b/zshconfig.ac index a2f2c45d5..e70099a38 100644 --- a/zshconfig.ac +++ b/zshconfig.ac @@ -1602,7 +1602,14 @@ char *argv[]; else case "$host" in *openbsd*) - DLLD="${DLLD=$CC}" + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + DLLD="${DLLD=ld}" + ;; + *) + DLLD="${DLLD=$CC}" + ;; + esac DLLDARG="${LDARG}" ;; * ) @@ -1628,11 +1635,29 @@ char *argv[]; netbsd*) DLLDFLAGS="${DLLDFLAGS=${DLLDARG}-x -shared --whole-archive}" ;; aix*) DLLDFLAGS="${DLLDFLAGS=-G -bexpall -lc}" ;; solaris*|sysv4*|esix*) DLLDFLAGS="${DLLDFLAGS=-G}" ;; - openbsd*) DLLDFLAGS="${DLLDFLAGS=-shared -fPIC}" ;; + openbsd*) + if test $zsh_cv_sys_elf = yes; then + DLLDFLAGS="${DLLDFLAGS=-shared -fPIC}" + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + DLLDFLAGS="${DLLDFLAGS=-Bshareable}" + ;; + *) + DLLDFLAGS="${DLLDFLAGS=-shared -fPIC}" + ;; + esac + fi + ;; esac case "$host" in *-hpux*) EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-Wl,-E}" ;; *-freebsd[3-9]*|*-linux*) EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-rdynamic}" ;; + *openbsd*) + if test $zsh_cv_sys_elf = yes; then + EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-Wl,-E}" + fi + ;; mips-sni-sysv4) # # unfortunately, we have different compilers -- cgit 1.4.1