2 # Process this file with autoconf to produce a configure script.
4 AC_INIT([tint2], [0.8-$Rev$], [http://code.google.com/p/tint2/issues])
8 AC_CONFIG_MACRO_DIR([m4])
9 AC_CONFIG_SRCDIR([src/tint.c])
10 AC_CONFIG_HEADERS([config.h])
13 AC_ARG_ENABLE([battery],
14 [AS_HELP_STRING([--disable-battery], [Disable battery status plugin])],
15 [case "${enableval}" in
18 *) AC_MSG_ERROR([bad value ${enableval} for --disable-battery]) ;;
19 esac], [battery=true])
20 AM_CONDITIONAL([ENABLE_BATTERY], [test x$battery = xtrue])
23 AC_ARG_ENABLE([examples],
24 [AS_HELP_STRING([--enable-examples], [Install additional tin2rc examples])],
25 [case "${enableval}" in
28 *) AC_MSG_ERROR([bad value ${enableval} for --enable-examples]) ;;
29 esac],[examples=false])
30 AM_CONDITIONAL([INSTALL_EXAMPLES], [test x$examples = xtrue])
33 AC_ARG_ENABLE([tint2conf],
34 [AS_HELP_STRING([--enable-tint2conf], [Enable tint2conf build, a GTK+2 theme switcher for tint2])],
35 [case "${enableval}" in
36 yes) tint2conf=true ;;
37 no) tint2conf=false ;;
38 *) AC_MSG_ERROR([bad value ${enableval} for --enable-tint2conf]) ;;
39 esac],[tint2conf=false])
40 AM_CONDITIONAL([ENABLE_TINT2CONF], [test x$tint2conf = xtrue])
43 # Checks for programs.
48 # Checks for libraries.
49 PKG_CHECK_MODULES([PANGOCAIRO], [pangocairo])
50 AC_SUBST(PANGOCAIRO_CFLAGS)
51 AC_SUBST(PANGOCAIRO_LIBS)
53 PKG_CHECK_MODULES([PANGO], [pango])
54 AC_SUBST(PANGO_CFLAGS)
57 PKG_CHECK_MODULES([CAIRO], [cairo])
58 AC_SUBST(CAIRO_CFLAGS)
61 PKG_CHECK_MODULES([GLIB2], [glib-2.0])
62 AC_SUBST(GLIB2_CFLAGS)
65 PKG_CHECK_MODULES([GOBJECT2], [gobject-2.0])
66 AC_SUBST(GOBJECT2_CFLAGS)
67 AC_SUBST(GOBJECT2_LIBS)
69 PKG_CHECK_MODULES([X11], [x11 xdamage xcomposite])
73 PKG_CHECK_MODULES([XINERAMA], [xinerama])
74 AC_SUBST(XINERAMA_CFLAGS)
75 AC_SUBST(XINERAMA_LIBS)
77 PKG_CHECK_MODULES([IMLIB2], [imlib2])
78 AC_SUBST(IMLIB2_CFLAGS)
81 # Ensure that Imlib2 has been built with X support and reset LIBS since AC_CHECK_LIB adds -lImlib2 on success.
83 AC_CHECK_LIB([Imlib2], [imlib_context_set_display], [],
84 AC_MSG_ERROR([Imlib2 must be built with X support]))
87 # Checks for header files.
89 AC_CHECK_HEADERS([fcntl.h locale.h stdlib.h string.h sys/time.h unistd.h])
91 # Checks for typedefs, structures, and compiler characteristics.
98 # Checks for library functions.
102 AC_CHECK_FUNCS([alarm gettimeofday memset select setlocale strcasecmp strchr strdup])
104 # tint2conf (experimental)
105 if test "x$tint2conf" = xtrue;
107 # We want just link against stuff we really need so thats why I don't use PKG_CHECK_MODULES.
108 # gtk/glib is a bit horrible because we have to add -I directives for various features (like cairo, pango etc.)
109 # even if we don't need them.
110 # Sorry if that might be confusing %-)
112 AC_CHECK_FUNCS([strndup strrchr strstr])
113 # Save LIBS value and clear the variable, AC_CHECK_LIB will append all libs to LIBS on success.
117 AC_CHECK_LIB([pthread], [pthread_create], [],
118 [AC_MSG_ERROR([libpthread is missing, usually provided by glibc])])
119 AC_CHECK_LIB([glib-2.0], [g_free], [],
120 [AC_MSG_ERROR([glib-2.x is missing])])
121 AC_CHECK_LIB([gobject-2.0], [g_signal_connect_data], [],
122 [AC_MSG_ERROR([libgobject-2.0 is missing, usually provided by glib-2.x])])
123 AC_CHECK_LIB([gtk-x11-2.0], [gtk_main], [],
124 [AC_MSG_ERROR([gtk+-2.x is missing or not built with X support])])
125 AC_CHECK_LIB([gthread-2.0], [g_thread_init], [],
126 [AC_MSG_ERROR([libgthread-2.0 is missing, usually provided by glib-2.x])])
128 TINT2CONF_LIBS="${LIBS} ${PTHREAD_LIB} ${GLIB2_LIB} ${GOBJECT2_LIB} ${IMLIB2_LIBS}"
131 TINT2CONF_CFLAGS="$(${PKG_CONFIG} --cflags gtk+-x11-2.0 glib-2.0 gobject-2.0 gthread-2.0) ${IMLIB2_CFLAGS}"
132 AC_SUBST(TINT2CONF_CFLAGS)
133 AC_SUBST(TINT2CONF_LIBS)
136 AC_PATH_PROG([__PYTHON], [python])
137 if test -z "${__PYTHON}";
139 AC_MSG_ERROR([tint2conf requires python to be installed])
142 PKG_CHECK_EXISTS([pygtk-2.0],,[AC_MSG_ERROR([tint2conf requires >=pygtk-2.0])])
148 AM_LDFLAGS="-Wl,--as-needed"
152 DISTCLEANFILES="Makefile.in"
153 AC_SUBST(DISTCLEANFILES)
155 AC_CONFIG_FILES([Makefile
159 src/tint2conf/Makefile])