mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-26 12:27:52 +00:00
c0d1c313e9
Basically, I just added three new process properties (io_read, io_write, io_perc - representing the amount of I/O done by the process during the update interval) and $top_io, that sorts processes based on io_perc. Atm, it's completely #ifdef'd, since it requires kernel support. But that creates some wierd looking syntax at some places, so it may be better to remove some ifdefs. It even may be possible to completely remove the ifdefs (ie. convert them to #ifdef linux) since the code will compile just fine even if the kernel doesn't support I/O accounting. I'll leave that for someone else to decide.
847 lines
24 KiB
Plaintext
847 lines
24 KiB
Plaintext
dnl major, minor and micro version macros.
|
|
m4_define([conky_version_major], [1])
|
|
m4_define([conky_version_minor], [7])
|
|
m4_define([conky_version_micro], [2])
|
|
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
|
|
|
|
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
|
|
)
|
|
|
|
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)
|
|
AM_CONDITIONAL(BUILD_FOR_FOPENCOOKIE, 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)
|
|
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 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])
|
|
CFLAGS="$CFLAGS $Audacious_CFLAGS"
|
|
LIBS="$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])
|
|
CFLAGS="$CFLAGS $Audacious_CFLAGS"
|
|
LIBS="$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])
|
|
CFLAGS="$CFLAGS $BMPx_CFLAGS"
|
|
LIBS="$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=no@:>@]),
|
|
[want_iostats="$enableval"], [want_iostats=no])
|
|
|
|
if test x$want_iostats = xyes; then
|
|
if test x"$uname" != xLinux; then
|
|
AC_MSG_NOTICE([iostats not supported on $uname... disabling])
|
|
want_apcupsd=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
|
|
LIBS="$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])
|
|
CFLAGS="$CFLAGS $XMMS2_CFLAGS"
|
|
LIBS="$LIBS $XMMS2_LIBS"
|
|
AC_DEFINE(XMMS2, 1, [Define if you want XMMS2 support])
|
|
fi
|
|
|
|
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
|
|
PKG_CHECK_MODULES([libxml2], libxml-2.0)
|
|
PKG_CHECK_MODULES([libcurl], libcurl)
|
|
CFLAGS="$CFLAGS $libxml2_CFLAGS $libcurl_CFLAGS"
|
|
LIBS="$LIBS $libxml2_LIBS $libcurl_LIBS"
|
|
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
|
|
PKG_CHECK_MODULES([libxml2], libxml-2.0)
|
|
PKG_CHECK_MODULES([libcurl], libcurl)
|
|
CFLAGS="$CFLAGS $libxml2_CFLAGS $libcurl_CFLAGS"
|
|
LIBS="$LIBS $libxml2_LIBS $libcurl_LIBS"
|
|
AC_DEFINE(RSS, 1, [Define if you want rss support])
|
|
fi
|
|
|
|
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])
|
|
#
|
|
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)
|
|
])
|
|
])
|
|
CFLAGS="$CFLAGS $LUA_CFLAGS $LUA51_CFLAGS"
|
|
LIBS="$LIBS $LUA_LIBS $LUA51_LIBS"
|
|
AC_DEFINE(HAVE_LUA, 1, [Define if you want Lua scripting support])
|
|
fi
|
|
|
|
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], [LIBS="$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
|
|
LIBS="$LIBS $LIBICONV"
|
|
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])
|
|
CFLAGS="$CFLAGS $X11_CFLAGS"
|
|
LIBS="$LIBS $X11_LIBS"
|
|
else
|
|
dnl non-modular X11 installations
|
|
AC_PATH_X
|
|
AC_PATH_XTRA
|
|
CFLAGS="$CFLAGS $X_CFLAGS"
|
|
LIBS="$LIBS $X_LIBS"
|
|
LDFLAGS="$LDFLAGS $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 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])
|
|
CFLAGS="$CFLAGS $Xext_CFLAGS"
|
|
LIBS="$LIBS $Xext_LIBS"
|
|
else
|
|
dnl non-modular X11 installation
|
|
AC_CHECK_LIB([Xext], [XdbeQueryExtension], [LIBS="$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])
|
|
CFLAGS="$CFLAGS $XDamage_CFLAGS"
|
|
LIBS="$LIBS $XDamage_LIBS"
|
|
else
|
|
dnl non-modular X11 installation
|
|
AC_CHECK_LIB([Xdamage], [XDamageQueryExtension], [LIBS="$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])
|
|
CFLAGS="$CFLAGS $Xft_CFLAGS"
|
|
LIBS="$LIBS $Xft_LIBS"
|
|
AC_DEFINE(XFT, 1, [Define for Xft support])
|
|
fi
|
|
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])
|
|
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])
|
|
CFLAGS="$CFLAGS $Imlib2_CFLAGS"
|
|
LIBS="$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 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!?
|
|
LIBS="$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])
|
|
CFLAGS="$CFLAGS $GLib2_CFLAGS"
|
|
LIBS="$LIBS $GLib2_LIBS"
|
|
fi
|
|
|
|
dnl
|
|
dnl KVM
|
|
dnl
|
|
|
|
if test x$WANT_KVM = xyes; then
|
|
AC_CHECK_LIB(kvm, kvm_open,
|
|
LIBS="$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,
|
|
LIBS="$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,
|
|
LIBS="$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,LIBS="$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 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],
|
|
[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
|
|
|
|
AC_ARG_ENABLE([openmp],
|
|
AC_HELP_STRING([--enable-openmp], [enable if you want OpenMP support @<:@default=no@:>@]),
|
|
[want_openmp="$enableval"], [want_openmp=no])
|
|
|
|
if test x$want_openmp = xyes; then
|
|
AX_OPENMP([
|
|
gcc_version=`$CC -dumpversion`
|
|
gcc_major=`echo $gcc_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
|
gcc_minor=`echo $gcc_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
|
dnl check that the gcc version is >=4.3, if we're using gcc
|
|
if test ! "x$GCC" = "xyes" -o $gcc_major -ge 4 -a $gcc_minor -ge 3; then
|
|
AC_DEFINE(HAVE_OPENMP,1,[Define if OpenMP is enabled])
|
|
CFLAGS="$CFLAGS $OPENMP_CFLAGS"
|
|
else
|
|
want_openmp=no
|
|
fi
|
|
|
|
])
|
|
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)])
|
|
LDFLAGS="$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*)
|
|
LDFLAGS="$LDFLAGS -Wl,-O1"
|
|
AC_MSG_RESULT([yes])
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT([no])
|
|
;;
|
|
esac
|
|
|
|
dnl Solve multiple definitions (only necessary when gnulib is used)
|
|
dnl LDFLAGS="$LDFLAGS -Xlinker -zmuldefs"
|
|
|
|
dnl
|
|
dnl Da.
|
|
dnl
|
|
|
|
CFLAGS="$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
|
|
CFLAGS="$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
|
|
CFLAGS="$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
|
|
CFLAGS="$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(CFLAGS)
|
|
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: $CFLAGS
|
|
Linker flags: $LDFLAGS
|
|
Libraries: $LIBS
|
|
|
|
* 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:
|
|
OpenMP: $want_openmp
|
|
math: $want_math
|
|
hddtemp: $want_hddtemp
|
|
portmon: $want_portmon
|
|
RSS: $want_rss
|
|
Lua: $want_lua
|
|
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
|
|
EOF
|