Index: tools/llvm/utman.sh |
=================================================================== |
--- tools/llvm/utman.sh (revision 6231) |
+++ tools/llvm/utman.sh (working copy) |
@@ -41,6 +41,13 @@ |
SetScriptPath "${NACL_ROOT}/tools/llvm/utman.sh" |
SetLogDirectory "${NACL_ROOT}/toolchain/hg-log" |
+# Use upstream merging repository |
+readonly UTMAN_UPSTREAM=${UTMAN_UPSTREAM:-false} |
+readonly UTMAN_UPSTREAM_SKIP_UPDATE=${UTMAN_UPSTREAM_SKIP_UPDATE:-false} |
+if ${UTMAN_UPSTREAM}; then |
+ UTMAN_USE_MQ=false |
+fi |
+ |
# Set to false to go back to compiling with the old pnacl-sfi branch |
readonly UTMAN_USE_MQ=${UTMAN_USE_MQ:-true} |
readonly UTMAN_RESET_MQ=${UTMAN_RESET_MQ:-true} |
@@ -128,8 +135,15 @@ |
readonly TC_BUILD="${TC_ROOT}/hg-build-${LIBMODE}" |
# The location of sources (absolute) |
-readonly TC_SRC_LLVM="${TC_SRC}/llvm/llvm-trunk" |
-readonly TC_SRC_LLVM_GCC="${TC_SRC}/llvm-gcc/llvm-gcc-4.2" |
+ |
+if ${UTMAN_UPSTREAM}; then |
+ readonly TC_SRC_UPSTREAM="${TC_SRC}/upstream" |
+ readonly TC_SRC_LLVM="${TC_SRC_UPSTREAM}/llvm" |
+ readonly TC_SRC_LLVM_GCC="${TC_SRC_UPSTREAM}/llvm-gcc" |
+else |
+ readonly TC_SRC_LLVM="${TC_SRC}/llvm/llvm-trunk" |
+ readonly TC_SRC_LLVM_GCC="${TC_SRC}/llvm-gcc/llvm-gcc-4.2" |
+fi |
readonly TC_SRC_BINUTILS="${TC_SRC}/binutils" |
readonly TC_SRC_NEWLIB="${TC_SRC}/newlib" |
readonly TC_SRC_COMPILER_RT="${TC_SRC}/compiler-rt" |
@@ -226,8 +240,12 @@ |
# Current milestones in each repo |
# hg-update-pnacl-sfi uses these |
-readonly LLVM_REV=9ca0d1b53734 |
-readonly LLVM_GCC_REV=e093fe8c5603 |
+if ${UTMAN_UPSTREAM}; then |
+ readonly UPSTREAM_REV=pnacl-sfi # Update to head of pnacl-sfi |
+else |
+ readonly LLVM_REV=9ca0d1b53734 |
+ readonly LLVM_GCC_REV=e093fe8c5603 |
+fi |
# hg-update-non-llvm uses these |
readonly NEWLIB_REV=57d709868c78 |
readonly BINUTILS_REV=14dd509248e5 |
@@ -238,27 +256,37 @@ |
# version of llvm and llvm-gcc |
# Mercurial Queues Repos for Merges |
# todo(jasonwkim): figure out why hg tag can not be pushed! |
-readonly LLVM_MQ_REV=${LLVM_MQ_REV:-"0d9c0424d854"} |
-readonly LLVM_GCC_MQ_REV=${LLVM_GCC_MQ_REV:-"6951bd89b2e5"} |
+if ${UTMAN_USE_MQ}; then |
+ readonly LLVM_MQ_REV=${LLVM_MQ_REV:-"0d9c0424d854"} |
+ readonly LLVM_GCC_MQ_REV=${LLVM_GCC_MQ_REV:-"6951bd89b2e5"} |
-# Vendor Revs of llvm and llvm-gcc to which the qeues apply |
-# svn128002 |
-readonly LLVM_QPARENT_REV=${LLVM_QPARENT_REV:-"1dd4ed44a6f8"} |
-# svn126872 |
-readonly LLVM_GCC_QPARENT_REV=${LLVM_GCC_QPARENT_REV:-"3cde3ed75a27"} |
+ # Vendor Revs of llvm and llvm-gcc to which the qeues apply |
+ # svn128002 |
+ readonly LLVM_QPARENT_REV=${LLVM_QPARENT_REV:-"1dd4ed44a6f8"} |
+ # svn126872 |
+ readonly LLVM_GCC_QPARENT_REV=${LLVM_GCC_QPARENT_REV:-"3cde3ed75a27"} |
+fi |
# Repositories |
-readonly REPO_LLVM_GCC="nacl-llvm-branches.llvm-gcc-trunk" |
-readonly REPO_LLVM="nacl-llvm-branches.llvm-trunk" |
+if ${UTMAN_UPSTREAM}; then |
+ readonly REPO_UPSTREAM="nacl-llvm-branches.upstream" |
+else |
+ readonly REPO_LLVM_GCC="nacl-llvm-branches.llvm-gcc-trunk" |
+ readonly REPO_LLVM="nacl-llvm-branches.llvm-trunk" |
+fi |
+ |
readonly REPO_NEWLIB="nacl-llvm-branches.newlib" |
readonly REPO_BINUTILS="nacl-llvm-branches.binutils" |
readonly REPO_COMPILER_RT="nacl-llvm-branches.compiler-rt" |
readonly REPO_GOOGLE_PERFTOOLS="nacl-llvm-branches.google-perftools" |
-readonly REPO_LLVM_MQ_PATCHES="nacl-llvm-branches.llvm-mq-patches" |
-readonly REPO_LLVM_GCC_MQ_PATCHES="nacl-llvm-branches.llvm-gcc-mq-patches" |
+if ${UTMAN_USE_MQ}; then |
+ readonly REPO_LLVM_MQ_PATCHES="nacl-llvm-branches.llvm-mq-patches" |
+ readonly REPO_LLVM_GCC_MQ_PATCHES="nacl-llvm-branches.llvm-gcc-mq-patches" |
+fi |
+ |
# TODO(espindola): This should be ${CXX:-}, but llvm-gcc's configure has a |
# bug that brakes the build if we do that. |
CC=${CC:-gcc} |
@@ -369,8 +397,10 @@ |
hg-update-binutils |
hg-update-compiler-rt |
hg-update-google-perftools |
- hg-update-llvm-mq-patches |
- hg-update-llvm-gcc-mq-patches |
+ if ${UTMAN_USE_MQ}; then |
+ hg-update-llvm-mq-patches |
+ hg-update-llvm-gcc-mq-patches |
+ fi |
} |
hg-assert-safe-to-update() { |
@@ -495,6 +525,10 @@ |
hg-update-common "llvm" ${LLVM_REV} "${TC_SRC_LLVM}" |
} |
+hg-update-upstream() { |
+ hg-update-common "upstream" ${UPSTREAM_REV} "${TC_SRC_UPSTREAM}" |
+} |
+ |
#@ hg-update-newlib - Update NEWLIB To the stable revision |
hg-update-newlib() { |
# Clean the headers first, so that sanity checks inside |
@@ -606,14 +640,20 @@ |
#@ (skips repos which are already checked out) |
hg-checkout-all() { |
StepBanner "HG-CHECKOUT-ALL" |
- hg-checkout-llvm-gcc |
- hg-checkout-llvm |
+ if ${UTMAN_UPSTREAM}; then |
+ hg-checkout-upstream |
+ else |
+ hg-checkout-llvm-gcc |
+ hg-checkout-llvm |
+ fi |
hg-checkout-binutils |
hg-checkout-newlib |
hg-checkout-compiler-rt |
hg-checkout-google-perftools |
- hg-checkout-llvm-mq-patches |
- hg-checkout-llvm-gcc-mq-patches |
+ if ${UTMAN_USE_MQ}; then |
+ hg-checkout-llvm-mq-patches |
+ hg-checkout-llvm-gcc-mq-patches |
+ fi |
} |
hg-checkout-llvm-gcc() { |
@@ -626,6 +666,10 @@ |
hg-checkout ${REPO_LLVM} ${TC_SRC_LLVM} ${LLVM_REV} |
} |
+hg-checkout-upstream() { |
+ hg-checkout ${REPO_UPSTREAM} ${TC_SRC_UPSTREAM} ${UPSTREAM_REV} |
jvoung - send to chromium...
2011/07/28 23:48:54
Just noticed, but should all the ${TC_SRC...} have
pdox
2011/07/29 00:05:55
Done.
|
+} |
+ |
hg-checkout-binutils() { |
hg-checkout ${REPO_BINUTILS} ${TC_SRC_BINUTILS} ${BINUTILS_REV} |
} |
@@ -751,6 +795,11 @@ |
if ${UTMAN_USE_MQ}; then |
StepBanner "Updating hg sources via MQ=${UTMAN_USE_MQ}"; |
setup-hg-mq |
+ elif ${UTMAN_UPSTREAM}; then |
+ if ! ${UTMAN_UPSTREAM_SKIP_UPDATE}; then |
+ StepBanner "Updating upstreaming repository" |
+ hg-update-upstream |
+ fi |
else |
StepBanner "Updating all hg sources" |
hg-update-llvm-pnacl-sfi |