- docker
lint:pedantic:
- stage: test # could be in build already, but let's not block the test stage if this fails
- dependencies: [] # do not download build artifacts
- except:
- - master
- variables:
- CFLAGS: -Werror -Wall -Wpedantic -ggdb -std=gnu11
- script:
- - make -k all
- - make clean
- - make -k all CC=clang CXX=clang++ \
- CFLAGS="$CFLAGS -Wno-newline-eof -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-folding-constant"
+ <<: *test_nodep
tags:
- docker
- linux
- amd64
+ script:
+ - meson build_pedantic_gcc -Dwerror=true -Dc_args='-Wpedantic'
+ - ninja -C build_pedantic_gcc
+ - >
+ CC=clang CXX=clang++ meson build_pedantic_clang -Dwerror=true -Dc_args='
+ -Wpedantic -Wno-newline-eof -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-folding-constant'
+ - ninja -C build_pedantic_clang
lint:lua:
stage: test
.. note:: Latest up-to-date packages for various distribution can be obtained
from `<https://knot-resolver.cz/download/>`_
-Knot-resolver is written for UNIX-like systems, mainly in C99.
+Knot-resolver is written for UNIX-like systems using modern C standards.
Portable I/O is provided by libuv_.
Some 64-bit systems with LuaJIT 2.1 may be affected by
`a problem <https://github.com/LuaJIT/LuaJIT/blob/v2.1/doc/status.html#L100>`_
.. [#] If ``meson >= 0.47`` isn't available for your distro, check backports
repository oor use python pip to install it.
-.. [#] Requires C99, ``__attribute__((cleanup))`` and ``-MMD -MP`` for
+.. [#] Requires ``__attribute__((cleanup))`` and ``-MMD -MP`` for
dependency file generation. GCC, Clang and ICC are supported.
.. [#] You can use variables ``<dependency>_CFLAGS`` and ``<dependency>_LIBS``
to configure dependencies manually (i.e. ``libknot_CFLAGS`` and
['c', 'cpp'],
license: 'GPLv3+',
version: '3.2.1',
- default_options: ['c_std=c99', 'b_ndebug=if-release'],
+ default_options: ['c_std=gnu11', 'b_ndebug=if-release'],
meson_version: '>=0.47.0',
)