Revision 1494 introduced a bug in the bline tool. Dragging a tangent while drawing...
[synfig.git] / synfig-studio / trunk / configure.ac
1 # $Id$
2
3 # -- I N I T --------------------------------------------------
4
5 AC_INIT([Synfig Studio],[0.61.07],[http://synfig.org/Bugs],[synfigstudio])
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
14 AM_MAINTAINER_MODE
15
16 API_VERSION=0.0
17
18 # -- V A R I A B L E S ----------------------------------------
19
20 SVN_REPOSITORY=http://svn.voria.com/code/synfig-studio
21
22 # -- P R O G R A M S ------------------------------------------
23
24 AC_PROG_CC
25 AC_GNU_SOURCE
26 AC_PROG_CXX
27 AC_PROG_CPP
28 AC_PROG_CXXCPP
29 AC_PROG_INSTALL
30
31 AC_LANG_CPLUSPLUS
32
33
34 AC_ARG_DEBUG
35 AC_ARG_OPTIMIZATION
36 AC_ARG_WARNINGS
37 AC_ARG_PROFILE_ARCS
38 AC_ARG_BRANCH_PROBABILITIES
39 AC_ARG_PROFILING
40
41 AC_ARG_ENABLE(g5opt,[
42   --enable-g5opt           enable optimizations specific to G5 proc],[
43     G5OPTFLAGS="-mpowerpc-gpopt -mno-multiple -mno-update -mcpu=970  -mtune=970 -falign-loops=16 -falign-functions=16"
44 ],
45 [
46     G5OPTFLAGS=
47 ])
48
49 AC_WIN32_QUIRKS
50
51 AC_LIBTOOL_WIN32_DLL
52 AC_LIBTOOL_DLOPEN
53 AC_DISABLE_STATIC
54 AC_ENABLE_SHARED
55 AC_PROG_LIBTOOL
56 AC_SUBST(LIBTOOL_DEPS)
57 AC_LIBTOOL_PATCH
58
59 ## FIXME: add i18n for .desktop and other non-compiled files
60 ## AM_GLIB_GNU_GETTEXT([external])
61 ## AC_PROG_INTLTOOL(0.11)
62 ALL_LINGUAS="fr es"
63 AM_GNU_GETTEXT([external])
64 # This is here so autoreconf will run autopoint
65 AM_GNU_GETTEXT_VERSION([0.14.4])
66
67 case "$host" in
68         *mingw* | *cygwin*)
69                 AM_CONDITIONAL(WIN32_PKG, true)
70                 AM_CONDITIONAL(MACOSX_PKG, false)
71         ;;
72         *darwin*)
73                 AM_CONDITIONAL(WIN32_PKG, false)
74                 AM_CONDITIONAL(MACOSX_PKG, true)
75         ;;
76         *)
77                 AM_CONDITIONAL(WIN32_PKG, false)
78                 AM_CONDITIONAL(MACOSX_PKG, false)
79         ;;
80 esac
81 # -- L I B R A R I E S ----------------------------------------
82
83 PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 gthread-2.0,[],[
84         AC_MSG_ERROR([ ** Gtkmm-2.4 Is a required library, aborting.])
85 ])
86 AC_SUBST(GTKMM_CFLAGS)
87 AC_SUBST(GTKMM_LIBS)
88
89 PKG_CHECK_MODULES(SYNFIG, [synfig >= 0.61.07] [ETL >= 0.04.10] sigc++-2.0,,[
90         AC_MSG_ERROR([ ** Unable to set up dependent libraries (synfig >= 0.61.07, ETL >= 0.04.10)])
91 ])
92 AC_SUBST(SYNFIG_CFLAGS)
93 AC_SUBST(SYNFIG_LIBS)
94
95 windowsys="gtkmm"
96 AC_DEFINE(STUDIO_WINSYS_H,"gtkmm/winsys.h",[blah])
97 AM_CONDITIONAL(WINDOWSYS_GTKMM,true)
98
99 AC_ARG_WITH(userdir,[
100   --with-userdir=(dirname)         Relative path to user directory],[
101 ],[
102 case "$host" in
103         *mingw* | *cygwin*)
104                 with_userdir="Synfig"
105         ;;
106         *darwin*)
107                 with_userdir="Library/Synfig"
108         ;;
109         *)
110                 with_userdir=".synfig"
111         ;;
112 esac
113 ])
114 AC_DEFINE_UNQUOTED(SYNFIG_USER_APP_DIR,"$with_userdir",[Synfig User Data Directory])
115
116 # --- FMOD CHECK -------------
117 AC_ARG_WITH(libfmod,[
118   --with-libfmod         Enable support for FMOD],[
119 ],[
120         AC_CHECK_LIB(fmod, FSOUND_Init,[
121                 with_libfmod="yes"
122         ],[
123                 with_libfmod="no"
124         ])
125 ])
126 if test $with_libfmod = "yes" ; then {
127         AM_CONDITIONAL(WITH_FMOD,true)
128         FMOD_LIBS="/usr/lib/libfmod.so"
129         AC_DEFINE(WITH_FMOD,"I'm here damnit",[blah])
130 } else {
131         AM_CONDITIONAL(WITH_FMOD,false)
132         FMOD_LIBS=
133 } ; fi
134
135 # Check for unordered_map or hash_map headers
136 AC_MSG_CHECKING([for unordered_map<int,int>::const_iterator])
137 AC_COMPILE_IFELSE([
138         AC_LANG_PROGRAM([
139                 [#include <tr1/unordered_map>]
140         ],[
141                 [std::tr1::unordered_map<int,int>::const_iterator iter;]
142         ])],[
143         AC_MSG_RESULT([yes])
144         AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::unordered_map],[The template name for unordered maps.])
145         AC_DEFINE([HASH_MAP_H],[<tr1/unordered_map>],[The header file to include for unordered maps.])
146         AC_DEFINE([HASH_MAP_NAMESPACE],[std::tr1],[The namespace for unordered maps.])
147         AC_DEFINE([FUNCTIONAL_H],[<tr1/functional>],[The header file for hash<T>.])
148         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.])
149 ],[
150         AC_MSG_RESULT([no])
151         AC_CHECK_HEADERS([ext/hash_map],[
152                 AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::hash_map],[The template name for unordered maps.])
153                 AC_DEFINE([HASH_MAP_H],[<ext/hash_map>],[The header file to include for unordered maps.])
154                 AC_DEFINE([HASH_MAP_NAMESPACE],[__gnu_cxx],[The namespace for unordered maps.])
155                 AC_DEFINE([FUNCTIONAL_H],[<ext/functional>],[The header file for hash<T>.])
156         ],[
157                 AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
158         ])
159 ])
160
161 # Check for unordered_set or hash_set headers
162 AC_MSG_CHECKING([for unordered_set<int,int>::const_iterator])
163 AC_COMPILE_IFELSE([
164         AC_LANG_PROGRAM([
165                 [#include <tr1/unordered_set>]
166         ],[
167                 [std::tr1::unordered_set<int,int>::const_iterator iter;]
168         ])],[
169         AC_MSG_RESULT([yes])
170         AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::unordered_set],[The template name for unordered sets.])
171         AC_DEFINE([HASH_SET_H],[<tr1/unordered_set>],[The header file to include for unordered sets.])
172         AC_DEFINE([HASH_SET_NAMESPACE],[std::tr1],[The namespace for unordered sets.])
173 ],[
174         AC_MSG_RESULT([no])
175         AC_CHECK_HEADERS([ext/hash_set],[
176                 AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::hash_set],[The template name for unordered sets.])
177                 AC_DEFINE([HASH_SET_H],[<ext/hash_set>],[The header file to include for unordered sets.])
178                 AC_DEFINE([HASH_SET_NAMESPACE],[__gnu_cxx],[The namespace for unordered sets.])
179         ],[
180                 AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
181         ])
182 ])
183
184 # -- H E A D E R S --------------------------------------------
185
186 AC_CHECK_HEADERS([unistd.h signal.h fcntl.h])
187 AC_CHECK_HEADERS([sys/types.h sys/wait.h sys/stat.h sys/time.h sys/resource.h sys/errno.h])
188
189 # -- T Y P E S & S T R U C T S --------------------------------
190
191 # -- F U N C T I O N S ----------------------------------------
192
193 AC_CHECK_FUNCS([fork])
194 AC_CHECK_FUNCS([kill])
195 AC_CHECK_FUNCS([pipe])
196 AC_CHECK_FUNCS([setpriority mkfifo stat]) 
197
198 # -- A R G U M E N T S ----------------------------------------
199
200 # -- O U T P U T ----------------------------------------------
201
202 AC_SUBST(CFLAGS)
203 AC_SUBST(CPPFLAGS)
204 AC_SUBST(CXXFLAGS)
205 AC_SUBST(LDFLAGS)
206 AC_SUBST(SVN_REPOSITORY)
207
208 AC_SUBST(API_VERSION)
209
210 # fmod stuff...
211 AC_SUBST(FMOD_LIBS)
212
213 imageext=png
214 AC_SUBST(imageext)
215
216 imagedir="${datadir}/pixmaps/synfigstudio"
217 AC_SUBST(imagedir)
218
219 AC_OUTPUT(
220 Makefile
221 doxygen.cfg
222 po/Makefile.in
223 synfigstudio.desktop
224 synfigstudio.mime
225 synfigstudio.keys
226 synfigstudio.xml
227 synfigstudio-thumbnailer.schemas
228 src/Makefile
229 src/gtkmm/Makefile
230 src/synfigapp/Makefile
231 images/Makefile
232 win32inst.nsi
233 pkg-info/macosx/synfig-studio.info
234 )
235
236 # -- S U M M A R Y --------------------------------------------
237
238 echo "
239 $PACKAGE_NAME v.$VERSION
240 Configuration Summary
241 - - - - - -
242
243 Install Prefix -------------------> $prefix
244 Host Platform --------------------> $host
245 Icon Format ----------------------> $imageext
246 Debug Mode -----------------------> $debug
247 Profiling Mode -------------------> $profiling
248 Optimizations --------------------> $optimization
249 Window System --------------------> $windowsys
250 FMOD Enabled ---------------------> $with_libfmod
251
252 "'$'"CXX ------------------------------> '$CXX'
253 "'$'"CXXFLAGS -------------------------> '$CXXFLAGS'
254 "'$'"LDFLAGS --------------------------> '$LDFLAGS'
255 "'$'"SYNFIG_CFLAGS ---------------------> '$SYNFIG_CFLAGS'
256 "'$'"SYNFIG_LIBS -----------------------> '$SYNFIG_LIBS'
257 "'$'"GTKMM_CFLAGS ---------------------> '$GTKMM_CFLAGS'
258 "'$'"GTKMM_LIBS -----------------------> '$GTKMM_LIBS'
259 "