2 # Process this file with autoconf to produce a configure script.
5 AC_INIT([calf],[0.0.18],[wdev@foltman.com])
6 AC_CONFIG_SRCDIR([config.h.in])
7 AC_CONFIG_HEADER([config.h])
11 if test "x$prefix" = "xNONE"; then
12 prefix=$ac_default_prefix
15 # Checks for programs.
22 # Checks for libraries.
25 # Checks for header files.
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"),
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 "$JACK_FOUND" = "yes" -o "$DSSI_FOUND" = "yes" -o "$LV2_ENABLED" = "yes"; then
63 PKG_CHECK_MODULES(GUI_DEPS, gtk+-2.0 >= 2.8.0 libglade-2.0 >= 2.4.0 cairo >= 1.2.0,
65 GUI_ENABLED="no (GTK+ 2.8, cairo 1.2 and libglade 2.4.0 or newer required)"
71 if test "$LADSPA_FOUND" = "yes"; then
72 AC_MSG_CHECKING([whether to allow LADSPA])
74 AC_HELP_STRING([--without-ladspa],[disable LADSPA and DSSI interfaces]),
75 [if test "$withval" = "no"; then LADSPA_FOUND="no"; DSSI_FOUND="no"; fi],[])
76 AC_MSG_RESULT($LADSPA_FOUND)
79 if test "$LV2_ENABLED" = "yes"; then
80 AC_MSG_CHECKING([whether to allow LV2])
82 AC_HELP_STRING([--without-lv2],[disable LV2 interface]),
83 [if test "$withval" = "no"; then LV2_ENABLED="no"; fi],[])
84 AC_MSG_RESULT($LV2_ENABLED)
87 if test "$GUI_ENABLED" = "yes" -a "$JACK_FOUND" = "yes"; then
93 if test "$GUI_ENABLED" = "yes" -a "$DSSI_FOUND" = "yes"; then
94 DSSI_GUI_ENABLED="yes"
99 if test "$GUI_ENABLED" = "yes" -a "$LV2_ENABLED" = "yes"; then
100 LV2_GUI_ENABLED="yes"
105 AC_MSG_CHECKING([whether to enable experimental/unfinished features])
106 AC_ARG_ENABLE(experimental,
107 AC_HELP_STRING([--enable-experimental],[enable unfinished features - not recommended!]),
108 [set_enable_experimental="$enableval"],
109 [set_enable_experimental="no"])
110 AC_MSG_RESULT($set_enable_experimental)
112 AC_MSG_CHECKING([whether to enable debugging mode])
114 AC_HELP_STRING([--enable-debug],[enable debug mode - slow!]),
115 [set_enable_debug="$enableval"],
116 [set_enable_debug="no"])
117 AC_MSG_RESULT($set_enable_debug)
119 if test "$set_enable_debug" = "yes"; then
120 CXXFLAGS="$CXXFLAGS -O0 -g -Wall"
122 CXXFLAGS="$CXXFLAGS -O3 -finline-functions -finline-functions-called-once -Wall"
125 AM_CONDITIONAL(USE_DSSI, test "$DSSI_FOUND" = "yes")
126 AM_CONDITIONAL(USE_LADSPA, test "$LADSPA_FOUND" = "yes")
127 AM_CONDITIONAL(USE_JACK, test "$JACK_ENABLED" = "yes")
128 AM_CONDITIONAL(USE_LV2, test "$LV2_ENABLED" = "yes")
129 AM_CONDITIONAL(USE_GUI, test "$GUI_ENABLED" = "yes")
130 AM_CONDITIONAL(USE_DSSI_GUI, test "$DSSI_GUI_ENABLED" = "yes")
131 AM_CONDITIONAL(USE_LV2_GUI, test "$LV2_GUI_ENABLED" = "yes")
132 AM_CONDITIONAL(USE_LASH, test "$LASH_ENABLED" = "yes")
133 AM_CONDITIONAL(USE_DEBUG, test "$set_enable_debug" = "yes")
134 if test "$LADSPA_FOUND" = "yes"; then
135 AC_DEFINE([USE_LADSPA], [1], [LADSPA wrapper will be built])
137 if test "$DSSI_FOUND" = "yes"; then
138 AC_DEFINE(USE_DSSI, 1, [DSSI wrapper will be built])
140 if test "$DSSI_GUI_ENABLED" = "yes"; then
141 AC_DEFINE(USE_DSSI_GUI, 1, [GTK+ GUI for DSSI will be built])
143 if test "$LV2_ENABLED" = "yes"; then
144 AC_DEFINE(USE_LV2, 1, [LV2 wrapper will be built])
146 if test "$LV2_GUI_ENABLED" = "yes"; then
147 AC_DEFINE(USE_LV2_GUI, 1, [GTK+ GUI for LV2 plugins will be built])
149 if test "$JACK_ENABLED" = "yes"; then
150 AC_DEFINE(USE_JACK, 1, [JACK I/O will be used])
152 if test "$OLD_JACK" = "yes"; then
153 AC_DEFINE(OLD_JACK, 1, [Old JACK version (with extra nframes argument) is to be used])
155 if test "$LASH_ENABLED" = "yes"; then
156 AC_DEFINE(USE_LASH, 1, "LASH Audio Session Handler client functionality is enabled")
158 if test "$set_enable_experimental" = "yes"; then
159 AC_DEFINE([ENABLE_EXPERIMENTAL], [1], "Experimental features are enabled")
162 # Checks for typedefs, structures, and compiler characteristics.
175 AC_MSG_CHECKING(where to install LADSPA plugins)
176 AC_ARG_WITH(ladspa_dir,
177 AC_HELP_STRING([--with-ladspa-dir],[install LADSPA plugins to DIR (default=$prefix/lib/ladspa/)]),
179 [with_ladspa_dir="$prefix/lib/ladspa/"])
180 AC_MSG_RESULT($with_ladspa_dir)
181 AC_SUBST(with_ladspa_dir)
183 AC_MSG_CHECKING(where to install LADSPA RDF file)
184 AC_ARG_WITH(ladspa_rdf_dir,
185 AC_HELP_STRING([--with-ladspa-rdf-dir],[install RDF file to DIR (default=$prefix/share/ladspa/rdf/)]),
187 [with_ladspa_rdf_dir="$prefix/share/ladspa/rdf/"])
188 AC_MSG_RESULT($with_ladspa_rdf_dir)
189 AC_SUBST(with_ladspa_rdf_dir)
191 AC_MSG_CHECKING(where to install DSSI plugins)
192 AC_ARG_WITH(dssi_dir,
193 AC_HELP_STRING([--with-dssi-dir],[install DSSI plugins to DIR (default=$prefix/lib/dssi/)]),
195 [with_dssi_dir="$prefix/lib/dssi/"])
196 AC_MSG_RESULT($with_dssi_dir)
197 AC_SUBST(with_dssi_dir)
199 if test "$LV2_ENABLED" == "yes"; then
200 AC_MSG_CHECKING(where to install LV2 plugins)
202 AC_HELP_STRING([--with-lv2-dir],[install LV2 calf.lv2 bundle to DIR (default=$prefix/lib/lv2/)]),
204 [with_lv2_dir="$prefix/lib/lv2/"])
205 AC_MSG_RESULT($with_lv2_dir)
206 AC_SUBST(with_lv2_dir)
209 AC_DEFINE_UNQUOTED(PKGLIBDIR,"$prefix/share/calf/",[Calf shared data directory (bitmaps, GUI XML etc.)])
211 # Checks for library functions.
212 AC_CHECK_FUNCS([floor memset pow])
214 AC_CONFIG_FILES([Makefile
223 Debug mode: $set_enable_debug
224 Experimental plugins: $set_enable_experimental
225 LADSPA enabled: $LADSPA_FOUND
226 DSSI enabled: $DSSI_FOUND
227 DSSI GUI enabled: $DSSI_GUI_ENABLED
228 LV2 enabled: $LV2_ENABLED
229 LV2 GUI enabled: $LV2_GUI_ENABLED
230 JACK host enabled: $JACK_ENABLED
231 LASH enabled: $LASH_ENABLED
232 Old-style JACK MIDI: $OLD_JACK
234 Installation prefix: $prefix