annotate configure.ac @ 490:bc04d651f8a4

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