Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion ci/scripts/cpp_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ if [ "${ARROW_USE_MESON:-OFF}" = "ON" ]; then
--pkg-config-path="${CONDA_PREFIX}/lib/pkgconfig/" \
-Dauto_features=enabled \
-Dfuzzing=disabled \
-Dgcs=disabled \
-Ds3=disabled \
. \
${source_dir}
Expand Down
48 changes: 47 additions & 1 deletion cpp/src/arrow/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,53 @@ if needs_filesystem
endif

if needs_gcs
error('gcs filesystem support is not yet implemented in Meson')
arrow_filesystem_srcs += files(
'filesystem/gcsfs.cc',
'filesystem/gcsfs_internal.cc',
)

gcs_common_dep = dependency(
'google_cloud_cpp_common',
allow_fallback: false,
required: false,
)
gcs_rest_internal_dep = dependency(
'google_cloud_cpp_rest_internal',
allow_fallback: false,
required: false,
)
gcs_storage_dep = dependency(
'google_cloud_cpp_storage',
allow_fallback: false,
required: false,
)

if not (gcs_common_dep.found()
Copy link
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
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

and gcs_rest_internal_dep.found()
and gcs_storage_dep.found()
)
error(
'''
The Arrow Meson configuration requires that google_cloud_cpp_common,
google_cloud_cpp_rest_internal, and google_cloud_cpp_storage be provided
by the host system, but these could not be found. Subproject fallback is
not implemented.

Ensure that you have all of these components installed on your system, or
disable Arrow gcs support with -Dgcs=disabled.
''',
)
endif

gcs_dep = declare_dependency(
dependencies: [
gcs_common_dep,
gcs_rest_internal_dep,
gcs_storage_dep,
],
)

arrow_filesystem_deps += [gcs_dep]
endif

if needs_hdfs
Expand Down
2 changes: 1 addition & 1 deletion cpp/src/arrow/util/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ conf_data.set('ARROW_PARQUET', needs_parquet)
conf_data.set('ARROW_SUBSTRAIT', needs_substrait)
conf_data.set('ARROW_AZURE', false)
conf_data.set('ARROW_ENABLE_THREADING', true)
conf_data.set('ARROW_GCS', false)
conf_data.set('ARROW_GCS', needs_gcs)
conf_data.set('ARROW_HDFS', false)
conf_data.set('ARROW_S3', false)
conf_data.set('ARROW_USE_GLOG', false)
Expand Down
Loading