]> Dogcows Code - chaz/tint2/blobdiff - configure.ac
*fix* update dependencies for tint2 in README.source
[chaz/tint2] / configure.ac
index 644c98a7c02f4152401dbbf97fbbd461d12affb0..b92bb4e7fd4563044e2001f53a11f9c3d35ae3dc 100644 (file)
@@ -1,16 +1,49 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
-AC_INIT([tint2], [0.7_beta2], [http://code.google.com/p/tint2/issues])
+AC_PREREQ([2.61])
+AC_INIT([tint2], [0.10-svn], [http://code.google.com/p/tint2/issues])
 
-LT_INIT
 AM_INIT_AUTOMAKE
 
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([src/tint.c])
 AC_CONFIG_HEADERS([config.h])
 
+# tint2
+AC_ARG_ENABLE([battery],
+       [AS_HELP_STRING([--disable-battery], [Disable battery status plugin])],
+               [case "${enableval}" in
+                       yes) battery=true ;;
+                       no) battery=false ;;
+                       *) AC_MSG_ERROR([bad value ${enableval} for --disable-battery]) ;;
+               esac], [battery=true])
+AM_CONDITIONAL([ENABLE_BATTERY], [test x$battery = xtrue])
+#
+
+AC_ARG_ENABLE([examples],
+       [AS_HELP_STRING([--enable-examples], [Install additional tin2rc examples])],
+               [case "${enableval}" in
+                       yes) examples=true ;;
+                       no)  examples=false ;;
+                       *) AC_MSG_ERROR([bad value ${enableval} for --enable-examples]) ;;
+               esac],[examples=false])
+AM_CONDITIONAL([INSTALL_EXAMPLES], [test x$examples = xtrue])
+
+# tint2conf
+AC_ARG_ENABLE([tint2conf],
+       [AS_HELP_STRING([--disable-tint2conf], [Disable tint2conf build, a GTK+2 theme switcher for tint2])],
+               [case "${enableval}" in
+                       yes) tint2conf=true ;;
+                       no)  tint2conf=false ;;
+                       *) AC_MSG_ERROR([bad value ${enableval} for --disable-tint2conf]) ;;
+               esac],[tint2conf=true])
+AM_CONDITIONAL([ENABLE_TINT2CONF], [test x$tint2conf = xtrue])
+#
+
 # Checks for programs.
+AC_LANG([C])
 AC_PROG_CC
+PKG_PROG_PKG_CONFIG
 
 # Checks for libraries.
 PKG_CHECK_MODULES([PANGOCAIRO], [pangocairo])
@@ -33,23 +66,29 @@ PKG_CHECK_MODULES([GOBJECT2], [gobject-2.0])
 AC_SUBST(GOBJECT2_CFLAGS)
 AC_SUBST(GOBJECT2_LIBS)
 
-PKG_CHECK_MODULES([X11], [x11])
+PKG_CHECK_MODULES([X11], [x11 xcomposite xdamage xinerama xrender xrandr])
 AC_SUBST(X11_CFLAGS)
 AC_SUBST(X11_LIBS)
 
-PKG_CHECK_MODULES([XINERAMA], [xinerama])
-AC_SUBST(XINERAMA_CFLAGS)
-AC_SUBST(XINERAMA_LIBS)
-
 PKG_CHECK_MODULES([IMLIB2], [imlib2])
 AC_SUBST(IMLIB2_CFLAGS)
 AC_SUBST(IMLIB2_LIBS)
 
+# Reset LIBS since AC_CHECK_LIB adds -lmylib on success
+LIBS_SAVED=$LIBS
+# Ensure that Imlib2 has been built with X support.
+AC_CHECK_LIB([Imlib2], [imlib_context_set_display], [],
+                        AC_MSG_ERROR([Imlib2 must be built with X support]))
+
+AC_CHECK_LIB([rt], [clock_gettime])
+LIBS=$LIBS_SAVED
+
 # Checks for header files.
 AC_PATH_X
-AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/time.h unistd.h])
+AC_CHECK_HEADERS([fcntl.h locale.h stdint.h stdlib.h string.h sys/time.h unistd.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
 AC_TYPE_INT16_T
 AC_TYPE_INT64_T
 AC_TYPE_INT8_T
@@ -58,39 +97,47 @@ AC_TYPE_PID_T
 # Checks for library functions.
 AC_FUNC_FORK
 AC_FUNC_MALLOC
-AC_CHECK_FUNCS([gettimeofday memset select setlocale strcasecmp strchr strdup])
-
-AC_ARG_ENABLE([battery],
-                         [AS_HELP_STRING([--enable-battery=no], [Disable battery status, only useful for notebooks [default=yes]])],
-                         [case "${enableval}" in
-                          yes) battery=true ;;
-                          no) battery=false ;;
-                          *) AC_MSG_ERROR([bad value ${enableval} for --enable-battery]) ;;
-                  esac], [battery=true])
-AM_CONDITIONAL([ENABLE_BATTERY], [test x$battery = xtrue])
-
-AC_ARG_ENABLE([examples],
-                         [AS_HELP_STRING([--enable-examples], [Install additional $(PACKAGE_NAME)rc examples])],
-                         [case "${enableval}" in
-                          yes) examples=true ;;
-                          no)  examples=false ;;
-                          *) AC_MSG_ERROR([bad value ${enableval} for --enable-examples]) ;;
-                  esac],[examples=false])
-AM_CONDITIONAL([INSTALL_EXAMPLES], [test x$examples = xtrue])
-
-AC_ARG_ENABLE([doc],
-                         [AS_HELP_STRING([--enable-doc], [Install additional documentation])],
-              [case "${enableval}" in
-                          yes) doc=true ;;
-                          no)  doc=false ;;
-                          *) AC_MSG_ERROR([bad value ${enableval} for --enable-doc]) ;;
-                  esac],[doc=false])
-AM_CONDITIONAL([INSTALL_DOC], [test x$doc = xtrue])
-
-AC_CONFIG_FILES([
-                                Makefile
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([clock_gettime gettimeofday memset select setenv setlocale strcasecmp strchr strdup strstr])
+
+# tint2conf (experimental)
+if test "x$tint2conf" = xtrue;
+then
+       # We want just link against stuff we really need so thats why I don't use PKG_CHECK_MODULES.
+       # gtk/glib is a bit horrible because we have to add -I directives for various features (like cairo, pango etc.)
+       # even if we don't need them.
+       # Sorry if that might be confusing %-)
+
+       AC_CHECK_FUNCS([strndup strrchr])
+       PKG_CHECK_MODULES([TINT2CONF], [x11 xrender imlib2 gobject-2.0 glib-2.0 gthread-2.0 gtk+-x11-2.0])
+       AC_SUBST(TINT2CONF_CFLAGS)
+       AC_SUBST(TINT2CONF_LIBS)
+
+       # Python stuff
+       AC_PATH_PROG([__PYTHON], [python])
+       if test -z "${__PYTHON}";
+       then
+               AC_MSG_ERROR([tint2conf requires python to be installed])
+       fi
+
+       PKG_CHECK_EXISTS([pygtk-2.0],,[AC_MSG_ERROR([tint2conf requires >=pygtk-2.0])])
+fi
+#
+
+#
+AM_CFLAGS="-Wall"
+AM_LDFLAGS="-Wl,--as-needed"
+AC_SUBST(AM_CFLAGS)
+AC_SUBST(AM_LDFLAGS)
+
+DISTCLEANFILES="Makefile.in"
+AC_SUBST(DISTCLEANFILES)
+
+AC_CONFIG_FILES([Makefile
                                 doc/Makefile
+                                sample/Makefile
                                 src/Makefile
-                                ])
+                                src/tint2conf/Makefile
+                                src/version.h])
 
 AC_OUTPUT
This page took 0.027775 seconds and 4 git commands to generate.