Skip to content

Commit 733a947

Browse files
committed
---
yaml --- r: 274286 b: refs/heads/stable c: b694d1b h: refs/heads/master
1 parent 9bcb3c3 commit 733a947

File tree

844 files changed

+30845
-21960
lines changed

Some content is hidden

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

844 files changed

+30845
-21960
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3030
refs/tags/homu-tmp: c0221c8897db309a79990367476177b1230bb264
3131
refs/tags/1.0.0-beta: 8cbb92b53468ee2b0c2d3eeb8567005953d40828
32-
refs/heads/stable: 5133b2619e07b8d79f8894dbb9c3e47184037ce2
32+
refs/heads/stable: b694d1b1d11b5fa41f5a019b1251124a133d031d
3333
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
3434
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
3535
refs/tags/1.2.0: f557861f822c34f07270347b94b5280de20a597e

branches/stable/.gitmodules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
url = https://github.com/rust-lang/jemalloc.git
1414
[submodule "src/rust-installer"]
1515
path = src/rust-installer
16-
url = https://github.com/rust-lang/rust-installer
16+
url = https://github.com/rust-lang/rust-installer.git
1717
[submodule "src/liblibc"]
1818
path = src/liblibc
19-
url = https://github.com/rust-lang/libc
19+
url = https://github.com/rust-lang-nursery/libc.git

branches/stable/CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ labels to triage issues:
174174
* Yellow, **A**-prefixed labels state which **area** of the project an issue
175175
relates to.
176176

177-
* Magenta, **B**-prefixed labels identify bugs which **belong** elsewhere.
177+
* Magenta, **B**-prefixed labels identify bugs which are **blockers**.
178178

179179
* Green, **E**-prefixed labels explain the level of **experience** necessary
180180
to fix the issue.
@@ -238,7 +238,7 @@ are:
238238
* Don't be afraid to ask! The Rust community is friendly and helpful.
239239

240240
[gdfrustc]: http://manishearth.github.io/rust-internals-docs/rustc/
241-
[gsearchdocs]: https://www.google.de/search?q=site:doc.rust-lang.org+your+query+here
241+
[gsearchdocs]: https://www.google.com/search?q=site:doc.rust-lang.org+your+query+here
242242
[rif]: http://internals.rust-lang.org
243243
[rr]: https://doc.rust-lang.org/book/README.html
244244
[tlgba]: http://tomlee.co/2014/04/03/a-more-detailed-tour-of-the-rust-compiler/

branches/stable/COPYRIGHT

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ terms.
66

77
Longer version:
88

9-
The Rust Project is copyright 2015, The Rust Project
10-
Developers (given in the file AUTHORS.txt).
9+
The Rust Project is copyright 2016, The Rust Project
10+
Developers.
1111

1212
Licensed under the Apache License, Version 2.0
1313
<LICENSE-APACHE or

branches/stable/LICENSE-MIT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2015 The Rust Project Developers
1+
Copyright (c) 2016 The Rust Project Developers
22

33
Permission is hereby granted, free of charge, to any
44
person obtaining a copy of this software and associated

branches/stable/Makefile.in

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -220,19 +220,12 @@ endif
220220
# The test suite
221221
ifneq ($(strip $(findstring check,$(MAKECMDGOALS)) \
222222
$(findstring test,$(MAKECMDGOALS)) \
223-
$(findstring perf,$(MAKECMDGOALS)) \
224223
$(findstring tidy,$(MAKECMDGOALS))),)
225224
CFG_INFO := $(info cfg: including test rules)
226225
include $(CFG_SRC_DIR)mk/tests.mk
227226
include $(CFG_SRC_DIR)mk/grammar.mk
228227
endif
229228

