Chromium Code Reviews| 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 |