ref: 427435dd1db50cb1b88000e6f785fcfe74c3bb0e
dir: /configure.ac/
# Process this file with autoconf to produce a configure script. AC_INIT([jbig2dec], [0.1], [jbig2-dev@ghostscript.com]) AC_PREREQ(2.53) AC_CONFIG_SRCDIR([jbig2dec.c]) AM_INIT_AUTOMAKE([AC_PACKAGE_NAME], [AC_PACKAGE_VERSION]) AM_CONFIG_HEADER(config.h) AC_REVISION([$Revision: 1.9 $]) # Checks for programs. AC_PROG_CC AC_PROG_RANLIB # Checks for libraries. AC_CHECK_LIB([png], [png_check_sig], [ AC_CHECK_LIB([z], [deflate], [ AC_DEFINE(HAVE_LIBPNG, 1, [Define if libpng is available (-lpng)]) LIBS="$LIBS -lpng -lz" AC_LIBOBJ([jbig2_image_png]) ]) ]) # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([libintl.h stddef.h unistd.h strings.h]) dnl We assume the fixed-size types from stdint.h. If that header is are not available, dnl look for the same types in a few other headers. We also attempt to define them dnl ourselves, but only use those is the native versions aren't available. dnl The substitutions happen in a file config_types.h, whose template is dnl created by autogen.sh stdint_types_in="no_replacement_found" stdint_types_discovered="yes" AC_CHECK_SIZEOF(char) AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) if test $ac_cv_sizeof_char = 1; then int8_type="char" else stdint_types_discovered="no" fi if test $ac_cv_sizeof_short = 2; then int16_type="short" elif test $ac_cv_sizeof_char = 2; then int16_type="char" elif test $ac_cv_sizeof_int = 2; then int16_type="char" else stdint_types_discovered="no" fi if test $ac_cv_sizeof_int = 4; then int32_type="int" elif test $ac_cv_sizeof_long = 4; then int32_type="long" elif test $ac_cv_sizeof_short = 4; then int32_type="short" else stdint_types_discovered="no" fi AC_CHECK_HEADER([stdint.h]) if test "x$ac_cv_header_stdint_h" != "xyes"; then for include in sys/types.h inttypes.h sys/inttypes.h sys/int_types.h ; do AC_MSG_CHECKING([for uint32_t in $include]) AC_TRY_COMPILE([#include <$include>], [uint32_t canary;], [ AC_MSG_RESULT([yes]) stdint_types_in="$include" break; ], AC_MSG_RESULT([no]) ) done if test "x$stdint_types_in" != "xno_replacement_found"; then AC_MSG_RESULT([Adding $stdint_types_in to config header for stdint types]) AC_DEFINE([JBIG2_REPLACE_STDINT_H],, [set by configure if an alternate header with the stdint.h types is found]) elif test "x$stdint_types_discovered" = "xno"; then AC_MSG_ERROR([ Unable to find suitable definitions of the stdint.h types (uint32_t and friends) You will have to define these yourself in a separate header ]) fi fi AC_SUBST(JBIG2_INT32_T, [$int32_type]) AC_SUBST(JBIG2_INT16_T, [$int16_type]) AC_SUBST(JBIG2_INT8_T, [$int8_type]) AC_SUBST(JBIG2_STDINT_H, [$stdint_types_in]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T # Checks for library functions. AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_CHECK_FUNCS([memset strdup]) dnl use our included md5 if we can't find one AC_CHECK_HEADER([openssl/md5.h], [ AC_CHECK_LIB(crypto, MD5_Init, [ AC_DEFINE(HAVE_OPENSSL_MD5,,[Define to use of the MD5_*() routines from OpenSSL rather than the included ones]) LIBS="$LIBS -lcrypto" ], [ AC_LIBOBJ([md5]) ]) ],,[ ]) dnl use our included SHA-1 if we can't find one AC_CHECK_HEADER([openssl/sha.h], [ AC_CHECK_LIB(crypto, SHA1_Init, [ AC_DEFINE(HAVE_OPENSSL_SHA1,,[Define to use of the SHA1_*() routines from OpenSSL rather than the included ones]) ], [ AC_LIBOBJ([sha1]) ]) ],,[ ]) dnl use our included getopt if the system doesn't have getopt_long() AC_CHECK_FUNC(getopt_long, [AC_DEFINE(HAVE_GETOPT_LONG,,[Define if the local libc includes getopt_long()])], AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) ) # generate output AC_SUBST(LIBOJBS) AC_CONFIG_FILES([Makefile config_types.h]) AC_OUTPUT