OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 # | 5 # |
6 #@ Untrusted Toolchain Manager | 6 #@ Untrusted Toolchain Manager |
7 #@------------------------------------------------------------------- | 7 #@------------------------------------------------------------------- |
8 #@ This script builds the ARM and PNaCl untrusted toolchains. | 8 #@ This script builds the ARM and PNaCl untrusted toolchains. |
9 #@ It MUST be run from the native_client/ directory. | 9 #@ It MUST be run from the native_client/ directory. |
10 # | 10 # |
(...skipping 23 matching lines...) Expand all Loading... |
34 echo "ERROR: cannot find native_client/ directory" | 34 echo "ERROR: cannot find native_client/ directory" |
35 exit -1 | 35 exit -1 |
36 fi | 36 fi |
37 readonly NACL_ROOT="$(pwd)" | 37 readonly NACL_ROOT="$(pwd)" |
38 | 38 |
39 source tools/llvm/common-tools.sh | 39 source tools/llvm/common-tools.sh |
40 | 40 |
41 SetScriptPath "${NACL_ROOT}/tools/llvm/utman.sh" | 41 SetScriptPath "${NACL_ROOT}/tools/llvm/utman.sh" |
42 SetLogDirectory "${NACL_ROOT}/toolchain/hg-log" | 42 SetLogDirectory "${NACL_ROOT}/toolchain/hg-log" |
43 | 43 |
| 44 # Use upstream merging repository |
| 45 readonly UTMAN_UPSTREAM=${UTMAN_UPSTREAM:-false} |
| 46 readonly UTMAN_UPSTREAM_SKIP_UPDATE=${UTMAN_UPSTREAM_SKIP_UPDATE:-false} |
| 47 if ${UTMAN_UPSTREAM}; then |
| 48 UTMAN_USE_MQ=false |
| 49 fi |
| 50 |
44 # Set to false to go back to compiling with the old pnacl-sfi branch | 51 # Set to false to go back to compiling with the old pnacl-sfi branch |
45 readonly UTMAN_USE_MQ=${UTMAN_USE_MQ:-true} | 52 readonly UTMAN_USE_MQ=${UTMAN_USE_MQ:-true} |
46 readonly UTMAN_RESET_MQ=${UTMAN_RESET_MQ:-true} | 53 readonly UTMAN_RESET_MQ=${UTMAN_RESET_MQ:-true} |
47 | 54 |
48 # Ignore this variable. Its for helping jasonwkim merge | 55 # Ignore this variable. Its for helping jasonwkim merge |
49 # So a unique identifier for the branch in the MQ is composed of | 56 # So a unique identifier for the branch in the MQ is composed of |
50 # (a) LLVM svn rev (looks like svnXXXXXX) | 57 # (a) LLVM svn rev (looks like svnXXXXXX) |
51 # (b) NaCl rev (looks like naclYYYY) | 58 # (b) NaCl rev (looks like naclYYYY) |
52 # (c) Any other unique human readable mnemonic that one cares to use to \ | 59 # (c) Any other unique human readable mnemonic that one cares to use to \ |
53 # identify the branch. | 60 # identify the branch. |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 # Leave this blank, it will be filled during processing. | 128 # Leave this blank, it will be filled during processing. |
122 SPECULATIVE_REBUILD_SET="" | 129 SPECULATIVE_REBUILD_SET="" |
123 | 130 |
124 # The directory in which we we keep src dirs (from hg repos) | 131 # The directory in which we we keep src dirs (from hg repos) |
125 # and objdirs. These should be ABSOLUTE paths. | 132 # and objdirs. These should be ABSOLUTE paths. |
126 | 133 |
127 readonly TC_SRC="${NACL_ROOT}/hg" | 134 readonly TC_SRC="${NACL_ROOT}/hg" |
128 readonly TC_BUILD="${TC_ROOT}/hg-build-${LIBMODE}" | 135 readonly TC_BUILD="${TC_ROOT}/hg-build-${LIBMODE}" |
129 | 136 |
130 # The location of sources (absolute) | 137 # The location of sources (absolute) |
131 readonly TC_SRC_LLVM="${TC_SRC}/llvm/llvm-trunk" | 138 |
132 readonly TC_SRC_LLVM_GCC="${TC_SRC}/llvm-gcc/llvm-gcc-4.2" | 139 if ${UTMAN_UPSTREAM}; then |
| 140 readonly TC_SRC_UPSTREAM="${TC_SRC}/upstream" |
| 141 readonly TC_SRC_LLVM="${TC_SRC_UPSTREAM}/llvm" |
| 142 readonly TC_SRC_LLVM_GCC="${TC_SRC_UPSTREAM}/llvm-gcc" |
| 143 else |
| 144 readonly TC_SRC_LLVM="${TC_SRC}/llvm/llvm-trunk" |
| 145 readonly TC_SRC_LLVM_GCC="${TC_SRC}/llvm-gcc/llvm-gcc-4.2" |
| 146 fi |
133 readonly TC_SRC_BINUTILS="${TC_SRC}/binutils" | 147 readonly TC_SRC_BINUTILS="${TC_SRC}/binutils" |
134 readonly TC_SRC_NEWLIB="${TC_SRC}/newlib" | 148 readonly TC_SRC_NEWLIB="${TC_SRC}/newlib" |
135 readonly TC_SRC_COMPILER_RT="${TC_SRC}/compiler-rt" | 149 readonly TC_SRC_COMPILER_RT="${TC_SRC}/compiler-rt" |
136 readonly TC_SRC_LIBSTDCPP="${TC_SRC_LLVM_GCC}/libstdc++-v3" | 150 readonly TC_SRC_LIBSTDCPP="${TC_SRC_LLVM_GCC}/libstdc++-v3" |
137 readonly TC_SRC_GOOGLE_PERFTOOLS="${TC_SRC}/google-perftools" | 151 readonly TC_SRC_GOOGLE_PERFTOOLS="${TC_SRC}/google-perftools" |
138 readonly TC_SRC_LLVM_MQ_PATCHES="${TC_SRC}/llvm-mq-patches" | 152 readonly TC_SRC_LLVM_MQ_PATCHES="${TC_SRC}/llvm-mq-patches" |
139 readonly TC_SRC_LLVM_GCC_MQ_PATCHES="${TC_SRC}/llvm-gcc-mq-patches" | 153 readonly TC_SRC_LLVM_GCC_MQ_PATCHES="${TC_SRC}/llvm-gcc-mq-patches" |
140 | 154 |
141 | 155 |
142 # Unfortunately, binutils/configure generates this untracked file | 156 # Unfortunately, binutils/configure generates this untracked file |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 | 233 |
220 # Which toolchain to use for each arch. | 234 # Which toolchain to use for each arch. |
221 if ${LIBMODE_NEWLIB}; then | 235 if ${LIBMODE_NEWLIB}; then |
222 SBTC_BUILD_WITH_PNACL="arm x8632 x8664" | 236 SBTC_BUILD_WITH_PNACL="arm x8632 x8664" |
223 else | 237 else |
224 SBTC_BUILD_WITH_PNACL="x8632 x8664" | 238 SBTC_BUILD_WITH_PNACL="x8632 x8664" |
225 fi | 239 fi |
226 | 240 |
227 # Current milestones in each repo | 241 # Current milestones in each repo |
228 # hg-update-pnacl-sfi uses these | 242 # hg-update-pnacl-sfi uses these |
229 readonly LLVM_REV=9ca0d1b53734 | 243 if ${UTMAN_UPSTREAM}; then |
230 readonly LLVM_GCC_REV=e093fe8c5603 | 244 readonly UPSTREAM_REV=pnacl-sfi # Update to head of pnacl-sfi |
| 245 else |
| 246 readonly LLVM_REV=9ca0d1b53734 |
| 247 readonly LLVM_GCC_REV=e093fe8c5603 |
| 248 fi |
231 # hg-update-non-llvm uses these | 249 # hg-update-non-llvm uses these |
232 readonly NEWLIB_REV=57d709868c78 | 250 readonly NEWLIB_REV=57d709868c78 |
233 readonly BINUTILS_REV=14dd509248e5 | 251 readonly BINUTILS_REV=14dd509248e5 |
234 readonly COMPILER_RT_REV=1a3a6ffb31ea | 252 readonly COMPILER_RT_REV=1a3a6ffb31ea |
235 readonly GOOGLE_PERFTOOLS_REV=ad820959663d | 253 readonly GOOGLE_PERFTOOLS_REV=ad820959663d |
236 | 254 |
237 # Update these revs when you want to experiment with rebasing to a newer | 255 # Update these revs when you want to experiment with rebasing to a newer |
238 # version of llvm and llvm-gcc | 256 # version of llvm and llvm-gcc |
239 # Mercurial Queues Repos for Merges | 257 # Mercurial Queues Repos for Merges |
240 # todo(jasonwkim): figure out why hg tag can not be pushed! | 258 # todo(jasonwkim): figure out why hg tag can not be pushed! |
241 readonly LLVM_MQ_REV=${LLVM_MQ_REV:-"0d9c0424d854"} | 259 if ${UTMAN_USE_MQ}; then |
242 readonly LLVM_GCC_MQ_REV=${LLVM_GCC_MQ_REV:-"6951bd89b2e5"} | 260 readonly LLVM_MQ_REV=${LLVM_MQ_REV:-"0d9c0424d854"} |
| 261 readonly LLVM_GCC_MQ_REV=${LLVM_GCC_MQ_REV:-"6951bd89b2e5"} |
243 | 262 |
244 # Vendor Revs of llvm and llvm-gcc to which the qeues apply | 263 # Vendor Revs of llvm and llvm-gcc to which the qeues apply |
245 # svn128002 | 264 # svn128002 |
246 readonly LLVM_QPARENT_REV=${LLVM_QPARENT_REV:-"1dd4ed44a6f8"} | 265 readonly LLVM_QPARENT_REV=${LLVM_QPARENT_REV:-"1dd4ed44a6f8"} |
247 # svn126872 | 266 # svn126872 |
248 readonly LLVM_GCC_QPARENT_REV=${LLVM_GCC_QPARENT_REV:-"3cde3ed75a27"} | 267 readonly LLVM_GCC_QPARENT_REV=${LLVM_GCC_QPARENT_REV:-"3cde3ed75a27"} |
| 268 fi |
249 | 269 |
250 | 270 |
251 # Repositories | 271 # Repositories |
252 readonly REPO_LLVM_GCC="nacl-llvm-branches.llvm-gcc-trunk" | 272 if ${UTMAN_UPSTREAM}; then |
253 readonly REPO_LLVM="nacl-llvm-branches.llvm-trunk" | 273 readonly REPO_UPSTREAM="nacl-llvm-branches.upstream" |
| 274 else |
| 275 readonly REPO_LLVM_GCC="nacl-llvm-branches.llvm-gcc-trunk" |
| 276 readonly REPO_LLVM="nacl-llvm-branches.llvm-trunk" |
| 277 fi |
| 278 |
254 readonly REPO_NEWLIB="nacl-llvm-branches.newlib" | 279 readonly REPO_NEWLIB="nacl-llvm-branches.newlib" |
255 readonly REPO_BINUTILS="nacl-llvm-branches.binutils" | 280 readonly REPO_BINUTILS="nacl-llvm-branches.binutils" |
256 readonly REPO_COMPILER_RT="nacl-llvm-branches.compiler-rt" | 281 readonly REPO_COMPILER_RT="nacl-llvm-branches.compiler-rt" |
257 readonly REPO_GOOGLE_PERFTOOLS="nacl-llvm-branches.google-perftools" | 282 readonly REPO_GOOGLE_PERFTOOLS="nacl-llvm-branches.google-perftools" |
258 readonly REPO_LLVM_MQ_PATCHES="nacl-llvm-branches.llvm-mq-patches" | 283 |
259 readonly REPO_LLVM_GCC_MQ_PATCHES="nacl-llvm-branches.llvm-gcc-mq-patches" | 284 if ${UTMAN_USE_MQ}; then |
| 285 readonly REPO_LLVM_MQ_PATCHES="nacl-llvm-branches.llvm-mq-patches" |
| 286 readonly REPO_LLVM_GCC_MQ_PATCHES="nacl-llvm-branches.llvm-gcc-mq-patches" |
| 287 fi |
260 | 288 |
261 | 289 |
262 # TODO(espindola): This should be ${CXX:-}, but llvm-gcc's configure has a | 290 # TODO(espindola): This should be ${CXX:-}, but llvm-gcc's configure has a |
263 # bug that brakes the build if we do that. | 291 # bug that brakes the build if we do that. |
264 CC=${CC:-gcc} | 292 CC=${CC:-gcc} |
265 CXX=${CXX:-g++} | 293 CXX=${CXX:-g++} |
266 if ${HOST_ARCH_X8632} ; then | 294 if ${HOST_ARCH_X8632} ; then |
267 # These are simple compiler wrappers to force 32bit builds | 295 # These are simple compiler wrappers to force 32bit builds |
268 # For bots and releases we build the toolchains | 296 # For bots and releases we build the toolchains |
269 # on the oldest system we care to support. Currently | 297 # on the oldest system we care to support. Currently |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 hg-update-llvm | 390 hg-update-llvm |
363 } | 391 } |
364 | 392 |
365 #@ hg-update-non-llvm - Update all repos to the latest stable rev, | 393 #@ hg-update-non-llvm - Update all repos to the latest stable rev, |
366 # other than LLVM and LLVM-GCC (they are handled separately via MQ) | 394 # other than LLVM and LLVM-GCC (they are handled separately via MQ) |
367 hg-update-non-llvm() { | 395 hg-update-non-llvm() { |
368 hg-update-newlib | 396 hg-update-newlib |
369 hg-update-binutils | 397 hg-update-binutils |
370 hg-update-compiler-rt | 398 hg-update-compiler-rt |
371 hg-update-google-perftools | 399 hg-update-google-perftools |
372 hg-update-llvm-mq-patches | 400 if ${UTMAN_USE_MQ}; then |
373 hg-update-llvm-gcc-mq-patches | 401 hg-update-llvm-mq-patches |
| 402 hg-update-llvm-gcc-mq-patches |
| 403 fi |
374 } | 404 } |
375 | 405 |
376 hg-assert-safe-to-update() { | 406 hg-assert-safe-to-update() { |
377 local name="$1" | 407 local name="$1" |
378 local dir="$2" | 408 local dir="$2" |
379 local rev="$3" | 409 local rev="$3" |
380 | 410 |
381 if ! hg-on-branch "${dir}" pnacl-sfi ; then | 411 if ! hg-on-branch "${dir}" pnacl-sfi ; then |
382 Banner "hg/${name} is not on branch pnacl-sfi" | 412 Banner "hg/${name} is not on branch pnacl-sfi" |
383 exit -1 | 413 exit -1 |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
488 hg-check-if-using-old-repo "${TC_SRC_LLVM_GCC}" | 518 hg-check-if-using-old-repo "${TC_SRC_LLVM_GCC}" |
489 hg-update-common "llvm-gcc" ${LLVM_GCC_REV} "${TC_SRC_LLVM_GCC}" | 519 hg-update-common "llvm-gcc" ${LLVM_GCC_REV} "${TC_SRC_LLVM_GCC}" |
490 } | 520 } |
491 | 521 |
492 #@ hg-update-llvm - Update LLVM to the stable revision | 522 #@ hg-update-llvm - Update LLVM to the stable revision |
493 hg-update-llvm() { | 523 hg-update-llvm() { |
494 hg-check-if-using-old-repo "${TC_SRC_LLVM}" | 524 hg-check-if-using-old-repo "${TC_SRC_LLVM}" |
495 hg-update-common "llvm" ${LLVM_REV} "${TC_SRC_LLVM}" | 525 hg-update-common "llvm" ${LLVM_REV} "${TC_SRC_LLVM}" |
496 } | 526 } |
497 | 527 |
| 528 hg-update-upstream() { |
| 529 hg-update-common "upstream" ${UPSTREAM_REV} "${TC_SRC_UPSTREAM}" |
| 530 } |
| 531 |
498 #@ hg-update-newlib - Update NEWLIB To the stable revision | 532 #@ hg-update-newlib - Update NEWLIB To the stable revision |
499 hg-update-newlib() { | 533 hg-update-newlib() { |
500 # Clean the headers first, so that sanity checks inside | 534 # Clean the headers first, so that sanity checks inside |
501 # hg-update-common do not see any local modifications. | 535 # hg-update-common do not see any local modifications. |
502 newlib-nacl-headers-check | 536 newlib-nacl-headers-check |
503 newlib-nacl-headers-clean | 537 newlib-nacl-headers-clean |
504 hg-update-common "newlib" ${NEWLIB_REV} "${TC_SRC_NEWLIB}" | 538 hg-update-common "newlib" ${NEWLIB_REV} "${TC_SRC_NEWLIB}" |
505 newlib-nacl-headers | 539 newlib-nacl-headers |
506 } | 540 } |
507 | 541 |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
599 } | 633 } |
600 | 634 |
601 hg-pull-llvm-mq-patches() { | 635 hg-pull-llvm-mq-patches() { |
602 hg-pull "${TC_SRC_LLVM_MQ_PATCHES}" | 636 hg-pull "${TC_SRC_LLVM_MQ_PATCHES}" |
603 } | 637 } |
604 | 638 |
605 #@ hg-checkout-all - check out mercurial repos needed to build toolchain | 639 #@ hg-checkout-all - check out mercurial repos needed to build toolchain |
606 #@ (skips repos which are already checked out) | 640 #@ (skips repos which are already checked out) |
607 hg-checkout-all() { | 641 hg-checkout-all() { |
608 StepBanner "HG-CHECKOUT-ALL" | 642 StepBanner "HG-CHECKOUT-ALL" |
609 hg-checkout-llvm-gcc | 643 if ${UTMAN_UPSTREAM}; then |
610 hg-checkout-llvm | 644 hg-checkout-upstream |
| 645 else |
| 646 hg-checkout-llvm-gcc |
| 647 hg-checkout-llvm |
| 648 fi |
611 hg-checkout-binutils | 649 hg-checkout-binutils |
612 hg-checkout-newlib | 650 hg-checkout-newlib |
613 hg-checkout-compiler-rt | 651 hg-checkout-compiler-rt |
614 hg-checkout-google-perftools | 652 hg-checkout-google-perftools |
615 hg-checkout-llvm-mq-patches | 653 if ${UTMAN_USE_MQ}; then |
616 hg-checkout-llvm-gcc-mq-patches | 654 hg-checkout-llvm-mq-patches |
| 655 hg-checkout-llvm-gcc-mq-patches |
| 656 fi |
617 } | 657 } |
618 | 658 |
619 hg-checkout-llvm-gcc() { | 659 hg-checkout-llvm-gcc() { |
620 hg-check-if-using-old-repo ${TC_SRC_LLVM_GCC} | 660 hg-check-if-using-old-repo "${TC_SRC_LLVM_GCC}" |
621 hg-checkout ${REPO_LLVM_GCC} ${TC_SRC_LLVM_GCC} ${LLVM_GCC_REV} | 661 hg-checkout "${REPO_LLVM_GCC}" "${TC_SRC_LLVM_GCC}" ${LLVM_GCC_REV} |
622 } | 662 } |
623 | 663 |
624 hg-checkout-llvm() { | 664 hg-checkout-llvm() { |
625 hg-check-if-using-old-repo ${TC_SRC_LLVM} | 665 hg-check-if-using-old-repo "${TC_SRC_LLVM}" |
626 hg-checkout ${REPO_LLVM} ${TC_SRC_LLVM} ${LLVM_REV} | 666 hg-checkout ${REPO_LLVM} "${TC_SRC_LLVM}" ${LLVM_REV} |
| 667 } |
| 668 |
| 669 hg-checkout-upstream() { |
| 670 hg-checkout ${REPO_UPSTREAM} "${TC_SRC_UPSTREAM}" ${UPSTREAM_REV} |
627 } | 671 } |
628 | 672 |
629 hg-checkout-binutils() { | 673 hg-checkout-binutils() { |
630 hg-checkout ${REPO_BINUTILS} ${TC_SRC_BINUTILS} ${BINUTILS_REV} | 674 hg-checkout ${REPO_BINUTILS} "${TC_SRC_BINUTILS}" ${BINUTILS_REV} |
631 } | 675 } |
632 | 676 |
633 hg-checkout-newlib() { | 677 hg-checkout-newlib() { |
634 hg-checkout ${REPO_NEWLIB} ${TC_SRC_NEWLIB} ${NEWLIB_REV} | 678 hg-checkout ${REPO_NEWLIB} "${TC_SRC_NEWLIB}" ${NEWLIB_REV} |
635 newlib-nacl-headers | 679 newlib-nacl-headers |
636 } | 680 } |
637 | 681 |
638 hg-checkout-compiler-rt() { | 682 hg-checkout-compiler-rt() { |
639 hg-checkout ${REPO_COMPILER_RT} ${TC_SRC_COMPILER_RT} ${COMPILER_RT_REV} | 683 hg-checkout ${REPO_COMPILER_RT} "${TC_SRC_COMPILER_RT}" ${COMPILER_RT_REV} |
640 } | 684 } |
641 | 685 |
642 hg-checkout-google-perftools() { | 686 hg-checkout-google-perftools() { |
643 hg-checkout ${REPO_GOOGLE_PERFTOOLS} ${TC_SRC_GOOGLE_PERFTOOLS} \ | 687 hg-checkout ${REPO_GOOGLE_PERFTOOLS} "${TC_SRC_GOOGLE_PERFTOOLS}" \ |
644 ${GOOGLE_PERFTOOLS_REV} | 688 ${GOOGLE_PERFTOOLS_REV} |
645 } | 689 } |
646 | 690 |
647 hg-checkout-llvm-mq-patches() { | 691 hg-checkout-llvm-mq-patches() { |
648 hg-checkout ${REPO_LLVM_MQ_PATCHES} ${TC_SRC_LLVM_MQ_PATCHES} \ | 692 hg-checkout ${REPO_LLVM_MQ_PATCHES} "${TC_SRC_LLVM_MQ_PATCHES}" \ |
649 ${LLVM_MQ_REV} | 693 ${LLVM_MQ_REV} |
650 } | 694 } |
651 | 695 |
652 hg-checkout-llvm-gcc-mq-patches() { | 696 hg-checkout-llvm-gcc-mq-patches() { |
653 hg-checkout ${REPO_LLVM_GCC_MQ_PATCHES} ${TC_SRC_LLVM_GCC_MQ_PATCHES} \ | 697 hg-checkout ${REPO_LLVM_GCC_MQ_PATCHES} "${TC_SRC_LLVM_GCC_MQ_PATCHES}" \ |
654 ${LLVM_GCC_MQ_REV} | 698 ${LLVM_GCC_MQ_REV} |
655 } | 699 } |
656 | 700 |
657 #@ hg-clean - Remove all repos. (WARNING: local changes are lost) | 701 #@ hg-clean - Remove all repos. (WARNING: local changes are lost) |
658 hg-clean() { | 702 hg-clean() { |
659 StepBanner "HG-CLEAN" | 703 StepBanner "HG-CLEAN" |
660 | 704 |
661 echo "Are you sure?" | 705 echo "Are you sure?" |
662 echo "This will DELETE all source repositories under 'native_client/hg'" | 706 echo "This will DELETE all source repositories under 'native_client/hg'" |
663 echo "Any local changes will be lost." | 707 echo "Any local changes will be lost." |
664 echo "" | 708 echo "" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 #@ everything - Build and install untrusted SDK. no translator | 788 #@ everything - Build and install untrusted SDK. no translator |
745 everything() { | 789 everything() { |
746 | 790 |
747 mkdir -p "${PNACL_ROOT}" | 791 mkdir -p "${PNACL_ROOT}" |
748 | 792 |
749 hg-checkout-all | 793 hg-checkout-all |
750 | 794 |
751 if ${UTMAN_USE_MQ}; then | 795 if ${UTMAN_USE_MQ}; then |
752 StepBanner "Updating hg sources via MQ=${UTMAN_USE_MQ}"; | 796 StepBanner "Updating hg sources via MQ=${UTMAN_USE_MQ}"; |
753 setup-hg-mq | 797 setup-hg-mq |
| 798 elif ${UTMAN_UPSTREAM}; then |
| 799 if ! ${UTMAN_UPSTREAM_SKIP_UPDATE}; then |
| 800 StepBanner "Updating upstreaming repository" |
| 801 hg-update-upstream |
| 802 fi |
754 else | 803 else |
755 StepBanner "Updating all hg sources" | 804 StepBanner "Updating all hg sources" |
756 hg-update-llvm-pnacl-sfi | 805 hg-update-llvm-pnacl-sfi |
757 fi | 806 fi |
758 | 807 |
759 hg-update-non-llvm | 808 hg-update-non-llvm |
760 everything-post-hg | 809 everything-post-hg |
761 } | 810 } |
762 | 811 |
763 #@ everything-post-hg does everything AFTER hg setup | 812 #@ everything-post-hg does everything AFTER hg setup |
(...skipping 2757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3521 | 3570 |
3522 if [ "$(type -t $1)" != "function" ]; then | 3571 if [ "$(type -t $1)" != "function" ]; then |
3523 #Usage | 3572 #Usage |
3524 echo "ERROR: unknown function '$1'." >&2 | 3573 echo "ERROR: unknown function '$1'." >&2 |
3525 echo "For help, try:" | 3574 echo "For help, try:" |
3526 echo " $0 help" | 3575 echo " $0 help" |
3527 exit 1 | 3576 exit 1 |
3528 fi | 3577 fi |
3529 | 3578 |
3530 "$@" | 3579 "$@" |
OLD | NEW |