+ ChangeLog: updated
[calf.git] / configure.ac
blob6cc802ad7a5d32bbb2a92e4e82bb2f642519608b
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
4 AC_PREREQ(2.61)
5 AC_INIT([calf],[0.0.18.5],[wdev@foltman.com])
6 AC_CONFIG_SRCDIR([config.h.in])
7 AC_CONFIG_HEADER([config.h])
9 AM_INIT_AUTOMAKE(1.8)
11 if test "x$prefix" = "xNONE"; then 
12   prefix=$ac_default_prefix
15 # Checks for programs.
16 AC_PROG_CXX
17 AC_PROG_CC
18 AC_PROG_CPP
19 AC_PROG_INSTALL
20 AC_PROG_LIBTOOL
22 # Checks for libraries.
23 PKG_PROG_PKG_CONFIG
25 # Checks for header files.
26 AC_HEADER_STDC
27 AC_CHECK_HEADERS([memory.h stdint.h stdlib.h time.h math.h])
29 AC_CHECK_HEADER(ladspa.h, LADSPA_FOUND="yes", LADSPA_FOUND="no")
31 AC_CHECK_HEADER(dssi.h, DSSI_FOUND="yes", DSSI_FOUND="no")
33 AC_CHECK_HEADER(expat.h, true, AC_MSG_ERROR([Expat XML library not found]))
34 AC_CHECK_LIB(expat, XML_Parse, true, AC_MSG_ERROR([Expat XML library not found]))
36 AC_CHECK_HEADERS([jack/jack.h], have_jack_header=yes, have_jack_header=no)
38 PKG_CHECK_MODULES(GLIB_DEPS, glib-2.0 >= 2.0.0, true, AC_MSG_ERROR([glib-2.0 library not found]))
40 if test "$have_jack_header" = "yes"; then
41   PKG_CHECK_MODULES(JACK_DEPS, jack >= 0.103.0,
42     AC_CHECK_LIB([jack], [jack_port_register], JACK_FOUND="yes", JACK_FOUND="no"),
43     JACK_FOUND="no")
44 else
45   JACK_FOUND="no"
48 if test "$JACK_FOUND" = "yes"; then
49   PKG_CHECK_MODULES(JACK_MIDI_DEPS, jack >= 0.105.0, OLD_JACK="no", OLD_JACK="yes")
52 AC_SUBST(GLIB_DEPS_CFLAGS)
53 AC_SUBST(GLIB_DEPS_LIBS)
54 AC_SUBST(GUI_DEPS_CFLAGS)
55 AC_SUBST(GUI_DEPS_LIBS)
56 AC_SUBST(JACK_DEPS_CFLAGS)
57 AC_SUBST(JACK_DEPS_LIBS)
59 PKG_CHECK_MODULES(LV2_DEPS, lv2core >= 1, LV2_ENABLED="yes", LV2_ENABLED="no")
60 PKG_CHECK_MODULES(LASH_DEPS, lash-1.0 >= 0.5.2, LASH_ENABLED="yes", LASH_ENABLED="no")
62 if test "$LADSPA_FOUND" = "yes"; then
63   AC_MSG_CHECKING([whether to allow LADSPA])
64   AC_ARG_WITH(ladspa,
65     AC_HELP_STRING([--without-ladspa],[disable LADSPA and DSSI interfaces]),
66       [if test "$withval" = "no"; then LADSPA_FOUND="no"; DSSI_FOUND="no"; fi],[])
67   AC_MSG_RESULT($LADSPA_FOUND)
70 if test "$DSSI_FOUND" = "yes"; then
71   AC_MSG_CHECKING([whether to allow DSSI])
72   AC_ARG_WITH(dssi,
73     AC_HELP_STRING([--without-dssi],[disable DSSI interface]),
74       [if test "$withval" = "no"; then DSSI_FOUND="no"; fi],[])
75   AC_MSG_RESULT($DSSI_FOUND)
78 if test "$LV2_ENABLED" = "yes"; then
79   AC_MSG_CHECKING([whether to allow LV2])
80   AC_ARG_WITH(lv2,
81     AC_HELP_STRING([--without-lv2],[disable LV2 interface]),
82       [if test "$withval" = "no"; then LV2_ENABLED="no"; fi],[])
83   AC_MSG_RESULT($LV2_ENABLED)
86 if test "$JACK_FOUND" = "yes" -o "$DSSI_FOUND" = "yes" -o "$LV2_ENABLED" = "yes"; then
87   PKG_CHECK_MODULES(GUI_DEPS, gtk+-2.0 >= 2.8.0 libglade-2.0 >= 2.4.0 cairo >= 1.2.0,
88     GUI_ENABLED="yes",
89     GUI_ENABLED="no (GTK+ 2.8, cairo 1.2 and libglade 2.4.0 or newer required)"
90   )
91 else
92   GUI_ENABLED="no"
95 if test "$GUI_ENABLED" = "yes" -a "$JACK_FOUND" = "yes"; then
96   JACK_ENABLED="yes"
97 else
98   JACK_ENABLED="no"
101 if test "$GUI_ENABLED" = "yes" -a "$DSSI_FOUND" = "yes"; then
102   DSSI_GUI_ENABLED="yes"
103 else
104   DSSI_GUI_ENABLED="no"
107 if test "$GUI_ENABLED" = "yes" -a "$LV2_ENABLED" = "yes"; then
108   LV2_GUI_ENABLED="yes"
109 else
110   LV2_GUI_ENABLED="no"
113 AC_MSG_CHECKING([whether to enable experimental/unfinished features])
114 AC_ARG_ENABLE(experimental,
115   AC_HELP_STRING([--enable-experimental],[enable unfinished features - not recommended!]),
116   [set_enable_experimental="$enableval"],
117   [set_enable_experimental="no"])
118 AC_MSG_RESULT($set_enable_experimental)
120 AC_MSG_CHECKING([whether to enable debugging mode])
121 AC_ARG_ENABLE(debug,
122   AC_HELP_STRING([--enable-debug],[enable debug mode - slow!]),
123   [set_enable_debug="$enableval"],
124   [set_enable_debug="no"])
125 AC_MSG_RESULT($set_enable_debug)
127 if test "$set_enable_debug" = "yes"; then
128   CXXFLAGS="$CXXFLAGS -O0 -g -Wall"
129 else
130   CXXFLAGS="$CXXFLAGS -O3 -finline-functions -finline-functions-called-once -Wall"
133 AM_CONDITIONAL(USE_DSSI, test "$DSSI_FOUND" = "yes")
134 AM_CONDITIONAL(USE_LADSPA, test "$LADSPA_FOUND" = "yes")
135 AM_CONDITIONAL(USE_JACK, test "$JACK_ENABLED" = "yes")
136 AM_CONDITIONAL(USE_LV2, test "$LV2_ENABLED" = "yes")
137 AM_CONDITIONAL(USE_GUI, test "$GUI_ENABLED" = "yes")
138 AM_CONDITIONAL(USE_DSSI_GUI, test "$DSSI_GUI_ENABLED" = "yes")
139 AM_CONDITIONAL(USE_LV2_GUI, test "$LV2_GUI_ENABLED" = "yes")
140 AM_CONDITIONAL(USE_LASH, test "$LASH_ENABLED" = "yes")
141 AM_CONDITIONAL(USE_DEBUG, test "$set_enable_debug" = "yes")
142 if test "$LADSPA_FOUND" = "yes"; then
143   AC_DEFINE([USE_LADSPA], [1], [LADSPA wrapper will be built])
145 if test "$DSSI_FOUND" = "yes"; then
146   AC_DEFINE(USE_DSSI, 1, [DSSI wrapper will be built])
148 if test "$DSSI_GUI_ENABLED" = "yes"; then
149   AC_DEFINE(USE_DSSI_GUI, 1, [GTK+ GUI for DSSI  will be built])
151 if test "$LV2_ENABLED" = "yes"; then
152   AC_DEFINE(USE_LV2, 1, [LV2 wrapper will be built])
154 if test "$LV2_GUI_ENABLED" = "yes"; then
155   AC_DEFINE(USE_LV2_GUI, 1, [GTK+ GUI for LV2 plugins will be built])
157 if test "$JACK_ENABLED" = "yes"; then
158   AC_DEFINE(USE_JACK, 1, [JACK I/O will be used])
160 if test "$OLD_JACK" = "yes"; then
161   AC_DEFINE(OLD_JACK, 1, [Old JACK version (with extra nframes argument) is to be used])
163 if test "$LASH_ENABLED" = "yes"; then
164   AC_DEFINE(USE_LASH, 1, "LASH Audio Session Handler client functionality is enabled")
166 if test "$set_enable_experimental" = "yes"; then
167   AC_DEFINE([ENABLE_EXPERIMENTAL], [1], "Experimental features are enabled")
170 # Checks for typedefs, structures, and compiler characteristics.
171 AC_HEADER_STDBOOL
172 AC_C_CONST
173 AC_C_INLINE
174 AC_TYPE_INT16_T
175 AC_TYPE_INT32_T
176 AC_TYPE_INT64_T
177 AC_TYPE_INT8_T
178 AC_TYPE_UINT16_T
179 AC_TYPE_UINT32_T
180 AC_TYPE_UINT64_T
181 AC_TYPE_UINT8_T
183 AC_MSG_CHECKING(where to install LADSPA plugins)
184 AC_ARG_WITH(ladspa_dir,
185   AC_HELP_STRING([--with-ladspa-dir],[install LADSPA plugins to DIR (default=$prefix/lib/ladspa/)]),
186   ,
187   [with_ladspa_dir="$prefix/lib/ladspa/"])
188 AC_MSG_RESULT($with_ladspa_dir)
189 AC_SUBST(with_ladspa_dir)
191 AC_MSG_CHECKING(where to install LADSPA RDF file)
192 AC_ARG_WITH(ladspa_rdf_dir,
193   AC_HELP_STRING([--with-ladspa-rdf-dir],[install RDF file to DIR (default=$prefix/share/ladspa/rdf/)]),
194   ,
195   [with_ladspa_rdf_dir="$prefix/share/ladspa/rdf/"])
196 AC_MSG_RESULT($with_ladspa_rdf_dir)
197 AC_SUBST(with_ladspa_rdf_dir)
199 AC_MSG_CHECKING(where to install DSSI plugins)
200 AC_ARG_WITH(dssi_dir,
201   AC_HELP_STRING([--with-dssi-dir],[install DSSI plugins to DIR (default=$prefix/lib/dssi/)]),
202   ,
203   [with_dssi_dir="$prefix/lib/dssi/"])
204 AC_MSG_RESULT($with_dssi_dir)
205 AC_SUBST(with_dssi_dir)
207 if test "$LV2_ENABLED" == "yes"; then
208   AC_MSG_CHECKING(where to install LV2 plugins)
209   AC_ARG_WITH(lv2_dir,
210     AC_HELP_STRING([--with-lv2-dir],[install LV2 calf.lv2 bundle to DIR (default=$prefix/lib/lv2/)]),
211     ,
212     [with_lv2_dir="$prefix/lib/lv2/"])
213   AC_MSG_RESULT($with_lv2_dir)
214   AC_SUBST(with_lv2_dir)
217 AC_DEFINE_UNQUOTED(PKGLIBDIR,"$prefix/share/calf/",[Calf shared data directory (bitmaps, GUI XML etc.)])
219 # Checks for library functions.
220 AC_CHECK_FUNCS([floor memset pow])
222 AC_CONFIG_FILES([Makefile
223                  calf.desktop
224                  gui/Makefile
225                  icons/Makefile
226                  src/Makefile
227                  src/calf/Makefile])
228 AC_MSG_RESULT([
229     Calf configured
231     Debug mode:             $set_enable_debug
232     Experimental plugins:   $set_enable_experimental
233     LADSPA enabled:         $LADSPA_FOUND
234     DSSI enabled:           $DSSI_FOUND
235     DSSI GUI enabled:       $DSSI_GUI_ENABLED
236     LV2 enabled:            $LV2_ENABLED
237     LV2 GUI enabled:        $LV2_GUI_ENABLED
238     JACK host enabled:      $JACK_ENABLED
239     LASH enabled:           $LASH_ENABLED
240     Old-style JACK MIDI:    $OLD_JACK
241     
242     Installation prefix:    $prefix
244 AC_OUTPUT