libfdt: pass sources as keyword argument to library()

Meson expects the source list for library() to be passed either as
positional arguments after the target name or via the 'sources:'
keyword. Using the implicit positional form can lead to malformed
linker commands on some toolchains, with spurious arguments such as
'libfdt' and '.' being treated as input files.

Explicitly pass the source list via 'sources: sources' and declare
the ABI version with 'soversion: '1'' to match the installed
libfdt.so.1 soname.

This fixes build failures where the linker reported:
  cannot find libfdt: file format not recognized
  cannot find .: file format not recognized

Signed-off-by: Héctor Orón Martínez <hector.oron@gmail.com>

Message-ID: <CAODfWeHQcjGn0CtweT4Q9Em6WC9cTmvfxhuQCgae4gdu5W9hSA@mail.gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/libfdt/meson.build b/libfdt/meson.build
index 68d4c1d..6c41f9f 100644
--- a/libfdt/meson.build
+++ b/libfdt/meson.build
@@ -27,8 +27,10 @@
 
 link_args += version_script
 libfdt = library(
-  'fdt', sources,
+  'fdt',
+  sources: sources,
   version: meson.project_version(),
+  soversion: '1',
   link_args: link_args,
   link_depends: 'version.lds',
   install: get_option('default_library') != 'static' or not wheel_only,