Skip to content

Commit 0128159

Browse files
committed
Merge branch 'master' into cfg_tmp_dir
Conflicts: src/etc/rustup.sh
2 parents 8f827d3 + e64a819 commit 0128159

File tree

1,456 files changed

+70927
-61344
lines changed

Some content is hidden

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

1,456 files changed

+70927
-61344
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@
1111
[submodule "src/jemalloc"]
1212
path = src/jemalloc
1313
url = https://github.com/rust-lang/jemalloc.git
14+
[submodule "src/rust-installer"]
15+
path = src/rust-installer
16+
url = https://github.com/rust-lang/rust-installer

AUTHORS.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,7 @@ Robert Irelan <[email protected]>
498498
Robert Knight <[email protected]>
499499
Robert Millar <[email protected]>
500500
Roland Tanglao <[email protected]>
501+
Rolf Timmermans <[email protected]>
501502
Ron Dahlgren <[email protected]>
502503
Roy Frostig <[email protected]>
503504

Makefile.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,8 @@ include $(CFG_SRC_DIR)mk/rustllvm.mk
198198
include $(CFG_SRC_DIR)mk/docs.mk
199199
# LLVM
200200
include $(CFG_SRC_DIR)mk/llvm.mk
201+
# Rules for installing debugger scripts
202+
include $(CFG_SRC_DIR)mk/debuggers.mk
201203

202204
######################################################################
203205
# Secondary makefiles, conditionalized for speed

configure

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -546,22 +546,26 @@ CFG_TARGET=$(to_llvm_triple $CFG_TARGET)
546546
# there's no rpath. This is where the build system itself puts libraries;
547547
# --libdir is used to configure the installation directory.
548548
# FIXME: This needs to parameterized over target triples. Do it in platform.mk
549-
CFG_LIBDIR_RELATIVE=lib
550549
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ]
551550
then
552551
CFG_LIBDIR_RELATIVE=bin
553-
CFG_LIBDIR="${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}"
554552
else
555-
valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries (ignored on windows platform)"
553+
CFG_LIBDIR_RELATIVE=lib
554+
fi
556555

557-
case "$CFG_LIBDIR" in
558-
"$CFG_PREFIX"/*) CAT_INC=2;;
559-
"$CFG_PREFIX"*) CAT_INC=1;;
560-
*)
561-
err "libdir must begin with the prefix. Use --prefix to set it accordingly.";;
562-
esac
556+
valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries (do not set it on windows platform)"
557+
558+
case "$CFG_LIBDIR" in
559+
"$CFG_PREFIX"/*) CAT_INC=2;;
560+
"$CFG_PREFIX"*) CAT_INC=1;;
561+
*)
562+
err "libdir must begin with the prefix. Use --prefix to set it accordingly.";;
563+
esac
563564

564-
CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
565+
CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
566+
567+
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] && [ "$CFG_LIBDIR_RELATIVE" != "bin" ]; then
568+
err "libdir on windows should be set to 'bin'"
565569
fi
566570

567571
if [ $HELP -eq 1 ]
@@ -620,7 +624,6 @@ probe CFG_LD ld
620624
probe CFG_VALGRIND valgrind
621625
probe CFG_PERF perf
622626
probe CFG_ISCC iscc
623-
probe CFG_LLNEXTGEN LLnextgen
624627
probe CFG_JAVAC javac
625628
probe CFG_ANTLR4 antlr4
626629
probe CFG_GRUN grun
@@ -711,11 +714,6 @@ then
711714
fi
712715
step_msg "using rustc at: ${CFG_LOCAL_RUST_ROOT} with version: $LRV"
713716
putvar CFG_LOCAL_RUST_ROOT
714-
else
715-
if [ ! -z "$CFG_LOCAL_RUST_ROOT" ]
716-
then
717-
warn "Use of --local-rust-root without --enable-local-rust"
718-
fi
719717
fi
720718

721719
# Force freebsd to build with clang; gcc doesn't like us there
@@ -990,8 +988,7 @@ do
990988
make_dir $t/rt/jemalloc
991989
for i in \
992990
isaac sync test \
993-
arch/i386 arch/x86_64 arch/arm arch/mips \
994-
sundown/src sundown/html
991+
arch/i386 arch/x86_64 arch/arm arch/mips
995992
do
996993
make_dir $t/rt/stage$s/$i
997994
done
@@ -1042,19 +1039,18 @@ do
10421039
make_dir $h/test/debuginfo-gdb
10431040
make_dir $h/test/debuginfo-lldb
10441041
make_dir $h/test/codegen
1045-
make_dir $h/test/doc-tutorial
10461042
make_dir $h/test/doc-guide
10471043
make_dir $h/test/doc-guide-ffi
10481044
make_dir $h/test/doc-guide-runtime
10491045
make_dir $h/test/doc-guide-macros
1050-
make_dir $h/test/doc-guide-lifetimes
1046+
make_dir $h/test/doc-guide-ownership
10511047
make_dir $h/test/doc-guide-pointers
10521048
make_dir $h/test/doc-guide-container
10531049
make_dir $h/test/doc-guide-tasks
10541050
make_dir $h/test/doc-guide-plugin
10551051
make_dir $h/test/doc-guide-crates
10561052
make_dir $h/test/doc-guide-error-handling
1057-
make_dir $h/test/doc-rust
1053+
make_dir $h/test/doc-reference
10581054
done
10591055

10601056
# Configure submodules

man/rustc.1

Lines changed: 79 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -12,75 +12,54 @@ This program is a compiler for the Rust language, available at
1212
.SH OPTIONS
1313

1414
.TP
15-
\fB\-\-crate-name NAME\fR
16-
Specify the name of the crate being built
17-
.TP
18-
\fB\-\-crate-type=[bin|lib|dylib|rlib|staticlib]\fR
19-
Configure the flavor of rust crate that is generated (default `bin`)
15+
\fB\-h\fR, \fB\-\-help\fR
16+
Display the help message
2017
.TP
2118
\fB\-\-cfg\fR SPEC
2219
Configure the compilation environment
2320
.TP
24-
\fB\-\-emit=[asm,ir,bc,obj,link]\fR
25-
Configure the output that rustc will produce
26-
.TP
27-
\fB\-h\fR, \fB\-\-help\fR
28-
Display this message
29-
.TP
3021
\fB\-L\fR PATH
3122
Add a directory to the library search path
3223
.TP
33-
\fB\-\-no\-trans\fR
34-
Run all passes except translation; no output
24+
\fB\-l\fR NAME[:KIND]
25+
Link the generated crate(s) to the specified native library NAME. The optional
26+
KIND can be one of, static, dylib, or framework. If omitted, dylib is assumed.
3527
.TP
36-
\fB\-\-no\-analysis\fR
37-
Parse and expand the source, but run no analysis and produce no output
28+
\fB\-\-crate-type\fR [bin|lib|rlib|dylib|staticlib]
29+
Comma separated list of types of crates for the compiler to emit
3830
.TP
39-
\fB\-g\fR
40-
Emit DWARF debug information into object files generated.
31+
\fB\-\-crate-name NAME\fR
32+
Specify the name of the crate being built
4133
.TP
42-
\fB\-\-debuginfo\fR LEVEL
43-
Emit DWARF debug info to the objects created: 0 = no debug info, 1 =
44-
line-tables only (for stacktraces and breakpoints), 2 = full debug
45-
info with variable and type information (same as -g).
34+
\fB\-\-emit\fR [asm|llvm-bc|llvm-ir|obj|link|dep-info]
35+
Configure the output that rustc will produce
36+
.TP
37+
\fB\-\-print\fR [crate-name|output-file-names|sysroot]
38+
Comma separated list of compiler information to print on stdout
39+
.TP
40+
\fB\-g\fR
41+
Equivalent to \fI\-C\fR debuginfo=2
4642
.TP
4743
\fB\-O\fR
48-
Equivalent to \fI\-\-opt\-level=2\fR
44+
Equivalent to \fI\-C\fR opt-level=2
4945
.TP
5046
\fB\-o\fR FILENAME
51-
Write output to <filename>. Ignored if more than one --emit is specified.
52-
.TP
53-
\fB\-\-opt\-level\fR LEVEL
54-
Optimize with possible levels 0-3
47+
Write output to <filename>. Ignored if multiple \fI\-\-emit\fR outputs are
48+
specified.
5549
.TP
5650
\fB\-\-out\-dir\fR DIR
57-
Write output to compiler-chosen filename in <dir>. Ignored if -o is specified.
58-
(default the current directory)
59-
.TP
60-
\fB\-\-parse\-only\fR
61-
Parse only; do not compile, assemble, or link
51+
Write output to compiler-chosen filename in <dir>. Ignored if \fI\-o\fR is
52+
specified. Defaults to the current directory.
6253
.TP
63-
\fB\-\-pretty\fR [TYPE]
64-
Pretty-print the input instead of compiling; valid types are: normal
65-
(un-annotated source), expanded (crates expanded), typed (crates
66-
expanded, with type annotations), identified (fully parenthesized,
67-
AST nodes and blocks with IDs), or flowgraph=<nodeid> (graphviz
68-
formatted flowgraph for node)
69-
.TP
70-
\fB\-\-dep-info\fR [FILENAME]
71-
Output dependency info to <filename> after compiling, in a format suitable
72-
for use by Makefiles.
73-
.TP
74-
\fB\-\-sysroot\fR PATH
75-
Override the system root
54+
\fB\-\-explain\fR OPT
55+
Provide a detailed explanation of an error message
7656
.TP
7757
\fB\-\-test\fR
7858
Build a test harness
7959
.TP
8060
\fB\-\-target\fR TRIPLE
81-
Target triple cpu-manufacturer-kernel[-os] to compile for (see
82-
http://sources.redhat.com/autobook/autobook/autobook_17.html
83-
for details)
61+
Target triple cpu-manufacturer-kernel[-os] to compile for (see chapter 3.4 of
62+
http://www.sourceware.org/autobook/ for details)
8463
.TP
8564
\fB\-W\fR help
8665
Print 'lint' options and default settings
@@ -97,15 +76,30 @@ Set lint denied
9776
\fB\-F\fR OPT, \fB\-\-forbid\fR OPT
9877
Set lint forbidden
9978
.TP
100-
\fB\-Z\fR FLAG
101-
Set internal debugging options. Use "-Z help" to print available options.
102-
.TP
10379
\fB\-C\fR FLAG[=VAL], \fB\-\-codegen\fR FLAG[=VAL]
10480
Set a codegen-related flag to the value specified. Use "-C help" to print
10581
available flags. See CODEGEN OPTIONS below
10682
.TP
107-
\fB\-v\fR, \fB\-\-version\fR
83+
\fB\-V\fR, \fB\-\-version\fR
10884
Print version info and exit
85+
.TP
86+
\fB\-v\fR, \fB\-\-verbose\fR
87+
Use verbose output
88+
.TP
89+
\fB\-\-extern\fR NAME=PATH
90+
Specify where an external rust library is located
91+
.TP
92+
\fB\-\-sysroot\fR PATH
93+
Override the system root
94+
.TP
95+
\fB\-Z\fR FLAG
96+
Set internal debugging options. Use "-Z help" to print available options.
97+
.TP
98+
\fB\-\-color\fR auto|always|never
99+
Configure coloring of output:
100+
auto = colorize, if output goes to a tty (default);
101+
always = always colorize output;
102+
never = never colorize output
109103

110104
.SH CODEGEN OPTIONS
111105

@@ -121,6 +115,9 @@ objects.
121115
A space-separated list of extra arguments to pass to the linker when the linker
122116
is invoked.
123117
.TP
118+
\fBlto\fR
119+
Perform LLVM link-time optimizations.
120+
.TP
124121
\fBtarget-cpu\fR=help
125122
Selects a target processor. If the value is 'help', then a list of available
126123
CPUs is printed.
@@ -167,8 +164,38 @@ Prefers dynamic linking to static linking.
167164
\fBno-integrated-as\fR
168165
Force usage of an external assembler rather than LLVM's integrated one.
169166
.TP
167+
\fBno-redzone\fR
168+
Disable the use of the redzone.
169+
.TP
170170
\fBrelocation-model\fR=[pic,static,dynamic-no-pic]
171-
The relocation model to use. (default: pic)
171+
The relocation model to use. (Default: pic)
172+
.TP
173+
\fBcode-model\fR=[small,kernel,medium,large]
174+
Choose the code model to use.
175+
.TP
176+
\fBmetadata\fR=val
177+
Metadata to mangle symbol names with.
178+
.TP
179+
\fBextra-filename\fR=val
180+
Extra data to put in each output filename.
181+
.TP
182+
\fBcodegen-units\fR=val
183+
Divide crate into N units to optimize in parallel.
184+
.TP
185+
\fBremark\fR=val
186+
Print remarks for these optimization passes (space separated, or "all").
187+
.TP
188+
\fBno-stack-check\fR
189+
Disable checks for stack exhaustion (a memory-safety hazard!).
190+
.TP
191+
\fBdebuginfo\fR=val
192+
Debug info emission level:
193+
0 = no debug info;
194+
1 = line-tables only (for stacktraces and breakpoints);
195+
2 = full debug info with variable and type information.
196+
.TP
197+
\fBopt-level\fR=val
198+
Optimize with possible levels 0-3
172199

173200
.SH "EXAMPLES"
174201
To build an executable from a source file with a main function:

mk/clean.mk

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ clean-generic-$(2)-$(1):
6363
-name '*.lib' -o \
6464
-name '*.dll' -o \
6565
-name '*.def' -o \
66+
-name '*.py' -o \
6667
-name '*.bc' \
6768
\) \
6869
| xargs rm -f
@@ -78,7 +79,7 @@ define CLEAN_HOST_STAGE_N
7879

7980
clean$(1)_H_$(2): \
8081
$$(foreach crate,$$(CRATES),clean$(1)_H_$(2)-lib-$$(crate)) \
81-
$$(foreach tool,$$(TOOLS),clean$(1)_H_$(2)-tool-$$(tool))
82+
$$(foreach tool,$$(TOOLS) $$(DEBUGGER_BIN_SCRIPTS),clean$(1)_H_$(2)-tool-$$(tool))
8283
$$(Q)rm -fr $(2)/rt/libbacktrace
8384

8485
clean$(1)_H_$(2)-tool-%:
@@ -98,7 +99,7 @@ define CLEAN_TARGET_STAGE_N
9899

99100
clean$(1)_T_$(2)_H_$(3): \
100101
$$(foreach crate,$$(CRATES),clean$(1)_T_$(2)_H_$(3)-lib-$$(crate)) \
101-
$$(foreach tool,$$(TOOLS),clean$(1)_T_$(2)_H_$(3)-tool-$$(tool))
102+
$$(foreach tool,$$(TOOLS) $$(DEBUGGER_BIN_SCRIPTS),clean$(1)_T_$(2)_H_$(3)-tool-$$(tool))
102103
$$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/libmorestack.a
103104
$$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/libcompiler-rt.a
104105
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/librun_pass_stage* # For unix

0 commit comments

Comments
 (0)