[PATCH 02/13] meson: undo Patrick's changes concerning Rust
From: Ezekiel Newren <ezekielnewren@gmail.com>
Signed-off-by: Ezekiel Newren <ezekielnewren@gmail.com>
---
meson.build | 19 ++-----------------
meson_options.txt | 4 ++--
src/cargo-meson.sh | 39 ---------------------------------------
src/meson.build | 41 -----------------------------------------
4 files changed, 4 insertions(+), 99 deletions(-)
delete mode 100755 src/cargo-meson.sh
delete mode 100644 src/meson.build
diff --git a/meson.build b/meson.build
index 2b763f7c53..8966596ee8 100644
--- a/meson.build
+++ b/meson.build
@@ -220,7 +220,7 @@ project('git', 'c',
# learned to define __STDC_VERSION__ with C11 and later. We thus require
# GNU C99 and fall back to C11. Meson only learned to handle the fallback
# with version 1.3.0, so on older versions we use GNU C99 unconditionally.
- default_options: meson.version().version_compare('>=1.3.0') ? ['rust_std=2018', 'c_std=gnu99,c11'] : ['rust_std=2018', 'c_std=gnu99'],
+ default_options: meson.version().version_compare('>=1.3.0') ? ['c_std=gnu99,c11'] : ['c_std=gnu99'],
)
fs = import('fs')
@@ -1709,21 +1709,6 @@ version_def_h = custom_target(
)
libgit_sources += version_def_h
-cargo = find_program('cargo', dirs: program_path, native: true, required: get_option('rust'))
-rust_option = get_option('rust').disable_auto_if(not cargo.found())
-if rust_option.allowed()
- subdir('src')
- libgit_c_args += '-DWITH_RUST'
-
- if host_machine.system() == 'windows'
- libgit_dependencies += compiler.find_library('userenv')
- endif
-else
- libgit_sources += [
- 'varint.c',
- ]
-endif
-
libgit = declare_dependency(
link_with: static_library('git',
sources: libgit_sources,
@@ -2270,7 +2255,7 @@ summary({
'pcre2': pcre2,
'perl': perl_features_enabled,
'python': target_python.found(),
- 'rust': rust_option.allowed(),
+ 'rust': get_option('with_rust'),
}, section: 'Auto-detected features', bool_yn: true)
summary({
diff --git a/meson_options.txt b/meson_options.txt
index 143dee9237..0059b7c7df 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -71,8 +71,8 @@ option('zlib_backend', type: 'combo', choices: ['auto', 'zlib', 'zlib-ng'], valu
# Build tweaks.
option('breaking_changes', type: 'boolean', value: false,
description: 'Enable upcoming breaking changes.')
-option('rust', type: 'feature', value: 'auto',
- description: 'Enable building with Rust.')
+option('with_rust', type: 'boolean', value: true,
+ description: 'Enable building with Rust, true by default.')
option('macos_use_homebrew_gettext', type: 'boolean', value: true,
description: 'Use gettext from Homebrew instead of the slightly-broken system-provided one.')
diff --git a/src/cargo-meson.sh b/src/cargo-meson.sh
deleted file mode 100755
index 3998db0435..0000000000
--- a/src/cargo-meson.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-if test "$#" -lt 2
-then
- exit 1
-fi
-
-SOURCE_DIR="$1"
-BUILD_DIR="$2"
-BUILD_TYPE=debug
-
-shift 2
-
-for arg
-do
- case "$arg" in
- --release)
- BUILD_TYPE=release;;
- esac
-done
-
-cargo build --lib --quiet --manifest-path="$SOURCE_DIR/Cargo.toml" --target-dir="$BUILD_DIR" "$@"
-RET=$?
-if test $RET -ne 0
-then
- exit $RET
-fi
-
-case "$(cargo -vV | sed -s 's/^host: \(.*\)$/\1/')" in
- *-windows-*)
- LIBNAME=gitcore.lib;;
- *)
- LIBNAME=libgitcore.a;;
-esac
-
-if ! cmp "$BUILD_DIR/$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a" >/dev/null 2>&1
-then
- cp "$BUILD_DIR/$BUILD_TYPE/$LIBNAME" "$BUILD_DIR/libgitcore.a"
-fi
diff --git a/src/meson.build b/src/meson.build
deleted file mode 100644
index 25b9ad5a14..0000000000
--- a/src/meson.build
+++ /dev/null
@@ -1,41 +0,0 @@
-libgit_rs_sources = [
- 'lib.rs',
- 'varint.rs',
-]
-
-# Unfortunately we must use a wrapper command to move the output file into the
-# current build directory. This can fixed once `cargo build --artifact-dir`
-# stabilizes. See https://github.com/rust-lang/cargo/issues/6790 for that
-# effort.
-cargo_command = [
- shell,
- meson.current_source_dir() / 'cargo-meson.sh',
- meson.project_source_root(),
- meson.current_build_dir(),
-]
-if get_option('buildtype') == 'release'
- cargo_command += '--release'
-endif
-
-libgit_rs = custom_target('git_rs',
- input: libgit_rs_sources + [
- meson.project_source_root() / 'Cargo.toml',
- ],
- output: 'libgitcore.a',
- command: cargo_command,
-)
-libgit_dependencies += declare_dependency(link_with: libgit_rs)
-
-if get_option('tests')
- test('rust', cargo,
- args: [
- 'test',
- '--manifest-path',
- meson.project_source_root() / 'Cargo.toml',
- '--target-dir',
- meson.current_build_dir() / 'target',
- ],
- timeout: 0,
- protocol: 'rust',
- )
-endif
--
gitgitgadget