/[svn]/gigedit/trunk/configure.ac
ViewVC logotype

Diff of /gigedit/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1121 by persson, Sat Mar 24 17:41:39 2007 UTC revision 1809 by persson, Sun Dec 14 15:52:10 2008 UTC
# Line 1  Line 1 
1  dnl Process this file with autoconf to produce a configure script.  dnl Process this file with autoconf to produce a configure script.
2  AC_INIT(gigedit,0.0.3)  AC_INIT(configure.ac)
3  AC_CONFIG_SRCDIR(src/main.cpp)  AC_CONFIG_AUX_DIR([.])
4    
5  AC_CONFIG_HEADERS(config.h)  #------------------------------------------------------------------------------------
6    # The following is the current, official release version of gigedit:
7    
8    GIGEDIT_VER_MAJOR=0
9    GIGEDIT_VER_MINOR=1
10    GIGEDIT_VER_RELEASE=1
11    
12    #------------------------------------------------------------------------------------
13    # The following is the libtool / shared library version. This doesn't have to
14    # do anything with the release version. It MUST conform to the following rules:
15    #
16    #  1. Start with version information of `0:0:0' for each libtool library.
17    #  2. Update the version information only immediately before a public release of
18    #     your software. More frequent updates are unnecessary, and only guarantee
19    #     that the current interface number gets larger faster.
20    #  3. If the library source code has changed at all since the last update, then
21    #     increment revision (`c:r:a' becomes `c:r+1:a').
22    #  4. If any interfaces have been added, removed, or changed since the last update,
23    #     increment current, and set revision to 0.
24    #  5. If any interfaces have been added since the last public release, then increment
25    #     age.
26    #  6. If any interfaces have been removed since the last public release, then set age
27    #     to 0.
28    
29    LIBGIGEDIT_LT_CURRENT=1
30    LIBGIGEDIT_LT_REVISION=0
31    LIBGIGEDIT_LT_AGE=0
32    
33  AM_INIT_AUTOMAKE  SHARED_VERSION_INFO="$LIBGIGEDIT_LT_CURRENT:$LIBGIGEDIT_LT_REVISION:$LIBGIGEDIT_LT_AGE"
34    AC_LANG_CPLUSPLUS
35    AC_PROG_CXX
36    AC_LIBTOOL_WIN32_DLL
37    AC_PROG_LIBTOOL
38    AC_SUBST(SHLIB_VERSION_ARG)
39    AC_SUBST(SHARED_VERSION_INFO)
40    AC_SUBST(GIGEDIT_VER_MAJOR)
41    AC_SUBST(GIGEDIT_VER_MINOR)
42    AC_SUBST(GIGEDIT_VER_RELEASE)
43    
44    # configure checks for the following file's existence to make sure that
45    # the directory that it is told contains the source code in fact does.
46    # Occasionally people accidentally specify the wrong directory with
47    # `--srcdir'; this is a safety check.
48    AC_CONFIG_SRCDIR(src/gigedit/main.cpp)
49    
50  GETTEXT_PACKAGE=gigedit  GETTEXT_PACKAGE=gigedit
51  AC_SUBST([GETTEXT_PACKAGE])  AC_SUBST([GETTEXT_PACKAGE])
52  AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])  AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
53    
54    # the libgig header files need this
55    AC_C_BIGENDIAN
56    
57  AC_PROG_CXX  AC_PROG_CXX
58    
59  IT_PROG_INTLTOOL(0.35.0)  IT_PROG_INTLTOOL(0.35.0)
60  AM_GLIB_GNU_GETTEXT  AM_GLIB_GNU_GETTEXT
61    
62  PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 >= 2.6.1 gthread-2.0)  PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 >= 2.4.10 gthread-2.0)
63  PKG_CHECK_MODULES(GIG, gig >= 3.1.1)  PKG_CHECK_MODULES(GIG, gig >= 3.2.0)
64    
65  # check for presence of libsndfile  # check for presence of libsndfile
66  PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2)  PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2)
67  AC_SUBST(SNDFILE_CFLAGS)  AC_SUBST(SNDFILE_CFLAGS)
68  AC_SUBST(SNDFILE_LIBS)  AC_SUBST(SNDFILE_LIBS)
69    
70    # check for loop functionality in libsndfile
71    gigedit_save_CXXFLAGS=$CXXFLAGS
72    CXXFLAGS="$SNDFILE_CFLAGS $CXXFLAGS"
73    AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],,
74                     [AC_MSG_WARN([Your version of libsndfile does not support
75        reading of loop information. Gigedit will not be able to
76        extract loop information from sample files.])],
77                     [#include <sndfile.h>])
78    CXXFLAGS=$gigedit_save_CXXFLAGS
79    
80    # check for (optional) presence of liblinuxsampler
81    liblinuxsampler_version="0.5.0"
82    PKG_CHECK_MODULES(
83        LINUXSAMPLER, linuxsampler >= $liblinuxsampler_version,
84        have_linuxsampler=1, have_linuxsampler=0
85    )
86    LINUXSAMPLER_PLUGIN_DIR=
87    if test "$have_linuxsampler" = "0"; then
88        echo "Required liblinuxsampler version not found!"
89        echo "You need to have liblinuxsampler version ${liblinuxsampler_version}"
90        echo "installed. Support for on-the-fly editing with LinuxSampler will"
91        echo "be disabled."
92    else
93        echo "Found linuxsampler $liblinuxsampler_version"
94        echo -n "Retrieving LinuxSampler's plugin dir... "
95        LINUXSAMPLER_PLUGIN_DIR=`pkg-config --variable plugindir linuxsampler`
96        if test "$LINUXSAMPLER_PLUGIN_DIR" = ""; then
97            have_linuxsampler=0
98            echo "Error"
99            echo "Could not retrieve LinuxSampler's plugin directory. Support"
100            echo "for on-the-fly editing with LinuxSampler will be disabled."
101        else
102            echo "${LINUXSAMPLER_PLUGIN_DIR} "
103            # convert absolute LS plugin dir into relative dir
104            # (see ch 27.10 of the automake manual,
105            #  "Installing to Hard-Coded Locations")
106            # this one is extended to work with digit postfixed lib directories
107            # (e.g. "/usr/lib64/linuxsampler") as well
108            LINUXSAMPLER_PLUGIN_DIR=`echo "${LINUXSAMPLER_PLUGIN_DIR}" | sed 's/^.*\/lib[[0-9]]*\//\${libdir}\//g'`
109            if echo "${LINUXSAMPLER_PLUGIN_DIR}" | grep "\${libdir}" > /dev/null; then
110                echo "Relative plugin dir: ${LINUXSAMPLER_PLUGIN_DIR}"
111            else
112                echo "*********************************************************"
113                echo "* ! WARNING ! : Could not resolve LinuxSampler's plugin"
114                echo "* directory as relative path. This is probably not an"
115                echo "* issue if you're just going to install gigedit by"
116                echo "* 'make install', but it IS a problem if you're"
117                echo "* installing to a certain destination directory and/or"
118                echo "* compile in sandbox (e.g. Debian package or Gentoo emerge)"
119                echo "*********************************************************"
120            fi
121        fi
122    fi
123    AC_SUBST(LINUXSAMPLER_CFLAGS)
124    AC_SUBST(LINUXSAMPLER_LIBS)
125    AC_SUBST(LINUXSAMPLER_PLUGIN_DIR)
126    AM_CONDITIONAL(HAVE_LINUXSAMPLER, test $have_linuxsampler = "1")
127    AC_DEFINE_UNQUOTED(
128        HAVE_LINUXSAMPLER, $have_linuxsampler,
129        [Define to 1 if you have LinuxSampler installed.]
130    )
131    
132    have_ls_vmidi=0
133    if test $have_linuxsampler = "1"; then
134        AC_MSG_CHECKING([whether LinuxSampler supports virtual MIDI devices])
135        AC_LANG_SAVE
136        AC_LANG_CPLUSPLUS
137        LIBS="$LINUXSAMPLER_LIBS $LIBS"
138        CFLAGS="$CFLAGS $LINUXSAMPLER_CFLAGS"
139        CXXFLAGS="$CXXFLAGS $CFLAGS"
140        AC_TRY_COMPILE([
141                #include <linuxsampler/drivers/midi/VirtualMidiDevice.h>
142                using namespace LinuxSampler;
143            ], [
144                bool (VirtualMidiDevice::*ptr1)(uint8_t, uint8_t) = 0;
145                bool (VirtualMidiDevice::*ptr2)() = 0;
146                bool (VirtualMidiDevice::*ptr3)(uint8_t) = 0;
147                uint8_t (VirtualMidiDevice::*ptr4)(uint8_t) = 0;
148                ptr1 = &VirtualMidiDevice::SendNoteOnToSampler;
149                ptr2 = &VirtualMidiDevice::NotesChanged;
150                ptr3 = &VirtualMidiDevice::NoteChanged;
151                ptr4 = &VirtualMidiDevice::NoteOffVelocity;
152            ], [
153                AC_MSG_RESULT(yes)
154                have_ls_vmidi=1
155            ], [
156                AC_MSG_RESULT(no)
157                echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
158                echo "! Support for the virtual MIDI keyboard in gigedit will"
159                echo "! be disabled. You'll see the keyboard in gigedit, but"
160                echo "! you won't be able to trigger notes with it nor see"
161                echo "! active notes caused by external MIDI sources of LS."
162                echo "! Update LinuxSampler and recompile gigedit if you want"
163                echo "! this feature."
164                echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
165            ]
166        )
167        AC_LANG_RESTORE
168    fi
169    AC_DEFINE_UNQUOTED(
170        HAVE_LINUXSAMPLER_VIRTUAL_MIDI_DEVICE, $have_ls_vmidi,
171        [Define to 1 if LinuxSampler supports virtual MIDI devices.]
172    )
173    
174    AC_CONFIG_HEADERS(config.h)
175    AM_INIT_AUTOMAKE(gigedit, "$GIGEDIT_VER_MAJOR.$GIGEDIT_VER_MINOR.$GIGEDIT_VER_RELEASE")
176    
177  AC_CONFIG_FILES([  AC_CONFIG_FILES([
178  Makefile          Makefile
179  src/Makefile          src/Makefile
180  po/Makefile.in          src/gigedit/Makefile
181            src/plugin/Makefile
182            gfx/Makefile
183            po/Makefile.in
184            debian/Makefile
185            doc/Makefile
186            doc/quickstart/Makefile
187            win32/libgigedit.dev
188            win32/gigedit.dev
189            win32/gigedit.nsi
190            win32/Makefile
191  ])  ])
192  AC_OUTPUT  AC_OUTPUT

Legend:
Removed from v.1121  
changed lines
  Added in v.1809

  ViewVC Help
Powered by ViewVC