Skip to content

Commit 13b3498

Browse files
committed
---
yaml --- r: 207559 b: refs/heads/tmp c: 541fe5f h: refs/heads/master i: 207557: f2dc0d1 207555: bd1e959 207551: d4998e6 v: v3
1 parent 7612189 commit 13b3498

File tree

141 files changed

+3416
-1814
lines changed

Some content is hidden

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

141 files changed

+3416
-1814
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
3232
refs/heads/beta: cd7d89af9169885642d43597302af69f842bbd78
3333
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3434
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
35-
refs/heads/tmp: d776191d4a84dd13080b3efdb449e4c036eb3f7e
35+
refs/heads/tmp: 541fe5faf876121df036f089d594fd30e01b0403
3636
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3737
refs/tags/homu-tmp: 704c2ee730d2e948d11a2edd77e3f35de8329a6e
3838
refs/heads/gate: 97c84447b65164731087ea82685580cc81424412

branches/tmp/Makefile.in

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,3 @@ ifneq ($(strip $(findstring TAGS.emacs,$(MAKECMDGOALS)) \
266266
CFG_INFO := $(info cfg: including ctags rules)
267267
include $(CFG_SRC_DIR)mk/ctags.mk
268268
endif
269-
270-
# Find all of the .d files and include them to add information about
271-
# header file dependencies.
272-
ALL_DEP_FILES := $(ALL_OBJ_FILES:%.o=%.d)
273-
-include $(ALL_DEP_FILES)

branches/tmp/RELEASES.md

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Language
2323
* Digits of binary and octal literals are [lexed more eagerly][lex] to
2424
improve error messages and macro behavior. For example, `0b1234` is
2525
now lexed as `0b1234` instead of two tokens, `0b1` and `234`.
26-
* Trait bounds [are always invariant][inv], eleminating the need for
26+
* Trait bounds [are always invariant][inv], eliminating the need for
2727
the `PhantomFn` and `MarkerTrait` lang items, which have been
2828
removed.
2929
* ["-" is no longer a valid character in crate names][cr], the `extern crate
@@ -162,7 +162,7 @@ Misc
162162

163163

164164
Version 1.0.0-alpha.2 (February 2015)
165-
-------------------------------------
165+
=====================================
166166

167167
* ~1300 changes, numerous bugfixes
168168

@@ -260,8 +260,9 @@ Version 1.0.0-alpha.2 (February 2015)
260260
[ufcs-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0132-ufcs.md
261261
[un]: https://github.com/rust-lang/rust/pull/22256
262262

263+
263264
Version 1.0.0-alpha (January 2015)
264-
----------------------------------
265+
==================================
265266

266267
* ~2400 changes, numerous bugfixes
267268

@@ -446,8 +447,9 @@ Version 1.0.0-alpha (January 2015)
446447
[trpl]: http://doc.rust-lang.org/book/index.html
447448
[rbe]: http://rustbyexample.com/
448449

450+
449451
Version 0.12.0 (October 2014)
450-
-----------------------------
452+
=============================
451453

452454
* ~1900 changes, numerous bugfixes
453455

@@ -568,8 +570,9 @@ Version 0.12.0 (October 2014)
568570
* Official Rust binaries on Linux are more compatible with older
569571
kernels and distributions, built on CentOS 5.10.
570572

573+
571574
Version 0.11.0 (July 2014)
572-
-------------------------
575+
==========================
573576

574577
* ~1700 changes, numerous bugfixes
575578

@@ -700,8 +703,9 @@ Version 0.11.0 (July 2014)
700703
* Error message related to non-exhaustive match expressions have been
701704
greatly improved.
702705

706+
703707
Version 0.10 (April 2014)
704-
-------------------------
708+
=========================
705709

706710
* ~1500 changes, numerous bugfixes
707711

@@ -866,8 +870,9 @@ Version 0.10 (April 2014)
866870
* search works across crates that have been rendered to the same output
867871
directory.
868872

873+
869874
Version 0.9 (January 2014)
870-
--------------------------
875+
==========================
871876

872877
* ~1800 changes, numerous bugfixes
873878

@@ -1031,8 +1036,9 @@ Version 0.9 (January 2014)
10311036
* `rustc` adds a `--dep-info` flag for communicating dependencies to
10321037
build tools.
10331038

1039+
10341040
Version 0.8 (September 2013)
1035-
--------------------------
1041+
============================
10361042

10371043
* ~2200 changes, numerous bugfixes
10381044

@@ -1186,8 +1192,9 @@ Version 0.8 (September 2013)
11861192
* A new documentation backend, rustdoc_ng, is available for use. It is
11871193
still invoked through the normal `rustdoc` command.
11881194

1195+
11891196
Version 0.7 (July 2013)
1190-
-----------------------
1197+
=======================
11911198

11921199
* ~2000 changes, numerous bugfixes
11931200

@@ -1302,8 +1309,9 @@ Version 0.7 (July 2013)
13021309
* Various improvements to rustdoc.
13031310
* Improvements to rustpkg (see the detailed release notes).
13041311

1312+
13051313
Version 0.6 (April 2013)
1306-
------------------------
1314+
========================
13071315

13081316
* ~2100 changes, numerous bugfixes
13091317

@@ -1404,8 +1412,9 @@ Version 0.6 (April 2013)
14041412
* Rust code may be embedded in foreign code under limited circumstances
14051413
* Inline assembler supported by new asm!() syntax extension.
14061414

1415+
14071416
Version 0.5 (December 2012)
1408-
---------------------------
1417+
===========================
14091418

14101419
* ~900 changes, numerous bugfixes
14111420

@@ -1460,8 +1469,9 @@ Version 0.5 (December 2012)
14601469
* Added a preliminary REPL, `rusti`
14611470
* License changed from MIT to dual MIT/APL2
14621471

1472+
14631473
Version 0.4 (October 2012)
1464-
--------------------------
1474+
==========================
14651475

14661476
* ~2000 changes, numerous bugfixes
14671477

@@ -1515,8 +1525,9 @@ Version 0.4 (October 2012)
15151525
Rust-based (visitor) code
15161526
* All hash functions and tables converted to secure, randomized SipHash
15171527

1528+
15181529
Version 0.3 (July 2012)
1519-
------------------------
1530+
========================
15201531

15211532
* ~1900 changes, numerous bugfixes
15221533

@@ -1573,8 +1584,9 @@ Version 0.3 (July 2012)
15731584
* Tool improvements
15741585
* Cargo automatically resolves dependencies
15751586

1587+
15761588
Version 0.2 (March 2012)
1577-
-------------------------
1589+
=========================
15781590

15791591
* >1500 changes, numerous bugfixes
15801592
@@ -1613,8 +1625,9 @@ Version 0.2 (March 2012)
16131625
* Merged per-platform std::{os*, fs*} to core::{libc, os}
16141626
* Extensive cleanup, regularization in libstd, libcore
16151627

1628+
16161629
Version 0.1 (January 20, 2012)
1617-
-------------------------------
1630+
===============================
16181631

16191632
* Most language features work, including:
16201633
* Unique pointers, unique closures, move semantics

branches/tmp/configure

Lines changed: 98 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ CFG_TARGET=$(to_llvm_triple $CFG_TARGET)
610610
# there's no rpath. This is where the build system itself puts libraries;
611611
# --libdir is used to configure the installation directory.
612612
# FIXME: This needs to parameterized over target triples. Do it in platform.mk
613-
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ]
613+
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] || [ "$CFG_OSTYPE" = "pc-windows-msvc" ]
614614
then
615615
CFG_LIBDIR_RELATIVE=bin
616616
else
@@ -628,7 +628,8 @@ esac
628628

629629
CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
630630

631-
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] && [ "$CFG_LIBDIR_RELATIVE" != "bin" ]; then
631+
if ( [ "$CFG_OSTYPE" = "pc-windows-gnu" ] || [ "$CFG_OSTYPE" = "pc-windows-msvc" ] ) \
632+
&& [ "$CFG_LIBDIR_RELATIVE" != "bin" ]; then
632633
err "libdir on windows should be set to 'bin'"
633634
fi
634635

@@ -817,7 +818,7 @@ then
817818
fi
818819

819820
BIN_SUF=
820-
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ]
821+
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] || [ "$CFG_OSTYPE" = "pc-windows-msvc" ]
821822
then
822823
BIN_SUF=.exe
823824
fi
@@ -1097,6 +1098,65 @@ do
10971098
err "musl libc $CFG_MUSL_ROOT/lib/libc.a not found"
10981099
fi
10991100
;;
1101+
1102+
x86_64-*-msvc)
1103+
# Currently the build system is not configured to build jemalloc
1104+
# with MSVC, so we omit this optional dependency.
1105+
step_msg "targeting MSVC, disabling jemalloc"
1106+
CFG_DISABLE_JEMALLOC=1
1107+
putvar CFG_DISABLE_JEMALLOC
1108+
1109+
# There are some MSYS python builds which will auto-translate
1110+
# windows-style paths to MSYS-style paths in Python itself.
1111+
# Unfortunately this breaks LLVM's build system as somewhere along
1112+
# the line LLVM prints a path into a file from Python and then CMake
1113+
# later tries to interpret that path. If Python prints a MSYS path
1114+
# and CMake tries to use it as a Windows path, you're gonna have a
1115+
# Bad Time.
1116+
#
1117+
# Consequently here we try to detect when that happens and print an
1118+
# error if it does.
1119+
if $CFG_PYTHON -c 'import sys; print sys.argv[1]' `pwd` | grep '^/'
1120+
then
1121+
err "python is silently translating windows paths to MSYS paths \
1122+
and the build will fail if this python is used.\n\n \
1123+
Either an official python install must be used or an \
1124+
alternative python package in MinGW must be used."
1125+
fi
1126+
1127+
# MSVC requires cmake because that's how we're going to build LLVM
1128+
probe_need CFG_CMAKE cmake
1129+
1130+
# Use the REG program to figure out where VS is installed
1131+
# We need to figure out where cl.exe and link.exe are, so we do some
1132+
# munging and some probing here. We also look for the default
1133+
# INCLUDE and LIB variables for MSVC so we can set those in the
1134+
# build system as well.
1135+
install=$(reg QUERY \
1136+
'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0' \
1137+
-v InstallDir)
1138+
need_ok "couldn't find visual studio install root"
1139+
CFG_MSVC_ROOT=$(echo "$install" | grep InstallDir | sed 's/.*REG_SZ[ ]*//')
1140+
CFG_MSVC_ROOT=$(dirname "$CFG_MSVC_ROOT")
1141+
CFG_MSVC_ROOT=$(dirname "$CFG_MSVC_ROOT")
1142+
CFG_MSVC_CL="${CFG_MSVC_ROOT}/VC/bin/amd64/cl.exe"
1143+
CFG_MSVC_LIB="${CFG_MSVC_ROOT}/VC/bin/amd64/lib.exe"
1144+
CFG_MSVC_LINK="${CFG_MSVC_ROOT}/VC/bin/amd64/link.exe"
1145+
1146+
vcvarsall="${CFG_MSVC_ROOT}/VC/vcvarsall.bat"
1147+
CFG_MSVC_INCLUDE_PATH=$(cmd /c "\"$vcvarsall\" amd64 && cmd /c echo %INCLUDE%")
1148+
need_ok "failed to learn about MSVC's INCLUDE"
1149+
CFG_MSVC_LIB_PATH=$(cmd /c "\"$vcvarsall\" amd64 && cmd /c echo %LIB%")
1150+
need_ok "failed to learn about MSVC's LIB"
1151+
1152+
putvar CFG_MSVC_ROOT
1153+
putvar CFG_MSVC_CL
1154+
putvar CFG_MSVC_LIB
1155+
putvar CFG_MSVC_LINK
1156+
putvar CFG_MSVC_INCLUDE_PATH
1157+
putvar CFG_MSVC_LIB_PATH
1158+
;;
1159+
11001160
*)
11011161
;;
11021162
esac
@@ -1138,6 +1198,7 @@ do
11381198
do
11391199
make_dir $t/rt/stage$s
11401200
make_dir $t/rt/jemalloc
1201+
make_dir $t/rt/compiler-rt
11411202
for i in \
11421203
isaac sync test \
11431204
arch/i386 arch/x86_64 arch/arm arch/aarch64 arch/mips arch/powerpc
@@ -1301,7 +1362,39 @@ do
13011362
done
13021363
fi
13031364

1304-
if [ ${do_reconfigure} -ne 0 ]
1365+
use_cmake=0
1366+
case "$t" in
1367+
(*-msvc)
1368+
use_cmake=1
1369+
;;
1370+
esac
1371+
1372+
if [ ${do_reconfigure} -ne 0 ] && [ ${use_cmake} -ne 0 ]
1373+
then
1374+
msg "configuring LLVM for $t with cmake"
1375+
1376+
CMAKE_ARGS="-DLLVM_INCLUDE_TESTS=OFF"
1377+
if [ ! -z "$CFG_DISABLE_OPTIMIZE_LLVM" ]; then
1378+
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_BUILD_TYPE=Debug"
1379+
else
1380+
CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release"
1381+
fi
1382+
if [ -z "$CFG_ENABLE_LLVM_ASSERTIONS" ]
1383+
then
1384+
CMAKE_ARGS="$CMAKE_ARGS -DLLVM_ENABLE_ASSERTIONS=OFF"
1385+
else
1386+
CMAKE_ARGS="$CMAKE_ARGS -DLLVM_ENABLE_ASSERTIONS=ON"
1387+
fi
1388+
1389+
msg "configuring LLVM with:"
1390+
msg "$CMAKE_ARGS"
1391+
(cd $LLVM_BUILD_DIR && "$CFG_CMAKE" $CFG_LLVM_SRC_DIR \
1392+
-G "Visual Studio 12 2013 Win64" \
1393+
$CMAKE_ARGS)
1394+
need_ok "LLVM cmake configure failed"
1395+
fi
1396+
1397+
if [ ${do_reconfigure} -ne 0 ] && [ ${use_cmake} -eq 0 ]
13051398
then
13061399
# LLVM's configure doesn't recognize the new Windows triples yet
13071400
gnu_t=$(to_gnu_triple $t)
@@ -1325,7 +1418,7 @@ do
13251418
# (llvm's configure tries to find pthread first, so we have to disable it explicitly.)
13261419
# Also note that pthreads works badly on mingw-w64 systems: #8996
13271420
case "$CFG_BUILD" in
1328-
(*-windows-*)
1421+
(*-windows-gnu)
13291422
LLVM_OPTS="$LLVM_OPTS --disable-pthreads"
13301423
;;
13311424
esac
@@ -1509,11 +1602,6 @@ do
15091602
putvar $CFG_LLVM_INST_DIR
15101603
done
15111604

1512-
# Munge any paths that appear in config.mk back to posix-y
1513-
cp config.tmp config.tmp.bak
1514-
sed -e 's@ \([a-zA-Z]\):[/\\]@ /\1/@g;' <config.tmp.bak >config.tmp
1515-
rm -f config.tmp.bak
1516-
15171605
msg
15181606
copy_if_changed ${CFG_SRC_DIR}Makefile.in ./Makefile
15191607
move_if_changed config.tmp config.mk

branches/tmp/mk/cfg/aarch64-apple-ios.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ ifneq ($(findstring darwin,$(CFG_OSTYPE)),)
55
CFG_IOS_SDK_aarch64-apple-ios := $(shell xcrun --show-sdk-path -sdk iphoneos 2>/dev/null)
66
CFG_IOS_SDK_FLAGS_aarch64-apple-ios := -target aarch64-apple-darwin -isysroot $(CFG_IOS_SDK_aarch64-apple-ios) -mios-version-min=7.0 -arch arm64
77
CC_aarch64-apple-ios = $(shell xcrun -find -sdk iphoneos clang)
8+
LINK_aarch64-apple-ios = $(shell xcrun -find -sdk iphoneos clang)
89
CXX_aarch64-apple-ios = $(shell xcrun -find -sdk iphoneos clang++)
910
CPP_aarch64-apple-ios = $(shell xcrun -find -sdk iphoneos clang++)
1011
AR_aarch64-apple-ios = $(shell xcrun -find -sdk iphoneos ar)

branches/tmp/mk/cfg/aarch64-linux-android.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# aarch64-linux-android configuration
22
# CROSS_PREFIX_aarch64-linux-android-
33
CC_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc
4+
LINK_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc
45
CXX_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-g++
56
CPP_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc -E
67
AR_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-ar

branches/tmp/mk/cfg/aarch64-unknown-linux-gnu.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# aarch64-unknown-linux-gnu configuration
22
CROSS_PREFIX_aarch64-unknown-linux-gnu=aarch64-linux-gnu-
33
CC_aarch64-unknown-linux-gnu=gcc
4+
LINK_aarch64-unknown-linux-gnu=gcc
45
CXX_aarch64-unknown-linux-gnu=g++
56
CPP_aarch64-unknown-linux-gnu=gcc -E
67
AR_aarch64-unknown-linux-gnu=ar

branches/tmp/mk/cfg/arm-linux-androideabi.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# arm-linux-androideabi configuration
2+
LINK_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc
23
CC_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc
34
CXX_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-g++
45
CPP_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc -E

branches/tmp/mk/cfg/x86_64-pc-windows-gnu.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# x86_64-pc-windows-gnu configuration
22
CROSS_PREFIX_x86_64-pc-windows-gnu=x86_64-w64-mingw32-
33
CC_x86_64-pc-windows-gnu=gcc
4+
LINK_x86_64-pc-windows-gnu=gcc
45
CXX_x86_64-pc-windows-gnu=g++
56
CPP_x86_64-pc-windows-gnu=gcc -E
67
AR_x86_64-pc-windows-gnu=ar

0 commit comments

Comments
 (0)