1version_script = '-Wl,--version-script=@0@'.format(meson.current_source_dir() / 'version.lds') 2if not cc.has_link_argument(version_script) 3 version_script = [] 4endif 5 6sources = files( 7 'fdt.c', 8 'fdt_addresses.c', 9 'fdt_check.c', 10 'fdt_empty_tree.c', 11 'fdt_overlay.c', 12 'fdt_ro.c', 13 'fdt_rw.c', 14 'fdt_strerror.c', 15 'fdt_sw.c', 16 'fdt_wip.c', 17) 18 19libfdt = library( 20 'fdt', sources, 21 version: '1.6.0', 22 link_args: ['-Wl,--no-undefined', version_script], 23 link_depends: 'version.lds', 24 install: true, 25) 26 27libfdt_a = static_library( 28 'fdt', sources, 29 install: true, 30) 31 32libfdt_inc = include_directories('.') 33 34libfdt_dep = declare_dependency( 35 include_directories: libfdt_inc, 36 link_with: libfdt, 37) 38 39install_headers( 40 files( 41 'fdt.h', 42 'libfdt.h', 43 'libfdt_env.h', 44 ) 45) 46 47pkgconfig = import('pkgconfig') 48 49pkgconfig.generate( 50 libraries: libfdt, 51 version: meson.project_version(), 52 filebase: 'libfdt', 53 name: 'libfdt', 54 description: 'Flat Device Tree manipulation', 55) 56