mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-05 21:07:52 +00:00
4840de39cd
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.
981 lines
29 KiB
Plaintext
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
|