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

Reply via email to