This is an automated email from the ASF dual-hosted git repository.
willayd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-nanoarrow.git
The following commit(s) were added to refs/heads/main by this push:
new 43cf040f fix: Assorted updates to improve Meson WrapDB entry (#803)
43cf040f is described below
commit 43cf040f0854eabb6ec13fa22b7b304d12e5dc0b
Author: William Ayd <[email protected]>
AuthorDate: Thu Aug 28 09:13:32 2025 -0400
fix: Assorted updates to improve Meson WrapDB entry (#803)
---
meson.build | 25 +++++++++++++++++--------
meson.options => meson_options.txt | 0
python/generate_dist.py | 2 +-
3 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
index bc7a535f..9e05f740 100644
--- a/meson.build
+++ b/meson.build
@@ -20,8 +20,8 @@ project(
'c',
'cpp',
version: '0.8.0-SNAPSHOT',
- license: 'Apache 2.0',
- meson_version: '>=1.3.0',
+ license: 'Apache-2.0',
+ meson_version: '>=0.58.0',
default_options: ['c_std=c99', 'warning_level=2', 'cpp_std=c++17'],
)
@@ -91,12 +91,20 @@ nanoarrow_lib = library(
gnu_symbol_visibility: 'hidden',
)
+pkg = import('pkgconfig')
+pkg.generate(
+ nanoarrow_lib,
+ description: 'Helpers for Arrow C Data & Arrow C Stream interfaces',
+)
+
nanoarrow_dep = declare_dependency(
include_directories: [incdir],
link_with: nanoarrow_lib,
compile_args: nanoarrow_dep_args,
)
+meson.override_dependency('nanoarrow', nanoarrow_dep)
+
if get_option('ipc').enabled()
# flatcc does not export symbols in a way that works with
# MSVC compilers, so we force static linkage
@@ -135,11 +143,14 @@ if get_option('ipc').enabled()
c_args: ipc_lib_c_args,
gnu_symbol_visibility: 'hidden',
)
+ pkg.generate(nanoarrow_ipc_lib, filebase: 'nanoarrow-ipc')
+
nanoarrow_ipc_dep = declare_dependency(
include_directories: [incdir],
link_with: nanoarrow_ipc_lib,
dependencies: [nanoarrow_dep],
)
+ meson.override_dependency('nanoarrow-ipc', nanoarrow_ipc_dep)
zlib_dep = dependency('zlib', default_options: ['tests=disabled'])
else
flatcc_dep = disabler()
@@ -191,12 +202,14 @@ if needs_device
cpp_args: device_defines,
gnu_symbol_visibility: 'hidden',
)
+ pkg.generate(nanoarrow_device_lib, filebase: 'nanoarrow-device')
nanoarrow_device_dep = declare_dependency(
include_directories: [incdir],
link_with: nanoarrow_device_lib,
dependencies: device_deps,
)
+ meson.override_dependency('nanoarrow-device', nanoarrow_device_dep)
else
nanoarrow_device_dep = disabler()
endif
@@ -213,12 +226,14 @@ if needs_testing
install: true,
gnu_symbol_visibility: 'hidden',
)
+ pkg.generate(nanoarrow_testing_lib, filebase: 'nanoarrow-testing')
nanoarrow_testing_dep = declare_dependency(
include_directories: [incdir],
link_with: nanoarrow_testing_lib,
dependencies: [nanoarrow_dep, nlohmann_json_dep],
)
+ meson.override_dependency('nanoarrow-testing', nanoarrow_testing_dep)
else
nanoarrow_testing_dep = disabler()
endif
@@ -385,9 +400,3 @@ if get_option('apps').enabled()
dependencies: [nanoarrow_ipc_dep],
)
endif
-
-pkg = import('pkgconfig')
-pkg.generate(
- nanoarrow_lib,
- description: 'Helpers for Arrow C Data & Arrow C Stream interfaces',
-)
diff --git a/meson.options b/meson_options.txt
similarity index 100%
rename from meson.options
rename to meson_options.txt
diff --git a/python/generate_dist.py b/python/generate_dist.py
index abf4104b..19d8da0f 100644
--- a/python/generate_dist.py
+++ b/python/generate_dist.py
@@ -30,7 +30,7 @@ def main():
subproj_dir.mkdir(parents=True)
shutil.copy(src_dir / "meson.build", subproj_dir / "meson.build")
- shutil.copy(src_dir / "meson.options", subproj_dir / "meson.options")
+ shutil.copy(src_dir / "meson_options.txt", subproj_dir /
"meson_options.txt")
# Copy over any subproject dependency / wrap files
subproj_subproj_dir = subproj_dir / "subprojects"