(command.CommandList children: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:CC) op:assign_op.Equal rhs:{<gcc>} spids:[191])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:STATIC) op: assign_op.Equal rhs: {<-static>} spids: [194] ) ] ) (C {<trap>} {(SQ <'rm -f conftest.c'>)} {<INT>} {<HUP>} {<TERM>}) (C {<rm>} {<-f>} {<findssl.log>}) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<conftest.c>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOD>} here_end_span_id: 252 stdin_parts: [ <'#include <stdio.h>\n'> <'int main(){printf('> <Id.Right_DoubleQuote '"'> <'0x%08xL'> <Id.Lit_BadBackslash '\\'> <n> <Id.Right_DoubleQuote '"'> <', SSLeay());}\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DEFAULT_LIBPATH) op: assign_op.Equal rhs: {<'/usr/lib'> <Id.Lit_Colon ':'> <'/usr/local/lib'>} spids: [263] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBPATH) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name LIBPATH> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonEquals ':='> arg_word: {($ Id.VSub_DollarName '$DEFAULT_LIBPATH')} ) ) } spids: [268] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LD_LIBRARY_PATH) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name LD_LIBRARY_PATH> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonEquals ':='> arg_word: {($ Id.VSub_DollarName '$DEFAULT_LIBPATH')} ) ) } spids: [275] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBRARY_PATH) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name LIBRARY_PATH> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonEquals ':='> arg_word: {($ Id.VSub_DollarName '$DEFAULT_LIBPATH')} ) ) } spids: [282] ) ] ) (C {<export>} {<LIBPATH>} {<LD_LIBRARY_PATH>} {<LIBRARY_PATH>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<which>} {<ls>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Id.Lit_Colon ':'>} {<which>} {<is>} {<defined>})] spids: [301 314] ) ] else_action: [ (command.ShFunction name: which body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:saveIFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$IFS'))} spids: [336] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [342] ) ] ) (command.ForEach iter_name: p iter_words: [{($ Id.VSub_DollarName '$PATH')}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-x>} { (DQ ($ Id.VSub_DollarName '$p') <'/'> ($ Id.VSub_Number '$1') ) } {<-a>} {<-f>} {(DQ ($ Id.VSub_DollarName '$p') <'/'> ($ Id.VSub_Number '$1'))} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$saveIFS'))} spids: [384] ) ] ) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$p') <'/'> ($ Id.VSub_Number '$1'))} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [358 381] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$saveIFS'))} spids: [410] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ) ] ) (C {<echo>} {<Searching>} {<Id.KW_For for>} {<OpenSSL>} {<header>} {<files.>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-x>} {(DQ (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<which>} {<locate>})))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:headers) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<locate>} {<opensslv.h>}) ) } spids: [468] ) ] ) ] spids: [447 465] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:headers) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<find>} {<'/'>} {<-name>} {<opensslv.h>} {<-print>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [480] ) ] ) ] ) (command.ForEach iter_name: header iter_words: [{($ Id.VSub_DollarName '$headers')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ver) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<awk>} {(SQ <'/OPENSSL_VERSION_NUMBER/{printf $3}'>)} {($ Id.VSub_DollarName '$header')} ) ) } spids: [512] ) ] ) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$ver') <' '> ($ Id.VSub_DollarName '$header'))}) ] ) ) (C {<echo>}) (C {<echo>} {<Searching>} {<Id.KW_For for>} {<OpenSSL>} {<shared>} {<library>} {<files.>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-x>} {(DQ (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<which>} {<locate>})))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libraries) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<locate>} {<libcrypto.s>}) ) } spids: [588] ) ] ) ] spids: [567 585] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libraries) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<find>} {<'/'>} {<-name>} {(SQ <'libcrypto.s*'>)} {<-print>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [600] ) ] ) ] ) (command.ForEach iter_name: lib iter_words: [{($ Id.VSub_DollarName '$libraries')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Subshell child: (command.CommandList children: [ (command.Simple words: [{<echo>} {(DQ <'Trying libcrypto '> ($ Id.VSub_DollarName '$lib'))}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<findssl.log>} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {($ Id.VSub_DollarName '$lib')}) ) } spids: [646] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBPATH) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$dir') <':'> ($ Id.VSub_DollarName '$LIBPATH')) } spids: [656] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LD_LIBRARY_PATH) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$dir') <':'> ($ Id.VSub_DollarName '$LIBPATH')) } spids: [664] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBRARY_PATH) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$dir') <':'> ($ Id.VSub_DollarName '$LIBPATH')) } spids: [672] ) ] ) (C {<export>} {<LIBPATH>} {<LD_LIBRARY_PATH>} {<LIBRARY_PATH>}) (command.Simple words: [ {(${ Id.VSub_Name CC)} {<-o>} {<conftest>} {<conftest.c>} {($ Id.VSub_DollarName '$lib')} ] redirects: [ (redir op: <Id.Redir_DGreat '2>>'> loc: (redir_loc.Fd fd:2) arg: {<findssl.log>} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-x>} {<'./conftest'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ver) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<'./conftest'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [719] ) ] ) (C {<rm>} {<-f>} {<'./conftest'>}) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$ver') <' '> ($ Id.VSub_DollarName '$lib'))} ) ] spids: [705 716] ) ] ) ] ) ) ] ) ) (C {<echo>}) (C {<echo>} {<Searching>} {<Id.KW_For for>} {<OpenSSL>} {<static>} {<library>} {<files.>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-x>} {(DQ (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<which>} {<locate>})))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libraries) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<locate>} {<libcrypto.a>}) ) } spids: [798] ) ] ) ] spids: [777 795] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libraries) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<find>} {<'/'>} {<-name>} {<libcrypto.a>} {<-print>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [810] ) ] ) ] ) (command.ForEach iter_name: lib iter_words: [{($ Id.VSub_DollarName '$libraries')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {($ Id.VSub_DollarName '$lib')}) ) } spids: [842] ) ] ) (command.Simple words: [{<echo>} {(DQ <'Trying libcrypto '> ($ Id.VSub_DollarName '$lib'))}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<findssl.log>})] do_fork: T ) (command.Simple words: [ {(${ Id.VSub_Name CC)} {(${ Id.VSub_Name STATIC)} {<-o>} {<conftest>} {<conftest.c>} {<-L> (${ Id.VSub_Name libdir)} {<-lcrypto>} ] redirects: [ (redir op: <Id.Redir_DGreat '2>>'> loc: (redir_loc.Fd fd:2) arg: {<findssl.log>} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-x>} {<'./conftest'>} {<Id.Lit_RBracket ']'>}) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ver) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<'./conftest'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } spids: [902] ) ] ) (C {<rm>} {<-f>} {<'./conftest'>}) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$ver') <' '> ($ Id.VSub_DollarName '$lib'))}) ] spids: [888 899] ) ] ) ] ) ) (C {<rm>} {<-f>} {<conftest.c>}) ] )