1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-11-05 21:07:52 +00:00
conky/configure.ac.in
Phil Sutter 4840de39cd update machinery: keep threads persistent
Create each thread upon registration of the callback function, then use
semaphores to signal when it's time to update and when updating is
finished.
Many thanks to pavelo who originally came up with the idea for this.
2009-09-20 13:14:08 +02:00

981 lines
29 KiB
Plaintext

# -*- mode: Makefile; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*-
#
dnl major, minor and micro version macros.
m4_define([conky_version_major], [1])
m4_define([conky_version_minor], [7])
m4_define([conky_version_micro], [3])
m4_define([conky_version_tag], [pre]) dnl [] for releases
m4_define([conky_version_revision],[_pre@REVISION@])
m4_define([conky_version],
[conky_version_major().conky_version_minor().conky_version_micro()ifelse(
conky_version_tag(), [pre],
[conky_version_revision()],
[ifelse(conky_version_tag(), [], [], [conky_version_tag()])])])
AC_INIT([Conky], [conky_version()], [brenden1@users.sourceforge.net])
AM_INIT_AUTOMAKE(conky, conky_version())
AM_CONFIG_HEADER(src/config.h)
AC_CONFIG_MACRO_DIR([m4])
dnl prevent libtool setting LTCFLAGS to default of -g -O2 when CFLAGS unset.
dnl libtool must be deleted with make distclean to see this fix.
if test x"$CFLAGS" = x""; then
AC_SUBST(CFLAGS, [ ])
fi
AC_DEFINE([_GNU_SOURCE], [], [Define for GNU source and extensions])
dnl
dnl Tools
dnl
AC_PROG_CC
AC_PROG_LD
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AM_PROG_LIBTOOL
AM_PROG_CC_C_O
AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, yes, no)
if test x"$HAVE_PKGCONFIG" = x"no"; then
AC_MSG_ERROR([pkg-config is required!])
fi
PKG_PROG_PKG_CONFIG([0.19])
AC_CONFIG_FILES(
Makefile
data/Makefile
doc/Makefile
src/Makefile
src/build.h
lua/Makefile
)
uname=`uname`
case $uname in
Linux*)
WANT_SYSINFO=yes
;;
FreeBSD*|GNU/kFreeBSD*)
WANT_KVM=yes
WANT_DEVSTAT=yes
;;
# NetBSD*)
# WANT_KVM=yes
# WANT_OSSLIB=yes
# ;;
OpenBSD*)
WANT_KVM=yes
WANT_OSSLIB=yes
;;
# Solaris doesn't work at all right now
# SunOS*)
# WANT_KSTAT=yes
# ;;
*)
echo "Your operating system $uname isn't supported"
echo "Feel free to help. :P"
exit 1
;;
esac
AM_CONDITIONAL(BUILD_LINUX, test x$uname = xLinux)
#AM_CONDITIONAL(BUILD_SOLARIS, test x$uname = xSunOS)
AM_CONDITIONAL(BUILD_FREEBSD, test x$uname = xFreeBSD -o x$uname = xGNU/kFreeBSD)
#AM_CONDITIONAL(BUILD_NETBSD, test x$uname = xNetBSD)
AM_CONDITIONAL(BUILD_OPENBSD, test x$uname = xOpenBSD)
BUILD_DATE=$(LANG=en_US LC_ALL=en_US LOCALE=en_US date)
BUILD_ARCH="$(uname -sr) ($(uname -m))"
AC_SUBST(BUILD_DATE)
AC_SUBST(BUILD_ARCH)
dnl
dnl BUILD_CONFIG_OUTPUT option
dnl
AC_ARG_ENABLE([config_output],
AC_HELP_STRING([--disable-config-output], [disable if you do not want conky to output a default config (with -C) @<:@default=yes@:>@]),
[want_config_output="$enableval"], [want_config_output=yes])
AM_CONDITIONAL(BUILD_CONFIG_OUTPUT, test x$want_config_output = xyes)
if test x$want_config_output = xyes; then
AC_DEFINE(CONFIG_OUTPUT, 1, [Define if you want conky to output a default config (with -C)])
AC_CHECK_FUNCS(fopencookie)
AC_CHECK_FUNCS(funopen)
fi
dnl
dnl OWN_WINDOW option
dnl
AC_ARG_ENABLE([own_window],
AC_HELP_STRING([--disable-own-window],
[disable if you do not want support for creating own window @<:@default=yes@:>@]),
[dah="$enableval"], [dah=yes])
if test $dah != "no"; then
AC_DEFINE(OWN_WINDOW, 1, [Define if you want support for window creating])
fi
dnl
dnl NCURSES option
dnl
AC_ARG_ENABLE([ncurses],
AC_HELP_STRING([--disable-ncurses], [disable if you do not want ncurses support in conky @<:@default=yes@:>@]),
[want_ncurses="$enableval"], [want_ncurses=yes])
AM_CONDITIONAL(BUILD_NCURSES, test x$want_ncurses = xyes)
if test x$want_ncurses = xyes; then
conky_LIBS="$conky_LIBS -lncurses"
AC_DEFINE(NCURSES, 1, [Define for ncurses support])
fi
dnl
dnl Audacious Media Player
dnl
AC_ARG_ENABLE([audacious],
AC_HELP_STRING([--enable-audacious=[[yes|no|legacy]]],
[enable audacious player support @<:@default=no@:>@]),
[want_audacious="$enableval"], [want_audacious=no])
AM_CONDITIONAL(BUILD_AUDACIOUS, test x$want_audacious = xyes -o x$want_audacious = xlegacy)
if test x$want_audacious = xyes; then
PKG_CHECK_MODULES([Audacious], [audacious >= 1.4.0 dbus-glib-1 glib-2.0 gobject-2.0])
conky_CFLAGS="$conky_CFLAGS $Audacious_CFLAGS"
conky_LIBS="$conky_LIBS $Audacious_LIBS"
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$Audacious_CFLAGS -I`pkg-config --variable=audacious_include_dir audacious`/audacious"
AC_CHECK_HEADERS([audacious/audctrl.h audacious/dbus.h glib.h glib-object.h],
[], AC_MSG_ERROR([required header(s) not found]))
CPPFLAGS="$save_CPPFLAGS"
AC_DEFINE(AUDACIOUS, 1, [Define for Audacious support])
else if test x$want_audacious = xlegacy; then
PKG_CHECK_MODULES([Audacious], [audacious < 1.4.0 glib-2.0])
conky_CFLAGS="$conky_CFLAGS $Audacious_CFLAGS"
conky_LIBS="$conky_LIBS $Audacious_LIBS"
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$Audacious_CFLAGS -I`pkg-config --variable=audacious_include_dir audacious`/audacious"
AC_CHECK_HEADERS([audacious/beepctrl.h glib.h], [], AC_MSG_ERROR([required header(s) not found]))
CPPFLAGS="$save_CPPFLAGS"
AC_DEFINE(AUDACIOUS, 1, [Define for Audacious support])
AC_DEFINE(AUDACIOUS_LEGACY, 1, [Define for Audacious Legacy support])
fi
fi
dnl
dnl BMPx
dnl
AC_ARG_ENABLE([bmpx],
AC_HELP_STRING([--enable-bmpx], [enable if you want BMPx support @<:@default=no@:>@]),
[want_bmpx="$enableval"], [want_bmpx=no])
AM_CONDITIONAL(BUILD_BMPX, test x$want_bmpx = xyes)
if test x$want_bmpx = xyes; then
PKG_CHECK_MODULES([BMPx], [bmp-2.0 >= 0.14.0])
conky_CFLAGS="$conky_CFLAGS $BMPx_CFLAGS"
conky_LIBS="$conky_LIBS $BMPx_LIBS"
AC_DEFINE(BMPX, 1, [Define if you want BMPx support])
fi
dnl
dnl Support for IBM/Lenovo notebooks
dnl
AC_ARG_ENABLE([ibm],
AC_HELP_STRING([--enable-ibm], [enable if you want support for IBM/Lenovo notebooks @<:default=no@:>@]),
[want_ibm="$enableval"], [want_ibm=no])
AM_CONDITIONAL(BUILD_IBM, test x$want_ibm = xyes)
if test x$want_ibm = xyes; then
if test x"$uname" != xLinux; then
AC_MSG_NOTICE([support for IBM/Lenovo notebooks not supported on $uname... disabling])
want_ibm=no
else
AC_DEFINE(IBM, 1, [Define if you want support for IBM/Lenovo notebooks (SMAPI)])
fi
fi
dnl
dnl Hddtemp
dnl
AC_ARG_ENABLE([hddtemp],
AC_HELP_STRING([--disable-hddtemp],
[disable if you do not want hddtemp support @<:@default=yes@:>@]),
[want_hddtemp="$enableval"], [want_hddtemp=yes])
AM_CONDITIONAL(BUILD_HDDTEMP, test x$want_hddtemp = xyes)
if test x$want_hddtemp = xyes; then
if test x"$uname" != xLinux; then
AC_MSG_NOTICE([hddtemp not supported on $uname... disabling])
want_hddtemp=no
else
AC_DEFINE(HDDTEMP, 1, [Define if you want hddtemp support])
fi
fi
dnl
dnl Apcupsd
dnl
AC_ARG_ENABLE([apcupsd],
AC_HELP_STRING([--disable-apcupsd],
[disable if you do not want apcupsd support @<:@default=yes@:>@]),
[want_apcupsd="$enableval"], [want_apcupsd=yes])
if test x$want_apcupsd = xyes; then
if test x"$uname" != xLinux; then
AC_MSG_NOTICE([apcupsd not supported on $uname... disabling])
want_apcupsd=no
else
AC_DEFINE(APCUPSD, 1, [Define if you want apcupsd support])
fi
fi
AM_CONDITIONAL(BUILD_APCUPSD, test x$want_apcupsd = xyes)
dnl
dnl I/O stats
dnl
AC_ARG_ENABLE([iostats],
AC_HELP_STRING([--enable-iostats],
[enable if you want support for per-task I/O statistics @<:@default=yes@:>@]),
[want_iostats="$enableval"], [want_iostats=yes])
if test x$want_iostats = xyes; then
if test x"$uname" != xLinux; then
AC_MSG_NOTICE([iostats not supported on $uname... disabling])
want_iostats=no
else
AC_DEFINE(IOSTATS, 1, [Define if you want support for per-task I/O statistics])
fi
fi
dnl
dnl Math
dnl
AC_ARG_ENABLE([math],
AC_HELP_STRING([--disable-math], [disable if you do not want math support @<:@default=yes@:>@]),
[want_math="$enableval"], [want_math=yes])
AM_CONDITIONAL(BUILD_MATH, test x$want_math = xyes)
if test x$want_math = xyes; then
conky_LIBS="$conky_LIBS -lm"
AC_DEFINE(MATH, 1, [Define if you want math support])
fi
dnl
dnl MPD
dnl
AC_ARG_ENABLE([mpd],
AC_HELP_STRING([--disable-mpd], [disable if you do not want MPD support @<:@default=yes@:>@]),
[want_mpd="$enableval"], [want_mpd=yes])
AM_CONDITIONAL(BUILD_MPD, test x$want_mpd = xyes)
if test x$want_mpd = xyes; then
AC_DEFINE(MPD, 1, [Define if you want MPD support])
fi
dnl
dnl MOC
dnl
AC_ARG_ENABLE([moc],
AC_HELP_STRING([--disable-moc], [disable if you do not want MOC support @<:@default=yes@:>@]),
[want_moc="$enableval"], [want_moc=yes])
AM_CONDITIONAL(BUILD_MOC, test x$want_moc = xyes)
if test x$want_moc = xyes; then
AC_DEFINE(MOC, 1, [Define if you want MOC support])
fi
dnl
dnl XMMS2
dnl
AC_ARG_ENABLE([xmms2],
AC_HELP_STRING([--enable-xmms2], [enable if you want XMMS2 support @<:@default=no@:>@]),
[want_xmms2="$enableval"], [want_xmms2=no])
AM_CONDITIONAL(BUILD_XMMS2, test x$want_xmms2 = xyes)
if test x$want_xmms2 = xyes; then
PKG_CHECK_MODULES([XMMS2], [xmms2-client])
conky_CFLAGS="$conky_CFLAGS $XMMS2_CFLAGS"
conky_LIBS="$conky_LIBS $XMMS2_LIBS"
AC_DEFINE(XMMS2, 1, [Define if you want XMMS2 support])
fi
dnl
dnl libcurl, see below for more (this has to be above the other uses of want_curl)
dnl
AC_ARG_ENABLE([curl],
AC_HELP_STRING([--enable-curl], [enable if you want curl support @<:@default=no@:>@]),
[want_curl="$enableval"], [want_curl=no])
dnl
dnl EVE Skill Monitor
dnl
AC_ARG_ENABLE([eve],
AC_HELP_STRING([--enable-eve], [Eve-Online skill monitor @<:@default=no@:>@]),
[want_eve="$enableval"], [want_eve=no])
AM_CONDITIONAL(BUILD_EVE, test x$want_eve = xyes)
if test x$want_eve = xyes; then
want_curl=yes
want_libxml2=yes
AC_DEFINE(EVE, 1, [Define if you want Eve-Online Skill monitor support])
AC_DEFINE(EVEURL_TRAINING, "http://api.eve-online.com/char/SkillInTraining.xml.aspx", [Eve training URL])
AC_DEFINE(EVEURL_SKILLTREE, "http://api.eve-online.com/eve/Skilltree.xml.aspx", [Eve skilltree URL])
AC_DEFINE(MY_ENCODING, "ISO-8859-1", [Textencoding to use])
AC_DEFINE(EVE_OUTPUT_FORMAT, "%s %d in %s", [Eve output format])
fi
dnl
dnl RSS
dnl
AC_ARG_ENABLE([rss],
AC_HELP_STRING([--enable-rss], [enable if you want rss support @<:@default=no@:>@]),
[want_rss="$enableval"], [want_rss=no])
#
AM_CONDITIONAL(BUILD_RSS, test x$want_rss = xyes)
if test x$want_rss = xyes; then
WANT_GLIB=yes
want_curl=yes
want_libxml2=yes
AC_DEFINE(RSS, 1, [Define if you want Curl support])
fi
dnl
dnl WEATHER
dnl
AC_ARG_ENABLE([weather-metar],
AC_HELP_STRING([--enable-weather-metar], [enable if you want METAR weather support @<:@default=no@:>@]),
[want_metar="$enableval"], [want_metar=no])
AC_ARG_ENABLE([weather-xoap],
AC_HELP_STRING([--enable-weather-xoap], [enable if you want XOAP weather support (also enables METAR) @<:@default=no@:>@]),
[want_xoap="$enableval"], [want_xoap=no])
#
if test x$want_xoap = xyes; then
want_metar=yes
fi
AM_CONDITIONAL(BUILD_WEATHER, test x$want_metar = xyes)
AM_CONDITIONAL(BUILD_XOAP, test x$want_xoap = xyes)
if test x$want_metar = xyes; then
if test x$want_xoap = xyes; then
want_libxml2=yes
AC_DEFINE(XOAP, 1, [Define if you want XOAP weather support])
AC_DEFINE(XOAP_FILE, "$HOME/.xoaprc", [User xoap keys file])
fi
want_curl=yes
AC_DEFINE(WEATHER, 1, [Define if you want METAR weather support])
fi
dnl
dnl X11
dnl
AC_ARG_ENABLE([x11],
AC_HELP_STRING([--disable-x11], [disable if you do not want X11 support @<:@default=yes@:>@]),
[want_x11="$enableval"], [want_x11=yes])
AM_CONDITIONAL(BUILD_X11, test x$want_x11 = xyes)
if test "x$want_x11" = "xyes"; then
if $PKG_CONFIG --exists x11; then
PKG_CHECK_MODULES([X11], [x11])
conky_CFLAGS="$conky_CFLAGS $X11_CFLAGS"
conky_LIBS="$conky_LIBS $X11_LIBS"
else
dnl non-modular X11 installations
AC_PATH_X
AC_PATH_XTRA
conky_CFLAGS="$conky_CFLAGS $X_CFLAGS"
conky_LIBS="$conky_LIBS $X_LIBS"
conky_LDFLAGS="$conky_LDFLAGS $conky_LIBS $X_PRE_LIBS"
if test "x$no_x" = "xyes"; then
AC_MSG_ERROR([Can't locate your X11 installation])
fi
AC_CHECK_LIB([X11], [XOpenDisplay], [], AC_MSG_ERROR([Could not find XOpenDisplay in -lX11]))
fi
AC_DEFINE(X11, 1, [Define if you want to use X11])
fi
dnl
dnl IMLIB2
dnl
AC_ARG_ENABLE([imlib2],
AC_HELP_STRING([--enable-imlib2], [enable if you want Imlib2 support [[default=no]]]),
[want_imlib2="$enableval"], [want_imlib2=no])
AC_ARG_ENABLE([lua-imlib2],
AC_HELP_STRING([--enable-lua-imlib2], [enable if you want Lua Imlib2 bindings for Conky @<:@default=no@:>@]),
[want_lua_imlib2="$enableval"], [want_lua_imlib2=no])
# if lua-imlib2 is enabled, we must force imlib2
if test x$want_lua_imlib2 = xyes; then
want_imlib2=yes
fi
if test x$want_imlib2 = xyes; then
if test "x$want_x11" != "xyes"; then
dnl silently disable if no x11
want_imlib2=no
else
PKG_CHECK_MODULES([Imlib2], [imlib2])
conky_CFLAGS="$conky_CFLAGS $Imlib2_CFLAGS"
conky_LIBS="$conky_LIBS $Imlib2_LIBS"
AC_DEFINE(IMLIB2, 1, [Define if you want Imlib2 support])
fi
fi
AM_CONDITIONAL(BUILD_IMLIB2, test x$want_imlib2 = xyes)
dnl
dnl Lua
dnl
AC_ARG_ENABLE([lua],
AC_HELP_STRING([--enable-lua], [enable if you want Lua scripting support @<:@default=yes@:>@]),
[want_lua="$enableval"], [want_lua=yes])
AC_ARG_ENABLE([lua-cairo],
AC_HELP_STRING([--enable-lua-cairo], [enable if you want Lua Cairo bindings for Conky @<:@default=no@:>@]),
[want_lua_cairo="$enableval"], [want_lua_cairo=no])
need_tolua=no
if test x$want_lua_cairo = xyes -o x$want_lua_imlib2 = xyes; then
need_tolua=yes
want_lua=yes
fi
AM_CONDITIONAL(BUILD_LUA, test x$want_lua = xyes)
if test x$want_lua = xyes; then
PKG_CHECK_MODULES(LUA, lua >= 5.1, [ ],[
PKG_CHECK_MODULES(LUA51, lua-5.1 >= 5.1, [ ],[
PKG_CHECK_MODULES(LUA51, lua5.1 >= 5.1)
])
])
conky_CFLAGS="$conky_CFLAGS $LUA_CFLAGS $LUA51_CFLAGS"
conky_LIBS="$conky_LIBS $LUA_LIBS $LUA51_LIBS"
if test x$need_tolua = xyes; then
AC_DEFINE(LUA_EXTRAS, 1, [Define if you want Lua extras])
if test "x$want_x11" != "xyes"; then
dnl silently disable if no x11
want_lua_cairo=no
else
if test x$want_lua_cairo = xyes; then
PKG_CHECK_MODULES([cairo], cairo)
PKG_CHECK_MODULES([cairo_xlib], cairo-xlib)
AC_DEFINE(HAVE_LUA_CAIRO, 1, [Define if you want Lua Cairo bindings for Conky])
libcairo_CFLAGS="$libcairo_CFLAGS $cairo_CFLAGS $cairo_xlib_CFLAGS"
libcairo_LIBS="$libcairo_LIBS $cairo_LIBS $cairo_xlib_LIBS"
fi
if test x$want_imlib2 = xyes; then
AC_DEFINE(HAVE_LUA_IMLIB2, 1, [Define if you want Lua Imlib2 bindings for Conky])
fi
fi
AC_CHECK_PROGS(toluapp, [tolua++ tolua++5.1], no)
if test x$toluapp = xno; then
AC_MSG_ERROR([tolua++ or tolua++5.1 is required for Lua extras.])
else
AC_SEARCH_LIBS(tolua_error,
[tolua++ tolua++5.1],
[
AC_SUBST(tolua_LIBS, "${LIBS}")
AC_SUBST(tolua_CFLAGS, "${CFLAGS}")
],
AC_MSG_ERROR([tolua_error not found]),
[$LUA_LIBS $LUA51_LIBS])
fi
conky_LIBS="$conky_LIBS $tolua_LIBS"
tolua_CFLAGS="$tolua_CFLAGS $LUA_CFLAGS $LUA51_CFLAGS"
tolua_LIBS="$tolua_LIBS $LUA_LIBS $LUA51_LIBS"
fi
AC_DEFINE(HAVE_LUA, 1, [Define if you want Lua scripting support])
fi
AM_CONDITIONAL(BUILD_LUA_CAIRO, test x$want_lua_cairo = xyes)
AM_CONDITIONAL(BUILD_LUA_IMLIB2, test x$want_lua_imlib2 = xyes)
dnl
dnl Wireless extensions
dnl
AC_ARG_ENABLE([wlan],
AC_HELP_STRING([--enable-wlan], [enable if you want wireless support @<:@default=no@:>@]),
[want_wlan="$enableval"], [want_wlan=no])
AM_CONDITIONAL(BUILD_WLAN, test x$want_wlan = xyes)
if test x$want_wlan = xyes; then
AC_CHECK_HEADERS([iwlib.h], [], AC_MSG_ERROR([iwlib.h header not found]))
AC_CHECK_LIB([iw], [iw_sockets_open], [conky_LIBS="$conky_LIBS -liw"], AC_MSG_ERROR([iw_sockets_open not found]))
AC_DEFINE(HAVE_IWLIB, 1, [Define if you want wireless support])
fi
dnl
dnl PORT_MONITORS
dnl
AC_ARG_ENABLE([portmon],
AC_HELP_STRING([--disable-portmon],
[disable if you do not want tcp (ip4) port monitoring @<:@default=yes@:>@]),
[want_portmon="$enableval"], [want_portmon=yes])
if test x"$want_portmon" = xyes; then
if test x"$uname" != xLinux; then
AC_MSG_NOTICE([port monitors not supported on $uname... disabling])
want_portmon=no
else
AC_CHECK_FUNCS([getnameinfo], [], AC_MSG_ERROR([getnameinfo function not found]))
AC_CHECK_HEADERS([netdb.h netinet/in.h netinet/tcp.h sys/socket.h arpa/inet.h], [],
[PORT_MONITORS_MISSING=yes])
if test x"$PORT_MONITORS_MISSING" = xyes; then
AC_MSG_ERROR([missing a needed network header for port monitoring])
fi
WANT_GLIB=yes
AC_DEFINE(TCP_PORT_MONITOR, 1, [Define if you want tcp port monitoring support])
fi
fi
AM_CONDITIONAL(BUILD_PORT_MONITORS, test x"$want_portmon" = xyes)
dnl
dnl ICONV
dnl
AM_ICONV
if test "$am_cv_func_iconv" != yes; then
AC_MSG_WARN([Could not find libiconv])
else
conky_LIBS="$conky_LIBS $LIBICONV"
fi
dnl
dnl Xext Double-buffering Extension
dnl
AC_ARG_ENABLE([double_buffer],
AC_HELP_STRING([--disable-double-buffer],
[disable for no Xdbe double-buffering support @<:@default=yes@:>@]),
[want_double_buffer="$enableval"], [want_double_buffer=yes])
if test "x$want_double_buffer" = "xyes"; then
if test "x$want_x11" != "xyes"; then
dnl silently disable if no x11
want_double_buffer=no
else
if $PKG_CONFIG --exists xext; then
PKG_CHECK_MODULES([Xext],[xext])
conky_CFLAGS="$conky_CFLAGS $Xext_CFLAGS"
conky_LIBS="$conky_LIBS $Xext_LIBS"
else
dnl non-modular X11 installation
AC_CHECK_LIB([Xext], [XdbeQueryExtension], [conky_LIBS="$conky_LIBS -lXext"],
AC_MSG_ERROR([Could not find XdbeQueryExtension in -lXext]))
fi
AC_DEFINE(HAVE_XDBE, 1, [Define for X11 double-buffering])
fi
fi
dnl
dnl Xdamage Extension
dnl
AC_ARG_ENABLE([xdamage],
AC_HELP_STRING([--disable-xdamage],
[disable if you do not want Xdamage support @<:@default=yes@:>@]),
[want_xdamage="$enableval"], [want_xdamage=yes])
if test "x$want_xdamage" = "xyes"; then
if test "x$want_x11" != "xyes"; then
dnl silently disable if no x11
want_xdamage=no
else
if $PKG_CONFIG --exists xdamage; then
PKG_CHECK_MODULES([XDamage],[xdamage])
conky_CFLAGS="$conky_CFLAGS $XDamage_CFLAGS"
conky_LIBS="$conky_LIBS $XDamage_LIBS"
else
dnl non-modular X11 installation
AC_CHECK_LIB([Xdamage], [XDamageQueryExtension], [conky_LIBS="$conky_LIBS -lXdamage"],
AC_MSG_ERROR([Could not find XDamageQueryExtension in -lXdamage]))
fi
AC_DEFINE(HAVE_XDAMAGE, 1, [Define for X11 Xdamage extension])
fi
fi
dnl
dnl Xft
dnl
AC_ARG_ENABLE([xft],
AC_HELP_STRING([--disable-xft], [disable if you do not want to use Xft @<:@default=yes@:>@]),
[want_xft="$enableval"], [want_xft=yes])
if test x$want_xft = "xyes"; then
if test "x$want_x11" != "xyes"; then
dnl silently disable if no x11
want_xft=no
else
PKG_CHECK_MODULES([Xft], [xft])
conky_CFLAGS="$conky_CFLAGS $Xft_CFLAGS"
conky_LIBS="$conky_LIBS $Xft_LIBS"
AC_DEFINE(XFT, 1, [Define for Xft support])
fi
fi
dnl
dnl NVIDIA libXNVCtrl support
dnl
AC_ARG_ENABLE([nvidia],
AC_HELP_STRING([--enable-nvidia], [enable if you want nvidia support @<:@default=no@:>@]),
[want_nvidia="$enableval"], [want_nvidia=no])
if test x$want_nvidia = xyes; then
if test "x$want_x11" != "xyes"; then
# do nada
want_nvidia=no
else
AC_CHECK_HEADERS([NVCtrl/NVCtrl.h], [], AC_MSG_ERROR([NVCtrl/NVCtrl.h header not found]))
dnl AC_CHECK_LIB([XNVCtrl], [XNVCTRLQueryVersion], [] ,[AC_MSG_ERROR([grrr])] )
dnl AC_CHECK_LIB([XNVCtrl], [XNVCTRLCheckTargetData], [], [AC_MSG_ERROR([grr])])
dnl ## am I Stupid ??
dnl ## it won't find the lib for some reason!?
conky_LIBS="$conky_LIBS -lXNVCtrl"
AC_DEFINE(NVIDIA, 1, [Define if you want nvidia support])
fi
fi
AM_CONDITIONAL(BUILD_NVIDIA, test x$want_nvidia = xyes)
dnl
dnl GLIB
dnl
if test x$WANT_GLIB = xyes; then
PKG_CHECK_MODULES([GLib2], [glib-2.0])
conky_CFLAGS="$conky_CFLAGS $GLib2_CFLAGS"
conky_LIBS="$conky_LIBS $GLib2_LIBS"
fi
dnl
dnl libcurl
dnl
if test x$want_curl = xyes; then
PKG_CHECK_MODULES([libcurl], libcurl)
conky_CFLAGS="$conky_CFLAGS $libcurl_CFLAGS"
conky_LIBS="$conky_LIBS $libcurl_LIBS"
AC_DEFINE(HAVE_CURL, 1, [Define if you want Curl support])
fi
AM_CONDITIONAL(BUILD_CURL, test x$want_curl = xyes)
dnl
dnl libx
dnl
if test x$want_libxml2 = xyes; then
PKG_CHECK_MODULES([libxml2], libxml-2.0)
conky_CFLAGS="$conky_CFLAGS $libxml2_CFLAGS"
conky_LIBS="$conky_LIBS $libxml2_LIBS"
fi
dnl
dnl KVM
dnl
if test x$WANT_KVM = xyes; then
AC_CHECK_LIB(kvm, kvm_open,
conky_LIBS="$conky_LIBS -lkvm",
AC_MSG_ERROR([Could not find kvm_open in -lkvm.])
)
fi
dnl
dnl devstat
dnl
if test x$WANT_DEVSTAT = xyes; then
AC_CHECK_LIB(devstat, devstat_getversion,
conky_LIBS="$conky_LIBS -ldevstat",
AC_MSG_ERROR([Cound not find devstat_getversion in -ldevstat.])
)
fi
dnl
dnl OSSLIB for NetBSD/OpenBSD
dnl
if test x$WANT_OSSLIB = xyes; then
AC_CHECK_LIB(ossaudio, _oss_ioctl,
conky_LIBS="$conky_LIBS -lossaudio",
AC_MSG_ERROR([Could not find oss_ioctl in -lossaudio.])
)
fi
dnl
dnl ALSA for Linux
dnl
AC_ARG_ENABLE([alsa],
AC_HELP_STRING([--disable-alsa], [disable if you do not
want ALSA support @<:@default=yes@:>@]),
[want_alsa="$enableval"], [want_alsa=yes])
if test x$want_alsa = xyes; then
AC_CHECK_HEADER(alsa/asoundlib.h,, want_alsa=no)
fi
if test x$want_alsa = xyes; then
AC_CHECK_LIB(asound, snd_pcm_open,conky_LIBS="$conky_LIBS -lasound", want_alsa=no)
fi
if test x$want_alsa = xyes; then
AC_DEFINE(MIXER_IS_ALSA, 1, [Define if the mixers use ALSA])
fi
dnl
dnl Some headers
dnl
AC_CHECK_HEADERS([signal.h unistd.h sys/utsname.h sys/stat.h linux/soundcard.h alsa/asoundlib.h dirent.h mcheck.h \
sys/statfs.h sys/param.h pthread.h semaphore.h assert.h errno.h time.h])
AC_CHECK_HEADERS([sys/mount.h], [], [],
[#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
])
# check if we have inotify support
AC_CHECK_HEADERS([sys/inotify.h])
dnl
dnl Some defines
dnl
AC_DEFINE(DEFAULTNETDEV, "eth0", [Default networkdevice])
AC_DEFINE(CONFIG_FILE, "$HOME/.conkyrc", [Configfile of the user])
AC_DEFINE(MAX_SPECIALS_DEFAULT, 512, [Default maximum number of special things, e.g. fonts, offsets, aligns, etc.])
AC_DEFINE(MAX_USER_TEXT_DEFAULT, 16384, [Default maximum size of config TEXT buffer, i.e. below TEXT line.])
AC_DEFINE(DEFAULT_TEXT_BUFFER_SIZE, 256, [Default size used for temporary, static text buffers])
dnl
dnl Some functions
dnl
AC_CHECK_FUNCS([calloc malloc free popen sysinfo getloadavg memrchr strndup gethostbyname_r])
AC_SEARCH_LIBS(clock_gettime, [rt], conky_LIBS="$conky_LIBS -lrt"
[AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if you have clock_gettime()])],
[AC_CHECK_FUNCS([gettimeofday], [], [AC_MSG_ERROR([gettimeofday() not available!])])], [])
dnl
dnl Structure checks
dnl
AC_CHECK_MEMBER([struct statfs.f_fstypename],
[AC_DEFINE(HAVE_STRUCT_STATFS_F_FSTYPENAME, 1, [Define if struct statfs has the f_fstypename member])],
[],
[#include <sys/statfs.h>])
dnl
dnl Check for zlib
dnl
AC_CHECK_HEADER(zlib.h,
[],
[AC_MSG_ERROR([zlib is missing; please install the headers first])])
dnl
dnl Check for OpenMP support
dnl
dnl removed for now due to problems with GCC's OpenMP implementation
dnl AC_ARG_ENABLE([openmp],
dnl AC_HELP_STRING([--enable-openmp], [enable if you want OpenMP support @<:@default=no@:>@]),
dnl [want_openmp="$enableval"], [want_openmp=no])
dnl if test x$want_openmp = xyes; then
dnl AX_OPENMP([
dnl gcc_version=`$CC -dumpversion`
dnl gcc_major=`echo $gcc_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
dnl gcc_minor=`echo $gcc_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
dnl dnl check that the gcc version is >=4.3, if we're using gcc
dnl if test ! "x$GCC" = "xyes" -o $gcc_major -ge 4 -a $gcc_minor -ge 3; then
dnl AC_DEFINE(HAVE_OPENMP,1,[Define if OpenMP is enabled])
dnl conky_CFLAGS="$conky_CFLAGS $OPENMP_CFLAGS"
dnl else
dnl want_openmp=no
dnl fi
dnl ])
dnl fi
dnl
dnl Check doc stuff
dnl
AC_CHECK_PROGS(db2x_xsltproc_cmd, db2x_xsltproc)
AC_CHECK_PROGS(db2x_manxml_cmd, db2x_manxml)
AC_CHECK_PROGS(xsltproc_cmd, xsltproc)
if test x$db2x_xsltproc_cmd = "x" -o x$xsltproc_cmd = "x"; then
AM_CONDITIONAL(HAVE_DOCSTUFF, false)
else
AM_CONDITIONAL(HAVE_DOCSTUFF, true)
fi
dnl
dnl kstat in Solaris
dnl
if test x$WANT_KSTAT = xyes; then
dah=no
AC_CHECK_LIB([kstat], [kstat_open], [dah=yes], [])
if test x$dah = xyes; then
AC_DEFINE(HAVE_KSTAT, 1, [Define if you have kstat (Solaris)])
conky_LDFLAGS="$conky_LDFLAGS -lkstat"
fi
fi
AC_DEFUN([AM_LANGINFO_CODESET],
[
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
[AC_TRY_LINK([#include <langinfo.h>],
[char* cs = nl_langinfo(CODESET);],
am_cv_langinfo_codeset=yes,
am_cv_langinfo_codeset=no)
])
if test $am_cv_langinfo_codeset = yes; then
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
fi
])
dnl ************************
dnl * Linker optimizations *
dnl ************************
AC_MSG_CHECKING([if $LD accepts -O1])
case `$LD -O1 -v 2>&1 </dev/null` in
*GNU* | *BSD*)
conky_LDFLAGS="$conky_LDFLAGS -Wl,-O1"
AC_MSG_RESULT([yes])
;;
*)
AC_MSG_RESULT([no])
;;
esac
dnl Solve multiple definitions (only necessary when gnulib is used)
dnl conky_LDFLAGS="$conky_LDFLAGS -Xlinker -zmuldefs"
dnl
dnl Da.
dnl
conky_CFLAGS="$conky_CFLAGS -Wall -W"
dnl
dnl debug
dnl
AC_ARG_ENABLE([debug],
AC_HELP_STRING([--enable-debug], [compile with debug symbols @<:@default=no@:>@]),
[want_debug="$enableval"], [want_debug=no])
if test "x$want_debug" = "xyes" -a $ac_cv_c_compiler_gnu != no; then
conky_CFLAGS="$conky_CFLAGS -g3"
AC_DEFINE([DEBUG], 1, [Define for debugging])
fi
dnl
dnl testing
dnl
AC_ARG_ENABLE([testing],
AC_HELP_STRING([--enable-testing], [use strict compiler flags for testing @<:@default=no@:>@]),
[want_testing="$enableval"], [want_testing=no])
if test "x$want_testing" = "xyes" -a $ac_cv_c_compiler_gnu != no; then
if test "x$want_debug" = "xyes"; then
conky_CFLAGS="$conky_CFLAGS -Wextra -Wunused -Wdeclaration-after-statement -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wold-style-definition -Winline -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -std=c99 -pedantic -Werror"
AC_DEFINE([TESTING], [], [Define for testing (enables strict compiler flags)])
else
conky_CFLAGS="$conky_CFLAGS -g3 -Wextra -Wunused -Wdeclaration-after-statement -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wold-style-definition -Winline -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -std=c99 -pedantic -Werror"
AC_DEFINE([TESTING], [], [Define for testing (enables strict compiler flags)])
fi
fi
AC_SUBST(conky_CFLAGS)
AC_SUBST(conky_LIBS)
AC_SUBST(X11_LIBS)
AC_OUTPUT
dnl
dnl Print summary
dnl
cat << EOF
$PACKAGE $VERSION configured successfully:
Installing into: $prefix
System config dir: $sysconfdir
C compiler flags: $conky_CFLAGS
Libraries: $conky_LIBS
Linker flags: $conky_LDFLAGS
* X11:
X11 support: $want_x11
XDamage support: $want_xdamage
XDBE support: $want_double_buffer
Xft support: $want_xft
* Music detection:
Audacious: $want_audacious
BMPx: $want_bmpx
MPD: $want_mpd
MOC: $want_moc
XMMS2: $want_xmms2
* General:
dnl OpenMP: $want_openmp
math: $want_math
hddtemp: $want_hddtemp
portmon: $want_portmon
RSS: $want_rss
Curl: $want_curl
Weather
METAR: $want_metar
XOAP: $want_xoap
wireless: $want_wlan
IBM: $want_ibm
nvidia: $want_nvidia
eve-online: $want_eve
config-output: $want_config_output
Imlib2: $want_imlib2
ALSA mixer: $want_alsa
apcupsd: $want_apcupsd
I/O stats: $want_iostats
* Lua ($want_lua) bindings:
Cairo: $want_lua_cairo
Imlib2: $want_lua_imlib2
EOF