xref: /aosp_15_r20/external/dtc/libfdt/meson.build (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
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
34if static_build
35  link_with = libfdt_a
36else
37  link_with = libfdt
38endif
39
40libfdt_dep = declare_dependency(
41  include_directories: libfdt_inc,
42  link_with: link_with,
43)
44
45install_headers(
46  files(
47    'fdt.h',
48    'libfdt.h',
49    'libfdt_env.h',
50  )
51)
52
53pkgconfig = import('pkgconfig')
54
55pkgconfig.generate(
56  libraries: libfdt,
57  version: meson.project_version(),
58  filebase: 'libfdt',
59  name: 'libfdt',
60  description: 'Flat Device Tree manipulation',
61)
62