annotate configure.ac @ 60:400e09d69b8f

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