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 <william....@icloud.com>
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"

Reply via email to