comparison configure.ac @ 0:158f40a613a5

Initial import of material from SV and Vect. This builds and runs, but does not yet have the layout we need
author Chris Cannam
date Fri, 16 Nov 2012 11:48:16 +0000
parents
children ca1889e54806
comparison
equal deleted inserted replaced
-1:000000000000 0:158f40a613a5
1
2 AC_INIT([Tony], 0.0, cannam@all-day-breakfast.com)
3
4 AC_CONFIG_SRCDIR(src/main.cpp)
5
6 # Autoconf will set CXXFLAGS; we don't usually want it to, because we
7 # either define our own flags (at least if GCC is in use) or else use
8 # the user's preferences. We need to ensure CXXFLAGS is only set if
9 # the user has expressly set it. So, save the user's (or empty)
10 # setting now and restore it after Autoconf has done its bit of
11 # piddling about.
12 USER_CXXFLAGS="$CXXFLAGS"
13
14 # If the user supplied CFLAGS but not CXXFLAGS, use CFLAGS instead
15 if test x"$USER_CXXFLAGS" = x; then
16 if test x"$CFLAGS" != x; then
17 USER_CXXFLAGS="$CFLAGS"
18 fi
19 fi
20
21 AC_LANG_CPLUSPLUS
22
23 AC_PROG_CC
24 AC_PROG_CXX
25 AC_PROG_INSTALL
26 AC_PROG_MKDIR_P
27
28 AC_HEADER_STDC
29
30 # These are the flags Autoconf guesses for us; we use them later if
31 # the user has set none and we are not using GCC (so lack our own
32 # preferred flags)
33 AUTOCONF_CXXFLAGS="$CXXFLAGS"
34
35 PKG_PROG_PKG_CONFIG
36
37 SV_CHECK_QT
38
39 SV_DEFINES_DEBUG="-DDEBUG -DBUILD_DEBUG -DWANT_TIMING"
40 SV_DEFINES_RELEASE="-DNDEBUG -DBUILD_RELEASE -DNO_TIMING"
41 SV_DEFINES_MINIMAL="$SV_DEFINES_RELEASE"
42
43 # Now we have: USER_CXXFLAGS contains any flags the user set
44 # explicitly; AUTOCONF_CXXFLAGS contains flags that Autoconf thought
45 # we should use. If we have GCC, we override the latter but then
46 # allow ourselves to be overridden (later) by the former
47
48 CXXFLAGS_DEBUG="$AUTOCONF_CXXFLAGS"
49 CXXFLAGS_RELEASE="$AUTOCONF_CXXFLAGS"
50 CXXFLAGS_MINIMAL="$AUTOCONF_CXXFLAGS"
51
52 if test "x$GCC" = "xyes"; then
53 CXXFLAGS_DEBUG="-Wall -Woverloaded-virtual -Wextra -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -g -pipe"
54 CXXFLAGS_RELEASE="-g0 -O2 -Wall -pipe"
55 CXXFLAGS_MINIMAL="-g0 -O0"
56 fi
57
58 CXXFLAGS_BUILD="$CXXFLAGS_RELEASE"
59 SV_DEFINES_BUILD="$SV_DEFINES_RELEASE"
60
61 QMAKE_CONFIG="release"
62
63 AC_ARG_ENABLE(debug, [AS_HELP_STRING([--enable-debug],[enable debug support [default=no]])],[AC_MSG_NOTICE([enabling debug build])
64 QMAKE_CONFIG="debug"
65 CXXFLAGS_BUILD="$CXXFLAGS_DEBUG"
66 SV_DEFINES_BUILD="$SV_DEFINES_DEBUG"])
67
68 if test x"$USER_CXXFLAGS" != x; then
69 AC_MSG_NOTICE([The CXXFLAGS environment variable is set to "$USER_CXXFLAGS".])
70 AC_MSG_NOTICE(Overriding default compiler flags with the above user setting.)
71 CXXFLAGS_BUILD="$USER_CXXFLAGS"
72 CXXFLAGS_MINIMAL="$USER_CXXFLAGS"
73 fi
74
75 CXXFLAGS="$CXXFLAGS_BUILD $SV_DEFINES_BUILD"
76
77 SV_MODULE_REQUIRED([bz2],[],[bzlib.h],[bz2],[BZ2_bzReadOpen])
78 SV_MODULE_REQUIRED([fftw3],[fftw3 >= 3.0.0],[fftw3.h],[fftw3],[fftw_execute])
79 SV_MODULE_REQUIRED([fftw3f],[fftw3f >= 3.0.0],[fftw3.h],[fftw3f],[fftwf_execute])
80 SV_MODULE_REQUIRED([sndfile],[sndfile >= 1.0.16],[sndfile.h],[sndfile],[sf_open])
81 SV_MODULE_REQUIRED([samplerate],[samplerate >= 0.1.2],[samplerate.h],[samplerate],[src_new])
82 SV_MODULE_REQUIRED([vamp],[vamp >= 2.1],[vamp/vamp.h],[],[])
83 SV_MODULE_REQUIRED([vamphostsdk],[vamp-hostsdk >= 2.3.1],[vamp-hostsdk/PluginLoader.h],[vamp-hostsdk],[libvamphostsdk_v_2_3_1_present])
84 SV_MODULE_REQUIRED([rubberband],[rubberband],[rubberband/RubberBandStretcher.h],[rubberband],[rubberband_new])
85 SV_MODULE_REQUIRED([dataquay],[dataquay >= 0.9],[dataquay/Uri.h],[dataquay],[dataquay_v_0_9_present])
86
87 SV_MODULE_OPTIONAL([liblo],[],[lo/lo.h],[lo],[lo_address_new])
88 SV_MODULE_OPTIONAL([portaudio_2_0],[portaudio-2.0 >= 19],[portaudio.h],[portaudio],[Pa_IsFormatSupported])
89 SV_MODULE_OPTIONAL([JACK],[jack >= 0.100],[jack/jack.h],[jack],[jack_client_open])
90 SV_MODULE_OPTIONAL([libpulse],[libpulse >= 0.9],[pulse/pulseaudio.h],[pulse],[pa_stream_new])
91 SV_MODULE_OPTIONAL([lrdf],[lrdf >= 0.2],[lrdf.h],[lrdf],[lrdf_init])
92 SV_MODULE_OPTIONAL([oggz],[oggz >= 1.0.0],[oggz/oggz.h],[oggz],[oggz_run])
93 SV_MODULE_OPTIONAL([fishsound],[fishsound >= 1.0.0],[fishsound/fishsound.h],[fishsound],[fish_sound_new])
94 SV_MODULE_OPTIONAL([mad],[mad >= 0.15.0],[mad.h],[mad],[mad_decoder_init])
95 SV_MODULE_OPTIONAL([id3tag],[id3tag >= 0.15.0],[id3tag.h],[id3tag],[id3_tag_new])
96
97 # Link in -lX11 if it exists -- this is for the X error handler
98 SV_MODULE_OPTIONAL([X11],[x11 >= 1.0.0],[X11/X.h],[x11],[XGetErrorText])
99
100 AC_SUBST(PERL)
101 AC_SUBST(XARGS)
102 AC_SUBST(MAKEDEPEND)
103 AC_SUBST(SHA1SUM)
104 AC_SUBST(CUT)
105
106 AC_SUBST(CFLAGS)
107 AC_SUBST(CXXFLAGS)
108 AC_SUBST(CXXFLAGS_MINIMAL)
109 AC_SUBST(HAVES)
110 AC_SUBST(LIBS)
111
112 AC_SUBST(CC)
113 AC_SUBST(CXX)
114
115 AC_SUBST(QMAKE_CONFIG)
116
117 AC_CONFIG_SUBDIRS([svcore svgui svapp])
118 AC_CONFIG_FILES([config.pri version.h])
119
120 AC_OUTPUT
121
122 if ! $QMAKE -r; then
123 AC_MSG_ERROR([qmake failed: Command was "$QMAKE -r"])
124 fi
125
126 AC_MSG_NOTICE([
127
128 Configuration complete.
129 Please check the above messages for any warnings that you
130 might care about, and then run "make".
131
132 The file config.pri contains the configuration settings for
133 qmake. If you want to adjust these by hand, edit config.pri
134 and run "qmake -r" again to regenerate the Makefile.
135 ])