2
2
# SPDX-License-Identifier: GPL-2.0
3
3
#
4
4
# Tests whether a suitable Rust toolchain is available.
5
- #
6
- # Pass `-v` for human output and more checks (as warnings).
7
5
8
6
set -e
9
7
@@ -23,21 +21,17 @@ get_canonical_version()
23
21
24
22
# Check that the Rust compiler exists.
25
23
if ! command -v " $RUSTC " > /dev/null; then
26
- if [ " $1 " = -v ]; then
27
- echo >&2 " ***"
28
- echo >&2 " *** Rust compiler '$RUSTC ' could not be found."
29
- echo >&2 " ***"
30
- fi
24
+ echo >&2 " ***"
25
+ echo >&2 " *** Rust compiler '$RUSTC ' could not be found."
26
+ echo >&2 " ***"
31
27
exit 1
32
28
fi
33
29
34
30
# Check that the Rust bindings generator exists.
35
31
if ! command -v " $BINDGEN " > /dev/null; then
36
- if [ " $1 " = -v ]; then
37
- echo >&2 " ***"
38
- echo >&2 " *** Rust bindings generator '$BINDGEN ' could not be found."
39
- echo >&2 " ***"
40
- fi
32
+ echo >&2 " ***"
33
+ echo >&2 " *** Rust bindings generator '$BINDGEN ' could not be found."
34
+ echo >&2 " ***"
41
35
exit 1
42
36
fi
43
37
@@ -53,16 +47,14 @@ rust_compiler_min_version=$($min_tool_version rustc)
53
47
rust_compiler_cversion=$( get_canonical_version $rust_compiler_version )
54
48
rust_compiler_min_cversion=$( get_canonical_version $rust_compiler_min_version )
55
49
if [ " $rust_compiler_cversion " -lt " $rust_compiler_min_cversion " ]; then
56
- if [ " $1 " = -v ]; then
57
- echo >&2 " ***"
58
- echo >&2 " *** Rust compiler '$RUSTC ' is too old."
59
- echo >&2 " *** Your version: $rust_compiler_version "
60
- echo >&2 " *** Minimum version: $rust_compiler_min_version "
61
- echo >&2 " ***"
62
- fi
50
+ echo >&2 " ***"
51
+ echo >&2 " *** Rust compiler '$RUSTC ' is too old."
52
+ echo >&2 " *** Your version: $rust_compiler_version "
53
+ echo >&2 " *** Minimum version: $rust_compiler_min_version "
54
+ echo >&2 " ***"
63
55
exit 1
64
56
fi
65
- if [ " $1 " = -v ] && [ " $ rust_compiler_cversion" -gt " $rust_compiler_min_cversion " ]; then
57
+ if [ " $rust_compiler_cversion " -gt " $rust_compiler_min_cversion " ]; then
66
58
echo >&2 " ***"
67
59
echo >&2 " *** Rust compiler '$RUSTC ' is too new. This may or may not work."
68
60
echo >&2 " *** Your version: $rust_compiler_version "
@@ -82,16 +74,14 @@ rust_bindings_generator_min_version=$($min_tool_version bindgen)
82
74
rust_bindings_generator_cversion=$( get_canonical_version $rust_bindings_generator_version )
83
75
rust_bindings_generator_min_cversion=$( get_canonical_version $rust_bindings_generator_min_version )
84
76
if [ " $rust_bindings_generator_cversion " -lt " $rust_bindings_generator_min_cversion " ]; then
85
- if [ " $1 " = -v ]; then
86
- echo >&2 " ***"
87
- echo >&2 " *** Rust bindings generator '$BINDGEN ' is too old."
88
- echo >&2 " *** Your version: $rust_bindings_generator_version "
89
- echo >&2 " *** Minimum version: $rust_bindings_generator_min_version "
90
- echo >&2 " ***"
91
- fi
77
+ echo >&2 " ***"
78
+ echo >&2 " *** Rust bindings generator '$BINDGEN ' is too old."
79
+ echo >&2 " *** Your version: $rust_bindings_generator_version "
80
+ echo >&2 " *** Minimum version: $rust_bindings_generator_min_version "
81
+ echo >&2 " ***"
92
82
exit 1
93
83
fi
94
- if [ " $1 " = -v ] && [ " $ rust_bindings_generator_cversion" -gt " $rust_bindings_generator_min_cversion " ]; then
84
+ if [ " $rust_bindings_generator_cversion " -gt " $rust_bindings_generator_min_cversion " ]; then
95
85
echo >&2 " ***"
96
86
echo >&2 " *** Rust bindings generator '$BINDGEN ' is too new. This may or may not work."
97
87
echo >&2 " *** Your version: $rust_bindings_generator_version "
@@ -110,13 +100,11 @@ bindgen_libclang_min_version=$($min_tool_version llvm)
110
100
bindgen_libclang_cversion=$( get_canonical_version $bindgen_libclang_version )
111
101
bindgen_libclang_min_cversion=$( get_canonical_version $bindgen_libclang_min_version )
112
102
if [ " $bindgen_libclang_cversion " -lt " $bindgen_libclang_min_cversion " ]; then
113
- if [ " $1 " = -v ]; then
114
- echo >&2 " ***"
115
- echo >&2 " *** libclang (used by the Rust bindings generator '$BINDGEN ') is too old."
116
- echo >&2 " *** Your version: $bindgen_libclang_version "
117
- echo >&2 " *** Minimum version: $bindgen_libclang_min_version "
118
- echo >&2 " ***"
119
- fi
103
+ echo >&2 " ***"
104
+ echo >&2 " *** libclang (used by the Rust bindings generator '$BINDGEN ') is too old."
105
+ echo >&2 " *** Your version: $bindgen_libclang_version "
106
+ echo >&2 " *** Minimum version: $bindgen_libclang_min_version "
107
+ echo >&2 " ***"
120
108
exit 1
121
109
fi
122
110
125
113
#
126
114
# In the future, we might be able to perform a full version check, see
127
115
# https://github.com/rust-lang/rust-bindgen/issues/2138.
128
- if [ " $1 " = -v ]; then
129
- cc_name=$( $( dirname $0 ) /cc-version.sh " $CC " | cut -f1 -d' ' )
130
- if [ " $cc_name " = Clang ]; then
131
- clang_version=$( \
132
- LC_ALL=C " $CC " --version 2> /dev/null \
133
- | sed -nE ' 1s:.*version ([0-9]+\.[0-9]+\.[0-9]+).*:\1:p'
134
- )
135
- if [ " $clang_version " != " $bindgen_libclang_version " ]; then
136
- echo >&2 " ***"
137
- echo >&2 " *** libclang (used by the Rust bindings generator '$BINDGEN ')"
138
- echo >&2 " *** version does not match Clang's. This may be a problem."
139
- echo >&2 " *** libclang version: $bindgen_libclang_version "
140
- echo >&2 " *** Clang version: $clang_version "
141
- echo >&2 " ***"
142
- fi
116
+ cc_name=$( $( dirname $0 ) /cc-version.sh " $CC " | cut -f1 -d' ' )
117
+ if [ " $cc_name " = Clang ]; then
118
+ clang_version=$( \
119
+ LC_ALL=C " $CC " --version 2> /dev/null \
120
+ | sed -nE ' 1s:.*version ([0-9]+\.[0-9]+\.[0-9]+).*:\1:p'
121
+ )
122
+ if [ " $clang_version " != " $bindgen_libclang_version " ]; then
123
+ echo >&2 " ***"
124
+ echo >&2 " *** libclang (used by the Rust bindings generator '$BINDGEN ')"
125
+ echo >&2 " *** version does not match Clang's. This may be a problem."
126
+ echo >&2 " *** libclang version: $bindgen_libclang_version "
127
+ echo >&2 " *** Clang version: $clang_version "
128
+ echo >&2 " ***"
143
129
fi
144
130
fi
145
131
@@ -150,11 +136,9 @@ rustc_sysroot=$("$RUSTC" $KRUSTFLAGS --print sysroot)
150
136
rustc_src=${RUST_LIB_SRC:- " $rustc_sysroot /lib/rustlib/src/rust/library" }
151
137
rustc_src_core=" $rustc_src /core/src/lib.rs"
152
138
if [ ! -e " $rustc_src_core " ]; then
153
- if [ " $1 " = -v ]; then
154
- echo >&2 " ***"
155
- echo >&2 " *** Source code for the 'core' standard library could not be found"
156
- echo >&2 " *** at '$rustc_src_core '."
157
- echo >&2 " ***"
158
- fi
139
+ echo >&2 " ***"
140
+ echo >&2 " *** Source code for the 'core' standard library could not be found"
141
+ echo >&2 " *** at '$rustc_src_core '."
142
+ echo >&2 " ***"
159
143
exit 1
160
144
fi
0 commit comments