Files
bitchx/macros/pluginsupport.m4
Kevin Easton f95ebdc259 Fix AC_CHECK_PLUGIN_SUPPORT to fix building on FreeBSD 9, and regenerate
aclocal.m4 with the fix.  This improves upon the original fix in revision 78,
and should actually fix the problem this time.

Reported by cpet and VICODAN.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@152 13b04d17-f746-0410-82c6-800466cd88b0
2012-02-16 10:13:10 +00:00

163 lines
4.3 KiB
Plaintext

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 ])