2 # According to http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info :
4 # 1) when bugs are fixed or internal code is changed: increase MICRO
5 # 2) if API is added, increase MINOR and set MICRO to 0
6 # 3) if API or ABI is broken (this case should (must) never happen as it's very bad for a library), or a new designed library, increase MAJOR and set MINOR and MICRO to 0
8 m4_define([OPJ_MAJOR], [1])
9 m4_define([OPJ_MINOR], [4])
10 m4_define([OPJ_MICRO], [0])
12 m4_define([JP3D_MAJOR], [1])
13 m4_define([JP3D_MINOR], [3])
14 m4_define([JP3D_MICRO], [0])
16 m4_define([lt_cur], m4_eval(OPJ_MAJOR + OPJ_MINOR))
17 m4_define([lt_rev], OPJ_MICRO)
18 m4_define([lt_age], OPJ_MINOR)
20 m4_define([lt_cur_jp3d], m4_eval(JP3D_MAJOR + JP3D_MINOR))
21 m4_define([lt_rev_jp3d], JP3D_MICRO)
22 m4_define([lt_age_jp3d], JP3D_MINOR)
26 [OPJ_MAJOR.OPJ_MINOR.OPJ_MICRO],
27 [openjpeg@googlegroups.com],
29 [http://www.openjpeg.org])
30 AC_CONFIG_SRCDIR([configure.ac])
31 AC_CONFIG_MACRO_DIR([m4])
32 AC_CONFIG_HEADERS([opj_config.h])
37 AM_INIT_AUTOMAKE(1.11 foreign dist-bzip2)
38 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
47 JP3D_MAJOR_NR=JP3D_MAJOR
48 JP3D_MINOR_NR=JP3D_MINOR
49 JP3D_MICRO_NR=JP3D_MICRO
50 AC_SUBST(JP3D_MAJOR_NR)
51 AC_SUBST(JP3D_MINOR_NR)
52 AC_SUBST(JP3D_MICRO_NR)
57 lt_version=lt_cur:lt_rev:lt_age
60 lt_version_jp3d=lt_cur_jp3d:lt_rev_jp3d:lt_age_jp3d
61 AC_SUBST(lt_version_jp3d)
64 ### Needed information
77 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
78 AM_CONDITIONAL([HAVE_DARWIN], [test "x${have_darwin}" = "xyes"])
81 ### Additional options to configure
85 AC_ARG_ENABLE([debug],
86 [AC_HELP_STRING([--enable-debug], [build with debug symbols @<:@default=disabled@:>@])],
88 if test "x${enableval}" = "xyes" ; then
96 AC_MSG_CHECKING([whether to build in debug mode])
97 AC_MSG_RESULT([${want_debug}])
102 [AC_HELP_STRING([--enable-mj2], [build mj2 binaries @<:@default=disabled@:>@])],
104 if test "x${enableval}" = "xyes" ; then
112 AC_MSG_CHECKING([whether to build the MJ2 binaries])
113 AC_MSG_RESULT([${want_mj2}])
115 if test "x${want_mj2}" = "xyes" ; then
116 AC_DEFINE(USE_MJ2, [1], [define to 1 if you use mj2])
119 AM_CONDITIONAL([WANT_MJ2], [test "x${want_mj2}" = "xyes"])
123 AC_ARG_ENABLE([jpwl],
124 [AC_HELP_STRING([--enable-jpwl], [build JPWL library @<:@default=disabled@:>@])],
126 if test "x${enableval}" = "xyes" ; then
134 AC_MSG_CHECKING([whether to build the JPWL library])
135 AC_MSG_RESULT([${want_jpwl}])
137 if test "x${want_jpwl}" = "xyes" ; then
138 AC_DEFINE(USE_JPWL, [1], [define to 1 if you use jpwl])
141 AM_CONDITIONAL([WANT_JPWL], [test "x${want_jpwl}" = "xyes"])
145 AC_ARG_ENABLE([jp3d],
146 [AC_HELP_STRING([--enable-jp3d], [build jp3d library @<:@default=disabled@:>@])],
148 if test "x${enableval}" = "xyes" ; then
156 AC_MSG_CHECKING([whether to build the JP3D library])
157 AC_MSG_RESULT([${want_jp3d}])
159 if test "x${want_jp3d}" = "xyes" ; then
160 AC_DEFINE(USE_JP3D, [1], [define to 1 if you use jp3d])
163 AM_CONDITIONAL([WANT_JP3D], [test "x${want_jp3d}" = "xyes"])
166 ### Checks for programs
174 # Check whether pkg-config supports Requires.private
175 if $PKG_CONFIG --atleast-pkgconfig-version 0.22 ; then
176 pkgconfig_requires_private="Requires.private"
178 pkgconfig_requires_private="Requires"
180 AC_SUBST(pkgconfig_requires_private)
181 AC_SUBST(requirements)
192 ### Checks for libraries
199 [AC_HELP_STRING([--disable-png], [disable PNG support @<:@default=enabled@:>@])],
201 if test "x${enableval}" = "xyes" ; then
209 AC_MSG_CHECKING([whether to build with PNG support])
210 AC_MSG_RESULT([${want_png}])
212 if test "x${want_png}" = "xyes" ; then
214 PKG_CHECK_MODULES([PNG], [libpng14],
217 PKG_CHECK_MODULES([PNG], [libpng12],
220 PKG_CHECK_MODULES([PNG], [libpng10],
223 PKG_CHECK_MODULES([PNG], [libpng],
230 if ! test "x${have_libpng}" = "xyes" ; then
231 OPJ_CHECK_LIB([/usr],
234 [png_create_write_struct],
239 if ! test "x${have_libpng}" = "xyes" ; then
240 OPJ_CHECK_LIB([/usr/local],
243 [png_create_write_struct],
248 if ! test "x${have_libpng}" = "xyes" ; then
249 OPJ_CHECK_LIB([/opt],
252 [png_create_write_struct],
257 if test "x${have_libpng}" = "xno" ; then
258 AC_MSG_WARN([Can not find a usuable PNG library. Make sure that CPPFLAGS and LDFLAGS are correctly set.])
263 AC_MSG_CHECKING([whether PNG is available])
264 AC_MSG_RESULT([${have_libpng}])
266 if test "x${have_libpng}" = "xyes" ; then
267 AC_DEFINE(HAVE_LIBPNG, [1], [define to 1 if you have libpng])
270 AM_CONDITIONAL([with_libpng], [test x${have_libpng} = "xyes"])
276 AC_ARG_ENABLE([tiff],
277 [AC_HELP_STRING([--disable-tiff], [disable TIFF support @<:@default=enabled@:>@])],
279 if test "x${enableval}" = "xyes" ; then
287 AC_MSG_CHECKING([whether to build with TIFF support])
288 AC_MSG_RESULT([${want_tiff}])
290 if test "x${want_tiff}" = "xyes" ; then
292 OPJ_CHECK_LIB([/usr],
296 [have_libtiff="yes"],
299 if ! test "x${have_libtiff}" = "xyes" ; then
300 OPJ_CHECK_LIB([/usr/local],
304 [have_libtiff="yes"],
308 if ! test "x${have_libtiff}" = "xyes" ; then
309 OPJ_CHECK_LIB([/opt],
313 [have_libtiff="yes"],
317 if test "x${have_libtiff}" = "xno" ; then
318 AC_MSG_WARN([Can not find a usuable TIFF library. Make sure that CPPFLAGS and LDFLAGS are correctly set.])
322 AC_MSG_CHECKING([whether TIFF is available])
323 AC_MSG_RESULT([${have_libtiff}])
325 if test "x${have_libtiff}" = "xyes" ; then
326 AC_DEFINE(HAVE_LIBTIFF, [1], [define to 1 if you have libtiff])
329 AM_CONDITIONAL([with_libtiff], [test "x${have_libtiff}" = "xyes"])
331 AC_ARG_VAR([TIFF_CFLAGS], [preprocessor flags for libtiff])
332 AC_SUBST(TIFF_CFLAGS)
333 AC_ARG_VAR([TIFF_LIBS], [linker flags for libtiff])
340 AC_ARG_ENABLE([lcms2],
341 [AC_HELP_STRING([--disable-lcms2], [disable LCMS-2 support @<:@default=enabled@:>@])],
343 if test "x${enableval}" = "xyes" ; then
351 AC_MSG_CHECKING([whether to build with LCMS-2 support])
352 AC_MSG_RESULT([${want_lcms2}])
354 if test "x${want_lcms2}" = "xyes" ; then
355 PKG_CHECK_MODULES([LCMS2], [lcms2],
363 AC_MSG_CHECKING([whether LCMS-2 is available])
364 AC_MSG_RESULT([${have_lcms2}])
366 if test "x${have_lcms2}" = "xyes" ; then
367 AC_DEFINE(HAVE_LIBLCMS2, [1], [define to 1 if you have lcms version 2.x])
368 lcms_output="lcms version 2.x"
373 AC_ARG_ENABLE([lcms1],
374 [AC_HELP_STRING([--disable-lcms1], [disable LCMS-1 support @<:@default=enabled@:>@])],
376 if test "x${enableval}" = "xyes" ; then
384 AC_MSG_CHECKING([whether to build with LCMS-1 support])
385 AC_MSG_RESULT([${want_lcms1}])
387 if test "x${have_lcms2}" = "xno" ; then
389 if test "x${want_lcms1}" = "xyes" ; then
390 PKG_CHECK_MODULES([LCMS1], [lcms1],
395 [PKG_CHECK_MODULES([LCMS1], [lcms],
403 AC_MSG_CHECKING([whether LCMS-1 is available])
404 AC_MSG_RESULT([${have_lcms1}])
406 if test "x${have_lcms1}" = "xyes" ; then
407 AC_DEFINE(HAVE_LIBLCMS1, [1], [define to 1 if you have lcms version 1.x])
408 lcms_output="lcms version 1.x"
415 ### Checks for header files
417 ## FIXME: declarations must be fixed in source code. See autoconf manual
424 ### Checks for structures
427 ### Checks for compiler characteristics
431 #OPJ_COMPILER_FLAG([-Wall])
432 #OPJ_COMPILER_FLAG([-Wextra])
433 #OPJ_COMPILER_FLAG([-Wshadow])
434 #OPJ_COMPILER_FLAG([-Wpointer-arith])
435 OPJ_COMPILER_FLAG([-Wno-unused-result])
437 if test "x${want_debug}" = "xyes" ; then
438 OPJ_COMPILER_FLAG([-g])
439 OPJ_COMPILER_FLAG([-O0])
441 OPJ_COMPILER_FLAG([-O3])
445 ### Checks for linker characteristics
448 ### Checks for library functions
459 jp3d/libjp3dvm/Makefile
470 echo "------------------------------------------------------------------------"
471 echo "$PACKAGE $VERSION"
472 echo "------------------------------------------------------------------------"
475 echo "Configuration Options Summary:"
477 echo " Debug...............: ${want_debug}"
479 echo " Optional support:"
480 echo " libpng............: ${have_libpng}"
481 echo " libtiff...........: ${have_libtiff}"
482 echo " libcms............: ${lcms_output}"
484 echo " Documentation.......: ${opj_have_doxygen}"
485 echo " Build.............: make doc"
487 echo " mj2.................: ${want_mj2}"
488 echo " jpwl................: ${want_jpwl}"
489 echo " jp3d................: ${want_jp3d}"