Add Leptonica source code
[platform/upstream/libleptonica.git] / configure.ac
1 AC_PREREQ([2.50])
2 AC_INIT([leptonica], [1.73])
3 AC_CONFIG_AUX_DIR([config])
4 AC_CONFIG_HEADERS([config_auto.h:config/config.h.in])
5 AC_CONFIG_SRCDIR([src/adaptmap.c])
6
7 AC_CONFIG_MACRO_DIR([m4])
8 LT_INIT
9
10 AM_INIT_AUTOMAKE
11 AC_LANG(C)
12 AC_CANONICAL_HOST
13
14 # Checks for programs.
15 AC_PROG_AWK
16 AC_PROG_CC
17 AC_PROG_CPP
18 AC_PROG_INSTALL
19 AC_PROG_LIBTOOL
20 AC_PROG_LN_S
21 AC_PROG_MAKE_SET
22
23 # Checks for arguments.
24 AC_ARG_WITH([zlib], AS_HELP_STRING([--without-zlib], [do not include zlib support]))
25 AC_ARG_WITH([libpng], AS_HELP_STRING([--without-libpng], [do not include libpng support]))
26 AC_ARG_WITH([jpeg], AS_HELP_STRING([--without-jpeg], [do not include jpeg support]))
27 AC_ARG_WITH([giflib], AS_HELP_STRING([--without-giflib], [do not include giflib support]))
28 AC_ARG_WITH([libtiff], AS_HELP_STRING([--without-libtiff], [do not include libtiff support]))
29 AC_ARG_WITH([libwebp], AS_HELP_STRING([--without-libwebp], [do not include libwebp support]))
30 AC_ARG_WITH([libopenjpeg], AS_HELP_STRING([--without-libopenjpeg], [do not include libopenjpeg support]))
31
32 AC_ARG_ENABLE([programs], AS_HELP_STRING([--disable-programs], [do not build additional programs]))
33 AM_CONDITIONAL([ENABLE_PROGRAMS], [test "x$enable_programs" != xno])
34
35 # Checks for libraries.
36 LT_LIB_M
37
38 AS_IF([test "x$with_zlib" != xno],
39   AC_CHECK_LIB([z], [deflate],
40     AC_DEFINE([HAVE_LIBZ], 1, [Define to 1 if you have zlib.]) AC_SUBST([ZLIB_LIBS], [-lz]),
41     AS_IF([test "x$with_zlib" = xyes], AC_MSG_ERROR([zlib support requested but library not found]))
42   )
43 )
44
45 AS_IF([test "x$with_libpng" != xno],
46   AC_CHECK_LIB([png], [png_read_png],
47     AC_DEFINE([HAVE_LIBPNG], 1, [Define to 1 if you have libpng.]) AC_SUBST([LIBPNG_LIBS], [-lpng]),
48     AS_IF([test "x$with_libpng" = xyes], AC_MSG_ERROR([libpng support requested but library not found])),
49     ${LIBM} ${ZLIB_LIBS}
50   )
51 )
52
53 AS_IF([test "x$with_jpeg" != xno],
54   AC_CHECK_LIB([jpeg], [jpeg_read_scanlines],
55     AC_DEFINE([HAVE_LIBJPEG], 1, [Define to 1 if you have jpeg.]) AC_SUBST([JPEG_LIBS], [-ljpeg]),
56     AS_IF([test "x$with_jpeg" = xyes], AC_MSG_ERROR([jpeg support requested but library not found]))
57   )
58 )
59
60 AS_IF([test "x$with_giflib" != xno],
61   AC_CHECK_LIB([gif], [DGifOpenFileHandle],
62     AC_DEFINE([HAVE_LIBGIF], 1, [Define to 1 if you have giflib.]) AC_SUBST([GIFLIB_LIBS], [-lgif]),
63     AS_IF([test "x$with_giflib" = xyes], AC_MSG_ERROR([giflib support requested but library not found]))
64   )
65 )
66
67 AM_CONDITIONAL([HAVE_LIBGIF], [test "x$ac_cv_lib_gif_DGifOpenFileHandle" = xyes])
68
69 AS_IF([test "x$with_libtiff" != xno],
70   AC_CHECK_LIB([tiff], [TIFFOpen],
71     AC_DEFINE([HAVE_LIBTIFF], 1, [Define to 1 if you have libtiff.]) AC_SUBST([LIBTIFF_LIBS], [-ltiff]),
72     AS_IF([test "x$with_libtiff" = xyes], AC_MSG_ERROR([libtiff support requested but library not found])),
73     ${LIBM} ${ZLIB_LIBS} ${JPEG_LIBS}
74   )
75 )
76
77 AS_IF([test "x$with_libwebp" != xno],
78   AC_CHECK_LIB([webp], [WebPGetInfo],
79     AC_DEFINE([HAVE_LIBWEBP], 1, [Define to 1 if you have libwebp.]) AC_SUBST([LIBWEBP_LIBS], [-lwebp]),
80     AS_IF([test "x$with_libwebp" = xyes], AC_MSG_ERROR([libwebp support requested but library not found])),
81     ${LIBM}
82   )
83 )
84
85 AM_CONDITIONAL([HAVE_LIBWEBP], [test "x$ac_cv_lib_webp_WebPGetInfo" = xyes])
86
87 AS_IF([test "x$with_libopenjpeg" != xno],
88   AC_CHECK_LIB([openjp2], [opj_create_decompress],
89     [
90       AC_DEFINE([HAVE_LIBJP2K], 1, [Define to 1 if you have libopenjp2.]) AC_SUBST([LIBJP2K_LIBS], [-lopenjp2])
91       [AC_CHECK_HEADERS([openjpeg-2.2/openjpeg.h openjpeg-2.1/openjpeg.h openjpeg-2.0/openjpeg.h],
92        AC_DEFINE_UNQUOTED([LIBJP2K_HEADER], [<$ac_header>], [Path to <openjpeg.h> header file.]) break)]
93     ],
94     AS_IF([test "x$with_libopenjpeg" = xyes], AC_MSG_ERROR([libopenjp2 support requested but library not found]))
95   )
96 )
97
98 AM_CONDITIONAL([HAVE_LIBJP2K], [test "x$ac_cv_lib_openjp2_opj_create_decompress" = xyes])
99
100 case "$host_os" in
101   mingw32*)
102   AC_SUBST([GDI_LIBS], [-lgdi32])
103   CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO" ;;
104 esac
105
106 # Enable less verbose output when building.
107 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
108
109 # Checks for typedefs, structures, and compiler characteristics.
110 AC_TYPE_SIZE_T
111 AC_C_BIGENDIAN
112
113 AC_SUBST([APPLE_UNIVERSAL_BUILD], [0])
114 AC_SUBST([ENDIANNESS], [L_LITTLE_ENDIAN])
115
116 case "$ac_cv_c_bigendian" in
117   yes) AC_SUBST([ENDIANNESS], [L_BIG_ENDIAN]) ;;
118   universal) AC_SUBST([APPLE_UNIVERSAL_BUILD], [1]) ;;
119 esac
120
121 # Add the -Wl and --as-needed flags to gcc compiler
122 AC_MSG_CHECKING([whether compiler supports -Wl,--as-needed])
123 OLD_LDFLAGS="${LDFLAGS}"
124 LDFLAGS="-Wl,--as-needed ${LDFLAGS}"
125
126 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
127   AC_MSG_RESULT([yes]),
128   LDFLAGS="${OLD_LDFLAGS}"; AC_MSG_RESULT([no])
129 )
130
131 # Checks for library functions.
132 AC_CHECK_FUNCS([fmemopen])
133
134 AC_CONFIG_FILES([Makefile src/endianness.h src/Makefile lept.pc])
135 AC_OUTPUT