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 PKG_CHECK_MODULES(LIBSWSCALE, [libswscale], [], [echo no; with_libswscale="no"])
261 if test $with_libswscale = "yes" ; then {
262 AC_DEFINE(WITH_LIBSWSCALE, [], [enable libswscale support])
264 AC_CHECK_LIB(avcodec, img_convert,
265 [AC_MSG_RESULT([ *** Using deprecated function img_convert.])],
266 [AC_MSG_FAILURE([Neither libswscale nor function img_convert was found.])],
271 AM_CONDITIONAL(WITH_LIBSWSCALE, test "x$with_libswscale" = "xyes")
274 # FREETYPE2 CHECK--------------------
276 AC_ARG_WITH(freetype,[
277 --without-freetype disable support for freetype (Default=auto)],[
282 if test $with_freetype != "no" ; then {
283 PKG_CHECK_MODULES(FREETYPE, freetype2,[
286 PKG_CHECK_MODULES(FREETYPE, xft,[
294 if test $with_freetype = "no" ; then {
295 AM_CONDITIONAL(WITH_FREETYPE,false)
297 AM_CONDITIONAL(WITH_FREETYPE,true)
301 # FONTCONFIG CHECK--------------------
303 AC_ARG_WITH(fontconfig,[
304 --without-fontconfig disable support for fontconfig (Default=auto)],[
306 with_fontconfig="yes"
309 if test $with_fontconfig != "no" ; then {
310 PKG_CHECK_MODULES(FONTCONFIG, fontconfig,[
311 with_fontconfig="yes"
317 if test $with_fontconfig = "yes" ; then {
318 AC_DEFINE(WITH_FONTCONFIG,[],[enable fontconfig support])
319 AM_CONDITIONAL(WITH_FONTCONFIG,true)
321 AM_CONDITIONAL(WITH_FONTCONFIG,false)
325 # OPENEXR CHECK------------------------
326 AC_ARG_WITH(openexr,[
327 --without-openexr Disable support for ILM's OpenEXR],[
331 if test $with_openexr = "yes" ; then {
332 PKG_CHECK_MODULES(OPENEXR, OpenEXR,[
333 AC_DEFINE(HAVE_OPENEXR,[], [ Define if OpenEXR is available ] )
334 AM_CONDITIONAL(WITH_OPENEXR,true)
340 if test $with_openexr = "no" ; then {
341 AM_CONDITIONAL(WITH_OPENEXR,false)
342 use_openexr_half="no"
344 if test $use_openexr_half = yes ; then {
345 AC_MSG_RESULT([ ** Using OpenEXR Half.])
346 CONFIG_DEPS="$CONFIG_DEPS OpenEXR"
347 CONFIG_CFLAGS="$CONFIG_CFLAGS -DUSE_HALF_TYPE"
348 OPENEXR_HALF_LIBS="-lHalf"
357 # -- L I B R A R I E S ----------------------------------------
362 AM_GNU_GETTEXT([external])
363 # This is here so autoreconf will run autopoint
364 AM_GNU_GETTEXT_VERSION([0.14.4])
365 localedir="$datadir/locale"
367 PKG_CHECK_MODULES(ETL, [ETL >= 0.04.11],,[
368 AC_MSG_ERROR([ ** You need to install the ETL (version 0.04.11 or greater).])
370 CONFIG_DEPS="$CONFIG_DEPS ETL"
373 PKG_CHECK_MODULES(LIBXMLPP, libxml++-2.6,[
374 CONFIG_DEPS="$CONFIG_DEPS libxml++-2.6"
376 PKG_CHECK_MODULES(LIBXMLPP, libxml++-1.0,[
377 CONFIG_DEPS="$CONFIG_DEPS libxml++-1.0"
379 AC_MSG_ERROR([ ** You need to install libxml++, either verison 2.6 or 1.0.])
383 PKG_CHECK_MODULES(LIBSIGC, [sigc++-2.0],,[
384 AC_MSG_ERROR([ ** libsigc++-2.0 not found. It is required. You should really install it.])
385 dnl PKG_CHECK_MODULES(LIBSIGC, [sigc++-1.2],,[
386 dnl AC_MSG_ERROR([ ** At least libsigc++-1.2 is required.])
389 CONFIG_DEPS="$CONFIG_DEPS sigc++-2.0"
391 dnl PKG_CHECK_MODULES(GLIB, glib-2.0,[GLIB="yes"],[GLIB="no"])
401 AC_CHECK_LIB(png, png_write_row,[
403 AC_DEFINE(HAVE_LIBPNG,[], [ Define if PNG library is available ] )
405 AM_CONDITIONAL(HAVE_LIBPNG,true)
407 AC_CHECK_LIB(png12, png_write_row,[
409 AC_DEFINE(HAVE_LIBPNG,[])
411 AM_CONDITIONAL(HAVE_LIBPNG,true)
413 AC_MSG_RESULT([ *** PNG Output target disabled])
415 AM_CONDITIONAL(HAVE_LIBPNG,false)
416 ],[-lz -L${exec_prefix}/lib])
417 ],[-lz -L${exec_prefix}/lib])
419 AC_CHECK_LIB(mng, mng_initialize,[
421 AC_DEFINE(HAVE_LIBMNG,[], [ Define if MNG library is available ] )
423 AM_CONDITIONAL(HAVE_LIBMNG,true)
425 AC_MSG_RESULT([ *** MNG Output target disabled])
427 AM_CONDITIONAL(HAVE_LIBMNG,false)
428 ],[-lz -L${exec_prefix}/lib])
430 AC_CHECK_LIB(jpeg, jpeg_CreateCompress,[
432 AC_DEFINE(HAVE_LIBJPEG,[], [ Define if JPEG library is available ] )
434 AM_CONDITIONAL(HAVE_LIBJPEG,true)
436 AC_MSG_RESULT([ *** JPEG Output target disabled])
438 AM_CONDITIONAL(HAVE_LIBJPEG,false)
439 ],[-L${exec_prefix}/lib])
442 dnl AC_CHECK_HEADERS(jpeglib.h,[],[
443 dnl AC_MSG_RESULT([ *** JPEG Output target disabled])
445 dnl AM_CONDITIONAL(HAVE_LIBJPEG,false)
450 MODULE_DIR='${libdir}/synfig/modules'
451 moduledir=$libdir/synfig/modules
453 SYNFIGLIB_DIR=$libdir/synfig
454 AC_SUBST(SYNFIGLIB_DIR)
456 # Check for unordered_map or hash_map headers
457 AC_MSG_CHECKING([for unordered_map<int,int>::const_iterator])
460 [#include <tr1/unordered_map>]
462 [std::tr1::unordered_map<int,int>::const_iterator iter;]
465 AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::unordered_map],[The template name for unordered maps.])
466 AC_DEFINE([HASH_MAP_H],[<tr1/unordered_map>],[The header file to include for unordered maps.])
467 AC_DEFINE([HASH_MAP_NAMESPACE],[std::tr1],[The namespace for unordered maps.])
468 AC_DEFINE([FUNCTIONAL_H],[<tr1/functional>],[The header file for hash<T>.])
469 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.])
472 AC_CHECK_HEADERS([ext/hash_map],[
473 AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::hash_map],[The template name for unordered maps.])
474 AC_DEFINE([HASH_MAP_H],[<ext/hash_map>],[The header file to include for unordered maps.])
475 AC_DEFINE([HASH_MAP_NAMESPACE],[__gnu_cxx],[The namespace for unordered maps.])
476 AC_DEFINE([FUNCTIONAL_H],[<ext/functional>],[The header file for hash<T>.])
478 AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
482 # Check for unordered_set or hash_set headers
483 AC_MSG_CHECKING([for unordered_set<int,int>::const_iterator])
486 [#include <tr1/unordered_set>]
488 [std::tr1::unordered_set<int,int>::const_iterator iter;]
491 AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::unordered_set],[The template name for unordered sets.])
492 AC_DEFINE([HASH_SET_H],[<tr1/unordered_set>],[The header file to include for unordered sets.])
493 AC_DEFINE([HASH_SET_NAMESPACE],[std::tr1],[The namespace for unordered sets.])
496 AC_CHECK_HEADERS([ext/hash_set],[
497 AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::hash_set],[The template name for unordered sets.])
498 AC_DEFINE([HASH_SET_H],[<ext/hash_set>],[The header file to include for unordered sets.])
499 AC_DEFINE([HASH_SET_NAMESPACE],[__gnu_cxx],[The namespace for unordered sets.])
501 AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
509 AC_CHECK_HEADERS(signal.h termios.h sys/errno.h)
514 AM_CONDITIONAL(WIN32_PKG, true)
515 AM_CONDITIONAL(MACOSX_PKG, false)
518 AM_CONDITIONAL(WIN32_PKG, false)
519 AM_CONDITIONAL(MACOSX_PKG, true)
522 AM_CONDITIONAL(WIN32_PKG, false)
523 AM_CONDITIONAL(MACOSX_PKG, false)
529 # -- H E A D E R S --------------------------------------------
532 AC_CHECK_HEADERS([process.h io.h fcntl.h])
534 # -- T Y P E S & S T R U C T S --------------------------------
536 # -- F U N C T I O N S ----------------------------------------
538 dnl AC_CHECK_FUNCS([floor pow sqrt],[],[
539 dnl AC_MSG_ERROR([ ** Could not find proper math functions.])
542 AC_CHECK_FUNCS([fork])
543 AC_CHECK_FUNCS([kill])
544 AC_CHECK_FUNCS([pipe])
545 AC_CHECK_FUNCS([waitpid])
577 AC_CHECK_LIB([pthread],[pthread_create])
579 # -- O U T P U T ----------------------------------------------
586 AC_CONFIG_SUBDIRS(libltdl)
588 CONFIG_LIBS="-lsynfig"
589 CONFIG_CFLAGS="$CONFIG_CFLAGS"
590 AC_SUBST(CONFIG_LIBS)
591 AC_SUBST(CONFIG_CFLAGS)
592 AC_SUBST(CONFIG_DEPS)
595 SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
596 SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
598 CONFIG_CFLAGS="`echo $CONFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
599 SYNFIG_CFLAGS="`echo $SYNFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
600 SYNFIG_LIBS="`echo $SYNFIG_LIBS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
604 AC_SUBST(SYNFIG_LIBS)
605 AC_SUBST(SYNFIG_CFLAGS)
606 AC_SUBST(OPENEXR_HALF_LIBS)
608 AC_SUBST(API_VERSION)
610 synfigincludedir=$includedir/synfig-$API_VERSION
611 AC_SUBST(synfigincludedir)
613 AC_CONFIG_FILES([synfig-config
621 src/modules/lyr_freetype/Makefile
622 src/modules/lyr_std/Makefile
623 src/modules/mod_bmp/Makefile
624 src/modules/mod_dv/Makefile
625 src/modules/mod_ffmpeg/Makefile
626 src/modules/mod_filter/Makefile
627 src/modules/mod_geometry/Makefile
628 src/modules/mod_gif/Makefile
629 src/modules/mod_gradient/Makefile
630 src/modules/mod_imagemagick/Makefile
631 src/modules/mod_jpeg/Makefile
632 src/modules/mod_libavcodec/Makefile
633 src/modules/mod_magickpp/Makefile
634 src/modules/mod_mng/Makefile
635 src/modules/mod_noise/Makefile
636 src/modules/mod_openexr/Makefile
637 src/modules/mod_particle/Makefile
638 src/modules/mod_png/Makefile
639 src/modules/mod_ppm/Makefile
640 src/modules/mod_yuv420p/Makefile
642 src/modules/synfig_modules.cfg
643 examples/walk/Makefile
646 pkg-info/macosx/synfig-core.info
648 ## src/modules/trgt_mpg/Makefile
649 ## src/modules/mptr_mplayer/Makefile
652 # -- S U M M A R Y --------------------------------------------
655 $PACKAGE_NAME v.$VERSION
656 Configuration Summary
659 Install Prefix -------------------> $prefix
660 Module directory -----------------> $moduledir
661 Build Platform -------------------> $build
662 Host Platform --------------------> $host
663 Arc Profiling --------------------> $profile_arcs
664 GProf Profiling ------------------> $profiling
665 Debug Mode -----------------------> $debug ($debug_flags)
666 Optimization ---------------------> $optimization
667 PNG output target support --------> $TARGET_PNG
668 MNG output target support --------> $TARGET_MNG
669 JPEG output target support -------> $TARGET_JPEG
670 ETL_CFLAGS -----------------------> $ETL_CFLAGS
671 FreeType2 ------------------------> $with_freetype
672 fontconfig -----------------------> $with_fontconfig
673 libavcodec -----------------------> $with_libavcodec
674 libswscale -----------------------> $with_libswscale
675 vImage ---------------------------> $with_vimage
676 ImageMagick ----------------------> $with_imagemagick
677 Magick++ -------------------------> $with_magickpp
678 FFMPEG ---------------------------> $with_ffmpeg
679 libdv ----------------------------> $with_libdv
680 OpenEXR --------------------------> $with_openexr
681 Using OpenEXR's \"half\" type ------> $use_openexr_half
683 "'$'"CXX -----------------------------> '$CXX'
684 "'$'"CXXFLAGS ------------------------> '$CXXFLAGS'
685 "'$'"SYNFIG_LIBS ---------------------> '$SYNFIG_LIBS'
686 "'$'"LIBXMLPP_LIBS -------------------> '$LIBXMLPP_LIBS'
687 "'$'"ETL_LIBS ------------------------> '$ETL_LIBS'
688 "'$'"LIBSIGC_LIBS --------------------> '$LIBSIGC_LIBS'
689 "'$'"SYNFIG_CFLAGS -------------------> '$SYNFIG_CFLAGS'
690 "'$'"LIBADD_DL -----------------------> '$LIBADD_DL'