mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 08:04:49 +01:00
tools build: Add a feature test for rust compiler
Add a feature test to identify if the rust compiler is available, so that perf could build rust based worloads based on that. Signed-off-by: Dmitrii Dolgov <9erthalion6@gmail.com> Cc: Ian Rogers <irogers@google.com> Cc: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
ff9aeb6bd1
commit
6a32fa5ccd
5 changed files with 27 additions and 2 deletions
|
|
@ -100,7 +100,8 @@ FEATURE_TESTS_BASIC := \
|
|||
disassembler-four-args \
|
||||
disassembler-init-styled \
|
||||
file-handle \
|
||||
libopenssl
|
||||
libopenssl \
|
||||
rust
|
||||
|
||||
# FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
|
||||
# of all feature tests
|
||||
|
|
@ -149,7 +150,8 @@ FEATURE_DISPLAY ?= \
|
|||
bpf \
|
||||
libaio \
|
||||
libzstd \
|
||||
libopenssl
|
||||
libopenssl \
|
||||
rust
|
||||
|
||||
#
|
||||
# Declare group members of a feature to display the logical OR of the detection
|
||||
|
|
|
|||
|
|
@ -112,6 +112,9 @@ __BUILD = $(CC) $(CFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) $(
|
|||
__BUILDXX = $(CXX) $(CXXFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.cpp,$(@F)) $(LDFLAGS)
|
||||
BUILDXX = $(__BUILDXX) > $(@:.bin=.make.output) 2>&1
|
||||
|
||||
__BUILDRS = $(RUSTC) $(RUSTC_FLAGS) -o $@ $(patsubst %.bin,%.rs,$(@F))
|
||||
BUILDRS = $(__BUILDRS) > $(@:.bin=.make.output) 2>&1
|
||||
|
||||
###############################
|
||||
|
||||
$(OUTPUT)test-all.bin:
|
||||
|
|
@ -388,6 +391,10 @@ $(OUTPUT)test-libopenssl.bin:
|
|||
$(OUTPUT)test-bpftool-skeletons.bin:
|
||||
$(SYSTEM_BPFTOOL) version | grep '^features:.*skeletons' \
|
||||
> $(@:.bin=.make.output) 2>&1
|
||||
|
||||
$(OUTPUT)test-rust.bin:
|
||||
$(BUILDRS) > $(@:.bin=.make.output) 2>&1
|
||||
|
||||
###############################
|
||||
|
||||
clean:
|
||||
|
|
|
|||
4
tools/build/feature/test-rust.rs
Normal file
4
tools/build/feature/test-rust.rs
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
fn main() {
|
||||
println!("hi")
|
||||
}
|
||||
|
|
@ -1153,6 +1153,17 @@ ifneq ($(NO_LIBTRACEEVENT),1)
|
|||
endif
|
||||
endif
|
||||
|
||||
ifndef NO_RUST
|
||||
ifneq ($(feature-rust), 1)
|
||||
$(warning Rust is not found. Test workloads with rust are disabled.)
|
||||
NO_RUST := 1
|
||||
else
|
||||
NO_RUST := 0
|
||||
CFLAGS += -DHAVE_RUST_SUPPORT
|
||||
$(call detected,CONFIG_RUST_SUPPORT)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Among the variables below, these:
|
||||
# perfexecdir
|
||||
# libbpf_include_dir
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ struct feature_status supported_features[] = {
|
|||
FEATURE_STATUS("numa_num_possible_cpus", HAVE_LIBNUMA_SUPPORT),
|
||||
FEATURE_STATUS("zlib", HAVE_ZLIB_SUPPORT),
|
||||
FEATURE_STATUS("zstd", HAVE_ZSTD_SUPPORT),
|
||||
FEATURE_STATUS("rust", HAVE_RUST_SUPPORT),
|
||||
|
||||
/* this should remain at end, to know the array end */
|
||||
FEATURE_STATUS(NULL, _)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue