X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=configure.ac;h=4efd9fc5dc98d10c9c00f67b59de08cf72dad1ac;hb=68c07558c3d9d3bd73edd18fe789b58acbad4bf5;hp=644c98a7c02f4152401dbbf97fbbd461d12affb0;hpb=3ad3e76e075ac8c26668c6ae967758f397855aad;p=chaz%2Ftint2 diff --git a/configure.ac b/configure.ac index 644c98a..4efd9fc 100644 --- a/configure.ac +++ b/configure.ac @@ -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.9-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([--enable-tint2conf], [Enable 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 --enable-tint2conf]) ;; + esac],[tint2conf=false]) +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,65 @@ 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]) + # Save LIBS value and clear the variable, AC_CHECK_LIB will append all libs to LIBS on success. + LIBS_SAVED=$LIBS + LIBS= + + AC_CHECK_LIB([pthread], [pthread_create], [], + [AC_MSG_ERROR([libpthread is missing, usually provided by glibc])]) + AC_CHECK_LIB([glib-2.0], [g_free], [], + [AC_MSG_ERROR([glib-2.x is missing])]) + AC_CHECK_LIB([gobject-2.0], [g_signal_connect_data], [], + [AC_MSG_ERROR([libgobject-2.0 is missing, usually provided by glib-2.x])]) + AC_CHECK_LIB([gtk-x11-2.0], [gtk_main], [], + [AC_MSG_ERROR([gtk+-2.x is missing or not built with X support])]) + AC_CHECK_LIB([gthread-2.0], [g_thread_init], [], + [AC_MSG_ERROR([libgthread-2.0 is missing, usually provided by glib-2.x])]) + + TINT2CONF_LIBS="${LIBS} ${PTHREAD_LIB} ${GLIB2_LIB} ${GOBJECT2_LIB} ${IMLIB2_LIBS}" + LIBS=$LIBS_SAVED + + TINT2CONF_CFLAGS="$(${PKG_CONFIG} --cflags gtk+-x11-2.0 glib-2.0 gobject-2.0 gthread-2.0) ${IMLIB2_CFLAGS}" + 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