summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2016-11-03Set RUSTC_BOOTSTRAP to some value.Brian Anderson-1/+1
Environment variables on windows can't be empty.
2016-11-03Allow bootstrapping without a key. Fixes #36548Brian Anderson-14/+8
This will make it easier for packagers to bootstrap rustc when they happen to have a bootstrap compiler with a slightly different version number. It's not ok for anything other than the build system to set this environment variable.
2016-09-26Rollup merge of #36663 - brson:build-plan, r=alexcrichtonJonathan Turner-1/+11
rustbuild: Print out all build steps when --verbose These helped me debug some problems with the asmjs target. It's just vomiting debug representations, so not the prettiest stuff. r? @alexcrichton
2016-09-26Auto merge of #36719 - shepmaster:build-env-var-reporting, r=alexcrichtonbors-8/+8
Report which required build-time environment variable is not set
2016-09-25Auto merge of #36442 - alexcrichton:rustbuild-cross, r=brsonbors-1/+5
rustbuild: Nicer error for host builds of targets If a triple is configured only as a target, not a host, then trying to build that triple with host artifacts would cause a panic. Fail a little nicer instead. Closes #36268
2016-09-25Report which required build-time environment variable is not setJake Goulding-8/+8
2016-09-23rustbuild: Print out all build steps when --verboseBrian Anderson-1/+11
2016-09-17inherit from objectEitan Adler-5/+6
2016-09-16Rollup merge of #36509 - nagisa:rustbuild-py3, r=alexcrichtonJonathan Turner-3/+5
Try to support py3 with rustbuild better Annoying to have it fail when you run with `python` only to have to rerun later with `python2`. r? @alexcrichton
2016-09-16Auto merge of #36441 - alexcrichton:rustbuild-target, r=brsonbors-5/+7
rustbuild: Fix cross-compiles to MinGW on Linux Closes #36290 Closes #36291
2016-09-15Auto merge of #36213 - josephDunne:dist_version, r=brsonbors-0/+8
Add rustc version info (git hash + date) to dist tarball a fix for #32444
2016-09-15Auto merge of #36439 - alexcrichton:fix-rustbuild, r=japaricbors-8/+39
rustbuild: Fix dependency tracking with new Cargo The recent Cargo update changed filenames, which broke a lot of incremental rustbuild builds. What it thought were the output files were indeed no longer the output files! (wreaking havoc). This commit updates this to stop guessing filenames of Cargo and just manage stamp files instead.
2016-09-16Try to support py3 with rustbuild betterSimonas Kazlauskas-3/+5
2016-09-13Auto merge of #36041 - ahmedcharles:try, r=nrcbors-1/+1
Replace try! with ?.
2016-09-12rustbuild: Nicer error for host builds of targetsAlex Crichton-1/+5
If a triple is configured only as a target, not a host, then trying to build that triple with host artifacts would cause a panic. Fail a little nicer instead. Closes #36268
2016-09-12rustbuild: Fix cross-compiles to MinGW on LinuxAlex Crichton-5/+7
Closes #36290 Closes #36291
2016-09-12rustbuild: Fix dependency tracking with new CargoAlex Crichton-8/+39
The recent Cargo update changed filenames, which broke a lot of incremental rustbuild builds. What it thought were the output files were indeed no longer the output files! (wreaking havoc). This commit updates this to stop guessing filenames of Cargo and just manage stamp files instead.
2016-09-12it's also compiler-rt.lib on windows-gnuJorge Aparicio-1/+1
2016-09-12crate-ify compiler-rt into compiler-builtinsJorge Aparicio-419/+17
libcompiler-rt.a is dead, long live libcompiler-builtins.rlib This commit moves the logic that used to build libcompiler-rt.a into a compiler-builtins crate on top of the core crate and below the std crate. This new crate still compiles the compiler-rt instrinsics using gcc-rs but produces an .rlib instead of a static library. Also, with this commit rustc no longer passes -lcompiler-rt to the linker. This effectively makes the "no-compiler-rt" field of target specifications a no-op. Users of `no_std` will have to explicitly add the compiler-builtins crate to their crate dependency graph *if* they need the compiler-rt intrinsics. Users of the `std` have to do nothing extra as the std crate depends on compiler-builtins. Finally, this a step towards lazy compilation of std with Cargo as the compiler-rt intrinsics can now be built by Cargo instead of having to be supplied by the user by some other method. closes #34400
2016-09-11Fix typo in bootstrap/lib.rs.Ahmed Charles-1/+1
2016-09-09Auto merge of #36256 - rjgoldsborough:make-configure-detect-nodejs-36207, ↵bors-0/+10
r=alexcrichton adding a check to bootstrap script and a check to the rust config script refs #36207 first crack at making configure detect nodejs
2016-09-08tweaking the nodejs cmd sanity checkJake Goldsborough-2/+2
2016-09-07Auto merge of #36292 - japaric:musl-root, r=alexcrichtonbors-10/+22
rustbuild: per target musl-root config.toml now accepts a target.$TARGET.musl-root key that lets you override the "build" musl-root value, which is set via the --musl-root flag or via the build.musl-root key. With this change, it's now possible to compile std for several musl targets at once. Here's are the sample commands to do such thing: ``` $ configure \ --enable-rustbuild \ --target=x86_64-unknown-linux-musl,arm-unknown-linux-musleabi \ --musl-root=/musl/x86_64-unknown-linux-musl/ $ edit config.toml && tail config.toml [target.arm-unknown-linux-musleabi] musl-root = "/x-tools/arm-unknown-linux-musleabi/arm-unknown-linux-musleabi/sysroot/usr" $ make ``` r? @alexcrichton With this we should be able to start producing releases of std for arm musl targets
2016-09-07moving nodejs detection logic to configure and addingJake Goldsborough-1/+5
a nodejs cmd sanity check
2016-09-06add utility musl_root method, update config.toml.exampleJorge Aparicio-8/+15
2016-09-06detecting nodejs in configureJake Goldsborough-12/+0
2016-09-06adding a check to sanity to look for the nodejs commandJake Goldsborough-0/+6
2016-09-06rustbuild: per target musl-rootJorge Aparicio-6/+11
config.toml now accepts a target.$TARGET.musl-root key that lets you override the "build" musl-root value, which is set via the --musl-root flag or via the build.musl-root key. With this change, it's now possible to compile std for several musl targets at once. Here's are the sample commands to do such thing: ``` $ configure \ --enable-rustbuild \ --target=x86_64-unknown-linux-musl,arm-unknown-linux-musleabi \ --musl-root=/musl/x86_64-unknown-linux-musl/ $ edit config.toml && tail config.toml [target.arm-unknown-linux-musleabi] musl-root = "/x-tools/arm-unknown-linux-musleabi/arm-unknown-linux-musleabi/sysroot/usr" $ make ```
2016-09-04Auto merge of #36144 - japaric:rustbuild-musl, r=alexcrichtonbors-3/+3
rustbuild: fix building std for musl targets closes #36143 r? @alexcrichton
2016-09-04Rollup merge of #36234 - durka:disable-codegen-config, r=alexcrichtonManish Goregaokar-0/+6
rustbuild: add config.toml option to disable codegen tests Fixes #36232. I think it worked? Here's a build log where I tried to bootstrap, it crashed, then I added the setting to config.toml and it continued: https://gist.github.com/durka/cbf97cf04b8e065f1a2cfda4c1b6bf95 r? @alexcrichton
2016-09-04Rollup merge of #36231 - durka:patch-29, r=alexcrichtonManish Goregaokar-0/+3
indicate where to copy config.toml.example r? @alexcrichton
2016-09-03adding a check to bootstrap scriptJake Goldsborough-0/+12
and a check to the rust config script
2016-09-03Add rustc version info (git hash + date) to dist tarballJoseph Dunne-0/+8
fixes #32444
2016-09-03rustbuild: add config.toml option to disable codegen testsAlex Burka-0/+6
2016-09-03change wordingAlex Burka-1/+2
2016-09-02indicate where to copy config.toml.exampleAlex Burka-0/+2
2016-09-02Rollup merge of #36198 - alexcrichton:fix-travis, r=brsonJonathan Turner-1/+3
test: Add a min-llvm-version directive We've got tests which require a particular version of LLVM to run as they're testing bug fixes. Our build system, however, supports multiple LLVM versions, so we can't run these tests on all LLVM versions. This adds a new `min-llvm-version` directive for tests so they can opt out of being run on older versions of LLVM. This then namely applies that logic to the `issue-36023.rs` test case and... Closes #36138
2016-09-02Rollup merge of #36180 - frewsxcv:patch-33, r=alexcrichtonJonathan Turner-0/+4
Transition Travis CI to use rustbuild.
2016-09-02Transition Travis CI to use rustbuild.Corey Farwell-0/+4
2016-09-01test: Add a min-llvm-version directiveAlex Crichton-1/+3
We've got tests which require a particular version of LLVM to run as they're testing bug fixes. Our build system, however, supports multiple LLVM versions, so we can't run these tests on all LLVM versions. This adds a new `min-llvm-version` directive for tests so they can opt out of being run on older versions of LLVM. This then namely applies that logic to the `issue-36023.rs` test case and... Closes #36138
2016-08-30copy_third_party_objects -> copy_musl_third_party_objectsJorge Aparicio-2/+2
2016-08-30rustbuild: fix building std for musl targetsJorge Aparicio-3/+3
closes #36143
2016-08-29fix git submodule status checkking6cong-1/+1
2016-08-28Auto merge of #36062 - japaric:smarter-submodules, r=alexcrichtonbors-11/+79
rustbuild: smarter `git submodule`-ing With this commit, if one bootstraps rust against system llvm then the src/llvm submodule is not updated/checked-out. This saves considerable network bandwith when starting from a fresh clone of rust-lang/rust as the llvm submodule is never cloned. cc #30107 r? @alexcrichton cc @petevine ~~We could also avoid updating the jemalloc submodule if --disable-jemalloc is used. It just hasn't been implemented.~~ Done This probably doesn't handle "recursive" submodules correctly but I think we don't have any of those right now. I'm still testing a bootstrap but already confirmed that the llvm submodule doesn't get updated when `--llvm-root` is passed to `configure`.
2016-08-28fix tidy errorJorge Aparicio-1/+1
2016-08-28Auto merge of #36055 - japaric:rustbuild-no-filecheck, r=alexcrichtonbors-3/+8
rustbuild: skip filecheck check if codegen tests are disabled to match the behavior of the old Makefile-based build system closes #35752 r? @alexcrichton
2016-08-28Auto merge of #36028 - japaric:s390x, r=alexcrichtonbors-1/+1
initial support for s390x A new target, `s390x-unknown-linux-gnu`, has been added to the compiler and can be used to build no_core/no_std Rust programs. Known limitations: - librustc_trans/cabi_s390x.rs is missing. This means no support for `extern "C" fn`. - No support for this arch in libc. This means std can't be cross compiled for this target. r? @alexcrichton This time I couldn't test running a binary cross compiled to this target under QEMU because the qemu-s390x that ships with Ubuntu 16.04 SIGABRTs with every s390x binary I run it with. Change in binary size of `librustc_llvm.so`: Without this commit (stage1): 41895736 bytes With this commit (stage1): 42899016 bytes ~2.4% increase
2016-08-27don't update the src/jemalloc submodule is jemalloc has been disabledJorge Aparicio-1/+8
i.e. via the --disable-jemalloc configure flag
2016-08-27don't run codegen tests when they have been disabledJorge Aparicio-2/+4
2016-08-27rustbuild: smarter `git submodule`-ingJorge Aparicio-11/+72
With this commit, if one bootstraps rust against system llvm then the src/llvm submodule is not updated/checked-out. This saves considerable network bandwith when starting from a fresh clone of rust-lang/rust as the llvm submodule is never cloned. cc #30107