1AC_INIT(src/main.cc) 2AC_PREREQ(2.52) 3AM_INIT_AUTOMAKE(fbdesk,1.4.1,no-define) 4 5 6AC_LANG_CPLUSPLUS 7 8dnl Locate required external software 9AC_PROG_CC 10AC_PROG_CXX 11AC_PROG_INSTALL 12AM_PROG_LIBTOOL 13 14 15dnl Check for system header files 16AC_HEADER_STDC 17AC_CHECK_HEADERS(fcntl.h signal.h sys/select.h sys/signal.h sys/stat.h sys/time.h sys/types.h sys/wait.h) 18AC_CHECK_HEADERS(sstream, , 19 [ AC_CHECK_HEADERS(strstream,, 20 [AC_MSG_ERROR([Your libstdc++ doesn't have the sstream or strstream classes])] 21 )] 22) 23 24AC_HEADER_TIME 25dnl Determine the return type of signal handlers 26AC_TYPE_SIGNAL 27 28AC_CHECK_FUNCS(sigaction strcasestr) 29 30dnl Check for X headers and libraries 31AC_PATH_X 32AC_PATH_XTRA 33 34 35test x$no_x = "xyes" && AC_MSG_ERROR([fbdesk requires the X Window System libraries and headers.]) 36 37test x$x_includes = "x" && x_includes="/usr/include" 38test x$x_libraries = "x" && x_libraries="/usr/lib" 39 40CFLAGS="$CFLAGS $X_CFLAGS" 41CXXFLAGS="$CXXFLAGS $X_CFLAGS" 42LIBS="$LIBS $X_LIBS" 43LDFLAGS="$LDFLAGS $LIBS $X_PRE_LIBS" 44 45dnl Check for required functions in -lX11 46AC_CHECK_LIB(X11, XOpenDisplay, 47 LIBS="$LIBS -lX11", 48 AC_MSG_ERROR([Could not find XOpenDisplay in -lX11.]) 49) 50 51LIBS="$LIBS $X_EXTRA_LIBS" 52 53Xext_lib="" 54 55dnl Check for XShape extension support and proper library files. 56SHAPE="" 57AC_MSG_CHECKING([whether to build support for the XShape extension]) 58AC_ARG_ENABLE( 59 shape, [ --enable-shape enable support of the XShape extension [default=yes]]) 60 61: ${enableval="yes"} 62if test x$enableval = "xyes"; then 63 AC_MSG_RESULT([yes]) 64 AC_CHECK_LIB(Xext, XShapeCombineShape, 65 AC_MSG_CHECKING([for X11/extensions/shape.h]) 66 AC_TRY_LINK( 67#include <X11/Xlib.h> 68#include <X11/Xutil.h> 69#include <X11/extensions/shape.h> 70, long foo = ShapeSet, 71 AC_MSG_RESULT([yes]) 72 AC_DEFINE(HAVE_SHAPE, 1, "Shape extension support") 73 Xext_lib="-lXext", 74 AC_MSG_RESULT([no]) 75 ) 76 ) 77else 78 AC_MSG_RESULT([no]) 79fi 80AC_SUBST(SHAPE) 81CXXFLAGS="$CXXFLAGS $SHAPE" 82LIBS="$LIBS $Xext_lib" 83 84XPM=false 85AC_MSG_CHECKING([whether to have Xpm (pixmap themes) support]) 86AC_ARG_ENABLE( 87 xpm, 88[ --enable-xpm Xpm (pixmap themes) support [default=yes]], 89 if test x$enableval = "xyes"; then 90 AC_MSG_RESULT([yes]) 91 AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, 92 AC_DEFINE(HAVE_XPM, 1, "Xpm support") 93 XPM=true 94 LIBS="$LIBS -lXpm") 95 else 96 AC_MSG_RESULT([no]) 97 fi, 98 AC_MSG_RESULT([yes]) 99 AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, 100 AC_DEFINE(HAVE_XPM, 1, "Xpm support") 101 XPM=true 102 LIBS="$LIBS -lXpm") 103) 104 105AM_CONDITIONAL(XPM, test x$XPM = xtrue) 106 107dnl Check whether to include debugging code 108DEBUG="" 109AC_MSG_CHECKING([whether to include verbose debugging code]) 110AC_ARG_ENABLE(debug, 111 [ --enable-debug include verbose debugging code [default=no]], 112 if test x$enableval = "xyes"; then 113 AC_MSG_RESULT([yes]) 114 DEBUG="-DDEBUG -fno-inline" 115 else 116 AC_MSG_RESULT([no]) 117 fi, 118 AC_MSG_RESULT([no]) 119) 120AC_SUBST(DEBUG) 121CXXFLAGS="$CXXFLAGS $DEBUG" 122 123AC_MSG_CHECKING([whether to have Xrender (transparent) support]) 124AC_ARG_ENABLE( 125 xrender, 126[ --enable-xrender Xrender (transparent) support [default=yes]], 127 if test x$enableval = "xyes"; then 128 AC_MSG_RESULT([yes]) 129 AC_CHECK_LIB(Xrender, XRenderCreatePicture, 130 AC_DEFINE(HAVE_XRENDER, 1, "Xrender support") 131 LIBS="$LIBS -lXrender") 132 else 133 AC_MSG_RESULT([no]) 134 fi, 135 AC_MSG_RESULT([yes]) 136 AC_CHECK_LIB(Xrender, XRenderCreatePicture, 137 AC_DEFINE(HAVE_XRENDER, 1, "Xrender support") 138 LIBS="$LIBS -lXrender") 139) 140 141 142AC_MSG_CHECKING([whether to have Xft support]) 143AM_PATH_XFT(yes, 144 XFT=true, 145 XFT=false 146) 147if test "x$XFT" = "xtrue" ; then 148 AC_DEFINE(USE_XFT, 1, "antialias support") 149 AC_MSG_CHECKING([Xft UTF-8 support]) 150 AC_TRY_LINK([ 151 #include <X11/Xft/Xft.h> 152 ], [ XftDrawStringUtf8(0, 0, 0, 0, 0, 0, 0); return 0; ], 153 AC_DEFINE(HAVE_XFT_UTF8_STRING, 1, "Xft UTF8 support") 154 AC_MSG_RESULT(yes), 155 AC_MSG_RESULT(no) 156 ) 157fi 158 159AM_CONDITIONAL(XFT, test x$XFT = xtrue) 160 161 162AC_MSG_CHECKING([whether to have Xmb (multibyte font, utf-8) support]) 163AC_ARG_ENABLE( 164 xmb, 165[ --enable-xmb Xmb (multibyte font, utf-8) support [default=yes]], 166 if test x$enableval = "xyes"; then 167 AC_MSG_RESULT([yes]) 168 AC_DEFINE(USE_XMB, 1, "multibyte support") 169 MULTIBYTE=true 170 else 171 AC_MSG_RESULT([no]) 172 MULTIBYTE=false 173 fi, 174 AC_MSG_RESULT([yes]) 175 AC_DEFINE(USE_XMB, 1, "multibyte support") 176 MULTIBYTE=true 177) 178AM_CONDITIONAL(MULTIBYTE, test x$MULTIBYTE = xtrue) 179 180AC_ARG_ENABLE(png,--enable-png support loading PNG images [default=yes], 181 , enable_png=yes) 182 183if test x$enable_png = xyes; then 184 AC_PATH_PROG(LIBPNG_CONFIG, libpng-config, no) 185 if test "x$LIBPNG_CONFIG" = "xno"; then 186 AC_CHECK_LIB(png, png_create_read_struct, have_libpng=yes, , -lz) 187 if test x$have_libpng != xyes; then 188 AC_MSG_WARN([Unable to find PNG library (http://www.libpng.org/pub/png/libpng.html)]) 189 fi 190 dnl libpng requires libz 191 AC_CHECK_LIB(z, uncompress, have_libz=yes) 192 if test x$have_libz != xyes; then 193 AC_MSG_WARN([Unable to find Zlib library (http://www.gzip.org/zlib/)]) 194 fi 195 196 if test x$have_libpng = xyes -a x$have_libz = xyes; then 197 LIBS="$LIBS -lpng -lz" 198 AC_DEFINE(HAVE_PNG, 1, "Png support") 199 else 200 AC_MSG_WARN(PNG image loading disabled) 201 fi 202 203 else dnl try with libpng-config 204 CXXFLAGS="$CXXFLAGS `libpng-config --cflags`" 205 LIBS="$LIBS `libpng-config --libs`" 206 have_libpng="yes" 207 AC_DEFINE(HAVE_PNG, 1, "Png support") 208 fi 209fi 210AM_CONDITIONAL(PNG, test x$have_libpng = xyes) 211 212dnl Check whether to use imlib2 213IMLIB2=true 214AC_MSG_CHECKING([whether to have Imlib2 (pixmap themes) support]) 215AC_ARG_ENABLE(imlib2, 216 [AC_HELP_STRING([--enable-imlib2], 217 [Imlib2 (pixmap themes) support [default=yes]])], , 218 [enable_imlib2=yes]) 219if test x$enable_imlib2 = "xyes"; then 220 AC_MSG_RESULT([yes]) 221 AC_PATH_GENERIC(imlib2, 1.0.0, 222 [ 223 IMLIB2=true 224 AC_DEFINE(HAVE_IMLIB2, [], [Imlib2 support]) 225 IMLIB2_LIBS=`imlib2-config --libs` 226 IMLIB2_CFLAGS=`imlib2-config --cflags` 227 LIBS="$LIBS $IMLIB2_LIBS" 228 CXXFLAGS="$CXXFLAGS $IMLIB2_CFLAGS" 229 ], [ AC_MSG_RESULT(no)] 230 ) 231else 232 AC_MSG_RESULT([no]) 233fi 234 235AM_CONDITIONAL(IMLIB2, test x$IMLIB2 = xtrue) 236 237 238 239dnl Print results 240AC_MSG_RESULT([]) 241AC_MSG_RESULT([ $PACKAGE version $VERSION configured successfully.]) 242AC_MSG_RESULT([]) 243AC_MSG_RESULT([Using '$prefix' for installation.]) 244AC_MSG_RESULT([Using '$CXX' for C++ compiler.]) 245AC_MSG_RESULT([Building with '$CXXFLAGS' for C++ compiler flags.]) 246AC_MSG_RESULT([Building with '$LIBS' for linker flags.]) 247AC_MSG_RESULT([]) 248 249dnl Output files 250AM_CONFIG_HEADER(config.h) 251 252AC_OUTPUT( 253Makefile 254version.h 255src/Makefile 256src/FbTk/Makefile 257) 258