(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OS) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [22] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCH) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [25] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAKE_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3')} spids: [28] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.Op_Less left: {($ Id.VSub_Pound '$#')} right: {<3>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'No arguments provided. This script is intended to be run from Maven.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [32 45] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$MAKE_TARGET')} arms: [ (case_arm pat_list:[{<protoc-gen-javalite>}] spids:[69 70 73 -1]) (case_arm pat_list:[{<protoc>}] spids:[76 77 80 -1]) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} {(DQ <'Target '>) (DQ ($ Id.VSub_DollarName '$TARGET')) (DQ <' invalid.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [83 84 -1 104] ) ] ) (C {<export>} {<Id.Lit_VarLike 'PATH='> (DQ <'/bin:/usr/bin:'> ($ Id.VSub_DollarName '$PATH'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:E_PARAM_ERR) op: assign_op.Equal rhs: {<98>} spids: [131] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:E_ASSERT_FAILED) op: assign_op.Equal rhs: {<99>} spids: [134] ) ] ) (command.ShFunction name: fail body: (BraceGroup children: [ (C {<echo>} {(DQ <'ERROR: '> ($ Id.VSub_Number '$1'))}) (C {<echo>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$E_ASSERT_FAILED')} ) ] ) ) (command.ShFunction name: assertEq body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lineno) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3')} spids: [177] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$lineno'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'lineno not given'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$E_PARAM_ERR')} ) ] spids: [181 194] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {(DQ ($ Id.VSub_Number '$1'))} right: {(DQ ($ Id.VSub_Number '$2'))} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'Assertion failed: '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_Number '$1') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' == '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_Number '$2') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } ) (C {<echo>} { (DQ <'File '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_Number '$0') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <', line '> ($ Id.VSub_DollarName '$lineno') ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$E_ASSERT_FAILED')} ) ] spids: [213 230] ) ] ) ] ) ) (command.ShFunction name: checkArch body: (BraceGroup children: [ (C {<echo>}) (C {<echo>} {(DQ <'Checking file format ...'>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalOr left: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<windows>} ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<linux>} ) ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:format) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<objdump>} {<-f>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<grep>} {<-o>} {(DQ <'file format .*'> <Id.Lit_Dollar '$'>)}) (C {<grep>} {<-o>} {(DQ <'[^ ]*'> <Id.Lit_Dollar '$'>)}) ] negated: F ) ) ) } spids: [324] ) ] ) (C {<echo>} {<Id.Lit_VarLike 'Format='> ($ Id.VSub_DollarName '$format')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<linux>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {($ Id.VSub_DollarName '$format')} {(DQ <elf32-i386>)} {($ Id.VSub_DollarName '$LINENO')} ) ] spids: [384 399] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {($ Id.VSub_DollarName '$format')} {(DQ <elf64-x86-64>)} {($ Id.VSub_DollarName '$LINENO')} ) ] spids: [413 428] ) ] else_action: [ (C {<fail>} {(DQ <'Unsupported arch: '> ($ Id.VSub_DollarName '$ARCH'))}) ] ) ] spids: [366 381] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {($ Id.VSub_DollarName '$format')} {(DQ <pei-i386>)} {($ Id.VSub_DollarName '$LINENO')} ) ] spids: [463 478] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {($ Id.VSub_DollarName '$format')} {(DQ <pei-x86-64>)} {($ Id.VSub_DollarName '$LINENO')} ) ] spids: [492 507] ) ] else_action: [ (C {<fail>} {(DQ <'Unsupported arch: '> ($ Id.VSub_DollarName '$ARCH'))}) ] ) ] ) ] spids: [296 321] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<osx>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:format) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<file>} {<-b>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<grep>} {<-o>} {(DQ <'[^ ]*'> <Id.Lit_Dollar '$'>)}) ] negated: F ) ) ) } spids: [556] ) ] ) (C {<echo>} {<Id.Lit_VarLike 'Format='> ($ Id.VSub_DollarName '$format')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {($ Id.VSub_DollarName '$format')} {(DQ <i386>)} {($ Id.VSub_DollarName '$LINENO')} ) ] spids: [587 602] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {($ Id.VSub_DollarName '$format')} {(DQ <x86_64>)} {($ Id.VSub_DollarName '$LINENO')} ) ] spids: [616 631] ) ] else_action: [ (C {<fail>} {(DQ <'Unsupported arch: '> ($ Id.VSub_DollarName '$ARCH'))}) ] ) ] spids: [538 553] ) ] else_action: [(C {<fail>} {(DQ <'Unsupported system: '> ($ Id.VSub_DollarName '$OS'))})] ) (C {<echo>}) ] ) ) (command.ShFunction name: checkDependencies body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<windows>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dump_cmd) op: assign_op.Equal rhs: {(SQ <'objdump -x '>) (DQ ($ Id.VSub_Number '$1')) (SQ <' | fgrep "DLL Name"'>) } spids: [713] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:white_list) op: assign_op.Equal rhs: { (DQ <KERNEL32> <Id.Lit_BadBackslash '\\'> <.dll> <Id.Lit_BadBackslash '\\'> <'|msvcrt'> <Id.Lit_BadBackslash '\\'> <.dll> ) } spids: [725] ) ] ) ] spids: [695 710] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<linux>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dump_cmd) op: assign_op.Equal rhs: {(SQ <'ldd '>) (DQ ($ Id.VSub_Number '$1'))} spids: [755] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:white_list) op: assign_op.Equal rhs: { (DQ <linux-gate> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.1> <Id.Lit_BadBackslash '\\'> <'|libpthread'> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.0> <Id.Lit_BadBackslash '\\'> <'|libm'> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.6> <Id.Lit_BadBackslash '\\'> <'|libc'> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.6> <Id.Lit_BadBackslash '\\'> <'|ld-linux'> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.2> ) } spids: [782] ) ] ) ] spids: [764 779] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:white_list) op: assign_op.Equal rhs: { (DQ <linux-vdso> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.1> <Id.Lit_BadBackslash '\\'> <'|libpthread'> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.0> <Id.Lit_BadBackslash '\\'> <'|libm'> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.6> <Id.Lit_BadBackslash '\\'> <'|libc'> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.6> <Id.Lit_BadBackslash '\\'> <'|ld-linux-x86-64'> <Id.Lit_BadBackslash '\\'> <.so> <Id.Lit_BadBackslash '\\'> <.2> ) } spids: [834] ) ] ) ] spids: [816 831] ) ] ) ] spids: [737 752] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<osx>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dump_cmd) op: assign_op.Equal rhs: {(SQ <'otool -L '>) (DQ ($ Id.VSub_Number '$1')) (SQ <' | fgrep dylib'>)} spids: [889] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:white_list) op: assign_op.Equal rhs: { (DQ <libz> <Id.Lit_BadBackslash '\\'> <.1> <Id.Lit_BadBackslash '\\'> <.dylib> <Id.Lit_BadBackslash '\\'> <'|libstdc++'> <Id.Lit_BadBackslash '\\'> <.6> <Id.Lit_BadBackslash '\\'> <.dylib> <Id.Lit_BadBackslash '\\'> <'|libSystem'> <Id.Lit_BadBackslash '\\'> <.B> <Id.Lit_BadBackslash '\\'> <.dylib> ) } spids: [901] ) ] ) ] spids: [871 886] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalOr left: (bool_expr.Unary op_id: Id.BoolUnary_z child: {(DQ ($ Id.VSub_DollarName '$white_list'))} ) right: (bool_expr.Unary op_id: Id.BoolUnary_z child: {(DQ ($ Id.VSub_DollarName '$dump_cmd'))} ) ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<fail>} { (DQ <'Unsupported platform '> ($ Id.VSub_DollarName '$OS') <-> ($ Id.VSub_DollarName '$ARCH') <.> ) } ) ] spids: [926 947] ) ] ) (C {<echo>} {(DQ <'Checking for expected dependencies ...'>)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {<eval>} {($ Id.VSub_DollarName '$dump_cmd')}) (C {<grep>} {<-i>} {(DQ ($ Id.VSub_DollarName '$white_list'))}) ] negated: F ) (C {<fail>} {(DQ <'doesn\'t show any expected dependencies'>)}) ] ) (C {<echo>} {(DQ <'Checking for unexpected dependencies ...'>)}) (command.Pipeline children: [ (C {<eval>} {($ Id.VSub_DollarName '$dump_cmd')}) (C {<grep>} {<-i>} {<-v>} {(DQ ($ Id.VSub_DollarName '$white_list'))}) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ret) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [1018] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$ret')} right: {<0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'found unexpected dependencies (listed above).'>)})] spids: [1022 1035] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {($ Id.VSub_DollarName '$ret')} right: {<1>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'Error when checking dependencies.'>)})] spids: [1045 1058] ) ] ) (C {<echo>} {(DQ <'Dependencies look good.'>)}) (C {<echo>}) ] ) ) (C {<echo>} { (DQ <'Building protoc, OS='> ($ Id.VSub_DollarName '$OS') <' ARCH='> ($ Id.VSub_DollarName '$ARCH') <' TARGET='> ($ Id.VSub_DollarName '$TARGET') ) } ) (C {<cd>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(DQ ($ Id.VSub_Number '$0'))}) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WORKING_DIR) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<pwd>}))} spids: [1117] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CONFIGURE_ARGS) op: assign_op.Equal rhs: {(DQ <--disable-shared>)} spids: [1122] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_FILE) op: assign_op.Equal rhs: {<'target/'> ($ Id.VSub_DollarName '$MAKE_TARGET') <.exe>} spids: [1128] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<windows>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAKE_TARGET) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name MAKE_TARGET) <.exe>)} spids: [1151] ) ] ) ] spids: [1133 1148] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CXXFLAGS) op: assign_op.Equal rhs: {(DQ <-DNDEBUG>)} spids: [1168] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: assign_op.Equal rhs: {(DQ )} spids: [1173] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<uname>}) ) ) } right: {<CYGWIN> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {(DQ ($ Id.VSub_DollarName '$OS'))} {<windows>} {($ Id.VSub_DollarName '$LINENO')} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CONFIGURE_ARGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$CONFIGURE_ARGS') <' --host=x86_64-w64-mingw32'> ) } spids: [1236] ) ] ) ] spids: [1218 1233] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CONFIGURE_ARGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$CONFIGURE_ARGS') <' --host=i686-pc-mingw32'>) } spids: [1261] ) ] ) ] spids: [1243 1258] ) ] else_action: [ (C {<fail>} {(DQ <'Unsupported arch by CYGWIN: '> ($ Id.VSub_DollarName '$ARCH'))}) ] ) ] spids: [1178 1196] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<uname>}) ) ) } right: {<MINGW32> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {(DQ ($ Id.VSub_DollarName '$OS'))} {<windows>} {($ Id.VSub_DollarName '$LINENO')} ) (C {<assertEq>} {(DQ ($ Id.VSub_DollarName '$ARCH'))} {<x86_32>} {($ Id.VSub_DollarName '$LINENO')} ) ] spids: [1281 1299] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<uname>}) ) ) } right: {<MINGW64> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {(DQ ($ Id.VSub_DollarName '$OS'))} {<windows>} {($ Id.VSub_DollarName '$LINENO')} ) (C {<assertEq>} {(DQ ($ Id.VSub_DollarName '$ARCH'))} {<x86_64>} {($ Id.VSub_DollarName '$LINENO')} ) ] spids: [1323 1341] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<uname>}) ) ) } right: {<Linux> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<linux>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CXXFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CXXFLAGS') <' -m64'>)} spids: [1422] ) ] ) ] spids: [1404 1419] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CXXFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CXXFLAGS') <' -m32'>)} spids: [1447] ) ] ) ] spids: [1429 1444] ) ] else_action: [ (C {<fail>} {(DQ <'Unsupported arch: '> ($ Id.VSub_DollarName '$ARCH'))}) ] ) ] spids: [1386 1401] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<windows>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CONFIGURE_ARGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CONFIGURE_ARGS'))} spids: [1498] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CONFIGURE_ARGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$CONFIGURE_ARGS') <' --host=x86_64-w64-mingw32'> ) } spids: [1522] ) ] ) ] spids: [1504 1519] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CONFIGURE_ARGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$CONFIGURE_ARGS') <' --host=i686-w64-mingw32'> ) } spids: [1547] ) ] ) ] spids: [1529 1544] ) ] else_action: [ (C {<fail>} {(DQ <'Unsupported arch: '> ($ Id.VSub_DollarName '$ARCH'))}) ] ) ] spids: [1468 1483] ) ] else_action: [ (C {<fail>} { (DQ <'Cannot build '> ($ Id.VSub_DollarName '$OS') <' on '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<uname>}) ) ) } ) ] ) ] spids: [1365 1383] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<uname>}) ) ) } right: {<Darwin> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<assertEq>} {(DQ ($ Id.VSub_DollarName '$OS'))} {<osx>} {($ Id.VSub_DollarName '$LINENO')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CXXFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CXXFLAGS') <' -mmacosx-version-min=10.7'>)} spids: [1621] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_64>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CXXFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CXXFLAGS') <' -m64'>)} spids: [1646] ) ] ) ] spids: [1628 1643] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$ARCH'))} right: {<x86_32>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CXXFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$CXXFLAGS') <' -m32'>)} spids: [1671] ) ] ) ] spids: [1653 1668] ) ] else_action: [(C {<fail>} {(DQ <'Unsupported arch: '> ($ Id.VSub_DollarName '$ARCH'))})] ) ] spids: [1585 1603] ) ] else_action: [ (C {<fail>} { (DQ <'Unsupported system: '> (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<uname>})) ) } ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<osx>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$LDFLAGS') <' -static-libgcc -static-libstdc++ -s'>)} spids: [1733] ) ] ) ] spids: [1715 1730] ) ] ) (C {<export>} {<CXXFLAGS>} {<LDFLAGS>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DPipe] children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$WORKING_DIR')) <'/..'>}) (C {<'./configure'>} {($ Id.VSub_DollarName '$CONFIGURE_ARGS')}) (C {<cd>} {<src>}) (C {<make>} {<clean>}) (C {<make>} {($ Id.VSub_DollarName '$MAKE_TARGET')}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$WORKING_DIR'))}) (C {<mkdir>} {<-p>} {<target>}) (C {<cp>} {<'../src/'> ($ Id.VSub_DollarName '$MAKE_TARGET')} {($ Id.VSub_DollarName '$TARGET_FILE')} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$OS'))} right: {<osx>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<strip>} {($ Id.VSub_DollarName '$TARGET_FILE')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] spids: [1816 1831] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<checkArch>} {($ Id.VSub_DollarName '$TARGET_FILE')}) (C {<checkDependencies>} {($ Id.VSub_DollarName '$TARGET_FILE')}) ] ) ] )