Release 0.9.1.
[lxde/lxpanel.git] / configure.ac
index 4288e15..fda7dbb 100644 (file)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.53)
-AC_INIT(lxpanel, 0.7.0, http://lxde.org/)
+AC_INIT(lxpanel, 0.9.1, http://lxde.org/)
 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects no-dist-gzip dist-xz])
 AC_CONFIG_HEADER([config.h])
 AC_CONFIG_MACRO_DIR([m4])
@@ -15,7 +15,7 @@ AC_DISABLE_STATIC
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_LN_S
-AC_PROG_INTLTOOL(, [no-xml])
+IT_PROG_INTLTOOL([0.40.0], [no-xml])
 AM_PROG_CC_C_O
 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 
@@ -24,6 +24,7 @@ LT_PREREQ([2.2])
 LT_INIT
 
 # Checks for libraries.
+AC_SEARCH_LIBS([log], [m])
 AC_ARG_ENABLE(gtk3,
 AC_HELP_STRING([--enable-gtk3],[enable to use gtk-3.0 instead of gtk-2.0]),
 [case "${enableval}" in
@@ -33,10 +34,13 @@ AC_HELP_STRING([--enable-gtk3],[enable to use gtk-3.0 instead of gtk-2.0]),
 esac],[])
 
 if test "x$enable_gtk3" = "xyes" ; then
-  CFLAGS="$CFLAGS -DENABLE_GTK3"
-  pkg_modules="$pkg_modules gtk+-3.0 libfm-gtk3 >= 1.2.0 libwnck-3.0"
+  gtk_module="gtk+-3.0"
+  pkg_modules="$pkg_modules $gtk_module libfm-gtk3 >= 1.2.0 libwnck-3.0"
+  keybinder_module=keybinder-3.0
 else
-  pkg_modules="$pkg_modules gtk+-2.0 >= 2.18.0 libfm-gtk >= 1.2.0 libwnck-1.0"
+  gtk_module="gtk+-2.0 >= 2.18.0"
+  pkg_modules="$pkg_modules $gtk_module libfm-gtk >= 1.2.0 libwnck-1.0"
+  keybinder_module=keybinder
 fi
 
 pkg_modules="$pkg_modules \
@@ -46,6 +50,11 @@ pkg_modules="$pkg_modules \
 PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
 AC_SUBST(PACKAGE_CFLAGS)
 AC_SUBST(PACKAGE_LIBS)
+AC_SUBST(gtk_module)
+
+PKG_CHECK_MODULES(KEYBINDER, [$keybinder_module])
+AC_SUBST(KEYBINDER_CFLAGS)
+AC_SUBST(KEYBINDER_LIBS)
 
 ###########################
 # Indicator Info
@@ -86,8 +95,6 @@ if test x"$enable_menu_cache" = "xno"; then
        AC_WARN([No libmenu-cache found.  All menu related routines are not built.])
        AC_DEFINE(DISABLE_MENU, [1], [Disable menu related routines])
 fi
