dnl AC_CHECK_PLUGIN_SUPPORT
dnl Copyright (c) David Walluck 2000
dnl All rights reserved.
AC_DEFUN(AC_CHECK_PLUGIN_SUPPORT,
[ if test x"$plugins" != x"0"; then
AC_CHECK_HEADER(dlfcn.h)
AC_CACHE_CHECK(for system version, ac_cv_system_version,
[ if test -f "/usr/lib/NextStep/software_version"; then
system=NEXTSTEP-"`$AWK '/3/,/3/' /usr/lib/NextStep/software_version`"
else
system="`uname -s`-`uname -r`"
if test -z "$system"; then
AC_MSG_RESULT(unknown \(can't find uname command\))
system="unknown"
else
if test -r "/etc/.relid" -a x"`uname -n`" = x"`uname -s`"; then
system="MP-RAS-`$AWK '{print $3}' /etc/.relid'`"
fi
fi
fi
ac_cv_system_version="$system"
])
dnl I really wish I could ditch all of this in favor of libtool
case "$ac_cv_system_version" in
AIX*)
SHLIB_LD="ld -shared"
;;
BSD/OS-2* | BSD/OS-3*)
SHLIB_LD="ld -r"
;;
BSD/OS-4*)
SHLIB_LD="$CC -shared"
;;
HP-UX-*9* | HP-UX-*10* | HP-UX-*11*)
SHLIB_CFLAGS="+Z"
SHLIB_LD="ld"
SHLIB_SUFFIX=".sl"
;;
IRIX*32*)
SHLIB_LD="ld -shared -32"
;;
IRIX*64*)
SHLIB_LD="ld -shared -64"
;;
Linux*)
SHLIB_CFLAGS="-fPIC"
;;
MP-RAS-02*)
SHLIB_CFLAGS="-KPIC"
SHLIB_LD="$CC -G"
;;
MP-RAS-*)
SHLIB_CFLAGS="-KPIC"
SHLIB_LD="$CC -G"
LDFLAGS="$LDFLAGS -Wl,-Bexport"
;;
NetBSD*)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
SHLIB_LD="ld -Bshareable"
else
SHLIB_LD="ld -shared"
fi
;;
FreeBSD-1*)
dnl It sucks that I to have to do this.
AC_MSG_ERROR(sorry, no plugins on $ac_cv_system_version)
;;
FreeBSD-2.2*)
SHLIB_LD="ld -Bshareable"
;;
FreeBSD-2*)
SHLIB_LD="ld -Bshareable"
;;
FreeBSD*)
SHLIB_LD="$CC -shared"
;;
OpenBSD*)
SHLIB_LD="$CC -shared"
;;
BSDI*)
SHLIB_LD="$CC -shared"
;;
NEXTSTEP*)
SHLIB_LD="$CC -nostdlib -r"
;;
OSF1-1.0 | OSF1-1.1 | OSF1-1.2)
SHLIB_LD="ld -R -export \$(PLUGIN_NAME)"
;;
OSF1-1*)
SHLIB_CFLAGS="-fpic"
SHLIB_LD="ld -shared"
;;
OSF1-V*)
SHLIB_LD="ld -shared -expect_unresolved \*"
;;
OSF3* | OSF4*)
SHLIB_LD="ld -shared -expect_unresolved \*"
;;
SCO_SV-3.2*)
SHLIB_CFLAGS="-Kpic -belf"
SHLIB_LD="ld -G"
LDFLAGS="ldFLAGS -belf -Wl,-Bexport"
;;
SINIX*5.4*)
SHLIB_CFLAGS="-K PIC"
SHLIB_LD="$CC -G"
;;
Solaris*)
if test x"$GCC" = x"yes"; then
SHLIB_LD="ld -shared"
else
SHLIB_CFLAGS="-KPIC"
SHLIB_LD="$CC -shared"
fi
;;
SunOS-4*)
if test x"$GCC" = x"yes"; then
SHLIB_LD="ld -shared"
else
SHLIB_CFLAGS="-PIC"
SHLIB_LD="$CC"
fi
;;
SunOS-5*)
if test x"$GCC" = x"yes"; then
SHLIB_LD="ld -shared"
else
SHLIB_CFLAGS="-KPIC"
SHLIB_LD="$CC"
fi
;;
UNIX_SV* | SYSTEM_V* | DYNIX/ptx*)
SHLIB_CFLAGS="-KPIC"
SHLIB_LD="$CC -G"
hold_ldflags="$LDFLAGS"
AC_TRY_LINK(, , [
LDFLAGS="-Wl,-Bexport"
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
LD_FLAGS="$hold_ldflags"
])
;;
CYGWIN*)
SHLIB_SUFFIX=".dll"
SHLIB_LD="dllwrap --export-all --output-def \$(PLUGIN_NAME).def --implib lib\$(PLUGIN_NAME).a --driver-name \$(CC)"
;;
OS/2*)
SHLIB_SUFFIX=".dll"
SHLIB_LD="$CC -Zdll -Zcrtdll -Zmt"
;;
*)
AC_MSG_WARN(couldn't determine plugin flags for your operatins system: $ac_cv_system_version. Check to see that "dll/Makefile" is correct and that you can actually build plugins.)
SHLIB_CFLAGS="-fPIC"
SHLIB_LD="$CC -shared"
SHLIB_SUFFIX=".so"
;;
esac
else
AC_MSG_RESULT(not building with plugin support - you will not be able to use plugins)
fi ])
syntax highlighted by Code2HTML, v. 0.9.1