From ed2a417c61b094b161a7c2b4750a7c38dedd95ac Mon Sep 17 00:00:00 2001 From: William Ayd Date: Fri, 7 Feb 2025 16:56:31 -0500 Subject: [PATCH] GH-45447: [CI][GLib] Use `meson format` for Meson configuration files (#45448) ### Rationale for this change Meson introduced its own formatting tool back in release 1.5.0. This helps enforce consistency in the configuration files and reduce unnecessary diffs ### What changes are included in this PR? Added a pre-commit hook for Meson format and ran it against Meson files currently in the repo ### Are these changes tested? N/A ### Are there any user-facing changes? No * GitHub Issue: #45447 Authored-by: Will Ayd Signed-off-by: Sutou Kouhei --- .pre-commit-config.yaml | 5 + c_glib/arrow-cuda-glib/meson.build | 137 ++++---- c_glib/arrow-dataset-glib/meson.build | 180 +++++----- c_glib/arrow-flight-glib/meson.build | 138 ++++---- c_glib/arrow-flight-sql-glib/meson.build | 143 ++++---- c_glib/arrow-glib/meson.build | 411 +++++++++++------------ c_glib/doc/meson.build | 94 +++--- c_glib/example/lua/meson.build | 17 +- c_glib/example/meson.build | 67 ++-- c_glib/example/vala/meson.build | 72 ++-- c_glib/gandiva-glib/meson.build | 188 ++++++----- c_glib/meson.build | 271 +++++++++------ c_glib/parquet-glib/meson.build | 145 ++++---- 13 files changed, 984 insertions(+), 884 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e386b87be6e92..1f2d943efda4d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -197,3 +197,8 @@ repos: ?^c_glib/test/run-test\.sh$| ?^dev/release/utils-generate-checksum\.sh$| ) + - repo: https://github.com/trim21/pre-commit-mirror-meson + rev: v1.6.1 + hooks: + - id: meson-fmt + args: ['--inplace'] diff --git a/c_glib/arrow-cuda-glib/meson.build b/c_glib/arrow-cuda-glib/meson.build index 36730dec6c4b7..0f93d95ca01f2 100644 --- a/c_glib/arrow-cuda-glib/meson.build +++ b/c_glib/arrow-cuda-glib/meson.build @@ -17,24 +17,27 @@ # specific language governing permissions and limitations # under the License. -sources = files( - 'cuda.cpp', -) +sources = files('cuda.cpp') -c_headers = files( - 'arrow-cuda-glib.h', - 'cuda.h', -) +c_headers = files('arrow-cuda-glib.h', 'cuda.h') -cpp_headers = files( - 'arrow-cuda-glib.hpp', - 'cuda.hpp', -) +cpp_headers = files('arrow-cuda-glib.hpp', 'cuda.hpp') version_h = configure_file( - input: 'version.h.in', - output: 'version.h', - command: [python3, generate_version_header_py, '--library', 'GARROW_CUDA', '--version', version, '--input', '@INPUT@', '--output', '@OUTPUT@'], + input: 'version.h.in', + output: 'version.h', + command: [ + python3, + generate_version_header_py, + '--library', + 'GARROW_CUDA', + '--version', + version, + '--input', + '@INPUT@', + '--output', + '@OUTPUT@', + ], ) c_headers += version_h @@ -42,63 +45,61 @@ c_headers += version_h headers = c_headers + cpp_headers install_headers(headers, subdir: 'arrow-cuda-glib') -dependencies = [ - arrow_cuda, - arrow_glib, -] -libarrow_cuda_glib = library('arrow-cuda-glib', - sources: sources, - install: true, - dependencies: dependencies, - implicit_include_directories: false, - include_directories: base_include_directories, - cpp_args: ['-DGARROW_CUDA_COMPILATION'], - soversion: so_version, - version: library_version) -arrow_cuda_glib = declare_dependency(link_with: libarrow_cuda_glib, - include_directories: base_include_directories, - dependencies: dependencies) +dependencies = [arrow_cuda, arrow_glib] +libarrow_cuda_glib = library( + 'arrow-cuda-glib', + sources: sources, + install: true, + dependencies: dependencies, + implicit_include_directories: false, + include_directories: base_include_directories, + cpp_args: ['-DGARROW_CUDA_COMPILATION'], + soversion: so_version, + version: library_version, +) +arrow_cuda_glib = declare_dependency( + link_with: libarrow_cuda_glib, + include_directories: base_include_directories, + dependencies: dependencies, +) if target_machine.system() != 'windows' - pkgconfig.generate(libarrow_cuda_glib, - description: 'C API for Apache Arrow CUDA based on GLib', - filebase: 'arrow-cuda-glib', - name: 'Apache Arrow CUDA GLib', - requires: ['arrow-glib', 'arrow-cuda'], - variables: pkgconfig_variables, - version: version) + pkgconfig.generate( + libarrow_cuda_glib, + description: 'C API for Apache Arrow CUDA based on GLib', + filebase: 'arrow-cuda-glib', + name: 'Apache Arrow CUDA GLib', + requires: ['arrow-glib', 'arrow-cuda'], + variables: pkgconfig_variables, + version: version, + ) endif if have_gi - gir_dependencies = [ - declare_dependency(sources: arrow_glib_gir), - ] - gir_extra_args = [ - '--warn-all', - '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', - ] - arrow_cuda_glib_gir = \ - gnome.generate_gir(libarrow_cuda_glib, - dependencies: gir_dependencies, - export_packages: 'arrow-cuda-glib', - extra_args: gir_extra_args, - header: 'arrow-cuda-glib/arrow-cuda-glib.h', - identifier_prefix: 'GArrowCUDA', - includes: [ - 'Arrow-1.0', - ], - kwargs: generate_gi_common_args, - namespace: 'ArrowCUDA', - sources: sources + c_headers, - symbol_prefix: 'garrow_cuda') + gir_dependencies = [declare_dependency(sources: arrow_glib_gir)] + gir_extra_args = [ + '--warn-all', + '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', + ] + arrow_cuda_glib_gir = gnome.generate_gir( + libarrow_cuda_glib, + dependencies: gir_dependencies, + export_packages: 'arrow-cuda-glib', + extra_args: gir_extra_args, + header: 'arrow-cuda-glib/arrow-cuda-glib.h', + identifier_prefix: 'GArrowCUDA', + includes: ['Arrow-1.0'], + kwargs: generate_gi_common_args, + namespace: 'ArrowCUDA', + sources: sources + c_headers, + symbol_prefix: 'garrow_cuda', + ) - if generate_vapi - arrow_cuda_glib_vapi = \ - gnome.generate_vapi('arrow-cuda-glib', - install: true, - packages: [ - arrow_glib_vapi, - 'gio-2.0', - ], - sources: [arrow_cuda_glib_gir[0]]) - endif + if generate_vapi + arrow_cuda_glib_vapi = gnome.generate_vapi( + 'arrow-cuda-glib', + install: true, + packages: [arrow_glib_vapi, 'gio-2.0'], + sources: [arrow_cuda_glib_gir[0]], + ) + endif endif diff --git a/c_glib/arrow-dataset-glib/meson.build b/c_glib/arrow-dataset-glib/meson.build index 3425efc5555c8..5cb61fc462ca4 100644 --- a/c_glib/arrow-dataset-glib/meson.build +++ b/c_glib/arrow-dataset-glib/meson.build @@ -20,110 +20,124 @@ project_name = 'arrow-dataset-glib' sources = files( - 'dataset-factory.cpp', - 'dataset.cpp', - 'file-format.cpp', - 'fragment.cpp', - 'partitioning.cpp', - 'scanner.cpp', + 'dataset-factory.cpp', + 'dataset.cpp', + 'file-format.cpp', + 'fragment.cpp', + 'partitioning.cpp', + 'scanner.cpp', ) c_headers = files( - 'arrow-dataset-glib.h', - 'dataset-definition.h', - 'dataset-factory.h', - 'dataset.h', - 'file-format.h', - 'fragment.h', - 'partitioning.h', - 'scanner.h', + 'arrow-dataset-glib.h', + 'dataset-definition.h', + 'dataset-factory.h', + 'dataset.h', + 'file-format.h', + 'fragment.h', + 'partitioning.h', + 'scanner.h', ) cpp_headers = files( - 'arrow-dataset-glib.hpp', - 'dataset-factory.hpp', - 'dataset.hpp', - 'file-format.hpp', - 'fragment.hpp', - 'partitioning.hpp', - 'scanner.hpp', + 'arrow-dataset-glib.hpp', + 'dataset-factory.hpp', + 'dataset.hpp', + 'file-format.hpp', + 'fragment.hpp', + 'partitioning.hpp', + 'scanner.hpp', ) version_h = configure_file( - input: 'version.h.in', - output: 'version.h', - command: [python3, generate_version_header_py, '--library', 'GADATASET', '--version', version, '--input', '@INPUT@', '--output', '@OUTPUT@'], + input: 'version.h.in', + output: 'version.h', + command: [ + python3, + generate_version_header_py, + '--library', + 'GADATASET', + '--version', + version, + '--input', + '@INPUT@', + '--output', + '@OUTPUT@', + ], ) c_headers += version_h -enums = gnome.mkenums('enums', - sources: c_headers, - identifier_prefix: 'GADataset', - symbol_prefix: 'gadataset', - c_template: 'enums.c.template', - h_template: 'enums.h.template', - install_dir: join_paths(include_dir, project_name), - install_header: true) +enums = gnome.mkenums( + 'enums', + sources: c_headers, + identifier_prefix: 'GADataset', + symbol_prefix: 'gadataset', + c_template: 'enums.c.template', + h_template: 'enums.h.template', + install_dir: join_paths(include_dir, project_name), + install_header: true, +) enums_source = enums[0] enums_header = enums[1] headers = c_headers + cpp_headers install_headers(headers, subdir: project_name) -dependencies = [ - arrow_dataset, - arrow_glib, -] -libarrow_dataset_glib = library('arrow-dataset-glib', - sources: sources + enums, - install: true, - dependencies: dependencies, - implicit_include_directories: false, - include_directories: base_include_directories, - cpp_args: ['-DGADATASET_COMPILATION'], - c_args: ['-DGADATASET_COMPILATION'], - soversion: so_version, - version: library_version) -arrow_dataset_glib = declare_dependency(link_with: libarrow_dataset_glib, - include_directories: base_include_directories, - dependencies: dependencies, - sources: enums_header) +dependencies = [arrow_dataset, arrow_glib] +libarrow_dataset_glib = library( + 'arrow-dataset-glib', + sources: sources + enums, + install: true, + dependencies: dependencies, + implicit_include_directories: false, + include_directories: base_include_directories, + cpp_args: ['-DGADATASET_COMPILATION'], + c_args: ['-DGADATASET_COMPILATION'], + soversion: so_version, + version: library_version, +) +arrow_dataset_glib = declare_dependency( + link_with: libarrow_dataset_glib, + include_directories: base_include_directories, + dependencies: dependencies, + sources: enums_header, +) -pkgconfig.generate(libarrow_dataset_glib, - description: 'C API for Apache Arrow Dataset based on GLib', - filebase: 'arrow-dataset-glib', - name: 'Apache Arrow Dataset GLib', - requires: ['arrow-glib', 'arrow-dataset'], - variables: pkgconfig_variables, - version: version) +pkgconfig.generate( + libarrow_dataset_glib, + description: 'C API for Apache Arrow Dataset based on GLib', + filebase: 'arrow-dataset-glib', + name: 'Apache Arrow Dataset GLib', + requires: ['arrow-glib', 'arrow-dataset'], + variables: pkgconfig_variables, + version: version, +) if have_gi - arrow_dataset_glib_gir = \ - gnome.generate_gir(libarrow_dataset_glib, - dependencies: declare_dependency(sources: arrow_glib_gir), - export_packages: 'arrow-dataset-glib', - extra_args: [ - '--warn-all', - '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', - ], - header: 'arrow-dataset-glib/arrow-dataset-glib.h', - identifier_prefix: 'GADataset', - includes: [ - 'Arrow-1.0', - ], - kwargs: generate_gi_common_args, - namespace: 'ArrowDataset', - sources: sources + c_headers + enums, - symbol_prefix: 'gadataset') + arrow_dataset_glib_gir = gnome.generate_gir( + libarrow_dataset_glib, + dependencies: declare_dependency(sources: arrow_glib_gir), + export_packages: 'arrow-dataset-glib', + extra_args: [ + '--warn-all', + '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', + ], + header: 'arrow-dataset-glib/arrow-dataset-glib.h', + identifier_prefix: 'GADataset', + includes: ['Arrow-1.0'], + kwargs: generate_gi_common_args, + namespace: 'ArrowDataset', + sources: sources + c_headers + enums, + symbol_prefix: 'gadataset', + ) - if generate_vapi - gnome.generate_vapi('arrow-dataset-glib', - install: true, - packages: [ - arrow_glib_vapi, - 'gio-2.0', - ], - sources: [arrow_dataset_glib_gir[0]]) - endif + if generate_vapi + gnome.generate_vapi( + 'arrow-dataset-glib', + install: true, + packages: [arrow_glib_vapi, 'gio-2.0'], + sources: [arrow_dataset_glib_gir[0]], + ) + endif endif diff --git a/c_glib/arrow-flight-glib/meson.build b/c_glib/arrow-flight-glib/meson.build index c1422e0d10a7d..87fc473431240 100644 --- a/c_glib/arrow-flight-glib/meson.build +++ b/c_glib/arrow-flight-glib/meson.build @@ -17,30 +17,32 @@ # specific language governing permissions and limitations # under the License. -sources = files( - 'client.cpp', - 'common.cpp', - 'server.cpp', -) +sources = files('client.cpp', 'common.cpp', 'server.cpp') -c_headers = files( - 'arrow-flight-glib.h', - 'client.h', - 'common.h', - 'server.h', -) +c_headers = files('arrow-flight-glib.h', 'client.h', 'common.h', 'server.h') cpp_headers = files( - 'arrow-flight-glib.hpp', - 'client.hpp', - 'common.hpp', - 'server.hpp', + 'arrow-flight-glib.hpp', + 'client.hpp', + 'common.hpp', + 'server.hpp', ) version_h = configure_file( - input: 'version.h.in', - output: 'version.h', - command: [python3, generate_version_header_py, '--library', 'GAFLIGHT', '--version', version, '--input', '@INPUT@', '--output', '@OUTPUT@'], + input: 'version.h.in', + output: 'version.h', + command: [ + python3, + generate_version_header_py, + '--library', + 'GAFLIGHT', + '--version', + version, + '--input', + '@INPUT@', + '--output', + '@OUTPUT@', + ], ) c_headers += version_h @@ -48,58 +50,58 @@ c_headers += version_h headers = c_headers + cpp_headers install_headers(headers, subdir: 'arrow-flight-glib') -dependencies = [ - arrow_flight, - arrow_glib, -] -libarrow_flight_glib = library('arrow-flight-glib', - sources: sources, - install: true, - dependencies: dependencies, - implicit_include_directories: false, - include_directories: base_include_directories, - cpp_args: ['-DGAFLIGHT_COMPILATION'], - soversion: so_version, - version: library_version) -arrow_flight_glib = declare_dependency(link_with: libarrow_flight_glib, - include_directories: base_include_directories, - dependencies: dependencies) +dependencies = [arrow_flight, arrow_glib] +libarrow_flight_glib = library( + 'arrow-flight-glib', + sources: sources, + install: true, + dependencies: dependencies, + implicit_include_directories: false, + include_directories: base_include_directories, + cpp_args: ['-DGAFLIGHT_COMPILATION'], + soversion: so_version, + version: library_version, +) +arrow_flight_glib = declare_dependency( + link_with: libarrow_flight_glib, + include_directories: base_include_directories, + dependencies: dependencies, +) -pkgconfig.generate(libarrow_flight_glib, - description: 'C API for Apache Arrow Flight based on GLib', - filebase: 'arrow-flight-glib', - name: 'Apache Arrow Flight GLib', - requires: ['arrow-glib', 'arrow-flight'], - variables: pkgconfig_variables, - version: version) +pkgconfig.generate( + libarrow_flight_glib, + description: 'C API for Apache Arrow Flight based on GLib', + filebase: 'arrow-flight-glib', + name: 'Apache Arrow Flight GLib', + requires: ['arrow-glib', 'arrow-flight'], + variables: pkgconfig_variables, + version: version, +) if have_gi - arrow_flight_glib_gir = \ - gnome.generate_gir(libarrow_flight_glib, - dependencies: declare_dependency(sources: arrow_glib_gir), - export_packages: 'arrow-flight-glib', - extra_args: [ - '--warn-all', - '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', - ], - header: 'arrow-flight-glib/arrow-flight-glib.h', - identifier_prefix: 'GAFlight', - includes: [ - 'Arrow-1.0', - ], - kwargs: generate_gi_common_args, - namespace: 'ArrowFlight', - sources: sources + c_headers, - symbol_prefix: 'gaflight') + arrow_flight_glib_gir = gnome.generate_gir( + libarrow_flight_glib, + dependencies: declare_dependency(sources: arrow_glib_gir), + export_packages: 'arrow-flight-glib', + extra_args: [ + '--warn-all', + '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', + ], + header: 'arrow-flight-glib/arrow-flight-glib.h', + identifier_prefix: 'GAFlight', + includes: ['Arrow-1.0'], + kwargs: generate_gi_common_args, + namespace: 'ArrowFlight', + sources: sources + c_headers, + symbol_prefix: 'gaflight', + ) - if generate_vapi - arrow_flight_glib_vapi = \ - gnome.generate_vapi('arrow-flight-glib', - install: true, - packages: [ - arrow_glib_vapi, - 'gio-2.0', - ], - sources: [arrow_flight_glib_gir[0]]) - endif + if generate_vapi + arrow_flight_glib_vapi = gnome.generate_vapi( + 'arrow-flight-glib', + install: true, + packages: [arrow_glib_vapi, 'gio-2.0'], + sources: [arrow_flight_glib_gir[0]], + ) + endif endif diff --git a/c_glib/arrow-flight-sql-glib/meson.build b/c_glib/arrow-flight-sql-glib/meson.build index d588ba4917c76..aa6798e763c25 100644 --- a/c_glib/arrow-flight-sql-glib/meson.build +++ b/c_glib/arrow-flight-sql-glib/meson.build @@ -17,27 +17,27 @@ # specific language governing permissions and limitations # under the License. -sources = files( - 'client.cpp', - 'server.cpp', -) +sources = files('client.cpp', 'server.cpp') -c_headers = files( - 'arrow-flight-sql-glib.h', - 'client.h', - 'server.h', -) +c_headers = files('arrow-flight-sql-glib.h', 'client.h', 'server.h') -cpp_headers = files( - 'arrow-flight-sql-glib.hpp', - 'client.hpp', - 'server.hpp', -) +cpp_headers = files('arrow-flight-sql-glib.hpp', 'client.hpp', 'server.hpp') version_h = configure_file( - input: 'version.h.in', - output: 'version.h', - command: [python3, generate_version_header_py, '--library', 'GAFLIGHTSQL', '--version', version, '--input', '@INPUT@', '--output', '@OUTPUT@'], + input: 'version.h.in', + output: 'version.h', + command: [ + python3, + generate_version_header_py, + '--library', + 'GAFLIGHTSQL', + '--version', + version, + '--input', + '@INPUT@', + '--output', + '@OUTPUT@', + ], ) c_headers += version_h @@ -45,63 +45,62 @@ c_headers += version_h headers = c_headers + cpp_headers install_headers(headers, subdir: 'arrow-flight-sql-glib') -dependencies = [ - arrow_flight_sql, - arrow_flight_glib, -] -libarrow_flight_sql_glib = library('arrow-flight-sql-glib', - sources: sources, - install: true, - dependencies: dependencies, - implicit_include_directories: false, - include_directories: base_include_directories, - cpp_args: ['-DGAFLIGHTSQL_COMPILATION'], - soversion: so_version, - version: library_version) -arrow_flight_sql_glib = \ - declare_dependency(link_with: libarrow_flight_sql_glib, - include_directories: base_include_directories, - dependencies: dependencies) +dependencies = [arrow_flight_sql, arrow_flight_glib] +libarrow_flight_sql_glib = library( + 'arrow-flight-sql-glib', + sources: sources, + install: true, + dependencies: dependencies, + implicit_include_directories: false, + include_directories: base_include_directories, + cpp_args: ['-DGAFLIGHTSQL_COMPILATION'], + soversion: so_version, + version: library_version, +) +arrow_flight_sql_glib = declare_dependency( + link_with: libarrow_flight_sql_glib, + include_directories: base_include_directories, + dependencies: dependencies, +) -pkgconfig.generate(libarrow_flight_sql_glib, - description: 'C API for Apache Arrow Flight SQL based on GLib', - filebase: 'arrow-flight-sql-glib', - name: 'Apache Arrow Flight SQL GLib', - requires: ['arrow-flight-glib', 'arrow-flight-sql'], - variables: pkgconfig_variables, - version: version) +pkgconfig.generate( + libarrow_flight_sql_glib, + description: 'C API for Apache Arrow Flight SQL based on GLib', + filebase: 'arrow-flight-sql-glib', + name: 'Apache Arrow Flight SQL GLib', + requires: ['arrow-flight-glib', 'arrow-flight-sql'], + variables: pkgconfig_variables, + version: version, +) if have_gi - arrow_flight_sql_glib_gir_dependencies = \ - declare_dependency(sources: [arrow_glib_gir, arrow_flight_glib_gir]) - arrow_flight_sql_glib_gir = \ - gnome.generate_gir(libarrow_flight_sql_glib, - dependencies: arrow_flight_sql_glib_gir_dependencies, - export_packages: 'arrow-flight-sql-glib', - extra_args: [ - '--warn-all', - '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', - '--include-uninstalled=./arrow-flight-glib/ArrowFlight-1.0.gir', - ], - header: 'arrow-flight-sql-glib/arrow-flight-sql-glib.h', - identifier_prefix: 'GAFlightSQL', - includes: [ - 'Arrow-1.0', - 'ArrowFlight-1.0', - ], - kwargs: generate_gi_common_args, - namespace: 'ArrowFlightSQL', - sources: sources + c_headers, - symbol_prefix: 'gaflightsql') + arrow_flight_sql_glib_gir_dependencies = declare_dependency( + sources: [arrow_glib_gir, arrow_flight_glib_gir], + ) + arrow_flight_sql_glib_gir = gnome.generate_gir( + libarrow_flight_sql_glib, + dependencies: arrow_flight_sql_glib_gir_dependencies, + export_packages: 'arrow-flight-sql-glib', + extra_args: [ + '--warn-all', + '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', + '--include-uninstalled=./arrow-flight-glib/ArrowFlight-1.0.gir', + ], + header: 'arrow-flight-sql-glib/arrow-flight-sql-glib.h', + identifier_prefix: 'GAFlightSQL', + includes: ['Arrow-1.0', 'ArrowFlight-1.0'], + kwargs: generate_gi_common_args, + namespace: 'ArrowFlightSQL', + sources: sources + c_headers, + symbol_prefix: 'gaflightsql', + ) - if generate_vapi - gnome.generate_vapi('arrow-flight-sql-glib', - install: true, - packages: [ - arrow_flight_glib_vapi, - arrow_glib_vapi, - 'gio-2.0', - ], - sources: [arrow_flight_sql_glib_gir[0]]) - endif + if generate_vapi + gnome.generate_vapi( + 'arrow-flight-sql-glib', + install: true, + packages: [arrow_flight_glib_vapi, arrow_glib_vapi, 'gio-2.0'], + sources: [arrow_flight_sql_glib_gir[0]], + ) + endif endif diff --git a/c_glib/arrow-glib/meson.build b/c_glib/arrow-glib/meson.build index 854988e348986..a5e67463102d1 100644 --- a/c_glib/arrow-glib/meson.build +++ b/c_glib/arrow-glib/meson.build @@ -18,212 +18,195 @@ # under the License. sources = files( - 'array-builder.cpp', - 'basic-array.cpp', - 'basic-data-type.cpp', - 'buffer.cpp', - 'chunked-array.cpp', - 'codec.cpp', - 'composite-array.cpp', - 'composite-data-type.cpp', - 'datum.cpp', - 'decimal.cpp', - 'decoder.cpp', - 'error.cpp', - 'expression.cpp', - 'field.cpp', - 'interval.cpp', - 'memory-pool.cpp', - 'record-batch.cpp', - 'scalar.cpp', - 'schema.cpp', - 'table-builder.cpp', - 'table.cpp', - 'tensor.cpp', - 'timestamp-parser.cpp', - 'type.cpp', + 'array-builder.cpp', + 'basic-array.cpp', + 'basic-data-type.cpp', + 'buffer.cpp', + 'chunked-array.cpp', + 'codec.cpp', + 'composite-array.cpp', + 'composite-data-type.cpp', + 'datum.cpp', + 'decimal.cpp', + 'decoder.cpp', + 'error.cpp', + 'expression.cpp', + 'field.cpp', + 'interval.cpp', + 'memory-pool.cpp', + 'record-batch.cpp', + 'scalar.cpp', + 'schema.cpp', + 'table-builder.cpp', + 'table.cpp', + 'tensor.cpp', + 'timestamp-parser.cpp', + 'type.cpp', ) sources += files( - 'file.cpp', - 'file-mode.cpp', - 'input-stream.cpp', - 'output-stream.cpp', - 'readable.cpp', - 'writable.cpp', - 'writable-file.cpp', + 'file-mode.cpp', + 'file.cpp', + 'input-stream.cpp', + 'output-stream.cpp', + 'readable.cpp', + 'writable-file.cpp', + 'writable.cpp', ) sources += files( - 'ipc-options.cpp', - 'metadata-version.cpp', - 'reader.cpp', - 'writer.cpp', + 'ipc-options.cpp', + 'metadata-version.cpp', + 'reader.cpp', + 'writer.cpp', ) -sources += files( - 'compute.cpp', -) +sources += files('compute.cpp') -sources += files( - 'file-system.cpp', - 'local-file-system.cpp', -) +sources += files('file-system.cpp', 'local-file-system.cpp') if have_arrow_orc - sources += files( - 'orc-file-reader.cpp', - ) + sources += files('orc-file-reader.cpp') endif c_headers = files( - 'array.h', - 'array-builder.h', - 'arrow-glib.h', - 'basic-array-definition.h', - 'basic-array.h', - 'basic-data-type.h', - 'buffer.h', - 'chunked-array-definition.h', - 'chunked-array.h', - 'codec.h', - 'composite-array.h', - 'composite-data-type.h', - 'data-type.h', - 'datum.h', - 'decimal.h', - 'decoder.h', - 'error.h', - 'expression.h', - 'field.h', - 'interval.h', - 'memory-pool.h', - 'record-batch.h', - 'scalar.h', - 'schema.h', - 'table-builder.h', - 'table.h', - 'tensor.h', - 'timestamp-parser.h', - 'type.h', + 'array-builder.h', + 'array.h', + 'arrow-glib.h', + 'basic-array-definition.h', + 'basic-array.h', + 'basic-data-type.h', + 'buffer.h', + 'chunked-array-definition.h', + 'chunked-array.h', + 'codec.h', + 'composite-array.h', + 'composite-data-type.h', + 'data-type.h', + 'datum.h', + 'decimal.h', + 'decoder.h', + 'error.h', + 'expression.h', + 'field.h', + 'interval.h', + 'memory-pool.h', + 'record-batch.h', + 'scalar.h', + 'schema.h', + 'table-builder.h', + 'table.h', + 'tensor.h', + 'timestamp-parser.h', + 'type.h', ) c_headers += files( - 'file.h', - 'file-mode.h', - 'input-stream.h', - 'output-stream.h', - 'readable.h', - 'writable.h', - 'writable-file.h', + 'file-mode.h', + 'file.h', + 'input-stream.h', + 'output-stream.h', + 'readable.h', + 'writable-file.h', + 'writable.h', ) -c_headers += files( - 'ipc-options.h', - 'metadata-version.h', - 'reader.h', - 'writer.h', -) +c_headers += files('ipc-options.h', 'metadata-version.h', 'reader.h', 'writer.h') -c_headers += files( - 'compute-definition.h', - 'compute.h', -) +c_headers += files('compute-definition.h', 'compute.h') -c_headers += files( - 'file-system.h', - 'local-file-system.h', -) +c_headers += files('file-system.h', 'local-file-system.h') if have_arrow_orc - c_headers += files( - 'orc-file-reader.h', - ) + c_headers += files('orc-file-reader.h') endif cpp_headers = files( - 'array.hpp', - 'array-builder.hpp', - 'arrow-glib.hpp', - 'basic-array.hpp', - 'basic-data-type.hpp', - 'buffer.hpp', - 'chunked-array.hpp', - 'codec.hpp', - 'data-type.hpp', - 'datum.hpp', - 'decimal.hpp', - 'decoder.hpp', - 'error.hpp', - 'expression.hpp', - 'field.hpp', - 'interval.hpp', - 'memory-pool.hpp', - 'record-batch.hpp', - 'scalar.hpp', - 'schema.hpp', - 'table-builder.hpp', - 'table.hpp', - 'tensor.hpp', - 'timestamp-parser.hpp', - 'type.hpp', + 'array-builder.hpp', + 'array.hpp', + 'arrow-glib.hpp', + 'basic-array.hpp', + 'basic-data-type.hpp', + 'buffer.hpp', + 'chunked-array.hpp', + 'codec.hpp', + 'data-type.hpp', + 'datum.hpp', + 'decimal.hpp', + 'decoder.hpp', + 'error.hpp', + 'expression.hpp', + 'field.hpp', + 'interval.hpp', + 'memory-pool.hpp', + 'record-batch.hpp', + 'scalar.hpp', + 'schema.hpp', + 'table-builder.hpp', + 'table.hpp', + 'tensor.hpp', + 'timestamp-parser.hpp', + 'type.hpp', ) cpp_headers += files( - 'file.hpp', - 'file-mode.hpp', - 'input-stream.hpp', - 'output-stream.hpp', - 'readable.hpp', - 'writable.hpp', - 'writable-file.hpp', + 'file-mode.hpp', + 'file.hpp', + 'input-stream.hpp', + 'output-stream.hpp', + 'readable.hpp', + 'writable-file.hpp', + 'writable.hpp', ) cpp_headers += files( - 'ipc-options.hpp', - 'metadata-version.hpp', - 'reader.hpp', - 'writer.hpp', + 'ipc-options.hpp', + 'metadata-version.hpp', + 'reader.hpp', + 'writer.hpp', ) -cpp_headers += files( - 'compute.hpp', -) +cpp_headers += files('compute.hpp') -cpp_headers += files( - 'file-system.hpp', - 'local-file-system.hpp', -) +cpp_headers += files('file-system.hpp', 'local-file-system.hpp') if have_arrow_orc - cpp_headers += files( - 'orc-file-reader.hpp', - ) + cpp_headers += files('orc-file-reader.hpp') endif -cpp_internal_headers = files( - 'internal-hash-table.hpp', - 'internal-index.hpp', -) +cpp_internal_headers = files('internal-hash-table.hpp', 'internal-index.hpp') version_h = configure_file( - input: 'version.h.in', - output: 'version.h', - command: [python3, generate_version_header_py, '--library', 'GARROW', '--version', version, '--input', '@INPUT@', '--output', '@OUTPUT@'], + input: 'version.h.in', + output: 'version.h', + command: [ + python3, + generate_version_header_py, + '--library', + 'GARROW', + '--version', + version, + '--input', + '@INPUT@', + '--output', + '@OUTPUT@', + ], ) c_headers += version_h -enums = gnome.mkenums('enums', - sources: c_headers, - identifier_prefix: 'GArrow', - symbol_prefix: 'garrow', - c_template: 'enums.c.template', - h_template: 'enums.h.template', - install_dir: join_paths(include_dir, 'arrow-glib'), - install_header: true) +enums = gnome.mkenums( + 'enums', + sources: c_headers, + identifier_prefix: 'GArrow', + symbol_prefix: 'garrow', + c_template: 'enums.c.template', + h_template: 'enums.h.template', + install_dir: join_paths(include_dir, 'arrow-glib'), + install_header: true, +) enums_source = enums[0] enums_header = enums[1] @@ -238,65 +221,67 @@ gobject_libdir = gobject.get_variable(pkgconfig: 'libdir') # confuses clang++ (/usr/bin/c++). gio = cxx.find_library('gio-2.0', dirs: [gobject_libdir], required: false) if not gio.found() - gio = dependency('gio-2.0') + gio = dependency('gio-2.0') endif -dependencies = [ - arrow, - arrow_acero, - gobject, - gio, -] -libarrow_glib = library('arrow-glib', - sources: sources + enums, - install: true, - dependencies: dependencies, - implicit_include_directories: false, - include_directories: base_include_directories, - cpp_args: ['-DGARROW_COMPILATION'], - c_args: ['-DGARROW_COMPILATION'], - soversion: so_version, - version: library_version) -arrow_glib = declare_dependency(link_with: libarrow_glib, - include_directories: base_include_directories, - dependencies: dependencies, - sources: enums_header) +dependencies = [arrow, arrow_acero, gobject, gio] +libarrow_glib = library( + 'arrow-glib', + sources: sources + enums, + install: true, + dependencies: dependencies, + implicit_include_directories: false, + include_directories: base_include_directories, + cpp_args: ['-DGARROW_COMPILATION'], + c_args: ['-DGARROW_COMPILATION'], + soversion: so_version, + version: library_version, +) +arrow_glib = declare_dependency( + link_with: libarrow_glib, + include_directories: base_include_directories, + dependencies: dependencies, + sources: enums_header, +) -pkgconfig.generate(libarrow_glib, - description: 'C API for Apache Arrow based on GLib', - filebase: meson.project_name(), - name: 'Apache Arrow GLib', - requires: ['gobject-2.0', 'arrow'], - variables: pkgconfig_variables, - version: version) +pkgconfig.generate( + libarrow_glib, + description: 'C API for Apache Arrow based on GLib', + filebase: meson.project_name(), + name: 'Apache Arrow GLib', + requires: ['gobject-2.0', 'arrow'], + variables: pkgconfig_variables, + version: version, +) if have_arrow_orc - pkgconfig.generate(filebase: 'arrow-orc-glib', - description: 'ORC modules for Apache Arrow GLib', - name: 'Apache Arrow GLib ORC', - requires: ['arrow-glib'], - version: version) + pkgconfig.generate( + filebase: 'arrow-orc-glib', + description: 'ORC modules for Apache Arrow GLib', + name: 'Apache Arrow GLib ORC', + requires: ['arrow-glib'], + version: version, + ) endif if have_gi - arrow_glib_gir = gnome.generate_gir(libarrow_glib, - export_packages: 'arrow-glib', - extra_args: [ - '--warn-all', - ], - header: 'arrow-glib/arrow-glib.h', - identifier_prefix: 'GArrow', - includes: [ - 'GObject-2.0', - 'Gio-2.0', - ], - namespace: 'Arrow', - sources: sources + c_headers + enums, - symbol_prefix: 'garrow', - kwargs: generate_gi_common_args) + arrow_glib_gir = gnome.generate_gir( + libarrow_glib, + export_packages: 'arrow-glib', + extra_args: ['--warn-all'], + header: 'arrow-glib/arrow-glib.h', + identifier_prefix: 'GArrow', + includes: ['GObject-2.0', 'Gio-2.0'], + namespace: 'Arrow', + sources: sources + c_headers + enums, + symbol_prefix: 'garrow', + kwargs: generate_gi_common_args, + ) - if generate_vapi - arrow_glib_vapi = gnome.generate_vapi('arrow-glib', - install: true, - packages: ['gio-2.0'], - sources: [arrow_glib_gir[0]]) - endif + if generate_vapi + arrow_glib_vapi = gnome.generate_vapi( + 'arrow-glib', + install: true, + packages: ['gio-2.0'], + sources: [arrow_glib_gir[0]], + ) + endif endif diff --git a/c_glib/doc/meson.build b/c_glib/doc/meson.build index 8d0ac4229b2a6..2cdefd48195db 100644 --- a/c_glib/doc/meson.build +++ b/c_glib/doc/meson.build @@ -25,15 +25,17 @@ gi_docgen_toml_conf.set('SOURCE_REFERENCE', source_reference) # We can't use "version.replace('-SNAPSHOT', '.dev')" here because # Ubuntu 20.04's Meson is < 0.58.0. if version_tag == '' - gi_docgen_version_tag = '' + gi_docgen_version_tag = '' else - # GI-DocGen doesn't like MAJOR.MINOR.PATCH-SNAPSHOT format. - gi_docgen_version_tag = '.dev' + # GI-DocGen doesn't like MAJOR.MINOR.PATCH-SNAPSHOT format. + gi_docgen_version_tag = '.dev' endif -gi_docgen_version = '@0@.@1@.@2@@3@'.format(version_major, - version_minor, - version_micro, - gi_docgen_version_tag) +gi_docgen_version = '@0@.@1@.@2@@3@'.format( + version_major, + version_minor, + version_micro, + gi_docgen_version_tag, +) gi_docgen_toml_conf.set('VERSION', gi_docgen_version) gir_top_build_dir = meson.current_build_dir() / '..' @@ -41,53 +43,57 @@ arrow_glib_gir_dir = gir_top_build_dir / 'arrow-glib' arrow_flight_glib_gir_dir = gir_top_build_dir / 'arrow-flight-glib' entries = [['arrow-glib', arrow_glib_gir[0]]] if arrow_cuda.found() - entries += [['arrow-cuda-glib', arrow_cuda_glib_gir[0]]] + entries += [['arrow-cuda-glib', arrow_cuda_glib_gir[0]]] endif if arrow_dataset.found() - entries += [['arrow-dataset-glib', arrow_dataset_glib_gir[0]]] + entries += [['arrow-dataset-glib', arrow_dataset_glib_gir[0]]] endif if arrow_flight.found() - entries += [['arrow-flight-glib', arrow_flight_glib_gir[0]]] + entries += [['arrow-flight-glib', arrow_flight_glib_gir[0]]] endif if arrow_flight_sql.found() - entries += [['arrow-flight-sql-glib', arrow_flight_sql_glib_gir[0]]] + entries += [['arrow-flight-sql-glib', arrow_flight_sql_glib_gir[0]]] endif if gandiva.found() - entries += [['gandiva-glib', gandiva_glib_gir[0]]] + entries += [['gandiva-glib', gandiva_glib_gir[0]]] endif if parquet.found() - entries += [['parquet-glib', parquet_glib_gir[0]]] + entries += [['parquet-glib', parquet_glib_gir[0]]] endif foreach entry : entries - module_name = entry[0] - gir = entry[1] - gi_docgen_toml = configure_file(input: '@0@.toml.in'.format(module_name), - output: '@0@.toml'.format(module_name), - configuration: gi_docgen_toml_conf) - gir_dir = gir_top_build_dir / module_name - current_source_dir = meson.current_source_dir() - command = [ - gi_docgen, - 'generate', - '--add-include-path=@0@'.format(arrow_flight_glib_gir_dir), - '--add-include-path=@0@'.format(arrow_glib_gir_dir), - '--add-include-path=@0@'.format(gir_dir), - '--config=@INPUT0@', - '--content-dir=@0@'.format(current_source_dir), - '--no-namespace-dir', - '--output-dir=@OUTPUT@', - '--quiet', - ] - if get_option('werror') - command += ['--fatal-warnings'] - endif - command += ['@INPUT1@'] - custom_target('@0@-doc'.format(module_name), - input: [gi_docgen_toml, gir], - depend_files: ['urlmap.js'], - output: module_name, - command: command, - build_by_default: true, - install: true, - install_dir: doc_dir) + module_name = entry[0] + gir = entry[1] + gi_docgen_toml = configure_file( + input: '@0@.toml.in'.format(module_name), + output: '@0@.toml'.format(module_name), + configuration: gi_docgen_toml_conf, + ) + gir_dir = gir_top_build_dir / module_name + current_source_dir = meson.current_source_dir() + command = [ + gi_docgen, + 'generate', + '--add-include-path=@0@'.format(arrow_flight_glib_gir_dir), + '--add-include-path=@0@'.format(arrow_glib_gir_dir), + '--add-include-path=@0@'.format(gir_dir), + '--config=@INPUT0@', + '--content-dir=@0@'.format(current_source_dir), + '--no-namespace-dir', + '--output-dir=@OUTPUT@', + '--quiet', + ] + if get_option('werror') + command += ['--fatal-warnings'] + endif + command += ['@INPUT1@'] + custom_target( + '@0@-doc'.format(module_name), + input: [gi_docgen_toml, gir], + depend_files: ['urlmap.js'], + output: module_name, + command: command, + build_by_default: true, + install: true, + install_dir: doc_dir, + ) endforeach diff --git a/c_glib/example/lua/meson.build b/c_glib/example/lua/meson.build index 4836001287579..8994da1517305 100644 --- a/c_glib/example/lua/meson.build +++ b/c_glib/example/lua/meson.build @@ -17,12 +17,11 @@ # specific language governing permissions and limitations # under the License. -install_data('README.md', - 'read-file.lua', - 'read-stream.lua', - 'write-file.lua', - 'write-stream.lua', - install_dir: join_paths(data_dir, - meson.project_name(), - 'example', - 'lua')) +install_data( + 'README.md', + 'read-file.lua', + 'read-stream.lua', + 'write-file.lua', + 'write-stream.lua', + install_dir: join_paths(data_dir, meson.project_name(), 'example', 'lua'), +) diff --git a/c_glib/example/meson.build b/c_glib/example/meson.build index e2d55d4788ab5..99b9b8ae22f11 100644 --- a/c_glib/example/meson.build +++ b/c_glib/example/meson.build @@ -17,33 +17,48 @@ # specific language governing permissions and limitations # under the License. -executable('build', 'build.c', - dependencies: [arrow_glib], - link_language: 'c') -executable('extension-type', 'extension-type.c', - dependencies: [arrow_glib], - link_language: 'c') -executable('read-file', 'read-file.c', - dependencies: [arrow_glib], - link_language: 'c') -executable('read-stream', 'read-stream.c', - dependencies: [arrow_glib], - link_language: 'c') -executable('receive-network', 'receive-network.c', - dependencies: [arrow_glib], - link_language: 'c') -executable('send-network', 'send-network.c', - dependencies: [arrow_glib], - link_language: 'c') +executable('build', 'build.c', dependencies: [arrow_glib], link_language: 'c') +executable( + 'extension-type', + 'extension-type.c', + dependencies: [arrow_glib], + link_language: 'c', +) +executable( + 'read-file', + 'read-file.c', + dependencies: [arrow_glib], + link_language: 'c', +) +executable( + 'read-stream', + 'read-stream.c', + dependencies: [arrow_glib], + link_language: 'c', +) +executable( + 'receive-network', + 'receive-network.c', + dependencies: [arrow_glib], + link_language: 'c', +) +executable( + 'send-network', + 'send-network.c', + dependencies: [arrow_glib], + link_language: 'c', +) -install_data('README.md', - 'build.c', - 'extension-type.c', - 'read-file.c', - 'read-stream.c', - 'receive-network.c', - 'send-network.c', - install_dir: join_paths(data_dir, meson.project_name(), 'example')) +install_data( + 'README.md', + 'build.c', + 'extension-type.c', + 'read-file.c', + 'read-stream.c', + 'receive-network.c', + 'send-network.c', + install_dir: join_paths(data_dir, meson.project_name(), 'example'), +) subdir('lua') subdir('vala') diff --git a/c_glib/example/vala/meson.build b/c_glib/example/vala/meson.build index b7eb86200ddd6..893b7a5198c17 100644 --- a/c_glib/example/vala/meson.build +++ b/c_glib/example/vala/meson.build @@ -18,41 +18,41 @@ # under the License. if generate_vapi - c_flags = [ - '-Wno-unused-but-set-variable', - ] - c_flags = meson.get_compiler('c').get_supported_arguments(c_flags) - vala_example_executable_kwargs = { - 'c_args': [ - '-I' + project_build_root, - '-I' + project_source_root, - ] + c_flags, - 'dependencies': [ - arrow_glib_vapi, - dependency('gio-2.0'), - ], - 'vala_args': [ - '--pkg', 'posix', - ], - } - executable('build', 'build.vala', - kwargs: vala_example_executable_kwargs) - executable('read-file', 'read-file.vala', - kwargs: vala_example_executable_kwargs) - executable('read-stream', 'read-stream.vala', - kwargs: vala_example_executable_kwargs) - executable('write-file', 'write-file.vala', - kwargs: vala_example_executable_kwargs) - executable('write-stream', 'write-stream.vala', - kwargs: vala_example_executable_kwargs) + c_flags = ['-Wno-unused-but-set-variable'] + c_flags = meson.get_compiler('c').get_supported_arguments(c_flags) + vala_example_executable_kwargs = { + 'c_args': ['-I' + project_build_root, '-I' + project_source_root] + c_flags, + 'dependencies': [arrow_glib_vapi, dependency('gio-2.0')], + 'vala_args': ['--pkg', 'posix'], + } + executable('build', 'build.vala', kwargs: vala_example_executable_kwargs) + executable( + 'read-file', + 'read-file.vala', + kwargs: vala_example_executable_kwargs, + ) + executable( + 'read-stream', + 'read-stream.vala', + kwargs: vala_example_executable_kwargs, + ) + executable( + 'write-file', + 'write-file.vala', + kwargs: vala_example_executable_kwargs, + ) + executable( + 'write-stream', + 'write-stream.vala', + kwargs: vala_example_executable_kwargs, + ) endif -install_data('README.md', - 'read-file.vala', - 'read-stream.vala', - 'write-file.vala', - 'write-stream.vala', - install_dir: join_paths(data_dir, - meson.project_name(), - 'example', - 'vala')) +install_data( + 'README.md', + 'read-file.vala', + 'read-stream.vala', + 'write-file.vala', + 'write-stream.vala', + install_dir: join_paths(data_dir, meson.project_name(), 'example', 'vala'), +) diff --git a/c_glib/gandiva-glib/meson.build b/c_glib/gandiva-glib/meson.build index 94b923388b7f2..267b01344f524 100644 --- a/c_glib/gandiva-glib/meson.build +++ b/c_glib/gandiva-glib/meson.build @@ -20,114 +20,128 @@ project_name = 'gandiva-glib' sources = files( - 'expression.cpp', - 'filter.cpp', - 'function-registry.cpp', - 'function-signature.cpp', - 'native-function.cpp', - 'node.cpp', - 'projector.cpp', - 'selection-vector.cpp', + 'expression.cpp', + 'filter.cpp', + 'function-registry.cpp', + 'function-signature.cpp', + 'native-function.cpp', + 'node.cpp', + 'projector.cpp', + 'selection-vector.cpp', ) c_headers = files( - 'expression.h', - 'filter.h', - 'function-registry.h', - 'function-signature.h', - 'gandiva-glib.h', - 'native-function.h', - 'node.h', - 'projector.h', - 'selection-vector.h', + 'expression.h', + 'filter.h', + 'function-registry.h', + 'function-signature.h', + 'gandiva-glib.h', + 'native-function.h', + 'node.h', + 'projector.h', + 'selection-vector.h', ) cpp_headers = files( - 'expression.hpp', - 'filter.hpp', - 'function-signature.hpp', - 'gandiva-glib.hpp', - 'native-function.hpp', - 'node.hpp', - 'projector.hpp', - 'selection-vector.hpp', + 'expression.hpp', + 'filter.hpp', + 'function-signature.hpp', + 'gandiva-glib.hpp', + 'native-function.hpp', + 'node.hpp', + 'projector.hpp', + 'selection-vector.hpp', ) version_h = configure_file( - input: 'version.h.in', - output: 'version.h', - command: [python3, generate_version_header_py, '--library', 'GGANDIVA', '--version', version, '--input', '@INPUT@', '--output', '@OUTPUT@'], + input: 'version.h.in', + output: 'version.h', + command: [ + python3, + generate_version_header_py, + '--library', + 'GGANDIVA', + '--version', + version, + '--input', + '@INPUT@', + '--output', + '@OUTPUT@', + ], ) c_headers += version_h -enums = gnome.mkenums('enums', - sources: c_headers, - identifier_prefix: 'GGandiva', - symbol_prefix: 'ggandiva', - c_template: 'enums.c.template', - h_template: 'enums.h.template', - install_dir: join_paths(include_dir, 'gandiva-glib'), - install_header: true) +enums = gnome.mkenums( + 'enums', + sources: c_headers, + identifier_prefix: 'GGandiva', + symbol_prefix: 'ggandiva', + c_template: 'enums.c.template', + h_template: 'enums.h.template', + install_dir: join_paths(include_dir, 'gandiva-glib'), + install_header: true, +) enums_source = enums[0] enums_header = enums[1] headers = c_headers + cpp_headers install_headers(headers, subdir: project_name) -dependencies = [ - gandiva, - arrow_glib, -] -libgandiva_glib = library('gandiva-glib', - sources: sources + enums, - install: true, - dependencies: dependencies, - implicit_include_directories: false, - include_directories: base_include_directories, - cpp_args: ['-DGGANDIVA_COMPILATION'], - c_args: ['-DGGANDIVA_COMPILATION'], - soversion: so_version, - version: library_version) -gandiva_glib = declare_dependency(link_with: libgandiva_glib, - include_directories: base_include_directories, - dependencies: dependencies, - sources: enums_header) +dependencies = [gandiva, arrow_glib] +libgandiva_glib = library( + 'gandiva-glib', + sources: sources + enums, + install: true, + dependencies: dependencies, + implicit_include_directories: false, + include_directories: base_include_directories, + cpp_args: ['-DGGANDIVA_COMPILATION'], + c_args: ['-DGGANDIVA_COMPILATION'], + soversion: so_version, + version: library_version, +) +gandiva_glib = declare_dependency( + link_with: libgandiva_glib, + include_directories: base_include_directories, + dependencies: dependencies, + sources: enums_header, +) -pkgconfig.generate(libgandiva_glib, - description: 'C API for Apache Arrow Gandiva based on GLib', - filebase: project_name, - name: 'Apache Arrow Gandiva GLib', - requires: ['gandiva', 'arrow-glib'], - variables: pkgconfig_variables, - version: version) +pkgconfig.generate( + libgandiva_glib, + description: 'C API for Apache Arrow Gandiva based on GLib', + filebase: project_name, + name: 'Apache Arrow Gandiva GLib', + requires: ['gandiva', 'arrow-glib'], + variables: pkgconfig_variables, + version: version, +) if have_gi - gandiva_glib_gir = \ - gnome.generate_gir(libgandiva_glib, - dependencies: declare_dependency(sources: arrow_glib_gir), - export_packages: 'gandiva-glib', - extra_args: [ - '--warn-all', - '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', - ], - header: 'gandiva-glib/gandiva-glib.h', - identifier_prefix: 'GGandiva', - includes: [ - 'Arrow-1.0' - ], - kwargs: generate_gi_common_args, - namespace: 'Gandiva', - sources: sources + c_headers + enums, - symbol_prefix: 'ggandiva') + gandiva_glib_gir = gnome.generate_gir( + libgandiva_glib, + dependencies: declare_dependency(sources: arrow_glib_gir), + export_packages: 'gandiva-glib', + extra_args: [ + '--warn-all', + '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', + ], + header: 'gandiva-glib/gandiva-glib.h', + identifier_prefix: 'GGandiva', + includes: ['Arrow-1.0'], + kwargs: generate_gi_common_args, + namespace: 'Gandiva', + sources: sources + c_headers + enums, + symbol_prefix: 'ggandiva', + ) - if generate_vapi - gnome.generate_vapi('gandiva-glib', - install: true, - packages: [ - arrow_glib_vapi, - 'gio-2.0', - ], - sources: [gandiva_glib_gir[0]]) - endif + if generate_vapi + gnome.generate_vapi( + 'gandiva-glib', + install: true, + packages: [arrow_glib_vapi, 'gio-2.0'], + sources: [gandiva_glib_gir[0]], + ) + endif endif diff --git a/c_glib/meson.build b/c_glib/meson.build index 017765cd14626..ed6bcc131e4b9 100644 --- a/c_glib/meson.build +++ b/c_glib/meson.build @@ -17,31 +17,32 @@ # specific language governing permissions and limitations # under the License. -project('arrow-glib', 'c', 'cpp', - default_options: [ - 'c_std=c99', - 'cpp_std=c++17', - ], - license: 'Apache-2.0', - # Debian: - # https://packages.debian.org/search?keywords=meson - # - # * bookworm: 1.0.0 - # - # Ubuntu: - # https://packages.ubuntu.com/search?keywords=meson - # - # * 20.04: 0.53.2 - # * 22.04: 0.61.2 - meson_version: '>=0.53.2') +project( + 'arrow-glib', + 'c', + 'cpp', + default_options: ['c_std=c99', 'cpp_std=c++17'], + license: 'Apache-2.0', + # Debian: + # https://packages.debian.org/search?keywords=meson + # + # * bookworm: 1.0.0 + # + # Ubuntu: + # https://packages.ubuntu.com/search?keywords=meson + # + # * 20.04: 0.53.2 + # * 22.04: 0.61.2 + meson_version: '>=0.53.2', +) version = '20.0.0-SNAPSHOT' if version.endswith('-SNAPSHOT') - version_numbers = version.split('-')[0].split('.') - version_tag = version.split('-')[1] + version_numbers = version.split('-')[0].split('.') + version_tag = version.split('-')[1] else - version_numbers = version.split('.') - version_tag = '' + version_numbers = version.split('.') + version_tag = '' endif version_major = version_numbers[0].to_int() version_minor = version_numbers[1].to_int() @@ -53,11 +54,11 @@ so_version_patch = version_micro library_version = '@0@.@1@.@2@'.format(so_version, so_version_patch, 0) if meson.version().version_compare('>=0.56.0') - project_build_root = meson.project_build_root() - project_source_root = meson.project_source_root() + project_build_root = meson.project_build_root() + project_source_root = meson.project_source_root() else - project_build_root = meson.build_root() - project_source_root = meson.source_root() + project_build_root = meson.build_root() + project_source_root = meson.source_root() endif prefix = get_option('prefix') @@ -71,64 +72,84 @@ gnome = import('gnome') pkgconfig = import('pkgconfig') pkgconfig_variables = [] -base_include_directories = [ - include_directories('.') -] +base_include_directories = [include_directories('.')] -generate_gi_common_args = { - 'install': true, - 'nsversion': api_version, -} +generate_gi_common_args = {'install': true, 'nsversion': api_version} if get_option('werror') and meson.version().version_compare('>=0.55.0') - generate_gi_common_args += {'fatal_warnings': true} + generate_gi_common_args += {'fatal_warnings': true} endif have_gi = dependency('gobject-introspection-1.0', required: false).found() if have_gi - pkgconfig_variables += ['girdir=@0@'.format(gir_dir)] + pkgconfig_variables += ['girdir=@0@'.format(gir_dir)] endif generate_vapi = have_gi and get_option('vapi') if generate_vapi - pkgconfig_variables += ['vapidir=@0@'.format(vapi_dir)] - add_languages('vala') + pkgconfig_variables += ['vapidir=@0@'.format(vapi_dir)] + add_languages('vala') endif arrow_cpp_build_dir = get_option('arrow_cpp_build_dir') arrow_cpp_build_type = get_option('arrow_cpp_build_type') if arrow_cpp_build_dir == '' - arrow_cpp_build_lib_dir = '' + arrow_cpp_build_lib_dir = '' else - arrow_cpp_build_lib_dir = join_paths(project_source_root, - arrow_cpp_build_dir, - arrow_cpp_build_type.to_lower()) + arrow_cpp_build_lib_dir = join_paths( + project_source_root, + arrow_cpp_build_dir, + arrow_cpp_build_type.to_lower(), + ) endif if arrow_cpp_build_lib_dir == '' - arrow = dependency('arrow', version: ['>=' + version]) - # They are just for checking required modules are enabled. They are built into - # libarrow.so. So we don't need additional build flags for them. - dependency('arrow-compute', version: ['>=' + version]) - dependency('arrow-csv', version: ['>=' + version]) - dependency('arrow-filesystem', version: ['>=' + version]) - dependency('arrow-json', version: ['>=' + version]) - - have_arrow_orc = dependency('arrow-orc', required: false, version: ['>=' + version]).found() - arrow_cuda = dependency('arrow-cuda', required: false, version: ['>=' + version]) - # we do not support compiling glib without acero engine - arrow_acero = dependency('arrow-acero', required: true, version: ['>=' + version]) - arrow_dataset = dependency('arrow-dataset', required: false, version: ['>=' + version]) - arrow_flight = dependency('arrow-flight', required: false, version: ['>=' + version]) - arrow_flight_sql = dependency('arrow-flight-sql', required: false, version: ['>=' + version]) - gandiva = dependency('gandiva', required: false, version: ['>=' + version]) - parquet = dependency('parquet', required: false, version: ['>=' + version]) + arrow = dependency('arrow', version: ['>=' + version]) + # They are just for checking required modules are enabled. They are built into + # libarrow.so. So we don't need additional build flags for them. + dependency('arrow-compute', version: ['>=' + version]) + dependency('arrow-csv', version: ['>=' + version]) + dependency('arrow-filesystem', version: ['>=' + version]) + dependency('arrow-json', version: ['>=' + version]) + + have_arrow_orc = dependency( + 'arrow-orc', + required: false, + version: ['>=' + version], + ).found() + arrow_cuda = dependency( + 'arrow-cuda', + required: false, + version: ['>=' + version], + ) + # we do not support compiling glib without acero engine + arrow_acero = dependency( + 'arrow-acero', + required: true, + version: ['>=' + version], + ) + arrow_dataset = dependency( + 'arrow-dataset', + required: false, + version: ['>=' + version], + ) + arrow_flight = dependency( + 'arrow-flight', + required: false, + version: ['>=' + version], + ) + arrow_flight_sql = dependency( + 'arrow-flight-sql', + required: false, + version: ['>=' + version], + ) + gandiva = dependency('gandiva', required: false, version: ['>=' + version]) + parquet = dependency('parquet', required: false, version: ['>=' + version]) else - base_include_directories += [ - include_directories(join_paths(arrow_cpp_build_dir, 'src')), - include_directories('../cpp/src'), - ] - cpp_compiler = meson.get_compiler('cpp') - arrow = cpp_compiler.find_library('arrow', - dirs: [arrow_cpp_build_lib_dir]) - arrow_orc_code = ''' + base_include_directories += [ + include_directories(join_paths(arrow_cpp_build_dir, 'src')), + include_directories('../cpp/src'), + ] + cpp_compiler = meson.get_compiler('cpp') + arrow = cpp_compiler.find_library('arrow', dirs: [arrow_cpp_build_lib_dir]) + arrow_orc_code = ''' #include int @@ -138,36 +159,52 @@ main(void) return 0; } ''' - have_arrow_orc = cpp_compiler.links(arrow_orc_code, - include_directories: base_include_directories, - dependencies: [arrow]) - arrow_cuda = cpp_compiler.find_library('arrow_cuda', - dirs: [arrow_cpp_build_lib_dir], - required: false) - arrow_acero = cpp_compiler.find_library('arrow_acero', - dirs: [arrow_cpp_build_lib_dir], - required: true) - arrow_dataset = cpp_compiler.find_library('arrow_dataset', - dirs: [arrow_cpp_build_lib_dir], - required: false) - arrow_flight = cpp_compiler.find_library('arrow_flight', - dirs: [arrow_cpp_build_lib_dir], - required: false) - arrow_flight_sql = cpp_compiler.find_library('arrow_flight_sql', - dirs: [arrow_cpp_build_lib_dir], - required: false) - gandiva = cpp_compiler.find_library('gandiva', - dirs: [arrow_cpp_build_lib_dir], - required: false) - parquet = cpp_compiler.find_library('parquet', - dirs: [arrow_cpp_build_lib_dir], - required: false) + have_arrow_orc = cpp_compiler.links( + arrow_orc_code, + include_directories: base_include_directories, + dependencies: [arrow], + ) + arrow_cuda = cpp_compiler.find_library( + 'arrow_cuda', + dirs: [arrow_cpp_build_lib_dir], + required: false, + ) + arrow_acero = cpp_compiler.find_library( + 'arrow_acero', + dirs: [arrow_cpp_build_lib_dir], + required: true, + ) + arrow_dataset = cpp_compiler.find_library( + 'arrow_dataset', + dirs: [arrow_cpp_build_lib_dir], + required: false, + ) + arrow_flight = cpp_compiler.find_library( + 'arrow_flight', + dirs: [arrow_cpp_build_lib_dir], + required: false, + ) + arrow_flight_sql = cpp_compiler.find_library( + 'arrow_flight_sql', + dirs: [arrow_cpp_build_lib_dir], + required: false, + ) + gandiva = cpp_compiler.find_library( + 'gandiva', + dirs: [arrow_cpp_build_lib_dir], + required: false, + ) + parquet = cpp_compiler.find_library( + 'parquet', + dirs: [arrow_cpp_build_lib_dir], + required: false, + ) endif cxx = meson.get_compiler('cpp') cxx_flags = [] if cxx.get_id() != 'msvc' - cxx_flags += ['-Wmissing-declarations'] + cxx_flags += ['-Wmissing-declarations'] endif add_project_arguments(cxx.get_supported_arguments(cxx_flags), language: 'cpp') @@ -177,42 +214,54 @@ generate_version_header_py = project_source_root / 'tool' / 'generate-version-he subdir('arrow-glib') if arrow_cuda.found() - subdir('arrow-cuda-glib') + subdir('arrow-cuda-glib') endif if arrow_dataset.found() - subdir('arrow-dataset-glib') + subdir('arrow-dataset-glib') endif if arrow_flight.found() - subdir('arrow-flight-glib') + subdir('arrow-flight-glib') endif if arrow_flight_sql.found() - subdir('arrow-flight-sql-glib') + subdir('arrow-flight-sql-glib') endif if gandiva.found() - subdir('gandiva-glib') + subdir('gandiva-glib') endif if parquet.found() - subdir('parquet-glib') + subdir('parquet-glib') endif subdir('example') if get_option('doc') - subdir('doc') + subdir('doc') endif -install_data('../LICENSE.txt', - 'README.md', - install_dir: data_dir / meson.project_name()) +install_data( + '../LICENSE.txt', + 'README.md', + install_dir: data_dir / meson.project_name(), +) run_test = find_program('test/run-test.sh') -test('unit test', - run_test, - env: [ - 'ARROW_CUDA_GLIB_TYPELIB_DIR=@0@/arrow-cuda-glib'.format(project_build_root), - 'ARROW_DATASET_GLIB_TYPELIB_DIR=@0@/arrow-dataset-glib'.format(project_build_root), - 'ARROW_FLIGHT_GLIB_TYPELIB_DIR=@0@/arrow-flight-glib'.format(project_build_root), - 'ARROW_FLIGHT_SQL_GLIB_TYPELIB_DIR=@0@/arrow-flight-sql-glib'.format(project_build_root), - 'ARROW_GLIB_TYPELIB_DIR=@0@/arrow-glib'.format(project_build_root), - 'GANDIVA_GLIB_TYPELIB_DIR=@0@/gandiva-glib'.format(project_build_root), - 'PARQUET_GLIB_TYPELIB_DIR=@0@/parquet-glib'.format(project_build_root), - ]) +test( + 'unit test', + run_test, + env: [ + 'ARROW_CUDA_GLIB_TYPELIB_DIR=@0@/arrow-cuda-glib'.format( + project_build_root, + ), + 'ARROW_DATASET_GLIB_TYPELIB_DIR=@0@/arrow-dataset-glib'.format( + project_build_root, + ), + 'ARROW_FLIGHT_GLIB_TYPELIB_DIR=@0@/arrow-flight-glib'.format( + project_build_root, + ), + 'ARROW_FLIGHT_SQL_GLIB_TYPELIB_DIR=@0@/arrow-flight-sql-glib'.format( + project_build_root, + ), + 'ARROW_GLIB_TYPELIB_DIR=@0@/arrow-glib'.format(project_build_root), + 'GANDIVA_GLIB_TYPELIB_DIR=@0@/gandiva-glib'.format(project_build_root), + 'PARQUET_GLIB_TYPELIB_DIR=@0@/parquet-glib'.format(project_build_root), + ], +) diff --git a/c_glib/parquet-glib/meson.build b/c_glib/parquet-glib/meson.build index a3de1d0933f7f..a85ba18f30f9c 100644 --- a/c_glib/parquet-glib/meson.build +++ b/c_glib/parquet-glib/meson.build @@ -20,32 +20,43 @@ project_name = 'parquet-glib' sources = files( - 'arrow-file-reader.cpp', - 'arrow-file-writer.cpp', - 'metadata.cpp', - 'statistics.cpp', + 'arrow-file-reader.cpp', + 'arrow-file-writer.cpp', + 'metadata.cpp', + 'statistics.cpp', ) c_headers = files( - 'arrow-file-reader.h', - 'arrow-file-writer.h', - 'metadata.h', - 'statistics.h', - 'parquet-glib.h', + 'arrow-file-reader.h', + 'arrow-file-writer.h', + 'metadata.h', + 'parquet-glib.h', + 'statistics.h', ) cpp_headers = files( - 'arrow-file-reader.hpp', - 'arrow-file-writer.hpp', - 'metadata.hpp', - 'statistics.hpp', - 'parquet-glib.hpp', + 'arrow-file-reader.hpp', + 'arrow-file-writer.hpp', + 'metadata.hpp', + 'parquet-glib.hpp', + 'statistics.hpp', ) version_h = configure_file( - input: 'version.h.in', - output: 'version.h', - command: [python3, generate_version_header_py, '--library', 'GPARQUET', '--version', version, '--input', '@INPUT@', '--output', '@OUTPUT@'], + input: 'version.h.in', + output: 'version.h', + command: [ + python3, + generate_version_header_py, + '--library', + 'GPARQUET', + '--version', + version, + '--input', + '@INPUT@', + '--output', + '@OUTPUT@', + ], ) c_headers += version_h @@ -53,58 +64,58 @@ c_headers += version_h headers = c_headers + cpp_headers install_headers(headers, subdir: project_name) -dependencies = [ - arrow, - parquet, - arrow_glib, -] -libparquet_glib = library('parquet-glib', - sources: sources, - install: true, - dependencies: dependencies, - implicit_include_directories: false, - include_directories: base_include_directories, - cpp_args: ['-DGPARQUET_COMPILATION'], - soversion: so_version, - version: library_version) -parquet_glib = declare_dependency(link_with: libparquet_glib, - include_directories: base_include_directories, - dependencies: dependencies) +dependencies = [arrow, parquet, arrow_glib] +libparquet_glib = library( + 'parquet-glib', + sources: sources, + install: true, + dependencies: dependencies, + implicit_include_directories: false, + include_directories: base_include_directories, + cpp_args: ['-DGPARQUET_COMPILATION'], + soversion: so_version, + version: library_version, +) +parquet_glib = declare_dependency( + link_with: libparquet_glib, + include_directories: base_include_directories, + dependencies: dependencies, +) -pkgconfig.generate(libparquet_glib, - description: 'C API for Apache Parquet based on GLib', - filebase: project_name, - name: 'Apache Parquet GLib', - requires: ['parquet', 'arrow-glib'], - variables: pkgconfig_variables, - version: version) +pkgconfig.generate( + libparquet_glib, + description: 'C API for Apache Parquet based on GLib', + filebase: project_name, + name: 'Apache Parquet GLib', + requires: ['parquet', 'arrow-glib'], + variables: pkgconfig_variables, + version: version, +) if have_gi - parquet_glib_gir = \ - gnome.generate_gir(libparquet_glib, - dependencies: declare_dependency(sources: arrow_glib_gir), - export_packages: 'parquet-glib', - extra_args: [ - '--warn-all', - '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', - ], - header: 'parquet-glib/parquet-glib.h', - identifier_prefix: 'GParquet', - includes: [ - 'Arrow-1.0', - ], - kwargs: generate_gi_common_args, - namespace: 'Parquet', - sources: sources + c_headers, - symbol_prefix: 'gparquet') + parquet_glib_gir = gnome.generate_gir( + libparquet_glib, + dependencies: declare_dependency(sources: arrow_glib_gir), + export_packages: 'parquet-glib', + extra_args: [ + '--warn-all', + '--include-uninstalled=./arrow-glib/Arrow-1.0.gir', + ], + header: 'parquet-glib/parquet-glib.h', + identifier_prefix: 'GParquet', + includes: ['Arrow-1.0'], + kwargs: generate_gi_common_args, + namespace: 'Parquet', + sources: sources + c_headers, + symbol_prefix: 'gparquet', + ) - if generate_vapi - gnome.generate_vapi('parquet-glib', - install: true, - packages: [ - arrow_glib_vapi, - 'gio-2.0', - ], - sources: [parquet_glib_gir[0]]) - endif + if generate_vapi + gnome.generate_vapi( + 'parquet-glib', + install: true, + packages: [arrow_glib_vapi, 'gio-2.0'], + sources: [parquet_glib_gir[0]], + ) + endif endif