newer rust

This commit is contained in:
Cody P Schafer
2014-11-24 15:21:33 -05:00
parent e8c8c10e5e
commit 1ff2abfa1a
10 changed files with 186 additions and 51 deletions
@@ -1,7 +1,7 @@
From a251fa8520cca2da2f7b602cd7833d9b60b51e22 Mon Sep 17 00:00:00 2001
From 7e1c5942259b06bd96ff033667a38bdf1f9b2253 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Sat, 15 Nov 2014 20:12:48 -0500
Subject: [PATCH 1/8] platform.mk: avoid choking on i586
Subject: [PATCH 1/9] platform.mk: avoid choking on i586
---
mk/platform.mk | 4 +++-
@@ -1,7 +1,7 @@
From c2f0af1b2b4d10abd740cd8928473c40813519af Mon Sep 17 00:00:00 2001
From 895c63ef1aa7dc90f74d6b269658281097c32113 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Mon, 17 Nov 2014 16:14:15 -0500
Subject: [PATCH 2/8] mk/rt/compiler_rt: pass LDFLAGS from
Subject: [PATCH 2/9] mk/rt/compiler_rt: pass LDFLAGS from
CFG_GCCISH_LINK_FLAGS
---
@@ -9,7 +9,7 @@ Subject: [PATCH 2/8] mk/rt/compiler_rt: pass LDFLAGS from
1 file changed, 1 insertion(+)
diff --git a/mk/rt.mk b/mk/rt.mk
index a7d6a6e..6eaff9a 100644
index 38aec83..fefb7da 100644
--- a/mk/rt.mk
+++ b/mk/rt.mk
@@ -231,6 +231,7 @@ $$(COMPRT_LIB_$(1)): $$(COMPRT_DEPS) $$(MKFILE_DEPS)
@@ -1,7 +1,7 @@
From 726a8fb3a7d54d0a398f91b6477934713188db43 Mon Sep 17 00:00:00 2001
From 13a5bb5a40462e8a59c838252f932422e405f773 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Tue, 18 Nov 2014 01:40:21 -0500
Subject: [PATCH 3/8] Target: add default target.json path:
Subject: [PATCH 3/9] Target: add default target.json path:
$libdir/rust/targets
---
@@ -1,7 +1,7 @@
From 28099e9b7b919369c8bb817d240056928542e9d8 Mon Sep 17 00:00:00 2001
From d5531e29444ad7dd03544e4ece0dc30a10313ad0 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Tue, 18 Nov 2014 14:52:56 -0500
Subject: [PATCH 4/8] mk: for stage0, use RUSTFLAGS to override target libs dir
Subject: [PATCH 4/9] mk: for stage0, use RUSTFLAGS to override target libs dir
Setting HLIB specially for stage0 (and even more specially for windows)
also affects the location we place TLIB. To keep the TLIBs we build in
@@ -12,10 +12,10 @@ stage0-rustc at the appropriate location.
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/mk/main.mk b/mk/main.mk
index 7b42c5b..1f33c0b 100644
index a9a99f1..d81a804 100644
--- a/mk/main.mk
+++ b/mk/main.mk
@@ -332,21 +332,22 @@ define SREQ
@@ -335,21 +335,22 @@ define SREQ
# Destinations of artifacts for the host compiler
HROOT$(1)_H_$(3) = $(3)/stage$(1)
HBIN$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/bin
@@ -46,7 +46,7 @@ index 7b42c5b..1f33c0b 100644
# Preqrequisites for using the stageN compiler
ifeq ($(1),0)
HSREQ$(1)_H_$(3) = $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3))
@@ -456,6 +457,7 @@ STAGE$(1)_T_$(2)_H_$(3) := \
@@ -459,6 +460,7 @@ STAGE$(1)_T_$(2)_H_$(3) := \
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
--cfg $$(CFGFLAG$(1)_T_$(2)_H_$(3)) \
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
@@ -54,7 +54,7 @@ index 7b42c5b..1f33c0b 100644
$$(RUSTC_FLAGS_$(2))
PERF_STAGE$(1)_T_$(2)_H_$(3) := \
@@ -464,6 +466,7 @@ PERF_STAGE$(1)_T_$(2)_H_$(3) := \
@@ -467,6 +469,7 @@ PERF_STAGE$(1)_T_$(2)_H_$(3) := \
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
--cfg $$(CFGFLAG$(1)_T_$(2)_H_$(3)) \
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
@@ -1,7 +1,7 @@
From 12eebaa75080cbd9cd868e2911fbef35ae490e60 Mon Sep 17 00:00:00 2001
From e56ab96d8a0fd3d75aef114cbb384047532f73f1 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Tue, 18 Nov 2014 13:48:14 -0500
Subject: [PATCH 5/8] mk: add missing CFG_LIBDIR_RELATIVE
Subject: [PATCH 5/9] mk: add missing CFG_LIBDIR_RELATIVE
---
mk/grammar.mk | 4 ++--
@@ -1,7 +1,7 @@
From 37badf3a17f80c03e751390399f6e38a6dbb09d7 Mon Sep 17 00:00:00 2001
From b371c603db7f0c5c8b4b856f3c0e3170047d4a39 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Mon, 24 Nov 2014 13:10:15 -0500
Subject: [PATCH 6/8] configure: support --bindir, and extend libdir to
Subject: [PATCH 6/9] configure: support --bindir, and extend libdir to
non-blessed dirs
Adds --bindir, and:
@@ -24,7 +24,7 @@ Note that this adds the requirement of the 'realpath' tool
9 files changed, 85 insertions(+), 64 deletions(-)
diff --git a/configure b/configure
index 8a6ba86..78c5aa7 100755
index 5ac3982..4176631 100755
--- a/configure
+++ b/configure
@@ -340,6 +340,7 @@ need_cmd date
@@ -35,8 +35,8 @@ index 8a6ba86..78c5aa7 100755
msg "inspecting environment"
@@ -564,12 +565,20 @@ else
CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
@@ -568,12 +569,20 @@ if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] && [ "$CFG_LIBDIR_RELATIVE" != "bin" ];
err "libdir on windows should be set to 'bin'"
fi
+CFG_BINDIR_RELATIVE=bin
@@ -56,7 +56,7 @@ index 8a6ba86..78c5aa7 100755
# Validate Options
step_msg "validating $CFG_SELF args"
validate_opt
@@ -1335,6 +1344,7 @@ putvar CFG_PREFIX
@@ -1334,6 +1343,7 @@ putvar CFG_PREFIX
putvar CFG_HOST
putvar CFG_TARGET
putvar CFG_LIBDIR_RELATIVE
@@ -106,10 +106,10 @@ index 88b451f..0fba6ee 100644
$(Q)rm -R tmp/dist
diff --git a/mk/main.mk b/mk/main.mk
index 1f33c0b..2023195 100644
index d81a804..128f956 100644
--- a/mk/main.mk
+++ b/mk/main.mk
@@ -315,7 +315,9 @@ export CFG_BUILD
@@ -318,7 +318,9 @@ export CFG_BUILD
export CFG_LLVM_ROOT
export CFG_PREFIX
export CFG_LIBDIR
@@ -119,7 +119,7 @@ index 1f33c0b..2023195 100644
export CFG_DISABLE_INJECT_STD_VERSION
######################################################################
@@ -331,7 +333,16 @@ define SREQ
@@ -334,7 +336,16 @@ define SREQ
# Destinations of artifacts for the host compiler
HROOT$(1)_H_$(3) = $(3)/stage$(1)
@@ -1,39 +1,38 @@
From fc60bd327ea3cd9909d1028dd287330127314a8a Mon Sep 17 00:00:00 2001
From b95d0cc6e35da533920c39cbcf6acc7fb1b1bec3 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Mon, 24 Nov 2014 13:20:57 -0500
Subject: [PATCH 7/8] XXX: remove conflicting realpath hack
Subject: [PATCH 7/9] XXX: remove conflicting realpath hack
---
configure | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
configure | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/configure b/configure
index 78c5aa7..5a32887 100755
index 4176631..17e0007 100755
--- a/configure
+++ b/configure
@@ -551,18 +551,12 @@ CFG_LIBDIR_RELATIVE=lib
@@ -550,20 +550,8 @@ CFG_TARGET=$(to_llvm_triple $CFG_TARGET)
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ]
then
CFG_LIBDIR_RELATIVE=bin
- CFG_LIBDIR="${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}"
-else
- valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries (ignored on windows platform)"
+fi
- CFG_LIBDIR_RELATIVE=lib
-fi
-
-valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries (do not set it on windows platform)"
-
-case "$CFG_LIBDIR" in
- "$CFG_PREFIX"/*) CAT_INC=2;;
- "$CFG_PREFIX"*) CAT_INC=1;;
- *)
- err "libdir must begin with the prefix. Use --prefix to set it accordingly.";;
-esac
- case "$CFG_LIBDIR" in
- "$CFG_PREFIX"/*) CAT_INC=2;;
- "$CFG_PREFIX"*) CAT_INC=1;;
- *)
- err "libdir must begin with the prefix. Use --prefix to set it accordingly.";;
- esac
+valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries (do not set it on windows platform)"
-CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
+valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries"
- CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
+if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] && [ "$CFG_LIBDIR_RELATIVE" != "bin" ]; then
+ err "libdir on windows should be set to 'bin'"
fi
CFG_BINDIR_RELATIVE=bin
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] && [ "$CFG_LIBDIR_RELATIVE" != "bin" ]; then
err "libdir on windows should be set to 'bin'"
--
2.1.3
@@ -1,19 +1,19 @@
From 10b67857441bb3430324877bc5e133021c35ac4a Mon Sep 17 00:00:00 2001
From c1a1dd39f53cb79e766699198e05e13ba5d588bc Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Mon, 24 Nov 2014 13:22:43 -0500
Subject: [PATCH 8/8] XXX: configure: unneeded windows check
Subject: [PATCH 8/9] XXX: configure: unneeded windows check
---
configure | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 5a32887..f31d871 100755
index 17e0007..4baa18a 100755
--- a/configure
+++ b/configure
@@ -555,8 +555,8 @@ fi
@@ -553,8 +553,8 @@ then
valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries (do not set it on windows platform)"
valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries"
-if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] && [ "$CFG_LIBDIR_RELATIVE" != "bin" ]; then
- err "libdir on windows should be set to 'bin'"
@@ -0,0 +1,122 @@
From 7bd5c6edc254de42b83113f000dcaaaac653d332 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Mon, 24 Nov 2014 13:54:42 -0500
Subject: [PATCH 9/9] Parallelize submake invocations
---
mk/clean.mk | 2 +-
mk/install.mk | 8 ++++----
mk/llvm.mk | 4 ++--
mk/rt.mk | 6 +++---
mk/util.mk | 2 ++
5 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/mk/clean.mk b/mk/clean.mk
index 97c823c..da99763 100644
--- a/mk/clean.mk
+++ b/mk/clean.mk
@@ -120,7 +120,7 @@ $(foreach host, $(CFG_HOST), \
define DEF_CLEAN_LLVM_HOST
ifeq ($(CFG_LLVM_ROOT),)
clean-llvm$(1):
- $$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) clean
+ $$(Q)$$(P)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) clean
else
clean-llvm$(1): ;
diff --git a/mk/install.mk b/mk/install.mk
index 0fba6ee..72b799c 100644
--- a/mk/install.mk
+++ b/mk/install.mk
@@ -17,9 +17,9 @@ endif
install:
ifeq (root user, $(USER) $(patsubst %,user,$(SUDO_USER)))
# Build the dist as the original user
- $(Q)sudo -u "$$SUDO_USER" $(MAKE) prepare_install
+ $(Q)$(P)sudo -u "$$SUDO_USER" $(MAKE) prepare_install
else
- $(Q)$(MAKE) prepare_install
+ $(Q)$(P)$(MAKE) prepare_install
endif
$(Q)cd tmp/empty_dir && sh ../../tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --prefix="$(DESTDIR)$(CFG_PREFIX)" --libdir="$(DESTDIR)$(CFG_LIBDIR)" --mandir="$(DESTDIR)$(CFG_MANDIR)" --bindir="$(DESTDIR)$(CFG_BINDIR)" "$(MAYBE_DISABLE_VERIFY)"
# Remove tmp files because it's a decent amount of disk space
@@ -30,9 +30,9 @@ prepare_install: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir
uninstall:
ifeq (root user, $(USER) $(patsubst %,user,$(SUDO_USER)))
# Build the dist as the original user
- $(Q)sudo -u "$$SUDO_USER" $(MAKE) prepare_uninstall
+ $(Q)$(P)sudo -u "$$SUDO_USER" $(MAKE) prepare_uninstall
else
- $(Q)$(MAKE) prepare_uninstall
+ $(Q)$(P)$(MAKE) prepare_uninstall
endif
$(Q)cd tmp/empty_dir && sh ../../tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --uninstall --prefix="$(DESTDIR)$(CFG_PREFIX)" --libdir="$(DESTDIR)$(CFG_LIBDIR)" --mandir="$(DESTDIR)$(CFG_MANDIR)" --bindir="$(DESTDIR)$(CFG_BINDIR)"
# Remove tmp files because it's a decent amount of disk space
diff --git a/mk/llvm.mk b/mk/llvm.mk
index bce4390..f0f3892 100644
--- a/mk/llvm.mk
+++ b/mk/llvm.mk
@@ -28,7 +28,7 @@ LLVM_STAMP_$(1) = $$(CFG_LLVM_BUILD_DIR_$(1))/llvm-auto-clean-stamp
$$(LLVM_CONFIG_$(1)): $$(LLVM_DEPS) $$(LLVM_STAMP_$(1))
@$$(call E, make: llvm)
- $$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) $$(CFG_LLVM_BUILD_ENV_$(1)) ONLY_TOOLS="$$(LLVM_TOOLS)"
+ $$(Q)$$(P)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) $$(CFG_LLVM_BUILD_ENV_$(1)) ONLY_TOOLS="$$(LLVM_TOOLS)"
$$(Q)touch $$(LLVM_CONFIG_$(1))
endif
@@ -38,7 +38,7 @@ endif
# the stamp in the source dir.
$$(LLVM_STAMP_$(1)): $(S)src/rustllvm/llvm-auto-clean-trigger
@$$(call E, make: cleaning llvm)
- $(Q)$(MAKE) clean-llvm$(1)
+ $$(Q)$$(P)$$(MAKE) clean-llvm$(1)
@$$(call E, make: done cleaning llvm)
touch $$@
diff --git a/mk/rt.mk b/mk/rt.mk
index fefb7da..43c4b25 100644
--- a/mk/rt.mk
+++ b/mk/rt.mk
@@ -182,7 +182,7 @@ $$(JEMALLOC_LOCAL_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
RANLIB="$$(AR_$(1)) s" \
CPPFLAGS="-I $(S)src/rt/" \
EXTRA_CFLAGS="-g1"
- $$(Q)$$(MAKE) -C "$$(JEMALLOC_BUILD_DIR_$(1))" build_lib_static
+ $$(Q)$$(P)$$(MAKE) -C "$$(JEMALLOC_BUILD_DIR_$(1))" build_lib_static
ifeq ($$(CFG_DISABLE_JEMALLOC),)
RUSTFLAGS_alloc := --cfg jemalloc
@@ -224,7 +224,7 @@ COMPRT_BUILD_DIR_$(1) := $$(RT_OUTPUT_DIR_$(1))/compiler-rt
$$(COMPRT_LIB_$(1)): $$(COMPRT_DEPS) $$(MKFILE_DEPS)
@$$(call E, make: compiler-rt)
- $$(Q)$$(MAKE) -C "$(S)src/compiler-rt" \
+ $$(Q)$$(P)$$(MAKE) -C "$(S)src/compiler-rt" \
ProjSrcRoot="$(S)src/compiler-rt" \
ProjObjRoot="$$(abspath $$(COMPRT_BUILD_DIR_$(1)))" \
CC="$$(CC_$(1))" \
@@ -302,7 +302,7 @@ $$(BACKTRACE_BUILD_DIR_$(1))/Makefile: $$(BACKTRACE_DEPS) $$(MKFILE_DEPS)
$$(BACKTRACE_LIB_$(1)): $$(BACKTRACE_BUILD_DIR_$(1))/Makefile $$(MKFILE_DEPS)
@$$(call E, make: libbacktrace)
- $$(Q)$$(MAKE) -C $$(BACKTRACE_BUILD_DIR_$(1)) \
+ $$(Q)$$(P)$$(MAKE) -C $$(BACKTRACE_BUILD_DIR_$(1)) \
INCDIR=$(S)src/libbacktrace
$$(Q)cp $$(BACKTRACE_BUILD_DIR_$(1))/.libs/libbacktrace.a $$@
diff --git a/mk/util.mk b/mk/util.mk
index 3bbc8f4..4300b02 100644
--- a/mk/util.mk
+++ b/mk/util.mk
@@ -16,5 +16,7 @@ else
E = echo $(1)
endif
+P = +
+
S := $(CFG_SRC_DIR)
--
2.1.3
+14
View File
@@ -0,0 +1,14 @@
SRCREV = "c637cab85323c97be37d0c12bfa0fc0e9ea2c367"
require rust-git.inc
SRC_URI_append = "\
file://0001-platform.mk-avoid-choking-on-i586.patch \
file://0002-mk-rt-compiler_rt-pass-LDFLAGS-from-CFG_GCCISH_LINK_.patch \
file://0003-Target-add-default-target.json-path-libdir-rust-targ.patch \
file://0004-mk-for-stage0-use-RUSTFLAGS-to-override-target-libs-.patch \
file://0005-mk-add-missing-CFG_LIBDIR_RELATIVE.patch \
file://0006-configure-support-bindir-and-extend-libdir-to-non-bl.patch \
file://0007-XXX-remove-conflicting-realpath-hack.patch \
file://0008-XXX-configure-unneeded-windows-check.patch \
file://0009-Parallelize-submake-invocations.patch \
"