@@ -370,9 +370,46 @@ You can find more discussion about sysroots in:
370
370
371
371
[ rustdoc PR ] : https://github.com/rust-lang/rust/pull/76728
372
372
373
- ### Directories and artifacts generated by ` x.py `
373
+ ## Passing flags to commands invoked by ` bootstrap `
374
374
375
- The following tables indicate the outputs of various stage actions:
375
+ ` x.py ` allows you to pass stage-specific flags to ` rustc ` and ` cargo ` when bootstrapping.
376
+ The ` RUSTFLAGS_BOOTSTRAP ` environment variable is passed as RUSTFLAGS to the bootstrap stage
377
+ (stage0), and ` RUSTFLAGS_NOT_BOOTSTRAP ` is passed when building artifacts for later stages.
378
+ ` RUSTFLAGS ` will work, but also affects the build of ` bootstrap ` itself, so it will be rare to want
379
+ to use it.
380
+ Finally, ` MAGIC_EXTRA_RUSTFLAGS ` bypasses the ` cargo ` cache to pass flags to rustc without
381
+ recompiling all dependencies.
382
+
383
+ ` RUSTDOCFLAGS ` , ` RUSTDOCFLAGS_BOOTSTRAP ` , and ` RUSTDOCFLAGS_NOT_BOOTSTRAP ` are anologous to
384
+ ` RUSTFLAGS ` , but for rustdoc.
385
+
386
+ ` CARGOFLAGS ` will pass arguments to cargo itself (e.g. ` --timings ` ). ` CARGOFLAGS_BOOTSTRAP ` and
387
+ ` CARGOFLAGS_NOT_BOOTSTRAP ` work anologously to ` RUSTFLAGS_BOOTSTRAP ` .
388
+
389
+ ` --test-args ` will pass arguments through to the test runner. For ` src/test/ui ` , this is
390
+ compiletest; for unit tests and doctests this is the ` libtest ` runner. Most test runner accept
391
+ ` --help ` , which you can use to find out the options accepted by the runner.
392
+
393
+ ## Environment Variables
394
+
395
+ During bootstrapping, there are a bunch of compiler-internal environment
396
+ variables that are used. If you are trying to run an intermediate version of
397
+ ` rustc ` , sometimes you may need to set some of these environment variables
398
+ manually. Otherwise, you get an error like the following:
399
+
400
+ ``` text
401
+ thread 'main' panicked at 'RUSTC_STAGE was not set: NotPresent', library/core/src/result.rs:1165:5
402
+ ```
403
+
404
+ If ` ./stageN/bin/rustc ` gives an error about environment variables, that
405
+ usually means something is quite wrong -- or you're trying to compile e.g.
406
+ ` rustc ` or ` std ` or something that depends on environment variables. In
407
+ the unlikely case that you actually need to invoke rustc in such a situation,
408
+ you can tell the bootstrap shim to print all env variables by adding ` -vvv ` to your ` x.py ` command.
409
+
410
+ ### Directories and artifacts generated by ` bootstrap `
411
+
412
+ This is an incomplete reference for the outputs generated by bootstrap:
376
413
377
414
| Stage 0 Action | Output |
378
415
| -----------------------------------------------------------| ----------------------------------------------|
@@ -411,27 +448,3 @@ The following tables indicate the outputs of various stage actions:
411
448
| copy ` rustdoc ` | ` build/HOST/stage2/bin ` |
412
449
413
450
` --stage=2 ` stops here.
414
-
415
- ## Passing stage-specific flags to ` rustc `
416
-
417
- ` x.py ` allows you to pass stage-specific flags to ` rustc ` when bootstrapping.
418
- The ` RUSTFLAGS_BOOTSTRAP ` environment variable is passed as RUSTFLAGS to the bootstrap stage
419
- (stage0), and ` RUSTFLAGS_NOT_BOOTSTRAP ` is passed when building artifacts for later stages.
420
-
421
- ## Environment Variables
422
-
423
- During bootstrapping, there are a bunch of compiler-internal environment
424
- variables that are used. If you are trying to run an intermediate version of
425
- ` rustc ` , sometimes you may need to set some of these environment variables
426
- manually. Otherwise, you get an error like the following:
427
-
428
- ``` text
429
- thread 'main' panicked at 'RUSTC_STAGE was not set: NotPresent', library/core/src/result.rs:1165:5
430
- ```
431
-
432
- If ` ./stageN/bin/rustc ` gives an error about environment variables, that
433
- usually means something is quite wrong -- or you're trying to compile e.g.
434
- ` rustc ` or ` std ` or something that depends on environment variables. In
435
- the unlikely case that you actually need to invoke rustc in such a situation,
436
- you can find the environment variable values by adding the following flag to
437
- your ` x.py ` command: ` --on-fail=print-env ` .
0 commit comments