Skip to content

NotesOnDependencies

Chris Collins edited this page Nov 5, 2019 · 1 revision

AFV-Native depends on a number of third party libraries. There are some considerations that need to be kept in mind if not using it in conjunction with conan.

OpenSSL

As AFV uses the chacha20 poly1305 stream cipher, the OpenSSL version must be 1.1.0 or newer. This means that it's not possible to dynamically link against a system OpenSSL if you want to support 2016 or earlier distributions.

libevent

Doesn't need SSL support. Should have thread support if you're planning to use interthread signalling with AFV-Native.

libcurl

Must have SSL support for use with the production AFV servers. For obvious reasons, should use the same OpenSSL library used by AFV-Native, so you probably can't use the system OpenSSL. DarwinSSL/WinSSL could work too, but they've not really been tested.

portaudio / rtaudio

Chris has an old version of the AudioDevice classes that used RtAudio rather than PortAudio.

Unfortunately, RtAudio's rate conversion turned out to be dreadfully broken with WDM drivers, so it had to be pulled from the project. If RtAudio gets bugfixed (or Chris bugfixes it himself), this driver may be restored as it has support for pulseaudio on Linux - something portaudio is missing.

glew

Glew is only used for the testclient, but as there's no formal conan package of the 2.2.0 release candidate, we rolled our own. The 2.2.0rc is only needed with VS2019 - it should be possible to roll glew back to the last stable if you're building with any other toolchain.

Clone this wiki locally