1 |
dnl Process this file with autoconf to produce a configure script. |
2 |
AC_INIT(configure.ac) |
3 |
AC_CONFIG_AUX_DIR([.]) |
4 |
|
5 |
#------------------------------------------------------------------------------------ |
6 |
# The following is the current, official release version of gigedit: |
7 |
|
8 |
GIGEDIT_VER_MAJOR=0 |
9 |
GIGEDIT_VER_MINOR=0 |
10 |
GIGEDIT_VER_RELEASE=3 |
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=0 |
30 |
LIBGIGEDIT_LT_REVISION=0 |
31 |
LIBGIGEDIT_LT_AGE=0 |
32 |
|
33 |
SHARED_VERSION_INFO="$LIBGIGEDIT_LT_CURRENT:$LIBGIGEDIT_LT_REVISION:$LIBGIGEDIT_LT_AGE" |
34 |
AC_LANG_CPLUSPLUS |
35 |
AC_PROG_CXX |
36 |
AC_PROG_LIBTOOL |
37 |
AC_SUBST(SHLIB_VERSION_ARG) |
38 |
AC_SUBST(SHARED_VERSION_INFO) |
39 |
AC_SUBST(GIGEDIT_VER_MAJOR) |
40 |
AC_SUBST(GIGEDIT_VER_MINOR) |
41 |
AC_SUBST(GIGEDIT_VER_RELEASE) |
42 |
|
43 |
# configure checks for the following file's existence to make sure that |
44 |
# the directory that it is told contains the source code in fact does. |
45 |
# Occasionally people accidentally specify the wrong directory with |
46 |
# `--srcdir'; this is a safety check. |
47 |
AC_CONFIG_SRCDIR(src/gigedit/main.cpp) |
48 |
|
49 |
GETTEXT_PACKAGE=gigedit |
50 |
AC_SUBST([GETTEXT_PACKAGE]) |
51 |
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) |
52 |
|
53 |
# the libgig header files need this |
54 |
AC_C_BIGENDIAN |
55 |
|
56 |
AC_PROG_CXX |
57 |
|
58 |
IT_PROG_INTLTOOL(0.35.0) |
59 |
AM_GLIB_GNU_GETTEXT |
60 |
|
61 |
PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 >= 2.4.10 gthread-2.0) |
62 |
PKG_CHECK_MODULES(GIG, gig >= 3.1.1) |
63 |
|
64 |
# check for presence of libsndfile |
65 |
PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2) |
66 |
AC_SUBST(SNDFILE_CFLAGS) |
67 |
AC_SUBST(SNDFILE_LIBS) |
68 |
|
69 |
# check for loop functionality in libsndfile |
70 |
gigedit_save_CFLAGS=$CFLAGS |
71 |
CFLAGS="$SNDFILE_CFLAGS $CFLAGS" |
72 |
AC_CHECK_MEMBERS([SF_INSTRUMENT.loops],, |
73 |
[AC_MSG_WARN([Your version of libsndfile does not support |
74 |
reading of loop information. Gigedit will not be able to |
75 |
extract loop information from sample files.])], |
76 |
[#include <sndfile.h>]) |
77 |
CFLAGS=$gigedit_save_CFLAGS |
78 |
|
79 |
# check for (optional) presence of liblinuxsampler |
80 |
liblinuxsampler_version="0.4.0.5cvs" |
81 |
PKG_CHECK_MODULES( |
82 |
LINUXSAMPLER, linuxsampler >= $liblinuxsampler_version, |
83 |
have_linuxsampler=1, have_linuxsampler=0 |
84 |
) |
85 |
LINUXSAMPLER_PLUGIN_DIR= |
86 |
if test "$have_linuxsampler" = "0"; then |
87 |
echo "Required liblinuxsampler version not found!" |
88 |
echo "You need to have liblinuxsampler version ${liblinuxsampler_version}" |
89 |
echo "installed. Support for on-the-fly editing with LinuxSampler will" |
90 |
echo "be disabled." |
91 |
else |
92 |
echo "Found linuxsampler $liblinuxsampler_version" |
93 |
echo -n "Retrieving LinuxSampler's plugin dir... " |
94 |
LINUXSAMPLER_PLUGIN_DIR=`pkg-config --variable plugindir linuxsampler` |
95 |
if test "$LINUXSAMPLER_PLUGIN_DIR" = ""; then |
96 |
have_linuxsampler=0 |
97 |
echo "Error" |
98 |
echo "Could not retrieve LinuxSampler's plugin directory. Support" |
99 |
echo "for on-the-fly editing with LinuxSampler will be disabled." |
100 |
else |
101 |
echo "${LINUXSAMPLER_PLUGIN_DIR} " |
102 |
# convert absolute LS plugin dir into relative dir |
103 |
# (see ch 27.10 of the automake manual, |
104 |
# "Installing to Hard-Coded Locations") |
105 |
LINUXSAMPLER_PLUGIN_DIR=`echo "${LINUXSAMPLER_PLUGIN_DIR}" | sed 's/^.*\/lib\//\${libdir}\//g'` |
106 |
echo "Relative plugin dir: ${LINUXSAMPLER_PLUGIN_DIR}" |
107 |
fi |
108 |
fi |
109 |
AC_SUBST(LINUXSAMPLER_CFLAGS) |
110 |
AC_SUBST(LINUXSAMPLER_LIBS) |
111 |
AC_SUBST(LINUXSAMPLER_PLUGIN_DIR) |
112 |
AM_CONDITIONAL(HAVE_LINUXSAMPLER, test $have_linuxsampler = "1") |
113 |
AC_DEFINE_UNQUOTED( |
114 |
HAVE_LINUXSAMPLER, $have_linuxsampler, |
115 |
[Define to 1 if you have LinuxSampler installed.] |
116 |
) |
117 |
|
118 |
AC_CONFIG_HEADERS(config.h) |
119 |
AM_INIT_AUTOMAKE(gigedit, "$GIGEDIT_VER_MAJOR.$GIGEDIT_VER_MINOR.$GIGEDIT_VER_RELEASE") |
120 |
|
121 |
AC_CONFIG_FILES([ |
122 |
Makefile |
123 |
src/Makefile |
124 |
src/gigedit/Makefile |
125 |
src/plugin/Makefile |
126 |
po/Makefile.in |
127 |
debian/Makefile |
128 |
doc/Makefile |
129 |
doc/quickstart/Makefile |
130 |
win32/libgigedit.dev |
131 |
win32/gigedit.dev |
132 |
win32/Makefile |
133 |
]) |
134 |
AC_OUTPUT |