230-
# Performance and benchmarking
231-
ifneq ($(findstring perf,$(MAKECMDGOALS)),)
232-
CFG_INFO := $(info cfg: including perf rules)
233-
include $(CFG_SRC_DIR)mk/perf.mk
234-
endif
235-
236229
# Copy all the distributables to another directory for binary install
237230
ifneq ($(strip $(findstring prepare,$(MAKECMDGOALS)) \
238231
$(findstring dist,$(MAKECMDGOALS)) \

branches/stable/README.md

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Read ["Installing Rust"] from [The Book].
1717
1. Make sure you have installed the dependencies:
1818

1919
* `g++` 4.7 or `clang++` 3.x
20-
* `python` 2.6 or later (but not 3.x)
20+
* `python` 2.7 or later (but not 3.x)
2121
* GNU `make` 3.81 or later
2222
* `curl`
2323
* `git`
@@ -53,6 +53,16 @@ Read ["Installing Rust"] from [The Book].
5353
5454
### Building on Windows
5555
56+
There are two prominent ABIs in use on Windows: the native (MSVC) ABI used by
57+
Visual Studio, and the GNU ABI used by the GCC toolchain. Which version of Rust
58+
you need depends largely on what C/C++ libraries you want to interoperate with:
59+
for interop with software produced by Visual Studio use the MSVC build of Rust;
60+
for interop with GNU software built using the MinGW/MSYS2 toolchain use the GNU
61+
build.
62+
63+
64+
#### MinGW
65+
5666
[MSYS2](http://msys2.github.io/) can be used to easily build Rust on Windows:
5767
5868
1. Grab the latest MSYS2 installer and go through the installer.
@@ -63,12 +73,15 @@ Read ["Installing Rust"] from [The Book].
6373
```sh
6474
# Update package mirrors (may be needed if you have a fresh install of MSYS2)
6575
$ pacman -Sy pacman-mirrors
76+
```
6677
67-
# Choose one based on platform:
68-
# *** see the note below ***
69-
$ pacman -S mingw-w64-i686-toolchain
70-
$ pacman -S mingw-w64-x86_64-toolchain
78+
Download [MinGW from
79+
here](http://mingw-w64.org/doku.php/download/mingw-builds), and choose the
80+
`threads=win32,exceptions=dwarf/seh` flavor when installing. After installing,
81+
add its `bin` directory to your `PATH`. This is due to [#28260](https://github.com/rust-lang/rust/issues/28260), in the future,
82+
installing from pacman should be just fine.
7183
84+
```
7285
# Make git available in MSYS2 (if not already available on path)
7386
$ pacman -S git
7487
@@ -84,16 +97,19 @@ Read ["Installing Rust"] from [The Book].
8497
$ ./configure
8598
$ make && make install
8699
```
87-
> ***Note:*** gcc versions >= 5 currently have issues building LLVM on Windows
88-
> resulting in a segmentation fault when building Rust. In order to avoid this
89-
> it may be necessary to obtain an earlier version of gcc such as 4.9.x.
90-
> Msys's `pacman` will install the latest version, so for the time being it is
91-
> recommended to skip gcc toolchain installation step above and use [Mingw-Builds]
92-
> project's installer instead. Be sure to add gcc `bin` directory to the path
93-
> before running `configure`.
94-
> For more information on this see issue #28260.
95-
96-
[Mingw-Builds]: http://sourceforge.net/projects/mingw-w64/
100+
101+
#### MSVC
102+
103+
MSVC builds of Rust additionally require an installation of Visual Studio 2013
104+
(or later) so `rustc` can use its linker. Make sure to check the “C++ tools”
105+
option. In addition, `cmake` needs to be installed to build LLVM.
106+
107+
With these dependencies installed, the build takes two steps:
108+
109+
```sh
110+
$ ./configure
111+
$ make && make install
112+
```
97113

98114
## Building Documentation
99115

branches/stable/configure

Lines changed: 47 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -499,13 +499,18 @@ case $CFG_CPUTYPE in
499499
CFG_CPUTYPE=aarch64
500500
;;
501501

502-
# At some point, when ppc64[le] support happens, this will need to do
503-
# something clever. For now it's safe to assume that we're only ever
504-
# interested in building 32 bit.
505-
powerpc | ppc | ppc64)
502+
powerpc | ppc)
506503
CFG_CPUTYPE=powerpc
507504
;;
508505

506+
powerpc64 | ppc64)
507+
CFG_CPUTYPE=powerpc64
508+
;;
509+
510+
powerpc64le | ppc64le)
511+
CFG_CPUTYPE=powerpc64le
512+
;;
513+
509514
x86_64 | x86-64 | x64 | amd64)
510515
CFG_CPUTYPE=x86_64
511516
;;
@@ -521,15 +526,18 @@ then
521526
# if configure is running in an interactive bash shell. /usr/bin/env
522527
# exists *everywhere*.
523528
BIN_TO_PROBE="$SHELL"
524-
if [ -z "$BIN_TO_PROBE" -a -e "/usr/bin/env" ]; then
525-
BIN_TO_PROBE="/usr/bin/env"
529+
if [ ! -r "$BIN_TO_PROBE" ]; then
530+
if [ -r "/usr/bin/env" ]; then
531+
BIN_TO_PROBE="/usr/bin/env"
532+
else
533+
warn "Cannot check if the userland is i686 or x86_64"
534+
fi
535+
fi
536+
file -L "$BIN_TO_PROBE" | grep -q "x86[_-]64"
537+
if [ $? != 0 ]; then
538+
msg "i686 userland on x86_64 Linux kernel"
539+
CFG_CPUTYPE=i686
526540
fi
527-
if [ -n "$BIN_TO_PROBE" ]; then
528-
file -L "$BIN_TO_PROBE" | grep -q "x86[_-]64"
529-
if [ $? != 0 ]; then
530-
CFG_CPUTYPE=i686
531-
fi
532-
fi
533541
fi
534542

