Skip to content

Commit

Permalink
Rust: Move 'libformat_parser' build into the GCC build directory
Browse files Browse the repository at this point in the history
Fixes #2883.

	* .gitignore: Remove 'libgrust/*/target/'.
	gcc/rust/
	* Make-lang.in (LIBFORMAT_PARSER): Point to the GCC build
	directory.
	* ($(LIBFORMAT_PARSER)): Build in the GCC build directory.
  • Loading branch information
tschwinge committed Apr 11, 2024
1 parent eb13962 commit 81ce0df
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,3 @@ test.code-workspace

gcc/rust/test3-tiny/*
.clang-format.swap
libgrust/*/target/
11 changes: 9 additions & 2 deletions gcc/rust/Make-lang.in
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,8 @@ RUST_ALL_OBJS = $(GRS_OBJS) $(RUST_TARGET_OBJS)
rust_OBJS = $(RUST_ALL_OBJS) rust/rustspec.o

LIBPROC_MACRO_INTERNAL = ../libgrust/libproc_macro_internal/libproc_macro_internal.a
LIBFORMAT_PARSER = $(srcdir)/../libgrust/libformat_parser/target/debug/liblibformat_parser.a
LIBFORMAT_PARSER_D = rust/libformat_parser
LIBFORMAT_PARSER = $(LIBFORMAT_PARSER_D)/debug/liblibformat_parser.a

# The compiler itself is called crab1
crab1$(exeext): $(RUST_ALL_OBJS) attribs.o $(BACKEND) $(LIBDEPS) $(LIBPROC_MACRO_INTERNAL) $(LIBFORMAT_PARSER) $(rust.prev)
Expand Down Expand Up @@ -423,7 +424,13 @@ rust/%.o: rust/lex/%.cc

# TODO: Improve `cargo` invocation with host specific flags, possibly creating a $(CARGO) variable?
$(LIBFORMAT_PARSER): $(srcdir)/../libgrust/libformat_parser/Cargo.toml $(wildcard $(srcdir)/../libgrust/libformat_parser/src/*.rs)
cd $(srcdir)/../libgrust/libformat_parser && cargo build --offline # FIXME: Not always release, right?
cargo \
--config $(srcdir)/../libgrust/libformat_parser/.cargo/config \
build \
--offline \
--target-dir $(LIBFORMAT_PARSER_D) \
--manifest-path $(srcdir)/../libgrust/libformat_parser/Cargo.toml \
# FIXME: Not always '--release', right?

# build all rust/parse files in rust folder, add cross-folder includes
rust/%.o: rust/parse/%.cc
Expand Down

0 comments on commit 81ce0df

Please sign in to comment.