Browse Source

yaml: Depend on libyaml >= 0.2.3

libyaml before 0.2.3 expects non-const string parameters. Supporting
both variants would require either cpp magic or ignoring
"discarded-qualifiers" compiler warnings. For the sake of simplicity
just support libyaml 0.2.3 and newer.

Note that NO_YAML can be overwritten on the make command line.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
main
Uwe Kleine-König 2 years ago committed by David Gibson
parent
commit
0ac8b30ba5
  1. 6
      Makefile
  2. 2
      meson.build
  3. 2
      tests/run_tests.sh

6
Makefile

@ -55,7 +55,11 @@ else @@ -55,7 +55,11 @@ else
CFLAGS += $(shell $(PKG_CONFIG) --cflags valgrind)
endif

NO_YAML := $(shell $(PKG_CONFIG) --exists yaml-0.1; echo $$?)
# libyaml before version 0.2.3 expects non-const string parameters. Supporting
# both variants would require either cpp magic or passing
# -Wno-error=discarded-qualifiers to the compiler. For the sake of simplicity
# just support libyaml >= 0.2.3.
NO_YAML := $(shell $(PKG_CONFIG) --atleast-version 0.2.3 yaml-0.1; echo $$?)
ifeq ($(NO_YAML),1)
CFLAGS += -DNO_YAML
else

2
meson.build

@ -42,7 +42,7 @@ else @@ -42,7 +42,7 @@ else
endif

yamltree = 'yamltree.c'
yaml = dependency('yaml-0.1', required: get_option('yaml'), static: static_build)
yaml = dependency('yaml-0.1', version: '>=0.2.3', required: get_option('yaml'), static: static_build)
if not yaml.found()
add_project_arguments('-DNO_YAML', language: 'c')
yamltree = []

2
tests/run_tests.sh

@ -32,7 +32,7 @@ if [ -n "$NO_YAML" ]; then @@ -32,7 +32,7 @@ if [ -n "$NO_YAML" ]; then
no_yaml=false
fi
else
if pkg-config --exists yaml-0.1; then
if pkg-config --atleast-version 0.2.3 yaml-0.1; then
no_yaml=false
else
no_yaml=true

Loading…
Cancel
Save