annotate configure.ac @ 516:449a0355f864 v2.0_osx_deploy

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