configure.ac (3534B)
1 # -*- Autoconf -*- 2 # Process this file with autoconf to produce a configure script. 3 4 AC_PREREQ([2.67]) 5 AC_INIT([epdfinfo], 1.0, [politza@fh-trier.de]) 6 AM_INIT_AUTOMAKE([-Wall -Wno-override foreign silent-rules]) 7 AC_CONFIG_SRCDIR([epdfinfo.h]) 8 AC_CONFIG_HEADERS([config.h]) 9 10 # Checks for programs. 11 AC_PROG_CC 12 AM_PROG_CC_C_O 13 AC_PROG_CXX 14 AC_PROG_RANLIB 15 AM_PROG_AR 16 17 # Checks for libraries. 18 HAVE_POPPLER_FIND_OPTS="no (requires poppler-glib >= 0.22)" 19 HAVE_POPPLER_ANNOT_WRITE="no (requires poppler-glib >= 0.19.4)" 20 HAVE_POPPLER_ANNOT_MARKUP="no (requires poppler-glib >= 0.26)" 21 22 PKG_CHECK_MODULES([png], [libpng]) 23 PKG_CHECK_MODULES([glib], [glib-2.0]) 24 PKG_CHECK_MODULES([poppler], [poppler]) 25 PKG_CHECK_MODULES([poppler_glib], [poppler-glib >= 0.16.0]) 26 PKG_CHECK_EXISTS([poppler-glib >= 0.19.4], [HAVE_POPPLER_ANNOT_WRITE=yes]) 27 PKG_CHECK_EXISTS([poppler-glib >= 0.22], [HAVE_POPPLER_FIND_OPTS=yes]) 28 PKG_CHECK_EXISTS([poppler-glib >= 0.26], [HAVE_POPPLER_ANNOT_MARKUP=yes]) 29 PKG_CHECK_MODULES([zlib], [zlib]) 30 31 AC_COMPILE_IFELSE( 32 [AC_LANG_PROGRAM([[ 33 #ifndef _WIN32 34 error 35 #endif 36 ]])], [have_w32=true], [have_w32=false]) 37 AM_CONDITIONAL(HAVE_W32, [test "$have_w32" = true]) 38 39 if test "$have_w32" = true; then 40 if test "$MSYSTEM" = MINGW32 -o "$MSYSTEM" = MINGW64; then 41 # glib won't work properly on msys2 without it. 42 CFLAGS="-D__USE_MINGW_ANSI_STDIO=1 $CFLAGS" 43 fi 44 fi 45 46 SAVED_CPPFLAGS=$CPPFLAGS 47 CPPFLAGS=$poppler_CFLAGS 48 AC_LANG_PUSH([C++]) 49 # Check if we can use the -std=c++11 option. 50 m4_include([m4/ax_check_compile_flag.m4]) 51 AX_CHECK_COMPILE_FLAG([-std=c++11], [HAVE_STD_CXX11=yes]) 52 53 if test "$HAVE_STD_CXX11" = yes; then 54 CXXFLAGS="-std=c++11 $CXXFLAGS" 55 fi 56 # Check for private poppler header. 57 AC_CHECK_HEADERS([Annot.h PDFDocEncoding.h], [], 58 AC_MSG_ERROR([cannot find necessary poppler-private header (see README.org)])) 59 AC_LANG_POP([C++]) 60 CPPFLAGS=$SAVED_CPPFLAGS 61 62 # Setup compile time features. 63 if test "$HAVE_POPPLER_FIND_OPTS" = yes; then 64 AC_DEFINE([HAVE_POPPLER_FIND_OPTS],1, 65 [Define to 1 to enable case sensitive searching (requires poppler-glib >= 0.22).]) 66 fi 67 68 if test "$HAVE_POPPLER_ANNOT_WRITE" = yes; then 69 AC_DEFINE([HAVE_POPPLER_ANNOT_WRITE],1, 70 [Define to 1 to enable writing of annotations (requires poppler-glib >= 0.19.4).]) 71 fi 72 73 if test "$HAVE_POPPLER_ANNOT_MARKUP" = yes; then 74 AC_DEFINE([HAVE_POPPLER_ANNOT_MARKUP],1, 75 [Define to 1 to enable adding of markup annotations (requires poppler-glib >= 0.26).]) 76 fi 77 78 AC_CANONICAL_HOST 79 # Checks for header files. 80 AC_CHECK_HEADERS([stdlib.h string.h strings.h err.h]) 81 82 AC_MSG_CHECKING([for error.h]) 83 SAVED_CFLAGS=$CFLAGS 84 CFLAGS="$poppler_CFLAGS $poppler_glib_CFLAGS" 85 AC_LANG_PUSH([C]) 86 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ 87 #include <error.h> 88 ],[error (0, 0, "");])], 89 [AC_DEFINE([HAVE_ERROR_H],1, [Define to 1 if error.h is usable.]) 90 AC_MSG_RESULT([yes])], 91 AC_MSG_RESULT([no])) 92 AC_LANG_POP([C]) 93 CFLAGS=$SAVED_CFLAGS 94 95 # Checks for typedefs, structures, and compiler characteristics. 96 AC_TYPE_SIZE_T 97 AC_TYPE_SSIZE_T 98 AC_CHECK_TYPES([ptrdiff_t]) 99 AC_C_BIGENDIAN 100 101 # Checks for library functions. 102 AC_FUNC_ERROR_AT_LINE 103 AC_FUNC_STRTOD 104 AC_CHECK_FUNCS([strcspn strtol getline]) 105 106 AC_CONFIG_FILES([Makefile]) 107 AC_OUTPUT 108 109 echo 110 echo "Is case-sensitive searching enabled ? ${HAVE_POPPLER_FIND_OPTS}" 111 echo "Is modifying text annotations enabled ? ${HAVE_POPPLER_ANNOT_WRITE}" 112 echo "Is modifying markup annotations enabled ? ${HAVE_POPPLER_ANNOT_MARKUP}" 113 echo