1 |
dnl Process this file with autoconf to produce a configure script. |
dnl Process this file with autoconf to produce a configure script. |
|
AC_INIT(configure.ac) |
|
|
AC_CONFIG_AUX_DIR([.]) |
|
2 |
|
|
3 |
#------------------------------------------------------------------------------------ |
#------------------------------------------------------------------------------------ |
4 |
# The following is the current, official release version of gigedit: |
# The following is the current, official release version of gigedit: |
5 |
|
|
6 |
GIGEDIT_VER_MAJOR=0 |
m4_define(gigedit_ver_major, 1) |
7 |
GIGEDIT_VER_MINOR=2 |
m4_define(gigedit_ver_minor, 1) |
8 |
GIGEDIT_VER_RELEASE=0 |
m4_define(gigedit_ver_release, 1.svn29) |
9 |
|
|
10 |
|
AC_INIT([gigedit], [gigedit_ver_major.gigedit_ver_minor.gigedit_ver_release]) |
11 |
|
AC_CONFIG_SRCDIR([configure.ac]) |
12 |
|
AC_CONFIG_AUX_DIR([.]) |
13 |
|
|
14 |
#------------------------------------------------------------------------------------ |
#------------------------------------------------------------------------------------ |
15 |
# The following is the libtool / shared library version. This doesn't have to |
# The following is the libtool / shared library version. This doesn't have to |
28 |
# 6. If any interfaces have been removed since the last public release, then set age |
# 6. If any interfaces have been removed since the last public release, then set age |
29 |
# to 0. |
# to 0. |
30 |
|
|
31 |
LIBGIGEDIT_LT_CURRENT=2 |
LIBGIGEDIT_LT_CURRENT=4 |
32 |
LIBGIGEDIT_LT_REVISION=0 |
LIBGIGEDIT_LT_REVISION=0 |
33 |
LIBGIGEDIT_LT_AGE=0 |
LIBGIGEDIT_LT_AGE=0 |
34 |
|
|
35 |
SHARED_VERSION_INFO="$LIBGIGEDIT_LT_CURRENT:$LIBGIGEDIT_LT_REVISION:$LIBGIGEDIT_LT_AGE" |
SHARED_VERSION_INFO="$LIBGIGEDIT_LT_CURRENT:$LIBGIGEDIT_LT_REVISION:$LIBGIGEDIT_LT_AGE" |
36 |
AC_LANG_CPLUSPLUS |
AC_LANG([C++]) |
37 |
AC_PROG_CXX |
AC_PROG_CXX |
38 |
AC_LIBTOOL_WIN32_DLL |
AC_LIBTOOL_WIN32_DLL |
39 |
AC_PROG_LIBTOOL |
AC_PROG_LIBTOOL |
40 |
AC_SUBST(SHLIB_VERSION_ARG) |
AC_SUBST(SHLIB_VERSION_ARG) |
41 |
AC_SUBST(SHARED_VERSION_INFO) |
AC_SUBST(SHARED_VERSION_INFO) |
42 |
AC_SUBST(GIGEDIT_VER_MAJOR) |
AC_SUBST(GIGEDIT_VER_MAJOR, gigedit_ver_major) |
43 |
AC_SUBST(GIGEDIT_VER_MINOR) |
AC_SUBST(GIGEDIT_VER_MINOR, gigedit_ver_minor) |
44 |
AC_SUBST(GIGEDIT_VER_RELEASE) |
AC_SUBST(GIGEDIT_VER_RELEASE, gigedit_ver_release) |
45 |
|
|
46 |
# configure checks for the following file's existence to make sure that |
# configure checks for the following file's existence to make sure that |
47 |
# the directory that it is told contains the source code in fact does. |
# the directory that it is told contains the source code in fact does. |
61 |
IT_PROG_INTLTOOL(0.35.0) |
IT_PROG_INTLTOOL(0.35.0) |
62 |
AM_GLIB_GNU_GETTEXT |
AM_GLIB_GNU_GETTEXT |
63 |
|
|
64 |
|
windows=no |
65 |
|
mac=no |
66 |
case $host in |
case $host in |
67 |
*mingw*|*cygwin*) windows=yes ;; |
*mingw*|*cygwin*) windows=yes ;; |
68 |
*) windows=no ;; |
*-*-darwin*) mac=yes ;; |
69 |
esac |
esac |
70 |
AM_CONDITIONAL(WINDOWS, test "$windows" = "yes") |
AM_CONDITIONAL(WINDOWS, test "$windows" = "yes") |
71 |
|
AM_CONDITIONAL(MAC, test "$mac" = "yes") |
72 |
|
|
73 |
|
# make sure C++11 is supported by compiler |
74 |
|
# (add CXXFLAGS if required [e.g. -std=c++11]) |
75 |
|
m4_ifdef([m4_include(m4/ax_cxx_compile_stdcxx.m4)],, |
76 |
|
[sinclude([m4/ax_cxx_compile_stdcxx.m4])]) |
77 |
|
AX_CXX_COMPILE_STDCXX(11, [], mandatory) |
78 |
|
|
79 |
|
# Note: even though Objective-C sources are just compiled for Mac, the |
80 |
|
# following AC macros though must not be embedded into a shell check |
81 |
|
# (if test "$mac" = "yes" ...), because those AC macros themselves are |
82 |
|
# expanded before any shell code is executed, the generated configure |
83 |
|
# code though would then not be executed and would lead to interesting |
84 |
|
# libtool errors on non-Mac systems due to this. |
85 |
|
AC_PROG_OBJC |
86 |
|
# The OBJCXX macro didn't exist before autoconf 2.65, so ifdef it to |
87 |
|
# avoid warnings on old systems. |
88 |
|
m4_ifdef([AC_PROG_OBJCXX], [AC_PROG_OBJCXX]) |
89 |
|
|
90 |
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
91 |
|
|
92 |
|
PKG_CHECK_EXISTS(gtk+-3.0 >= 2.99, |
93 |
|
[PKG_CHECK_MODULES([GTK], [gtk+-3.0])], |
94 |
|
[PKG_CHECK_MODULES([GTK], [gtk+-2.0])]) |
95 |
|
|
96 |
PKG_PROG_PKG_CONFIG |
PKG_PROG_PKG_CONFIG |
97 |
have_gtk3=no |
have_gtk3=no |
100 |
[PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 >= 2.8 gthread-2.0 cairomm-1.0)]) |
[PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 >= 2.8 gthread-2.0 cairomm-1.0)]) |
101 |
AM_CONDITIONAL(HAVE_GTK3, [test "$have_gtk3" = "yes"]) |
AM_CONDITIONAL(HAVE_GTK3, [test "$have_gtk3" = "yes"]) |
102 |
|
|
103 |
|
# Check for cairommconfig.h, as it was moved in cairomm 1.8.4. We only |
104 |
|
# need it for newer versions. |
105 |
|
gigedit_save_CPPFLAGS=$CPPFLAGS |
106 |
|
CPPFLAGS="$GTKMM_CFLAGS $CPPFLAGS" |
107 |
|
AC_CHECK_HEADERS([cairommconfig.h]) |
108 |
|
CPPFLAGS=$gigedit_save_CPPFLAGS |
109 |
|
|
110 |
PKG_CHECK_MODULES(SIGC, sigc++-2.0) |
PKG_CHECK_MODULES(SIGC, sigc++-2.0) |
111 |
AC_SUBST(SIGC_CFLAGS) |
AC_SUBST(SIGC_CFLAGS) |
112 |
AC_SUBST(SIGC_LIBS) |
AC_SUBST(SIGC_LIBS) |
113 |
|
|
114 |
PKG_CHECK_MODULES(GIG, gig >= 3.3.0) |
PKG_CHECK_MODULES(GIG, gig >= 4.2.0) |
115 |
AC_SUBST(GIG_CFLAGS) |
AC_SUBST(GIG_CFLAGS) |
116 |
AC_SUBST(GIG_LIBS) |
AC_SUBST(GIG_LIBS) |
117 |
|
|
118 |
# check for presence of libsndfile |
# check for presence of libsndfile |
119 |
PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2) |
PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.11) |
120 |
AC_SUBST(SNDFILE_CFLAGS) |
AC_SUBST(SNDFILE_CFLAGS) |
121 |
AC_SUBST(SNDFILE_LIBS) |
AC_SUBST(SNDFILE_LIBS) |
122 |
|
|
|
# check for loop functionality in libsndfile |
|
|
gigedit_save_CXXFLAGS=$CXXFLAGS |
|
|
CXXFLAGS="$SNDFILE_CFLAGS $CXXFLAGS" |
|
|
AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],, |
|
|
[AC_MSG_WARN([Your version of libsndfile does not support |
|
|
reading of loop information. Gigedit will not be able to |
|
|
extract loop information from sample files.])], |
|
|
[#include <sndfile.h>]) |
|
|
CXXFLAGS=$gigedit_save_CXXFLAGS |
|
|
|
|
123 |
# check for (optional) presence of liblinuxsampler |
# check for (optional) presence of liblinuxsampler |
124 |
liblinuxsampler_version="0.5.0" |
liblinuxsampler_version="2.1.1" |
125 |
PKG_CHECK_MODULES( |
PKG_CHECK_MODULES( |
126 |
LINUXSAMPLER, linuxsampler >= $liblinuxsampler_version, |
LINUXSAMPLER, linuxsampler >= $liblinuxsampler_version, |
127 |
have_linuxsampler=1, have_linuxsampler=0 |
have_linuxsampler=1, have_linuxsampler=0 |
175 |
have_ls_vmidi=0 |
have_ls_vmidi=0 |
176 |
if test $have_linuxsampler = "1"; then |
if test $have_linuxsampler = "1"; then |
177 |
AC_MSG_CHECKING([whether LinuxSampler supports virtual MIDI devices]) |
AC_MSG_CHECKING([whether LinuxSampler supports virtual MIDI devices]) |
178 |
AC_LANG_SAVE |
AC_LANG_PUSH([C++]) |
|
AC_LANG_CPLUSPLUS |
|
179 |
LIBS="$LINUXSAMPLER_LIBS $LIBS" |
LIBS="$LINUXSAMPLER_LIBS $LIBS" |
180 |
CFLAGS="$CFLAGS $LINUXSAMPLER_CFLAGS" |
CFLAGS="$CFLAGS $LINUXSAMPLER_CFLAGS" |
181 |
CXXFLAGS="$CXXFLAGS $CFLAGS" |
CXXFLAGS="$CXXFLAGS $CFLAGS" |
182 |
AC_TRY_COMPILE([ |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
183 |
#include <linuxsampler/drivers/midi/VirtualMidiDevice.h> |
#include <linuxsampler/drivers/midi/VirtualMidiDevice.h> |
184 |
using namespace LinuxSampler; |
using namespace LinuxSampler; |
185 |
], [ |
]], [[ |
186 |
bool (VirtualMidiDevice::*ptr1)(uint8_t, uint8_t) = 0; |
bool (VirtualMidiDevice::*ptr1)(uint8_t, uint8_t) = 0; |
187 |
bool (VirtualMidiDevice::*ptr2)() = 0; |
bool (VirtualMidiDevice::*ptr2)() = 0; |
188 |
bool (VirtualMidiDevice::*ptr3)(uint8_t) = 0; |
bool (VirtualMidiDevice::*ptr3)(uint8_t) = 0; |
191 |
ptr2 = &VirtualMidiDevice::NotesChanged; |
ptr2 = &VirtualMidiDevice::NotesChanged; |
192 |
ptr3 = &VirtualMidiDevice::NoteChanged; |
ptr3 = &VirtualMidiDevice::NoteChanged; |
193 |
ptr4 = &VirtualMidiDevice::NoteOffVelocity; |
ptr4 = &VirtualMidiDevice::NoteOffVelocity; |
194 |
], [ |
]])],[ |
195 |
AC_MSG_RESULT(yes) |
AC_MSG_RESULT(yes) |
196 |
have_ls_vmidi=1 |
have_ls_vmidi=1 |
197 |
], [ |
],[ |
198 |
AC_MSG_RESULT(no) |
AC_MSG_RESULT(no) |
199 |
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" |
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" |
200 |
echo "! Support for the virtual MIDI keyboard in gigedit will" |
echo "! Support for the virtual MIDI keyboard in gigedit will" |
204 |
echo "! Update LinuxSampler and recompile gigedit if you want" |
echo "! Update LinuxSampler and recompile gigedit if you want" |
205 |
echo "! this feature." |
echo "! this feature." |
206 |
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" |
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" |
207 |
] |
]) |
208 |
) |
AC_LANG_POP([C++]) |
|
AC_LANG_RESTORE |
|
209 |
fi |
fi |
210 |
AC_DEFINE_UNQUOTED( |
AC_DEFINE_UNQUOTED( |
211 |
HAVE_LINUXSAMPLER_VIRTUAL_MIDI_DEVICE, $have_ls_vmidi, |
HAVE_LINUXSAMPLER_VIRTUAL_MIDI_DEVICE, $have_ls_vmidi, |
213 |
) |
) |
214 |
|
|
215 |
AC_CONFIG_HEADERS(config.h) |
AC_CONFIG_HEADERS(config.h) |
216 |
AM_INIT_AUTOMAKE(gigedit, "$GIGEDIT_VER_MAJOR.$GIGEDIT_VER_MINOR.$GIGEDIT_VER_RELEASE") |
AM_INIT_AUTOMAKE |
217 |
|
|
218 |
AC_CONFIG_FILES([ |
AC_CONFIG_FILES([ |
219 |
Makefile |
Makefile |
220 |
src/Makefile |
src/Makefile |
221 |
src/gigedit/Makefile |
src/gigedit/Makefile |
222 |
|
src/gigedit/gfx/Makefile |
223 |
src/plugin/Makefile |
src/plugin/Makefile |
224 |
gfx/Makefile |
gfx/Makefile |
225 |
po/Makefile.in |
po/Makefile.in |