mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-20 16:29:07 +08:00
meson: kill meson.build as it's not used anymore
Meson.build was added to facilitate systemd integration, but systemd integration went different direction and we don't need meson.build anymore. So remove it and not maintain it anymore. Signed-off-by: Andrii Nakryiko <andriin@fb.com>
This commit is contained in:
committed by
Andrii Nakryiko
parent
2cc0829775
commit
1a26b51b1c
21
README.md
21
README.md
@@ -47,24 +47,3 @@ headers in a build directory /build/root/:
|
||||
$ cd src
|
||||
$ PKG_CONFIG_PATH=/build/root/lib64/pkgconfig DESTDIR=/build/root make install
|
||||
```
|
||||
|
||||
To integrate libbpf into a project which uses Meson building system define
|
||||
`[wrap-git]` file in `subprojects` folder.
|
||||
To add libbpf dependency to the parent parent project, e.g. for
|
||||
libbpf_static_dep:
|
||||
```
|
||||
libbpf_obj = subproject('libbpf', required : true)
|
||||
libbpf_static_dep = libbpf_proj.get_variable('libbpf_static_dep')
|
||||
```
|
||||
|
||||
To validate changes to meson.build
|
||||
```bash
|
||||
$ python3 meson.py build
|
||||
$ ninja -C build/
|
||||
```
|
||||
|
||||
To install headers, libs and pkgconfig
|
||||
```bash
|
||||
$ cd build
|
||||
$ ninja install
|
||||
```
|
||||
|
||||
95
meson.build
95
meson.build
@@ -1,95 +0,0 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1 OR BSD-2-Clause
|
||||
project('libbpf', 'c',
|
||||
version : '0.0.3',
|
||||
license : 'LGPL-2.1 OR BSD-2-Clause',
|
||||
default_options : [
|
||||
'prefix=/usr',
|
||||
],
|
||||
meson_version : '>= 0.46',
|
||||
)
|
||||
|
||||
patchlevel = meson.project_version().split('.')[1]
|
||||
|
||||
libbpf_source_dir = './'
|
||||
|
||||
libbpf_sources = files(run_command('find',
|
||||
[
|
||||
'@0@/src'.format(libbpf_source_dir),
|
||||
'-type',
|
||||
'f',
|
||||
'-name',
|
||||
'*.[h|c]']).stdout().split())
|
||||
|
||||
libbpf_headers = files(
|
||||
join_paths(libbpf_source_dir, 'src/bpf.h'),
|
||||
join_paths(libbpf_source_dir, 'src/btf.h'),
|
||||
join_paths(libbpf_source_dir, 'src/libbpf.h'))
|
||||
|
||||
feature_rellocarray = run_command(join_paths(libbpf_source_dir, 'scripts/check-reallocarray.sh'))
|
||||
|
||||
libbpf_c_args = ['-g',
|
||||
'-O2',
|
||||
'-Werror',
|
||||
'-Wall',
|
||||
]
|
||||
|
||||
if feature_rellocarray.stdout().strip() != ''
|
||||
libbpf_c_args += '-DCOMPAT_NEED_REALLOCARRAY'
|
||||
endif
|
||||
|
||||
# bpf_includes are required to include bpf.h, btf.h, libbpf.h
|
||||
bpf_includes = include_directories(
|
||||
join_paths(libbpf_source_dir, 'src'))
|
||||
|
||||
libbpf_includes = include_directories(
|
||||
join_paths(libbpf_source_dir, 'include'),
|
||||
join_paths(libbpf_source_dir, 'include/uapi'))
|
||||
|
||||
libelf = dependency('libelf')
|
||||
libelf = dependency('libelf', required: false)
|
||||
if not libelf.found()
|
||||
libelf = cc.find_library('elf', required: true)
|
||||
endif
|
||||
|
||||
deps = [libelf]
|
||||
|
||||
libbpf_static = static_library(
|
||||
'bpf',
|
||||
libbpf_sources,
|
||||
c_args : libbpf_c_args,
|
||||
dependencies : deps,
|
||||
include_directories : libbpf_includes,
|
||||
install : true)
|
||||
|
||||
libbpf_static_dep = declare_dependency(link_with : libbpf_static)
|
||||
|
||||
libbpf_map_source_path = join_paths(libbpf_source_dir, 'src/libbpf.map')
|
||||
libbpf_map_abs_path = join_paths(meson.current_source_dir(), libbpf_map_source_path)
|
||||
|
||||
libbpf_c_args += ['-fPIC', '-fvisibility=hidden']
|
||||
|
||||
libbpf_link_args = ['-Wl,--version-script=@0@'.format(libbpf_map_abs_path)]
|
||||
|
||||
libbpf_shared = shared_library(
|
||||
'bpf',
|
||||
libbpf_sources,
|
||||
c_args : libbpf_c_args,
|
||||
dependencies : deps,
|
||||
include_directories : libbpf_includes,
|
||||
install : true,
|
||||
link_args : libbpf_link_args,
|
||||
link_depends : libbpf_map_source_path,
|
||||
soversion : patchlevel,
|
||||
version : meson.project_version())
|
||||
|
||||
libbpf_shared_dep = declare_dependency(link_with : libbpf_shared)
|
||||
|
||||
install_headers(libbpf_headers, subdir : 'bpf')
|
||||
|
||||
pkg = import('pkgconfig')
|
||||
pkg.generate(
|
||||
name: meson.project_name(),
|
||||
version: meson.project_version(),
|
||||
libraries: libbpf_shared,
|
||||
requires_private: ['libelf'],
|
||||
description: '''BPF library''')
|
||||
Reference in New Issue
Block a user