3 # -- I N I T --------------------------------------------------
5 AC_INIT([Synfig Core],[0.61.09],[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=https://synfig.svn.sourceforge.net/svnroot/synfig/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 {
251 # Need to check both the new and old locations for the avformat header
252 # Need to save flags, add avformat flags, check headers and restore flags
253 ac_save_CPPFLAGS="$CPPFLAGS"
254 ac_save_CFLAGS="$CFLAGS"
255 CPPFLAGS="${CPPFLAGS} ${LIBAVCODEC_CFLAGS}"
256 CFLAGS="${CFLAGS} ${LIBAVCODEC_CFLAGS}"
257 AC_CHECK_HEADERS(libavformat/avformat.h avformat.h ffmpeg/avformat.h)
258 CPPFLAGS="${ac_save_CPPFLAGS}"
259 CFLAGS="${ac_save_CFLAGS}"
261 AC_ARG_WITH(libswscale,
262 [AS_HELP_STRING([--without-libswscale],
263 [disable support for libswscale (Default=auto)])],
265 [with_libswscale="yes"]
268 if test $with_libswscale != "no" ; then {
269 PKG_CHECK_MODULES(LIBSWSCALE, [libswscale], [], [echo no; with_libswscale="no"])
272 if test $with_libswscale = "yes" ; then {
273 AC_DEFINE(WITH_LIBSWSCALE, [], [enable libswscale support])
275 # Need to check both the new and old locations for the swscale header
276 # Need to save flags, add swscale flags, check headers and restore flags
277 ac_save_CPPFLAGS="$CPPFLAGS"
278 ac_save_CFLAGS="$CFLAGS"
279 CPPFLAGS="${CPPFLAGS} ${LIBSWSCALE_CFLAGS}"
280 CFLAGS="${CFLAGS} ${LIBSWSCALE_CFLAGS}"
281 AC_CHECK_HEADERS(libswscale/swscale.h swscale.h ffmpeg/swscale.h)
282 CPPFLAGS="${ac_save_CPPFLAGS}"
283 CFLAGS="${ac_save_CFLAGS}"
285 AC_CHECK_LIB(avcodec, img_convert,
286 [AC_MSG_RESULT([ *** Using deprecated function img_convert.])],
287 [AC_MSG_FAILURE([Neither libswscale nor function img_convert was found.])],
292 AM_CONDITIONAL(WITH_LIBSWSCALE, test "x$with_libswscale" = "xyes")
295 # FREETYPE2 CHECK--------------------
297 AC_ARG_WITH(freetype,[
298 --without-freetype disable support for freetype (Default=auto)],[
303 if test $with_freetype != "no" ; then {
304 PKG_CHECK_MODULES(FREETYPE, freetype2,[
307 PKG_CHECK_MODULES(FREETYPE, xft,[
315 if test $with_freetype = "no" ; then {
316 AM_CONDITIONAL(WITH_FREETYPE,false)
318 AM_CONDITIONAL(WITH_FREETYPE,true)
322 # FONTCONFIG CHECK--------------------
324 AC_ARG_WITH(fontconfig,[
325 --without-fontconfig disable support for fontconfig (Default=auto)],[
327 with_fontconfig="yes"
330 if test $with_fontconfig != "no" ; then {
331 PKG_CHECK_MODULES(FONTCONFIG, fontconfig,[
332 with_fontconfig="yes"
338 if test $with_fontconfig = "yes" ; then {
339 AC_DEFINE(WITH_FONTCONFIG,[],[enable fontconfig support])
340 AM_CONDITIONAL(WITH_FONTCONFIG,true)
342 AM_CONDITIONAL(WITH_FONTCONFIG,false)
346 # OPENEXR CHECK------------------------
347 AC_ARG_WITH(openexr,[
348 --without-openexr Disable support for ILM's OpenEXR],[
352 if test $with_openexr = "yes" ; then {
353 PKG_CHECK_MODULES(OPENEXR, OpenEXR,[
354 AC_DEFINE(HAVE_OPENEXR,[], [ Define if OpenEXR is available ] )
355 AM_CONDITIONAL(WITH_OPENEXR,true)
361 if test $with_openexr = "no" ; then {
362 AM_CONDITIONAL(WITH_OPENEXR,false)
363 use_openexr_half="no"
365 if test $use_openexr_half = yes ; then {
366 AC_MSG_RESULT([ ** Using OpenEXR Half.])
367 CONFIG_DEPS="$CONFIG_DEPS OpenEXR"
368 CONFIG_CFLAGS="$CONFIG_CFLAGS -DUSE_HALF_TYPE"
369 OPENEXR_HALF_LIBS="-lHalf"
375 # JPEG CHECK (commandline switch) ------------------------
377 --without-jpeg Disable support for JPEG],[
381 if test $with_jpeg = "no" ; then {
382 AM_CONDITIONAL(WITH_JPEG,false)
384 AM_CONDITIONAL(WITH_JPEG,true)
391 # -- L I B R A R I E S ----------------------------------------
396 AM_GNU_GETTEXT([external])
397 # This is here so autoreconf will run autopoint
398 AM_GNU_GETTEXT_VERSION([0.14.4])
399 localedir="$datadir/locale"
401 PKG_CHECK_MODULES(ETL, [ETL >= 0.04.12],,[
402 AC_MSG_ERROR([ ** You need to install the ETL (version 0.04.12 or greater).])
404 CONFIG_DEPS="$CONFIG_DEPS ETL"
407 PKG_CHECK_MODULES(LIBXMLPP, libxml++-2.6,[
408 CONFIG_DEPS="$CONFIG_DEPS libxml++-2.6"
410 PKG_CHECK_MODULES(LIBXMLPP, libxml++-1.0,[
411 CONFIG_DEPS="$CONFIG_DEPS libxml++-1.0"
413 AC_MSG_ERROR([ ** You need to install libxml++, either verison 2.6 or 1.0.])
417 PKG_CHECK_MODULES(LIBSIGC, [sigc++-2.0],,[
418 AC_MSG_ERROR([ ** libsigc++-2.0 not found. It is required. You should really install it.])
419 dnl PKG_CHECK_MODULES(LIBSIGC, [sigc++-1.2],,[
420 dnl AC_MSG_ERROR([ ** At least libsigc++-1.2 is required.])
423 CONFIG_DEPS="$CONFIG_DEPS sigc++-2.0"
425 dnl PKG_CHECK_MODULES(GLIB, glib-2.0,[GLIB="yes"],[GLIB="no"])
434 AC_CHECK_LIB(png, png_write_row,[
436 AC_DEFINE(HAVE_LIBPNG,[], [ Define if PNG library is available ] )
438 AM_CONDITIONAL(HAVE_LIBPNG,true)
440 AC_CHECK_LIB(png12, png_write_row,[
442 AC_DEFINE(HAVE_LIBPNG,[])
444 AM_CONDITIONAL(HAVE_LIBPNG,true)
446 AC_MSG_RESULT([ *** PNG Output target disabled])
448 AM_CONDITIONAL(HAVE_LIBPNG,false)
449 ],[-lz -L${exec_prefix}/lib])
450 ],[-lz -L${exec_prefix}/lib])
452 AC_CHECK_LIB(mng, mng_initialize,[
454 AC_DEFINE(HAVE_LIBMNG,[], [ Define if MNG library is available ] )
456 AM_CONDITIONAL(HAVE_LIBMNG,true)
458 AC_MSG_RESULT([ *** MNG Output target disabled])
460 AM_CONDITIONAL(HAVE_LIBMNG,false)
461 ],[-lz -L${exec_prefix}/lib])
463 # check for JPEG availability
464 if test $with_jpeg = "yes" ; then {
465 AC_CHECK_LIB(jpeg, jpeg_CreateCompress,[
467 AC_DEFINE(HAVE_LIBJPEG,[], [ Define if JPEG library is available ] )
470 AM_CONDITIONAL(HAVE_LIBJPEG,true)
472 AC_MSG_RESULT([ *** JPEG Output target disabled])
474 AM_CONDITIONAL(HAVE_LIBJPEG,false)
479 AC_MSG_RESULT([ *** JPEG Output target disabled])
481 AM_CONDITIONAL(HAVE_LIBJPEG,false)
486 MODULE_DIR='${libdir}/synfig/modules'
487 moduledir=$libdir/synfig/modules
489 SYNFIGLIB_DIR=$libdir/synfig
490 AC_SUBST(SYNFIGLIB_DIR)
492 # Check for unordered_map or hash_map headers
493 AC_MSG_CHECKING([for unordered_map<int,int>::const_iterator])
496 [#include <tr1/unordered_map>]
498 [std::tr1::unordered_map<int,int>::const_iterator iter;]
501 AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::unordered_map],[The template name for unordered maps.])
502 AC_DEFINE([HASH_MAP_H],[<tr1/unordered_map>],[The header file to include for unordered maps.])
503 AC_DEFINE([HASH_MAP_NAMESPACE],[std::tr1],[The namespace for unordered maps.])
504 AC_DEFINE([FUNCTIONAL_H],[<tr1/functional>],[The header file for hash<T>.])
505 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.])
508 AC_CHECK_HEADERS([ext/hash_map],[
509 AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::hash_map],[The template name for unordered maps.])
510 AC_DEFINE([HASH_MAP_H],[<ext/hash_map>],[The header file to include for unordered maps.])
511 AC_DEFINE([HASH_MAP_NAMESPACE],[__gnu_cxx],[The namespace for unordered maps.])
512 AC_DEFINE([FUNCTIONAL_H],[<ext/functional>],[The header file for hash<T>.])
514 AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
518 # Check for unordered_set or hash_set headers
519 AC_MSG_CHECKING([for unordered_set<int,int>::const_iterator])
522 [#include <tr1/unordered_set>]
524 [std::tr1::unordered_set<int,int>::const_iterator iter;]
527 AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::unordered_set],[The template name for unordered sets.])
528 AC_DEFINE([HASH_SET_H],[<tr1/unordered_set>],[The header file to include for unordered sets.])
529 AC_DEFINE([HASH_SET_NAMESPACE],[std::tr1],[The namespace for unordered sets.])
532 AC_CHECK_HEADERS([ext/hash_set],[
533 AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::hash_set],[The template name for unordered sets.])
534 AC_DEFINE([HASH_SET_H],[<ext/hash_set>],[The header file to include for unordered sets.])
535 AC_DEFINE([HASH_SET_NAMESPACE],[__gnu_cxx],[The namespace for unordered sets.])
537 AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
545 AC_CHECK_HEADERS(signal.h termios.h sys/errno.h)
550 AM_CONDITIONAL(WIN32_PKG, true)
551 AM_CONDITIONAL(MACOSX_PKG, false)
554 AM_CONDITIONAL(WIN32_PKG, false)
555 AM_CONDITIONAL(MACOSX_PKG, true)
558 AM_CONDITIONAL(WIN32_PKG, false)
559 AM_CONDITIONAL(MACOSX_PKG, false)
565 # -- H E A D E R S --------------------------------------------
568 AC_CHECK_HEADERS([process.h io.h fcntl.h])
570 # -- T Y P E S & S T R U C T S --------------------------------
572 # -- F U N C T I O N S ----------------------------------------
574 dnl AC_CHECK_FUNCS([floor pow sqrt],[],[
575 dnl AC_MSG_ERROR([ ** Could not find proper math functions.])
578 AC_CHECK_FUNCS([fork])
579 AC_CHECK_FUNCS([kill])
580 AC_CHECK_FUNCS([pipe])
581 AC_CHECK_FUNCS([waitpid])
613 AC_CHECK_LIB([pthread],[pthread_create])
615 # -- O U T P U T ----------------------------------------------
622 # this line is required for libtool 1.5.26 but must not be present for libtool 2.2.4...
623 AC_CONFIG_SUBDIRS(libltdl)
625 CONFIG_LIBS="-lsynfig"
626 CONFIG_CFLAGS="$CONFIG_CFLAGS"
627 AC_SUBST(CONFIG_LIBS)
628 AC_SUBST(CONFIG_CFLAGS)
629 AC_SUBST(CONFIG_DEPS)
632 SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
633 SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
635 CONFIG_CFLAGS="`echo $CONFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
636 SYNFIG_CFLAGS="`echo $SYNFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
637 SYNFIG_LIBS="`echo $SYNFIG_LIBS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
641 AC_SUBST(SYNFIG_LIBS)
642 AC_SUBST(SYNFIG_CFLAGS)
643 AC_SUBST(OPENEXR_HALF_LIBS)
645 AC_SUBST(API_VERSION)
647 synfigincludedir=$includedir/synfig-$API_VERSION
648 AC_SUBST(synfigincludedir)
650 AC_CONFIG_FILES([synfig-config
658 src/modules/lyr_freetype/Makefile
659 src/modules/lyr_std/Makefile
660 src/modules/mod_bmp/Makefile
661 src/modules/mod_dv/Makefile
662 src/modules/mod_ffmpeg/Makefile
663 src/modules/mod_filter/Makefile
664 src/modules/mod_geometry/Makefile
665 src/modules/mod_gif/Makefile
666 src/modules/mod_gradient/Makefile
667 src/modules/mod_imagemagick/Makefile
668 src/modules/mod_jpeg/Makefile
669 src/modules/mod_libavcodec/Makefile
670 src/modules/mod_magickpp/Makefile
671 src/modules/mod_mng/Makefile
672 src/modules/mod_noise/Makefile
673 src/modules/mod_openexr/Makefile
674 src/modules/mod_particle/Makefile
675 src/modules/mod_png/Makefile
676 src/modules/mod_ppm/Makefile
677 src/modules/mod_yuv420p/Makefile
679 src/modules/synfig_modules.cfg
680 examples/walk/Makefile
683 pkg-info/macosx/synfig-core.info
685 ## src/modules/trgt_mpg/Makefile
686 ## src/modules/mptr_mplayer/Makefile
689 # -- S U M M A R Y --------------------------------------------
692 $PACKAGE_NAME v.$VERSION
693 Configuration Summary
696 Install Prefix -------------------> $prefix
697 Module directory -----------------> $moduledir
698 Build Platform -------------------> $build
699 Host Platform --------------------> $host
700 Arc Profiling --------------------> $profile_arcs
701 GProf Profiling ------------------> $profiling
702 Debug Mode -----------------------> $debug ($debug_flags)
703 Optimization ---------------------> $optimization
704 PNG output target support --------> $TARGET_PNG
705 MNG output target support --------> $TARGET_MNG
706 JPEG output target support -------> $TARGET_JPEG
707 ETL_CFLAGS -----------------------> $ETL_CFLAGS
708 FreeType2 ------------------------> $with_freetype
709 fontconfig -----------------------> $with_fontconfig
710 libavcodec -----------------------> $with_libavcodec
711 libswscale -----------------------> $with_libswscale
712 vImage ---------------------------> $with_vimage
713 ImageMagick ----------------------> $with_imagemagick
714 Magick++ -------------------------> $with_magickpp
715 FFMPEG ---------------------------> $with_ffmpeg
716 libdv ----------------------------> $with_libdv
717 OpenEXR --------------------------> $with_openexr
718 Using OpenEXR's \"half\" type ------> $use_openexr_half
720 "'$'"CXX -----------------------------> '$CXX'
721 "'$'"CXXFLAGS ------------------------> '$CXXFLAGS'
722 "'$'"SYNFIG_LIBS ---------------------> '$SYNFIG_LIBS'
723 "'$'"LIBXMLPP_LIBS -------------------> '$LIBXMLPP_LIBS'
724 "'$'"ETL_LIBS ------------------------> '$ETL_LIBS'
725 "'$'"LIBSIGC_LIBS --------------------> '$LIBSIGC_LIBS'
726 "'$'"SYNFIG_CFLAGS -------------------> '$SYNFIG_CFLAGS'
727 "'$'"LIBADD_DL -----------------------> '$LIBADD_DL'