about summary refs log tree commit diff
path: root/Makefile.in
AgeCommit message (Collapse)AuthorLines
2016-05-11Rollup merge of #33489 - GuillaumeGomez:howto, r=alexcrichtonGuillaume Gomez-0/+20
Improve help for make command r? @steveklabnik
2016-05-11Add default rule for Makefile and make it displays some help.Guillaume Gomez-0/+20
Add examples for "make help" command
2016-05-03Makefile: there is only one tidy target nowGeorg Brandl-3/+2
Also removes mention of tidy.py from the tidy sources.
2016-04-19mk: Bootstrap from stable instead of snapshotsAlex Crichton-7/+0
This commit removes all infrastructure from the repository for our so-called snapshots to instead bootstrap the compiler from stable releases. Bootstrapping from a previously stable release is a long-desired feature of distros because they're not fans of downloading binary stage0 blobs from us. Additionally, this makes our own CI easier as we can decommission all of the snapshot builders and start having a regular cadence to when we update the stage0 compiler. A new `src/etc/get-stage0.py` script was added which shares some code with `src/bootstrap/bootstrap.py` to read a new file, `src/stage0.txt`, which lists the current stage0 compiler as well as cargo that we bootstrap from. This script will download the relevant `rustc` package an unpack it into `$target/stage0` as we do today. One problem of bootstrapping from stable releases is that we're not able to compile unstable code (e.g. all the `#![feature]` directives in libcore/libstd). To overcome this we employ two strategies: * The bootstrap key of the previous compiler is hardcoded into `src/stage0.txt` (enabled as a result of #32731) and exported by the build system. This enables nightly features in the compiler we download. * The standard library and compiler are pinned to a specific stage0, which doesn't change, so we're guaranteed that we'll continue compiling as we start from a known fixed source. The process for making a release will also need to be tweaked now to continue to cadence of bootstrapping from the previous release. This process looks like: 1. Merge `beta` to `stable` 2. Produce a new stable compiler. 3. Change `master` to bootstrap from this new stable compiler. 4. Merge `master` to `beta` 5. Produce a new beta compiler 6. Change `master` to bootstrap from this new beta compiler. Step 3 above should involve very few changes as `master` was previously bootstrapping from `beta` which is the same as `stable` at that point in time. Step 6, however, is where we benefit from removing lots of `#[cfg(stage0)]` and get to use new features. This also shouldn't slow the release too much as steps 1-5 requires little work other than waiting and step 6 just needs to happen at some point during a release cycle, it's not time sensitive. Closes #29555 Closes #29557
2016-02-25mention debug-assertionsManish Goregaokar-0/+4
2016-01-21mk: Remove all perf-related targetsAlex Crichton-7/+0
I don't believe these have been used at all recently, and I doubt many of them still work, so remove the stale support.
2015-09-19Fixed an apparent typoAlex Gaynor-1/+1
Repertory is a real world, but it doesn't really make sense in that context.
2015-06-29Rollup merge of #26645 - richo:makefile-typo, r=sfacklerManish Goregaokar-1/+1
2015-06-28mk: Fix a typo in the tipsRicho Healey-1/+1
2015-06-28Add tip to do partial compile.Peter Elmers-0/+1
2015-05-19mk: Remove generation of .d filesAlex Crichton-5/+0
Looks like cl.exe doesn't support this and we're also barely using them anyway as we have very few header files and C code in general.
2015-04-17Clarify commentTamir Duberstein-1/+1
2015-04-10mk: Add a printer helper to the make setupRicho Healey-0/+7
Also add docs because not being able to discover these things is the pits.
2015-03-20Rollup merge of #23510 - lgvz:makefile, r=ManishearthManish Goregaokar-5/+0
The wiki doesn't seem to exist
2015-03-19RUST_TEST_TASKS -> RUST_TEST_THREADSSteve Klabnik-1/+1
We don't use 'task' anymore, these are now threads. Because this changes the name of a compiler option, this is [breaking-change]
2015-03-19Remove dead link to wiki in Makefile commentsTero Hänninen-5/+0
2015-02-05mk: Add tidy commands to 'make tips'Brian Anderson-0/+3
2015-01-12Remove dead link from make tipsSteve Klabnik-3/+2
Fixes #17950
2014-12-28Fix incorrect link in Makefile.in documentationJoseph Rushton Wakeling-1/+1
2014-11-26debuginfo: Add script that allows to conveniently start LLDB in "rust-mode"Michael Woerister-0/+2
2014-09-07enable jemalloc debugging in unoptimized buildsDaniel Micay-0/+1
The performance hit from these checks is significant, but unoptimized builds are already incredibly slow. Enabling these checks results in better test coverage since there are bots doing unoptimized builds, and the cost is relatively small in the context of an unoptimized build. This also allows using `JEMALLOC_FLAGS` to override the default configure flags.
2014-07-21Shuffle around check-lexer conditionsCorey Richardson-13/+1
2014-07-21lexer tests: makefile/configureCorey Richardson-0/+13
2014-06-16Update repo locationBrian Anderson-2/+2
2014-05-15mk: Don't run benchmarks with `make check`Alex Crichton-1/+1
The current suite of benchmarks for the standard distribution take a significant amount of time to run, but it's unclear whether we're gaining any benefit from running them. Some specific pain points: * No one is looking at the data generated by the benchmarks. We have no graphs or analysis of what's happening, so all the data is largely being cast into the void. * No benchmark has ever uncovered a bug, they have always run successfully. * Benchmarks not only take a significant amount of time to run, but also take a significant amount of time to compile. I don't think we should mitigate this for now because it's useful to ensure that they do indeed still compile. This commit disables --bench test runs by default as part of `make check`, flipping the NO_BENCH environment variable to a PLEASE_BENCH variable which will manually enable benchmarking. If and when a dedicated bot is set up for benchmarking, this flag can be enabled on that bot.
2014-03-27auto merge of #13142 : alexcrichton/rust/issue-13118, r=brsonbors-2/+2
The previous dependency calculation was based on an arbitrary set of asterisks at an arbitrary depth, but using the recursive version should be much more robust in figuring out what's dependent.
2014-03-25Revert "Revert "mk: Run 'make install' through install.sh""Brian Anderson-6/+7
This reverts commit d62163188a21e5afc3d0f476eaf7856d91f715b2. Conflicts: mk/install.mk
2014-03-25mk: Use rwildcard to calculate dependent filesAlex Crichton-2/+2
The previous dependency calculation was based on an arbitrary set of asterisks at an arbitrary depth, but using the recursive version should be much more robust in figuring out what's dependent. Closes #13118
2014-02-18mk: Talk about `make clean` in the build helpVirgile Andreani-2/+6
2014-02-18mk: Fix the regexp of SHOW_DOCSVirgile Andreani-2/+2
The tag marks were missing, and `make tips` didn't work.
2014-02-15mk: Base the windows dist target on prepare.mkBrian Anderson-0/+1
2014-02-15mk: Add prepare.mkBrian Anderson-12/+19
This is a slightly more generic rewrite of install.mk. Currently used for nothing, but we'll base all the binary distributables off it.
2014-02-15mk: Clean up conditions for including dist.mkBrian Anderson-3/+0
2014-02-14mk: Address review feedbackBrian Anderson-10/+22
2014-02-14mk: Improve build system help commandsBrian Anderson-34/+82
2014-02-14mk: Add NO_MKFILE_DEPS for turning off rebuild from makefile changesBrian Anderson-0/+1
2014-02-14mk: Move most of Makefile.in to .mk filesBrian Anderson-471/+26
Because the build system treats Makefile.in and the .mk files slightly differently (.in is copied, .mk are included), this makes the system more uniform. Fewer build system changes will require a complete reconfigure.
2014-02-14mk: Remove the concept of 'snapshot transitions'Brian Anderson-14/+0
This way of doing snapshots hasn't been used since 2011.
2014-02-14mk: Add some serious documentation and 'make help'Brian Anderson-1/+54
'make help' is implemented in a fairly ridiculous way, using awk to parse comments out of Makefile.in and displaying them.
2014-02-13Register new snapshotsAlex Crichton-6/+2
2014-02-11Build compiler-rt and link it to all crates, similarly to morestack.Vadim Chugunov-1/+2
2014-02-10Don't use -Z prefer-dynamic at stage0Alex Crichton-1/+2
This is blocking a snapshot because the stage0 target compiler comes from a stage1 host compiler. This means that the stage0 compiler doesn't actually understand the -Z prefer-dynamic flag and is dying as a result. This will get added back to stage0 after a snapshot.
2014-02-11Makefile.in: --no-rpath => -C no-rpathgifnksm-3/+3
2014-02-10Consolidate codegen-related compiler flagsAlex Crichton-1/+1
Move them all behind a new -C switch. This migrates some -Z flags and some top-level flags behind this -C codegen option. The -C flag takes values of the form "-C name=value" where the "=value" is optional for some flags. Flags affected: * --llvm-args => -C llvm-args * --passes => -C passes * --ar => -C ar * --linker => -C linker * --link-args => -C link-args * --target-cpu => -C target-cpu * --target-feature => -C target-fature * --android-cross-path => -C android-cross-path * --save-temps => -C save-temps * --no-rpath => -C no-rpath * -Z no-prepopulate => -C no-prepopulate-passes * -Z no-vectorize-loops => -C no-vectorize-loops * -Z no-vectorize-slp => -C no-vectorize-slp * -Z soft-float => -C soft-float * -Z gen-crate-map => -C gen-crate-map * -Z prefer-dynamic => -C prefer-dynamic * -Z no-integrated-as => -C no-integrated-as As a bonus, this also promotes the -Z extra-debug-info flag to a first class -g or --debuginfo flag. * -Z debug-info => removed * -Z extra-debug-info => -g or --debuginfo Closes #9770 Closes #12000
2014-02-02Remove VPATH usage in MakefilesAlex Crichton-3/+0
This is just messing up all the doc dependencies because of such similar directory names and file names. Closes #11422
2014-02-02Remove rustpkg.Corey Richardson-1/+0
I'm sorry :'( Closes #11859
2014-01-28Fix a typo in disable rpathsAlex Crichton-1/+1
Closes #5219
2014-01-26auto merge of #11787 : alexcrichton/rust/refactor, r=brsonbors-182/+29
It was decided a long, long time ago that libextra should not exist, but rather its modules should be split out into smaller independent libraries maintained outside of the compiler itself. The theory was to use `rustpkg` to manage dependencies in order to move everything out of the compiler, but maintain an ease of usability. Sadly, the work on `rustpkg` isn't making progress as quickly as expected, but the need for dissolving libextra is becoming more and more pressing. Because of this, we've thought that a good interim solution would be to simply package more libraries with the rust distribution itself. Instead of dissolving libextra into libraries outside of the mozilla/rust repo, we can dissolve libraries into the mozilla/rust repo for now. Work on this has been excruciatingly painful in the past because the makefiles are completely opaque to all but a few. Adding a new library involved adding about 100 lines spread out across 8 files (incredibly error prone). The first commit of this pull request targets this pain point. It does not rewrite the build system, but rather refactors large portions of it. Afterwards, adding a new library is as simple as modifying 2 lines (easy, right?). The build system automatically keeps track of dependencies between crates (rust *and* native), promotes binaries between stages, tracks dependencies of installed tools, etc, etc. With this newfound buildsystem power, I chose the `extra::flate` module as the first candidate for removal from libextra. While a small module, this module is relative complex in that is has a C dependency and the compiler requires it (messing with the dependency graph a bit). Albeit I modified more than 2 lines of makefiles to accomodate libflate (the native dependency required 2 extra lines of modifications), but the removal process was easy to do and straightforward. --- Testing-wise, I've cross-compiled, run tests, built some docs, installed, uninstalled, etc. I'm still working out a few kinks, and I'm sure that there's gonna be built system issues after this, but it should be working well for basic use! cc #8784
2014-01-26Removed all instances of XXX in preparation for relaxing of FIXME ruleSalem Talha-1/+1
2014-01-26Refactor the build system for easily adding cratesAlex Crichton-182/+29
Before this patch, if you wanted to add a crate to the build system you had to change about 100 lines across 8 separate makefiles. This is highly error prone and opaque to all but a few. This refactoring is targeted at consolidating this effort so adding a new crate adds one line in one file in a way that everyone can understand it.