535543

@@ -542,7 +550,7 @@ CFG_SELF="$0"
542550
CFG_CONFIGURE_ARGS="$@"
543551

544552

545-
case "${CFG_SRC_DIR}" in
553+
case "${CFG_SRC_DIR}" in
546554
*\ * )
547555
err "The path to the rust source directory contains spaces, which is not supported"
548556
;;
@@ -587,7 +595,7 @@ opt fast-make 0 "use .gitmodules as timestamp for submodule deps"
587595
opt ccache 0 "invoke gcc/clang via ccache to reuse object files between builds"
588596
opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
589597
opt llvm-static-stdcpp 0 "statically link to libstdc++ for LLVM"
590-
opt rpath 0 "build rpaths into rustc itself"
598+
opt rpath 1 "build rpaths into rustc itself"
591599
opt stage0-landing-pads 1 "enable landing pads during bootstrap with stage0"
592600
# This is used by the automation to produce single-target nightlies
593601
opt dist-host-only 0 "only install bins for the host architecture"
@@ -616,8 +624,10 @@ valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path (de
616624
valopt i686-linux-android-ndk "" "i686-linux-android NDK standalone path"
617625
valopt arm-linux-androideabi-ndk "" "arm-linux-androideabi NDK standalone path"
618626
valopt aarch64-linux-android-ndk "" "aarch64-linux-android NDK standalone path"
627+
valopt nacl-cross-path "" "NaCl SDK path (Pepper Canary is recommended). Must be absolute!"
619628
valopt release-channel "dev" "the name of the release channel to build"
620629
valopt musl-root "/usr/local" "MUSL root installation directory"
630+
valopt extra-filename "" "Additional data that is hashed and passed to the -C extra-filename flag"
621631

622632
# Used on systems where "cc" and "ar" are unavailable
623633
valopt default-linker "cc" "the default linker"
@@ -882,6 +892,13 @@ then
882892
CFG_DISABLE_JEMALLOC=1
883893
fi
884894

895+
if [ $CFG_OSTYPE = pc-windows-gnu ]
896+
then
897+
# FIXME(#31030) - there's not a great reason to disable jemalloc here
898+
step_msg "on Windows, disabling jemalloc"
899+
CFG_DISABLE_JEMALLOC=1
900+
fi
901+
885902
# OS X 10.9, gcc is actually clang. This can cause some confusion in the build
886903
# system, so if we find that gcc is clang, we should just use clang directly.
887904
if [ $CFG_OSTYPE = apple-darwin -a -z "$CFG_ENABLE_CLANG" ]
@@ -1025,7 +1042,7 @@ then
10251042
if [ -n "$CFG_OSX_CLANG_VERSION" ]
10261043
then
10271044
case $CFG_OSX_CLANG_VERSION in
1028-
(7.0*)
1045+
(7.0* | 7.1* | 7.2*)
10291046
step_msg "found ok version of APPLE CLANG: $CFG_OSX_CLANG_VERSION"
10301047
;;
10311048
(*)
@@ -1034,7 +1051,7 @@ then
10341051
esac
10351052
else
10361053
case $CFG_CLANG_VERSION in
1037-
(3.2* | 3.3* | 3.4* | 3.5* | 3.6* | 3.7* | 3.8*)
1054+
(3.2* | 3.3* | 3.4* | 3.5* | 3.6* | 3.7* | 3.8* | 3.9*)
10381055
step_msg "found ok version of CLANG: $CFG_CLANG_VERSION"
10391056
;;
10401057
(*)
@@ -1147,7 +1164,12 @@ do
11471164
fi
11481165
done
11491166
;;
1150-
1167+
*-unknown-nacl)
1168+
if [ -z "$CFG_NACL_CROSS_PATH" ]
1169+
then
1170+
err "I need the NaCl SDK path! (use --nacl-cross-path)"
1171+
fi
1172+
;;
11511173
arm-apple-darwin)
11521174
if [ $CFG_OSTYPE != apple-darwin ]
11531175
then
@@ -1339,16 +1361,22 @@ for h in $CFG_HOST
13391361
do
13401362
for t in $CFG_TARGET
13411363
do
1364+
# host bin dir stage0
1365+
make_dir $h/stage0/bin
1366+
13421367
# host lib dir stage0
13431368
make_dir $h/stage0/lib
13441369

