Linux jobworks 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:53:05 UTC 2026 x86_64
Apache/2.4.58 (Ubuntu)
Server IP : 10.0.1.5 & Your IP : 216.73.217.52
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
linux-headers-6.8.0-136-generic /
scripts /
Delete
Unzip
Name
Size
Permission
Date
Action
atomic
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
basic
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
clang-tools
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
coccinelle
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
dtc
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
dummy-tools
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
gcc-plugins
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
gdb
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
genksyms
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
kconfig
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
ksymoops
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
mod
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
package
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
selinux
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
tracing
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
Kbuild.include
10.1
KB
-rw-r--r--
2024-03-10 20:38
Kconfig.include
2.65
KB
-rw-r--r--
2026-07-01 19:48
Lindent
502
B
-rwxr-xr-x
2024-03-10 20:38
Makefile
1.87
KB
-rw-r--r--
2024-03-10 20:38
Makefile.asm-generic
1.82
KB
-rw-r--r--
2024-03-10 20:38
Makefile.btf
638
B
-rw-r--r--
2024-03-10 20:38
Makefile.build
17.24
KB
-rw-r--r--
2026-07-01 19:48
Makefile.clang
1.61
KB
-rw-r--r--
2024-03-10 20:38
Makefile.clean
1.87
KB
-rw-r--r--
2024-03-10 20:38
Makefile.compiler
2.74
KB
-rw-r--r--
2024-03-10 20:38
Makefile.debug
1.12
KB
-rw-r--r--
2024-03-10 20:38
Makefile.defconf
1.04
KB
-rw-r--r--
2026-07-01 19:48
Makefile.dtbinst
1.03
KB
-rw-r--r--
2026-07-01 19:48
Makefile.extrawarn
7.9
KB
-rw-r--r--
2026-07-01 19:48
Makefile.gcc-plugins
2.59
KB
-rw-r--r--
2024-03-10 20:38
Makefile.headersinst
2.88
KB
-rw-r--r--
2024-03-10 20:38
Makefile.host
5.91
KB
-rw-r--r--
2024-03-10 20:38
Makefile.kasan
2.57
KB
-rw-r--r--
2026-07-01 19:48
Makefile.kcov
333
B
-rw-r--r--
2024-03-10 20:38
Makefile.kcsan
1004
B
-rw-r--r--
2024-03-10 20:38
Makefile.kmsan
208
B
-rw-r--r--
2024-03-10 20:38
Makefile.lib
21.12
KB
-rw-r--r--
2026-07-01 19:48
Makefile.modfinal
2.63
KB
-rw-r--r--
2026-07-01 19:48
Makefile.modinst
4.02
KB
-rw-r--r--
2026-07-01 19:48
Makefile.modpost
4.69
KB
-rw-r--r--
2024-03-10 20:38
Makefile.package
8.73
KB
-rw-r--r--
2026-07-01 19:48
Makefile.randstruct
511
B
-rw-r--r--
2024-03-10 20:38
Makefile.ubsan
779
B
-rw-r--r--
2024-03-10 20:38
Makefile.userprogs
1.59
KB
-rw-r--r--
2024-03-10 20:38
Makefile.vdsoinst
1.15
KB
-rw-r--r--
2026-07-01 19:48
Makefile.vmlinux
1.48
KB
-rw-r--r--
2024-03-10 20:38
Makefile.vmlinux_o
3.27
KB
-rw-r--r--
2024-03-10 20:38
as-version.sh
2.03
KB
-rwxr-xr-x
2024-03-10 20:38
asn1_compiler
34.3
KB
-rwxr-xr-x
2026-07-01 19:48
asn1_compiler.c
35.32
KB
-rw-r--r--
2024-03-10 20:38
bloat-o-meter
3.77
KB
-rwxr-xr-x
2024-03-10 20:38
bootgraph.pl
5.64
KB
-rwxr-xr-x
2024-03-10 20:38
bpf_doc.py
31.73
KB
-rwxr-xr-x
2026-07-01 19:48
cc-can-link.sh
166
B
-rwxr-xr-x
2024-03-10 20:38
cc-version.sh
1.36
KB
-rwxr-xr-x
2024-03-10 20:38
check-git
298
B
-rwxr-xr-x
2024-03-10 20:38
check-sysctl-docs
3.66
KB
-rwxr-xr-x
2024-03-10 20:38
check-uapi.sh
15.08
KB
-rwxr-xr-x
2026-07-01 19:48
check_extable.sh
4.93
KB
-rwxr-xr-x
2024-03-10 20:38
checkdeclares.pl
1.1
KB
-rwxr-xr-x
2024-03-10 20:38
checkincludes.pl
1.94
KB
-rwxr-xr-x
2024-03-10 20:38
checkkconfigsymbols.py
15.75
KB
-rwxr-xr-x
2024-03-10 20:38
checkpatch.pl
234.07
KB
-rwxr-xr-x
2026-07-01 19:48
checkstack.pl
5.96
KB
-rwxr-xr-x
2024-03-10 20:38
checksyscalls.sh
7.51
KB
-rwxr-xr-x
2024-03-10 20:38
checkversion.pl
2.16
KB
-rwxr-xr-x
2024-03-10 20:38
cleanfile
3.46
KB
-rwxr-xr-x
2024-03-10 20:38
cleanpatch
5.06
KB
-rwxr-xr-x
2024-03-10 20:38
coccicheck
7.9
KB
-rwxr-xr-x
2024-03-10 20:38
config
4.78
KB
-rwxr-xr-x
2026-07-01 19:48
const_structs.checkpatch
1.4
KB
-rw-r--r--
2024-03-10 20:38
decode_stacktrace.sh
7.58
KB
-rwxr-xr-x
2024-03-10 20:38
decodecode
4.86
KB
-rwxr-xr-x
2024-03-10 20:38
depmod.sh
697
B
-rwxr-xr-x
2024-03-10 20:38
dev-needs.sh
6.07
KB
-rwxr-xr-x
2024-03-10 20:38
diffconfig
4.12
KB
-rwxr-xr-x
2024-03-10 20:38
documentation-file-ref-check
5.67
KB
-rwxr-xr-x
2024-03-10 20:38
export_report.pl
4.5
KB
-rwxr-xr-x
2026-07-01 19:48
extract-ikconfig
1.74
KB
-rwxr-xr-x
2024-03-10 20:38
extract-module-sig.pl
3.66
KB
-rwxr-xr-x
2024-03-10 20:38
extract-sys-certs.pl
3.75
KB
-rwxr-xr-x
2024-03-10 20:38
extract-vmlinux
1.66
KB
-rwxr-xr-x
2024-03-10 20:38
extract_xc3028.pl
44.62
KB
-rwxr-xr-x
2024-03-10 20:38
faddr2line
8.63
KB
-rwxr-xr-x
2024-03-10 20:38
file-size.sh
86
B
-rwxr-xr-x
2024-03-10 20:38
find-unused-docs.sh
1.27
KB
-rwxr-xr-x
2024-03-10 20:38
gcc-x86_32-has-stack-protector.sh
405
B
-rwxr-xr-x
2026-07-01 19:48
gcc-x86_64-has-stack-protector.sh
195
B
-rwxr-xr-x
2026-07-01 19:48
gen-randstruct-seed.sh
228
B
-rwxr-xr-x
2024-03-10 20:38
generate_initcall_order.pl
5.95
KB
-rwxr-xr-x
2024-03-10 20:38
generate_rust_analyzer.py
5.85
KB
-rwxr-xr-x
2026-07-01 19:48
generate_rust_target
505.09
KB
-rwxr-xr-x
2026-07-01 19:48
generate_rust_target.rs
5.59
KB
-rw-r--r--
2026-07-01 19:48
get_abi.pl
25.36
KB
-rwxr-xr-x
2024-03-10 20:38
get_dvb_firmware
24.54
KB
-rwxr-xr-x
2024-03-10 20:38
get_feat.pl
14.61
KB
-rwxr-xr-x
2024-03-10 20:38
get_maintainer.pl
67.63
KB
-rwxr-xr-x
2024-03-10 20:38
gfp-translate
2.08
KB
-rwxr-xr-x
2026-07-01 19:48
git.orderFile
564
B
-rw-r--r--
2024-03-10 20:38
head-object-list.txt
1.36
KB
-rw-r--r--
2024-03-10 20:38
headerdep.pl
3.5
KB
-rwxr-xr-x
2024-03-10 20:38
headers_install.sh
2.76
KB
-rwxr-xr-x
2024-03-10 20:38
insert-sys-cert
21.59
KB
-rwxr-xr-x
2026-07-01 19:48
insert-sys-cert.c
13.08
KB
-rw-r--r--
2026-07-01 19:48
install.sh
986
B
-rwxr-xr-x
2024-03-10 20:38
jobserver-exec
2.56
KB
-rwxr-xr-x
2024-03-10 20:38
kallsyms
21.71
KB
-rwxr-xr-x
2026-07-01 19:48
kallsyms.c
17.75
KB
-rw-r--r--
2026-07-01 19:48
kernel-doc
77.13
KB
-rwxr-xr-x
2026-07-01 19:48
ld-version.sh
1.82
KB
-rwxr-xr-x
2026-07-01 19:48
leaking_addresses.pl
12.84
KB
-rwxr-xr-x
2024-03-10 20:38
link-vmlinux.sh
7.66
KB
-rwxr-xr-x
2026-07-01 19:48
makelst
808
B
-rwxr-xr-x
2024-03-10 20:38
markup_oops.pl
7.92
KB
-rwxr-xr-x
2024-03-10 20:38
min-tool-version.sh
630
B
-rwxr-xr-x
2026-07-01 19:48
misc-check
509
B
-rwxr-xr-x
2024-03-10 20:38
mkcompile_h
642
B
-rwxr-xr-x
2024-03-10 20:38
mksysmap
2.08
KB
-rwxr-xr-x
2026-07-01 19:48
mkuboot.sh
414
B
-rwxr-xr-x
2024-03-10 20:38
module.lds
615
B
-rw-r--r--
2026-07-01 19:48
module.lds.S
1.43
KB
-rw-r--r--
2026-07-01 19:48
modules-check.sh
443
B
-rwxr-xr-x
2024-03-10 20:38
nsdeps
1.63
KB
-rw-r--r--
2024-03-10 20:38
objdiff
2.83
KB
-rwxr-xr-x
2024-03-10 20:38
objdump-func
848
B
-rwxr-xr-x
2024-03-10 20:38
orc_hash.sh
316
B
-rw-r--r--
2024-03-10 20:38
pahole-version.sh
269
B
-rwxr-xr-x
2024-03-10 20:38
parse-maintainers.pl
4.54
KB
-rwxr-xr-x
2024-03-10 20:38
patch-kernel
9.95
KB
-rwxr-xr-x
2024-03-10 20:38
profile2linkerlist.pl
414
B
-rwxr-xr-x
2024-03-10 20:38
prune-kernel
912
B
-rwxr-xr-x
2024-03-10 20:38
recordmcount.c
17.51
KB
-rw-r--r--
2024-03-10 20:38
recordmcount.h
19.37
KB
-rw-r--r--
2024-03-10 20:38
recordmcount.pl
17.34
KB
-rwxr-xr-x
2024-03-10 20:38
relocs_check.sh
717
B
-rwxr-xr-x
2024-03-10 20:38
remove-stale-files
1.29
KB
-rwxr-xr-x
2024-03-10 20:38
rust_is_available.sh
9.48
KB
-rwxr-xr-x
2026-07-01 19:48
rust_is_available_bindgen_libclang.h
91
B
-rw-r--r--
2024-03-10 20:38
rust_is_available_test.py
17.7
KB
-rwxr-xr-x
2024-03-10 20:38
rustdoc_test_builder.rs
3.25
KB
-rw-r--r--
2024-03-10 20:38
rustdoc_test_gen.rs
9.48
KB
-rw-r--r--
2024-03-10 20:38
setlocalversion
5.18
KB
-rwxr-xr-x
2026-07-01 19:48
show_delta
3.04
KB
-rwxr-xr-x
2024-03-10 20:38
sign-file
26.05
KB
-rwxr-xr-x
2026-07-01 19:48
sign-file.c
10.4
KB
-rw-r--r--
2026-07-01 19:48
sorttable
21.3
KB
-rwxr-xr-x
2026-07-01 19:48
sorttable.c
7.68
KB
-rw-r--r--
2024-03-10 20:38
sorttable.h
12.99
KB
-rw-r--r--
2026-07-01 19:48
spdxcheck-test.sh
284
B
-rw-r--r--
2024-03-10 20:38
spdxcheck.py
15.23
KB
-rwxr-xr-x
2024-03-10 20:38
spdxexclude
417
B
-rw-r--r--
2024-03-10 20:38
spelling.txt
34.18
KB
-rw-r--r--
2024-03-10 20:38
sphinx-pre-install
25.07
KB
-rwxr-xr-x
2024-03-10 20:38
split-man.pl
604
B
-rwxr-xr-x
2024-03-10 20:38
ssl-common.h
678
B
-rw-r--r--
2026-07-01 19:48
stackdelta
1.84
KB
-rwxr-xr-x
2024-03-10 20:38
stackusage
794
B
-rwxr-xr-x
2024-03-10 20:38
subarch.include
647
B
-rw-r--r--
2024-03-10 20:38
syscallhdr.sh
1.89
KB
-rwxr-xr-x
2024-03-10 20:38
syscallnr.sh
1.45
KB
-rwxr-xr-x
2024-03-10 20:38
syscalltbl.sh
1.82
KB
-rwxr-xr-x
2026-07-01 19:48
tags.sh
10.73
KB
-rwxr-xr-x
2024-03-10 20:38
target.json
376
B
-rw-r--r--
2026-07-01 19:48
test_fortify.sh
2.23
KB
-rw-r--r--
2024-03-10 20:38
tools-support-relr.sh
726
B
-rwxr-xr-x
2024-03-10 20:38
unifdef.c
34.8
KB
-rw-r--r--
2024-03-10 20:38
ver_linux
2.59
KB
-rwxr-xr-x
2024-03-10 20:38
xen-hypercalls.sh
386
B
-rwxr-xr-x
2024-03-10 20:38
xz_wrap.sh
516
B
-rwxr-xr-x
2024-03-10 20:38
Save
Rename
#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # # Tests whether a suitable Rust toolchain is available. set -e min_tool_version=$(dirname $0)/min-tool-version.sh # Convert the version string x.y.z to a canonical up-to-7-digits form. # # Note that this function uses one more digit (compared to other # instances in other version scripts) to give a bit more space to # `rustc` since it will reach 1.100.0 in late 2026. get_canonical_version() { IFS=. set -- $1 echo $((100000 * $1 + 100 * $2 + $3)) } # Print a reference to the Quick Start guide in the documentation. print_docs_reference() { echo >&2 "***" echo >&2 "*** Please see Documentation/rust/quick-start.rst for details" echo >&2 "*** on how to set up the Rust support." echo >&2 "***" } # Print an explanation about the fact that the script is meant to be called from Kbuild. print_kbuild_explanation() { echo >&2 "***" echo >&2 "*** This script is intended to be called from Kbuild." echo >&2 "*** Please use the 'rustavailable' target to call it instead." echo >&2 "*** Otherwise, the results may not be meaningful." exit 1 } # If the script fails for any reason, or if there was any warning, then # print a reference to the documentation on exit. warning=0 trap 'if [ $? -ne 0 ] || [ $warning -ne 0 ]; then print_docs_reference; fi' EXIT # Check that the expected environment variables are set. if [ -z "${RUSTC+x}" ]; then echo >&2 "***" echo >&2 "*** Environment variable 'RUSTC' is not set." print_kbuild_explanation fi if [ -z "${BINDGEN+x}" ]; then echo >&2 "***" echo >&2 "*** Environment variable 'BINDGEN' is not set." print_kbuild_explanation fi if [ -z "${CC+x}" ]; then echo >&2 "***" echo >&2 "*** Environment variable 'CC' is not set." print_kbuild_explanation fi # Check that the Rust compiler exists. if ! command -v "$RUSTC" >/dev/null; then echo >&2 "***" echo >&2 "*** Rust compiler '$RUSTC' could not be found." echo >&2 "***" exit 1 fi # Check that the Rust bindings generator exists. if ! command -v "$BINDGEN" >/dev/null; then echo >&2 "***" echo >&2 "*** Rust bindings generator '$BINDGEN' could not be found." echo >&2 "***" exit 1 fi # Check that the Rust compiler version is suitable. # # Non-stable and distributions' versions may have a version suffix, e.g. `-dev`. rust_compiler_output=$( \ LC_ALL=C "$RUSTC" --version 2>/dev/null ) || rust_compiler_code=$? if [ -n "$rust_compiler_code" ]; then echo >&2 "***" echo >&2 "*** Running '$RUSTC' to check the Rust compiler version failed with" echo >&2 "*** code $rust_compiler_code. See output and docs below for details:" echo >&2 "***" echo >&2 "$rust_compiler_output" echo >&2 "***" exit 1 fi rust_compiler_version=$( \ echo "$rust_compiler_output" \ | sed -nE '1s:.*rustc ([0-9]+\.[0-9]+\.[0-9]+).*:\1:p' ) if [ -z "$rust_compiler_version" ]; then echo >&2 "***" echo >&2 "*** Running '$RUSTC' to check the Rust compiler version did not return" echo >&2 "*** an expected output. See output and docs below for details:" echo >&2 "***" echo >&2 "$rust_compiler_output" echo >&2 "***" exit 1 fi rust_compiler_min_version=$($min_tool_version rustc) rust_compiler_cversion=$(get_canonical_version $rust_compiler_version) rust_compiler_min_cversion=$(get_canonical_version $rust_compiler_min_version) if [ "$rust_compiler_cversion" -lt "$rust_compiler_min_cversion" ]; then echo >&2 "***" echo >&2 "*** Rust compiler '$RUSTC' is too old." echo >&2 "*** Your version: $rust_compiler_version" echo >&2 "*** Minimum version: $rust_compiler_min_version" echo >&2 "***" exit 1 fi if [ "$rust_compiler_cversion" -gt "$rust_compiler_min_cversion" ]; then echo >&2 "***" echo >&2 "*** Rust compiler '$RUSTC' is too new. This may or may not work." echo >&2 "*** Your version: $rust_compiler_version" echo >&2 "*** Expected version: $rust_compiler_min_version" echo >&2 "***" warning=1 fi # Check that the Rust bindings generator is suitable. # # Non-stable and distributions' versions may have a version suffix, e.g. `-dev`. # # The dummy parameter `workaround-for-0.69.0` is required to support 0.69.0 # (https://github.com/rust-lang/rust-bindgen/pull/2678). It can be removed when # the minimum version is upgraded past that (0.69.1 already fixed the issue). rust_bindings_generator_output=$( \ LC_ALL=C "$BINDGEN" --version workaround-for-0.69.0 2>/dev/null ) || rust_bindings_generator_code=$? if [ -n "$rust_bindings_generator_code" ]; then echo >&2 "***" echo >&2 "*** Running '$BINDGEN' to check the Rust bindings generator version failed with" echo >&2 "*** code $rust_bindings_generator_code. See output and docs below for details:" echo >&2 "***" echo >&2 "$rust_bindings_generator_output" echo >&2 "***" exit 1 fi rust_bindings_generator_version=$( \ echo "$rust_bindings_generator_output" \ | sed -nE '1s:.*bindgen ([0-9]+\.[0-9]+\.[0-9]+).*:\1:p' ) if [ -z "$rust_bindings_generator_version" ]; then echo >&2 "***" echo >&2 "*** Running '$BINDGEN' to check the bindings generator version did not return" echo >&2 "*** an expected output. See output and docs below for details:" echo >&2 "***" echo >&2 "$rust_bindings_generator_output" echo >&2 "***" exit 1 fi rust_bindings_generator_min_version=$($min_tool_version bindgen) rust_bindings_generator_cversion=$(get_canonical_version $rust_bindings_generator_version) rust_bindings_generator_min_cversion=$(get_canonical_version $rust_bindings_generator_min_version) if [ "$rust_bindings_generator_cversion" -lt "$rust_bindings_generator_min_cversion" ]; then echo >&2 "***" echo >&2 "*** Rust bindings generator '$BINDGEN' is too old." echo >&2 "*** Your version: $rust_bindings_generator_version" echo >&2 "*** Minimum version: $rust_bindings_generator_min_version" echo >&2 "***" exit 1 fi if [ "$rust_bindings_generator_cversion" -gt "$rust_bindings_generator_min_cversion" ]; then echo >&2 "***" echo >&2 "*** Rust bindings generator '$BINDGEN' is too new. This may or may not work." echo >&2 "*** Your version: $rust_bindings_generator_version" echo >&2 "*** Expected version: $rust_bindings_generator_min_version" echo >&2 "***" warning=1 fi # Check that the `libclang` used by the Rust bindings generator is suitable. # # In order to do that, first invoke `bindgen` to get the `libclang` version # found by `bindgen`. This step may already fail if, for instance, `libclang` # is not found, thus inform the user in such a case. bindgen_libclang_output=$( \ LC_ALL=C "$BINDGEN" $(dirname $0)/rust_is_available_bindgen_libclang.h 2>&1 >/dev/null ) || bindgen_libclang_code=$? if [ -n "$bindgen_libclang_code" ]; then echo >&2 "***" echo >&2 "*** Running '$BINDGEN' to check the libclang version (used by the Rust" echo >&2 "*** bindings generator) failed with code $bindgen_libclang_code. This may be caused by" echo >&2 "*** a failure to locate libclang. See output and docs below for details:" echo >&2 "***" echo >&2 "$bindgen_libclang_output" echo >&2 "***" exit 1 fi # `bindgen` returned successfully, thus use the output to check that the version # of the `libclang` found by the Rust bindings generator is suitable. # # Unlike other version checks, note that this one does not necessarily appear # in the first line of the output, thus no `sed` address is provided. bindgen_libclang_version=$( \ echo "$bindgen_libclang_output" \ | sed -nE 's:.*clang version ([0-9]+\.[0-9]+\.[0-9]+).*:\1:p' ) if [ -z "$bindgen_libclang_version" ]; then echo >&2 "***" echo >&2 "*** Running '$BINDGEN' to check the libclang version (used by the Rust" echo >&2 "*** bindings generator) did not return an expected output. See output" echo >&2 "*** and docs below for details:" echo >&2 "***" echo >&2 "$bindgen_libclang_output" echo >&2 "***" exit 1 fi bindgen_libclang_min_version=$($min_tool_version llvm) bindgen_libclang_cversion=$(get_canonical_version $bindgen_libclang_version) bindgen_libclang_min_cversion=$(get_canonical_version $bindgen_libclang_min_version) if [ "$bindgen_libclang_cversion" -lt "$bindgen_libclang_min_cversion" ]; then echo >&2 "***" echo >&2 "*** libclang (used by the Rust bindings generator '$BINDGEN') is too old." echo >&2 "*** Your version: $bindgen_libclang_version" echo >&2 "*** Minimum version: $bindgen_libclang_min_version" echo >&2 "***" exit 1 fi # If the C compiler is Clang, then we can also check whether its version # matches the `libclang` version used by the Rust bindings generator. # # In the future, we might be able to perform a full version check, see # https://github.com/rust-lang/rust-bindgen/issues/2138. cc_name=$($(dirname $0)/cc-version.sh $CC | cut -f1 -d' ') if [ "$cc_name" = Clang ]; then clang_version=$( \ LC_ALL=C $CC --version 2>/dev/null \ | sed -nE '1s:.*version ([0-9]+\.[0-9]+\.[0-9]+).*:\1:p' ) if [ "$clang_version" != "$bindgen_libclang_version" ]; then echo >&2 "***" echo >&2 "*** libclang (used by the Rust bindings generator '$BINDGEN')" echo >&2 "*** version does not match Clang's. This may be a problem." echo >&2 "*** libclang version: $bindgen_libclang_version" echo >&2 "*** Clang version: $clang_version" echo >&2 "***" warning=1 fi fi # Check that the source code for the `core` standard library exists. # # `$KRUSTFLAGS` is passed in case the user added `--sysroot`. rustc_sysroot=$("$RUSTC" $KRUSTFLAGS --print sysroot) rustc_src=${RUST_LIB_SRC:-"$rustc_sysroot/lib/rustlib/src/rust/library"} rustc_src_core="$rustc_src/core/src/lib.rs" if [ ! -e "$rustc_src_core" ]; then echo >&2 "***" echo >&2 "*** Source code for the 'core' standard library could not be found" echo >&2 "*** at '$rustc_src_core'." echo >&2 "***" exit 1 fi