From 2c8fa27f6f3fc1ffc63ca98193f8713d0fe17da7 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Thu, 13 Sep 2001 18:47:02 +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 92afdb1ca..c01421c41 100644 --- a/zshconfig.ac +++ b/zshconfig.ac @@ -1612,7 +1612,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}" ;; * ) @@ -1638,11 +1645,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