Skip to content

Commit 9ee91e5

Browse files
committed
---
yaml --- r: 119109 b: refs/heads/dist-snap c: b71c02e h: refs/heads/master i: 119107: b3b34c1 v: v3
1 parent d375a64 commit 9ee91e5

File tree

652 files changed

+8375
-6967
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

652 files changed

+8375
-6967
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: 1813e5aa1a03b0596b8de7abd1af31edf5d6098f
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: bc7a2d72a3fea324fa432de9b6ce6073302d3d8c
9+
refs/heads/dist-snap: b71c02e512fcfe18ea7a5a8a99ac758b4fa564a6
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*.h rust
66
*.rs rust
77
src/etc/pkg/rust-logo.ico binary
8+
src/etc/pkg/rust-logo.png binary
89
src/rt/msvc/* -whitespace
910
src/rt/vg/* -whitespace
1011
src/rt/jemalloc/**/* -whitespace

branches/dist-snap/Makefile.in

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,10 @@ include config.mk
177177

178178
# Just a few macros used everywhere
179179
include $(CFG_SRC_DIR)mk/util.mk
180-
# All crates and their dependencies
181-
include $(CFG_SRC_DIR)mk/crates.mk
182180
# Reconfiguring when the makefiles or submodules change
183181
include $(CFG_SRC_DIR)mk/reconfig.mk
182+
# All crates and their dependencies
183+
include $(CFG_SRC_DIR)mk/crates.mk
184184
# Various bits of setup, common macros, and top-level rules
185185
include $(CFG_SRC_DIR)mk/main.mk
186186
# C and assembly components that are not LLVM
@@ -232,19 +232,20 @@ ifneq ($(strip $(findstring prepare,$(MAKECMDGOALS)) \
232232
include $(CFG_SRC_DIR)mk/prepare.mk
233233
endif
234234

235-
# (Unix) Installation from the build directory
236-
ifneq ($(findstring install,$(MAKECMDGOALS)),)
237-
CFG_INFO := $(info cfg: including install rules)
238-
include $(CFG_SRC_DIR)mk/install.mk
239-
endif
240-
241235
# Source and binary distribution artifacts
242236
ifneq ($(strip $(findstring dist,$(MAKECMDGOALS)) \
237+
$(findstring install,$(MAKECMDGOALS)) \
243238
$(findstring clean,$(MAKECMDGOALS))),)
244239
CFG_INFO := $(info cfg: including dist rules)
245240
include $(CFG_SRC_DIR)mk/dist.mk
246241
endif
247242

243+
# (Unix) Installation from the build directory
244+
ifneq ($(findstring install,$(MAKECMDGOALS)),)
245+
CFG_INFO := $(info cfg: including install rules)
246+
include $(CFG_SRC_DIR)mk/install.mk
247+
endif
248+
248249
# Cleaning
249250
ifneq ($(findstring clean,$(MAKECMDGOALS)),)
250251
CFG_INFO := $(info cfg: including clean rules)

branches/dist-snap/RELEASES.txt

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,161 @@
1+
Version 0.10 (April 2014)
2+
-------------------------
3+
4+
* ~1500 changes, numerous bugfixes
5+
6+
* Language
7+
* A new RFC process is now in place for modifying the language.
8+
* Patterns with `@`-pointers have been removed from the language.
9+
* Patterns with unique vectors have been removed from the language.
10+
* `@str` has been removed from the language.
11+
* `@[T]` has been removed from the language.
12+
* `@self` has been removed from the language.
13+
* `@Trait` has been removed from the language.
14+
* Headers on `~` allocations which contain `@` boxes inside the type for
15+
reference counting have been removed.
16+
* The semantics around the lifetimes of temporary expressions have changed,
17+
see #3511 and #11585 for more information.
18+
* Cross-crate syntax extensions are now possible, but feature gated. See
19+
#11151 for more information. This includes both `macro_rules!` macros as
20+
well as syntax extensions such as `format!`.
21+
* New lint modes have been added, and older ones have been turned on to be
22+
warn-by-default.
23+
* Unnecessary parentheses
24+
* Uppercase statics
25+
* Camel Case types
26+
* Uppercase variables
27+
* Publicly visible private types
28+
* Unsafe functions can no longer be coerced to closures.
29+
* Various obscure macros such as `log_syntax!` are now behind feature gates.
30+
* The #[simd] attribute is now behind a feature gate.
31+
* Visibility is no longer allowed on `extern crate` statements, and
32+
unnecessary visibility (`priv`) is no longer allowed on `use` statements.
33+
* Trailing commas are now allowed in argument lists and tuple patterns.
34+
* The `do` keyword has been removed, it is now a reserved keyword.
35+
* Default type parameters have been implemented, but are feature gated.
36+
* Borrowed variables through captures in closures are now considered soundly.
37+
* `extern mod` is now `extern crate`
38+
* The `Freeze` trait has been removed.
39+
* The `Share` trait has been added for types that can be shared among
40+
threads.
41+
* Labels in macros are now hygienic.
42+
* Expresson/statement macro invocations can be delimited with `{}` now.
43+
* Treatment of types allowed in `static mut` locations has been tweaked.
44+
* The `*` and `.` operators are now overloadable through the `Deref` and
45+
`DerefMut` traits.
46+
* `~Trait` and `proc` no longer have `Send` bounds by default.
47+
* Partial type hints are now supported with the `_` type marker.
48+
* An `Unsafe` type was introduced for interior mutability. It is now
49+
considered undefined to transmute from `&T` to `&mut T` without using the
50+
`Unsafe` type.
51+
* The #[linkage] attribute was implemented for extern statics/functions.
52+
* The inner attribute syntax has changed from `#[foo];` to `#![foo]`.
53+
* `Pod` was renamed to `Copy`.
54+
55+
* Libraries
56+
* The `libextra` library has been removed. It has now been decomposed into
57+
component libraries with smaller and more focused nuggets of
58+
functionality. The full list of libraries can be found on the
59+
documentation index page.
60+
* std: `std::condition` has been removed. All I/O errors are now propagated
61+
through the `Result` type. In order to assist with error handling, a
62+
`try!` macro for unwrapping errors with an early return and an lint for
63+
unused results has been added. See #12039 for more information.
64+
* std: The `vec` module has been renamed to `slice`.
65+
* std: A new vector type, `Vec<T>`, has been added in preparation for DST.
66+
This will become the only growable vector in the future.
67+
* std: `std::io` now has more public-reexports. Types such as `BufferedReader`
68+
are now found at `std::io::BufferedReader` instead of
69+
`std::io::buffered::BufferedReader`.
70+
* std: `print` and `println` are no longer in the prelude, the `print!` and
71+
`println!` macros are intended to be used instead.
72+
* std: `Rc` now has a `Weak` pointer for breaking cycles, and it no longer
73+
attempts to statically prevent cycles.
74+
* std: The standard distribution is adopting the policy of pushing failure
75+
to the user rather than failing in libraries. Many functions (such as
76+
`slice::last()`) now return `Option<T>` instead of `T` + failing.
77+
* std: `fmt::Default` has been renamed to `fmt::Show`, and it now has a new
78+
deriving mode: `#[deriving(Show)]`.
79+
* std: `ToStr` is now implemented for all types implementing `Show`.
80+
* std: The formatting trait methods now take `&self` instead of `&T`
81+
* std: The `invert()` method on iterators has been renamed to `rev()`
82+
* std: `std::num` has seen a reduction in the genericity of its traits,
83+
consolidating functionality into a few core traits.
84+
* std: Backtraces are now printed on task failure if the environment
85+
variable `RUST_BACKTRACE` is present.
86+
* std: Naming conventions for iterators have been standardized. More details
87+
can be found on the wiki's style guide.
88+
* std: `eof()` has been removed from the `Reader` trait. Specific types may
89+
still implement the function.
90+
* std: Networking types are now cloneable to allow simultaneous reads/writes.
91+
* std: `assert_approx_eq!` has been removed
92+
* std: The `e` and `E` formatting specifiers for floats have been added to
93+
print them in exponential notation.
94+
* std: The `Times` trait has been removed
95+
* std: Indications of variance and opting out of builtin bounds is done
96+
through marker types in `std::kinds::marker` now
97+
* std: `hash` has been rewritten, `IterBytes` has been removed, and
98+
`#[deriving(Hash)]` is now possible.
99+
* std: `SharedChan` has been removed, `Sender` is now cloneable.
100+
* std: `Chan` and `Port` were renamed to `Sender` and `Receiver`.
101+
* std: `Chan::new` is now `channel()`.
102+
* std: A new synchronous channel type has been implemented.
103+
* std: A `select!` macro is now provided for selecting over `Receiver`s.
104+
* std: `hashmap` and `trie` have been moved to `libcollections`
105+
* std: `run` has been rolled into `io::process`
106+
* std: `assert_eq!` now uses `{}` instead of `{:?}`
107+
* std: The equality and comparison traits have seen some reorganization.
108+
* std: `rand` has moved to `librand`.
109+
* std: `to_{lower,upper}case` has been implemented for `char`.
110+
* std: Logging has been moved to `liblog`.
111+
* collections: `HashMap` has been rewritten for higher performance and less
112+
memory usage.
113+
* native: The default runtime is now `libnative`. If `libgreen` is desired,
114+
it can be booted manually. The runtime guide has more information and
115+
examples.
116+
* native: All I/O functionality except signals has been implemented.
117+
* green: Task spawning with `libgreen` has been optimized with stack caching
118+
and various trimming of code.
119+
* green: Tasks spawned by `libgreen` now have an unmapped guard page.
120+
* sync: The `extra::sync` module has been updated to modern rust (and moved
121+
to the `sync` library), tweaking and improving various interfaces while
122+
dropping redundant functionality.
123+
* sync: A new `Barrier` type has been added to the `sync` library.
124+
* sync: An efficient mutex for native and green tasks has been implemented.
125+
* serialize: The `base64` module has seen some improvement. It treats
126+
newlines better, has non-string error values, and has seen general
127+
cleanup.
128+
* fourcc: A `fourcc!` macro was introduced
129+
* hexfloat: A `hexfloat!` macro was implemented for specifying floats via a
130+
hexadecimal literal.
131+
132+
* Tooling
133+
* `rustpkg` has been deprecated and removed from the main repository. Its
134+
replacement, `cargo`, is under development.
135+
* Nightly builds of rust are now available (INSERT URL HERE)
136+
* The memory usage of rustc has been improved many times throughout this
137+
release cycle.
138+
* The build process supports disabling rpath support for the rustc binary
139+
itself.
140+
* Code generation has improved in some cases, giving more information to the
141+
LLVM optimization passes to enable more extensive optimizations.
142+
* Debuginfo compatibility with lldb on OSX has been restored.
143+
* The master branch is now gated on an android bot, making building for
144+
android much more reliable.
145+
* Output flags have been centralized into one `--emit` flag.
146+
* Crate type flags have been centralized into one `--crate-type` flag.
147+
* Codegen flags have been consolidated behind a `-C` flag.
148+
* `rustdoc` now implements syntax highlighting and rendering markdown files.
149+
* `rustdoc --test` now tests all code blocks by default.
150+
* `rustdoc` now shows documented macros.
151+
* `rustdoc` inlines documentation for reexported types.
152+
* `rustdoc` search works across crates now.
153+
* Linking against outdated crates now has improved error messages.
154+
* Error messages with lifetimes will often suggest how to annotate the
155+
function to fix the error.
156+
* Many more types are documented in the standard library, and new guides
157+
were written.
158+
1159
Version 0.9 (January 2014)
2160
--------------------------
3161

branches/dist-snap/configure

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ need_ok() {
2727
}
2828

2929
need_cmd() {
30-
if which $1 >/dev/null 2>&1
30+
if command -v $1 >/dev/null 2>&1
3131
then msg "found $1"
3232
else err "need $1"
3333
fi
@@ -83,7 +83,7 @@ probe() {
8383
local T
8484
for P
8585
do
86-
T=$(which $P 2>&1)
86+
T=$(command -v $P 2>&1)
8787
if [ $? -eq 0 ]
8888
then
8989
VER0=$($P --version 2>/dev/null | head -1 \
@@ -274,6 +274,12 @@ case $CFG_OSTYPE in
274274
MINGW32*)
275275
CFG_OSTYPE=pc-mingw32
276276
;;
277+
278+
MINGW64*)
279+
# msys2, MSYSTEM=MINGW64
280+
CFG_OSTYPE=w64-mingw32
281+
;;
282+
277283
# Thad's Cygwin identifers below
278284

279285
# Vista 32 bit
@@ -383,6 +389,8 @@ opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
383389
opt pax-flags 0 "apply PaX flags to rustc binaries (required for GRSecurity/PaX-patched kernels)"
384390
opt inject-std-version 1 "inject the current compiler version of libstd into programs"
385391
opt rpath 1 "build rpaths into rustc itself"
392+
opt nightly 0 "build nightly packages"
393+
opt verify-install 1 "verify installed binaries work"
386394
valopt prefix "/usr/local" "set installation prefix"
387395
valopt local-rust-root "/usr/local" "set prefix for local rust binary"
388396
valopt llvm-root "" "set LLVM root"
@@ -401,16 +409,16 @@ valopt infodir "${CFG_PREFIX}/share/info" "install additional info"
401409
valopt mandir "${CFG_PREFIX}/share/man" "install man pages in PATH"
402410

403411
# On windows we just store the libraries in the bin directory because
404-
# there's no rpath
412+
# there's no rpath. This is where the build system itself puts libraries;
413+
# --libdir is used to configure the installation directory.
405414
# FIXME: Thise needs to parameterized over target triples. Do it in platform.mk
406415
CFG_LIBDIR_RELATIVE=lib
407-
if [ "$CFG_OSTYPE" = "pc-mingw32" ]
416+
if [ "$CFG_OSTYPE" = "pc-mingw32" ] || [ "$CFG_OSTYPE" = "w64-mingw32" ]
408417
then
409418
CFG_LIBDIR_RELATIVE=bin
410419
fi
411420

412421
valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries"
413-
valopt rustlibdir "rustlib" "subdirectory name for rustc's libraries"
414422

415423
if [ $HELP -eq 1 ]
416424
then
@@ -531,7 +539,7 @@ then
531539
fi
532540

533541
BIN_SUF=
534-
if [ $CFG_OSTYPE = "pc-mingw32" ]
542+
if [ "$CFG_OSTYPE" = "pc-mingw32" ] || [ "$CFG_OSTYPE" = "w64-mingw32" ]
535543
then
536544
BIN_SUF=.exe
537545
fi
@@ -602,7 +610,7 @@ then
602610
LLVM_VERSION=$($LLVM_CONFIG --version)
603611

604612
case $LLVM_VERSION in
605-
(3.[2-5]svn|3.[2-5])
613+
(3.[2-5]*)
606614
msg "found ok version of LLVM: $LLVM_VERSION"
607615
;;
608616
(*)
@@ -777,10 +785,10 @@ do
777785
make_dir $h/stage$i/test
778786

779787
# target bin dir
780-
make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/$CFG_RUSTLIBDIR/$t/bin
788+
make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/rustlib/$t/bin
781789

782790
# target lib dir
783-
make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/$CFG_RUSTLIBDIR/$t/lib
791+
make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/rustlib/$t/lib
784792
done
785793
done
786794

@@ -1039,7 +1047,6 @@ putvar CFG_HOST
10391047
putvar CFG_TARGET
10401048
putvar CFG_C_COMPILER
10411049
putvar CFG_LIBDIR
1042-
putvar CFG_RUSTLIBDIR
10431050
putvar CFG_LIBDIR_RELATIVE
10441051
putvar CFG_DISABLE_MANAGE_SUBMODULES
10451052
putvar CFG_ANDROID_CROSS_PATH

branches/dist-snap/mk/crates.mk

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,7 @@ COMPILER_DOC_CRATES := rustc syntax
105105
# $(1) is the crate to generate variables for
106106
define RUST_CRATE
107107
CRATEFILE_$(1) := $$(S)src/lib$(1)/lib.rs
108-
RSINPUTS_$(1) := $$(wildcard $$(addprefix $(S)src/lib$(1), \
109-
*.rs */*.rs */*/*.rs */*/*/*.rs))
108+
RSINPUTS_$(1) := $$(call rwildcard,$(S)src/lib$(1)/,*.rs)
110109
RUST_DEPS_$(1) := $$(filter-out native:%,$$(DEPS_$(1)))
111110
NATIVE_DEPS_$(1) := $$(patsubst native:%,%,$$(filter native:%,$$(DEPS_$(1))))
112111
endef
@@ -117,8 +116,7 @@ $(foreach crate,$(CRATES),$(eval $(call RUST_CRATE,$(crate))))
117116
#
118117
# $(1) is the crate to generate variables for
119118
define RUST_TOOL
120-
TOOL_INPUTS_$(1) := $$(wildcard $$(addprefix $$(dir $$(TOOL_SOURCE_$(1))), \
121-
*.rs */*.rs */*/*.rs */*/*/*.rs))
119+
TOOL_INPUTS_$(1) := $$(call rwildcard,$$(dir $$(TOOL_SOURCE_$(1))),*.rs)
122120
endef
123121

124122
$(foreach crate,$(TOOLS),$(eval $(call RUST_TOOL,$(crate))))

0 commit comments

Comments
 (0)