1370+
# host test dir stage0
1371+
make_dir $h/stage0/test
1372+
13451373
# target bin dir stage0
13461374
make_dir $h/stage0/lib/rustlib/$t/bin
13471375

13481376
# target lib dir stage0
13491377
make_dir $h/stage0/lib/rustlib/$t/lib
13501378

1351-
for i in 0 1 2 3
1379+
for i in 1 2 3
13521380
do
13531381
# host bin dir
13541382
make_dir $h/stage$i/bin
@@ -1749,6 +1777,7 @@ putvar CFG_DISABLE_MANAGE_SUBMODULES
17491777
putvar CFG_AARCH64_LINUX_ANDROID_NDK
17501778
putvar CFG_ARM_LINUX_ANDROIDEABI_NDK
17511779
putvar CFG_I686_LINUX_ANDROID_NDK
1780+
putvar CFG_NACL_CROSS_PATH
17521781
putvar CFG_MANDIR
17531782
putvar CFG_USING_LIBCPP
17541783

branches/stable/mk/cfg/arm-unknown-linux-gnueabi.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ CFG_LIB_NAME_arm-unknown-linux-gnueabi=lib$(1).so
88
CFG_STATIC_LIB_NAME_arm-unknown-linux-gnueabi=lib$(1).a
99
CFG_LIB_GLOB_arm-unknown-linux-gnueabi=lib$(1)-*.so
1010
CFG_LIB_DSYM_GLOB_arm-unknown-linux-gnueabi=lib$(1)-*.dylib.dSYM
11-
CFG_JEMALLOC_CFLAGS_arm-unknown-linux-gnueabi := -D__arm__ -mfpu=vfp $(CFLAGS)
12-
CFG_GCCISH_CFLAGS_arm-unknown-linux-gnueabi := -Wall -g -fPIC -D__arm__ -mfpu=vfp $(CFLAGS)
11+
CFG_JEMALLOC_CFLAGS_arm-unknown-linux-gnueabi := -D__arm__ -mfloat-abi=soft $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_arm-unknown-linux-gnueabi := -Wall -g -fPIC -D__arm__ -mfloat-abi=soft $(CFLAGS)
1313
CFG_GCCISH_CXXFLAGS_arm-unknown-linux-gnueabi := -fno-rtti $(CXXFLAGS)
1414
CFG_GCCISH_LINK_FLAGS_arm-unknown-linux-gnueabi := -shared -fPIC -g
1515
CFG_GCCISH_DEF_FLAG_arm-unknown-linux-gnueabi := -Wl,--export-dynamic,--dynamic-list=
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# le32-unknown-nacl (portable, PNaCl)
2+
ifneq ($(CFG_NACL_CROSS_PATH),)
3+
4+
CC_le32-unknown-nacl=$(shell $(CFG_PYTHON) $(CFG_NACL_CROSS_PATH)/tools/nacl_config.py -t pnacl --tool cc)
5+
CXX_le32-unknown-nacl=$(shell $(CFG_PYTHON) $(CFG_NACL_CROSS_PATH)/tools/nacl_config.py -t pnacl --tool c++)
6+
CPP_le32-unknown-nacl=$(CXX_le32-unknown-nacl) -E
7+
AR_le32-unknown-nacl=$(shell $(CFG_PYTHON) $(CFG_NACL_CROSS_PATH)/tools/nacl_config.py -t pnacl --tool ar)
8+
9+
CFG_PNACL_TOOLCHAIN := $(abspath $(dir $(AR_le32-unknown-nacl)/../))
10+
11+
# Note: pso's aren't supported by PNaCl.
12+
CFG_LIB_NAME_le32-unknown-nacl=lib$(1).pso
13+
CFG_STATIC_LIB_NAME_le32-unknown-nacl=lib$(1).a
14+
CFG_LIB_GLOB_le32-unknown-nacl=lib$(1)-*.pso
15+
CFG_LIB_DSYM_GLOB_le32-unknown-nacl=lib$(1)-*.dylib.dSYM
16+
CFG_GCCISH_CFLAGS_le32-unknown-nacl := -Wall -Wno-unused-variable -Wno-unused-value $(shell $(CFG_PYTHON) $(CFG_NACL_CROSS_PATH)/tools/nacl_config.py -t pnacl --cflags) -D_YUGA_LITTLE_ENDIAN=1 -D_YUGA_BIG_ENDIAN=0
17+
CFG_GCCISH_CXXFLAGS_le32-unknown-nacl := -stdlib=libc++ $(CFG_GCCISH_CFLAGS_le32-unknown-nacl)
18+
CFG_GCCISH_LINK_FLAGS_le32-unknown-nacl := -static -pthread -lm
19+
CFG_GCCISH_DEF_FLAG_le32-unknown-nacl := -Wl,--export-dynamic,--dynamic-list=
20+
CFG_GCCISH_PRE_LIB_FLAGS_le32-unknown-nacl := -Wl,-no-whole-archive
21+
CFG_GCCISH_POST_LIB_FLAGS_le32-unknown-nacl :=
22+
CFG_DEF_SUFFIX_le32-unknown-nacl := .le32.nacl.def
23+
CFG_INSTALL_NAME_le32-unknown-nacl =
24+
CFG_EXE_SUFFIX_le32-unknown-nacl = .pexe
25+
CFG_WINDOWSY_le32-unknown-nacl :=
26+
CFG_UNIXY_le32-unknown-nacl := 1
27+
CFG_NACLY_le32-unknown-nacl := 1
28+
CFG_PATH_MUNGE_le32-unknown-nacl := true
29+
CFG_LDPATH_le32-unknown-nacl :=
30+
CFG_RUN_le32-unknown-nacl=$(2)
31+
CFG_RUN_TARG_le32-unknown-nacl=$(call CFG_RUN_le32-unknown-nacl,,$(2))
32+
RUSTC_FLAGS_le32-unknown-nacl:=
33+
RUSTC_CROSS_FLAGS_le32-unknown-nacl=-L $(CFG_NACL_CROSS_PATH)/lib/pnacl/Release -L $(CFG_PNACL_TOOLCHAIN)/lib/clang/3.7.0/lib/le32-nacl -L $(CFG_PNACL_TOOLCHAIN)/le32-nacl/usr/lib -L $(CFG_PNACL_TOOLCHAIN)/le32-nacl/lib
34+
CFG_GNU_TRIPLE_le32-unknown-nacl := le32-unknown-nacl
35+
36+
# strdup isn't defined unless -std=gnu++11 is used :/
37+
LLVM_FILTER_CXXFLAGS_le32-unknown-nacl := -std=c++11
38+
LLVM_EXTRA_CXXFLAGS_le32-unknown-nacl := -std=gnu++11
39+
40+
endif
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# powerpc64-unknown-linux-gnu configuration
2+
CROSS_PREFIX_powerpc64-unknown-linux-gnu=powerpc64-linux-gnu-
3+
CC_powerpc64-unknown-linux-gnu=$(CC)
4+
CXX_powerpc64-unknown-linux-gnu=$(CXX)
5+
CPP_powerpc64-unknown-linux-gnu=$(CPP)
6+
AR_powerpc64-unknown-linux-gnu=$(AR)
7+
CFG_LIB_NAME_powerpc64-unknown-linux-gnu=lib$(1).so
8+
CFG_STATIC_LIB_NAME_powerpc64-unknown-linux-gnu=lib$(1).a
9+
CFG_LIB_GLOB_powerpc64-unknown-linux-gnu=lib$(1)-*.so
10+
CFG_LIB_DSYM_GLOB_powerpc64-unknown-linux-gnu=lib$(1)-*.dylib.dSYM
11+
CFG_CFLAGS_powerpc64-unknown-linux-gnu := -m64 $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_powerpc64-unknown-linux-gnu := -Wall -Werror -g -fPIC -m64 $(CFLAGS)
13+
CFG_GCCISH_CXXFLAGS_powerpc64-unknown-linux-gnu := -fno-rtti $(CXXFLAGS)
14+
CFG_GCCISH_LINK_FLAGS_powerpc64-unknown-linux-gnu := -shared -fPIC -ldl -pthread -lrt -g -m64
15+
CFG_GCCISH_DEF_FLAG_powerpc64-unknown-linux-gnu := -Wl,--export-dynamic,--dynamic-list=
16+
CFG_LLC_FLAGS_powerpc64-unknown-linux-gnu :=
17+
CFG_INSTALL_NAME_powerpc64-unknown-linux-gnu =
18+
CFG_EXE_SUFFIX_powerpc64-unknown-linux-gnu =
19+
CFG_WINDOWSY_powerpc64-unknown-linux-gnu :=
20+
CFG_UNIXY_powerpc64-unknown-linux-gnu := 1
21+
CFG_LDPATH_powerpc64-unknown-linux-gnu :=
22+
CFG_RUN_powerpc64-unknown-linux-gnu=$(2)
23+
CFG_RUN_TARG_powerpc64-unknown-linux-gnu=$(call CFG_RUN_powerpc64-unknown-linux-gnu,,$(2))
24+
CFG_GNU_TRIPLE_powerpc64-unknown-linux-gnu := powerpc64-unknown-linux-gnu

0 commit comments

Comments
 (0)