Strip license key and software expiry stuff now that Synfig is free software and...
[synfig.git] / synfig-core / trunk / configure.ac
1 # $Id$
2
3 # -- I N I T --------------------------------------------------
4
5 AC_INIT([Synfig Core],[0.61.07],[http://sourceforge.net/tracker/?group_id=144022&atid=757416],[synfig])
6 AC_REVISION
7
8 AC_CONFIG_AUX_DIR(config)
9 AM_CONFIG_HEADER(config.h)
10 AC_CANONICAL_HOST
11 dnl AC_CANONICAL_TARGET
12
13 AM_INIT_AUTOMAKE([nostdinc])
14 AM_MAINTAINER_MODE
15
16 AC_LIBLTDL_CONVENIENCE
17 AC_SUBST(INCLTDL)
18 AC_SUBST(LIBLTDL)
19
20 API_VERSION=0.0
21
22
23 AC_DEFINE(LT_SCOPE,[extern],[LibLTDL is linked staticly])       
24
25
26
27
28 # -- V A R I A B L E S ----------------------------------------
29
30 SVN_REPOSITORY=http://svn.voria.com/code/synfig-core
31 AC_SUBST(SVN_REPOSITORY)
32
33 # -- P R O G R A M S ------------------------------------------
34
35 AC_PROG_CC
36 AC_GNU_SOURCE
37 AC_PROG_CXX
38 AC_PROG_CPP
39 AC_PROG_CXXCPP
40 AC_PROG_INSTALL
41
42 AC_LANG_CPLUSPLUS
43
44
45 # -- A R G U M E N T S ----------------------------------------
46
47
48 AC_ARG_DEBUG
49 AC_ARG_OPTIMIZATION
50 AC_ARG_WARNINGS
51 AC_ARG_PROFILING
52 AC_ARG_PROFILE_ARCS
53 AC_ARG_BRANCH_PROBABILITIES
54
55 AC_ARG_ENABLE(g5opt,[
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"
61 ],
62 [
63         true
64 ])
65
66 #MINGW_FLAGS="-mno-cygwin"
67
68 AC_WIN32_QUIRKS
69
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;
77 #       ";
78 #} ; fi
79
80 AC_LIBTOOL_WIN32_DLL
81 AC_LIBTOOL_DLOPEN
82 AC_DISABLE_STATIC
83 AC_ENABLE_SHARED
84 AC_PROG_LIBTOOL
85 AC_SUBST(LIBTOOL_DEPS)
86 AC_LIBTOOL_PATCH
87
88 #if [[ "$LIBTOOL_PATCH_SED""x" != "x" ]] ; then {
89 #       printf "Patching libtool... "
90 #       cat libtool | sed "$LIBTOOL_PATCH_SED" > libtool2
91 #       rm libtool
92 #       mv libtool2 libtool
93 #       chmod +x libtool
94 #       AC_MSG_RESULT([patched])
95 #} fi ;
96
97
98 dnl
99 dnl dynamic linker
100 dnl
101 AC_CHECK_LIB(c, dlopen,
102         DYNAMIC_LD_LIBS="",
103         AC_CHECK_LIB(
104                 dl,
105                 dlopen,
106         DYNAMIC_LD_LIBS="-ldl",
107             DYNAMIC_LD_LIBS=""
108         )
109 )
110
111 AC_SUBST(DYNAMIC_LD_LIBS)
112
113 AC_ARG_ENABLE(half,[
114   --enable-half           Use OpenEXR's "half" type for color],[
115         use_openexr_half=$enableval
116 ],
117 [
118         use_openexr_half="no"
119 ])
120
121
122
123 AC_ARG_ENABLE(layer-profiling,[
124   --enable-layer-profiling       Enable layer profiling],[
125         use_layerprofiling=$enableval
126 ],
127 [
128         use_layerprofiling="no"
129 ])
130 if test $use_layerprofiling = "yes" ; then {
131         AC_DEFINE(SYNFIG_PROFILE_LAYERS,[1],[enable layer profiling])   
132 } ; fi
133
134
135
136
137 AC_ARG_WITH(imagemagick,[
138   --without-imagemagick   Disable support for ImageMagick],[
139 ],[
140     AC_CHECK_PROG([imagemagick_convert],[convert],[yes],[no])
141     with_imagemagick=$imagemagick_convert
142 ])
143 if test $with_imagemagick = "no" ; then {
144         AM_CONDITIONAL(WITH_IMAGEMAGICK,false)
145 } else {
146         AM_CONDITIONAL(WITH_IMAGEMAGICK,true)
147 } ; fi
148
149
150
151
152
153 AC_ARG_WITH(magickpp,[
154   --without-magickpp        Disable support for Magick++],[
155 ],[
156         with_magickpp="yes"
157 ])
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)
167         ],[
168                 AC_MSG_RESULT([ *** OptimizeImageTransparency() not available - need ImageMagick 6.3 or newer ])
169                 AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
170         ])
171   ],[
172         with_magickpp="no"
173         AC_MSG_RESULT([ *** Magick++ Output target disabled])
174         TARGET_MAGICKPP="no"
175         AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
176         AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
177   ])
178 } else {
179         AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
180         AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
181 } ; fi
182
183
184
185
186 AC_ARG_WITH(ffmpeg,[
187   --without-ffmpeg        Disable support for FFMPEG],[
188 ],[
189         with_ffmpeg="yes"
190 ])
191 if test $with_ffmpeg = "no" ; then {
192         AM_CONDITIONAL(WITH_FFMPEG,false)
193 } else {
194         AM_CONDITIONAL(WITH_FFMPEG,true)
195 } ; fi
196
197
198
199
200 AC_ARG_WITH(vimage,[
201   --with-vimage        Enable support for apple vImage],[
202 ],[
203         with_vimage="no"
204 ])
205 if test $with_vimage = "no" ; then {
206         AM_CONDITIONAL(WITH_VIMAGE,false)
207 } else {
208         AM_CONDITIONAL(WITH_VIMAGE,true)
209         AC_DEFINE(HAS_VIMAGE,[1],[enable apple vImage])
210         VIMAGE_LIBS="-Wc,-framework -Wc,Accelerate"
211
212 } ; fi
213
214
215
216 AC_ARG_WITH(libdv,[
217   --without-libdv         Disable support for libdv],[
218 ],[
219         with_libdv="yes"
220 ])
221 if test $with_libdv = "no" ; then {
222         AM_CONDITIONAL(WITH_LIBDV,false)
223 } else {
224         AM_CONDITIONAL(WITH_LIBDV,true)
225 } ; fi
226
227
228
229
230 # LIBAVCODEC CHECK--------------------
231
232 AC_ARG_WITH(libavcodec,[
233   --without-libavcodec         disable support for libavcodec (Default=auto)],[
234 ],[
235         with_libavcodec="yes"
236 ])
237
238 if test $with_libavcodec != "no" ; then {
239         PKG_CHECK_MODULES(LIBAVCODEC, [libavcodec libavformat],[],[echo no; with_libavcodec="no"])
240 } ; fi
241 if test $with_libavcodec = "yes" ; then {
242         AC_DEFINE(WITH_LIBAVCODEC,[],[enable libavcodec support])
243         AM_CONDITIONAL(WITH_LIBAVCODEC,true)
244 } else {
245         AM_CONDITIONAL(WITH_LIBAVCODEC,false)
246 } ; fi
247
248
249
250 # FREETYPE2 CHECK--------------------
251
252 AC_ARG_WITH(freetype,[
253   --without-freetype         disable support for freetype (Default=auto)],[
254 ],[
255         with_freetype="yes"
256 ])
257
258 if test $with_freetype != "no" ; then {
259         PKG_CHECK_MODULES(FREETYPE, freetype2,[
260                 with_freetype="yes"
261         ],[
262                 PKG_CHECK_MODULES(FREETYPE, xft,[
263                         with_freetype="yes"
264                 ],[
265                         with_freetype="no"
266                 ])
267         ])
268 } ; fi
269
270 if test $with_freetype = "no" ; then {
271         AM_CONDITIONAL(WITH_FREETYPE,false)
272 } else {
273         AM_CONDITIONAL(WITH_FREETYPE,true)
274 } ; fi
275
276
277 # FONTCONFIG CHECK--------------------
278
279 AC_ARG_WITH(fontconfig,[
280   --without-fontconfig         disable support for fontconfig (Default=auto)],[
281 ],[
282         with_fontconfig="yes"
283 ])
284
285 if test $with_fontconfig != "no" ; then {
286         PKG_CHECK_MODULES(FONTCONFIG, fontconfig,[
287                 with_fontconfig="yes"
288         ],[
289                 with_fontconfig="no"
290         ])
291 } ; fi
292
293 if test $with_fontconfig = "yes" ; then {
294         AC_DEFINE(WITH_FONTCONFIG,[],[enable fontconfig support])
295         AM_CONDITIONAL(WITH_FONTCONFIG,true)
296 } else {
297         AM_CONDITIONAL(WITH_FONTCONFIG,false)
298 } ; fi
299
300
301 # OPENEXR CHECK------------------------
302 AC_ARG_WITH(openexr,[
303   --without-openexr        Disable support for ILM's OpenEXR],[
304 ],[
305         with_openexr="yes"
306 ])
307 if test $with_openexr = "yes" ; then {
308         PKG_CHECK_MODULES(OPENEXR, OpenEXR,[
309                 CONFIG_DEPS="$CONFIG_DEPS OpenEXR"
310         
311                 AC_DEFINE(HAVE_OPENEXR,[], [ Define if OpenEXR is available ] )
312                 AM_CONDITIONAL(WITH_OPENEXR,true)
313         ],
314         [
315                 with_openexr="no"
316         ])
317 } ; fi
318 if test $with_openexr = "no" ; then {
319         AM_CONDITIONAL(WITH_OPENEXR,false)
320         use_openexr_half="no"
321 } ; fi
322 if test $use_openexr_half = yes ; then {
323         AC_MSG_RESULT([ ** Using OpenEXR Half.])
324         CONFIG_CFLAGS="$CONFIG_CFLAGS -DUSE_HALF_TYPE"
325         OPENEXR_HALF_LIBS="-lHalf"
326 } else {
327         OPENEXR_HALF_LIBS=""
328 } ; fi
329
330
331
332
333
334 # -- L I B R A R I E S ----------------------------------------
335
336 AC_LIB_LTDL
337
338 ALL_LINGUAS=""
339 AM_GNU_GETTEXT([external])
340 # This is here so autoreconf will run autopoint
341 AM_GNU_GETTEXT_VERSION([0.13])
342 localedir="$datadir/locale"
343
344 PKG_CHECK_MODULES(ETL, [ETL >= 0.04.10],,[
345         AC_MSG_ERROR([ ** You need to install the ETL (version 0.04.10 or greater).])
346 ])
347 CONFIG_DEPS="$CONFIG_DEPS ETL"
348
349
350 PKG_CHECK_MODULES(LIBXMLPP, libxml++-2.6,[
351         CONFIG_DEPS="$CONFIG_DEPS libxml++-2.6"
352 ],[
353         PKG_CHECK_MODULES(LIBXMLPP, libxml++-1.0,[
354                 CONFIG_DEPS="$CONFIG_DEPS libxml++-1.0"
355         ],[
356                 AC_MSG_ERROR([ ** You need to install libxml++, either verison 2.6 or 1.0.])
357         ])
358 ])
359
360 PKG_CHECK_MODULES(LIBSIGC, [sigc++-2.0],,[
361         AC_MSG_ERROR([ ** libsigc++-2.0 not found. It is required. You should really install it.])
362 dnl     PKG_CHECK_MODULES(LIBSIGC, [sigc++-1.2],,[
363 dnl             AC_MSG_ERROR([ ** At least libsigc++-1.2 is required.])
364 dnl     ])
365 ])
366 CONFIG_DEPS="$CONFIG_DEPS sigc++-2.0"
367
368 dnl PKG_CHECK_MODULES(GLIB, glib-2.0,[GLIB="yes"],[GLIB="no"])
369
370
371
372
373
374 TARGET_TIF="yes"
375 TARGET_PNG="yes"
376 TARGET_MNG="yes"
377 TARGET_JPEG="yes"
378
379 if test "$TARGET_TIF" != "disabled" ; then
380 AC_CHECK_LIB(tiff, TIFFClose,[
381         TIF_LIBS="-ltiff"
382         AC_DEFINE(HAVE_LIBTIFF,[], [ Define if TIFF library is available ] )
383         AC_SUBST(TIF_LIBS)
384         AM_CONDITIONAL(HAVE_LIBTIFF,true)
385 ],[
386         AC_MSG_RESULT([ *** TIFF Output target disabled])
387         TARGET_TIF="no"
388         AM_CONDITIONAL(HAVE_LIBTIFF,false)
389 ])
390 fi
391
392 AC_CHECK_LIB(png, png_write_row,[
393         PNG_LIBS="-lpng"
394         AC_DEFINE(HAVE_LIBPNG,[], [ Define if PNG library is available ] )
395         AC_SUBST(PNG_LIBS)
396         AM_CONDITIONAL(HAVE_LIBPNG,true)
397 ],[
398         AC_CHECK_LIB(png12, png_write_row,[
399         PNG_LIBS="-lpng12"
400         AC_DEFINE(HAVE_LIBPNG,[])
401         AC_SUBST(PNG_LIBS)
402         AM_CONDITIONAL(HAVE_LIBPNG,true)
403         ],[
404                 AC_MSG_RESULT([ *** PNG Output target disabled])
405                 TARGET_PNG="no"
406                 AM_CONDITIONAL(HAVE_LIBPNG,false)
407         ],[-lz -L${exec_prefix}/lib])
408 ],[-lz -L${exec_prefix}/lib])
409
410 AC_CHECK_LIB(mng, mng_initialize,[
411         MNG_LIBS="-lmng -lz"
412         AC_DEFINE(HAVE_LIBMNG,[], [ Define if MNG library is available ] )
413         AC_SUBST(MNG_LIBS)
414         AM_CONDITIONAL(HAVE_LIBMNG,true)
415 ],[
416         AC_MSG_RESULT([ *** MNG Output target disabled])
417         TARGET_MNG="no"
418         AM_CONDITIONAL(HAVE_LIBMNG,false)
419 ],[-lz -L${exec_prefix}/lib])
420
421 AC_CHECK_LIB(jpeg, main,[
422         JPEG_LIBS="-ljpeg"
423         AC_DEFINE(HAVE_LIBJPEG,[], [ Define if JPEG library is available ] )
424         AC_SUBST(JPEG_LIBS)
425         AM_CONDITIONAL(HAVE_LIBJPEG,true)
426 ],[
427         AC_MSG_RESULT([ *** JPEG Output target disabled])
428         TARGET_JPEG="no"
429         AM_CONDITIONAL(HAVE_LIBJPEG,false)
430 ],[-L${exec_prefix}/lib])
431
432
433 dnl AC_CHECK_HEADERS(jpeglib.h,[],[
434 dnl     AC_MSG_RESULT([ *** JPEG Output target disabled])
435 dnl     TARGET_JPEG="no"
436 dnl     AM_CONDITIONAL(HAVE_LIBJPEG,false)
437 dnl ])
438
439
440
441 MODULE_DIR='${libdir}/synfig/modules'
442 moduledir=$libdir/synfig/modules
443 AC_SUBST(MODULE_DIR)
444 SYNFIGLIB_DIR=$libdir/synfig
445 AC_SUBST(SYNFIGLIB_DIR)
446
447
448
449
450
451 CXXFLAGS="$CXXFLAGS -fpermissive"
452
453 AC_CHECK_HEADERS(signal.h termios.h sys/errno.h)
454
455
456 case "$host" in
457         *mingw* | *cygwin*)
458                 AM_CONDITIONAL(WIN32_PKG, true)
459                 AM_CONDITIONAL(MACOSX_PKG, false)
460         ;;
461         *darwin*)
462                 AM_CONDITIONAL(WIN32_PKG, false)
463                 AM_CONDITIONAL(MACOSX_PKG, true)
464         ;;
465         *)
466                 AM_CONDITIONAL(WIN32_PKG, false)
467                 AM_CONDITIONAL(MACOSX_PKG, false)
468         ;;
469 esac
470                 
471                 
472
473 # -- H E A D E R S --------------------------------------------
474
475 # -- T Y P E S & S T R U C T S --------------------------------
476
477 # -- F U N C T I O N S ----------------------------------------
478
479 dnl AC_CHECK_FUNCS([floor pow sqrt],[],[
480 dnl     AC_MSG_ERROR([ ** Could not find proper math functions.])
481 dnl ])
482
483 AC_CHECK_FUNCS([fork])
484 AC_CHECK_FUNCS([kill])
485 AC_CHECK_FUNCS([pipe])
486
487 AC_CHECK_FUNCS(
488         [isnan],
489         [],
490         [
491                 AC_CHECK_FUNCS(
492                         [_isnan]
493                 )
494         ]
495 )
496
497 AC_CHECK_FUNCS(
498         [isnanf],
499         [],
500         [
501                 AC_CHECK_FUNCS(
502                         [_isnanf]
503                 )
504         ]
505 )
506
507 AC_CHECK_FUNCS(
508         [floorl],
509         [],
510         [
511                 AC_CHECK_FUNCS(
512                         [_floorl]
513                 )
514         ]
515 )
516
517 AC_CHECK_LIB([pthread],[pthread_create])
518
519 # -- O U T P U T ----------------------------------------------
520
521 AC_SUBST(CFLAGS)
522 AC_SUBST(CXXFLAGS)
523 AC_SUBST(CPPFLAGS)
524 AC_SUBST(LDFLAGS)
525
526 AC_CONFIG_SUBDIRS(libltdl)
527
528 CONFIG_LIBS="-lsynfig"
529 CONFIG_CFLAGS="$CONFIG_CFLAGS"
530 AC_SUBST(CONFIG_LIBS)
531 AC_SUBST(CONFIG_CFLAGS)
532 AC_SUBST(CONFIG_DEPS)
533 AC_SUBST(ETL_CFLAGS)
534
535 SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
536 SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
537
538 CONFIG_CFLAGS="`echo $CONFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
539 SYNFIG_CFLAGS="`echo $SYNFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
540 SYNFIG_LIBS="`echo $SYNFIG_LIBS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
541
542 AC_SUBST(LIBADD_DL)
543
544 AC_SUBST(SYNFIG_LIBS)
545 AC_SUBST(SYNFIG_CFLAGS)
546 AC_SUBST(OPENEXR_HALF_LIBS)
547
548 AC_SUBST(API_VERSION)
549
550 synfigincludedir=$includedir/synfig-$API_VERSION
551 AC_SUBST(synfigincludedir)
552
553 AC_OUTPUT(
554 synfig-config
555 synfig.pc
556 synfig.spec
557 doxygen.cfg
558 Makefile
559 po/Makefile.in
560 src/Makefile
561 src/synfig/Makefile
562 src/modules/Makefile
563 src/modules/lyr_freetype/Makefile
564 src/modules/lyr_std/Makefile
565 src/modules/mod_bmp/Makefile
566 src/modules/mod_dv/Makefile
567 src/modules/mod_ffmpeg/Makefile
568 src/modules/mod_filter/Makefile
569 src/modules/mod_geometry/Makefile
570 src/modules/mod_gif/Makefile
571 src/modules/mod_gradient/Makefile
572 src/modules/mod_imagemagick/Makefile
573 src/modules/mod_jpeg/Makefile
574 src/modules/mod_libavcodec/Makefile
575 src/modules/mod_magickpp/Makefile
576 src/modules/mod_mng/Makefile
577 src/modules/mod_noise/Makefile
578 src/modules/mod_openexr/Makefile
579 src/modules/mod_particle/Makefile
580 src/modules/mod_png/Makefile
581 src/modules/mod_ppm/Makefile
582 src/modules/mod_yuv420p/Makefile
583 src/tool/Makefile
584 src/modules/synfig_modules.cfg
585 examples/walk/Makefile
586 examples/Makefile
587 win32inst.nsi
588 pkg-info/macosx/synfig-core.info
589 dnl src/modules/trgt_mpg/Makefile
590 dnl src/modules/mptr_mplayer/Makefile
591 )
592
593 # -- S U M M A R Y --------------------------------------------
594
595 echo "
596 $PACKAGE_NAME v.$VERSION
597 Configuration Summary
598 - - - - - -
599
600 Install Prefix -------------------> $prefix
601 Module directory -----------------> $moduledir
602 Build Platform -------------------> $build
603 Host Platform --------------------> $host
604 Arc Profiling --------------------> $profile_arcs
605 GProf Profiling ------------------> $profiling
606 Debug Mode -----------------------> $debug ($debug_flags)
607 Optimization ---------------------> $optimization
608 PNG output target support --------> $TARGET_PNG
609 MNG output target support --------> $TARGET_MNG
610 TIFF output target support -------> $TARGET_TIF
611 JPEG output target support -------> $TARGET_JPEG
612 ETL_CFLAGS -----------------------> $ETL_CFLAGS
613 FreeType2 ------------------------> $with_freetype
614 fontconfig -----------------------> $with_fontconfig
615 libavcodec -----------------------> $with_libavcodec
616 vImage ---------------------------> $with_vimage
617 ImageMagick ----------------------> $with_imagemagick
618 Magick++ -------------------------> $with_magickpp
619 FFMPEG ---------------------------> $with_ffmpeg
620 libdv ----------------------------> $with_libdv
621 OpenEXR --------------------------> $with_openexr
622 Using OpenEXR's \"half\" type ------> $use_openexr_half
623
624 "'$'"CXX -----------------------------> '$CXX'
625 "'$'"CXXFLAGS ------------------------> '$CXXFLAGS'
626 "'$'"SYNFIG_LIBS ---------------------> '$SYNFIG_LIBS'
627 "'$'"LIBXMLPP_LIBS -------------------> '$LIBXMLPP_LIBS'
628 "'$'"ETL_LIBS ------------------------> '$ETL_LIBS'
629 "'$'"LIBSIGC_LIBS --------------------> '$LIBSIGC_LIBS'
630 "'$'"SYNFIG_CFLAGS -------------------> '$SYNFIG_CFLAGS'
631 "'$'"LIBADD_DL -----------------------> '$LIBADD_DL'
632 "