(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (= scope= flags=0 words=[] bindings=[('RUN_INSTALL_NAME_TOOL', {[LIT_CHARS 1]})]) (If (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub #]} {[LIT_CHARS -eq]} {[LIT_CHARS 3]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub 1]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS -I]]} {[LIT_DBRACKET_LIKE "]"]} ) ) (List (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[] bindings=[('RUN_INSTALL_NAME_TOOL', {[SQ ]})]) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub #]} {[LIT_CHARS -ne]} {[LIT_CHARS 2]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub 0][LIT_CHARS " [-I] FRAMEWORK DESTINATION_DIR"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('FRAMEWORK', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('DESTINATION_DIR', {[DQ [VarSub 2]]})]) (= scope= flags=0 words=[] bindings=[('FRAMEWORK_NAME', {[DQ [ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub FRAMEWORK]]})]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub FRAMEWORK_NAME transform_ops=[Slice {A1 NODE_UNARY_MINUS {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 10]}} } None]]]} {[LIT_NEQUAL "!="]} {[DQ [LIT_CHARS .framework]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 0][LIT_CHARS ": "][VarSub FRAMEWORK_NAME][LIT_CHARS " does not end in .framework"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('FRAMEWORK_NAME_NOEXT', {[DQ [VarSub FRAMEWORK_NAME transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub FRAMEWORK_NAME transform_ops=[(#len)]]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 10]}}}]}}]]]})]) (= scope= flags=0 words=[] bindings=[('VERSIONS', {[DQ [VarSub FRAMEWORK][LIT_CHARS /Versions]]})]) (= scope= flags=0 words=[] bindings=[('CURRENT_VERSION_LINK', {[DQ [VarSub VERSIONS][LIT_CHARS /Current]]})]) (= scope= flags=0 words=[] bindings=[('CURRENT_VERSION_ID', {[DQ [ComSub (Com {[LIT_CHARS readlink]} {[DQ [VarSub VERSIONS][LIT_CHARS /Current]]})]]})]) (= scope= flags=0 words=[] bindings=[('CURRENT_VERSION', {[DQ [VarSub VERSIONS][LIT_CHARS /][VarSub CURRENT_VERSION_ID]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[DQ [VarSub CURRENT_VERSION][LIT_CHARS /][VarSub FRAMEWORK_NAME_NOEXT]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 0][LIT_CHARS ": "][VarSub FRAMEWORK_NAME][LIT_CHARS " does not contain a dylib"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('DESTINATION', {[DQ [VarSub DESTINATION_DIR][LIT_CHARS /][VarSub FRAMEWORK_NAME]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub DESTINATION_DIR]]} ) (Com {[LIT_CHARS rsync]} {[LIT_CHARS -acC]} {[LIT_CHARS --delete]} {[LIT_CHARS --exclude]} {[LIT_CHARS Headers]} {[LIT_CHARS --exclude]} {[LIT_CHARS PrivateHeaders]} {[LIT_CHARS --include]} {[SQ ]} {[DQ [VarSub CURRENT_VERSION][LIT_CHARS /]]} {[DQ [VarSub DESTINATION]]} ) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub RUN_INSTALL_NAME_TOOL]]}}) (List (= scope= flags=0 words=[] bindings=[('FRAMEWORK_DYLIB', {[DQ [VarSub DESTINATION][LIT_CHARS /][VarSub FRAMEWORK_NAME_NOEXT]]})]) (= scope= flags=0 words=[] bindings=[('LC_ID_DYLIB_OLD', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS otool]} {[LIT_CHARS -l]} {[DQ [VarSub FRAMEWORK_DYLIB]]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -A10]} {[DQ [LIT_CHARS "^ *cmd LC_ID_DYLIB"][LIT_OTHER "$"]]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -m1]} {[DQ [LIT_CHARS "^ *name"]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -Ee]} {[SQ ]}) )]]})]) (= scope= flags=0 words=[] bindings=[('VERSION_PATH', {[DQ [LIT_CHARS /Versions/][VarSub CURRENT_VERSION_ID][LIT_CHARS /][VarSub FRAMEWORK_NAME_NOEXT]]})]) (= scope= flags=0 words=[] bindings=[('LC_ID_DYLIB_NEW', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub LC_ID_DYLIB_OLD]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -Ee]} {[DQ [LIT_CHARS "s%"][VarSub VERSION_PATH][LIT_OTHER "$"][LIT_CHARS "%/"][VarSub FRAMEWORK_NAME_NOEXT][LIT_CHARS "%"]]}) )]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub LC_ID_DYLIB_NEW]]} {[LIT_NEQUAL "!="]} {[DQ [VarSub LC_ID_DYLIB_OLD]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS install_name_tool]} {[LIT_CHARS -id]} {[DQ [VarSub LC_ID_DYLIB_NEW]]} {[DQ [VarSub FRAMEWORK_DYLIB]]} ) ) ) ) )