mirror of
https://github.com/moparisthebest/hexchat
synced 2024-11-29 12:42:16 -05:00
599b9b0379
- openSUSE has ExtUtils::Embed, EXTERN.h and perl.so in the base perl package. - Fedora has ExtUtils::Embed in a separate perl-devel package. - Mageia has ExtUtils::Embed in the base perl package but EXTERN.h in a separate perl-devel package. Without this package, the compiler complains about the missing header. - Debian has ExtUtils::Embed and EXTERN.h in the base perl package but perl.so in a separate libperl-dev package. Without this package, gcc compiles successfully but complains at link-time about -lperl (ExtUtils::Embed returns '-lperl' in ldopts but it's not actually installed). configure.ac already requires ExtUtil::Embed to enable perl. To handle the case of Mageia and Debian, this change uses AC_TRY_LINK to verify that the flags returned by ExtUtils::Embed can actually be used to compile before deciding to enable the perl plugin.
852 lines
26 KiB
Plaintext
852 lines
26 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
AC_INIT([HexChat],[2.9.6])
|
|
|
|
AC_PREREQ([2.60])
|
|
AC_COPYRIGHT([Copyright (C) 1998-2010 Peter Zelezny])
|
|
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_SRCDIR([configure.ac])
|
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AM_INIT_AUTOMAKE([1.11 dist-bzip2 subdir-objects no-define foreign])
|
|
AM_SILENT_RULES([yes])
|
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
AM_MAINTAINER_MODE
|
|
AC_PROG_CC
|
|
AM_PROG_CC_C_O
|
|
AC_PROG_CPP
|
|
AM_PROG_AS
|
|
AM_DISABLE_STATIC
|
|
AC_PROG_LIBTOOL
|
|
AC_PATH_PROG(MDTOOL, mdtool, no)
|
|
|
|
dnl -----------------------------------------------------------
|
|
dnl Language Support
|
|
dnl -----------------------------------------------------------
|
|
GETTEXT_PACKAGE=hexchat
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name])
|
|
IT_PROG_INTLTOOL([0.40.0])
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
dnl displaced from acconfig.h
|
|
AH_VERBATIM([OLD_PERL],[#undef OLD_PERL])
|
|
AH_VERBATIM([PREFIX],[#undef PREFIX])
|
|
AH_VERBATIM([HEXCHATLIBDIR],[#undef HEXCHATLIBDIR])
|
|
AH_VERBATIM([HEXCHATSHAREDIR],[#undef HEXCHATSHAREDIR])
|
|
AH_VERBATIM([SOCKS],[#undef SOCKS])
|
|
AH_VERBATIM([USE_MSPROXY],[#undef USE_MSPROXY])
|
|
AH_VERBATIM([USE_LIBPROXY],[#undef USE_LIBPROXY])
|
|
AH_VERBATIM([HAVE_ISO_CODES],[#undef HAVE_ISO_CODES])
|
|
AH_VERBATIM([USE_LIBNOTIFY],[#undef USE_LIBNOTIFY])
|
|
AH_VERBATIM([USE_LIBCANBERRA],[#undef USE_LIBCANBERRA])
|
|
AH_VERBATIM([USE_IPV6],[#undef USE_IPV6])
|
|
AH_VERBATIM([USE_OPENSSL],[#undef USE_OPENSSL])
|
|
AH_VERBATIM([USE_PLUGIN],[#undef USE_PLUGIN])
|
|
AH_VERBATIM([USE_SIGACTION],[#undef USE_SIGACTION])
|
|
AH_VERBATIM([USING_FREEBSD],[#undef USING_FREEBSD])
|
|
AH_VERBATIM([USING_LINUX],[#undef USING_LINUX])
|
|
AH_VERBATIM([socklen_t],[#undef socklen_t])
|
|
AH_VERBATIM([USE_DBUS],[#undef USE_DBUS])
|
|
|
|
AC_PATH_PROG(sedpath, sed)
|
|
if test "_$sedpath" = _; then
|
|
AC_MSG_ERROR(Cannot find sed: I need it!)
|
|
fi
|
|
|
|
AC_PATH_PROG(unamepath, uname)
|
|
if test "_$unamepath" = _; then
|
|
system="unknown"
|
|
else
|
|
AC_MSG_CHECKING(system type)
|
|
system=`$unamepath -s`
|
|
AC_MSG_RESULT($system)
|
|
if test "$system" = "Linux"; then
|
|
AC_DEFINE(USING_LINUX)
|
|
fi
|
|
if test "$system" = "FreeBSD"; then
|
|
AC_DEFINE(USING_FREEBSD)
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** configure switches ***********************************************
|
|
dnl *********************************************************************
|
|
|
|
AC_ARG_ENABLE(socks,
|
|
[AS_HELP_STRING([--enable-socks],[link with SOCKS5 library (default: no)])],
|
|
socks=$enableval, socks=no)
|
|
|
|
AC_ARG_ENABLE(ipv6,
|
|
[AS_HELP_STRING([--disable-ipv6],[disable IPv6])],
|
|
ipv6=$enableval, ipv6=yes)
|
|
|
|
AC_ARG_ENABLE(openssl,
|
|
[AS_HELP_STRING([--enable-openssl[=PATH]],[enable use of openSSL])],
|
|
openssl=$enableval, openssl=yes)
|
|
|
|
AC_ARG_ENABLE(gtkfe,
|
|
[AS_HELP_STRING([--disable-gtkfe],[disable building gtk frontend])],
|
|
gtkfe=$enableval, gtkfe=yes)
|
|
|
|
AC_ARG_ENABLE(textfe,
|
|
[AS_HELP_STRING([--enable-textfe],[build the text frontend (default: no)])],
|
|
textfe=$enableval, textfe=no)
|
|
|
|
AC_ARG_ENABLE(python,
|
|
[AS_HELP_STRING([--enable-python=pythonversion],[build the python plugin; possible values: "python2", "python3" or specific such as "python3.3" (default on, python2)])],
|
|
python=$enableval, python=python2)
|
|
AS_IF([test "x$python" = "xyes"], [python=python2])
|
|
|
|
AC_ARG_ENABLE(perl,
|
|
[AS_HELP_STRING([--disable-perl],[don\'t build the perl plugin])],
|
|
perl=$enableval, perl=yes)
|
|
|
|
AC_ARG_ENABLE(perl_old,
|
|
[AS_HELP_STRING([--disable-perl_old],[no backwards compatibility for perl plugin])],
|
|
perl_old=$enableval, perl_old=yes)
|
|
|
|
AC_ARG_ENABLE(plugin,
|
|
[AS_HELP_STRING([--disable-plugin],[disable plugin support])],
|
|
plugin=$enableval, plugin=yes)
|
|
|
|
AC_ARG_ENABLE(checksum,
|
|
[AS_HELP_STRING([--disable-checksum],[disable the Checksum plugin])],
|
|
checksum=$enableval, checksum=yes)
|
|
|
|
AC_ARG_ENABLE(doat,
|
|
[AS_HELP_STRING([--disable-doat],[disable the Do At plugin])],
|
|
doat=$enableval, doat=yes)
|
|
|
|
AC_ARG_ENABLE(fishlim,
|
|
[AS_HELP_STRING([--disable-fishlim],[disable the FiSHLiM plugin])],
|
|
fishlim=$enableval, fishlim=yes)
|
|
|
|
AC_ARG_ENABLE(sysinfo,
|
|
[AS_HELP_STRING([--disable-sysinfo],[disable the SysInfo plugin])],
|
|
sysinfo=$enableval, sysinfo=yes)
|
|
|
|
AC_ARG_ENABLE(dbus,
|
|
[AS_HELP_STRING([--disable-dbus],[disable DBUS support])],
|
|
dbus=$enableval, dbus=yes)
|
|
|
|
AC_ARG_ENABLE(libnotify,
|
|
[AS_HELP_STRING([--disable-libnotify],[disable libnotify support])],
|
|
libnotify=$enableval, libnotify=yes)
|
|
|
|
AC_ARG_ENABLE(libcanberra,
|
|
[AS_HELP_STRING([--disable-libcanberra],[disable libcanberra support])],
|
|
libcanberra=$enableval, libcanberra=yes)
|
|
|
|
AC_ARG_ENABLE(ntlm,
|
|
[AS_HELP_STRING([--enable-ntlm],[enable Microsoft\'s NTLM auth (libntlm) library support (default: no)])],
|
|
ntlm=$enableval, ntlm=no)
|
|
|
|
AC_ARG_ENABLE(libproxy,
|
|
[AS_HELP_STRING([--disable-libproxy],[disable libproxy support (default: auto)])],
|
|
libproxy=$enableval, libproxy=auto)
|
|
|
|
AC_ARG_ENABLE(isocodes,
|
|
[AS_HELP_STRING([--disable-isocodes],[disable iso-codes with spell-check])],
|
|
isocodes=$enableval, isocodes=yes)
|
|
|
|
AC_ARG_ENABLE(minimal-flags,
|
|
[AS_HELP_STRING([--enable-minimal-flags],[only add those CFLAGS that are really needed or not intrusive (default: no)])],
|
|
minimalflags=$enableval, minimalflags=no)
|
|
|
|
AC_ARG_WITH(theme-manager,
|
|
[AS_HELP_STRING([--with-theme-manager],[compile theme manager (needs monodevelop, default: off)])],
|
|
theme_manager=$withval, theme_manager=no)
|
|
|
|
|
|
|
|
dnl *********************************************************************
|
|
dnl ** THEME-MANAGER ****************************************************
|
|
dnl *********************************************************************
|
|
if test "x$theme_manager" != "xno" ; then
|
|
if test "x$MDTOOL" = "xno"; then
|
|
AC_MSG_ERROR([No "mdtool" found, you need to install monodevelop!])
|
|
fi
|
|
fi
|
|
|
|
|
|
dnl *********************************************************************
|
|
dnl ** GLIB *************************************************************
|
|
dnl *********************************************************************
|
|
|
|
AM_PATH_GLIB_2_0(2.28.0, glib=yes, glib=no)
|
|
if test "$glib" = no; then
|
|
AC_MSG_ERROR(Cannot find GLib!)
|
|
fi
|
|
|
|
PKG_CHECK_MODULES([GOBJECT], [gobject-2.0], [], [AC_MSG_ERROR(Cannot find gobject-2.0!)])
|
|
|
|
COMMON_CFLAGS="$GLIB_CFLAGS $GOBJECT_CFLAGS -DG_DISABLE_SINGLE_INCLUDES"
|
|
COMMON_LIBS="$GLIB_LIBS $GOBJECT_LIBS -lgmodule-2.0"
|
|
|
|
dnl *********************************************************************
|
|
dnl ** GTK **************************************************************
|
|
dnl *********************************************************************
|
|
|
|
# we might get undefined macro without this test
|
|
if test "$gtkfe" = yes ; then
|
|
AM_PATH_GTK_2_0(2.24.0, havegtk=yes, havegtk=no)
|
|
|
|
if test "$havegtk" = no; then
|
|
gtkfe=no
|
|
echo
|
|
echo Cannot find GTK\! Not building GTK FrontEnd.
|
|
echo
|
|
fi
|
|
fi
|
|
|
|
GUI_LIBS="$GUI_LIBS $GTK_LIBS"
|
|
GUI_CFLAGS="$GUI_CFLAGS $GTK_CFLAGS -DG_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
|
|
|
|
dnl *********************************************************************
|
|
dnl ** PERL *************************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "$perl" = yes; then
|
|
AC_PATH_PROG(perlpath, perl)
|
|
AC_MSG_CHECKING(for Perl compile flags)
|
|
PERL_CFLAGS=`$perlpath -MExtUtils::Embed -e ccopts 2>/dev/null`
|
|
if test "_$PERL_CFLAGS" = _ ; then
|
|
AC_MSG_RESULT([not found, building without perl.])
|
|
perl=no
|
|
else
|
|
PERL_LDFLAGS=`$perlpath -MExtUtils::Embed -e ldopts |$sedpath 's/-lgdbm //'`
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-ldb //'`
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lndbm //'`
|
|
if test "$system" = "Linux"; then
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lnsl //'`
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lposix //'`
|
|
fi
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lc //'`
|
|
AC_MSG_RESULT(ok)
|
|
|
|
AC_MSG_CHECKING(for perl >= 5.8.0)
|
|
PERL_VER=`$perlpath -e 'print $]>= 5.008?"yes":"no"'`
|
|
if test "$PERL_VER" = "yes"; then
|
|
original_cflags="$CFLAGS"
|
|
original_ldflags="$LDFLAGS"
|
|
CFLAGS="$PERL_CFLAGS"
|
|
LDFLAGS="$PERL_LDFLAGS"
|
|
AC_TRY_LINK([#include <EXTERN.h>
|
|
#include <perl.h>], [], perl_is_usable=yes, perl_is_usable=no)
|
|
CFLAGS="$original_cflags"
|
|
LDFLAGS="$original_ldflags"
|
|
if test x$perl_is_usable = xno ; then
|
|
AC_MSG_RESULT(no)
|
|
perl=no
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
AC_MSG_CHECKING(if perl plugin will be backward compatible)
|
|
if test "$perl_old" = "yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(OLD_PERL)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
fi
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
echo "perl version too old, building without perl."
|
|
perl=no
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** PYTHON ***********************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "x$python" != xno ; then
|
|
case $python in
|
|
dnl set python2 default here
|
|
python2)
|
|
PKG_CHECK_MODULES([PY], [python-2.7], [], [AC_MSG_ERROR(Cannot find python-2.7!)])
|
|
PY_VER="`$PKG_CONFIG --modversion python-2.7`";;
|
|
dnl set python3 default here
|
|
python3)
|
|
PKG_CHECK_MODULES([PY], [python-3.3], [], [AC_MSG_ERROR(Cannot find python-3.3!)])
|
|
PY_VER="`$PKG_CONFIG --modversion python-3.3`";;
|
|
dnl add broken versions here
|
|
python2.5|python2.6|python3.1|python3.2)
|
|
AC_MSG_ERROR(Unsupported Python version ${python}!);;
|
|
python*)
|
|
python="python-${python#python}" # stay posix compliant
|
|
PKG_CHECK_MODULES([PY], [${python}], [], [AC_MSG_ERROR(Cannot find "${python}.pc"!)])
|
|
PY_VER="`$PKG_CONFIG --modversion ${python}`";;
|
|
*)
|
|
AC_MSG_ERROR(Unsupported Python ${python}!)
|
|
esac
|
|
AC_MSG_CHECKING(Python version)
|
|
AC_MSG_RESULT($PY_VER)
|
|
python="python-${PY_VER}"
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** IPv6 *************************************************************
|
|
dnl *********************************************************************
|
|
|
|
dnl purely for Solaris
|
|
AC_CHECK_FUNC(select, ,
|
|
AC_CHECK_LIB(socket, select, ,
|
|
AC_CHECK_LIB(nsl, select, ,
|
|
AC_CHECK_LIB(inet, select, ,
|
|
AC_CHECK_LIB(cposix, select, ,
|
|
AC_CHECK_LIB(net, select, ,
|
|
AC_MSG_WARN(i can not find select. you might need to help me)))))))
|
|
AC_CHECK_LIB(socket, select)
|
|
|
|
if test "$ipv6" = yes; then
|
|
AC_CHECK_FUNCS(getaddrinfo, have_getaddrinfo=yes)
|
|
AC_MSG_CHECKING(whether to enable IPv6 support)
|
|
if test "$have_getaddrinfo" = yes; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(USE_IPV6)
|
|
else
|
|
ipv6=no
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** OPENSSL **********************************************************
|
|
dnl *********************************************************************
|
|
|
|
retry=no
|
|
if test "$openssl" != no; then
|
|
AC_MSG_CHECKING(for openssl through pkg-config)
|
|
if $PKG_CONFIG openssl --exists; then
|
|
CPPFLAGS="$CPPFLAGS `$PKG_CONFIG openssl --cflags`"
|
|
LIBS="$LIBS `$PKG_CONFIG openssl --libs`"
|
|
AC_DEFINE(USE_OPENSSL)
|
|
AC_MSG_RESULT(yes)
|
|
openssl=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
retry=yes
|
|
fi
|
|
fi
|
|
|
|
if test "$retry" = "yes"; then
|
|
unset openssl_path ac_cv_lib_ssl_SSL_new ac_cv_header_openssl_ssl_h
|
|
if test "$openssl" != yes; then
|
|
openssl_path=$openssl
|
|
fi
|
|
openssl=no
|
|
SAVED_LIBS=$LIBS
|
|
LIBS="$LIBS -lcrypto"
|
|
if test -n "$openssl_path"; then
|
|
LIBS="-L$openssl_path/lib $LIBS"
|
|
fi
|
|
AC_CHECK_LIB(ssl, SSL_new, have_openssl=yes)
|
|
LIBS=$SAVED_LIBS
|
|
if test "$have_openssl" = yes; then
|
|
SAVED_CPPFLAGS=$CPPFLAGS
|
|
if test -n "$openssl_path"; then
|
|
CPPFLAGS="-I$openssl_path/include $CPPFLAGS"
|
|
fi
|
|
AC_CHECK_HEADERS(openssl/ssl.h, have_openssl_h=yes)
|
|
if test "$have_openssl_h" = yes; then
|
|
openssl=yes
|
|
AC_DEFINE(USE_OPENSSL)
|
|
LIBS="$LIBS -lssl -lcrypto"
|
|
if test -n "$openssl_path"; then
|
|
LIBS="-L$openssl_path/lib $LIBS"
|
|
fi
|
|
else
|
|
CPPFLAGS=$SAVED_CPPFLAGS
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** LIBPROXY *********************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "x$libproxy" = "xyes" -o "x$libproxy" = "xauto" ; then
|
|
PKG_CHECK_MODULES([LIBPROXY], [libproxy-1.0], [
|
|
COMMON_LIBS="$COMMON_LIBS $LIBPROXY_LIBS"
|
|
COMMON_CFLAGS="$COMMON_CFLAGS $LIBPROXY_CFLAGS"
|
|
AC_DEFINE(USE_LIBPROXY)
|
|
libproxy=yes
|
|
], [
|
|
if test "x$libproxy" = "xyes" ; then
|
|
AC_MSG_ERROR(Cannot find libproxy!)
|
|
fi
|
|
libproxy=no
|
|
])
|
|
else
|
|
libproxy=no
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** PLUGIN ***********************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "$plugin" = yes; then
|
|
AC_CHECK_FUNCS(dlopen, have_dl=yes)
|
|
if test "$have_dl" != yes; then
|
|
AC_CHECK_LIB(dl, dlopen, have_dl=yes)
|
|
if test "$have_dl" = yes; then
|
|
LIBS="$LIBS -ldl"
|
|
fi
|
|
fi
|
|
if test "$have_dl" = yes; then
|
|
AC_DEFINE(USE_PLUGIN)
|
|
dnl we just need the -Wl,--export-dynamic, but not -lgmodule-2.0
|
|
RDYNAMIC_FLAGS="`$PKG_CONFIG gmodule-2.0 --libs | $sedpath 's/ -lgmodule-2.0//'`"
|
|
LIBS="$LIBS $RDYNAMIC_FLAGS"
|
|
if test "$LD" = ""; then
|
|
VS="`ld --help | grep version-script 2> /dev/null`"
|
|
else
|
|
VS="`$LD --help | grep version-script 2> /dev/null`"
|
|
fi
|
|
if test "$VS" != ""; then
|
|
GUI_LIBS="$GUI_LIBS -Wl,--version-script,\$(srcdir)/../version-script"
|
|
fi
|
|
else
|
|
plugin=no
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** Checksum *********************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "$checksum" != "no"; then
|
|
checksum=no
|
|
AC_MSG_CHECKING(for plugin interface used by Checksum)
|
|
if test "$plugin" = yes; then
|
|
AC_MSG_RESULT([yes])
|
|
AC_MSG_CHECKING(for OpenSSL used by Checksum)
|
|
if test "$openssl" = yes; then
|
|
checksum=yes
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([OpenSSL cannot be found, use the --enable-openssl option])
|
|
fi
|
|
else
|
|
AC_MSG_RESULT([plugins are disabled, use the --enable-plugin option])
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** DO AT ************************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "$doat" != "no"; then
|
|
AC_MSG_CHECKING(for plugin interface used by Do At)
|
|
doat=no
|
|
if test "$plugin" = yes; then
|
|
doat=yes
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([plugins are disabled, use the --enable-plugin option for Do At])
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** FiSHLiM **********************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "$fishlim" != "no"; then
|
|
fishlim=no
|
|
AC_MSG_CHECKING(for plugin interface used by FiSHLiM)
|
|
if test "$plugin" = yes; then
|
|
AC_MSG_RESULT([yes])
|
|
AC_MSG_CHECKING(for OpenSSL used by FiSHLiM)
|
|
if test "$openssl" = yes; then
|
|
fishlim=yes
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([OpenSSL cannot be found, use the --enable-openssl option])
|
|
fi
|
|
else
|
|
AC_MSG_RESULT([plugins are disabled, use the --enable-plugin option])
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** SYSINFO **********************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "$sysinfo" != "no"; then
|
|
AC_MSG_CHECKING(for plugin interface used by SysInfo)
|
|
if test "$plugin" = yes; then
|
|
AC_MSG_RESULT([yes])
|
|
PKG_CHECK_MODULES(LIBPCI, libpci >= 3.0.0, [sysinfo=yes], [sysinfo=no])
|
|
else
|
|
AC_MSG_RESULT([plugins are disabled, use the --enable-plugin option for SysInfo])
|
|
sysinfo=no
|
|
fi
|
|
fi
|
|
|
|
dnl #######################################################################
|
|
dnl # Check for DBUS libraries
|
|
dnl #######################################################################
|
|
|
|
if test "x$dbus" = "xyes" ; then
|
|
PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60 dbus-glib-1 >= 0.60 gthread-2.0], dbus=yes, [
|
|
dbus=no
|
|
])
|
|
AC_PATH_PROG(DBUS_BINDING_TOOL, dbus-binding-tool, no)
|
|
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
|
|
if test "x$DBUS_BINDING_TOOL" = "xno" || test "x$GLIB_GENMARSHAL" = "xno" || test "x$dbus" = "xno" ; then
|
|
dbus="no"
|
|
else
|
|
COMMON_LIBS="$COMMON_LIBS $DBUS_LIBS"
|
|
COMMON_CFLAGS="$COMMON_CFLAGS $DBUS_CFLAGS"
|
|
AC_DEFINE(USE_DBUS)
|
|
|
|
AS_AC_EXPAND(DBUS_SERVICES_DIR, "$datadir/dbus-1/services")
|
|
AC_SUBST(DBUS_SERVICES_DIR)
|
|
AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is])
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** LIBNOTIFY ********************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "x$libnotify" = "xyes" ; then
|
|
PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= 0.4, [], [
|
|
libnotify=no
|
|
])
|
|
if test "$libnotify" != "no" ; then
|
|
GUI_LIBS="$GUI_LIBS $LIBNOTIFY_LIBS"
|
|
GUI_CFLAGS="$GUI_CFLAGS $LIBNOTIFY_CFLAGS"
|
|
AC_DEFINE(USE_LIBNOTIFY)
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** LIBCANBERRA ******************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "x$libcanberra" = "xyes" ; then
|
|
PKG_CHECK_MODULES(LIBCANBERRA, libcanberra >= 0.22, [], [
|
|
libcanberra=no
|
|
])
|
|
if test "$libcanberra" != "no" ; then
|
|
COMMON_LIBS="$COMMON_LIBS $LIBCANBERRA_LIBS"
|
|
COMMON_CFLAGS="$COMMON_CFLAGS $LIBCANBERRA_CFLAGS"
|
|
AC_DEFINE(USE_LIBCANBERRA)
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** SPELL ************************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "x$isocodes" = "xyes" ; then
|
|
PKG_CHECK_MODULES(ISOCODES, "iso-codes", [
|
|
iso_codes_prefix=`$PKG_CONFIG --variable=prefix iso-codes 2>/dev/null || echo /usr`
|
|
AC_MSG_NOTICE([iso-codes prefix: $iso_codes_prefix])
|
|
AC_DEFINE_UNQUOTED([ISO_CODES_PREFIX], ["$iso_codes_prefix"], [ISO codes prefix])
|
|
AC_DEFINE_UNQUOTED([ISO_CODES_LOCALEDIR], ["$iso_codes_prefix/share/locale"], [ISO codes locale dir])
|
|
AC_DEFINE([HAVE_ISO_CODES], [1], [iso-codes available])
|
|
], [
|
|
isocodes=no
|
|
AC_MSG_WARN(iso-codes not found!)
|
|
])
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** CONDITIONALS *****************************************************
|
|
dnl *********************************************************************
|
|
|
|
AM_CONDITIONAL(USE_OPENSSL, test "x$openssl" = "xyes")
|
|
AM_CONDITIONAL(USE_LIBNOTIFY, test "x$libnotify" = "xyes")
|
|
AM_CONDITIONAL(USE_LIBCANBERRA, test "x$libcanberra" = "xyes")
|
|
AM_CONDITIONAL(DO_TEXT, test "x$textfe" = "xyes")
|
|
AM_CONDITIONAL(DO_GTK, test "x$gtkfe" = "xyes")
|
|
AM_CONDITIONAL(DO_PERL, test "x$perl" = "xyes")
|
|
AM_CONDITIONAL(DO_PYTHON, test "x$python" != "xno")
|
|
AM_CONDITIONAL(DO_PLUGIN, test "x$plugin" = "xyes")
|
|
AM_CONDITIONAL(DO_CHECKSUM, test "x$checksum" = "xyes")
|
|
AM_CONDITIONAL(DO_DOAT, test "x$doat" = "xyes")
|
|
AM_CONDITIONAL(DO_FISHLIM, test "x$fishlim" = "xyes")
|
|
AM_CONDITIONAL(DO_SYSINFO, test "x$sysinfo" = "xyes")
|
|
AM_CONDITIONAL(USE_DBUS, test "x$dbus" = "xyes")
|
|
AM_CONDITIONAL(HAVE_ISO_CODES, test "x$isocodes" = "xyes")
|
|
AM_CONDITIONAL(WITH_TM, test "x$theme_manager" != "xno")
|
|
|
|
dnl *********************************************************************
|
|
dnl ** SOCKS5 ***********************************************************
|
|
dnl *********************************************************************
|
|
|
|
if test "$socks" = yes; then
|
|
socks=no
|
|
AC_CHECK_LIB(socks5, SOCKSconnect, have_socks=yes)
|
|
if test "$have_socks" = yes; then
|
|
AC_CHECK_HEADERS(socks.h, have_socks_h=yes)
|
|
if test "$have_socks_h" = yes; then
|
|
socks=yes
|
|
AC_DEFINE(SOCKS)
|
|
LIBS="$LIBS -lsocks5"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** MS PROXY *********************************************************
|
|
dnl *********************************************************************
|
|
|
|
have_ntlm="no"
|
|
if test "x$ntlm" = "xyes" ; then
|
|
have_ntlm="no"
|
|
AC_CHECK_LIB(ntlm, ntlm_smb_encrypt, have_ntlm=yes)
|
|
if test "$have_ntlm" = yes; then
|
|
LIBS="$LIBS -lntlm"
|
|
AC_DEFINE(USE_MSPROXY)
|
|
fi
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** GCC FLAGS ********************************************************
|
|
dnl *********************************************************************
|
|
|
|
dnl Only use -Wall and -pipe if we have gcc
|
|
if test "x$GCC" = "xyes"; then
|
|
if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then
|
|
CFLAGS="$CFLAGS -Wall"
|
|
fi
|
|
dnl these flags might be unwanted
|
|
if test x$minimalflags != xyes; then
|
|
if test "$system" = "Linux" -o "$system" = "FreeBSD"; then
|
|
if test -z "`echo "$CFLAGS" | grep "\-pipe" 2> /dev/null`" ; then
|
|
CFLAGS="$CFLAGS -pipe"
|
|
fi
|
|
fi
|
|
if test -z "`echo "$CFLAGS" | grep "\-g " 2> /dev/null`" ; then
|
|
CFLAGS="$CFLAGS -g"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
dnl does this compiler support -Wno-pointer-sign ?
|
|
AC_MSG_CHECKING([if gcc accepts -Wno-pointer-sign ])
|
|
|
|
safe_CFLAGS=$CFLAGS
|
|
CFLAGS="-Wno-pointer-sign"
|
|
|
|
AC_TRY_COMPILE(, [
|
|
int main () { return 0 ; }
|
|
],
|
|
[
|
|
no_pointer_sign=yes
|
|
AC_MSG_RESULT([yes])
|
|
], [
|
|
no_pointer_sign=no
|
|
AC_MSG_RESULT([no])
|
|
])
|
|
CFLAGS=$safe_CFLAGS
|
|
|
|
if test x$no_pointer_sign = xyes; then
|
|
CFLAGS="$CFLAGS -Wno-pointer-sign"
|
|
fi
|
|
|
|
dnl does this compiler support -funsigned-char ?
|
|
AC_MSG_CHECKING([if gcc accepts -funsigned-char ])
|
|
|
|
safe_CFLAGS=$CFLAGS
|
|
CFLAGS="-funsigned-char"
|
|
|
|
AC_TRY_COMPILE(, [
|
|
int main () { return 0 ; }
|
|
],
|
|
[
|
|
unsigned_char=yes
|
|
AC_MSG_RESULT([yes])
|
|
], [
|
|
unsigned_char=no
|
|
AC_MSG_RESULT([no])
|
|
])
|
|
CFLAGS=$safe_CFLAGS
|
|
|
|
if test x$unsigned_char = xyes; then
|
|
CFLAGS="$CFLAGS -funsigned-char"
|
|
fi
|
|
|
|
dnl does this compiler support -Wno-unused-result ?
|
|
AC_MSG_CHECKING([if gcc accepts -Wno-unused-result ])
|
|
|
|
safe_CFLAGS=$CFLAGS
|
|
CFLAGS="-Wno-unused-result"
|
|
|
|
AC_TRY_COMPILE(, [
|
|
int main () { return 0 ; }
|
|
],
|
|
[
|
|
no_unused_result=yes
|
|
AC_MSG_RESULT([yes])
|
|
], [
|
|
no_unused_result=no
|
|
AC_MSG_RESULT([no])
|
|
])
|
|
CFLAGS=$safe_CFLAGS
|
|
|
|
if test x$no_unused_result = xyes; then
|
|
CFLAGS="$CFLAGS -Wno-unused-result"
|
|
fi
|
|
|
|
dnl *********************************************************************
|
|
dnl ** FUNCTIONS/LIBS/CFLAGS ********************************************
|
|
dnl *********************************************************************
|
|
|
|
AC_MSG_CHECKING(for modern sigaction)
|
|
dnl libc5 on linux and FreeBSD 3.x doesn\'t have siginfo_t
|
|
dnl and the sa_sigation field.
|
|
AC_TRY_COMPILE(
|
|
[#include <signal.h>],
|
|
[struct sigaction act;
|
|
siginfo_t *si;
|
|
act.sa_sigaction = 0;],
|
|
[
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(USE_SIGACTION)
|
|
],
|
|
AC_MSG_RESULT(no))
|
|
|
|
dnl if we don\'t have this, use g_snprintf instead
|
|
AC_CHECK_FUNCS(snprintf vsnprintf memrchr strtoull)
|
|
|
|
AC_CHECK_FUNC(gethostbyname, ,
|
|
AC_CHECK_LIB(resolv, gethostbyname, ,
|
|
AC_CHECK_LIB(nsl, gethostbyname)))
|
|
|
|
AC_CHECK_FUNC(gethostname, , AC_CHECK_LIB(nsl, gethostname))
|
|
|
|
dnl necessary for IRIX
|
|
AC_CHECK_HEADERS(strings.h)
|
|
|
|
dnl Check for type in sys/socket.h - from Squid source (GPL)
|
|
AC_CACHE_CHECK(for socklen_t, ac_cv_type_socklen_t, [
|
|
AC_EGREP_CPP([socklen_t[^a-zA-Z_0-9]], [#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#if STDC_HEADERS
|
|
#include <stdlib.h>
|
|
#include <stddef.h>
|
|
#endif],
|
|
ac_cv_type_socklen_t=yes,
|
|
ac_cv_type_socklen_t=no)
|
|
])
|
|
if test $ac_cv_type_socklen_t = no; then
|
|
AC_DEFINE(socklen_t, int)
|
|
fi
|
|
|
|
dnl Mac OS X and Darwin use lookupd, which caches DNS queries by default
|
|
AC_EGREP_CPP(lookupd, dnl
|
|
[#if (defined(__APPLE__) && defined(__MACH__))
|
|
lookupd
|
|
#endif], AC_DEFINE([LOOKUPD],1,[Define to 1 if the system uses lookupd]))
|
|
|
|
dnl freebsd needs this
|
|
LIBS="$LIBS $INTLLIBS"
|
|
CFLAGS="$CFLAGS $CPPFLAGS"
|
|
|
|
GUI_LIBS="$GUI_LIBS $COMMON_LIBS"
|
|
|
|
dnl make these visible to all Makefiles
|
|
AC_SUBST(GUI_LIBS)
|
|
AC_SUBST(GUI_CFLAGS)
|
|
AC_SUBST(COMMON_LIBS)
|
|
AC_SUBST(COMMON_CFLAGS)
|
|
AC_SUBST(PERL_CFLAGS)
|
|
AC_SUBST(PERL_LDFLAGS)
|
|
AC_SUBST(PY_CFLAGS)
|
|
AC_SUBST(PY_LIBS)
|
|
AC_SUBST(DBUS_CFLAGS)
|
|
AC_SUBST(DBUS_LIBS)
|
|
|
|
m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], AC_SUBST([pkgconfigdir], ${libdir}/pkgconfig))
|
|
|
|
PLUGIN_INCLUDES='-I$(top_srcdir)/plugins'
|
|
AC_SUBST(PLUGIN_INCLUDES)
|
|
|
|
dnl for plugin.c and pixmaps.c
|
|
test "x$prefix" = xNONE && prefix="$ac_default_prefix"
|
|
test "x$exec_prefix" = xNONE && exec_prefix="$prefix"
|
|
|
|
AC_DEFINE_UNQUOTED(PREFIX, "${prefix}")
|
|
|
|
AS_AC_EXPAND(HEXCHATLIBDIR, "${libdir}/hexchat/plugins")
|
|
AC_DEFINE_UNQUOTED(HEXCHATLIBDIR, "$HEXCHATLIBDIR")
|
|
|
|
AS_AC_EXPAND(HEXCHATSHAREDIR, "$datadir")
|
|
AC_DEFINE_UNQUOTED(HEXCHATSHAREDIR, "$HEXCHATSHAREDIR")
|
|
|
|
dnl for plugins/xxx/Makefile.am
|
|
hexchatlibdir=${libdir}/hexchat/plugins
|
|
AC_SUBST(hexchatlibdir)
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
data/Makefile
|
|
data/icons/Makefile
|
|
data/misc/Makefile
|
|
data/man/Makefile
|
|
data/pkgconfig/Makefile
|
|
data/pkgconfig/hexchat-plugin.pc
|
|
src/Makefile
|
|
src/common/Makefile
|
|
src/common/dbus/Makefile
|
|
src/fe-text/Makefile
|
|
src/fe-gtk/Makefile
|
|
src/htm/Makefile
|
|
src/htm/thememan
|
|
plugins/Makefile
|
|
plugins/python/Makefile
|
|
plugins/perl/Makefile
|
|
plugins/checksum/Makefile
|
|
plugins/doat/Makefile
|
|
plugins/fishlim/Makefile
|
|
plugins/sysinfo/Makefile
|
|
po/Makefile.in
|
|
])
|
|
|
|
AC_OUTPUT
|
|
|
|
echo
|
|
echo HexChat $VERSION
|
|
echo
|
|
echo GTK+ interface ........ : $gtkfe
|
|
echo Text interface ........ : $textfe
|
|
echo Theme manager ......... : $theme_manager
|
|
echo
|
|
echo OpenSSL support ....... : $openssl
|
|
echo D-Bus support ......... : $dbus
|
|
echo libnotify support ..... : $libnotify
|
|
echo libcanberra support ... : $libcanberra
|
|
echo Plugin interface ...... : $plugin
|
|
echo NLS/gettext ........... : $USE_NLS
|
|
echo IPv6 support .......... : $ipv6
|
|
echo MS Proxy NTLM \(ISA\) ... : $have_ntlm
|
|
echo libproxy support ...... : $libproxy
|
|
echo
|
|
echo Perl .................. : $perl
|
|
echo Python ................ : $python
|
|
echo
|
|
echo Checksum .............. : $checksum
|
|
echo Do At ................. : $doat
|
|
echo FiSHLiM ............... : $fishlim
|
|
echo SysInfo ............... : $sysinfo
|
|
echo
|
|
echo The binary will be installed in $prefix/bin
|
|
echo
|
|
|
|
if test "$gtkfe" = no; then
|
|
echo Warning: The GTK \(GUI\) frontend will not be built.
|
|
echo
|
|
fi
|
|
|
|
echo configure complete, now type \'make\' and pray.
|
|
echo
|