comparison configure.ac @ 1614:e5ead8c8f5ed

Update configure check for Cap'n Proto to avoid directly looking up mangled symbols
author Chris Cannam
date Mon, 27 Feb 2017 13:24:29 +0000
parents 782025ae1249
children cc481995c96d
comparison
equal deleted inserted replaced
1613:3f6c18fcc075 1614:e5ead8c8f5ed
87 SV_MODULE_REQUIRED([sord],[sord-0 >= 0.5],[sord/sord.h],[sord-0],[sord_world_new]) 87 SV_MODULE_REQUIRED([sord],[sord-0 >= 0.5],[sord/sord.h],[sord-0],[sord_world_new])
88 SV_MODULE_REQUIRED([serd],[serd-0 >= 0.5],[serd/serd.h],[serd-0],[serd_reader_read_file]) 88 SV_MODULE_REQUIRED([serd],[serd-0 >= 0.5],[serd/serd.h],[serd-0],[serd_reader_read_file])
89 89
90 # Cap'n Proto 0.5.3 is the latest release at the time of writing, but 90 # Cap'n Proto 0.5.3 is the latest release at the time of writing, but
91 # it lacks the expectedSizeInWordsFromPrefix function which exists in 91 # it lacks the expectedSizeInWordsFromPrefix function which exists in
92 # the git repo. Check for a newer release or, if that's not found with 92 # the git repo. Our check is for that specific symbol, which would
93 # pkg-config, check for that specific symbol (mangled). 93 # indicate a git clone, or for release 0.5.4 or later via pkg-config.
94 AC_MSG_NOTICE([checking specifically for a newer Cap'n Proto than the 0.5.3 release]) 94 PKG_CHECK_MODULES([capnp],[capnp => 0.5.4],[HAVES="$HAVES HAVE_CAPNP";CXXFLAGS="$CXXFLAGS $capnp_CFLAGS";LIBS="$LIBS $capnp_LIBS"],[AC_MSG_NOTICE([Failed to find required module capnp using pkg-config, trying again by old-fashioned means])])
95 SV_MODULE_REQUIRED([capnp],[capnp >= 0.5.4],[capnp/common.h],[capnp],[_ZN5capnp29expectedSizeInWordsFromPrefixEN2kj8ArrayPtrIKNS_4wordEEE]) 95 if test -z "$capnp_LIBS" ; then
96 SV_MODULE_REQUIRED([kj],[kj >= 0.5.4],[kj/common.h],[kj],[_ZN2kj20BufferedOutputStreamD0Ev]) 96 AC_COMPILE_IFELSE([
97 AC_LANG_SOURCE([[
98 #include <capnp/serialize.h>
99 int main() {
100 kj::Array<capnp::word> prefix;
101 return capnp::expectedSizeInWordsFromPrefix(prefix.asPtr());
102 }]])],
103 [HAVES="$HAVES HAVE_CAPNP";LIBS="$LIBS -lcapnp -lkj"],
104 [AC_MSG_ERROR([Failed to find appropriate capnp library])]
105 )
106 fi
97 107
98 SV_MODULE_OPTIONAL([liblo],[],[lo/lo.h],[lo],[lo_address_new]) 108 SV_MODULE_OPTIONAL([liblo],[],[lo/lo.h],[lo],[lo_address_new])
99 SV_MODULE_OPTIONAL([portaudio],[portaudio-2.0 >= 19],[portaudio.h],[portaudio],[Pa_IsFormatSupported]) 109 SV_MODULE_OPTIONAL([portaudio],[portaudio-2.0 >= 19],[portaudio.h],[portaudio],[Pa_IsFormatSupported])
100 SV_MODULE_OPTIONAL([JACK],[jack >= 0.100],[jack/jack.h],[jack],[jack_client_open]) 110 SV_MODULE_OPTIONAL([JACK],[jack >= 0.100],[jack/jack.h],[jack],[jack_client_open])
101 SV_MODULE_OPTIONAL([libpulse],[libpulse >= 0.9],[pulse/pulseaudio.h],[pulse],[pa_stream_new]) 111 SV_MODULE_OPTIONAL([libpulse],[libpulse >= 0.9],[pulse/pulseaudio.h],[pulse],[pa_stream_new])