123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439 |
- #
- # LittleCMS 2 configure script
- #
- AC_PREREQ(2.60)
- #
- # Set the package name and version
- #
- AC_INIT(lcms2,2.13)
- # Specify directory where m4 macros may be found.
- AC_CONFIG_MACRO_DIR([m4])
- #
- # Libtool library revision control info
- #
- LIBRARY_CURRENT=2
- LIBRARY_REVISION=13
- LIBRARY_AGE=0
- AC_SUBST(LIBRARY_CURRENT)dnl
- AC_SUBST(LIBRARY_REVISION)dnl
- AC_SUBST(LIBRARY_AGE)dnl
- # Obtain system type by running config.guess
- AC_CANONICAL_HOST
- AM_INIT_AUTOMAKE([foreign 1.9 tar-ustar no-define dist-zip subdir-objects])
- # Check for programs
- AC_PROG_CC_STDC
- AC_PROG_CPP
- AC_PROG_CXX
- LT_INIT
- #AM_PROG_LD
- #AC_SUBST(LD)
- #AC_PROG_INSTALL
- #AC_PROG_MAKE_SET
- #AC_PROG_LN_S
- #
- # Tests for Windows
- #
- AC_EXEEXT
- AC_OBJEXT
- # Configure libtool
- AC_ENABLE_SHARED
- AC_ENABLE_STATIC
- AC_LIBTOOL_WIN32_DLL
- AC_LIBTOOL_SETUP
- AC_PROG_LIBTOOL
- AC_SUBST(LIBTOOL_DEPS)
- LIB_PLUGINS=''
- # Add configure option --enable-maintainer-mode which enables dependency
- # checking and generation useful to package maintainers. This is made an
- # option to avoid confusing end users.
- AM_MAINTAINER_MODE
- # If the C compiler supports the keyword inline, do nothing. Otherwise
- # define inline to __inline__ or __inline if it accepts one of those,
- # otherwise define inline to be empty.
- AC_C_INLINE
- AC_SUBST(inline)
- # Check if the C compiler supports the "visibility" function attribute
- # If supported, defines HAVE_FUNC_ATTRIBUTE_VISIBILITY
- AX_GCC_FUNC_ATTRIBUTE(visibility)
- # Check if the compiler supports "-fvisibility=hidden" and if yes, add it to CFLAGS
- # This means that symbols that are not marked explicitly for export (CMSAPI)
- # will not be reachable in the shared library.
- AX_APPEND_COMPILE_FLAGS(["-fvisibility=hidden"])
- # If words are stored with the most significant byte first (like
- # Motorola and SPARC CPUs), define `WORDS_BIGENDIAN'.
- AC_C_BIGENDIAN
- # Check for threadsafe variants of gmtime
- # Note: check for gmtime_s is a bit more complex as it is implemented as a macro
- AC_CHECK_FUNCS(gmtime_r, [], [
- AC_MSG_CHECKING([for gmtime_s])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[#include <time.h>]], [[
- time_t t;
- struct tm m;
- gmtime_s(&m, &t);
- return 0;
- ]])],
- [AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_GMTIME_S], [1], [gmtime_s can be used])],
- [AC_MSG_RESULT([no])]
- )])
- # Point to JPEG installed in DIR or disable JPEG with --without-jpeg.
- AC_ARG_WITH(jpeg,
- AS_HELP_STRING([--with-jpeg=DIR],[use jpeg installed in DIR]),
- [
- if [ test "x$withval" = "xno" ]; then
- [with_jpeg='no']
- else
- if [ test "x$withval" != "xyes" ]; then
- with_jpeg=$withval
- JPEG_DIR=$withval
- CPPFLAGS="$CPPFLAGS -I$JPEG_DIR/include"
- LDFLAGS="$LDFLAGS -L$JPEG_DIR/lib"
- fi
- [with_jpeg='yes']
- fi
- ],
- [with_jpeg='yes'])
- # Point to TIFF installed in DIR or disable TIFF with --without-tiff.
- AC_ARG_WITH(tiff,
- AS_HELP_STRING([--with-tiff=DIR], [use tiff installed in DIR]),
- [
- if [ test "x$withval" = "xno" ]; then
- [with_tiff='no']
- else
- if [ test "x$withval" != "xyes" ]; then
- with_tiff=$withval
- TIFF_DIR=$withval
- CPPFLAGS="$CPPFLAGS -I$TIFF_DIR/include"
- LDFLAGS="$LDFLAGS -L$TIFF_DIR/lib"
- fi
- [with_tiff='yes']
- fi
- ],
- [with_tiff='yes'])
- # Disable ZLIB
- AC_ARG_WITH(zlib,
- [ --without-zlib disable ZLIB support],
- [with_zlib=$withval],
- [with_zlib='yes'])
- #fast_float plugin:
- AC_ARG_WITH(fastfloat,
- AS_HELP_STRING([--with-fastfloat],
- [build and install fast_float plugin, use only if GPL 3.0 is acceptable]),
- [
- with_fastfloat=$withval
- ],
- [
- with_fastfloat='no'
- ])
- if test "x$with_fastfloat" = "xyes"
- then
- LIB_PLUGINS="$LIB_PLUGINS -llcms2_fast_float"
- fi
- #multi threaded plugin:
- AC_ARG_WITH(threaded,
- AS_HELP_STRING([--with-threaded],
- [build and install multi threaded plugin, use only if GPL 3.0 is acceptable]),
- [
- with_threaded=$withval
- ],
- [
- with_threaded='no'
- ])
- if test "x$with_threaded" = "xyes"
- then
- LIB_PLUGINS="$LIB_PLUGINS -llcms2_threaded"
- fi
- #
- # Determine POSIX threads settings
- #
- # Enable support for POSIX thread APIs
- AC_ARG_WITH(threads,
- AS_HELP_STRING([--without-pthreads],
- [disable POSIX pthreads API support]),
- [with_threads=$withval],
- [with_threads='yes'])
- have_threads=no
- if test "$with_threads" != 'no'
- then
- ACX_PTHREAD()
-
- if test "$acx_pthread_ok" = yes
- then
- have_threads=yes
- DEF_THREAD="$PTHREAD_CFLAGS"
- CFLAGS="$CFLAGS $DEF_THREAD"
- CXXFLAGS="$CXXFLAGS $DEF_THREAD"
- if test "$CC" != "$PTHREAD_CC"
- then
- AC_MSG_WARN([Replacing compiler $CC with compiler $PTHREAD_CC to support pthreads.])
- CC="$PTHREAD_CC"
- fi
- if test "$CXX" != "$PTHREAD_CXX"
- then
- AC_MSG_WARN([Replacing compiler $CXX with compiler $PTHREAD_CXX to support pthreads.])
- CXX="$PTHREAD_CXX"
- fi
- fi
- fi
- # check if compiler supports SSE2 intrinsics
- AC_LANG_PUSH([C])
- AC_MSG_CHECKING([whether compiler supports SSE2])
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- #include <emmintrin.h>
- main() { __m128i n = _mm_set1_epi8(42); }]])],
- [ac_compiler_supports_sse2=yes], [ac_compiler_supports_sse2=no])
- AC_MSG_RESULT([$ac_compiler_supports_sse2])
- AS_IF([test "x$ac_compiler_supports_sse2" != "xyes"],
- [AC_DEFINE([CMS_DONT_USE_SSE2], [1], [Define if compiler does not support SSE2 intrinsics])])
- AC_LANG_POP([C])
- #
- # Find math library
- #
- LIB_MATH=''
- AC_CHECK_LIB(m,sqrt,LIB_MATH="-lm",,)
- LIBS="$LIB_MATH $LIBS"
- AC_SUBST(LIB_MATH)
- #
- # Find Posix threads library
- #
- LIB_THREAD=''
- if test "$with_threads" != 'no' && test "$have_threads" = 'yes'
- then
- for lib in pthread pthreads
- do
- if test "x$PTHREAD_LIBS" = "x" ; then
- AC_CHECK_LIB([$lib],pthread_mutex_lock,[PTHREAD_LIBS=-l$lib],,)
- fi
- done
- LIB_THREAD="$PTHREAD_LIBS"
- LIBS="$LIBS $LIB_THREAD"
- AC_DEFINE(HasTHREADS,1,[Define if you have pthreads library])
- else
- AC_DEFINE(HasTHREADS,0,[Define if you don't have pthreads library])
- fi
- AC_SUBST(LIB_THREAD)
- #
- # Check for JPEG
- #
- have_jpeg='no'
- LIB_JPEG=''
- if test ! "$with_jpeg" = 'no'
- then
- AC_MSG_CHECKING([for JPEG support])
- AC_MSG_RESULT()
- failed=0;
- passed=0;
- AC_CHECK_HEADER(jconfig.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
- AC_CHECK_HEADER(jerror.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
- AC_CHECK_HEADER(jmorecfg.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,[#include <jconfig.h>])
- AC_CHECK_HEADER(jpeglib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
- AC_CHECK_LIB(jpeg,jpeg_read_header,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- # Test for compatible JPEG library
- if test ! "$ac_cv_jpeg_version_ok" = 'yes' ; then
- AC_CACHE_CHECK(for JPEG library is version 6b or later, ac_cv_jpeg_version_ok,
- [AC_TRY_COMPILE(
- #include <stdio.h>
- #include <stdlib.h>
- #include <jpeglib.h>
- ,
- changequote(<<, >>)dnl
- <<
- #if JPEG_LIB_VERSION < 62
- #error IJG JPEG library must be version 6b or newer!
- #endif
- return 0;
- >>,
- changequote([, ])dnl
- ac_cv_jpeg_version_ok='yes',
- ac_cv_jpeg_version_ok='no')])
- if test "$ac_cv_jpeg_version_ok" = 'yes' ; then
- AC_MSG_RESULT(yes)
- passed=`expr $passed + 1`
- else
- AC_MSG_RESULT(no)
- failed=`expr $failed + 1`
- fi
- fi
- AC_MSG_CHECKING(if JPEG package is complete)
- if test $passed -gt 0
- then
- if test $failed -gt 0
- then
- AC_MSG_RESULT(no -- some components failed test)
- have_jpeg='no (failed tests)'
- else
- LIB_JPEG='-ljpeg'
- LIBS="$LIB_JPEG $LIBS"
- AC_DEFINE(HasJPEG,1,Define if you have JPEG library)
- AC_MSG_RESULT(yes)
- have_jpeg='yes'
- fi
- else
- AC_MSG_RESULT(no)
- fi
- fi
- AM_CONDITIONAL(HasJPEG, test "$have_jpeg" = 'yes')
- AC_SUBST(LIB_JPEG)
- #
- # Check for ZLIB
- #
- have_zlib='no'
- dnl TIFF may require zlib so enable zlib check if TIFF is requested
- if test ! "$with_zlib" = 'no' || test ! "$with_tiff" = 'no'
- then
- LIB_ZLIB=''
- AC_MSG_CHECKING(for ZLIB support )
- AC_MSG_RESULT()
- failed=0;
- passed=0;
- AC_CHECK_HEADER(zconf.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
- AC_CHECK_HEADER(zlib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
- AC_CHECK_LIB(z,compress,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_CHECK_LIB(z,uncompress,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_CHECK_LIB(z,deflate,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_CHECK_LIB(z,inflate,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_CHECK_LIB(z,gzseek,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_CHECK_LIB(z,gztell,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_MSG_CHECKING(if ZLIB package is complete)
- if test $passed -gt 0
- then
- if test $failed -gt 0
- then
- AC_MSG_RESULT(no -- some components failed test)
- have_zlib='no (failed tests)'
- else
- LIB_ZLIB='-lz'
- LIBS="$LIB_ZLIB $LIBS"
- AC_DEFINE(HasZLIB,1,Define if you have zlib compression library)
- AC_MSG_RESULT(yes)
- have_zlib='yes'
- fi
- else
- AC_MSG_RESULT(no)
- fi
- fi
- AM_CONDITIONAL(HasZLIB, test "$have_zlib" = 'yes')
- AC_SUBST(LIB_ZLIB)
- #
- # Check for TIFF
- #
- have_tiff='no'
- LIB_TIFF=''
- if test ! "$with_tiff" = 'no'
- then
- AC_MSG_CHECKING([for TIFF support])
- AC_MSG_RESULT()
- failed=0;
- passed=0;
- AC_CHECK_HEADER(tiff.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
- AC_CHECK_HEADER(tiffio.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
- AC_CHECK_LIB(tiff,TIFFOpen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_CHECK_LIB(tiff,TIFFClientOpen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_CHECK_LIB(tiff,TIFFIsByteSwapped,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_MSG_CHECKING(if TIFF package is complete)
- if test $passed -gt 0
- then
- if test $failed -gt 0
- then
- AC_MSG_RESULT(no -- some components failed test)
- have_tiff='no (failed tests)'
- else
- LIB_TIFF='-ltiff'
- LIBS="$LIB_TIFF $LIBS"
- AC_DEFINE(HasTIFF,1,Define if you have TIFF library)
- AC_MSG_RESULT(yes)
- have_tiff='yes'
- AC_CHECK_HEADERS(tiffconf.h)
- fi
- else
- AC_MSG_RESULT(no)
- fi
- fi
- AM_CONDITIONAL(HasTIFF, test "$have_tiff" = 'yes')
- AC_SUBST(LIB_TIFF)
- # Libraries that the LCMS library depends on
- LCMS_LIB_DEPLIBS="$LIB_MATH $LIB_THREAD"
- LCMS_LIB_DEPLIBS=`echo $LCMS_LIB_DEPLIBS | sed -e 's/ */ /g'`
- AC_SUBST(LCMS_LIB_DEPLIBS)
- AC_SUBST(LIB_PLUGINS)
- # Libraries that the jpegicc program depends on
- JPEGICC_DEPLIBS="$LIB_JPEG $LIB_MATH $LIB_THREAD"
- JPEGICC_DEPLIBS=`echo $JPEGICC_DEPLIBS | sed -e 's/ */ /g'`
- AC_SUBST(JPEGICC_DEPLIBS)
- # Libraries that the tifficc program depends on
- TIFFICC_DEPLIBS="$LIB_TIFF $LIB_JPEG $LIB_ZLIB $LIB_MATH $LIB_THREAD"
- TIFFICC_DEPLIBS=`echo $TIFFICC_DEPLIBS | sed -e 's/ */ /g'`
- AC_SUBST(TIFFICC_DEPLIBS)
- LIBS=''
- #
- # Perform substitutions
- #
- AC_CONFIG_FILES([Makefile])
- AC_CONFIG_FILES([lcms2.pc])
- AC_CONFIG_FILES([include/Makefile])
- AC_CONFIG_FILES([src/Makefile])
- AC_CONFIG_FILES([utils/tificc/Makefile])
- AC_CONFIG_FILES([utils/transicc/Makefile])
- AC_CONFIG_FILES([utils/linkicc/Makefile])
- AC_CONFIG_FILES([utils/jpgicc/Makefile])
- AC_CONFIG_FILES([utils/psicc/Makefile])
- AC_CONFIG_FILES([testbed/Makefile])
- AM_CONDITIONAL([COND_FASTFLOAT], [test "x$with_fastfloat" = "xyes" ])
- AM_CONDITIONAL([COND_THREADED], [test "x$with_threaded" = "xyes" ])
- AC_CONFIG_FILES([plugins/Makefile])
- AC_CONFIG_FILES([plugins/fast_float/Makefile])
- AC_CONFIG_FILES([plugins/fast_float/src/Makefile])
- AC_CONFIG_FILES([plugins/fast_float/include/Makefile])
- AC_CONFIG_FILES([plugins/fast_float/testbed/Makefile])
- AC_CONFIG_FILES([plugins/threaded/Makefile])
- AC_CONFIG_FILES([plugins/threaded/src/Makefile])
- AC_CONFIG_FILES([plugins/threaded/include/Makefile])
- AC_CONFIG_FILES([plugins/threaded/testbed/Makefile])
- AC_OUTPUT
|