1dnl $Id: configure.ac 4102 2011-11-26 17:21:27Z flaterco $ 2 3dnl Int types macros require autoconf 2.60 or later. 4AC_PREREQ([2.60]) 5 6dnl autoconf 2.65 (Slackware 13.1) has a regression that causes the INT*_T 7dnl tests to fail improperly. See email from Eric Blake to the bug-autoconf 8dnl mailing list on 2010-02-06. 9dnl m4_if(2.65, AC_AUTOCONF_VERSION, [m4_fatal([autoconf version 2.65 is broken and unusable])]) 10 11dnl Update version info on each release 12AC_INIT([XPaint], [2.9.10.3], [Jean-Pierre.demailly@ujf-grenoble.fr]) 13 14AC_CONFIG_MACRO_DIR([m4]) 15AM_INIT_AUTOMAKE([-Wall -Werror]) 16LT_INIT 17 18AC_LANG_C 19 20## basic types 21 22AC_TYPE_INT8_T 23AC_TYPE_INT16_T 24AC_TYPE_INT32_T 25AC_TYPE_INT64_T 26 27AC_TYPE_UINT8_T 28AC_TYPE_UINT16_T 29AC_TYPE_UINT32_T 30AC_TYPE_UINT64_T 31 32CFLAGS="-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFUNCPROTO=15 -DNARROWPROTO -I/usr/include -I/usr/include/X11 -I/usr/include/X11/Xaw3dxft" 33LIBS="$LIBS -lm" 34 35dnl check X11 36AC_CHECK_LIB([X11], [XOpenDisplay], have_x11="yes") 37if test x"$have_x11" = xyes; then 38 AC_SUBST([X_LIBS], ["-lXmu -lXt -lSM -lICE -lXext -lX11 -lXpm -ldl -rdynamic"]) 39 AC_SUBST([X_CFLAGS], ["-I/usr/include/X11"]) 40else 41 echo "X11 libraries not installed !" 42 exit 1 43fi 44 45dnl check Xft support 46AC_MSG_CHECKING([checking Xft support]) 47AC_ARG_ENABLE( 48 xft, 49[ --enable-xft Xft support [default=yes]], 50 if test x$enableval = "xyes"; then 51 AC_MSG_RESULT([yes]) 52 AC_CHECK_LIB(Xft, XftFontOpen, 53 AC_DEFINE(HAVE_XFT,, "Xft support") 54 LIBS="$LIBS -lXft -lfreetype -lfontconfig" 55 XFT=true) 56 AC_CHECK_LIB(freetype, FT_Init_FreeType, 57 LIBS="$LIBS -lfreetype -lfontconfig") 58 else 59 AC_MSG_RESULT([no]) 60 fi, 61 AC_MSG_RESULT([yes]) 62 AC_CHECK_LIB(Xft, XftFontOpen, 63 AC_DEFINE(HAVE_XFT,, "Xft support") 64 LIBS="$LIBS -lXft" 65 XFT=true) 66 AC_CHECK_LIB(freetype, FT_Init_FreeType, 67 LIBS="$LIBS -lfreetype -lfontconfig") 68) 69 70dnl checking for libXaw3d, version >= 1.6.2 71AC_CHECK_HEADER([X11/Xaw3dxft/Box.h], 72 [AC_CHECK_LIB([Xaw3dxft], [XawInitializeWidgetSet], 73 [AC_MSG_NOTICE([[Using libXaw3d for Athena Widgets.]]) 74 AC_SUBST([X_LIBS_EXTRA], ["-lXaw3dxft"])], 75 AC_DEFINE(HAVE_XAW3DXFT) 76 [AC_MSG_ERROR([found Xaw3dxft headers but not libXaw3d version >= 1.6.2; try setting LDFLAGS.])], 77 [-lXft -lXmu -lXt -lSM -lICE -lXext -lX11 -lXpm $X_LIBS_EXTRA])], 78 exit 1 79) 80 81dnl libz is required by libpng. 82AC_CHECK_HEADER([zlib.h], [], 83 [AC_MSG_ERROR([cannot find zlib.h; try setting CFLAGS.])]) 84AC_CHECK_LIB([z], [zlibVersion], [], 85 [AC_MSG_ERROR([cannot find libz; try setting LDFLAGS.])]) 86 87dnl libpng check 88AC_CHECK_HEADER(png.h, AC_DEFINE(HAVE_PNG_H,,[png.h needs to be included])) 89AC_CHECK_HEADER([libpng/png.h], AC_DEFINE(HAVE_LIBPNG_PNG_H,,[libpng/png.h needs to be included])) 90 91if test x$ac_cv_header_png_h = xyes -o x$ac_cv_header_libpng_png_h = xyes; then 92 AC_CHECK_LIB(png, png_read_rows, 93 [AC_DEFINE(HAVE_PNG,,[PNG codec library is present]) 94 LIBS="-lpng $LIBS" 95 AC_CHECK_FUNCS(png_get_valid png_set_tRNS_to_alpha)]) 96fi 97 98dnl Test for libjpeg 99AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, 100 jpeg_ok=yes, 101 jpeg_ok=no 102 AC_MSG_WARN(*** Native JPEG support will not be built (JPEG library not found) ***), $GX_LIBS) 103if test x"$jpeg_ok" = xyes; then 104 AC_MSG_CHECKING([for jpeglib.h]) 105 AC_TRY_CPP( 106[#include <stdio.h> 107#undef PACKAGE 108#undef VERSION 109#include <jpeglib.h>], 110 jpeg_ok=yes, 111 jpeg_ok=no) 112 AC_MSG_RESULT($jpeg_ok) 113 if test "$jpeg_ok" = yes; then 114 LIBS="$LIBS -ljpeg"; AC_DEFINE(HAVE_JPEG) 115 else 116 AC_MSG_WARN(*** Native JPEG support will not be built (JPEG header file not found) ***) 117 fi 118fi 119 120dnl Test for TIFF 121AC_MSG_CHECKING(whether to build with TIFF support) 122tifflibs="" 123tiffincludes="" 124with_libtiff="yes" 125tiff_header_found="no" 126# 127AC_ARG_ENABLE(tiff, 128[ --enable-tiff[=[yes|no]] Build with TIFF support [ [default=yes] ]], 129test "$enable_tiff" = "no" && with_libtiff="no") 130# 131if test "x$with_libtiff" = xyes ; then 132#TIFF compiled with JPEG and JBIG support? 133 libjpeg="" 134 AC_CHECK_LIB(jpeg,jpeg_read_header,libjpeg=-ljpeg,,) 135 libjbig="" 136 AC_CHECK_LIB(jbig,jbg_enc_init,libjbig=-ljbig,,) 137 libjbig85="" 138 AC_CHECK_LIB(jbig85,jbg85_enc_init,libjbig85=-ljbig85,,) 139#standard path 140 with_libtiff="no" 141 savedLIBS="$LIBS" 142 LIBS="-ltiff $libjpeg $libjbig $libjbig85 $LIB_Z $LIB_MATH" 143 AC_CHECK_LIB(tiff, TIFFOpen, tifflibs=-ltiff) 144 LIBS="$savedLIBS" 145 if test -n "$tifflibs" ; then 146 AC_CHECK_HEADER(tiff.h,tiff_header_found="yes",,) 147 if test "$tiff_header_found" = "yes" ; then 148 with_libtiff="yes" 149 LIBS="$LIBS -ltiff $libjpeg $libjbig $libjbig85" 150 AC_DEFINE(HAVE_TIFF) 151 fi 152 fi 153# 154 if test "x$with_libtiff" = xno ; then 155#non-standard path 156 AC_ARG_WITH(tiff_includes, 157 [ --with-tiff-includes=DIR TIFF includes in nonstandard DIR]) 158 if test -n "$with_tiff_includes" ; then 159 tiffheader="$with_tiff_includes/tiff.h" 160 AC_CHECK_HEADER($tiffheader,tiff_header_found="yes",,) 161 if test "$tiff_header_found" = "yes" ; then 162 tiffincludes="-I$with_tiff_includes" 163 fi 164 fi 165 AC_ARG_WITH(tiff_libraries, 166 [ --with-tiff-libraries=DIR TIFF library in nonstandard DIR]) 167 if test -n "$with_tiff_libraries" ; then 168 tifflibs="-L$with_tiff_libraries" 169 fi 170 tifflibs="$tifflibs -ltiff" 171 savedLIBS="$LIBS" 172 LIBS="$tifflibs $libjpeg $libjbig $libjbig85 $LIB_Z $LIB_MATH" 173 with_libtiff="no" 174# 175 AC_CHECK_LIB(tiff, TIFFOpen, , tifflibs="",) 176# 177 if test -n "$tifflibs" ; then 178 if test "$tiff_header_found" = "yes" ; then 179 with_libtiff="yes" 180 AC_DEFINE(HAVE_TIFF) 181 fi 182 fi 183 LIBS="$savedLIBS $tifflibs $libjpeg $libjbig $libjbig85" 184 fi 185fi 186# 187AC_MSG_RESULT(tiff is usable:$with_libtiff) 188AM_CONDITIONAL([with_libtiff], [test x$with_libtiff = xyes]) 189AC_SUBST(tiffincludes) 190AC_SUBST(tifflibs) 191 192 193dnl Test for libopenjpeg 194AC_ARG_ENABLE(libopenjpeg, 195 AC_HELP_STRING([--disable-libopenjpeg], 196 [Don't build against libopenjpeg.]), 197 enable_libopenjpeg=$enableval, 198 enable_libopenjpeg="try") 199if test x$enable_libopenjpeg = xyes; then 200 AC_CHECK_LIB([openjpeg], [opj_cio_open],, 201 AC_MSG_ERROR("*** libopenjpeg library not found ***")) 202 AC_CHECK_HEADERS([openjpeg.h],, 203 AC_MSG_ERROR("*** libopenjpeg headers not found ***")) 204elif test x$enable_libopenjpeg = xtry; then 205 AC_CHECK_LIB([openjpeg], [opj_cio_open], 206 [enable_libopenjpeg="yes"], 207 [enable_libopenjpeg="no"]) 208 AC_CHECK_HEADERS([openjpeg.h],, 209 [enable_libopenjpeg="no"]) 210fi 211 212if test x$enable_libopenjpeg = xyes; then 213 LIBS="$LIBS -lopenjpeg" 214 AC_SUBST(LIBOPENJPEG_LIBS) 215 AC_DEFINE(ENABLE_LIBOPENJPEG) 216 AC_DEFINE(HAVE_OPENJPEG) 217fi 218 219dnl Visual C++ 2008 Express Edition lacks some standard headers and requires 220dnl some nonstandard ones. 221AC_CHECK_HEADERS([syslog.h langinfo.h dirent.h sys/resource.h io.h process.h]) 222 223dnl Choices are dirent or WIN32-specific code; there is no third option. 224AC_MSG_CHECKING([for either dirent or _finddata_t]) 225AC_COMPILE_IFELSE( 226 [AC_LANG_PROGRAM([[ 227#ifndef HAVE_DIRENT_H 228#ifdef HAVE_IO_H 229#include <io.h> 230#endif 231_finddata_t fileinfo; 232#endif 233]], [[]])], 234 AC_MSG_RESULT([yes]), 235 [AC_MSG_RESULT([no]) 236 AC_MSG_ERROR([neither SUSv3 nor WIN32 dirent facility found]) 237 ]) 238 239 240AC_MSG_CHECKING([location of freetype2 headers]) 241AC_PREPROC_IFELSE( 242 [AC_LANG_PROGRAM([[#include <freetype2/config/ftheader.h>]])], 243 [AC_MSG_RESULT([already in path])], 244 [AC_PREPROC_IFELSE( 245 [AC_LANG_PROGRAM([[#include </usr/include/freetype2/freetype/config/ftheader.h>]])], 246 [AC_MSG_RESULT([/usr/include/freetype2]) 247 AC_SUBST([SPECIAL_CFLAGS], ["-I/usr/include/freetype2"])], 248 [AC_MSG_ERROR([cannot find freetype2 headers; try setting CFLAGS.])] 249 )] 250) 251 252AC_OUTPUT(Makefile) 253