rust/src
Matthias Krüger 30efce95cb
Rollup merge of #124594 - jieyouxu:rmake-cc, r=fmease
run-make-support: preserve tooks.mk behavior for EXTRACXXFLAGS

In #123149 when trying to add a command wrapper for `cc`, I didn't preserve the behavior of tools.mk completely: tools.mk had

```makefile
# Extra flags needed to compile a working executable with the standard library
ifdef IS_WINDOWS
ifdef IS_MSVC
	#EXTRACFLAGS := ws2_32.lib userenv.lib advapi32.lib bcrypt.lib ntdll.lib synchronization.lib
else
	#EXTRACFLAGS := -lws2_32 -luserenv -lbcrypt -lntdll -lsynchronization
	EXTRACXXFLAGS := -lstdc++
	#EXTRARSCXXFLAGS := -l static:-bundle=stdc++
endif
else
ifeq ($(UNAME),Darwin)
	#EXTRACFLAGS := -lresolv
	EXTRACXXFLAGS := -lc++
	#EXTRARSCXXFLAGS := -lc++
else
ifeq ($(UNAME),FreeBSD)
	#EXTRACFLAGS := -lm -lpthread -lgcc_s
else
ifeq ($(UNAME),SunOS)
	#EXTRACFLAGS := -lm -lpthread -lposix4 -lsocket -lresolv
else
ifeq ($(UNAME),OpenBSD)
	#EXTRACFLAGS := -lm -lpthread -lc++abi
	#RUSTC := $(RUSTC) -C linker="$(word 1,$(CC:ccache=))"
else
	#EXTRACFLAGS := -lm -lrt -ldl -lpthread
	EXTRACXXFLAGS := -lstdc++
	#EXTRARSCXXFLAGS := -lstdc++
endif
endif
endif
endif
endif
```

Note that for {`FreeBSD`, `SunOs`, `OpenBSD`} the `-lstdc++` flag is *not* passed, so `EXTRACXXFLAGS` for those platforms should be an empty `vec![]`.

r? ghost (testing this with PR CI)
2024-05-03 06:04:20 +02:00
..
bootstrap Step bootstrap cfgs 2024-05-01 22:19:11 -04:00
ci Output run_type from the matrix calculation job 2024-04-29 21:33:17 +02:00
doc Auto merge of #124404 - jonathanpallant:arm-target-changes-new, r=chrisnc 2024-05-01 22:22:51 +00:00
etc introduce x vendor 2024-04-22 17:07:49 +03:00
librustdoc Rollup merge of #124475 - GKFX:more-dependency-pruning, r=oli-obk 2024-04-29 18:03:23 +01:00
llvm-project@5399a24c66 Update LLVM to 1deeee3 2024-04-17 06:28:22 +08:00
rustdoc-json-types Fix some typos in comments 2024-04-25 10:47:24 +08:00
tools Rollup merge of #124594 - jieyouxu:rmake-cc, r=fmease 2024-05-03 06:04:20 +02:00
README.md Remove stale reference to the test suite location 2023-01-13 11:49:06 +00:00
stage0.json Bump stage0 to next beta 2024-05-01 21:01:51 -04:00
version Bump version to 1.80 2024-04-27 19:03:50 -04:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.