# 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
m4_define([OPJ_MAJOR], [1])
-m4_define([OPJ_MINOR], [4])
+m4_define([OPJ_MINOR], [99])
m4_define([OPJ_MICRO], [0])
m4_define([lt_cur], m4_eval(OPJ_MAJOR + OPJ_MINOR))
AC_CANONICAL_SYSTEM
AC_CANONICAL_HOST
-AM_INIT_AUTOMAKE(1.11 foreign dist-bzip2)
+AM_INIT_AUTOMAKE([1.11 foreign dist-bzip2 dist-xz dist-zip])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
MAJOR_NR=OPJ_MAJOR
MINOR_NR=OPJ_MINOR
MICRO_NR=OPJ_MICRO
-AC_SUBST(MAJOR_NR)
-AC_SUBST(MINOR_NR)
-AC_SUBST(MICRO_NR)
+AC_SUBST([MAJOR_NR])
+AC_SUBST([MINOR_NR])
+AC_SUBST([MICRO_NR])
LT_PREREQ([2.0])
LT_INIT([win32-dll])
lt_version=lt_cur:lt_rev:lt_age
-AC_SUBST(lt_version)
+AC_SUBST([lt_version])
### Needed information
AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
AM_CONDITIONAL([HAVE_DARWIN], [test "x${have_darwin}" = "xyes"])
-
+AC_TYPE_SSIZE_T
+if test "x$ac_cv_type_ssize_t" = xyes; then
+AC_DEFINE([HAVE_SSIZE_T], [1],[Define to 1 if you have ssize_t.],
+ [AC_MSG([ssize_t not found])])
+fi
### Additional options to configure
# debug
AC_MSG_CHECKING([whether to build the JPWL library])
AC_MSG_RESULT([${want_jpwl}])
-if test "x${want_jpwl}" = "xyes" ; then
- AC_DEFINE(USE_JPWL, [1], [define to 1 if you use jpwl])
-fi
-
AM_CONDITIONAL([WANT_JPWL], [test "x${want_jpwl}" = "xyes"])
# JPIP
AC_MSG_CHECKING([whether to build the JPIP library])
AC_MSG_RESULT([${want_jpip}])
-if test "x${want_jpip}" = "xyes" ; then
- AC_DEFINE(USE_JPIP, [1], [define to 1 if you use jpip])
-fi
-
-# libfcgi
-
-if test "x${want_jpip}" = "xyes" ; then
- OPJ_CHECK_LIB([/usr],
- [fcgi_stdio.h],
- [fcgi],
- [FCGI_printf],
- [want_jpip="yes"],
- [want_jpip="no"])
-fi
-
-if test "x${want_jpip}" = "xno" ; then
- OPJ_CHECK_LIB([/usr/local],
- [fcgi_stdio.h],
- [fcgi],
- [FCGI_printf],
- [want_jpip="yes"],
- [want_jpip="no"])
-fi
-
-if test "x${want_jpip}" = "xno" ; then
- OPJ_CHECK_LIB([/opt],
- [fcgi_stdio.h],
- [fcgi],
- [FCGI_printf],
- [want_jpip="yes"],
- [want_jpip="no"])
-fi
+AC_ARG_ENABLE([jpip-server],
+ [AC_HELP_STRING([--enable-jpip-server], [build jpip server @<:@default=disabled@:>@])],
+ [
+ if test "x${enableval}" = "xyes" ; then
+ want_jpip_server="yes"
+ else
+ want_jpip_server="no"
+ fi
+ ],
+ [want_jpip_server="no"])
-AM_CONDITIONAL([WANT_JPIP], [test "x${want_jpip}" = "xyes"])
+AC_MSG_CHECKING([whether to build the JPIP server])
+AC_MSG_RESULT([${want_jpip_server}])
### Checks for programs
else
pkgconfig_requires_private="Requires"
fi
-AC_SUBST(pkgconfig_requires_private)
-AC_SUBST(requirements)
+AC_SUBST([pkgconfig_requires_private])
+AC_SUBST([requirements])
# doxygen
if test "x${want_png}" = "xyes" ; then
- PKG_CHECK_MODULES([PNG], [libpng14],
+ PKG_CHECK_MODULES([PNG], [libpng15 zlib],
[have_libpng="yes"],
[
- PKG_CHECK_MODULES([PNG], [libpng12],
+ PKG_CHECK_MODULES([PNG], [libpng14 zlib],
[have_libpng="yes"],
[
- PKG_CHECK_MODULES([PNG], [libpng10],
+ PKG_CHECK_MODULES([PNG], [libpng12 zlib],
[have_libpng="yes"],
[
- PKG_CHECK_MODULES([PNG], [libpng],
+ PKG_CHECK_MODULES([PNG], [libpng zlib],
[have_libpng="yes"],
[have_libpng="no"])
])
])
if ! test "x${have_libpng}" = "xyes" ; then
- OPJ_CHECK_LIB([/usr],
- [png.h],
- [png],
- [png_create_write_struct],
- [have_libpng="yes"],
- [have_libpng="no"])
- fi
- if ! test "x${have_libpng}" = "xyes" ; then
- OPJ_CHECK_LIB([/usr/local],
- [png.h],
- [png],
- [png_create_write_struct],
- [have_libpng="yes"],
+ OPJ_CHECK_LIB([zlib.h],
+ [z],
+ [zlibVersion],
+ [
+ OPJ_CHECK_LIB([png.h],
+ [png],
+ [png_access_version_number],
+ [
+ have_libpng="yes"
+ PNG_CFLAGS="${PNG_CFLAGS} ${Z_CFLAGS}"
+ PNG_LIBS="${PNG_LIBS} ${Z_LIBS}"
+ ],
+ [have_libpng="no"])
+ ],
[have_libpng="no"])
- fi
- if ! test "x${have_libpng}" = "xyes" ; then
- OPJ_CHECK_LIB([/opt],
- [png.h],
- [png],
- [png_create_write_struct],
- [have_libpng="yes"],
- [have_libpng="no"])
fi
if test "x${have_libpng}" = "xno" ; then
if test "x${want_tiff}" = "xyes" ; then
- OPJ_CHECK_LIB([/usr],
+ OPJ_CHECK_LIB(
[tiff.h],
[tiff],
[TIFFOpen],
[have_libtiff="yes"],
[have_libtiff="no"])
- if ! test "x${have_libtiff}" = "xyes" ; then
- OPJ_CHECK_LIB([/usr/local],
- [tiff.h],
- [tiff],
- [TIFFOpen],
- [have_libtiff="yes"],
- [have_libtiff="no"])
- fi
-
- if ! test "x${have_libtiff}" = "xyes" ; then
- OPJ_CHECK_LIB([/opt],
- [tiff.h],
- [tiff],
- [TIFFOpen],
- [have_libtiff="yes"],
- [have_libtiff="no"])
- fi
-
if test "x${have_libtiff}" = "xno" ; then
AC_MSG_WARN([Can not find a usuable TIFF library. Make sure that CPPFLAGS and LDFLAGS are correctly set.])
fi
AM_CONDITIONAL([with_libtiff], [test "x${have_libtiff}" = "xyes"])
-AC_ARG_VAR([TIFF_CFLAGS], [preprocessor flags for libtiff])
-AC_SUBST(TIFF_CFLAGS)
-AC_ARG_VAR([TIFF_LIBS], [linker flags for libtiff])
-AC_SUBST(TIFF_LIBS)
-
# libcms2
lcms_output="no"
+have_lcms2="no"
AC_ARG_ENABLE([lcms2],
[AC_HELP_STRING([--disable-lcms2], [disable LCMS-2 support @<:@default=enabled@:>@])],
if test "x${want_lcms2}" = "xyes" ; then
PKG_CHECK_MODULES([LCMS2], [lcms2],
- [
- have_lcms2="yes"
- requirements="lcms2"
- ],
+ [have_lcms2="yes"],
[have_lcms2="no"])
fi
if test "x${want_lcms1}" = "xyes" ; then
PKG_CHECK_MODULES([LCMS1], [lcms1],
- [
- have_lcms1="yes"
- requirements="lcms1"
- ],
+ [have_lcms1="yes"],
[PKG_CHECK_MODULES([LCMS1], [lcms],
- [
- have_lcms1="yes"
- requirements="lcms"
- ],
+ [have_lcms1="yes"],
[have_lcms1="no"])])
fi
fi
+# threads
+
+if test "x${want_jpip_server}" = "xyes" ; then
+
+ if test "x${have_win32}" = "xno" ; then
+
+ SAVE_CFLAGS=${CFLAGS}
+ CFLAGS="${CFLAGS} -pthread"
+ SAVE_LIBS=${LIBS}
+ LIBS="${LIBS} -pthread"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[
+#include <pthread.h>
+ ]],
+ [[
+pthread_t id;
+id = pthread_self();
+ ]])],
+ [have_pthread="yes"],
+ [have_pthread="no"])
+ CFLAGS=${SAVE_CFLAGS}
+ LIBS=${SAVE_LIBS}
+
+ AC_MSG_CHECKING([whether Pthread library is available])
+ AC_MSG_RESULT([${have_pthread}])
+
+ if ! test "x${have_pthread}" = "xyes" ; then
+ AC_MSG_WARN([Pthread library not found. OpenJPIP server will not be compiled.])
+ want_jpip_server="no"
+ else
+ THREAD_CFLAGS="-pthread"
+ THREAD_LIBS="-pthread"
+ fi
+
+ else
+ THREAD_LIBS="-lws2_32"
+ fi
+
+fi
+
+AC_ARG_VAR([THREAD_CFLAGS], [compiler flag for the thread library])
+AC_SUBST([THREAD_CFLAGS])
+AC_ARG_VAR([THREAD_LIBS], [linker flags for thread library])
+AC_SUBST([THREAD_LIBS])
+
+# libfcgi
+
+if test "x${want_jpip_server}" = "xyes" ; then
+
+ have_fcgi="no"
+ OPJ_CHECK_LIB(
+ [fcgi_stdio.h],
+ [fcgi],
+ [FCGI_Accept],
+ [have_fcgi="yes"],
+ [have_fcgi="no"])
+
+ if ! test "x${have_fcgi}" = "xyes" ; then
+ AC_MSG_WARN([FastCGI library not found. OpenJPIP server will not be compiled.])
+ want_jpip_server="no"
+ fi
+
+fi
+
+# libcurl
+
+if test "x${want_jpip_server}" = "xyes" ; then
+
+ PKG_CHECK_MODULES([LIBCURL], [libcurl],
+ [have_libcurl="yes"],
+ [have_libcurl="no"])
+
+ if ! test "x${have_libcurl}" = "xyes" ; then
+ AC_MSG_WARN([libcurl library not found. OpenJPIP server will not be compiled.])
+ want_jpip_server="no"
+ fi
+
+fi
+
+if test "x${want_jpip}" = "xyes" ; then
+ AC_DEFINE(USE_JPIP, [1], [define to 1 if you use jpip])
+fi
+
+AM_CONDITIONAL([WANT_JPIP], [test "x${want_jpip}" = "xyes"])
+
+if test "x${want_jpip_server}" = "xyes" ; then
+ AC_DEFINE(USE_JPIP_SERVER, [1], [define to 1 if you use jpip server])
+fi
+
+AM_CONDITIONAL([WANT_JPIP_SERVER], [test "x${want_jpip_server}" = "xyes"])
+
+AM_CONDITIONAL([WANT_JPIP_CODE], [test "x${want_jpip}" = "xyes" || test "x${want_jpip_server}" = "xyes"])
+
### Checks for header files
## FIXME: declarations must be fixed in source code. See autoconf manual
### Checks for compiler characteristics
+AM_PROG_CC_C_O
AC_C_BIGENDIAN
#OPJ_COMPILER_FLAG([-Wall])
### Checks for library functions
+
+### Post configuration
+
+AM_CONDITIONAL([BUILD_SHARED], [test "x${enable_shared}" = "xyes"])
+AM_CONDITIONAL([BUILD_STATIC], [test "x${enable_static}" = "xyes"])
+
+
AC_CONFIG_FILES([
Makefile
libopenjpeg1.pc
+libopenjpeg-jpwl.pc
libopenjpeg/Makefile
libopenjpeg/jpwl/Makefile
applications/Makefile
applications/mj2/Makefile
applications/jpip/Makefile
applications/jpip/libopenjpip/Makefile
-applications/jpip/opj_server/Makefile
-applications/jpip/opj_client/Makefile
-applications/jpip/opj_client/opj_dec_server/Makefile
+applications/jpip/util/Makefile
doc/Makefile
])
echo " mj2.................: ${want_mj2}"
echo " jpwl................: ${want_jpwl}"
echo " jpip................: ${want_jpip}"
+echo " jpip server.........: ${want_jpip_server}"
echo