-AC_SUBST(MENU_CACHE_CFLAGS)
-AC_SUBST(MENU_CACHE_LIBS)
 AM_CONDITIONAL(ENABLE_MENU_CACHE, test x"$enable_menu_cache" = x"yes")
 
 AC_ARG_ENABLE(more_warnings,
@@ -100,18 +107,10 @@ AC_ARG_ENABLE(more_warnings,
 if test x"$enable_more_warnings" = x"yes"; then
   ADDITIONAL_FLAGS="-Wall -Werror=all -Werror=format -Werror=implicit-function-declaration -Werror=implicit-int -Werror=missing-braces -Werror=parentheses -Werror=return-type -Werror=strict-aliasing -Werror=switch -Wuninitialized -Werror=unused-label -Werror=unused-value -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Werror=missing-declarations -Wredundant-decls -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wwrite-strings -Werror=inline -Werror=format-nonliteral -Wformat-nonliteral -Werror=format-security -Wformat-security -Winit-self -Werror=missing-include-dirs -Werror=undef -Werror=aggregate-return -Wmissing-format-attribute -Werror=nested-externs -fno-strict-aliasing -fmessage-length=0 -Wp,-D_FORTIFY_SOURCE=2 -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
 fi
-AC_SUBST(ADDITIONAL_FLAGS)
 
 PACKAGE_CFLAGS="$PACKAGE_CFLAGS $MENU_CACHE_CFLAGS $ADDITIONAL_FLAGS"
 PACKAGE_LIBS="$PACKAGE_LIBS $MENU_CACHE_LIBS"
 
-AC_ARG_ENABLE(man,
-       [AC_HELP_STRING([--enable-man],
-               [regenerate roff man pages from Docbook @<:@default=no@:>@])],
-       [enable_man="${enableval}"],
-       [enable_man=no]
-)
-
 dnl linker tweaking
 # The function of the link flag --as-needed is to prevent unnecesary linking.
 # Example: A -> B -> C
@@ -162,20 +161,6 @@ case `$LD --sort-common -v 2>&1 </dev/null` in
   ;;
 esac
 
-dnl FIXME: filter for undefined symbols in plugins
-# when passing "-z defs" to linker, we would better to make sure
-# there are no undefined references.  However, we intend not to
-# fix at the moment since we don't have spin-off libraray containing
-# the necessary functions.
-if test ! -z "$LDFLAGS"; then
-    LDFLAGS=`echo "$LDFLAGS" | sed -e 's/-Wl,-z,defs//'`
-fi
-
-LXPANEL_MODULE="-avoid-version \
--rpath \$(libdir)/lxpanel/plugins \
--no-undefined "'-export-symbols-regex "^[[^_]].*"'
-AC_SUBST(LXPANEL_MODULE)
-
 AC_ARG_ENABLE([alsa],
     AS_HELP_STRING([--disable-alsa],
                     [compile ALSA providers (default: enable)]),
@@ -206,7 +191,6 @@ dnl Here are plugin listing.
 plugin_netstatus=
 plugin_netstat=
 plugin_volume=
-plugin_volumealsa=
 plugin_cpu=
 plugin_deskno=
 plugin_batt=
@@ -224,8 +208,8 @@ AC_ARG_WITH(plugins,
 [                         'all' builds all plugins (default), 'none' builds none ]
 [                         plugins prefixed with '-' are not built]
 [                         Possible plugins are: ]
-[                         netstatus, netstat, volume, volumealsa, cpu, deskno, batt,]
-[                         kbled, xkb, thermal, cpufreq, monitors, weather]
+[                         netstatus, netstat, volume, cpu, deskno, batt, kbled,]
+[                         xkb, thermal, cpufreq, monitors, indicator, weather]
 , plugins="$withval",[plugins="all"])
 
 if test x"$plugins" != xall -a x"$plugins" != xnone; then
@@ -236,7 +220,6 @@ if test x"$plugins" != xall -a x"$plugins" != xnone; then
 fi
 
 ALL_PLUGINS_LIST="netstatus netstat volume volumealsa cpu deskno batt kbled xkb thermal cpufreq monitors indicator weather"
-AC_SUBST(ALL_PLUGINS_LIST)
 
 AC_DEFUN([check_plugin_name],[
     plugin_found=false
@@ -277,13 +260,19 @@ fi
 
 dnl FIXME: OSS/ALSA checking
 if test x"$compile_alsa" = "xno"; then
-    if test ! -z $plugin_volumealsa; then
-        AC_MSG_RESULT([no ALSA headers/libraries found!])
-        plugin_volumealsa=
+    AC_DEFINE(DISABLE_ALSA, [1], [Define to disable using ALSA in 'volume' plugin.])
+    if test -n $plugin_volume; then
+        AC_CHECK_HEADERS([sys/soundcard.h linux/soundcard.h])
+        if test x$ac_cv_header_sys_soundcard_h = xno && test x$ac_cv_header_linux_soundcard_h = xno; then
+            AC_MSG_RESULT([no OSS headers found!])
+            plugin_volume=
+        fi
     fi
 else
-    dnl force OSS plugin to <null>
-    plugin_volume=
+    dnl use $plugin_volumealsa for backward compatibility
+    if test -n $plugin_volumealsa; then
+        plugin_volume=volume.la
+    fi
 fi
 
 dnl Exclude indicator support when there is no support.
@@ -295,7 +284,6 @@ PLUGINS_LIST="\
     $plugin_netstatus \
     $plugin_netstat \
     $plugin_volume \
-    $plugin_volumealsa \
     $plugin_cpu \
     $plugin_deskno \
     $plugin_batt \
@@ -360,28 +348,11 @@ do
 done
 
 GETTEXT_PACKAGE=lxpanel
-AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION(0.14.1)
 AC_SUBST(GETTEXT_PACKAGE)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
 
 AM_GLIB_GNU_GETTEXT
 
-if test x"$enable_man" = x"yes"; then
-       AC_PATH_PROG([XSLTPROC], [xsltproc])
-       if test -z "$XSLTPROC"; then
-               enable_man=no
-       fi
-
-       dnl check for DocBook DTD and stylesheets in the local catalog.
-       JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
-               [DocBook XML DTD V4.1.2], [], enable_man=no)
-       JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
-               [DocBook XSL Stylesheets >= 1.70.1], [], enable_man=no)
-fi
-
-AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test "x$enable_man" != "xno")
-
 AC_ARG_ENABLE(debug,
     [AC_HELP_STRING([--enable-debug],
         [enable debug support @<:@default=no@:>@])],
@@ -405,6 +376,13 @@ else
     CPPFLAGS="$CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
 fi
 
+dnl Make version subfields for LXPANEL_CHECK_VERSION macro
+ac_version_subst_str=`echo $VERSION | awk -F '.' '/.*/ { printf "VERSION_MAJOR=%d VERSION_MINOR=%d VERSION_MICRO=%d", $1, $2, $3 }'`
+eval ${ac_version_subst_str}
+AC_SUBST(VERSION_MAJOR)
+AC_SUBST(VERSION_MINOR)
+AC_SUBST(VERSION_MICRO)
+
 dnl Fix invalid sysconfdir when --prefix=/usr
 if test `eval "echo $sysconfdir"` = /usr/etc
 then
@@ -415,6 +393,7 @@ AC_CONFIG_FILES([
     lxpanel.pc
     Makefile
     src/Makefile
+    src/panel.h
     plugins/Makefile
     po/Makefile.in
     data/Makefile
@@ -441,10 +420,7 @@ echo Building dynamic plugins:
         AC_MSG_RESULT([    netstat - Monitor networking status])
     fi
     if test x"$plugin_volume" != x; then
-        AC_MSG_RESULT([    volume - Display and adjust volume of sound card for OSS])
-    fi
-    if test x"$plugin_volumealsa" != x; then
-        AC_MSG_RESULT([    volumealsa - Display and adjust volume of sound card for ALSA])
+        AC_MSG_RESULT([    volume - Display and adjust volume of sound card])
     fi
     if test x"$plugin_cpu" != x; then
         AC_MSG_RESULT([    cpu - Display CPU loading])