diff --git a/README.md b/README.md index 09e5535..0b9f485 100644 --- a/README.md +++ b/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 -``` diff --git a/meson.build b/meson.build deleted file mode 100644 index 30140ad..0000000 --- a/meson.build +++ /dev/null @@ -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''')