This is an automated email from the ASF dual-hosted git repository.
kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/main by this push:
new b59bdef4b6 GH-47431: [C++] Improve Meson configuration for WrapDB
distribution (#47541)
b59bdef4b6 is described below
commit b59bdef4b6ecf17e6c76c82a1b6014bf46391a05
Author: William Ayd <[email protected]>
AuthorDate: Fri Sep 26 09:33:18 2025 -0400
GH-47431: [C++] Improve Meson configuration for WrapDB distribution (#47541)
### Rationale for this change
These changes make it easier for downstream users to consume Arrow and its
individual components, whether they are available on the system or need to be
built from source.
### What changes are included in this PR?
Various updates to the Meson configuration to provide dependencies for
wrapdb, clean up various semantics
### Are these changes tested?
Yes
### Are there any user-facing changes?
No
* GitHub Issue: #47431
Authored-by: Will Ayd <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
---
cpp/src/arrow/acero/meson.build | 7 ++++++-
cpp/src/arrow/adapters/tensorflow/meson.build | 6 ++++++
cpp/src/arrow/csv/meson.build | 5 +++++
cpp/src/arrow/filesystem/meson.build | 6 ++++++
cpp/src/arrow/json/meson.build | 6 ++++++
cpp/src/arrow/meson.build | 3 +++
6 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/cpp/src/arrow/acero/meson.build b/cpp/src/arrow/acero/meson.build
index 93c7594dd8..c7a8bdb4ca 100644
--- a/cpp/src/arrow/acero/meson.build
+++ b/cpp/src/arrow/acero/meson.build
@@ -84,7 +84,11 @@ arrow_acero_lib = library(
gnu_symbol_visibility: 'inlineshidden',
)
-arrow_acero_dep = declare_dependency(link_with: [arrow_acero_lib])
+arrow_acero_dep = declare_dependency(
+ dependencies: [arrow_compute_dep],
+ link_with: [arrow_acero_lib],
+)
+meson.override_dependency('arrow-acero', arrow_acero_dep)
arrow_acero_testing_sources = ['test_nodes.cc', 'test_util_internal.cc']
@@ -145,6 +149,7 @@ foreach key, val : arrow_acero_benchmarks
endforeach
pkg.generate(
+ arrow_acero_lib,
filebase: 'arrow-acero',
name: 'Apache Arrow Acero Engine',
description: 'Apache Arrow\'s Acero Engine',
diff --git a/cpp/src/arrow/adapters/tensorflow/meson.build
b/cpp/src/arrow/adapters/tensorflow/meson.build
index f294d1010b..299b00c998 100644
--- a/cpp/src/arrow/adapters/tensorflow/meson.build
+++ b/cpp/src/arrow/adapters/tensorflow/meson.build
@@ -17,6 +17,12 @@
install_headers(['convert.h'], subdir: 'arrow/adapters/tensorflow')
+arrow_tensorflow_dep = declare_dependency(
+ include_directories: include_directories('.'),
+ dependencies: arrow_dep,
+)
+meson.override_dependency('arrow-tensorflow', arrow_tensorflow_dep)
+
pkg.generate(
filebase: 'arrow-tensorflow',
name: 'Apache Arrow Tensorflow',
diff --git a/cpp/src/arrow/csv/meson.build b/cpp/src/arrow/csv/meson.build
index 50850e12e0..ed91d00aa0 100644
--- a/cpp/src/arrow/csv/meson.build
+++ b/cpp/src/arrow/csv/meson.build
@@ -62,6 +62,11 @@ install_headers(
subdir: 'arrow/csv',
)
+arrow_csv_dep = declare_dependency(
+ include_directories: include_directories('.'),
+ dependencies: arrow_dep,
+)
+meson.override_dependency('arrow-csv', arrow_csv_dep)
pkg.generate(
filebase: 'arrow-csv',
diff --git a/cpp/src/arrow/filesystem/meson.build
b/cpp/src/arrow/filesystem/meson.build
index 964eedd2cf..99c0905e3c 100644
--- a/cpp/src/arrow/filesystem/meson.build
+++ b/cpp/src/arrow/filesystem/meson.build
@@ -34,6 +34,12 @@ install_headers(
subdir: 'arrow/filesystem',
)
+arrow_filesystem_dep = declare_dependency(
+ include_directories: include_directories('.'),
+ dependencies: arrow_dep,
+)
+meson.override_dependency('arrow-filesystem', arrow_filesystem_dep)
+
pkg.generate(
filebase: 'arrow-filesystem',
name: 'Apache Arrow Filesystem',
diff --git a/cpp/src/arrow/json/meson.build b/cpp/src/arrow/json/meson.build
index 15549c9fe6..bc1567df9e 100644
--- a/cpp/src/arrow/json/meson.build
+++ b/cpp/src/arrow/json/meson.build
@@ -55,6 +55,12 @@ install_headers(
subdir: 'arrow/json',
)
+arrow_json_dep = declare_dependency(
+ include_directories: include_directories('.'),
+ dependencies: arrow_dep,
+)
+meson.override_dependency('arrow-json', arrow_json_dep)
+
pkg.generate(
filebase: 'arrow-json',
name: 'Apache Arrow JSON',
diff --git a/cpp/src/arrow/meson.build b/cpp/src/arrow/meson.build
index e3490b2bb4..590de28ac2 100644
--- a/cpp/src/arrow/meson.build
+++ b/cpp/src/arrow/meson.build
@@ -496,6 +496,7 @@ arrow_dep = declare_dependency(
include_directories: [include_dir],
link_with: arrow_lib,
)
+meson.override_dependency('arrow', arrow_dep)
if needs_compute
arrow_compute_lib_sources = [
@@ -559,6 +560,7 @@ if needs_compute
include_directories: include_dir,
dependencies: arrow_dep,
)
+ meson.override_dependency('arrow-compute', arrow_compute_dep)
else
arrow_compute_dep = disabler()
endif
@@ -643,6 +645,7 @@ if needs_testing
)
arrow_testing_dep = declare_dependency(link_with: [arrow_testing_lib])
+ meson.override_dependency('arrow-testing', arrow_testing_dep)
else
arrow_testing_dep = disabler()
endif