configure.ac (raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.61]) AC_INIT([tint2], [0.9-svn], [http://code.google.com/p/tint2/issues]) 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]) AC_SUBST(PANGOCAIRO_CFLAGS) AC_SUBST(PANGOCAIRO_LIBS) PKG_CHECK_MODULES([PANGO], [pango]) AC_SUBST(PANGO_CFLAGS) AC_SUBST(PANGO_LIBS) PKG_CHECK_MODULES([CAIRO], [cairo]) AC_SUBST(CAIRO_CFLAGS) AC_SUBST(CAIRO_LIBS) PKG_CHECK_MODULES([GLIB2], [glib-2.0]) AC_SUBST(GLIB2_CFLAGS) AC_SUBST(GLIB2_LIBS) PKG_CHECK_MODULES([GOBJECT2], [gobject-2.0]) AC_SUBST(GOBJECT2_CFLAGS) AC_SUBST(GOBJECT2_LIBS) PKG_CHECK_MODULES([X11], [x11 xcomposite xdamage xinerama xrender xrandr]) AC_SUBST(X11_CFLAGS) AC_SUBST(X11_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 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 AC_TYPE_PID_T # Checks for library functions. AC_FUNC_FORK AC_FUNC_MALLOC 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 |