meson.build: require GCC 8 or clang 5

Commit 60f957ed64 broken the GCC 7 build, but instead of working
around missing C++17 features in old compilers, let's update the
compiler version requirements.

This commit raises the clang requirement to version 5 because this is
the first version to support `constexpr` lambdas, to be used to
`Dsd2Pcm.cxx`.
This commit is contained in:
Max Kellermann 2020-05-07 12:41:40 +02:00
parent d1d6a3871e
commit a24ef280cc
3 changed files with 6 additions and 6 deletions

View File

@ -12,7 +12,7 @@ Code Style
* indent with tabs (width 8) * indent with tabs (width 8)
* don't write CPP when you can write C++: use inline functions and constexpr instead of macros * don't write CPP when you can write C++: use inline functions and constexpr instead of macros
* comment your code, document your APIs * comment your code, document your APIs
* the code should be C++17 compliant, and must compile with :program:`GCC` 7 and :program:`clang` 4 * the code should be C++17 compliant, and must compile with :program:`GCC` 8 and :program:`clang` 5
* all code must be exception-safe * all code must be exception-safe
* classes and functions names use CamelCase; variables are lower-case with words separated by underscore * classes and functions names use CamelCase; variables are lower-case with words separated by underscore

View File

@ -53,7 +53,7 @@ Download the source tarball from the `MPD home page <https://musicpd.org>`_ and
In any case, you need: In any case, you need:
* a C++14 compiler (e.g. GCC 7 or clang 4) * a C++14 compiler (e.g. GCC 8 or clang 5)
* `Meson 0.49.0 <http://mesonbuild.com/>`__ and `Ninja * `Meson 0.49.0 <http://mesonbuild.com/>`__ and `Ninja
<https://ninja-build.org/>`__ <https://ninja-build.org/>`__
* Boost 1.58 * Boost 1.58

View File

@ -15,10 +15,10 @@ version_cxx = vcs_tag(input: 'src/GitVersion.cxx', output: 'GitVersion.cxx')
compiler = meson.get_compiler('cpp') compiler = meson.get_compiler('cpp')
c_compiler = meson.get_compiler('c') c_compiler = meson.get_compiler('c')
if compiler.get_id() == 'gcc' and compiler.version().version_compare('<7') if compiler.get_id() == 'gcc' and compiler.version().version_compare('<8')
warning('Your GCC version is too old. You need at least version 7.') warning('Your GCC version is too old. You need at least version 8.')
elif compiler.get_id() == 'clang' and compiler.version().version_compare('<4') elif compiler.get_id() == 'clang' and compiler.version().version_compare('<5')
warning('Your clang version is too old. You need at least version 4.') warning('Your clang version is too old. You need at least version 5.')
endif endif
version_conf = configuration_data() version_conf = configuration_data()