| version_script = '-Wl,--version-script=@0@'.format(meson.current_source_dir() / 'version.lds') |
| if not cc.has_link_argument(version_script) |
| version_script = [] |
| endif |
| |
| sources = files( |
| 'fdt.c', |
| 'fdt_addresses.c', |
| 'fdt_check.c', |
| 'fdt_empty_tree.c', |
| 'fdt_overlay.c', |
| 'fdt_ro.c', |
| 'fdt_rw.c', |
| 'fdt_strerror.c', |
| 'fdt_sw.c', |
| 'fdt_wip.c', |
| ) |
| |
| libfdt = library( |
| 'fdt', sources, |
| version: '1.6.0', |
| link_args: ['-Wl,--no-undefined', version_script], |
| link_depends: 'version.lds', |
| install: true, |
| ) |
| |
| libfdt_a = static_library( |
| 'fdt', sources, |
| install: true, |
| ) |
| |
| 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, |
| ) |
| |
| install_headers( |
| files( |
| 'fdt.h', |
| 'libfdt.h', |
| 'libfdt_env.h', |
| ) |
| ) |
| |
| pkgconfig = import('pkgconfig') |
| |
| pkgconfig.generate( |
| libraries: libfdt, |
| version: meson.project_version(), |
| filebase: 'libfdt', |
| name: 'libfdt', |
| description: 'Flat Device Tree manipulation', |
| ) |