If default_library is set to static, the libfdt target (which just uses library()) is already static, so we should just use that. This fixes this Meson error: libfdt/meson.build:37:11: ERROR: Tried to create target "fdt", but a target of that name already exists. Signed-off-by: Alyssa Ross <hi@xxxxxxxxx> --- libfdt/meson.build | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/libfdt/meson.build b/libfdt/meson.build index 2ea1448..9d07c5f 100644 --- a/libfdt/meson.build +++ b/libfdt/meson.build @@ -34,19 +34,21 @@ libfdt = library( install: true, ) -libfdt_a = static_library( - 'fdt', sources, - install: true, -) +link_with = libfdt + +if get_option('default_library') != 'static' + libfdt_a = static_library( + 'fdt', sources, + install: true, + ) + + if static_build + link_with = libfdt_a + endif +endif libfdt_inc = include_directories('.') -if static_build - link_with = libfdt_a -else - link_with = libfdt -endif - libfdt_dep = declare_dependency( include_directories: libfdt_inc, link_with: link_with, base-commit: 95c74d71f0904235d44892627322f60a18c9a28c -- 2.43.0