annotate configure.ac @ 588:d122d3595a32

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