| 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,52 +640,62 @@
|
| #@ (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() {
|
| - hg-check-if-using-old-repo ${TC_SRC_LLVM_GCC}
|
| - hg-checkout ${REPO_LLVM_GCC} ${TC_SRC_LLVM_GCC} ${LLVM_GCC_REV}
|
| + hg-check-if-using-old-repo "${TC_SRC_LLVM_GCC}"
|
| + hg-checkout "${REPO_LLVM_GCC}" "${TC_SRC_LLVM_GCC}" ${LLVM_GCC_REV}
|
| }
|
|
|
| hg-checkout-llvm() {
|
| - hg-check-if-using-old-repo ${TC_SRC_LLVM}
|
| - hg-checkout ${REPO_LLVM} ${TC_SRC_LLVM} ${LLVM_REV}
|
| + hg-check-if-using-old-repo "${TC_SRC_LLVM}"
|
| + hg-checkout ${REPO_LLVM} "${TC_SRC_LLVM}" ${LLVM_REV}
|
| }
|
|
|
| +hg-checkout-upstream() {
|
| + hg-checkout ${REPO_UPSTREAM} "${TC_SRC_UPSTREAM}" ${UPSTREAM_REV}
|
| +}
|
| +
|
| hg-checkout-binutils() {
|
| - hg-checkout ${REPO_BINUTILS} ${TC_SRC_BINUTILS} ${BINUTILS_REV}
|
| + hg-checkout ${REPO_BINUTILS} "${TC_SRC_BINUTILS}" ${BINUTILS_REV}
|
| }
|
|
|
| hg-checkout-newlib() {
|
| - hg-checkout ${REPO_NEWLIB} ${TC_SRC_NEWLIB} ${NEWLIB_REV}
|
| + hg-checkout ${REPO_NEWLIB} "${TC_SRC_NEWLIB}" ${NEWLIB_REV}
|
| newlib-nacl-headers
|
| }
|
|
|
| hg-checkout-compiler-rt() {
|
| - hg-checkout ${REPO_COMPILER_RT} ${TC_SRC_COMPILER_RT} ${COMPILER_RT_REV}
|
| + hg-checkout ${REPO_COMPILER_RT} "${TC_SRC_COMPILER_RT}" ${COMPILER_RT_REV}
|
| }
|
|
|
| hg-checkout-google-perftools() {
|
| - hg-checkout ${REPO_GOOGLE_PERFTOOLS} ${TC_SRC_GOOGLE_PERFTOOLS} \
|
| + hg-checkout ${REPO_GOOGLE_PERFTOOLS} "${TC_SRC_GOOGLE_PERFTOOLS}" \
|
| ${GOOGLE_PERFTOOLS_REV}
|
| }
|
|
|
| hg-checkout-llvm-mq-patches() {
|
| - hg-checkout ${REPO_LLVM_MQ_PATCHES} ${TC_SRC_LLVM_MQ_PATCHES} \
|
| - ${LLVM_MQ_REV}
|
| + hg-checkout ${REPO_LLVM_MQ_PATCHES} "${TC_SRC_LLVM_MQ_PATCHES}" \
|
| + ${LLVM_MQ_REV}
|
| }
|
|
|
| hg-checkout-llvm-gcc-mq-patches() {
|
| - hg-checkout ${REPO_LLVM_GCC_MQ_PATCHES} ${TC_SRC_LLVM_GCC_MQ_PATCHES} \
|
| - ${LLVM_GCC_MQ_REV}
|
| + hg-checkout ${REPO_LLVM_GCC_MQ_PATCHES} "${TC_SRC_LLVM_GCC_MQ_PATCHES}" \
|
| + ${LLVM_GCC_MQ_REV}
|
| }
|
|
|
| #@ hg-clean - Remove all repos. (WARNING: local changes are lost)
|
| @@ -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
|
|
|