(CommandList children: [ (FuncDef name: die body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_At "$@"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[17])] ) (C {(exit)} {(1)}) ] spids: [8] ) spids: [3 7] ) (AndOr children: [ (C {(test)} {(-d)} {(autoconf)}) (AndOr children: [(C {(test)} {(-f)} {(autoconf/configure.ac)}) (C {(cd)} {(autoconf)})] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(test)} {(-f)} {(configure.ac)}) (C {(die)} {(DQ ("Can't find 'autoconf' dir; please cd into it first"))}) ] op_id: Op_DPipe ) (Pipeline children: [ (C {(autoconf)} {(--version)}) (SimpleCommand words: [{(egrep)} {(SQ <"2\\.[56][0-9]">)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[73])] ) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_QMark "$?")} {(-ne)} {(0)}) terminator: <Op_Semi ";"> ) ] action: [(C {(die)} {(DQ ("Your autoconf was not detected as being 2.5x or 2.6x"))})] spids: [-1 89] ) ] spids: [-1 98] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cwd) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick "`"> spids: [101 103] ) } spids: [100] ) ] spids: [100] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-d)} {(../../../autoconf/m4)}) terminator: <Op_Semi ";"> ) ] action: [ (C {(cd)} {(../../../autoconf/m4)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llvm_m4) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick "`"> spids: [124 126] ) } spids: [123] ) ] spids: [123] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llvm_src_root) op: Equal rhs: {(../..)} spids: [129] ) ] spids: [129] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llvm_obj_root) op: Equal rhs: {(../..)} spids: [133] ) ] spids: [133] ) (C {(cd)} {($ VSub_Name "$cwd")}) ] spids: [-1 115] ) (if_arm cond: [ (Sentence child: (C {(test)} {(-d)} {(../../llvm/autoconf/m4)}) terminator: <Op_Semi ";"> ) ] action: [ (C {(cd)} {(../../llvm/autoconf/m4)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llvm_m4) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick "`"> spids: [160 162] ) } spids: [159] ) ] spids: [159] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:llvm_src_root) op:Equal rhs:{(..)} spids:[165])] spids: [165] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:llvm_obj_root) op:Equal rhs:{(..)} spids:[169])] spids: [169] ) (C {(cd)} {($ VSub_Name "$cwd")}) ] spids: [141 151] ) ] else_action: [ (While cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ";">)] body: (DoGroup children: [ (C {(echo)} {(DQ ("LLVM source root not found."))}) (C {(read)} {(-p)} {(DQ ("Enter full path to LLVM source:"))} {(REPLY)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-d)} {(DQ ($ VSub_Name "$REPLY") (/autoconf/m4))}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llvm_src_root) op: Equal rhs: {(DQ ($ VSub_Name "$REPLY"))} spids: [224] ) ] spids: [224] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llvm_m4) op: Equal rhs: {(DQ ($ VSub_Name "$REPLY") (/autoconf/m4))} spids: [230] ) ] spids: [230] ) (C {(read)} {(-p)} {(DQ ("Enter full path to LLVM objects (empty for same as source):"))} {(REPLY)} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-d)} {(DQ ($ VSub_Name "$REPLY"))}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llvm_obj_root) op: Equal rhs: {(DQ ($ VSub_Name "$REPLY"))} spids: [263] ) ] spids: [263] ) ] spids: [-1 260] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llvm_obj_root) op: Equal rhs: {(DQ ($ VSub_Name "$llvm_src_root"))} spids: [272] ) ] spids: [272] ) ] spids: [269 278] ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [-1 221] ) ] spids: [-1 284] ) ] spids: [186 287] ) ) ] spids: [177 289] ) (C {(cp)} {(configure.ac)} {(configure.bak)}) (SimpleCommand words: [ {(sed)} {(-e)} { (DQ ("s#^LLVM_SRC_ROOT=.*#LLVM_SRC_ROOT=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$llvm_src_root") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("#") ) } {(-e)} { (DQ ("s#^LLVM_OBJ_ROOT=.*#LLVM_OBJ_ROOT=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$llvm_obj_root") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("#") ) } {(configure.bak)} ] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(configure.ac)} spids:[326])] ) (C {(echo)} {(DQ ("Regenerating aclocal.m4 with aclocal"))}) (C {(rm)} {(-f)} {(aclocal.m4)}) (AndOr children: [ (C {(aclocal)} {(-I)} {($ VSub_Name "$llvm_m4")} {(-I)} {(DQ ($ VSub_Name "$llvm_m4") (/..))}) (C {(die)} {(DQ ("aclocal failed"))}) ] op_id: Op_DPipe ) (C {(echo)} {(DQ ("Regenerating configure with autoconf"))}) (AndOr children: [ (C {(autoconf)} {(--warnings) (Lit_Other "=") (all)} {(-o)} {(../configure)} {(configure.ac)}) (C {(die)} {(DQ ("autoconf failed"))}) ] op_id: Op_DPipe ) (C {(cd)} {(..)}) (C {(exit)} {(0)}) ] )