Skip to content

bump minimum required gcc/clang version

Steve Lhomme requested to merge robUx4/vlc:min_gcc_clang into master

As with C++17 support we will need gcc 7 or clang 4, there is no point in having a smaller requirement for C code. Although the code should currently build with gcc 5 or clang 3.4, we do not have an OS target that is still using these.

  • Windows requires mingw-w64 v5 which was out in 2016, at that time gcc 6 was out. But since we want to require posix thread model, regular mingw-w64 still using v5 won't qualify. Developpers will need to use a recent toolchain.

  • macOS requires 10.11 which was out with clang 7

  • iOS requires v9 which needs XCode 12 that was available with OSX 10.15, so an even more recent clang version

  • Android 4.1/API 16 used the r8b NDK with an old gcc. But the build script actually requires the v25 NDK [1] with clang 14.

  • Linux there might be distros with old gcc. gcc 7 was out in May 2017 [2]. It's unlikely that distros older than that will get VLC 4. Users who want to build it anyway (without Qt6) may also compile their own gcc/clang.

  • WASM uses clang and seems to have started 5 years ago when clang 7 was out [3]. We use clang 18 in the CI.

  • BSD and others, we can't guarantee what compiler they use but going back to 2017 doesn't sound too bad to add support for VLC4.

[1] https://code.videolan.org/videolan/libvlcjni/-/blob/af30aa00f342473c28a4b2bd31c88b0b88a89629/buildsystem/compile-libvlc.sh#L106 [2] https://gcc.gnu.org/releases.html [3] https://releases.llvm.org/

Merge request reports