Fix for segfault in top_name stuff.
[monky] / configure.ac.in
index e8651c3..0e1051c 100644 (file)
@@ -1,7 +1,9 @@
+# -*- 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_minor], [8])
+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],
@@ -121,6 +123,20 @@ 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
@@ -133,7 +149,7 @@ AC_ARG_ENABLE([audacious],
 
 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])
+      PKG_CHECK_MODULES([Audacious], [audacious >= 1.4.0 audclient dbus-glib-1 glib-2.0 gobject-2.0])
       conky_CFLAGS="$conky_CFLAGS $Audacious_CFLAGS"
       conky_LIBS="$conky_LIBS $Audacious_LIBS"
       save_CPPFLAGS="$CPPFLAGS"
@@ -185,7 +201,7 @@ 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
+               want_ibm="not supported on $uname"
        else
                AC_DEFINE(IBM, 1, [Define if you want support for IBM/Lenovo notebooks (SMAPI)])
        fi
@@ -205,7 +221,7 @@ 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
+      want_hddtemp="not supported on $uname"
   else
       AC_DEFINE(HDDTEMP, 1, [Define if you want hddtemp support])
   fi
@@ -224,7 +240,7 @@ AC_ARG_ENABLE([apcupsd],
 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
+      want_apcupsd="not supported on $uname"
   else
       AC_DEFINE(APCUPSD, 1, [Define if you want apcupsd support])
   fi
@@ -244,7 +260,7 @@ AC_ARG_ENABLE([iostats],
 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
+      want_iostats="not supported on $uname"
   else
       AC_DEFINE(IOSTATS, 1, [Define if you want support for per-task I/O statistics])
   fi
@@ -301,7 +317,7 @@ AC_ARG_ENABLE([xmms2],
 
 AM_CONDITIONAL(BUILD_XMMS2, test x$want_xmms2 = xyes)
 if test x$want_xmms2 = xyes; then
-  PKG_CHECK_MODULES([XMMS2], [xmms2-client])
+  PKG_CHECK_MODULES([XMMS2], [xmms2-client] >= [0.6])
     conky_CFLAGS="$conky_CFLAGS $XMMS2_CFLAGS"
     conky_LIBS="$conky_LIBS $XMMS2_LIBS"
     AC_DEFINE(XMMS2, 1, [Define if you want XMMS2 support])
@@ -407,12 +423,38 @@ if test "x$want_x11" = "xyes"; then
 fi
 
 dnl
+dnl ARGB
+dnl
+
+AC_ARG_ENABLE([argb],
+              AC_HELP_STRING([--disable-argb], [disable if you do not want a argb visual @<:@default=yes@:>@]),
+              [want_argb="$enableval"], [want_argb=yes])
+
+if test x$want_argb = xyes; then
+    if test "x$want_x11" != "xyes"; then
+       dnl silently disable if no x11
+       want_argb=no
+    else
+       AC_DEFINE(USE_ARGB, 1, [Define if you want argb visual support])
+    fi
+fi
+
+dnl
 dnl IMLIB2
 dnl
 
 AC_ARG_ENABLE([imlib2],
-                         AC_HELP_STRING([--enable-imlib2], [enable if you want Imlib2 support (also enables Lua Imlib2 support if lua-extras enabled) [[default=no]]]),
+                         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
@@ -433,14 +475,14 @@ 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-extras],
-             AC_HELP_STRING([--enable-lua-extras], [enable if you want to install Lua extras (including bindings) @<:@default=no@:>@]),
-             [want_lua_extras="$enableval"], [want_lua_extras=no])
 AC_ARG_ENABLE([lua-cairo],
-             AC_HELP_STRING([--enable-lua-cairo], [enable if you want Lua Cairo bindings for Conky (requires lua-extras enabled) @<:@default=no@:>@]),
+             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])
-want_lua_imlib2=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
@@ -452,11 +494,8 @@ if test x$want_lua = xyes; then
        conky_CFLAGS="$conky_CFLAGS $LUA_CFLAGS $LUA51_CFLAGS"
        conky_LIBS="$conky_LIBS $LUA_LIBS $LUA51_LIBS"
 
-       want_lua_imlib2="$want_imlib2"
-       if test x$want_lua_extras != xyes; then
-               want_lua_cairo=no
-               want_lua_imlib2=no
-       else
+       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
@@ -465,28 +504,29 @@ if test x$want_lua = 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])
-                               need_tolua=yes
                                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
-                               need_tolua=yes
-                               want_lua_imlib2=yes
                                AC_DEFINE(HAVE_LUA_IMLIB2, 1, [Define if you want Lua Imlib2 bindings for Conky])
                        fi
                fi
