(List (FunctionDef die [] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[LIT_CHARS autoconf]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[LIT_CHARS autoconf/configure.ac]}) (Com {[LIT_CHARS cd]} {[LIT_CHARS autoconf]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[LIT_CHARS configure.ac]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Can't find 'autoconf' dir; please cd into it first"]]}) ) (Pipeline (Com {[LIT_CHARS autoconf]} {[LIT_CHARS --version]}) (Com {[LIT_CHARS egrep]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (If (Com {[LIT_CHARS test]} {[VarSub ?]} {[LIT_CHARS -ne]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Your autoconf was not detected as being 2.5x or 2.6x"]]}) ) (= scope= flags=0 words=[] bindings=[('cwd', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[LIT_CHARS ../../../autoconf/m4]}) (List (Com {[LIT_CHARS cd]} {[LIT_CHARS ../../../autoconf/m4]}) (= scope= flags=0 words=[] bindings=[('llvm_m4', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (= scope= flags=0 words=[] bindings=[('llvm_src_root', {[LIT_CHARS ../..]})]) (= scope= flags=0 words=[] bindings=[('llvm_obj_root', {[LIT_CHARS ../..]})]) (Com {[LIT_CHARS cd]} {[VarSub cwd]}) ) (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[LIT_CHARS ../../llvm/autoconf/m4]}) (List (Com {[LIT_CHARS cd]} {[LIT_CHARS ../../llvm/autoconf/m4]}) (= scope= flags=0 words=[] bindings=[('llvm_m4', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (= scope= flags=0 words=[] bindings=[('llvm_src_root', {[LIT_CHARS ..]})]) (= scope= flags=0 words=[] bindings=[('llvm_obj_root', {[LIT_CHARS ..]})]) (Com {[LIT_CHARS cd]} {[VarSub cwd]}) ) (ElseTrue) (While (Com {[LIT_CHARS true]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "LLVM source root not found."]]}) (Com {[LIT_CHARS read]} {[LIT_CHARS -p]} {[DQ [LIT_CHARS "Enter full path to LLVM source:"]]} {[LIT_CHARS REPLY]}) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub REPLY][LIT_CHARS /autoconf/m4]]}) (List (= scope= flags=0 words=[] bindings=[('llvm_src_root', {[DQ [VarSub REPLY]]})]) (= scope= flags=0 words=[] bindings=[('llvm_m4', {[DQ [VarSub REPLY][LIT_CHARS /autoconf/m4]]})]) (Com {[LIT_CHARS read]} {[LIT_CHARS -p]} {[DQ [LIT_CHARS "Enter full path to LLVM objects (empty for same as source):"]]} {[LIT_CHARS REPLY]}) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub REPLY]]}) (= scope= flags=0 words=[] bindings=[('llvm_obj_root', {[DQ [VarSub REPLY]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('llvm_obj_root', {[DQ [VarSub llvm_src_root]]})]) ) (Com {[LIT_CHARS break]}) ) ) ) ) ) (Com {[LIT_CHARS cp]} {[LIT_CHARS configure.ac]} {[LIT_CHARS configure.bak]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s#^LLVM_SRC_ROOT=.*#LLVM_SRC_ROOT="][\ LIT_ESCAPED_CHAR "\\\""][VarSub llvm_src_root][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "#"]]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s#^LLVM_OBJ_ROOT=.*#LLVM_OBJ_ROOT="][\ LIT_ESCAPED_CHAR "\\\""][VarSub llvm_obj_root][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "#"]]} {[LIT_CHARS configure.bak]} < (FilenameRedirectNode filename={[LIT_CHARS configure.ac]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Regenerating aclocal.m4 with aclocal"]]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS aclocal.m4]}) (AndOr OP_OR_IF (Com {[LIT_CHARS aclocal]} {[LIT_CHARS -I]} {[VarSub llvm_m4]} {[LIT_CHARS -I]} {[DQ [VarSub llvm_m4][LIT_CHARS /..]]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "aclocal failed"]]}) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Regenerating configure with autoconf"]]}) (AndOr OP_OR_IF (Com {[LIT_CHARS autoconf]} {[LIT_CHARS --warnings] [LIT_OTHER "="] [LIT_CHARS all]} {[LIT_CHARS -o]} {[LIT_CHARS ../configure]} {[LIT_CHARS configure.ac]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "autoconf failed"]]}) ) (Com {[LIT_CHARS cd]} {[LIT_CHARS ..]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) )