(List (= scope= flags=0 words=[] bindings=[('gcc_toolchain', {[SQ ]})]) (While (DBracket {B2 BINARY_STRING_GREAT {[VarSub #]} {[LIT_CHARS 0]}}) (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS --gcc-toolchain]}], [{[LIT_CHARS --help]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS shift]}) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub #]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--gcc-toolchain requires an argument."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (DBracket {B1 UNARY_FILE_x {[DQ [VarSub 1][LIT_CHARS /bin/gcc]]}}) (= scope= flags=0 words=[] bindings=[('gcc_toolchain', {[VarSub 1]})]) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Invalid --gcc-toolchain: '"][VarSub 1][LIT_CHARS "'."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "'"][VarSub 1][LIT_CHARS "/bin/gcc' does not appear to be valid."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub 0][LIT_CHARS " [--gcc-toolchain ]"]]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "--gcc-toolchain: Set the prefix for which GCC version should"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " be used for building. For example, to use gcc in"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " /opt/foo/bin/gcc, use '--gcc-toolchain '/opt/foo"]]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unknown argument: '"][VarSub 1][LIT_CHARS "'."]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Use --help for help."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS shift]}) ) ) (= scope= flags=0 words=[] bindings=[('THIS_DIR', {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub 0]]})]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_DIR', {[DQ [VarSub THIS_DIR][LIT_CHARS /../../../third_party/llvm]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_BOOTSTRAP_DIR', {[DQ [VarSub THIS_DIR][LIT_CHARS /../../../third_party/llvm-bootstrap]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_BOOTSTRAP_INSTALL_DIR', {[DQ [VarSub LLVM_DIR][LIT_CHARS /../llvm-bootstrap-install]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_BUILD_DIR', {[DQ [VarSub THIS_DIR][LIT_CHARS /../../../third_party/llvm-build]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_BIN_DIR', {[DQ [VarSub LLVM_BUILD_DIR][LIT_CHARS "/Release+Asserts/bin"]]})]) (= scope= flags=0 words=[] bindings=[('LLVM_LIB_DIR', {[DQ [VarSub LLVM_BUILD_DIR][LIT_CHARS "/Release+Asserts/lib"]]})]) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Diff in llvm:"]]}) (Com {[LIT_CHARS tee]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[DQ [VarSub LLVM_DIR]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS diff]} {[DQ [VarSub LLVM_DIR]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Diff in llvm/tools/clang:"]]}) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /tools/clang]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS diff]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /tools/clang]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Diff in llvm/compiler-rt:"]]}) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /compiler-rt]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS diff]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /compiler-rt]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Diff in llvm/projects/libcxx:"]]}) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /projects/libcxx]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS diff]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /projects/libcxx]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Diff in llvm/projects/libcxxabi:"]]}) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS stat]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /projects/libcxxabi]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS svn]} {[LIT_CHARS diff]} {[DQ [VarSub LLVM_DIR][LIT_CHARS /projects/libcxxabi]]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Starting build"]]}) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (Com {[LIT_CHARS set]} {[LIT_CHARS -exu]}) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub LLVM_BOOTSTRAP_DIR]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub LLVM_BOOTSTRAP_INSTALL_DIR]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub LLVM_BUILD_DIR]]}) (= scope= flags=0 words=[] bindings=[('extra_flags', {[SQ ]})]) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub gcc_toolchain]]}}) (= scope= flags=0 words=[] bindings=[('extra_flags', {[DQ [LIT_CHARS "--gcc-toolchain "][VarSub gcc_toolchain]]})]) ) (Pipeline (Com {[DQ [VarSub THIS_DIR]] [LIT_CHARS /update.sh]} {[LIT_CHARS --bootstrap]} {[LIT_CHARS --force-local-build]} {[LIT_CHARS --run-tests]} {[VarSub extra_flags]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS tee]} {[LIT_CHARS -a]} {[LIT_CHARS buildlog.txt]}) ) (= scope= flags=0 words=[] bindings=[('R', {[ComSub (Pipeline (Com {[DQ [VarSub LLVM_BIN_DIR][LIT_CHARS /clang]]} {[LIT_CHARS --version]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -ne]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('PDIR', {[LIT_CHARS clang-] [VarSub R]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub PDIR]}) (Com {[LIT_CHARS mkdir]} {[VarSub PDIR]}) (Com {[LIT_CHARS mkdir]} {[VarSub PDIR] [LIT_CHARS /bin]}) (Com {[LIT_CHARS mkdir]} {[VarSub PDIR] [LIT_CHARS /lib]}) (If (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('SO_EXT', {[DQ [LIT_CHARS dylib]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('SO_EXT', {[DQ [LIT_CHARS so]]})]) ) (Com {[LIT_CHARS cp]} {[LIT_CHARS buildlog.txt]} {[VarSub PDIR] [LIT_CHARS /]}) (Com {[LIT_CHARS cp]} {[DQ [VarSub LLVM_BIN_DIR][LIT_CHARS /clang]]} {[VarSub PDIR] [LIT_CHARS /bin/]}) (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[VarSub PDIR] [LIT_CHARS /bin]}) (Com {[LIT_CHARS ln]} {[LIT_CHARS -sf]} {[LIT_CHARS clang]} {[LIT_CHARS clang] [LIT_OTHER "+"] [LIT_OTHER "+"]}) ) ) (Com {[LIT_CHARS cp]} {[DQ [VarSub LLVM_BIN_DIR][LIT_CHARS /llvm-symbolizer]]} {[VarSub PDIR] [LIT_CHARS /bin/]}) (If (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS cp]} {[DQ [VarSub LLVM_BIN_DIR][LIT_CHARS "/libc++.1."][VarSub SO_EXT]]} {[VarSub PDIR] [LIT_CHARS /bin/]}) (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[VarSub PDIR] [LIT_CHARS /bin]}) (Com {[LIT_CHARS ln]} {[LIT_CHARS -sf]} {[LIT_CHARS libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .1.dylib]} {[LIT_CHARS libc] [LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS .dylib]}) ) ) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS mkdir]} {[VarSub PDIR] [LIT_CHARS /include]}) (Com {[LIT_CHARS cp]} {[LIT_CHARS -R]} {[DQ [VarSub LLVM_BOOTSTRAP_INSTALL_DIR][LIT_CHARS "/include/c++"]]} {[VarSub PDIR] [LIT_CHARS /include]}) ) ) (Com {[LIT_CHARS cp]} {[DQ [VarSub LLVM_LIB_DIR][LIT_CHARS /libFindBadConstructs.][VarSub SO_EXT]]} {[VarSub PDIR] [LIT_CHARS /lib]}) (= scope= flags=0 words=[] bindings=[('BLINKGCPLUGIN_LIBNAME', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[SQ ]} {[DQ [VarSub THIS_DIR]] [LIT_CHARS /../blink_gc_plugin/CMakeLists.txt]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d]} {[SQ ]} {[LIT_CHARS -f]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS tr]} {[LIT_CHARS -d]} {[SQ ]}) )]})]) (Com {[LIT_CHARS cp]} {[DQ [VarSub LLVM_LIB_DIR][LIT_CHARS /lib][VarSub BLINKGCPLUGIN_LIBNAME][LIT_CHARS .][VarSub SO_EXT]]} {[VarSub PDIR] [LIT_CHARS /lib]}) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub gcc_toolchain]]}}) (Com {[LIT_CHARS cp]} {[DQ [VarSub LLVM_LIB_DIR][LIT_CHARS "/libstdc++.so.6"]]} {[VarSub PDIR] [LIT_CHARS /lib]}) ) (If (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (Pipeline (Com {[LIT_CHARS find]} {[DQ [VarSub LLVM_LIB_DIR][LIT_CHARS /clang]]} {[LIT_CHARS -type]} {[LIT_CHARS f]} {[LIT_CHARS -path]} {[SQ ]} {[LIT_OTHER "!"]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_OTHER "!"]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_OTHER "!"]} {[LIT_CHARS -name]} {[SQ ]}) (Com {[LIT_CHARS xargs]} {[LIT_CHARS rm]}) ) (= scope= flags=0 words=[] bindings=[('ASAN_DYLIB_NAMES', {[DQ [LIT_CHARS "libclang_rt.asan_osx_dynamic.dylib\n"][LIT_CHARS " libclang_rt.asan_iossim_dynamic.dylib"]]})]) (For ASAN_DYLIB_NAME [{[VarSub ASAN_DYLIB_NAMES]}]) (List (= scope= flags=0 words=[] bindings=[('ASAN_DYLIB', {[ComSub (Com {[LIT_CHARS find]} {[DQ [VarSub LLVM_LIB_DIR][LIT_CHARS /clang]]} {[LIT_CHARS -type]} {[LIT_CHARS f]} {[LIT_CHARS -path]} {[DQ [LIT_CHARS "*"][VarSub ASAN_DYLIB_NAME]]})]})]) (Com {[LIT_CHARS install_name_tool]} {[LIT_CHARS -id]} {[LIT_OTHER "@"] [LIT_CHARS executable_path/] [VarSub ASAN_DYLIB_NAME]} {[DQ [VarSub ASAN_DYLIB]]}) (Com {[LIT_CHARS strip]} {[LIT_CHARS -x]} {[DQ [VarSub ASAN_DYLIB]]}) ) ) ) (ElseTrue) (List (Pipeline (Com {[LIT_CHARS find]} {[DQ [VarSub LLVM_LIB_DIR][LIT_CHARS /clang]]} {[LIT_CHARS -type]} {[LIT_CHARS f]} {[LIT_CHARS -path]} {[SQ ]} {[LIT_OTHER "!"]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_OTHER "!"]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_OTHER "!"]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_OTHER "!"]} {[LIT_CHARS -name]} {[SQ ]}) (Com {[LIT_CHARS xargs]} {[LIT_CHARS rm]} {[LIT_CHARS -v]}) ) (Pipeline (Com {[LIT_CHARS find]} {[DQ [VarSub LLVM_LIB_DIR][LIT_CHARS /clang]]} {[LIT_CHARS -type]} {[LIT_CHARS f]} {[LIT_CHARS -path]} {[SQ ]} {[LIT_OTHER "!"]} {[LIT_CHARS -name]} {[SQ ]}) (Com {[LIT_CHARS xargs]} {[LIT_CHARS strip]} {[LIT_CHARS -g]}) ) ) ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -vR]} {[DQ [VarSub LLVM_LIB_DIR][LIT_CHARS /clang]]} {[VarSub PDIR] [LIT_CHARS /lib]}) (If (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS tar]} {[LIT_CHARS zcf]} {[VarSub PDIR] [LIT_CHARS .tgz]} {[LIT_CHARS -C]} {[VarSub PDIR]} {[LIT_CHARS bin]} {[LIT_CHARS include]} {[LIT_CHARS lib]} {[LIT_CHARS buildlog.txt]}) (ElseTrue) (Com {[LIT_CHARS tar]} {[LIT_CHARS zcf]} {[VarSub PDIR] [LIT_CHARS .tgz]} {[LIT_CHARS -C]} {[VarSub PDIR]} {[LIT_CHARS bin]} {[LIT_CHARS lib]} {[LIT_CHARS buildlog.txt]}) ) (If (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('PLATFORM', {[LIT_CHARS Mac]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('PLATFORM', {[LIT_CHARS Linux_x64]})]) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS To]} {[LIT_CHARS upload] [LIT_COMMA ","]} {[LIT_CHARS run] [LIT_OTHER ":"]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS gsutil]} {[LIT_CHARS cp]} {[LIT_CHARS -a]} {[LIT_CHARS public-read]} {[VarSub PDIR] [LIT_CHARS .tgz]} {[LIT_CHARS gs] [LIT_OTHER ":"] [LIT_CHARS //chromium-browser-clang/] [VarSub PLATFORM] [LIT_CHARS /] [VarSub PDIR] [LIT_CHARS .tgz]}) )