about summary refs log tree commit diff
path: root/mk/clean.mk
AgeCommit message (Collapse)AuthorLines
2017-02-06Delete the `mk` folderAlex Crichton-122/+0
This commit deletes the old build system located in the `mk` folder as it's now been obsoleted for two cycles and is replaced by rustbuild.
2016-11-16Fix grammar verificationStefan Schindler-1/+4
* Use `make check-lexer` to verify the grammar. * Extend grammar/README * Add make clean-grammar rule * Add target `check-build-lexer-verifier` to `make tidy`, so it will build the verifier with every build and catch future errors * Search for antlr4 with configure and find
2016-09-12crate-ify compiler-rt into compiler-builtinsJorge Aparicio-1/+0
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
2015-10-27Added missing argument to 'find'Dylan McKay-1/+1
2015-10-27Add dependencies to generated llvmdeps.rsDylan McKay-0/+1
Previously the file was not regenrated upon modification of src/rustllvm or others. Now it will be rebuilt if `src/llvm` or `src/rustllvm` is touched. Also added *.rs rule to 'clean' rule so that it is removed upon 'make clean'.
2015-08-10Remove morestack supportAlex Crichton-1/+0
This commit removes all morestack support from the compiler which entails: * Segmented stacks are no longer emitted in codegen. * We no longer build or distribute libmorestack.a * The `stack_exhausted` lang item is no longer required The only current use of the segmented stack support in LLVM is to detect stack overflow. This is no longer really required, however, because we already have guard pages for all threads and registered signal handlers watching for a segfault on those pages (to print out a stack overflow message). Additionally, major platforms (aka Windows) already don't use morestack. This means that Rust is by default less likely to catch stack overflows because if a function takes up more than one page of stack space it won't hit the guard page. This is what the purpose of morestack was (to catch this case), but it's better served with stack probes which have more cross platform support and no runtime support necessary. Until LLVM supports this for all platform it looks like morestack isn't really buying us much. cc #16012 (still need stack probes) Closes #26458 (a drive-by fix to help diagnostics on stack overflow)
2015-05-19mk: Enable building LLVM targeting MSVCAlex Crichton-13/+0
This commit modifies the makefiles to enable building LLVM with cmake and Visual Studio to generate an LLVM that targets MSVC. Rust's configure script requires cmake to be installed when targeting MSVC and will configure LLVM with cmake instead of the normal `./configure` script LLVM provides. The build will then run cmake to execute the build instead of the normal `make`. Currently `make clean-llvm` isn't supported on MSVC as I can't figure out how to run a "clean" target for the Visual Studio files.
2014-12-30debuginfo: Add a rust-gdb shell script that will start GDB with Rust pretty ↵Michael Woerister-2/+3
printers enabled.
2014-11-26debuginfo: Add script that allows to conveniently start LLDB in "rust-mode"Michael Woerister-2/+3
2014-07-23mk: Add space before line continuation backslashBirunthan Mohanathas-1/+1
2014-07-23mk: Remove extra whitespace before line continuation backslashesBirunthan Mohanathas-24/+24
2014-03-24mk: Don't rm 'dist' during clean, just its contentsBrian Anderson-1/+2
This is not for temporaries now
2014-03-15mk: Clean libbacktrace w/ gustoBrian Anderson-0/+1
After `make clean' I'm seeing the build break with ``` cp: cannot stat ‘x86_64-unknown-linux-gnu/rt/libbacktrace/.libs/libbacktrace.a’: No such file or directory ``` Deleteing the libbacktrace dir entirely on clean fixes.
2014-03-09mk: rewrite the documentation handling.Huon Wilson-1/+0
This converts it to be very similar to crates.mk, with a single list of the documentation items creating all the necessary bits and pieces. Changes include: - rustdoc is used to render HTML & test standalone docs - documentation building now obeys NO_REBUILD=1 - testing standalone docs now obeys NO_REBUILD=1 - L10N is slightly less broken (in particular, it shares dependencies and code with the rest of the code) - PDFs can be built for all documentation items, not just tutorial and manual - removes the obsolete & unused extract-tests.py script - adjust the CSS for standalone docs to use the rustdoc syntax highlighting
2014-02-28rustc: Add the concept of a Strict Version HashAlex Crichton-0/+1
This new SVH is used to uniquely identify all crates as a snapshot in time of their ABI/API/publicly reachable state. This current calculation is just a hash of the entire crate's AST. This is obviously incorrect, but it is currently the reality for today. This change threads through the new Svh structure which originates from crate dependencies. The concept of crate id hash is preserved to provide efficient matching on filenames for crate loading. The inspected hash once crate metadata is opened has been changed to use the new Svh. The goal of this hash is to identify when upstream crates have changed but downstream crates have not been recompiled. This will prevent the def-id drift problem where upstream crates were recompiled, thereby changing their metadata, but downstream crates were not recompiled. In the future this hash can be expanded to exclude contents of the AST like doc comments, but limitations in the compiler prevent this change from being made at this time. Closes #10207
2014-02-11Build compiler-rt and link it to all crates, similarly to morestack.Vadim Chugunov-0/+3
2014-02-02Rewrite the doc makefile for doc => src/docAlex Crichton-7/+1
This continues to generate all documentation into doc, but it now looks for source files in src/doc Closes #11860 Closes #11970
2014-01-26Refactor the build system for easily adding cratesAlex Crichton-65/+22
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.
2014-01-06Delete the installer exe when cleaningBrian Anderson-1/+1
2013-12-24make: Add all the make support for lib{native,green}Alex Crichton-0/+12
This should now begin distribution of lib{green,native} in rlib/dylib format as well as building them as part of the normal build process.
2013-12-22mk: Clean .lib filesklutzy-0/+1
2013-12-06Link rustllvm statically, and distribute a static snapshotAlex Crichton-0/+2
In order to keep up to date with changes to the libraries that `llvm-config` spits out, the dependencies to the LLVM are a dynamically generated rust file. This file is now automatically updated whenever LLVM is updated to get kept up-to-date. At the same time, this cleans out some old cruft which isn't necessary in the makefiles in terms of dependencies. Closes #10745 Closes #10744
2013-11-29Add generation of static libraries to rustcAlex Crichton-2/+8
This commit implements the support necessary for generating both intermediate and result static rust libraries. This is an implementation of my thoughts in https://mail.mozilla.org/pipermail/rust-dev/2013-November/006686.html. When compiling a library, we still retain the "lib" option, although now there are "rlib", "staticlib", and "dylib" as options for crate_type (and these are stackable). The idea of "lib" is to generate the "compiler default" instead of having too choose (although all are interchangeable). For now I have left the "complier default" to be a dynamic library for size reasons. Of the rust libraries, lib{std,extra,rustuv} will bootstrap with an rlib/dylib pair, but lib{rustc,syntax,rustdoc,rustpkg} will only be built as a dynamic object. I chose this for size reasons, but also because you're probably not going to be embedding the rustc compiler anywhere any time soon. Other than the options outlined above, there are a few defaults/preferences that are now opinionated in the compiler: * If both a .dylib and .rlib are found for a rust library, the compiler will prefer the .rlib variant. This is overridable via the -Z prefer-dynamic option * If generating a "lib", the compiler will generate a dynamic library. This is overridable by explicitly saying what flavor you'd like (rlib, staticlib, dylib). * If no options are passed to the command line, and no crate_type is found in the destination crate, then an executable is generated With this change, you can successfully build a rust program with 0 dynamic dependencies on rust libraries. There is still a dynamic dependency on librustrt, but I plan on removing that in a subsequent commit. This change includes no tests just yet. Our current testing infrastructure/harnesses aren't very amenable to doing flavorful things with linking, so I'm planning on adding a new mode of testing which I believe belongs as a separate commit. Closes #552
2013-11-18Move runtime files to C instead of C++Alex Crichton-17/+31
Explicitly have the only C++ portion of the runtime be one file with exception handling. All other runtime files must now live in C and be fully defined in C.
2013-11-03Create epub versions of tutorial and ref manual.Noufal Ibrahim-1/+1
Pandoc can create epub verions of the markdown files. Since the docs are lengthy, epubs are handy to have around. Two rules to create epub versions of the reference manual and the main tutorial are added here. Signed-off-by: Noufal Ibrahim <noufal@nibrahim.net.in>
2013-10-29support for GNU configure syntaxHeather-11/+11
2013-10-29Move rust's uv implementation to its own crateAlex Crichton-0/+3
There are a few reasons that this is a desirable move to take: 1. Proof of concept that a third party event loop is possible 2. Clear separation of responsibility between rt::io and the uv-backend 3. Enforce in the future that the event loop is "pluggable" and replacable Here's a quick summary of the points of this pull request which make this possible: * Two new lang items were introduced: event_loop, and event_loop_factory. The idea of a "factory" is to define a function which can be called with no arguments and will return the new event loop as a trait object. This factory is emitted to the crate map when building an executable. The factory doesn't have to exist, and when it doesn't then an empty slot is in the crate map and a basic event loop with no I/O support is provided to the runtime. * When building an executable, then the rustuv crate will be linked by default (providing a default implementation of the event loop) via a similar method to injecting a dependency on libstd. This is currently the only location where the rustuv crate is ever linked. * There is a new #[no_uv] attribute (implied by #[no_std]) which denies implicitly linking to rustuv by default Closes #5019
2013-10-16remove the rusti commandDaniel Micay-6/+0
Closes #9818 Closes #9567 Closes #8924 Closes #8910 Closes #8392 Closes #7692 Closes #7499 Closes #7220
2013-10-10rust / build: Remove the `rust` toolTim Chevalier-4/+0
Sadly, there's a lack of resources for maintaining the `rust` tool, and we decided in the 2013-10-08 Rust team meeting that it's better to remove it altogether than to leave it in a broken state. This deletion is without prejudice. If a person or people appear who would like to maintain the tool, we will probably be happy to resurrect it! Closes #9775
2013-09-27mk: Fully clean out old documentationAlex Crichton-3/+2
This purges doc/{std,extra} entirely during a `make clean` instead of just the html files in some top level directories. This should help old documentation from showing up on static.rust-lang.org
2013-09-22rustdoc: Out with the old, in with the newAlex Crichton-6/+0
Removes old rustdoc, moves rustdoc_ng into its place instead (plus drops the _ng suffix). Also shreds all reference to rustdoc_ng from the Makefile rules.
2013-09-16Add the rustdoc_ng binary to the makefile rulesAlex Crichton-0/+2
Now rustdoc_ng will be built as both a binary and a library (using the same rules as all the other binaries that rust has). Furthermore, this will also start building rustdoc_ng unit tests (and running them).
2013-09-16Add rustdoc_ngCorey Richardson-0/+4
2013-09-06Un-hork the bots by removing intermediate filesAlex Crichton-1/+1
The new glob tests created tmp/glob-tests as a directory, but the never removed it. The `make clean` target then attempted to `rm -f` on this, but it couldn't remove the directory. This both changes the clean target to `rm -rf` tmp files, and also alters the tests to delete the directory that all the files are added into.
2013-09-04Move the `rt` build directory under $targetAlex Crichton-2/+4
Closes #2302
2013-09-03Build rustllvm into $target/rustllvmAlex Crichton-1/+1
2013-06-30mk: clean-llvm for cross-compileYoung-il Choi-1/+1
2013-06-27mk: add mechanisms for triggering clean-llvm builds from commitsGraydon Hoare-1/+1
2013-06-15Remove the fuzzerBrian Anderson-6/+0
It is suffering from a bad case of megabitrot.
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-4/+4
This only changes the directory names; it does not change the "real" metadata names.
2013-04-30clear *everything* from the tmp directoryDaniel Micay-1/+1
The .tmp files were missed before. I don't think there's a need to use *.ext instead of just *.
2013-03-02mk: cleanup - lib and executable suffix handlingYoung-il Choi-12/+18
2013-02-27mk: rewrite make filesYoung-il Choi-36/+36
2013-02-21mk: Split target triples into bulid triple + host triples + target triplesBrian Anderson-8/+8
For cross compiling to targets that don't want to build a compiler
2013-02-18Added rust convenience tool similar to go's go toolMarvin Löbel-0/+3
2013-02-15Rename cargo to rustpkg and start over freshZack Corr-6/+6
2013-02-06mk: Add output files to tests so they don't rerun unnecessarilyBrian Anderson-1/+1
2012-12-13clean.mk: remove snapshot binaries as well.Graydon Hoare-1/+1
2012-12-10Reliciense makefiles and testsuite. Yup.Graydon Hoare-0/+10
2012-12-08Clean the check-fast lib on windowsBrian Anderson-1/+2