3 # -- I N I T --------------------------------------------------
5 AC_INIT([Synfig Core],[0.61.08],[http://synfig.org/Bugs],[synfig])
8 AC_CONFIG_AUX_DIR(config)
9 AC_CONFIG_HEADERS([config.h])
11 dnl AC_CANONICAL_TARGET
13 AM_INIT_AUTOMAKE([nostdinc])
16 AC_LIBLTDL_CONVENIENCE
23 AC_DEFINE(LT_SCOPE,[extern],[LibLTDL is linked staticly])
28 # -- V A R I A B L E S ----------------------------------------
30 SVN_REPOSITORY=http://svn.voria.com/code/synfig-core
31 AC_SUBST(SVN_REPOSITORY)
33 # -- P R O G R A M S ------------------------------------------
45 # -- A R G U M E N T S ----------------------------------------
53 AC_ARG_BRANCH_PROBABILITIES
56 --enable-g5opt enable optimizations specific to G5 proc],[
57 # CXXFLAGS="$CXXFLAGS -fastf -fPIC"
58 # CFLAGS="$CFLAGS -fastf -fPIC"
59 CXXFLAGS="$CXXFLAGS -mtune=G5 -falign-loops=32"
60 CFLAGS="$CFLAGS -mtune=G5"
66 #MINGW_FLAGS="-mno-cygwin"
70 # If we are in debug mode, use the debugging version of the
71 # Microsoft Visual C Runtime Library
72 #if [[ $debug = "yes" ]] ; then {
73 # WIN32_DEBUG_LIBRARY="msvcr70d"
74 # WIN32_DEBUG_LIBRARY="msvcrtd"
75 # LIBTOOL_PATCH_SED="$LIBTOOL_PATCH_SED
76 # s/-lmsvcrt/-l$WIN32_DEBUG_LIBRARY/g;
85 AC_SUBST(LIBTOOL_DEPS)
88 #if [[ "$LIBTOOL_PATCH_SED""x" != "x" ]] ; then {
89 # printf "Patching libtool... "
90 # cat libtool | sed "$LIBTOOL_PATCH_SED" > libtool2
94 # AC_MSG_RESULT([patched])
101 AC_CHECK_LIB(c, dlopen,
106 DYNAMIC_LD_LIBS="-ldl",
111 AC_SUBST(DYNAMIC_LD_LIBS)
114 --enable-half Use OpenEXR's "half" type for color],[
115 use_openexr_half=$enableval
118 use_openexr_half="no"
123 AC_ARG_ENABLE(layer-profiling,[
124 --enable-layer-profiling Enable layer profiling],[
125 use_layerprofiling=$enableval
128 use_layerprofiling="no"
130 if test $use_layerprofiling = "yes" ; then {
131 AC_DEFINE(SYNFIG_PROFILE_LAYERS,[1],[enable layer profiling])
137 AC_ARG_WITH(imagemagick,[
138 --without-imagemagick Disable support for ImageMagick],[
140 AC_CHECK_PROG([imagemagick_convert],[convert],[yes],[no])
141 with_imagemagick=$imagemagick_convert
143 if test $with_imagemagick = "no" ; then {
144 AM_CONDITIONAL(WITH_IMAGEMAGICK,false)
146 AM_CONDITIONAL(WITH_IMAGEMAGICK,true)
153 AC_ARG_WITH(magickpp,[
154 --without-magickpp Disable support for Magick++],[
158 if test $with_magickpp = "yes" ; then {
159 AC_CHECK_HEADER([Magick++.h],[
160 MAGICKPP_LIBS="-lMagick++"
161 AC_DEFINE(HAVE_MAGICKPP,[], [ Define if Magick++ library is available ] )
162 AC_SUBST(MAGICKPP_LIBS)
163 AM_CONDITIONAL(HAVE_LIBMAGICKPP,true)
164 AC_CHECK_LIB(Magick,OptimizeImageTransparency,[
165 AC_DEFINE(HAVE_MAGICK_OPTIMIZE,[], [ Define if Magick++ defines OptimizeImageTransparency() ] )
166 AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,true)
168 AC_MSG_RESULT([ *** OptimizeImageTransparency() not available - need ImageMagick 6.3 or newer ])
169 AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
173 AC_MSG_RESULT([ *** Magick++ Output target disabled])
175 AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
176 AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
179 AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
180 AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
187 --without-ffmpeg Disable support for FFMPEG],[
191 if test $with_ffmpeg = "no" ; then {
192 AM_CONDITIONAL(WITH_FFMPEG,false)
194 AM_CONDITIONAL(WITH_FFMPEG,true)
201 --with-vimage Enable support for apple vImage],[
205 if test $with_vimage = "no" ; then {
206 AM_CONDITIONAL(WITH_VIMAGE,false)
208 AM_CONDITIONAL(WITH_VIMAGE,true)
209 AC_DEFINE(HAS_VIMAGE,[1],[enable apple vImage])
210 VIMAGE_LIBS="-Wc,-framework -Wc,Accelerate"
217 --without-libdv Disable support for libdv],[
221 if test $with_libdv = "no" ; then {
222 AM_CONDITIONAL(WITH_LIBDV,false)
224 AM_CONDITIONAL(WITH_LIBDV,true)
230 # LIBAVCODEC CHECK--------------------
232 AC_ARG_WITH(libavcodec,[
233 --without-libavcodec disable support for libavcodec (Default=auto)],[
235 with_libavcodec="yes"
238 if test $with_libavcodec != "no" ; then {
239 PKG_CHECK_MODULES(LIBAVCODEC, [libavcodec libavformat],[],[echo no; with_libavcodec="no"])
241 if test $with_libavcodec = "yes" ; then {
242 AC_DEFINE(WITH_LIBAVCODEC,[],[enable libavcodec support])
243 AM_CONDITIONAL(WITH_LIBAVCODEC,true)
245 AM_CONDITIONAL(WITH_LIBAVCODEC,false)
249 if test $with_libavcodec = "yes" ; then {
250 AC_ARG_WITH(libswscale,
251 [AS_HELP_STRING([--without-libswscale],
252 [disable support for libswscale (Default=auto)])],
254 [with_libswscale="yes"]
257 if test $with_libswscale != "no" ; then {
258 AC_CHECK_LIB(swscale, sws_getContext, [], [echo no; with_libswscale="no"], [])
261 if test $with_libswscale = "yes" ; then {
262 LIBAVCODEC_LIBS="$LIBAVCODEC_LIBS -lswscale"
263 AM_CONDITIONAL(HAVE_LIBSWSCALE, true)
265 AM_CONDITIONAL(HAVE_LIBSWSCALE, false)
266 AC_CHECK_LIB(avcodec, img_convert,
267 [AC_MSG_RESULT([ *** Using deprecated function img_convert.])],
268 [AC_MSG_FAILURE([Neither libswscale nor function img_convert was found.])],
273 AM_CONDITIONAL(HAVE_LIBSWSCALE, false)
277 # FREETYPE2 CHECK--------------------
279 AC_ARG_WITH(freetype,[
280 --without-freetype disable support for freetype (Default=auto)],[
285 if test $with_freetype != "no" ; then {
286 PKG_CHECK_MODULES(FREETYPE, freetype2,[
289 PKG_CHECK_MODULES(FREETYPE, xft,[
297 if test $with_freetype = "no" ; then {
298 AM_CONDITIONAL(WITH_FREETYPE,false)
300 AM_CONDITIONAL(WITH_FREETYPE,true)
304 # FONTCONFIG CHECK--------------------
306 AC_ARG_WITH(fontconfig,[
307 --without-fontconfig disable support for fontconfig (Default=auto)],[
309 with_fontconfig="yes"
312 if test $with_fontconfig != "no" ; then {
313 PKG_CHECK_MODULES(FONTCONFIG, fontconfig,[
314 with_fontconfig="yes"
320 if test $with_fontconfig = "yes" ; then {
321 AC_DEFINE(WITH_FONTCONFIG,[],[enable fontconfig support])
322 AM_CONDITIONAL(WITH_FONTCONFIG,true)
324 AM_CONDITIONAL(WITH_FONTCONFIG,false)
328 # OPENEXR CHECK------------------------
329 AC_ARG_WITH(openexr,[
330 --without-openexr Disable support for ILM's OpenEXR],[
334 if test $with_openexr = "yes" ; then {
335 PKG_CHECK_MODULES(OPENEXR, OpenEXR,[
336 AC_DEFINE(HAVE_OPENEXR,[], [ Define if OpenEXR is available ] )
337 AM_CONDITIONAL(WITH_OPENEXR,true)
343 if test $with_openexr = "no" ; then {
344 AM_CONDITIONAL(WITH_OPENEXR,false)
345 use_openexr_half="no"
347 if test $use_openexr_half = yes ; then {
348 AC_MSG_RESULT([ ** Using OpenEXR Half.])
349 CONFIG_DEPS="$CONFIG_DEPS OpenEXR"
350 CONFIG_CFLAGS="$CONFIG_CFLAGS -DUSE_HALF_TYPE"
351 OPENEXR_HALF_LIBS="-lHalf"
360 # -- L I B R A R I E S ----------------------------------------
365 AM_GNU_GETTEXT([external])
366 # This is here so autoreconf will run autopoint
367 AM_GNU_GETTEXT_VERSION([0.14.4])
368 localedir="$datadir/locale"
370 PKG_CHECK_MODULES(ETL, [ETL >= 0.04.11],,[
371 AC_MSG_ERROR([ ** You need to install the ETL (version 0.04.11 or greater).])
373 CONFIG_DEPS="$CONFIG_DEPS ETL"
376 PKG_CHECK_MODULES(LIBXMLPP, libxml++-2.6,[
377 CONFIG_DEPS="$CONFIG_DEPS libxml++-2.6"
379 PKG_CHECK_MODULES(LIBXMLPP, libxml++-1.0,[
380 CONFIG_DEPS="$CONFIG_DEPS libxml++-1.0"
382 AC_MSG_ERROR([ ** You need to install libxml++, either verison 2.6 or 1.0.])
386 PKG_CHECK_MODULES(LIBSIGC, [sigc++-2.0],,[
387 AC_MSG_ERROR([ ** libsigc++-2.0 not found. It is required. You should really install it.])
388 dnl PKG_CHECK_MODULES(LIBSIGC, [sigc++-1.2],,[
389 dnl AC_MSG_ERROR([ ** At least libsigc++-1.2 is required.])
392 CONFIG_DEPS="$CONFIG_DEPS sigc++-2.0"
394 dnl PKG_CHECK_MODULES(GLIB, glib-2.0,[GLIB="yes"],[GLIB="no"])
404 AC_CHECK_LIB(png, png_write_row,[
406 AC_DEFINE(HAVE_LIBPNG,[], [ Define if PNG library is available ] )
408 AM_CONDITIONAL(HAVE_LIBPNG,true)
410 AC_CHECK_LIB(png12, png_write_row,[
412 AC_DEFINE(HAVE_LIBPNG,[])
414 AM_CONDITIONAL(HAVE_LIBPNG,true)
416 AC_MSG_RESULT([ *** PNG Output target disabled])
418 AM_CONDITIONAL(HAVE_LIBPNG,false)
419 ],[-lz -L${exec_prefix}/lib])
420 ],[-lz -L${exec_prefix}/lib])
422 AC_CHECK_LIB(mng, mng_initialize,[
424 AC_DEFINE(HAVE_LIBMNG,[], [ Define if MNG library is available ] )
426 AM_CONDITIONAL(HAVE_LIBMNG,true)
428 AC_MSG_RESULT([ *** MNG Output target disabled])
430 AM_CONDITIONAL(HAVE_LIBMNG,false)
431 ],[-lz -L${exec_prefix}/lib])
433 AC_CHECK_LIB(jpeg, jpeg_CreateCompress,[
435 AC_DEFINE(HAVE_LIBJPEG,[], [ Define if JPEG library is available ] )
437 AM_CONDITIONAL(HAVE_LIBJPEG,true)
439 AC_MSG_RESULT([ *** JPEG Output target disabled])
441 AM_CONDITIONAL(HAVE_LIBJPEG,false)
442 ],[-L${exec_prefix}/lib])
445 dnl AC_CHECK_HEADERS(jpeglib.h,[],[
446 dnl AC_MSG_RESULT([ *** JPEG Output target disabled])
448 dnl AM_CONDITIONAL(HAVE_LIBJPEG,false)
453 MODULE_DIR='${libdir}/synfig/modules'
454 moduledir=$libdir/synfig/modules
456 SYNFIGLIB_DIR=$libdir/synfig
457 AC_SUBST(SYNFIGLIB_DIR)
459 # Check for unordered_map or hash_map headers
460 AC_MSG_CHECKING([for unordered_map<int,int>::const_iterator])
463 [#include <tr1/unordered_map>]
465 [std::tr1::unordered_map<int,int>::const_iterator iter;]
468 AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::unordered_map],[The template name for unordered maps.])
469 AC_DEFINE([HASH_MAP_H],[<tr1/unordered_map>],[The header file to include for unordered maps.])
470 AC_DEFINE([HASH_MAP_NAMESPACE],[std::tr1],[The namespace for unordered maps.])
471 AC_DEFINE([FUNCTIONAL_H],[<tr1/functional>],[The header file for hash<T>.])
472 AC_DEFINE([FUNCTIONAL_HASH_ON_STRING],[1],[Define to 1 if hash<T> needs to use T=String rather than T=char* to hash strings.])
475 AC_CHECK_HEADERS([ext/hash_map],[
476 AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::hash_map],[The template name for unordered maps.])
477 AC_DEFINE([HASH_MAP_H],[<ext/hash_map>],[The header file to include for unordered maps.])
478 AC_DEFINE([HASH_MAP_NAMESPACE],[__gnu_cxx],[The namespace for unordered maps.])
479 AC_DEFINE([FUNCTIONAL_H],[<ext/functional>],[The header file for hash<T>.])
481 AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
485 # Check for unordered_set or hash_set headers
486 AC_MSG_CHECKING([for unordered_set<int,int>::const_iterator])
489 [#include <tr1/unordered_set>]
491 [std::tr1::unordered_set<int,int>::const_iterator iter;]
494 AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::unordered_set],[The template name for unordered sets.])
495 AC_DEFINE([HASH_SET_H],[<tr1/unordered_set>],[The header file to include for unordered sets.])
496 AC_DEFINE([HASH_SET_NAMESPACE],[std::tr1],[The namespace for unordered sets.])
499 AC_CHECK_HEADERS([ext/hash_set],[
500 AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::hash_set],[The template name for unordered sets.])
501 AC_DEFINE([HASH_SET_H],[<ext/hash_set>],[The header file to include for unordered sets.])
502 AC_DEFINE([HASH_SET_NAMESPACE],[__gnu_cxx],[The namespace for unordered sets.])
504 AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
512 AC_CHECK_HEADERS(signal.h termios.h sys/errno.h)
517 AM_CONDITIONAL(WIN32_PKG, true)
518 AM_CONDITIONAL(MACOSX_PKG, false)
521 AM_CONDITIONAL(WIN32_PKG, false)
522 AM_CONDITIONAL(MACOSX_PKG, true)
525 AM_CONDITIONAL(WIN32_PKG, false)
526 AM_CONDITIONAL(MACOSX_PKG, false)
532 # -- H E A D E R S --------------------------------------------
535 AC_CHECK_HEADERS([process.h io.h fcntl.h])
537 # -- T Y P E S & S T R U C T S --------------------------------
539 # -- F U N C T I O N S ----------------------------------------
541 dnl AC_CHECK_FUNCS([floor pow sqrt],[],[
542 dnl AC_MSG_ERROR([ ** Could not find proper math functions.])
545 AC_CHECK_FUNCS([fork])
546 AC_CHECK_FUNCS([kill])
547 AC_CHECK_FUNCS([pipe])
548 AC_CHECK_FUNCS([waitpid])
580 AC_CHECK_LIB([pthread],[pthread_create])
582 # -- O U T P U T ----------------------------------------------
589 AC_CONFIG_SUBDIRS(libltdl)
591 CONFIG_LIBS="-lsynfig"
592 CONFIG_CFLAGS="$CONFIG_CFLAGS"
593 AC_SUBST(CONFIG_LIBS)
594 AC_SUBST(CONFIG_CFLAGS)
595 AC_SUBST(CONFIG_DEPS)
598 SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
599 SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
601 CONFIG_CFLAGS="`echo $CONFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
602 SYNFIG_CFLAGS="`echo $SYNFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
603 SYNFIG_LIBS="`echo $SYNFIG_LIBS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
607 AC_SUBST(SYNFIG_LIBS)
608 AC_SUBST(SYNFIG_CFLAGS)
609 AC_SUBST(OPENEXR_HALF_LIBS)
611 AC_SUBST(API_VERSION)
613 synfigincludedir=$includedir/synfig-$API_VERSION
614 AC_SUBST(synfigincludedir)
616 AC_CONFIG_FILES([synfig-config
624 src/modules/lyr_freetype/Makefile
625 src/modules/lyr_std/Makefile
626 src/modules/mod_bmp/Makefile
627 src/modules/mod_dv/Makefile
628 src/modules/mod_ffmpeg/Makefile
629 src/modules/mod_filter/Makefile
630 src/modules/mod_geometry/Makefile
631 src/modules/mod_gif/Makefile
632 src/modules/mod_gradient/Makefile
633 src/modules/mod_imagemagick/Makefile
634 src/modules/mod_jpeg/Makefile
635 src/modules/mod_libavcodec/Makefile
636 src/modules/mod_magickpp/Makefile
637 src/modules/mod_mng/Makefile
638 src/modules/mod_noise/Makefile
639 src/modules/mod_openexr/Makefile
640 src/modules/mod_particle/Makefile
641 src/modules/mod_png/Makefile
642 src/modules/mod_ppm/Makefile
643 src/modules/mod_yuv420p/Makefile
645 src/modules/synfig_modules.cfg
646 examples/walk/Makefile
649 pkg-info/macosx/synfig-core.info
651 ## src/modules/trgt_mpg/Makefile
652 ## src/modules/mptr_mplayer/Makefile
655 # -- S U M M A R Y --------------------------------------------
658 $PACKAGE_NAME v.$VERSION
659 Configuration Summary
662 Install Prefix -------------------> $prefix
663 Module directory -----------------> $moduledir
664 Build Platform -------------------> $build
665 Host Platform --------------------> $host
666 Arc Profiling --------------------> $profile_arcs
667 GProf Profiling ------------------> $profiling
668 Debug Mode -----------------------> $debug ($debug_flags)
669 Optimization ---------------------> $optimization
670 PNG output target support --------> $TARGET_PNG
671 MNG output target support --------> $TARGET_MNG
672 JPEG output target support -------> $TARGET_JPEG
673 ETL_CFLAGS -----------------------> $ETL_CFLAGS
674 FreeType2 ------------------------> $with_freetype
675 fontconfig -----------------------> $with_fontconfig
676 libavcodec -----------------------> $with_libavcodec
677 libswscale -----------------------> $with_libswscale
678 vImage ---------------------------> $with_vimage
679 ImageMagick ----------------------> $with_imagemagick
680 Magick++ -------------------------> $with_magickpp
681 FFMPEG ---------------------------> $with_ffmpeg
682 libdv ----------------------------> $with_libdv
683 OpenEXR --------------------------> $with_openexr
684 Using OpenEXR's \"half\" type ------> $use_openexr_half
686 "'$'"CXX -----------------------------> '$CXX'
687 "'$'"CXXFLAGS ------------------------> '$CXXFLAGS'
688 "'$'"SYNFIG_LIBS ---------------------> '$SYNFIG_LIBS'
689 "'$'"LIBXMLPP_LIBS -------------------> '$LIBXMLPP_LIBS'
690 "'$'"ETL_LIBS ------------------------> '$ETL_LIBS'
691 "'$'"LIBSIGC_LIBS --------------------> '$LIBSIGC_LIBS'
692 "'$'"SYNFIG_CFLAGS -------------------> '$SYNFIG_CFLAGS'
693 "'$'"LIBADD_DL -----------------------> '$LIBADD_DL'