-               if test x$need_tolua = xyes; then
-                       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_MSG_ERROR([tolua_error not found]),
-                                                          $LUA51_LIBS)
-                       fi
+               AC_CHECK_PROGS(toluapp, [tolua++ tolua++5.1 tolua++-5.1], no)
+               if test x$toluapp = xno; then
+                       AC_MSG_ERROR([tolua++, tolua++5.1, or tolua++-5.1 is required for Lua extras.])
+               else
+                       AC_SEARCH_LIBS(tolua_error,
+                                                  [tolua++-5.1 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
@@ -504,8 +544,9 @@ AC_ARG_ENABLE([wlan],
 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])
+  AC_CHECK_LIB([iw], [iw_sockets_open], [conky_LIBS="-liw $conky_LIBS"],
+               AC_MSG_ERROR([iw_sockets_open not found]), [$conky_LIBS])
+  AC_DEFINE(HAVE_IWLIB, 1, [Define if you want wireless support])
 fi
 
 dnl
@@ -520,7 +561,7 @@ AC_ARG_ENABLE([portmon],
 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
+      want_portmon="not supported on $uname"
   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], [],
@@ -539,12 +580,14 @@ dnl
 dnl ICONV
 dnl
 
+m4_pattern_allow([AM_ICONV])
 AM_ICONV
 if test "$am_cv_func_iconv" != yes; then
   AC_MSG_WARN([Could not find libiconv])
 else
   conky_LIBS="$conky_LIBS $LIBICONV"
 fi
+AM_CONDITIONAL(BUILD_ICONV, test "$am_cv_func_iconv" = yes)
 
 dnl
 dnl Xext Double-buffering Extension
@@ -724,15 +767,12 @@ 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 assert.h errno.h time.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>
@@ -750,13 +790,14 @@ 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])
+AC_DEFINE(MAX_NET_INTERFACES, 16, [Maximum number of network devices])
 
 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_SEARCH_LIBS(clock_gettime, [rt], conky_LIBS="$conky_LIBS $LIBS"
                [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if you have clock_gettime()])],
                [AC_CHECK_FUNCS([gettimeofday], [], [AC_MSG_ERROR([gettimeofday() not available!])])], [])
 
@@ -876,7 +917,7 @@ AC_ARG_ENABLE([debug],
               [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"
+  conky_CFLAGS="$conky_CFLAGS -g3 -O0"
   AC_DEFINE([DEBUG], 1, [Define for debugging])
 fi
 
@@ -893,11 +934,28 @@ if test "x$want_testing" = "xyes" -a $ac_cv_c_compiler_gnu != no; 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"
+    conky_CFLAGS="$conky_CFLAGS -O0 -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
 
+dnl
+dnl profiling
+dnl
+
+AC_ARG_ENABLE([profiling],
+             AC_HELP_STRING([--enable-profiling], [specify compiler flags for use with gprof and gcov @<:@default=no@:>@]),
+             [want_profiling="$enableval"], [want_profiling=no])
+
+if test "x$want_profiling" = "xyes" -a $ac_cv_c_compiler_gnu != no; then
+  if test "x$want_debug" = "xyes"; then
+    conky_CFLAGS="$conky_CFLAGS -pg -fprofile-arcs -ftest-coverage"
+  else
+    conky_CFLAGS="$conky_CFLAGS -g3 -pg -fprofile-arcs -ftest-coverage"
+  fi
+  AC_DEFINE([PROFILING], [], [Define for profiling (gprof and gcov) support])
+fi
+
 AC_SUBST(conky_CFLAGS)
 AC_SUBST(conky_LIBS)
 AC_SUBST(X11_LIBS)
@@ -922,6 +980,7 @@ $PACKAGE $VERSION configured successfully:
   XDamage support:  $want_xdamage
   XDBE support:     $want_double_buffer
   Xft support:      $want_xft
+  ARGB support      $want_argb
 
  * Music detection:
   Audacious:        $want_audacious
@@ -931,7 +990,7 @@ $PACKAGE $VERSION configured successfully:
   XMMS2:            $want_xmms2
 
  * General:
-  OpenMP:           $want_openmp
+dnl  OpenMP:           $want_openmp
   math:             $want_math
   hddtemp:          $want_hddtemp
   portmon:          $want_portmon
@@ -949,6 +1008,7 @@ $PACKAGE $VERSION configured successfully:
   ALSA mixer:       $want_alsa
   apcupsd:          $want_apcupsd
   I/O stats:        $want_iostats
+  ncurses:          $want_ncurses
 
  * Lua ($want_lua) bindings:
   Cairo:            $want_lua_cairo