Skip to content

GH-46147: [C++] Implement GCS support in Meson#47568

Merged
kou merged 3 commits into
apache:mainfrom
WillAyd:meson-add-s3
Nov 9, 2025
Merged

GH-46147: [C++] Implement GCS support in Meson#47568
kou merged 3 commits into
apache:mainfrom
WillAyd:meson-add-s3

Conversation

@WillAyd

@WillAyd WillAyd commented Sep 15, 2025

Copy link
Copy Markdown
Contributor

Rationale for this change

This continues adding features to the Meson configuration (azure is already implemented)

What changes are included in this PR?

System-provided GCS can be leveraged to build optional GCS features. Note that this does not support Meson to automatically download GCS - GCS is a rather complicated CMake project and does not work well in the Meson/CMake subproject bridge. Another PR will have to implement that, due to its complexity (or ideally a Meson wrap for GCS is created)

Are these changes tested?

Yes

Are there any user-facing changes?

No

@WillAyd WillAyd added the CI: Extra Run extra CI label Sep 15, 2025
@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #46147 has been automatically assigned in GitHub to PR creator.

Comment thread cpp/src/arrow/meson.build
required: false,
)

if not (gcs_common_dep.found()

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is some unfortunate indentation - opened an upstream issue at mesonbuild/meson#15032

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be fixed in the next release of Meson

Comment thread ci/conda_env_cpp.txt
Comment thread ci/conda_env_cpp.txt Outdated
@WillAyd

WillAyd commented Nov 6, 2025

Copy link
Copy Markdown
Contributor Author

@kou could use some review on this if you get the chance. Thanks!

@raulcd raulcd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this @WillAyd ! LGTM.

Is the idea to have a follow up to provide some fallback similar to what we do if azure dependency is not found?

@github-actions github-actions Bot added awaiting merge Awaiting merge and removed awaiting committer review Awaiting committer review labels Nov 7, 2025
@WillAyd

WillAyd commented Nov 7, 2025

Copy link
Copy Markdown
Contributor Author

Yes eventually. I just didn't want that to be a blocker for now

@WillAyd

WillAyd commented Nov 7, 2025

Copy link
Copy Markdown
Contributor Author

For some more context @raulcd, for projects that don't have Meson configurations anywhere (whether in their source tree or in the wrapdb), Meson can even still auto-generate a configuration based off of CMake (as you see in our Azure wrap).

This works reasonably well for a few, smaller dependencies, but the more you add the more the auto-generated CMake wrapper struggles to resolve dependencies to other project dependencies. So I think its easier for larger projects like this just to assume a system installation first (that's all we test in CI now anyway) and leave it to a separate initiative to work out the kinks with the auto-generated config

@kou kou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@kou
kou merged commit bbb3d48 into apache:main Nov 9, 2025
69 of 72 checks passed
@kou kou removed the awaiting merge Awaiting merge label Nov 9, 2025
@github-actions github-actions Bot added the awaiting merge Awaiting merge label Nov 9, 2025
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 0 benchmarking runs that have been run so far on merge-commit bbb3d48.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
### Rationale for this change

This continues adding features to the Meson configuration (azure is already implemented)

### What changes are included in this PR?

System-provided GCS can be leveraged to build optional GCS features. Note that this does not support Meson to automatically download GCS - GCS is a rather complicated CMake project and does not work well in the Meson/CMake subproject bridge. Another PR will have to implement that, due to its complexity (or ideally a Meson wrap for GCS is created)

### Are these changes tested?

Yes

### Are there any user-facing changes?

No
* GitHub Issue: apache#46147

Authored-by: Will Ayd <william.ayd@icloud.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants