Skip to content

Commit 83f8cc1

Browse files
committed
---
yaml --- r: 142587 b: refs/heads/try2 c: f4ed554 h: refs/heads/master i: 142585: 605c504 142583: 7c6ab14 v: v3
1 parent a8e3506 commit 83f8cc1

File tree

843 files changed

+20001
-14925
lines changed

Some content is hidden

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

843 files changed

+20001
-14925
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 134bb0f3eeed69bbf6dc672bbbfbc802f1a018a9
8+
refs/heads/try2: f4ed554ddbd2dacfaa5dcc1dda99a3121f8cf2a4
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ src/.DS_Store
7373
/doc/html
7474
/doc/latex
7575
/doc/std
76+
/doc/extra
7677
/nd/
7778
/llvm/
7879
version.md
@@ -81,7 +82,6 @@ keywords.md
8182
x86_64-apple-darwin/
8283
x86_64-unknown-linux-gnu/
8384
i686-unknown-linux-gnu/
84-
doc/core/
8585
tmp.*.rs
8686
config.stamp
8787
.DS_Store

branches/try2/Makefile.in

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,10 @@ endif
122122
ifdef TRACE
123123
CFG_RUSTC_FLAGS += -Z trace
124124
endif
125+
ifndef DEBUG_BORROWS
126+
RUSTFLAGS_STAGE1 += -Z no-debug-borrows
127+
RUSTFLAGS_STAGE2 += -Z no-debug-borrows
128+
endif
125129

126130
# platform-specific auto-configuration
127131
include $(CFG_SRC_DIR)mk/platform.mk
@@ -201,8 +205,8 @@ define DEF_LIBS
201205

202206
CFG_RUNTIME_$(1) :=$(call CFG_LIB_NAME_$(1),rustrt)
203207
CFG_RUSTLLVM_$(1) :=$(call CFG_LIB_NAME_$(1),rustllvm)
204-
CFG_CORELIB_$(1) :=$(call CFG_LIB_NAME_$(1),core)
205208
CFG_STDLIB_$(1) :=$(call CFG_LIB_NAME_$(1),std)
209+
CFG_EXTRALIB_$(1) :=$(call CFG_LIB_NAME_$(1),extra)
206210
CFG_LIBRUSTC_$(1) :=$(call CFG_LIB_NAME_$(1),rustc)
207211
CFG_LIBSYNTAX_$(1) :=$(call CFG_LIB_NAME_$(1),syntax)
208212
CFG_LIBFUZZER_$(1) :=$(call CFG_LIB_NAME_$(1),fuzzer)
@@ -211,17 +215,17 @@ CFG_LIBRUSTDOC_$(1) :=$(call CFG_LIB_NAME_$(1),rustdoc)
211215
CFG_LIBRUSTI_$(1) :=$(call CFG_LIB_NAME_$(1),rusti)
212216
CFG_LIBRUST_$(1) :=$(call CFG_LIB_NAME_$(1),rust)
213217

218+
EXTRALIB_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),extra)
214219
STDLIB_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),std)
215-
CORELIB_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),core)
216220
LIBRUSTC_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),rustc)
217221
LIBSYNTAX_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),syntax)
218222
LIBFUZZER_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),fuzzer)
219223
LIBRUSTPKG_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),rustpkg)
220224
LIBRUSTDOC_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),rustdoc)
221225
LIBRUSTI_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),rusti)
222226
LIBRUST_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),rust)
227+
EXTRALIB_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),extra)
223228
STDLIB_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),std)
224-
CORELIB_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),core)
225229
LIBRUSTC_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),rustc)
226230
LIBSYNTAX_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),syntax)
227231
LIBFUZZER_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),fuzzer)
@@ -236,19 +240,19 @@ $(foreach target,$(CFG_TARGET_TRIPLES),\
236240
$(eval $(call DEF_LIBS,$(target))))
237241

238242
######################################################################
239-
# Core library variables
243+
# Standard library variables
240244
######################################################################
241245

242-
CORELIB_CRATE := $(S)src/libcore/core.rc
243-
CORELIB_INPUTS := $(wildcard $(addprefix $(S)src/libcore/, \
246+
STDLIB_CRATE := $(S)src/libstd/core.rc
247+
STDLIB_INPUTS := $(wildcard $(addprefix $(S)src/libstd/, \
244248
core.rc *.rs */*.rs */*/*rs */*/*/*rs))
245249

246250
######################################################################
247-
# Standard library variables
251+
# Extra library variables
248252
######################################################################
249253

250-
STDLIB_CRATE := $(S)src/libstd/std.rc
251-
STDLIB_INPUTS := $(wildcard $(addprefix $(S)src/libstd/, \
254+
EXTRALIB_CRATE := $(S)src/libextra/std.rc
255+
EXTRALIB_INPUTS := $(wildcard $(addprefix $(S)src/libextra/, \
252256
std.rc *.rs */*.rs))
253257

254258
######################################################################
@@ -271,7 +275,7 @@ DRIVER_CRATE := $(S)src/driver/driver.rs
271275

272276
# FIXME: x86-ism
273277
LLVM_COMPONENTS=x86 arm mips ipo bitreader bitwriter linker asmparser jit mcjit \
274-
interpreter
278+
interpreter instrumentation
275279

276280
define DEF_LLVM_VARS
277281
# The configure script defines these variables with the target triples
@@ -340,33 +344,33 @@ TROOT$(1)_T_$(2)_H_$(3) = $$(HLIB$(1)_H_$(3))/rustc/$(2)
340344
TBIN$(1)_T_$(2)_H_$(3) = $$(TROOT$(1)_T_$(2)_H_$(3))/bin
341345
TLIB$(1)_T_$(2)_H_$(3) = $$(TROOT$(1)_T_$(2)_H_$(3))/$$(CFG_LIBDIR)
342346

343-
# The name of the core and standard libraries used by rustc
347+
# The name of the standard and extra libraries used by rustc
344348
ifdef CFG_DISABLE_SHAREDSTD
345-
HCORELIB_DEFAULT$(1)_H_$(3) = \
346-
$$(HLIB$(1)_H_$(3))/libcore.rlib
347-
TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
348-
$$(TLIB$(1)_T_$(2)_H_$(3))/libcore.rlib
349-
350349
HSTDLIB_DEFAULT$(1)_H_$(3) = \
351350
$$(HLIB$(1)_H_$(3))/libstd.rlib
352351
TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
353352
$$(TLIB$(1)_T_$(2)_H_$(3))/libstd.rlib
354353

354+
HEXTRALIB_DEFAULT$(1)_H_$(3) = \
355+
$$(HLIB$(1)_H_$(3))/libextra.rlib
356+
TEXTRALIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
357+
$$(TLIB$(1)_T_$(2)_H_$(3))/libextra.rlib
358+
355359
HLIBRUSTC_DEFAULT$(1)_H_$(3) = \
356360
$$(HLIB$(1)_H_$(3))/librustc.rlib
357361
TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3) = \
358362
$$(TLIB$(1)_T_$(2)_H_$(3))/librustc.rlib
359363
else
360-
HCORELIB_DEFAULT$(1)_H_$(3) = \
361-
$$(HLIB$(1)_H_$(3))/$(CFG_CORELIB_$(3))
362-
TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
363-
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_CORELIB_$(2))
364-
365364
HSTDLIB_DEFAULT$(1)_H_$(3) = \
366365
$$(HLIB$(1)_H_$(3))/$(CFG_STDLIB_$(3))
367366
TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
368367
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2))
369368

369+
HEXTRALIB_DEFAULT$(1)_H_$(3) = \
370+
$$(HLIB$(1)_H_$(3))/$(CFG_EXTRALIB_$(3))
371+
TEXTRALIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
372+
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2))
373+
370374
HLIBRUSTC_DEFAULT$(1)_H_$(3) = \
371375
$$(HLIB$(1)_H_$(3))/$(CFG_LIBRUSTC_$(3))
372376
TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3) = \
@@ -378,8 +382,8 @@ HSREQ$(1)_H_$(3) = \
378382
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
379383
$$(HLIB$(1)_H_$(3))/$(CFG_RUNTIME_$(3)) \
380384
$$(HLIB$(1)_H_$(3))/$(CFG_RUSTLLVM_$(3)) \
381-
$$(HCORELIB_DEFAULT$(1)_H_$(3)) \
382385
$$(HSTDLIB_DEFAULT$(1)_H_$(3)) \
386+
$$(HEXTRALIB_DEFAULT$(1)_H_$(3)) \
383387
$$(HLIBSYNTAX_DEFAULT$(1)_H_$(3)) \
384388
$$(HLIBRUSTC_DEFAULT$(1)_H_$(3)) \
385389
$$(MKFILE_DEPS)
@@ -393,8 +397,8 @@ TSREQ$(1)_T_$(2)_H_$(3) = \
393397
# Prerequisites for a working stageN compiler and libraries, for a specific target
394398
SREQ$(1)_T_$(2)_H_$(3) = \
395399
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
396-
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_CORELIB_$(2)) \
397-
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2))
400+
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)) \
401+
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2))
398402

399403
# Prerequisites for a working stageN compiler and libraries, for a specific target
400404
CSREQ$(1)_T_$(2)_H_$(3) = \
@@ -409,8 +413,8 @@ CSREQ$(1)_T_$(2)_H_$(3) = \
409413
$$(HLIB$(1)_H_$(3))/$(CFG_LIBRUSTDOC_$(3)) \
410414
$$(HLIB$(1)_H_$(3))/$(CFG_LIBRUSTI_$(3)) \
411415
$$(HLIB$(1)_H_$(3))/$(CFG_LIBRUST_$(3)) \
412-
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_CORELIB_$(2)) \
413-
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)) \
416+
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)) \
417+
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)) \
414418
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(2)) \
415419
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC_$(2)) \
416420
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBFUZZER_$(2)) \

branches/try2/configure

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,7 @@ opt fast-make 0 "use .gitmodules as timestamp for submodule deps"
376376
opt manage-submodules 1 "let the build manage the git submodules"
377377
opt mingw-cross 0 "cross-compile for win32 using mingw"
378378
opt clang 0 "prefer clang to gcc for building the runtime"
379+
opt ccache 0 "invoke gcc/clang via ccache to reuse object files between builds"
379380
opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
380381
opt pax-flags 0 "apply PaX flags to rustc binaries (required for GRSecurity/PaX-patched kernels)"
381382
valopt prefix "/usr/local" "set installation prefix"
@@ -421,6 +422,7 @@ else
421422
fi
422423

423424
probe CFG_CLANG clang++
425+
probe CFG_CCACHE ccache
424426
probe CFG_GCC gcc
425427
probe CFG_LD ld
426428
probe CFG_VALGRIND valgrind
@@ -555,11 +557,11 @@ then
555557
CFG_CLANG_VERSION=$("$CFG_CLANG" \
556558
--version \
557559
| grep version \
558-
| sed 's/.*\(version .*\)/\1/' \
560+
| sed 's/.*\(version .*\)/\1/; s/.*based on \(LLVM .*\))/\1/' \
559561
| cut -d ' ' -f 2)
560562

561563
case $CFG_CLANG_VERSION in
562-
(3.0svn | 3.0 | 3.1* | 3.2* | 3.3* | 4.0* | 4.1* | 4.2*)
564+
(3.0svn | 3.0 | 3.1* | 3.2* | 3.3*)
563565
step_msg "found ok version of CLANG: $CFG_CLANG_VERSION"
564566
CFG_C_COMPILER="clang"
565567
;;
@@ -571,6 +573,16 @@ else
571573
CFG_C_COMPILER="gcc"
572574
fi
573575

576+
if [ ! -z "$CFG_ENABLE_CCACHE" ]
577+
then
578+
if [ -z "$CFG_CCACHE" ]
579+
then
580+
err "ccache requested but not found"
581+
fi
582+
583+
CFG_C_COMPILER="ccache $CFG_C_COMPILER"
584+
fi
585+
574586
# a little post-processing of various config values
575587

576588
CFG_PREFIX=${CFG_PREFIX%/}
@@ -643,7 +655,7 @@ fi
643655
step_msg "making directories"
644656

645657
for i in \
646-
doc doc/core doc/std \
658+
doc doc/std doc/extra \
647659
dl tmp
648660
do
649661
make_dir $i
@@ -665,12 +677,16 @@ make_dir rt
665677
for t in $CFG_TARGET_TRIPLES
666678
do
667679
make_dir rt/$t
668-
for i in \
669-
isaac linenoise sync test \
670-
arch/i386 arch/x86_64 arch/arm arch/mips \
671-
libuv libuv/src/ares libuv/src/eio libuv/src/ev
680+
for s in 0 1 2 3
672681
do
673-
make_dir rt/$t/$i
682+
make_dir rt/$t/stage$s
683+
for i in \
684+
isaac linenoise sync test \
685+
arch/i386 arch/x86_64 arch/arm arch/mips \
686+
libuv libuv/src/ares libuv/src/eio libuv/src/ev
687+
do
688+
make_dir rt/$t/stage$s/$i
689+
done
674690
done
675691
done
676692

@@ -821,20 +837,35 @@ do
821837
--enable-bindings=none --disable-threads \
822838
--disable-pthreads"
823839

824-
if [ "$CFG_C_COMPILER" = "clang" ]
825-
then
840+
case "$CFG_C_COMPILER" in
841+
("ccache clang")
842+
LLVM_CXX_32="ccache clang++ -m32 -Qunused-arguments"
843+
LLVM_CC_32="ccache clang -m32 -Qunused-arguments"
844+
845+
LLVM_CXX_64="ccache clang++ -Qunused-arguments"
846+
LLVM_CC_64="ccache clang -Qunused-arguments"
847+
;;
848+
("clang")
826849
LLVM_CXX_32="clang++ -m32"
827850
LLVM_CC_32="clang -m32"
828851

829852
LLVM_CXX_64="clang++"
830853
LLVM_CC_64="clang"
831-
else
854+
;;
855+
("ccache gcc")
856+
LLVM_CXX_32="ccache g++ -m32"
857+
LLVM_CC_32="ccache gcc -m32"
858+
859+
LLVM_CXX_64="ccache g++"
860+
LLVM_CC_64="ccache gcc"
861+
;;
862+
("gcc")
832863
LLVM_CXX_32="g++ -m32"
833864
LLVM_CC_32="gcc -m32"
834865

835866
LLVM_CXX_64="g++"
836867
LLVM_CC_64="gcc"
837-
fi
868+
esac
838869

839870
LLVM_CFLAGS_32="-m32"
840871
LLVM_CXXFLAGS_32="-m32"
@@ -931,6 +962,14 @@ then
931962
putvar CFG_PAXCTL
932963
fi
933964

965+
# Avoid spurious warnings from clang by feeding it original source on
966+
# ccache-miss rather than preprocessed input.
967+
if [ ! -z "$CFG_ENABLE_CCACHE" ] && [ ! -z "$CFG_ENABLE_CLANG" ]
968+
then
969+
CFG_CCACHE_CPP2=1
970+
putvar CFG_CCACHE_CPP2
971+
fi
972+
934973
if [ ! -z $BAD_PANDOC ]
935974
then
936975
CFG_PANDOC=

0 commit comments

Comments
 (0)