(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcversion) op: Equal rhs: {(SQ <'$MirOS: src/bin/mksh/Build.sh,v 1.697 2016/03/04 18:28:39 tg Exp $'>)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:LC_ALL) op:Equal rhs:{(C)})] ) (C {(export)} {(LC_ALL)}) (command.Case to_match: {($ VSub_DollarName '$ZSH_VERSION') (Lit_Other ':') ($ VSub_DollarName '$VERSION')} arms: [ (case_arm pat_list: [{(Lit_Other ':') (zsh) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ZSH_VERSION) op:Equal rhs:{(2)})] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} { (DQ (braced_var_sub token: <VSub_Name ZSH_VERSION> suffix_op: (suffix_op.Unary op_id:VTest_Plus arg_word:{(x)}) ) ) } ) (command.Subshell command_list: (command.CommandList children:[(C {(emulate)} {(sh)})]) redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(emulate)} {(sh)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:NULLCMD) op:Equal rhs:{(Lit_Other ':')})] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(test)} {(-d)} {(/usr/xpg4/bin/.)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: Equal rhs: {(/usr/xpg4/bin) (Lit_Other ':') ($ VSub_DollarName '$PATH')} ) ] ) (C {(export)} {(PATH)}) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:nl) op:Equal rhs:{(SQ <'\n'>)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:safeIFS) op:Equal rhs:{(SQ <'\t'>)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:safeIFS) op: Equal rhs: {(DQ (' ') ($ VSub_DollarName '$safeIFS') ($ VSub_DollarName '$nl'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: Equal rhs: {($ VSub_DollarName '$safeIFS')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:allu) op: Equal rhs: {(QWERTYUIOPASDFGHJKLZXCVBNM)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alll) op: Equal rhs: {(qwertyuiopasdfghjklzxcvbnm)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:alln) op:Equal rhs:{(0123456789)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:alls) op: Equal rhs: {(______________________________________________________________)} ) ] ) (command.ShFunction name: genopt_die body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [{(echo)} {(DQ ('E: ') ($ VSub_Star '$*'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [ {(echo)} { (DQ ("E: in '") ($ VSub_DollarName '$srcfile') ("': '") ($ VSub_DollarName '$line') ("'") ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) ] else_action: [ (command.Simple words: [ {(echo)} { (DQ ("E: invalid input in '") ($ VSub_DollarName '$srcfile') ("': '") ($ VSub_DollarName '$line') ("'") ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$bn') (.gen))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ) (command.ShFunction name: genopt_soptc body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optc) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$line'))}) (C {(sed)} {(SQ <'s/^[<>]\\(.\\).*$/\\1/'>)}) ] negated: F ) ] ) ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$optc'))} {(Lit_Equals '=')} {(x) (SQ <'|'>)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optclo) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$optc'))}) (C {(tr)} {($ VSub_DollarName '$allu')} {($ VSub_DollarName '$alll')}) ] negated: F ) ] ) ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_DollarName '$optc'))} {(Lit_Equals '=')} {(x) (DQ ($ VSub_DollarName '$optclo'))} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:islo) op:Equal rhs:{(1)})] ) ] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:islo) op:Equal rhs:{(0)})] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sym) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$line'))}) (C {(sed)} {(SQ <'s/^[<>]/|/'>)}) ] negated: F ) ] ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_str) op: Equal rhs: {($ VSub_DollarName '$o_str') ($ VSub_DollarName '$nl') (DQ ('<') ($ VSub_DollarName '$optclo') ($ VSub_DollarName '$islo') ($ VSub_DollarName '$sym') ) } ) ] ) ] ) ) (command.ShFunction name: genopt_scond body: (command.BraceGroup children: [ (command.Case to_match: {(x) ($ VSub_DollarName '$cond')} arms: [ (case_arm pat_list: [{(x)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:cond) op:Equal rhs:(word.Empty))] ) ] ) (case_arm pat_list: [{(x) (Lit_Star '*') (SQ <' '>) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$cond'))}) (C {(sed)} {(SQ <'s/^ //'>)}) ] negated: F ) ] ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: Equal rhs: {(DQ ('#if ') ($ VSub_DollarName '$cond'))} ) ] ) ] ) (case_arm pat_list: [{(x) (SQ <'!'>) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$cond'))}) (C {(sed)} {(SQ <'s/^!//'>)}) ] negated: F ) ] ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: Equal rhs: {(DQ ('#ifndef ') ($ VSub_DollarName '$cond'))} ) ] ) ] ) (case_arm pat_list: [{(x) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: Equal rhs: {(DQ ('#ifdef ') ($ VSub_DollarName '$cond'))} ) ] ) ] ) ] ) ] ) ) (command.ShFunction name: do_genopt body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcfile) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_DollarName '$srcfile'))}) (C {(genopt_die)} {(Source)} {(file)} {(word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (srcfile)} {(not)} {(set.)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bn) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(basename)} {(DQ ($ VSub_DollarName '$srcfile'))}) (C {(sed)} {(SQ <'s/.opt$//'>)}) ] negated: F ) ] ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_hdr) op: Equal rhs: {(SQ <'/* +++ GENERATED FILE +++ DO NOT EDIT +++ */'>)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:o_gen) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:o_str) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:o_sym) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ddefs) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:state) op:Equal rhs:{(0)})] ) (command.Simple words: [{(exec)}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$srcfile'))} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:IFS) op:Equal rhs:(word.Empty))] ) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (command.Simple words: [{(read)} {(line)}] more_env: [(env_pair name:IFS val:(word.Empty))] ) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: Equal rhs: {($ VSub_DollarName '$safeIFS')} ) ] ) (command.Case to_match: {($ VSub_DollarName '$state') (Lit_Other ':') ($ VSub_DollarName '$line')} arms: [ (case_arm pat_list: [{(2) (Lit_Other ':') (SQ <'|'>) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_sym) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$line'))}) (C {(sed)} {(SQ <'s/^.//'>)}) ] negated: F ) ] ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#undef F0')) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#undef FN')) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$ddefs')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:state) op: Equal rhs: {(3)} ) ] ) ] ) (case_arm pat_list: [{(1) (Lit_Other ':') (Lit_Other '@') (Lit_Other '@')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#endif')) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#ifndef F0')) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#define F0 FN')) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#endif')) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:state) op: Equal rhs: {(2)} ) ] ) ] ) (case_arm pat_list: [ {(Lit_Star '*') (Lit_Other ':') (Lit_Other '@') (Lit_Other '@') (Lit_Star '*') } ] action: [(C {(genopt_die)})] ) (case_arm pat_list: [ {(0) (Lit_Other ':') (/) (word_part.EscapedLiteral token: <Lit_EscapedChar '\\*'> ) (-) } {(0) (Lit_Other ':') (word_part.EscapedLiteral token: <Lit_EscapedChar '\\ '> ) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\*'>) (Lit_Star '*') } {(0) (Lit_Other ':')} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_hdr) op: Equal rhs: {($ VSub_DollarName '$o_hdr') ($ VSub_DollarName '$nl') ($ VSub_DollarName '$line') } ) ] ) ] ) (case_arm pat_list: [ {(0) (Lit_Other ':') (Lit_Other '@') (Lit_Star '*')} {(1) (Lit_Other ':') (Lit_Other '@') (Lit_Star '*')} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sym) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$line'))}) (C {(sed)} {(SQ <'s/^@//'>)}) ] negated: F ) ] ) ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$state')} {(Lit_Equals '=')} {(0)} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#if defined(') ($ VSub_DollarName '$sym') (')')) } ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#elif defined(') ($ VSub_DollarName '$sym') (')')) } ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ddefs) op: Equal rhs: { (DQ ($ VSub_DollarName '$ddefs') ($ VSub_DollarName '$nl') ('#undef ') ($ VSub_DollarName '$sym') ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:state) op: Equal rhs: {(1)} ) ] ) ] ) (case_arm pat_list: [ {(0) (Lit_Other ':') (Lit_Star '*')} {(3) (Lit_Other ':') (Lit_Star '*')} ] action: [(C {(genopt_die)})] ) (case_arm pat_list: [{(1) (Lit_Other ':') (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') ($ VSub_DollarName '$line') } ) ] ) ] ) (case_arm pat_list: [ {(2) (Lit_Other ':') (SQ <'<'>) (Lit_Star '*') (SQ <'|'>) (Lit_Star '*')} ] action: [(C {(genopt_soptc)})] ) (case_arm pat_list: [ {(2) (Lit_Other ':') (SQ <'>'>) (Lit_Star '*') (SQ <'|'>) (Lit_Star '*')} ] action: [ (C {(genopt_soptc)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cond) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$line'))}) (C {(sed)} {(SQ <'s/^[^|]*|//'>)}) ] negated: F ) ] ) ) } ) ] ) (C {(genopt_scond)}) (command.Case to_match: {($ VSub_DollarName '$optc')} arms: [ (case_arm pat_list: [{(SQ <'|'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optc) op: Equal rhs: {(0)} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optc) op: Equal rhs: {(word_part.EscapedLiteral token:<Lit_EscapedChar "\\'">) ($ VSub_DollarName '$optc') (word_part.EscapedLiteral token:<Lit_EscapedChar "\\'">) } ) ] ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (command.Simple words: [{(read)} {(line)}] more_env: [(env_pair name:IFS val:(word.Empty))] ) (C {(genopt_die)} {(Unexpected)} {(EOF)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: Equal rhs: {($ VSub_DollarName '$safeIFS')} ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$cond'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ($ VSub_DollarName '$cond')) } ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ($ VSub_DollarName '$line') (', ') ($ VSub_DollarName '$optc') (')') ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$cond'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:o_gen) op: Equal rhs: {($ VSub_DollarName '$o_gen') ($ VSub_DollarName '$nl') (DQ ('#endif')) } ) ] ) ] ) ] ) ] ) ] ) ) (command.Case to_match: {($ VSub_DollarName '$state') (Lit_Other ':') ($ VSub_DollarName '$o_sym')} arms: [ (case_arm pat_list: [{(3) (Lit_Other ':')}] action: [(C {(genopt_die)} {(Expected)} {(optc)} {(sym)} {(at)} {(EOF)})] ) (case_arm pat_list:[{(3) (Lit_Other ':') (Lit_Star '*')}]) (case_arm pat_list: [{(Lit_Star '*')}] action: [(C {(genopt_die)} {(Missing)} {(EOF)} {(marker)})] ) ] ) (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$o_str'))}) (C {(sort)}) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (command.Simple words: [{(read)} {(x)} {(opts)} {(cond)}] more_env: [(env_pair name:IFS val:{(SQ <'|'>)})] ) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: Equal rhs: {($ VSub_DollarName '$safeIFS')} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$x'))}) (command.ControlFlow token: <ControlFlow_Continue continue> ) ] ) (C {(genopt_scond)}) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$cond'))}) (C {(echo)} {(DQ ($ VSub_DollarName '$cond'))}) ] ) (C {(echo)} { (DQ (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) ($ VSub_DollarName '$opts') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) ) } ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$cond'))}) (C {(echo)} {(DQ ('#endif'))}) ] ) ] ) ) (command.BraceGroup children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$o_hdr'))}) (C {(echo)} {(DQ ('#ifndef ') ($ VSub_DollarName '$o_sym') ($ VSub_DollarName '$o_gen'))} ) (C {(echo)} {(DQ ('#else'))}) (C {(cat)}) (C {(echo)} {(DQ ('#undef ') ($ VSub_DollarName '$o_sym'))}) (C {(echo)} {(DQ ('#endif'))}) ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$bn') (.gen))} ) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: Equal rhs: {($ VSub_DollarName '$safeIFS')} ) ] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_DollarName '$BUILDSH_RUN_GENOPT'))} {(Lit_Equals '=')} {(x) (DQ (1))} ) terminator: <Op_Semi ';'> ) ] action: [(C {(KW_Set set)} {(x)} {(-G)} {(DQ ($ VSub_DollarName '$srcfile'))}) (C {(shift)})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_Number '$1'))} {(Lit_Equals '=')} {(x) (DQ (-G))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(do_genopt)} {(DQ ($ VSub_Number '$2'))}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_QMark '$?')} ) ] ) ] ) (C {(echo)} {(DQ ('For the build logs, demonstrate that /dev/null and /dev/tty exist:'))}) (C {(ls)} {(-l)} {(/dev/null)} {(/dev/tty)}) (command.ShFunction name: v body: (command.BraceGroup children: [ (C {($ VSub_DollarName '$e')} {(DQ ($ VSub_Star '$*'))}) (C {(eval)} {(DQ ($ VSub_At '$@'))}) ] ) ) (command.ShFunction name: vv body: (command.BraceGroup children: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:_c) op:Equal rhs:{($ VSub_Number '$1')})] ) (C {(shift)}) (command.Simple words: [ {($ VSub_DollarName '$e')} { (DQ (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (' ') ($ VSub_Star '$*')) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) (command.Simple words: [{(eval)} {(DQ ($ VSub_At '$@'))}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(vv.out)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.Simple words: [{(sed)} {(DQ ('s\x07^\x07') (${ VSub_Name _c) (' \x07'))}] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(vv.out)})] ) ] ) ) (command.ShFunction name: vq body: (command.BraceGroup children:[(C {(eval)} {(DQ ($ VSub_At '$@'))})]) ) (command.ShFunction name: rmf body: (command.BraceGroup children: [ (command.ForEach iter_name: _f iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ VSub_DollarName '$_f')} arms: [ (case_arm pat_list: [ {(Build.sh)} {(check.pl)} {(check.t)} {(dot.mkshrc)} {(Lit_Star '*') (.1)} {(Lit_Star '*') (.c)} {(Lit_Star '*') (.h)} {(Lit_Star '*') (.ico)} {(Lit_Star '*') (.opt)} ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [(C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$_f'))})] ) ] ) ] ) ) ] ) ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tcfn) op:Equal rhs:{(no)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:bi) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ui) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ao) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fx) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:me) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [(C {(basename)} {(DQ ($ VSub_Number '$0'))})] ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:orig_CFLAGS) op: Equal rhs: {($ VSub_DollarName '$CFLAGS')} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(x)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oldish_ed) op: Equal rhs: {(stdout-ed) (Lit_Comma ',') (no-stderr-ed)} ) ] ) (command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(test)} {(-t)} {(1)}) terminator:<Op_Semi ';'>)] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:bi) op:Equal rhs:{(SQ <'\x1b[1m'>)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ui) op:Equal rhs:{(SQ <'\x1b[4m'>)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ao) op:Equal rhs:{(SQ <'\x1b[0m'>)})] ) ] ) ] ) (command.ShFunction name: upper body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(echo)} {(Lit_Other ':') (DQ ($ VSub_At '$@'))}) (C {(sed)} {(SQ <'s/^://'>)}) (C {(tr)} {($ VSub_DollarName '$alll')} {($ VSub_DollarName '$allu')}) ] negated: F ) ] ) ) (command.ShFunction name: ac_testdone body: (command.BraceGroup children: [ (C {(eval)} {(HAVE_) ($ VSub_DollarName '$fu') (Lit_Equals '=') ($ VSub_DollarName '$fv')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fr) op:Equal rhs:{(no)})] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(0)} {(Lit_Equals '=')} {($ VSub_DollarName '$fv')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fr) op:Equal rhs:{(yes)})] ) ] ) (C {($ VSub_DollarName '$e')} { (DQ ($ VSub_DollarName '$bi') ('==> ') ($ VSub_DollarName '$fd') (...) ($ VSub_DollarName '$ao') (' ') ($ VSub_DollarName '$ui') ($ VSub_DollarName '$fr') ($ VSub_DollarName '$ao') ($ VSub_DollarName '$fx') ) } ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fx) op:Equal rhs:(word.Empty))] ) ] ) ) (command.ShFunction name: ac_cache body: (command.BraceGroup children: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:f) op:Equal rhs:{($ VSub_Number '$1')})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fu) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [(C {(upper)} {($ VSub_DollarName '$f')})] ) ) } ) ] ) (C {(eval)} {(Lit_VarLike 'fv=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (HAVE_) ($ VSub_DollarName '$fu') } ) (command.Case to_match: {($ VSub_DollarName '$fv')} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fx) op: Equal rhs: {(SQ <' (cached)'>)} ) ] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) ) (command.ShFunction name: ac_testinit body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(ac_cache)} {($ VSub_Number '$1')}) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_Number '$2'))} {(Lit_Equals '=')} {(x) (DQ ('!'))}) (C {(shift)}) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) (DQ ($ VSub_Number '$2'))} {(Lit_Equals '=')} {(x) (DQ )}) (C {(shift)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fd) op: Equal rhs: { (braced_var_sub token: <VSub_Number 3> suffix_op: (suffix_op.Unary op_id: VTest_Hyphen arg_word: {($ VSub_DollarName '$f')} ) ) } ) ] ) (C {(ac_testdone)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fc) op:Equal rhs:{(0)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_Number '$2'))} {(Lit_Equals '=')} {(x) (DQ )}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ft) op:Equal rhs:{(1)})] ) ] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_Number '$2'))} {(Lit_Equals '=')} {(x) (DQ ('!'))} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fc) op:Equal rhs:{(1)})] ) (C {(shift)}) ] ) ] ) (C {(eval)} {(Lit_VarLike 'ft=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (HAVE_) (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [(C {(upper)} {($ VSub_Number '$2')})] ) ) } ) (C {(shift)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fd) op: Equal rhs: { (braced_var_sub token: <VSub_Number 3> suffix_op: (suffix_op.Unary op_id: VTest_Hyphen arg_word: {($ VSub_DollarName '$f')} ) ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$fc')} {(Lit_Equals '=')} {(DQ ($ VSub_DollarName '$ft'))} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: Equal rhs: {($ VSub_Number '$2')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fx) op: Equal rhs: {(SQ <' (implied)'>)} ) ] ) (C {(ac_testdone)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) ] ) (C {($ VSub_DollarName '$e')} {(...)} {($ VSub_DollarName '$fd')}) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) ) (command.ShFunction name: ac_testnnd body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_Number '$1'))} {(Lit_Equals '=')} {(x) (DQ ('!'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fr) op:Equal rhs:{(1)})] ) (C {(shift)}) ] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fr) op:Equal rhs:{(0)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(ac_testinit)} {(DQ ($ VSub_At '$@'))}) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (command.Simple words: [{(cat)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.c)})] ) (C {(vv)} {(SQ <']'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' conftest.c ') ($ VSub_DollarName '$LIBS') (' ') ($ VSub_DollarName '$ccpr') ) } ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$tcfn')} {(Lit_Equals '=')} {(no)}) (C {(test)} {(-f)} {(a.out)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tcfn) op:Equal rhs:{(a.out)})] ) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$tcfn')} {(Lit_Equals '=')} {(no)}) (C {(test)} {(-f)} {(a.exe)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tcfn) op:Equal rhs:{(a.exe)})] ) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$tcfn')} {(Lit_Equals '=')} {(no)}) (C {(test)} {(-f)} {(conftest.exe)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tcfn) op:Equal rhs:{(conftest.exe)})] ) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$tcfn')} {(Lit_Equals '=')} {(no)}) (C {(test)} {(-f)} {(conftest)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tcfn) op:Equal rhs:{(conftest)})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-f)} {($ VSub_DollarName '$tcfn')}) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$fr')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(1)})] ) ] ) ] ) ] else_action: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(0)} {(Lit_Equals '=')} {($ VSub_DollarName '$fr')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(1)})] ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:vscan) op:Equal rhs:(word.Empty))] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$phase')} {(Lit_Equals '=')} {(u)}) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$ct')} {(Lit_Equals '=')} {(gcc)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: Equal rhs: {(SQ <'unrecogni[sz]ed'>)} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$ct')} {(Lit_Equals '=')} {(hpcc)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: Equal rhs: {(SQ <unsupported>)} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$ct')} {(Lit_Equals '=')} {(pcc)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: Equal rhs: {(SQ <unsupported>)} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$ct')} {(Lit_Equals '=')} {(sunpro)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vscan) op: Equal rhs: {(SQ <'-e ignored -e turned.off'>)} ) ] ) ] ) ] ) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$vscan'))}) (command.Simple words: [{(grep)} {($ VSub_DollarName '$vscan')} {(vv.out)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: Equal rhs: {($ VSub_DollarName '$fr')} ) ] ) ] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) ) (command.ShFunction name: ac_testn body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(ac_testnnd)} {(DQ ($ VSub_At '$@'))}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (C {(rmf)} {(conftest.c)} {(conftest.o)} {(${ VSub_Name tcfn) (Lit_Star '*')} {(vv.out)}) (C {(ac_testdone)}) ] ) ) (command.ShFunction name: ac_ifcpp body: (command.BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:expr) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (command.Simple words: [{(ac_testn)} {(DQ ($ VSub_At '$@'))}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 2453 stdin_parts: [ ('#include <unistd.h>\n') ('extern int thiswillneverbedefinedIhope(void);\n') ('int main(void) { return (isatty(0) +\n') ('#') ($ VSub_DollarName '$expr') ('\n') (' 0\n') ('#else\n') ('/* force a failure: expr is false */\n') (' thiswillneverbedefinedIhope()\n') ('#endif\n') (' ); }\n') ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_Number '$1'))} {(Lit_Equals '=')} {(x) (DQ ('!'))}) (C {(shift)}) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:f) op:Equal rhs:{($ VSub_Number '$1')})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fu) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [(C {(upper)} {($ VSub_DollarName '$f')})] ) ) } ) ] ) (C {(eval)} {(Lit_VarLike 'fv=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (HAVE_) ($ VSub_DollarName '$fu') } ) (C {(test)} {(x) (DQ ($ VSub_DollarName '$fv'))} {(Lit_Equals '=')} {(x) (DQ (1))}) ] ) ) (command.ShFunction name: add_cppflags body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: Equal rhs: {(DQ ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_Star '$*'))} ) ] ) ] ) ) (command.ShFunction name: ac_cppflags body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) (DQ ($ VSub_Number '$1'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fu) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{($ VSub_Number '$2')})] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_Number '$2'))} {(Lit_Equals '=')} {(x) (DQ )}) (C {(eval)} {(Lit_VarLike 'fv=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (HAVE_) ($ VSub_DollarName '$fu') } ) ] ) (C {(add_cppflags)} {(-DHAVE_) ($ VSub_DollarName '$fu') (Lit_Equals '=') ($ VSub_DollarName '$fv')} ) ] ) ) (command.ShFunction name: ac_test body: (command.BraceGroup children: [(C {(ac_testn)} {(DQ ($ VSub_At '$@'))}) (C {(ac_cppflags)})] ) ) (command.ShFunction name: ac_flags body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_Number '$1'))} {(Lit_Equals '=')} {(x) (DQ (-))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(shift)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:hf) op:Equal rhs:{(1)})] ) ] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:hf) op:Equal rhs:{(0)})] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fa) op:Equal rhs:{($ VSub_Number '$1')})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:vn) op:Equal rhs:{($ VSub_Number '$2')})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:f) op:Equal rhs:{($ VSub_Number '$3')})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ft) op:Equal rhs:{($ VSub_Number '$4')})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fl) op:Equal rhs:{($ VSub_Number '$5')})] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$ft'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ft) op: Equal rhs: {(DQ ('if ') ($ VSub_DollarName '$f') (' can be used'))} ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_CFLAGS) op: Equal rhs: {($ VSub_DollarName '$CFLAGS')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: {(DQ ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$f'))} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$fl'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_LDFLAGS) op: Equal rhs: {($ VSub_DollarName '$LDFLAGS')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: Equal rhs: {(DQ ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$fl'))} ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$hf')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(ac_testn)} {(can_) ($ VSub_DollarName '$vn')} {(SQ )} {(DQ ($ VSub_DollarName '$ft'))} ) ] ) ] else_action: [ (command.Simple words: [ {(ac_testn)} {(can_) ($ VSub_DollarName '$vn')} {(SQ )} {(DQ ($ VSub_DollarName '$ft'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 2793 stdin_parts: [ ("/* evil apo'stroph in comment test */\n") ('#include <unistd.h>\n') ('int main(void) { return (isatty(0)); }\n') ] ) ] ) ] ) (C {(eval)} {(Lit_VarLike 'fv=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (HAVE_CAN_) (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [(C {(upper)} {($ VSub_DollarName '$vn')})] ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$fl'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(11)} {(Lit_Equals '=')} {($ VSub_DollarName '$fa') ($ VSub_DollarName '$fv')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: Equal rhs: {($ VSub_DollarName '$save_LDFLAGS')} ) ] ) ] ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(11)} {(Lit_Equals '=')} {($ VSub_DollarName '$fa') ($ VSub_DollarName '$fv')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: {($ VSub_DollarName '$save_CFLAGS')} ) ] ) ] ) ] ) ) (command.ShFunction name: ac_header body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_Number '$1'))} {(Lit_Equals '=')} {(x) (DQ ('!'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:na) op:Equal rhs:{(1)})] ) (C {(shift)}) ] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:na) op:Equal rhs:{(0)})] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:hf) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:hv) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$hf'))}) (C {(tr)} {(-d)} {(SQ <'\\012\\015'>)}) (C {(tr)} {(-c)} {($ VSub_DollarName '$alll') ($ VSub_DollarName '$allu') ($ VSub_DollarName '$alln') } {($ VSub_DollarName '$alls')} ) ] negated: F ) ] ) ) } ) ] ) (command.Simple words: [{(echo)} {(DQ ('/* NeXTstep bug workaround */'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})] ) (command.ForEach iter_name: i do_arg_iter: T body: (command.DoGroup children: [ (command.Case to_match: {($ VSub_DollarName '$i')} arms: [ (case_arm pat_list: [{(_time)}] action: [ (command.Simple words: [{(echo)} {(SQ <'#if HAVE_BOTH_TIME_H'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) (command.Simple words: [{(echo)} {(SQ <'#include <sys/time.h>'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) (command.Simple words: [{(echo)} {(SQ <'#include <time.h>'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) (command.Simple words: [{(echo)} {(SQ <'#elif HAVE_SYS_TIME_H'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) (command.Simple words: [{(echo)} {(SQ <'#include <sys/time.h>'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) (command.Simple words: [{(echo)} {(SQ <'#elif HAVE_TIME_H'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) (command.Simple words: [{(echo)} {(SQ <'#include <time.h>'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) (command.Simple words: [{(echo)} {(SQ <'#endif'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.Simple words: [{(echo)} {(DQ ('#include <') ($ VSub_DollarName '$i') ('>'))}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(x)} ) ] ) ] ) ] ) ] ) ) (command.Simple words: [{(echo)} {(DQ ('#include <') ($ VSub_DollarName '$hf') ('>'))}] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(x)})] ) (command.Simple words: [{(echo)} {(SQ <'#include <unistd.h>'>)}] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(x)})] ) (command.Simple words: [{(echo)} {(SQ <'int main(void) { return (isatty(0)); }'>)}] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(x)})] ) (command.Simple words: [ {(ac_testn)} {(DQ ($ VSub_DollarName '$hv'))} {(DQ )} {(DQ ('<') ($ VSub_DollarName '$hf') ('>'))} ] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})] ) (C {(rmf)} {(x)}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$na')}) (C {(ac_cppflags)}) ] ) ] ) ) (command.ShFunction name: addsrcs body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_Number '$1'))} {(Lit_Equals '=')} {(x) (DQ ('!'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fr) op:Equal rhs:{(0)})] ) (C {(shift)}) ] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fr) op:Equal rhs:{(1)})] ) ] ) (C {(eval)} {(Lit_VarLike 'i=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ($ VSub_Number '$1') } ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$fr')} {(Lit_Equals '=')} {(DQ ($ VSub_DollarName '$i'))}) (command.Case to_match: {(DQ (' ') ($ VSub_DollarName '$SRCS') (' '))} arms: [ (case_arm pat_list: [ {(Lit_Star '*') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\ '>) ($ VSub_Number '$2') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\ '>) (Lit_Star '*') } ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRCS) op: Equal rhs: {(DQ ($ VSub_DollarName '$SRCS') (' ') ($ VSub_Number '$2'))} ) ] ) ] ) ] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:curdir) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(pwd)})]) ) } ) (assign_pair lhs: (sh_lhs_expr.Name name:srcdir) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Simple words: [{(dirname)} {(DQ ($ VSub_Number '$0'))}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) ) } ) ] ) (command.Case to_match: {(x) ($ VSub_DollarName '$srcdir')} arms: [ (case_arm pat_list: [{(x)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:srcdir) op:Equal rhs:{(.)})] ) ] ) (case_arm pat_list: [ {(Lit_Star '*') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\ '>) (Lit_Star '*')} {(Lit_Star '*') (DQ ('\t')) (Lit_Star '*')} {(Lit_Star '*') (DQ ($ VSub_DollarName '$nl')) (Lit_Star '*')} ] action: [ (command.Simple words: [ {(echo)} {(Source)} {(directory)} {(should)} {(not)} {(contain)} {(space)} {(or)} {(tab)} {(or)} {(newline.)} ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(Errors)} {(may)} {(occur.)}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (case_arm pat_list: [{(Lit_Star '*') (DQ ("'")) (Lit_Star '*')}] action: [ (C {(echo)} {(Source)} {(directory)} {(must)} {(not)} {(contain)} {(single)} {(quotes.)}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dstversion) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (C {(sed)} {(-n)} {(SQ <'/define MKSH_VERSION/s/^.*"\\([^"]*\\)".*$/\\1/p'>)} {(DQ ($ VSub_DollarName '$srcdir') (/sh.h))} ) ] ) ) } ) ] ) (C {(add_cppflags)} {(-DMKSH_BUILDSH)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:e) op:Equal rhs:{(echo)})] ) (command.ShAssignment pairs:[(assign_pair lhs:(sh_lhs_expr.Name name:r) op:Equal rhs:{(0)})]) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:eq) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:pm) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:cm) op:Equal rhs:{(normal)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:optflags) op:Equal rhs:{(-std-compile-opts)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:check_categories) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:last) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tfn) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:legacy) op:Equal rhs:{(0)})] ) (command.ForEach iter_name: i do_arg_iter: T body: (command.DoGroup children: [ (command.Case to_match: {($ VSub_DollarName '$last') (Lit_Other ':') ($ VSub_DollarName '$i')} arms: [ (case_arm pat_list: [ {(c) (Lit_Other ':') (combine)} {(c) (Lit_Other ':') (dragonegg)} {(c) (Lit_Other ':') (llvm)} {(c) (Lit_Other ':') (lto)} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: Equal rhs: {($ VSub_DollarName '$i')} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:last) op:Equal rhs:(word.Empty))] ) ] ) (case_arm pat_list: [{(c) (Lit_Other ':') (Lit_Star '*')}] action: [ (command.Simple words: [ {(echo)} { (DQ ($ VSub_DollarName '$me') (": Unknown option -c '") ($ VSub_DollarName '$i') ("'!") ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) (case_arm pat_list: [{(o) (Lit_Other ':') (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optflags) op: Equal rhs: {($ VSub_DollarName '$i')} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:last) op:Equal rhs:(word.Empty))] ) ] ) (case_arm pat_list: [{(t) (Lit_Other ':') (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tfn) op: Equal rhs: {($ VSub_DollarName '$i')} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:last) op:Equal rhs:(word.Empty))] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-c)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:last) op:Equal rhs:{(c)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-G)}] action: [ (command.Simple words: [{(echo)} {(DQ ($ VSub_DollarName '$me') (": Do not call me with '-G'!"))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-g)}] action: [ (C {(add_cppflags)} {(-DDEBUG)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: {(DQ ($ VSub_DollarName '$CFLAGS') (' -g3 -fno-builtin'))} ) ] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-j)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:pm) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-L)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:legacy) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (Lit_Other '+') (L)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:legacy) op:Equal rhs:{(0)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-M)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:cm) op:Equal rhs:{(makefile)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-O)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optflags) op: Equal rhs: {(-std-compile-opts)} ) ] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-o)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:last) op:Equal rhs:{(o)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-Q)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:eq) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-r)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:r) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-t)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:last) op:Equal rhs:{(t)})] ) ] ) (case_arm pat_list: [{(Lit_Other ':') (-v)}] action: [ (C {(echo)} {(DQ ('Build.sh ') ($ VSub_DollarName '$srcversion'))}) (C {(echo)} {(DQ ('for mksh ') ($ VSub_DollarName '$dstversion'))}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(Lit_Other ':') (Lit_Star '*')}] action: [ (command.Simple words: [ {(echo)} { (DQ ($ VSub_DollarName '$me') (": Unknown option '") ($ VSub_DollarName '$i') ("'!") ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.Simple words: [ {(echo)} { (DQ ($ VSub_DollarName '$me') (": Unknown option -'") ($ VSub_DollarName '$last') ("' '") ($ VSub_DollarName '$i') ("'!") ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$last'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [ {(echo)} { (DQ ($ VSub_DollarName '$me') (": Option -'") ($ VSub_DollarName '$last') ("' not followed by argument!") ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$tfn'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$legacy')} {(Lit_Equals '=')} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tfn) op:Equal rhs:{(mksh)})] ) ] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tfn) op:Equal rhs:{(lksh)})] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$tfn')}) (C {(test)} {(-d)} {($ VSub_DollarName '$tfn') (.exe)}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [ {(echo)} { (DQ ($ VSub_DollarName '$me') (': Error: ./') ($ VSub_DollarName '$tfn') (' is a directory!') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (C {(rmf)} {(a.exe) (Lit_Star '*')} {(a.out) (Lit_Star '*')} {(conftest.c)} {(conftest.exe) (Lit_Star '*')} {(Lit_Star '*') (core)} {(core.) (Lit_Star '*')} {(${ VSub_Name tfn) (Lit_Star '*')} {(Lit_Star '*') (.bc)} {(Lit_Star '*') (.dbg)} {(Lit_Star '*') (.ll)} {(Lit_Star '*') (.o)} {(Lit_Star '*') (.gen)} {(Rebuild.sh)} {(lft)} {(no)} {(signames.inc)} {(test.sh)} {(x)} {(vv.out)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRCS) op: Equal rhs: {(DQ ('lalloc.c eval.c exec.c expr.c funcs.c histrap.c jobs.c'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRCS) op: Equal rhs: {(DQ ($ VSub_DollarName '$SRCS') (' lex.c main.c misc.c shf.c syn.c tree.c var.c'))} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$legacy')} {(Lit_Equals '=')} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRCS) op: Equal rhs: {(DQ ($ VSub_DollarName '$SRCS') (' edit.c'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' shell:legacy-no int:32'))} ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' shell:legacy-yes'))} ) ] ) (C {(add_cppflags)} {(-DMKSH_LEGACY_MODE)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_PERSISTENT_HISTORY) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_CONSERVATIVE_FDS) op: Equal rhs: {(1)} ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_DollarName '$srcdir'))} {(Lit_Equals '=')} {(x) (DQ (.))}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: Equal rhs: {(DQ ('-I. ') ($ VSub_DollarName '$CPPFLAGS'))} ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: Equal rhs: { (DQ ("-I. -I'") ($ VSub_DollarName '$srcdir') ("' ") ($ VSub_DollarName '$CPPFLAGS')) } ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$LDSTATIC'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$LDFLAGS'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: Equal rhs: {(DQ ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$LDSTATIC'))} ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: Equal rhs: {($ VSub_DollarName '$LDSTATIC')} ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$TARGET_OS'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.AndOr ops: [Op_DPipe] children: [ (command.Simple words: [{(uname)} {(-s)}] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(uname)}) ] ) ] ) ) } ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$x'))} {(Lit_Equals '=')} {(x) (DQ (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Simple words: [{(uname)} {(-n)}] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OS) op: Equal rhs: {($ VSub_DollarName '$x')} ) ] ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$TARGET_OS'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [ {(echo)} {(DQ ($ VSub_DollarName '$me') (': Set TARGET_OS, your uname is broken!'))} ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:oswarn) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ccpc) op:Equal rhs:{(-Wc) (Lit_Comma ',')})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ccpl) op:Equal rhs:{(-Wl) (Lit_Comma ',')})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:tsts) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ccpr) op: Equal rhs: { (SQ < '|| for _f in ${tcfn}*; do case $_f in Build.sh|check.pl|check.t|dot.mkshrc|*.1|*.c|*.h|*.ico|*.opt) ;; *) rm -f "$_f" ;; esac; done' > ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_DollarName '$TARGET_OS'))} {(Lit_Equals '=')} {(x) (DQ (Android))} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' android'))} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:TARGET_OS) op:Equal rhs:{(Linux)})] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_DollarName '$TARGET_OS'))} {(Lit_Equals '=')} {(x) (DQ (Minix))} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [ {(echo)} { (DQ ('\n') ('WARNING: additional checks before running Build.sh required!\n') ('You can avoid these by calling Build.sh correctly, see below.\n') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.c)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 4319 stdin_parts: [ ('#include <sys/types.h>\n') ('const char *\n') ('#ifdef _NETBSD_SOURCE\n') ('ct="Ninix3"\n') ('#else\n') ('ct="Minix3"\n') ('#endif\n') (';\n') ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ct) op:Equal rhs:{(unknown)})] ) (C {(vv)} {(SQ <']'>)} { (DQ (braced_var_sub token: <VSub_Name CC> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:{(cc)}) ) (' -E ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' conftest.c | grep ct= | tr -d ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\\\'>) ('015 >x') ) } ) (C {(sed)} {(SQ <'s/^/[ /'>)} {(x)}) (C {(eval)} { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(cat)} {(x)})]) ) } ) (C {(rmf)} {(x)} {(vv.out)}) (command.Case to_match: {($ VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{(Minix3)} {(Ninix3)}] action: [ (command.Simple words: [ {(echo)} { (DQ ('\n') ('Warning: you set TARGET_OS to ') ($ VSub_DollarName '$TARGET_OS') (' but that is ambiguous.\n') ('Please set it to either Minix3 or Ninix3, whereas the latter is\n') ('all versions of Minix with even partial NetBSD(R) userland. The\n') ('value determined from your compiler for the current compilation\n') ('(which may be wrong) is: ') ($ VSub_DollarName '$ct') ('\n') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OS) op: Equal rhs: {($ VSub_DollarName '$ct')} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.Simple words: [ {(echo)} { (DQ ('\n') ('Warning: you set TARGET_OS to ') ($ VSub_DollarName '$TARGET_OS') (' but that is ambiguous.\n') ('Please set it to either Minix3 or Ninix3, whereas the latter is\n') ('all versions of Minix with even partial NetBSD(R) userland. The\n') ("proper value couldn't be determined, continue at your own risk.\n") ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) ] ) ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$TARGET_OS')} arms: [ (case_arm pat_list: [{(NEXTSTEP)}] action: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$TARGET_OSREV'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OSREV) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{(hostinfo)}] redirects: [ (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (C {(grep)} {(SQ <'NeXT Mach [0-9][0-9.]*:'>)}) (C {(sed)} {(SQ <'s/^.*NeXT Mach \\([0-9][0-9.]*\\):.*$/\\1/'>)}) ] negated: F ) ] ) ) } ) ] ) ] ) ] ) (case_arm pat_list: [{(QNX)} {(SCO_SV)}] action: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$TARGET_OSREV'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OSREV) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(uname)} {(-r)})]) ) } ) ] ) ] ) ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$TARGET_OS')} arms: [ (case_arm pat_list: [{(386BSD)}] action: [ (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_CAN_OTWO> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) (C {(add_cppflags)} {(-DMKSH_NO_SIGSETJMP)}) (C {(add_cppflags)} {(-DMKSH_TYPEDEF_SIG_ATOMIC_T) (Lit_Equals '=') (int)}) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) ] ) (case_arm pat_list: [{(AIX)}] action: [ (C {(add_cppflags)} {(-D_ALL_SOURCE)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(BeOS)}] action: [ (command.Case to_match: {($ VSub_DollarName '$KSH_VERSION')} arms: [ (case_arm pat_list: [ {(Lit_Star '*') (MIRBSD) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\ '>) (KSH) (Lit_Star '*') } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it has minor issues'))} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; you must recompile mksh with'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: { (DQ ($ VSub_DollarName '$oswarn') (${ VSub_Name nl) ('itself in a second stage') ) } ) ] ) ] ) ] ) (C {(add_cppflags)} {(-DMKSH_UNEMPLOYED)}) (C {(add_cppflags)} {(-DMKSH_DISABLE_TTY_WARNING)}) (C {(add_cppflags)} {(-DMKSH__NO_SETEUGID)}) ] ) (case_arm pat_list: [{(BSD/OS)}] action: [ (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(Coherent)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it has major issues'))} ) ] ) (C {(add_cppflags)} {(-DMKSH__NO_SYMLINK)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' nosymlink'))} ) ] ) (C {(add_cppflags)} {(-DMKSH__NO_SETEUGID)}) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) (C {(add_cppflags)} {(-DMKSH_DISABLE_TTY_WARNING)}) ] ) (case_arm pat_list: [{(CYGWIN) (Lit_Star '*')}] action: [ (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list:[{(Darwin)}] action:[(C {(add_cppflags)} {(-D_DARWIN_C_SOURCE)})]) (case_arm pat_list:[{(DragonFly)}]) (case_arm pat_list:[{(FreeBSD)}]) (case_arm pat_list: [{(FreeMiNT)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it has minor issues'))} ) ] ) (C {(add_cppflags)} {(-D_GNU_SOURCE)}) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(GNU)}] action: [ (command.Case to_match: {($ VSub_DollarName '$CC')} arms: [ (case_arm pat_list:[{(Lit_Star '*') (tendracc) (Lit_Star '*')}]) (case_arm pat_list: [{(Lit_Star '*')}] action: [(C {(add_cppflags)} {(-D_GNU_SOURCE)})] ) ] ) (C {(add_cppflags)} {(-DSETUID_CAN_FAIL_WITH_EAGAIN)}) (C {(add_cppflags)} {(-DMKSH__NO_PATH_MAX)}) ] ) (case_arm pat_list: [{(GNU/kFreeBSD)}] action: [ (command.Case to_match: {($ VSub_DollarName '$CC')} arms: [ (case_arm pat_list:[{(Lit_Star '*') (tendracc) (Lit_Star '*')}]) (case_arm pat_list: [{(Lit_Star '*')}] action: [(C {(add_cppflags)} {(-D_GNU_SOURCE)})] ) ] ) (C {(add_cppflags)} {(-DSETUID_CAN_FAIL_WITH_EAGAIN)}) ] ) (case_arm pat_list: [{(Haiku)}] action: [ (command.Sentence child: (C {(add_cppflags)} {(-DMKSH_ASSUME_UTF8)}) terminator: <Op_Semi ';'> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_ASSUME_UTF8) op: Equal rhs: {(1)} ) ] ) ] ) (case_arm pat_list:[{(HP-UX)}]) (case_arm pat_list: [{(Interix)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ccpc) op:Equal rhs:{(SQ <'-X '>)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ccpl) op:Equal rhs:{(SQ <'-Y '>)})] ) (C {(add_cppflags)} {(-D_ALL_SOURCE)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name LIBS> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(-lcrypt)}) ) ) } ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(IRIX) (Lit_Star '*')}] action: [ (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(Linux)}] action: [ (command.Case to_match: {($ VSub_DollarName '$CC')} arms: [ (case_arm pat_list:[{(Lit_Star '*') (tendracc) (Lit_Star '*')}]) (case_arm pat_list: [{(Lit_Star '*')}] action: [(C {(add_cppflags)} {(-D_GNU_SOURCE)})] ) ] ) (C {(add_cppflags)} {(-DSETUID_CAN_FAIL_WITH_EAGAIN)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_REVOKE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(LynxOS)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it has minor issues'))} ) ] ) ] ) (case_arm pat_list:[{(MidnightBSD)}]) (case_arm pat_list: [{(Minix-vmd)}] action: [ (C {(add_cppflags)} {(-DMKSH__NO_SETEUGID)}) (C {(add_cppflags)} {(-DMKSH_UNEMPLOYED)}) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) (C {(add_cppflags)} {(-D_MINIX_SOURCE)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:oldish_ed) op:Equal rhs:{(no-stderr-ed)})] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(Minix3)}] action: [ (C {(add_cppflags)} {(-DMKSH_UNEMPLOYED)}) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) (C {(add_cppflags)} {(-DMKSH_NO_LIMITS)}) (C {(add_cppflags)} {(-D_POSIX_SOURCE)} {(-D_POSIX_1_SOURCE) (Lit_Equals '=') (2)} {(-D_MINIX)} ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:oldish_ed) op:Equal rhs:{(no-stderr-ed)})] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list:[{(MirBSD)}]) (case_arm pat_list: [{(MSYS_) (Lit_Star '*')}] action: [ (command.Sentence child: (C {(add_cppflags)} {(-DMKSH_ASSUME_UTF8) (Lit_Equals '=') (0)}) terminator: <Op_Semi ';'> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_ASSUME_UTF8) op: Equal rhs: {(1)} ) ] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_STDINT_H> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list:[{(NetBSD)}]) (case_arm pat_list: [{(NEXTSTEP)}] action: [ (C {(add_cppflags)} {(-D_NEXT_SOURCE)}) (C {(add_cppflags)} {(-D_POSIX_SOURCE)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name AWK> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(gawk)}) ) ) } ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name CC> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{('cc -posix')}) ) ) } ) (C {(add_cppflags)} {(-DMKSH_NO_SIGSETJMP)}) (C {(add_cppflags)} {(-DMKSH_UNEMPLOYED)}) (command.Case to_match: {($ VSub_DollarName '$TARGET_OSREV')} arms: [ (case_arm pat_list: [{(4.2) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it needs libposix.a'))} ) ] ) ] ) ] ) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) ] ) (case_arm pat_list: [{(Ninix3)}] action: [ (C {(add_cppflags)} {(-DMKSH_UNEMPLOYED)}) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) (C {(add_cppflags)} {(-DMKSH_NO_LIMITS)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it has unknown issues'))} ) ] ) ] ) (case_arm pat_list: [{(OpenBSD)}] action: [ (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(OS/2)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_TERMIOS_H) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_MKNOD) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it is currently being ported'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' nosymlink'))} ) ] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name CC> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(gcc)}) ) ) } ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name SIZE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(': size')}) ) ) } ) (C {(add_cppflags)} {(-DMKSH_UNEMPLOYED)}) (C {(add_cppflags)} {(-DMKSH_NOPROSPECTOFWORK)}) ] ) (case_arm pat_list: [{(OSF1)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_SIG_T) op:Equal rhs:{(0)})] ) (C {(add_cppflags)} {(-D_OSF_SOURCE)}) (C {(add_cppflags)} {(-D_POSIX_C_SOURCE) (Lit_Equals '=') (200112L)}) (C {(add_cppflags)} {(-D_XOPEN_SOURCE) (Lit_Equals '=') (600)}) (C {(add_cppflags)} {(-D_XOPEN_SOURCE_EXTENDED)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(Plan9)}] action: [ (C {(add_cppflags)} {(-D_POSIX_SOURCE)}) (C {(add_cppflags)} {(-D_LIMITS_EXTENSION)}) (C {(add_cppflags)} {(-D_BSD_EXTENSION)}) (C {(add_cppflags)} {(-D_SUSV2_SOURCE)}) (command.Sentence child: (C {(add_cppflags)} {(-DMKSH_ASSUME_UTF8)}) terminator: <Op_Semi ';'> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_ASSUME_UTF8) op: Equal rhs: {(1)} ) ] ) (C {(add_cppflags)} {(-DMKSH_NO_CMDLINE_EDITING)}) (C {(add_cppflags)} {(-DMKSH__NO_SETEUGID)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(SQ <' and will currently not work'>)} ) ] ) (C {(add_cppflags)} {(-DMKSH_UNEMPLOYED)}) (C {(add_cppflags)} {(-DMKSH_MAYBE_KENCC)}) ] ) (case_arm pat_list: [{(PW32) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_SIG_T) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(SQ <' and will currently not work'>)} ) ] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(QNX)}] action: [ (C {(add_cppflags)} {(-D__NO_EXT_QNX)}) (C {(add_cppflags)} {(-D__EXT_UNIX_MISC)}) (command.Case to_match: {($ VSub_DollarName '$TARGET_OSREV')} arms: [ (case_arm pat_list: [ {(Lit_LBracket '[') (012345) (Lit_RBracket ']') (.) (Lit_Star '*')} {(6.) (Lit_LBracket '[') (0123) (Lit_RBracket ']') (.) (Lit_Star '*')} {(6.4.) (Lit_LBracket '[') (01) (Lit_RBracket ']')} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oldish_ed) op: Equal rhs: {(no-stderr-ed)} ) ] ) ] ) ] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(SCO_SV)}] action: [ (command.Case to_match: {($ VSub_DollarName '$TARGET_OSREV')} arms: [ (case_arm pat_list: [{(3.2) (Lit_Star '*')}] action: [(C {(add_cppflags)} {(-DMKSH_UNEMPLOYED)})] ) (case_arm pat_list:[{(5) (Lit_Star '*')}]) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(SQ <'; this is an unknown version of'>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: { (DQ ($ VSub_DollarName '$oswarn') ($ VSub_DollarName '$nl') ($ VSub_DollarName '$TARGET_OS') (' ') (${ VSub_Name TARGET_OSREV) (', please tell me what to do') ) } ) ] ) ] ) ] ) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SYS_SIGLIST> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) (braced_var_sub token: <VSub_Name HAVE__SYS_SIGLIST> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(skyos)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it has minor issues'))} ) ] ) ] ) (case_arm pat_list: [{(SunOS)}] action: [(C {(add_cppflags)} {(-D_BSD_SOURCE)}) (C {(add_cppflags)} {(-D__EXTENSIONS__)})] ) (case_arm pat_list: [{(syllable)}] action: [ (C {(add_cppflags)} {(-D_GNU_SOURCE)}) (C {(add_cppflags)} {(-DMKSH_NO_SIGSUSPEND)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(SQ <' and will currently not work'>)} ) ] ) ] ) (case_arm pat_list: [{(ULTRIX)}] action: [ (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name CC> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{('cc -YPOSIX')}) ) ) } ) (C {(add_cppflags)} {(-DMKSH_TYPEDEF_SSIZE_T) (Lit_Equals '=') (int)}) (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(UnixWare)} {(UNIX_SV)}] action: [ (C {(add_cppflags)} {(-DMKSH_CONSERVATIVE_FDS)}) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SYS_SIGLIST> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) (braced_var_sub token: <VSub_Name HAVE__SYS_SIGLIST> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(UWIN) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ccpc) op:Equal rhs:{(SQ <'-Yc,'>)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ccpl) op:Equal rhs:{(SQ <'-Yl,'>)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tsts) op: Equal rhs: {(DQ (' 3<>/dev/tty'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(DQ ('; it will compile, but the target'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: { (DQ ($ VSub_DollarName '$oswarn') (${ VSub_Name nl) ('platform itself is very flakey/unreliable') ) } ) ] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (case_arm pat_list: [{(_svr4)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(SQ <'; it may or may not work'>)} ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$TARGET_OSREV'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OSREV) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(uname)} {(-r)})]) ) } ) ] ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oswarn) op: Equal rhs: {(SQ <'; it may or may not work'>)} ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$TARGET_OSREV'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGET_OSREV) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(uname)} {(-r)})]) ) } ) ] ) ] ) ] ) ] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_MKNOD> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name AWK> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(awk)}) ) (braced_var_sub token:<VSub_Name CC> suffix_op:(suffix_op.Unary op_id:VTest_Equals arg_word:{(cc)})) (braced_var_sub token: <VSub_Name NROFF> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(nroff)}) ) (braced_var_sub token:<VSub_Name SIZE> suffix_op:(suffix_op.Unary op_id:VTest_Equals arg_word:{(size)})) ) } ) (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(test)} {(0)} {(Lit_Equals '=')} {($ VSub_DollarName '$r')}) (command.Pipeline children: [ (C {(echo)}) (command.Simple words: [{($ VSub_DollarName '$NROFF')} {(-v)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) (command.Simple words: [{(grep)} {(GNU)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) ] negated: F ) (command.Pipeline children: [ (C {(echo)}) (command.Simple words: [{($ VSub_DollarName '$NROFF')} {(-c)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NROFF) op: Equal rhs: {(DQ ($ VSub_DollarName '$NROFF') (' -c'))} ) ] ) ] ) (C {($ VSub_DollarName '$e')} { (DQ ('Hi from') ($ VSub_DollarName '$ao') (' ') ($ VSub_DollarName '$bi') ($ VSub_DollarName '$srcversion') ($ VSub_DollarName '$ao') (' on:') ) } ) (command.Case to_match: {($ VSub_DollarName '$TARGET_OS')} arms: [ (case_arm pat_list: [{(AIX)}] action: [ (C {(vv)} {(SQ <'|'>)} {(DQ ('oslevel >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('uname -a >&2'))}) ] ) (case_arm pat_list: [{(Darwin)}] action: [ (C {(vv)} {(SQ <'|'>)} {(DQ ('hwprefs machine_type os_type os_class >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('sw_vers >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('system_profiler SPSoftwareDataType SPHardwareDataType >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('/bin/sh --version >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('xcodebuild -version >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('uname -a >&2'))}) (C {(vv)} {(SQ <'|'>)} { (DQ ( 'sysctl kern.version hw.machine hw.model hw.memsize hw.availcpu hw.cpufrequency hw.byteorder hw.cpu64bit_capable >&2' ) ) } ) ] ) (case_arm pat_list: [{(IRIX) (Lit_Star '*')}] action: [ (C {(vv)} {(SQ <'|'>)} {(DQ ('uname -a >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('hinv -v >&2'))}) ] ) (case_arm pat_list: [{(OSF1)}] action: [ (C {(vv)} {(SQ <'|'>)} {(DQ ('uname -a >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('/usr/sbin/sizer -v >&2'))}) ] ) (case_arm pat_list: [{(SCO_SV)} {(UnixWare)} {(UNIX_SV)}] action: [ (C {(vv)} {(SQ <'|'>)} {(DQ ('uname -a >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ('uname -X >&2'))}) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [(C {(vv)} {(SQ <'|'>)} {(DQ ('uname -a >&2'))})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$oswarn'))}) (command.Simple words: [ {(echo)} { (DQ ('\n') ('Warning: mksh has not yet been ported to or tested on your\n') ("operating system '") ($ VSub_DollarName '$TARGET_OS') ("'") ($ VSub_DollarName '$oswarn') ('. If you can provide\n') ('a shell account to the developer, this may improve; please\n') ('drop us a success or failure notice or even send in diffs.\n') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (C {($ VSub_DollarName '$e')} { (DQ ($ VSub_DollarName '$bi') ($ VSub_DollarName '$me') (': Building the MirBSD Korn Shell') ($ VSub_DollarName '$ao') (' ') ($ VSub_DollarName '$ui') ($ VSub_DollarName '$dstversion') ($ VSub_DollarName '$ao') (' on ') ($ VSub_DollarName '$TARGET_OS') (' ') (${ VSub_Name TARGET_OSREV) (...) ) } ) (C {($ VSub_DollarName '$e')} {($ VSub_DollarName '$bi') ($ VSub_DollarName '$me') (Lit_Other ':')} {(Scanning)} {(KW_For for)} {(functions...)} {(please)} {(ignore)} {(any)} {(errors.) ($ VSub_DollarName '$ao')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPP) op: Equal rhs: {(DQ ($ VSub_DollarName '$CC') (' -E'))} ) ] ) (C {($ VSub_DollarName '$e')} {(...)} {(which)} {(compiler)} {(seems)} {(to)} {(be)} {(used)}) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.c)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 6522 stdin_parts: [ ('const char *\n') ('#if defined(__ICC) || defined(__INTEL_COMPILER)\n') ('ct="icc"\n') ('#elif defined(__xlC__) || defined(__IBMC__)\n') ('ct="xlc"\n') ('#elif defined(__SUNPRO_C)\n') ('ct="sunpro"\n') ('#elif defined(__ACK__)\n') ('ct="ack"\n') ('#elif defined(__BORLANDC__)\n') ('ct="bcc"\n') ('#elif defined(__WATCOMC__)\n') ('ct="watcom"\n') ('#elif defined(__MWERKS__)\n') ('ct="metrowerks"\n') ('#elif defined(__HP_cc)\n') ('ct="hpcc"\n') ('#elif defined(__DECC) || (defined(__osf__) && !defined(__GNUC__))\n') ('ct="dec"\n') ('#elif defined(__PGI)\n') ('ct="pgi"\n') ('#elif defined(__DMC__)\n') ('ct="dmc"\n') ('#elif defined(_MSC_VER)\n') ('ct="msc"\n') ('#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)\n') ('ct="adsp"\n') ('#elif defined(__IAR_SYSTEMS_ICC__)\n') ('ct="iar"\n') ('#elif defined(SDCC)\n') ('ct="sdcc"\n') ('#elif defined(__PCC__)\n') ('ct="pcc"\n') ('#elif defined(__TenDRA__)\n') ('ct="tendra"\n') ('#elif defined(__TINYC__)\n') ('ct="tcc"\n') ('#elif defined(__llvm__) && defined(__clang__)\n') ('ct="clang"\n') ('#elif defined(__NWCC__)\n') ('ct="nwcc"\n') ('#elif defined(__GNUC__)\n') ('ct="gcc"\n') ('#elif defined(_COMPILER_VERSION)\n') ('ct="mipspro"\n') ('#elif defined(__sgi)\n') ('ct="mipspro"\n') ('#elif defined(__hpux) || defined(__hpua)\n') ('ct="hpcc"\n') ('#elif defined(__ultrix)\n') ('ct="ucode"\n') ('#elif defined(__USLC__)\n') ('ct="uslc"\n') ('#elif defined(__LCC__)\n') ('ct="lcc"\n') ('#elif defined(MKSH_MAYBE_KENCC)\n') ('/* and none of the above matches */\n') ('ct="kencc"\n') ('#else\n') ('ct="unknown"\n') ('#endif\n') (';\n') ('const char *\n') ('#if defined(__KLIBC__) && !defined(__OS2__)\n') ('et="klibc"\n') ('#else\n') ('et="unknown"\n') ('#endif\n') (';\n') ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ct) op:Equal rhs:{(untested)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:et) op:Equal rhs:{(untested)})] ) (C {(vv)} {(SQ <']'>)} { (DQ ($ VSub_DollarName '$CPP') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' conftest.c | ') (" sed -n '/^ *[ce]t *= */s/^ *") (Lit_Other '\\') ('([ce]t') (Lit_Other '\\') (') *= */') (Lit_Other '\\') ("1=/p' | tr -d ") (word_part.EscapedLiteral token:<Lit_EscapedChar '\\\\'>) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\\\'>) ('015 >x') ) } ) (C {(sed)} {(SQ <'s/^/[ /'>)} {(x)}) (C {(eval)} { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(cat)} {(x)})]) ) } ) (C {(rmf)} {(x)} {(vv.out)}) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.c)}) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 6593 stdin_parts: [('#include <unistd.h>\n') ('int main(void) { return (isatty(0)); }\n')] ) ] ) (command.Case to_match: {($ VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{(ack)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: Equal rhs: {(DQ ('-Dconst= ') ($ VSub_DollarName '$CPPFLAGS'))} ) ] ) ] ) (case_arm pat_list: [{(adsp)}] action: [ (command.Simple words: [ {(echo)} { (SQ <'Warning: Analog Devices C++ compiler for Blackfin, TigerSHARC\n'> <' and SHARC (21000) DSPs detected. This compiler has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (case_arm pat_list: [{(bcc)}] action: [ (command.Simple words: [ {(echo)} { (DQ ('Warning: Borland C++ Builder detected. This compiler might\n') (' produce broken executables. Continue at your own risk,\n') (' please report success/failure to the developers.') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (case_arm pat_list: [{(clang)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -version') ) } ) (C {(vv)} {(SQ <'|'>)} { (DQ (braced_var_sub token: <VSub_Name CLANG> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:{(clang)}) ) (' -version') ) } ) (C {(vv)} {(SQ <'|'>)} { (DQ (braced_var_sub token: <VSub_Name CLANG> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:{(clang)}) ) (' --version') ) } ) (command.Case to_match: {($ VSub_DollarName '$CCC_CC') (Lit_Other ':') ($ VSub_DollarName '$CCC_LD')} arms: [ (case_arm pat_list:[{(Lit_Other ':') (Lit_Star '*')}]) (case_arm pat_list: [{(Lit_Star '*') (Lit_Other ':')}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CCC_LD) op: Equal rhs: {($ VSub_DollarName '$CCC_CC')} ) ] ) terminator: <Op_Semi ';'> ) (C {(export)} {(CCC_LD)}) ] ) ] ) ] ) (case_arm pat_list: [{(dec)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -V') ) } ) (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -Wl,-V conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) ] ) (case_arm pat_list: [{(dmc)}] action: [ (command.Simple words: [{(echo)} {(DQ ('Warning: Digital Mars Compiler detected. When running under'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' UWIN, mksh tends to be unstable due to the limitations'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' of this platform. Continue at your own risk,'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' please report success/failure to the developers.'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (case_arm pat_list: [{(gcc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -v conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) (C {(vv)} {(SQ <'|'>)} { (SQ <'echo `$CC $CFLAGS $CPPFLAGS $LDFLAGS $NOWARN $LIBS \\\n'> <'\t -dumpmachine` gcc`$CC $CFLAGS $CPPFLAGS $LDFLAGS $NOWARN \\\n'> <'\t $LIBS -dumpversion`'> ) } ) ] ) (case_arm pat_list: [{(hpcc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -V conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) ] ) (case_arm pat_list: [{(iar)}] action: [ (command.Simple words: [ {(echo)} { (SQ <'Warning: IAR Systems (http://www.iar.com) compiler for embedded\n'> <' systems detected. This unsupported compiler has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (case_arm pat_list: [{(icc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -V') ) } ) ] ) (case_arm pat_list: [{(kencc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -v conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) ] ) (case_arm pat_list: [{(lcc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -v conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) (C {(add_cppflags)} {(-D__inline__) (Lit_Equals '=') (__inline)}) ] ) (case_arm pat_list: [{(metrowerks)}] action: [ (command.Simple words: [ {(echo)} { (SQ <'Warning: Metrowerks C compiler detected. This has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (case_arm pat_list: [{(mipspro)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -version') ) } ) ] ) (case_arm pat_list: [{(msc)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ccpr) op:Equal rhs:(word.Empty))] ) (command.Case to_match: {($ VSub_DollarName '$TARGET_OS')} arms: [ (case_arm pat_list: [{(Interix)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_n child: {($ VSub_DollarName '$C89_COMPILER')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C89_COMPILER) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (C {(ntpath2posix)} {(-c)} {(DQ ($ VSub_DollarName '$C89_COMPILER'))} ) ] ) ) } ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C89_COMPILER) op: Equal rhs: {(CL.EXE)} ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_n child: {($ VSub_DollarName '$C89_LINKER')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C89_LINKER) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (C {(ntpath2posix)} {(-c)} {(DQ ($ VSub_DollarName '$C89_LINKER'))} ) ] ) ) } ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C89_LINKER) op: Equal rhs: {(LINK.EXE)} ) ] ) ] ) (C {(vv)} {(SQ <'|'>)} {(DQ ($ VSub_DollarName '$C89_COMPILER') (' /HELP >&2'))}) (C {(vv)} {(SQ <'|'>)} {(DQ ($ VSub_DollarName '$C89_LINKER') (' /LINK >&2'))}) ] ) ] ) ] ) (case_arm pat_list: [{(nwcc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -version') ) } ) ] ) (case_arm pat_list: [{(pcc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -v') ) } ) ] ) (case_arm pat_list: [{(pgi)}] action: [ (command.Simple words: [ {(echo)} { (SQ <'Warning: PGI detected. This unknown compiler has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (case_arm pat_list: [{(sdcc)}] action: [ (command.Simple words: [ {(echo)} { (SQ <'Warning: sdcc (http://sdcc.sourceforge.net), the small devices\n'> <' C compiler for embedded systems detected. This has not yet\n'> <' been tested for compatibility with mksh. Continue at your\n'> <' own risk, please report success/failure to the developers.'> ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (case_arm pat_list: [{(sunpro)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -V conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) ] ) (case_arm pat_list: [{(tcc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -v') ) } ) ] ) (case_arm pat_list: [{(tendra)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -V 2>&1 | ') ('\t grep -F -i -e version -e release') ) } ) ] ) (case_arm pat_list: [{(ucode)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -V') ) } ) (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -Wl,-V conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) ] ) (case_arm pat_list: [{(uslc)}] action: [ (command.Case to_match: {($ VSub_DollarName '$TARGET_OS') (Lit_Other ':') ($ VSub_DollarName '$TARGET_OSREV')} arms: [ (case_arm pat_list: [{(SCO_SV) (Lit_Other ':') (3.2) (Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: {(DQ ($ VSub_DollarName '$CFLAGS') (' -g'))} ) ] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_CAN_OTWO> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) (braced_var_sub token: <VSub_Name HAVE_CAN_OPTIMISE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) ] ) (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -V conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) ] ) (case_arm pat_list: [{(watcom)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -v conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) ] ) (case_arm pat_list: [{(xlc)}] action: [ (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -qversion') ) } ) (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' ') ($ VSub_DollarName '$LIBS') (' -qversion=verbose') ) } ) (C {(vv)} {(SQ <'|'>)} {(DQ ('ld -V'))}) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$ct'))} {(Lit_Equals '=')} {(x) (DQ (untested))}) (C {($ VSub_DollarName '$e')} {(DQ ('!!! detecting preprocessor failed'))}) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ct) op:Equal rhs:{(unknown)})] ) (C {(vv)} {(DQ ($ VSub_DollarName '$CC') (' --version'))}) (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -v conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) (C {(vv)} {(SQ <'|'>)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -V conftest.c ') ($ VSub_DollarName '$LIBS') ) } ) ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{(dragonegg)} {(llvm)}] action: [(C {(vv)} {(SQ <'|'>)} {(DQ ('llc -version'))})] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:etd) op: Equal rhs: {(DQ (' on ') ($ VSub_DollarName '$et'))} ) ] ) (command.Case to_match: {($ VSub_DollarName '$et')} arms: [ (case_arm pat_list:[{(klibc)}] action:[(C {(add_cppflags)} {(-DMKSH_NO_LIMITS)})]) (case_arm pat_list: [{(unknown)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:etd) op:Equal rhs:(word.Empty))] ) ] ) (case_arm pat_list:[{(Lit_Star '*')}]) ] ) (C {($ VSub_DollarName '$e')} { (DQ ($ VSub_DollarName '$bi') ('==> which compiler seems to be used...') ($ VSub_DollarName '$ao') (' ') ($ VSub_DollarName '$ui') ($ VSub_DollarName '$ct') ($ VSub_DollarName '$etd') ($ VSub_DollarName '$ao') ) } ) (C {(rmf)} {(conftest.c)} {(conftest.o)} {(conftest)} {(a.out) (Lit_Star '*')} {(a.exe) (Lit_Star '*')} {(conftest.exe) (Lit_Star '*')} {(vv.out)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: Equal rhs: {($ VSub_DollarName '$NOWARN')} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:NOWARN) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DOWARN) op:Equal rhs:(word.Empty))] ) (C {(ac_flags)} {(0)} {(compiler_works)} {(SQ )} {(SQ <'if the compiler works'>)}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_COMPILER_WORKS')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_COMPILER_KNOWN) op:Equal rhs:{(0)})] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$ct')} {(Lit_Equals '=')} {(unknown)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_COMPILER_KNOWN) op:Equal rhs:{(1)})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(ac_ifcpp)} {(SQ <'if 0'>)} {(compiler_fails)} {(SQ )} {(SQ <'if the compiler does not fail correctly'>)} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_CFLAGS) op: Equal rhs: {($ VSub_DollarName '$CFLAGS')} ) ] ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_CAN_DELEXE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(x)}) ) ) } ) (command.Case to_match: {($ VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{(dec)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: { (DQ ($ VSub_DollarName '$CFLAGS') (' ') (${ VSub_Name ccpl) (-non_shared)) } ) ] ) (command.Simple words: [ {(ac_testn)} {(can_delexe)} {(compiler_fails)} {(0)} {(SQ <'for the -non_shared linker option'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 7926 stdin_parts: [ ('#include <unistd.h>\n') ('int main(void) { return (isatty(0)); }\n') ] ) ] ) ] ) (case_arm pat_list: [{(dmc)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: { (DQ ($ VSub_DollarName '$CFLAGS') (' ') (${ VSub_Name ccpl) (/DELEXECUTABLE) ) } ) ] ) (command.Simple words: [ {(ac_testn)} {(can_delexe)} {(compiler_fails)} {(0)} {(SQ <'for the /DELEXECUTABLE linker option'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 7964 stdin_parts: [ ('#include <unistd.h>\n') ('int main(void) { return (isatty(0)); }\n') ] ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [(command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_DELEXE')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: {($ VSub_DollarName '$save_CFLAGS')} ) ] ) ] ) (command.Simple words: [ {(ac_testn)} {(compiler_still_fails)} {(SQ )} {(SQ <'if the compiler still does not fail correctly'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 8013 ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_COMPILER_STILL_FAILS')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(ac_ifcpp)} {(SQ <'ifdef __TINYC__'>)} {(couldbe_tcc)} {(SQ <'!'>)} {(compiler_known)} {(0)} {(SQ <'if this could be tcc'>)} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ct) op:Equal rhs:{(tcc)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPP) op: Equal rhs: {(SQ <'cpp -D__TINYC__'>)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_COMPILER_KNOWN) op:Equal rhs:{(1)})] ) ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{(bcc)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: Equal rhs: {(DQ (${ VSub_Name ccpc) (-w))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(DQ (${ VSub_Name ccpc) ('-w!'))} ) ] ) ] ) (case_arm pat_list:[{(dec)}]) (case_arm pat_list: [{(dmc)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: Equal rhs: {(DQ (${ VSub_Name ccpc) (-w))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(DQ (${ VSub_Name ccpc) (-wx))} ) ] ) ] ) (case_arm pat_list: [{(hpcc)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:save_NOWARN) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(Lit_Other '+') (We)} ) ] ) ] ) (case_arm pat_list: [{(kencc)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:save_NOWARN) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DOWARN) op:Equal rhs:(word.Empty))] ) ] ) (case_arm pat_list: [{(mipspro)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:save_NOWARN) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(DQ ('-diag_error 1-10000'))} ) ] ) ] ) (case_arm pat_list: [{(msc)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: Equal rhs: {(DQ (${ VSub_Name ccpc) (/w))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(DQ (${ VSub_Name ccpc) (/WX))} ) ] ) ] ) (case_arm pat_list: [{(sunpro)}] action: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$save_NOWARN'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: Equal rhs: {(SQ <'-errwarn=%none'>)} ) ] ) ] ) (C {(ac_flags)} {(0)} {(errwarnnone)} {(DQ ($ VSub_DollarName '$save_NOWARN'))}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_ERRWARNNONE')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:save_NOWARN) op:Equal rhs:(word.Empty))] ) ] ) (C {(ac_flags)} {(0)} {(errwarnall)} {(DQ ('-errwarn=%all'))}) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_ERRWARNALL')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(DQ ('-errwarn=%all'))} ) ] ) ] ) ] ) (case_arm pat_list: [{(tendra)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:save_NOWARN) op:Equal rhs:{(-w)})] ) ] ) (case_arm pat_list: [{(ucode)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:save_NOWARN) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DOWARN) op:Equal rhs:{(-w2)})] ) ] ) (case_arm pat_list: [{(watcom)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:save_NOWARN) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(-Wc) (Lit_Comma ',') (-we)} ) ] ) ] ) (case_arm pat_list: [{(xlc)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: Equal rhs: {(-qflag) (Lit_Equals '=') (i) (Lit_Other ':') (e)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(-qflag) (Lit_Equals '=') (i) (Lit_Other ':') (i)} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$save_NOWARN'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_NOWARN) op: Equal rhs: {(-Wno-error)} ) ] ) ] ) (C {(ac_flags)} {(0)} {(wnoerror)} {(DQ ($ VSub_DollarName '$save_NOWARN'))}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_WNOERROR')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:save_NOWARN) op:Equal rhs:(word.Empty))] ) ] ) (C {(ac_flags)} {(0)} {(werror)} {(-Werror)}) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_WERROR')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:DOWARN) op:Equal rhs:{(-Werror)})] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$ct')} {(Lit_Equals '=')} {(icc)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOWARN) op: Equal rhs: {(DQ ($ VSub_DollarName '$DOWARN') (' -wd1419'))} ) ] ) ] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: Equal rhs: {($ VSub_DollarName '$save_NOWARN')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(Lit_Other ':') (DQ ($ VSub_DollarName '$orig_CFLAGS'))}) (C {(sed)} {(SQ <'s/^://'>)}) (C {(tr)} {(-c)} {(-d)} {($ VSub_DollarName '$alll') ($ VSub_DollarName '$allu') ($ VSub_DollarName '$alln') } ) ] negated: F ) ] ) ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ ($ VSub_DollarName '$i'))} {(Lit_Equals '=')} {(x) (DQ )}) (command.Case to_match: {($ VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{(hpcc)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(u)})] ) (C {(ac_flags)} {(1)} {(otwo)} {(Lit_Other '+') (O2)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(x)})] ) ] ) (case_arm pat_list:[{(kencc)} {(tcc)} {(tendra)}]) (case_arm pat_list: [{(sunpro)}] action: [ (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)}) (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 8559 stdin_parts: [ ('#include <unistd.h>\n') ('int main(void) { return (isatty(0)); }\n') ('#define __IDSTRING_CONCAT(l,p)\t__LINTED__ ## l ## _ ## p\n') ('#define __IDSTRING_EXPAND(l,p)\t__IDSTRING_CONCAT(l,p)\n') ('#define pad\t\t\tvoid __IDSTRING_EXPAND(__LINE__,x)(void) { }\n') ] ) ] ) (command.Pipeline children: [ (C {(yes)} {(pad)}) (command.Simple words: [{(head)} {(-n)} {(256)}] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(x)})] ) ] negated: F ) (command.Simple words: [{(ac_flags)} {(-)} {(1)} {(otwo)} {(-xO2)}] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})] ) (C {(rmf)} {(x)}) ] ) (case_arm pat_list: [{(xlc)}] action: [ (C {(ac_flags)} {(1)} {(othree)} {(DQ ('-O3 -qstrict'))}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_OTHREE')}) (C {(ac_flags)} {(1)} {(otwo)} {(-O2)}) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (C {(ac_flags)} {(1)} {(otwo)} {(-O2)}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_OTWO')}) (C {(ac_flags)} {(1)} {(optimise)} {(-O)}) ] ) ] ) ] ) ] ) (command.ShAssignment pairs:[(assign_pair lhs:(sh_lhs_expr.Name name:i) op:Equal rhs:{(0)})]) (command.Case to_match: {($ VSub_DollarName '$ct')} arms: [ (case_arm pat_list: [{(bcc)}] action: [ (C {(ac_flags)} {(1)} {(strpool)} {(DQ (${ VSub_Name ccpc) (-d))} {(SQ <'if string pooling can be enabled'>)} ) ] ) (case_arm pat_list: [{(clang)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:i) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(dec)}] action: [ (C {(ac_flags)} {(0)} {(verb)} {(-verbose)}) (C {(ac_flags)} {(1)} {(rodata)} {(-readonly_strings)}) ] ) (case_arm pat_list: [{(dmc)}] action: [ (C {(ac_flags)} {(1)} {(decl)} {(DQ (${ VSub_Name ccpc) (-r))} {(SQ <'for strict prototype checks'>)} ) (C {(ac_flags)} {(1)} {(schk)} {(DQ (${ VSub_Name ccpc) (-s))} {(SQ <'for stack overflow checking'>)} ) ] ) (case_arm pat_list: [{(gcc)}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: Equal rhs: {($ VSub_DollarName '$DOWARN')} ) ] ) terminator: <Op_Semi ';'> ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(u)})] ) (C {(ac_flags)} {(1)} {(wnodeprecateddecls)} {(-Wno-deprecated-declarations)}) (C {(ac_flags)} {(1)} {(no_eh_frame)} {(-fno-asynchronous-unwind-tables)}) (C {(ac_flags)} {(1)} {(fnostrictaliasing)} {(-fno-strict-aliasing)}) (C {(ac_flags)} {(1)} {(fstackprotectorstrong)} {(-fstack-protector-strong)}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_FSTACKPROTECTORSTRONG')} ) (C {(ac_flags)} {(1)} {(fstackprotectorall)} {(-fstack-protector-all)}) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$cm')} {(Lit_Equals '=')} {(dragonegg)}) (command.Case to_match: { (DQ (' ') ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ) } arms: [ (case_arm pat_list: [ {(Lit_Star '*') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\ '>) (-fplugin) (Lit_Equals '=') (Lit_Star '*') (dragonegg) (Lit_Star '*') } ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (C {(ac_flags)} {(1)} {(fplugin_dragonegg)} {(-fplugin) (Lit_Equals '=') (dragonegg)} ) ] ) ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{(combine)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checks) op: Equal rhs: {(SQ <'7 8'>)} ) ] ) ] ) (case_arm pat_list: [{(lto)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checks) op: Equal rhs: {(SQ <'1 2 3 4 5 6 7 8'>)} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(1)})] ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(1)}) (command.ForEach iter_name: what iter_words: [{($ VSub_DollarName '$checks')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(1)}) (command.ControlFlow token: <ControlFlow_Break break> ) ] ) (command.Case to_match: {($ VSub_DollarName '$what')} arms: [ (case_arm pat_list: [{(1)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: Equal rhs: {(SQ <'-flto=jobserver'>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: Equal rhs: {(SQ <-fuse-linker-plugin>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: Equal rhs: {(1)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: Equal rhs: {(fltojs_lp)} ) ] ) ] ) (case_arm pat_list: [{(2)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: Equal rhs: {(SQ <'-flto=jobserver'>)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: Equal rhs: {(SQ )} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: Equal rhs: {(1)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: Equal rhs: {(fltojs_nn)} ) ] ) ] ) (case_arm pat_list: [{(3)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: Equal rhs: {(SQ <'-flto=jobserver'>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: Equal rhs: {(SQ <'-fno-use-linker-plugin -fwhole-program'>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: Equal rhs: {(1)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: Equal rhs: {(fltojs_np)} ) ] ) ] ) (case_arm pat_list: [{(4)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: Equal rhs: {(SQ <-flto>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: Equal rhs: {(SQ <-fuse-linker-plugin>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: Equal rhs: {(1)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: Equal rhs: {(fltons_lp)} ) ] ) ] ) (case_arm pat_list: [{(5)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: Equal rhs: {(SQ <-flto>)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: Equal rhs: {(SQ )} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: Equal rhs: {(1)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: Equal rhs: {(fltons_nn)} ) ] ) ] ) (case_arm pat_list: [{(6)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: Equal rhs: {(SQ <-flto>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: Equal rhs: {(SQ <'-fno-use-linker-plugin -fwhole-program'>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: Equal rhs: {(1)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: Equal rhs: {(fltons_np)} ) ] ) ] ) (case_arm pat_list: [{(7)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_cflags) op: Equal rhs: {(SQ <'-fwhole-program --combine'>)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_ldflags) op: Equal rhs: {(SQ )} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t_use) op: Equal rhs: {(0)} ) (assign_pair lhs: (sh_lhs_expr.Name name:t_name) op: Equal rhs: {(combine)} ) (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: Equal rhs: {(combine)} ) ] ) ] ) (case_arm pat_list: [{(8)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fv) op: Equal rhs: {(1)} ) (assign_pair lhs: (sh_lhs_expr.Name name:cm) op: Equal rhs: {(normal)} ) ] ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(1)}) (command.ControlFlow token: <ControlFlow_Break break> ) ] ) (C {(ac_flags)} {($ VSub_DollarName '$t_use')} {($ VSub_DollarName '$t_name')} {(DQ ($ VSub_DollarName '$t_cflags'))} {(DQ ('if gcc supports ') ($ VSub_DollarName '$t_cflags') (' ') ($ VSub_DollarName '$t_ldflags'))} {(DQ ($ VSub_DollarName '$t_ldflags'))} ) ] ) ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:i) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(hpcc)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(u)})] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(x)})] ) ] ) (case_arm pat_list: [{(icc)}] action: [ (C {(ac_flags)} {(1)} {(fnobuiltinsetmode)} {(-fno-builtin-setmode)}) (C {(ac_flags)} {(1)} {(fnostrictaliasing)} {(-fno-strict-aliasing)}) (C {(ac_flags)} {(1)} {(fstacksecuritycheck)} {(-fstack-security-check)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:i) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(mipspro)}] action: [ (C {(ac_flags)} {(1)} {(fullwarn)} {(-fullwarn)} {(SQ <'for remark output support'>)}) ] ) (case_arm pat_list: [{(msc)}] action: [ (C {(ac_flags)} {(1)} {(strpool)} {(DQ (${ VSub_Name ccpc) (/GF))} {(SQ <'if string pooling can be enabled'>)} ) (command.Simple words: [{(echo)} {(SQ <'int main(void) { char test[64] = ""; return (*test); }'>)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})] ) (command.Simple words: [ {(ac_flags)} {(-)} {(1)} {(stackon)} {(DQ (${ VSub_Name ccpc) (/GZ))} {(SQ <'if stack checks can be enabled'>)} ] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})] ) (command.Simple words: [ {(ac_flags)} {(-)} {(1)} {(stckall)} {(DQ (${ VSub_Name ccpc) (/Ge))} {(SQ <'stack checks for all functions'>)} ] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})] ) (command.Simple words: [ {(ac_flags)} {(-)} {(1)} {(secuchk)} {(DQ (${ VSub_Name ccpc) (/GS))} {(SQ <'for compiler security checks'>)} ] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})] ) (C {(rmf)} {(x)}) (C {(ac_flags)} {(1)} {(wall)} {(DQ (${ VSub_Name ccpc) (/Wall))} {(SQ <'to enable all warnings'>)} ) (C {(ac_flags)} {(1)} {(wp64)} {(DQ (${ VSub_Name ccpc) (/Wp64))} {(SQ <'to enable 64-bit warnings'>)} ) ] ) (case_arm pat_list: [{(nwcc)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:i) op:Equal rhs:{(1)})] ) ] ) (case_arm pat_list: [{(sunpro)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(u)})] ) (C {(ac_flags)} {(1)} {(v)} {(-v)}) (C {(ac_flags)} {(1)} {(ipo)} {(-xipo)} {(SQ <'for cross-module optimisation'>)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(x)})] ) ] ) (case_arm pat_list:[{(tcc)}] action:[(C {(Lit_Other ':')})]) (case_arm pat_list: [{(tendra)}] action: [ (C {(ac_flags)} {(0)} {(ysystem)} {(-Ysystem)}) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_YSYSTEM')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: Equal rhs: {(DQ ('-Ysystem ') ($ VSub_DollarName '$CPPFLAGS'))} ) ] ) ] ) (C {(ac_flags)} {(1)} {(extansi)} {(-Xa)}) ] ) (case_arm pat_list: [{(xlc)}] action: [ (C {(ac_flags)} {(1)} {(rodata)} {(DQ ('-qro -qroconst -qroptr'))}) (C {(ac_flags)} {(1)} {(rtcheck)} {(-qcheck) (Lit_Equals '=') (all)}) (C {(ac_flags)} {(1)} {(wformat)} {(DQ ('-qformat=all -qformat=nozln'))}) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$i')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(ac_flags)} {(1)} {(wall)} {(-Wall)}) (C {(ac_flags)} {(1)} {(fwrapv)} {(-fwrapv)}) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(x)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: Equal rhs: {($ VSub_DollarName '$DOWARN')} ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$ct')} {(Lit_Equals '=')} {(pcc)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(u)})] ) ] ) (command.Simple words: [{(ac_test)} {(attribute_bounded)} {(SQ )} {(SQ <'for __attribute__((__bounded__))'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 9716 stdin_parts: [ ('#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n') ('extern int thiswillneverbedefinedIhope(void);\n') ('/* force a failure: TenDRA and gcc 1.42 have false positive here */\n') ('int main(void) { return (thiswillneverbedefinedIhope()); }\n') ('#else\n') ('#include <string.h>\n') ('#undef __attribute__\n') ('int xcopy(const void *, void *, size_t)\n') (' __attribute__((__bounded__(__buffer__, 1, 3)))\n') (' __attribute__((__bounded__(__buffer__, 2, 3)));\n') ('int main(int ac, char *av[]) { return (xcopy(av[0], av[--ac], 1)); }\n') ('int xcopy(const void *s, void *d, size_t n) {\n') ('/*\n') (' * if memmove does not exist, we are not on a system\n') (' * with GCC with __bounded__ attribute either so poo\n') (' */\n') ('memmove(d, s, n); return ((int)n);\n') ('}\n') ('#endif\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(attribute_format)} {(SQ )} {(SQ <'for __attribute__((__format__))'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 9746 stdin_parts: [ ('#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n') ('extern int thiswillneverbedefinedIhope(void);\n') ('/* force a failure: TenDRA and gcc 1.42 have false positive here */\n') ('int main(void) { return (thiswillneverbedefinedIhope()); }\n') ('#else\n') ('#define fprintf printfoo\n') ('#include <stdio.h>\n') ('#undef __attribute__\n') ('#undef fprintf\n') ('extern int fprintf(FILE *, const char *format, ...)\n') (' __attribute__((__format__(__printf__, 2, 3)));\n') ('int main(int ac, char **av) { return (fprintf(stderr, "%s%d", *av, ac)); }\n') ('#endif\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(attribute_noreturn)} {(SQ )} {(SQ <'for __attribute__((__noreturn__))'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 9774 stdin_parts: [ ('#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n') ('extern int thiswillneverbedefinedIhope(void);\n') ('/* force a failure: TenDRA and gcc 1.42 have false positive here */\n') ('int main(void) { return (thiswillneverbedefinedIhope()); }\n') ('#else\n') ('#include <stdlib.h>\n') ('#undef __attribute__\n') ('void fnord(void) __attribute__((__noreturn__));\n') ('int main(void) { fnord(); }\n') ('void fnord(void) { exit(0); }\n') ('#endif\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(attribute_pure)} {(SQ )} {(SQ <'for __attribute__((__pure__))'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 9802 stdin_parts: [ ('#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n') ('extern int thiswillneverbedefinedIhope(void);\n') ('/* force a failure: TenDRA and gcc 1.42 have false positive here */\n') ('int main(void) { return (thiswillneverbedefinedIhope()); }\n') ('#else\n') ('#include <unistd.h>\n') ('#undef __attribute__\n') ('int foo(const char *) __attribute__((__pure__));\n') ('int main(int ac, char **av) { return (foo(av[ac - 1]) + isatty(0)); }\n') ('int foo(const char *s) { return ((int)s[0]); }\n') ('#endif\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(attribute_unused)} {(SQ )} {(SQ <'for __attribute__((__unused__))'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 9829 stdin_parts: [ ('#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n') ('extern int thiswillneverbedefinedIhope(void);\n') ('/* force a failure: TenDRA and gcc 1.42 have false positive here */\n') ('int main(void) { return (thiswillneverbedefinedIhope()); }\n') ('#else\n') ('#include <unistd.h>\n') ('#undef __attribute__\n') ('int main(int ac __attribute__((__unused__)), char **av\n') (' __attribute__((__unused__))) { return (isatty(0)); }\n') ('#endif\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(attribute_used)} {(SQ )} {(SQ <'for __attribute__((__used__))'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 9856 stdin_parts: [ ('#if defined(__TenDRA__) || (defined(__GNUC__) && (__GNUC__ < 2))\n') ('extern int thiswillneverbedefinedIhope(void);\n') ('/* force a failure: TenDRA and gcc 1.42 have false positive here */\n') ('int main(void) { return (thiswillneverbedefinedIhope()); }\n') ('#else\n') ('#include <unistd.h>\n') ('#undef __attribute__\n') ('static const char fnord[] __attribute__((__used__)) = "42";\n') ('int main(void) { return (isatty(0)); }\n') ('#endif\n') ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NOWARN) op: Equal rhs: {($ VSub_DollarName '$save_NOWARN')} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:phase) op:Equal rhs:{(x)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(ac_ifcpp)} {(SQ <'ifdef MKSH_SMALL'>)} {(isset_MKSH_SMALL)} {(SQ )} {(DQ ('if a reduced-feature mksh is requested'))} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_NICE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_PERSISTENT_HISTORY> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' smksh'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAVE_ISSET_MKSH_CONSERVATIVE_FDS) op: Equal rhs: {(1)} ) ] ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(ac_ifcpp)} {(SQ <'if defined(MKSH_BINSHPOSIX) || defined(MKSH_BINSHREDUCED)'>)} {(isset_MKSH_BINSH)} {(SQ )} {(SQ <'if invoking as sh should be handled specially'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' binsh'))} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(ac_ifcpp)} {(SQ <'ifdef MKSH_UNEMPLOYED'>)} {(isset_MKSH_UNEMPLOYED)} {(SQ )} {(DQ ('if mksh will be built without job control'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' arge'))} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(ac_ifcpp)} {(SQ <'ifdef MKSH_NOPROSPECTOFWORK'>)} {(isset_MKSH_NOPROSPECTOFWORK)} {(SQ )} {(DQ ('if mksh will be built without job signals'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' arge nojsig'))} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(ac_ifcpp)} {(SQ <'ifdef MKSH_ASSUME_UTF8'>)} {(isset_MKSH_ASSUME_UTF8)} {(SQ )} {(SQ <'if the default UTF-8 mode is specified'>)} ) (C {(Lit_Other ':')} { (DQ (braced_var_sub token: <VSub_Name HAVE_SETLOCALE_CTYPE> suffix_op: (suffix_op.Unary op_id:VTest_Equals arg_word:{(0)}) ) ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(ac_ifcpp)} {(SQ <'ifdef MKSH_CONSERVATIVE_FDS'>)} {(isset_MKSH_CONSERVATIVE_FDS)} {(SQ )} {(SQ <'if traditional/conservative fd use is requested'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' convfds'))} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(ac_ifcpp)} {(SQ <'ifdef MKSH_MIDNIGHTBSD01ASH_COMPAT'>)} {(isset_MKSH_MIDNIGHTBSD01ASH_COMPAT)} {(SQ )} {(SQ <'if the MidnightBSD 0.1 ash compatibility mode is requested'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' mnbsdash'))} ) ] ) ] ) (C {(ac_header)} {(sys/time.h)} {(sys/types.h)}) (C {(ac_header)} {(time.h)} {(sys/types.h)}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ (11))} {(Lit_Equals '=')} {(DQ ($ VSub_DollarName '$HAVE_SYS_TIME_H') ($ VSub_DollarName '$HAVE_TIME_H'))} ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_BOTH_TIME_H) op:Equal rhs:{(0)})] ) ] ) (command.Simple words: [ {(ac_test)} {(both_time_h)} {(SQ )} {(SQ <'whether <sys/time.h> and <time.h> can both be included'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10180 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <sys/time.h>\n') ('#include <time.h>\n') ('#include <unistd.h>\n') ('int main(void) { struct tm tm; return ((int)sizeof(tm) + isatty(0)); }\n') ] ) ] ) (C {(ac_header)} {(sys/bsdtypes.h)}) (C {(ac_header)} {(sys/file.h)} {(sys/types.h)}) (C {(ac_header)} {(sys/mkdev.h)} {(sys/types.h)}) (C {(ac_header)} {(sys/mman.h)} {(sys/types.h)}) (C {(ac_header)} {(sys/param.h)}) (C {(ac_header)} {(sys/resource.h)} {(sys/types.h)} {(_time)}) (C {(ac_header)} {(sys/select.h)} {(sys/types.h)}) (C {(ac_header)} {(sys/sysmacros.h)}) (C {(ac_header)} {(bstring.h)}) (C {(ac_header)} {(grp.h)} {(sys/types.h)}) (C {(ac_header)} {(io.h)}) (C {(ac_header)} {(libgen.h)}) (C {(ac_header)} {(libutil.h)} {(sys/types.h)}) (C {(ac_header)} {(paths.h)}) (C {(ac_header)} {(stdint.h)} {(stdarg.h)}) (C {(ac_header)} {(strings.h)} {(sys/types.h)} {(string.h)}) (C {(ac_header)} {(termios.h)}) (C {(ac_header)} {(ulimit.h)} {(sys/types.h)}) (C {(ac_header)} {(values.h)}) (command.Simple words: [ {(echo)} { (SQ <'#include <sys/types.h>\n'> <'#include <unistd.h>\n'> <'/* check that off_t can represent 2^63-1 correctly, thx FSF */\n'> <'#define LARGE_OFF_T ((((off_t)1 << 31) << 31) - 1 + (((off_t)1 << 31) << 31))\n'> <'int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 &&\n'> <' LARGE_OFF_T % 2147483647 == 1) ? 1 : -1];\n'> <'int main(void) { return (isatty(0)); }'> ) } ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(lft.c)})] ) (command.Simple words: [{(ac_testn)} {(can_lfs)} {(SQ )} {(DQ ('for large file support'))}] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(lft.c)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_CPPFLAGS) op: Equal rhs: {($ VSub_DollarName '$CPPFLAGS')} ) ] ) (C {(add_cppflags)} {(-D_FILE_OFFSET_BITS) (Lit_Equals '=') (64)}) (command.Simple words: [ {(ac_testn)} {(can_lfs_sus)} {(SQ <'!'>)} {(can_lfs)} {(0)} {(DQ ('... with -D_FILE_OFFSET_BITS=64'))} ] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(lft.c)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(0)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_LFS_SUS')}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: Equal rhs: {($ VSub_DollarName '$save_CPPFLAGS')} ) ] ) (C {(add_cppflags)} {(-D_LARGE_FILES) (Lit_Equals '=') (1)}) (command.Simple words: [ {(ac_testn)} {(can_lfs_aix)} {(SQ <'!'>)} {(can_lfs)} {(0)} {(DQ ('... with -D_LARGE_FILES=1'))} ] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(lft.c)})] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CAN_LFS_AIX')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CPPFLAGS) op: Equal rhs: {($ VSub_DollarName '$save_CPPFLAGS')} ) ] ) ] ) ] ) ] ) (C {(rm)} {(-f)} {(lft.c)}) (C {(rmf)} {(lft) (Lit_Star '*')}) (command.Simple words: [ {(ac_test)} {(can_inttypes)} {(SQ <'!'>)} {(stdint_h)} {(1)} {(DQ ('for standard 32-bit integer types'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10459 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <stddef.h>\n') ('int main(int ac, char **av) { return ((uint32_t)(size_t)*av + (int32_t)ac); }\n') ] ) ] ) (command.Simple words: [ {(ac_test)} {(can_ucbints)} {(SQ <'!'>)} {(can_inttypes)} {(1)} {(DQ ('for UCB 32-bit integer types'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10484 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <stddef.h>\n') ('int main(int ac, char **av) { return ((u_int32_t)(size_t)*av + (int32_t)ac); }\n') ] ) ] ) (command.Simple words: [ {(ac_test)} {(can_int8type)} {(SQ <'!'>)} {(stdint_h)} {(1)} {(DQ ('for standard 8-bit integer type'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10509 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <stddef.h>\n') ('int main(int ac, char **av) { return ((uint8_t)(size_t)av[ac]); }\n') ] ) ] ) (command.Simple words: [ {(ac_test)} {(can_ucbint8)} {(SQ <'!'>)} {(can_int8type)} {(1)} {(DQ ('for UCB 8-bit integer type'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10534 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <stddef.h>\n') ('int main(int ac, char **av) { return ((u_int8_t)(size_t)av[ac]); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(rlim_t)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10559 stdin_parts: [ ('#include <sys/types.h>\n') ('#if HAVE_BOTH_TIME_H\n') ('#include <sys/time.h>\n') ('#include <time.h>\n') ('#elif HAVE_SYS_TIME_H\n') ('#include <sys/time.h>\n') ('#elif HAVE_TIME_H\n') ('#include <time.h>\n') ('#endif\n') ('#if HAVE_SYS_RESOURCE_H\n') ('#include <sys/resource.h>\n') ('#endif\n') ('#include <unistd.h>\n') ('int main(void) { return (((int)(rlim_t)0) + isatty(0)); }\n') ] ) ] ) (command.Simple words: [{(ac_testn)} {(sig_t)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10578 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <signal.h>\n') ('#include <stddef.h>\n') ('volatile sig_t foo = (sig_t)0;\n') ('int main(void) { return (foo == (sig_t)0); }\n') ] ) ] ) (command.Simple words: [{(ac_testn)} {(sighandler_t)} {(SQ <'!'>)} {(sig_t)} {(0)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10602 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <signal.h>\n') ('#include <stddef.h>\n') ('volatile sighandler_t foo = (sighandler_t)0;\n') ('int main(void) { return (foo == (sighandler_t)0); }\n') ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_SIGHANDLER_T')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(add_cppflags)} {(-Dsig_t) (Lit_Equals '=') (sighandler_t)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_SIG_T) op:Equal rhs:{(1)})] ) ] ) ] ) (command.Simple words: [{(ac_testn)} {(__sighandler_t)} {(SQ <'!'>)} {(sig_t)} {(0)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 10652 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <signal.h>\n') ('#include <stddef.h>\n') ('volatile __sighandler_t foo = (__sighandler_t)0;\n') ('int main(void) { return (foo == (__sighandler_t)0); }\n') ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE___SIGHANDLER_T')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(add_cppflags)} {(-Dsig_t) (Lit_Equals '=') (__sighandler_t)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_SIG_T) op:Equal rhs:{(1)})] ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_SIG_T')}) (C {(add_cppflags)} {(-Dsig_t) (Lit_Equals '=') (nosig_t)}) ] ) (C {(ac_cppflags)} {(SIG_T)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$cm')} {(Lit_Equals '=')} {(makefile)}) terminator: <Op_Semi ';'> ) ] action: [(C {(Lit_Other ':')} {(nothing)} {(to)} {(check)})] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_LINK_WORKS) op:Equal rhs:{(x)})] ) (C {(ac_testinit)} {(link_works)} {(SQ )} {(SQ <'checking if the final link command may succeed'>)} ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(1)})] ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.c)}) (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 10783 stdin_parts: [ ('#define EXTERN\n') ('#define MKSH_INCLUDES_ONLY\n') ('#include ') (Right_DoubleQuote '"') (sh.h) (Right_DoubleQuote '"') ('\n') ('__RCSID(') (Right_DoubleQuote '"') ($ VSub_DollarName '$srcversion') (Right_DoubleQuote '"') (');\n') ('int main(void) { printf(') (Right_DoubleQuote '"') ('Hello, World!') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\\\'>) (n) (Right_DoubleQuote '"') ('); return (isatty(0)); }\n') ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{(llvm)}] action: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -emit-llvm -c conftest.c') ) } ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) ] ) (C {(rmf)} {($ VSub_DollarName '$tfn') (.s)}) (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(0)}) (C {(v)} { (DQ ('llvm-link -o - conftest.o | opt ') ($ VSub_DollarName '$optflags') (' | llc -o ') ($ VSub_DollarName '$tfn') (.s) ) } ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(0)}) (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' -o ') ($ VSub_DollarName '$tcfn') (' ') ($ VSub_DollarName '$tfn') ('.s ') ($ VSub_DollarName '$LIBS') (' ') ($ VSub_DollarName '$ccpr') ) } ) ] ) ] ) (case_arm pat_list: [{(dragonegg)}] action: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -S -flto conftest.c') ) } ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(0)}) (C {(v)} {(DQ ('mv conftest.s conftest.ll'))}) ] ) (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(0)}) (C {(v)} {(DQ ('llvm-as conftest.ll'))}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) ] ) (C {(rmf)} {($ VSub_DollarName '$tfn') (.s)}) (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(0)}) (C {(v)} { (DQ ('llvm-link -o - conftest.bc | opt ') ($ VSub_DollarName '$optflags') (' | llc -o ') ($ VSub_DollarName '$tfn') (.s) ) } ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(0)}) (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' -o ') ($ VSub_DollarName '$tcfn') (' ') ($ VSub_DollarName '$tfn') ('.s ') ($ VSub_DollarName '$LIBS') (' ') ($ VSub_DollarName '$ccpr') ) } ) ] ) ] ) (case_arm pat_list: [{(combine)}] action: [ (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' -fwhole-program --combine ') ($ VSub_DollarName '$NOWARN') (' -o ') ($ VSub_DollarName '$tcfn') (' conftest.c ') ($ VSub_DollarName '$LIBS') (' ') ($ VSub_DollarName '$ccpr') ) } ) ] ) (case_arm pat_list: [{(lto)} {(normal)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:cm) op:Equal rhs:{(normal)})] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -c conftest.c') ) } ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(0)}) (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' -o ') ($ VSub_DollarName '$tcfn') (' conftest.o ') ($ VSub_DollarName '$LIBS') (' ') ($ VSub_DollarName '$ccpr') ) } ) ] ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {($ VSub_DollarName '$tcfn')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(0)})] ) ] ) (C {(ac_testdone)}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$fv')} {(Lit_Equals '=')} {(1)}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(x) (DQ (NetBSD))} {(Lit_Equals '=')} {(x) (DQ ($ VSub_DollarName '$TARGET_OS'))}) (C {($ VSub_DollarName '$e')} {(Ignore)} {(the)} {(compatibility)} {(warning.)}) ] ) (command.Simple words: [{(ac_testn)} {(sys_errlist)} {(SQ )} {(DQ ('the sys_errlist[] array and sys_nerr'))}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11183 stdin_parts: [ ('extern const int sys_nerr;\n') ('extern const char * const sys_errlist[];\n') ('extern int isatty(int);\n') ('int main(void) { return (*sys_errlist[sys_nerr - 1] + isatty(0)); }\n') ] ) ] ) (command.Simple words: [ {(ac_testn)} {(_sys_errlist)} {(SQ <'!'>)} {(sys_errlist)} {(0)} {(DQ ('the _sys_errlist[] array and _sys_nerr'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11209 stdin_parts: [ ('extern const int _sys_nerr;\n') ('extern const char * const _sys_errlist[];\n') ('extern int isatty(int);\n') ('int main(void) { return (*_sys_errlist[_sys_nerr - 1] + isatty(0)); }\n') ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(1)} {(Lit_Equals '=')} {(DQ ($ VSub_DollarName '$HAVE__SYS_ERRLIST'))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(add_cppflags)} {(-Dsys_nerr) (Lit_Equals '=') (_sys_nerr)}) (C {(add_cppflags)} {(-Dsys_errlist) (Lit_Equals '=') (_sys_errlist)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:HAVE_SYS_ERRLIST) op:Equal rhs:{(1)})] ) ] ) ] ) (C {(ac_cppflags)} {(SYS_ERRLIST)}) (command.ForEach iter_name: what iter_words: [{(name)} {(list)}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:uwhat) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [(C {(upper)} {($ VSub_DollarName '$what')})] ) ) } ) ] ) (command.Simple words: [ {(ac_testn)} {(sys_sig) ($ VSub_DollarName '$what')} {(SQ )} {(DQ ('the sys_sig') (${ VSub_Name what) ('[] array'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 11305 stdin_parts: [ ('extern const char * const sys_sig') (${ VSub_Name what) ('[];\n') ('extern int isatty(int);\n') ('int main(void) { return (sys_sig') (${ VSub_Name what) ('[0][0] + isatty(0)); }\n') ] ) ] ) (command.Simple words: [ {(ac_testn)} {(_sys_sig) ($ VSub_DollarName '$what')} {(SQ <'!'>)} {(sys_sig) ($ VSub_DollarName '$what')} {(0)} {(DQ ('the _sys_sig') (${ VSub_Name what) ('[] array'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 11344 stdin_parts: [ ('extern const char * const _sys_sig') (${ VSub_Name what) ('[];\n') ('extern int isatty(int);\n') ('int main(void) { return (_sys_sig') (${ VSub_Name what) ('[0][0] + isatty(0)); }\n') ] ) ] ) (C {(eval)} {(Lit_VarLike 'uwhat_v=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (HAVE__SYS_SIG) ($ VSub_DollarName '$uwhat') } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(1)} {(Lit_Equals '=')} {(DQ ($ VSub_DollarName '$uwhat_v'))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(add_cppflags)} {(-Dsys_sig) ($ VSub_DollarName '$what') (Lit_Equals '=') (_sys_sig) ($ VSub_DollarName '$what') } ) (C {(eval)} {(HAVE_SYS_SIG) ($ VSub_DollarName '$uwhat') (Lit_Equals '=') (1)}) ] ) ] ) (C {(ac_cppflags)} {(SYS_SIG) ($ VSub_DollarName '$uwhat')}) ] ) ) (command.Simple words: [{(ac_test)} {(flock)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11423 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <fcntl.h>\n') ('#undef flock\n') ('#if HAVE_SYS_FILE_H\n') ('#include <sys/file.h>\n') ('#endif\n') ('int main(void) { return (flock(0, LOCK_EX | LOCK_UN)); }\n') ] ) ] ) (command.Simple words: [ {(ac_test)} {(lock_fcntl)} {(SQ <'!'>)} {(flock)} {(1)} {(SQ <'whether we can lock files with fcntl'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11453 stdin_parts: [ ('#include <fcntl.h>\n') ('#undef flock\n') ('int main(void) {\n') ('struct flock lks;\n') ('lks.l_type = F_WRLCK | F_UNLCK;\n') ('return (fcntl(0, F_SETLKW, &lks));\n') ('}\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(getrusage)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11471 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('int main(void) {\n') ('struct rusage ru;\n') ('return (getrusage(RUSAGE_SELF, &ru) +\n') (' getrusage(RUSAGE_CHILDREN, &ru));\n') ('}\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(getsid)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11484 stdin_parts: [('#include <unistd.h>\n') ('int main(void) { return ((int)getsid(0)); }\n')] ) ] ) (command.Simple words: [{(ac_test)} {(gettimeofday)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11498 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('int main(void) { struct timeval tv; return (gettimeofday(&tv, NULL)); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(killpg)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11511 stdin_parts: [ ('#include <signal.h>\n') ('int main(int ac, char *av[]) { return (av[0][killpg(123, ac)]); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(memmove)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11531 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <stddef.h>\n') ('#include <string.h>\n') ('#if HAVE_STRINGS_H\n') ('#include <strings.h>\n') ('#endif\n') ('int main(int ac, char *av[]) {\n') ('return (*(int *)(void *)memmove(av[0], av[1], (size_t)ac));\n') ('}\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(mknod)} {(SQ )} {(SQ <'if to use mknod(), makedev() and friends'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11557 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('int main(int ac, char *av[]) {\n') ('dev_t dv;\n') ('dv = makedev((unsigned int)ac, (unsigned int)av[0][0]);\n') ('return (mknod(av[0], (mode_t)0, dv) ? (int)major(dv) :\n') (' (int)minor(dv));\n') ('}\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(mmap)} {(lock_fcntl)} {(0)} {(SQ <'for mmap and munmap'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11588 stdin_parts: [ ('#include <sys/types.h>\n') ('#if HAVE_SYS_FILE_H\n') ('#include <sys/file.h>\n') ('#endif\n') ('#if HAVE_SYS_MMAN_H\n') ('#include <sys/mman.h>\n') ('#endif\n') ('#include <stddef.h>\n') ('#include <stdlib.h>\n') ('int main(void) { return ((void *)mmap(NULL, (size_t)0,\n') (' PROT_READ, MAP_PRIVATE, 0, (off_t)0) == (void *)NULL ? 1 :\n') (' munmap(NULL, 0)); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(nice)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11601 stdin_parts: [('#include <unistd.h>\n') ('int main(void) { return (nice(4)); }\n')] ) ] ) (command.Simple words: [{(ac_test)} {(revoke)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11618 stdin_parts: [ ('#include <sys/types.h>\n') ('#if HAVE_LIBUTIL_H\n') ('#include <libutil.h>\n') ('#endif\n') ('#include <unistd.h>\n') ('int main(int ac, char *av[]) { return (ac + revoke(av[0])); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(setlocale_ctype)} {(SQ )} {(SQ <'setlocale(LC_CTYPE, "")'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11639 stdin_parts: [ ('#include <locale.h>\n') ('#include <stddef.h>\n') ('int main(void) { return ((int)(size_t)(void *)setlocale(LC_CTYPE, "")); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(langinfo_codeset)} {(setlocale_ctype)} {(0)} {(SQ <'nl_langinfo(CODESET)'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11661 stdin_parts: [ ('#include <langinfo.h>\n') ('#include <stddef.h>\n') ('int main(void) { return ((int)(size_t)(void *)nl_langinfo(CODESET)); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(select)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11702 stdin_parts: [ ('#include <sys/types.h>\n') ('#if HAVE_BOTH_TIME_H\n') ('#include <sys/time.h>\n') ('#include <time.h>\n') ('#elif HAVE_SYS_TIME_H\n') ('#include <sys/time.h>\n') ('#elif HAVE_TIME_H\n') ('#include <time.h>\n') ('#endif\n') ('#if HAVE_SYS_BSDTYPES_H\n') ('#include <sys/bsdtypes.h>\n') ('#endif\n') ('#if HAVE_SYS_SELECT_H\n') ('#include <sys/select.h>\n') ('#endif\n') ('#if HAVE_BSTRING_H\n') ('#include <bstring.h>\n') ('#endif\n') ('#include <stddef.h>\n') ('#include <stdlib.h>\n') ('#include <string.h>\n') ('#if HAVE_STRINGS_H\n') ('#include <strings.h>\n') ('#endif\n') ('#include <unistd.h>\n') ('int main(void) {\n') ('struct timeval tv = { 1, 200000 };\n') ('fd_set fds; FD_ZERO(&fds); FD_SET(0, &fds);\n') ('return (select(FD_SETSIZE, &fds, NULL, NULL, &tv));\n') ('}\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(setresugid)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11716 stdin_parts: [ ('#include <sys/types.h>\n') ('#include <unistd.h>\n') ('int main(void) { return (setresuid(0,0,0) + setresgid(0,0,0)); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(setgroups)} {(setresugid)} {(0)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11737 stdin_parts: [ ('#include <sys/types.h>\n') ('#if HAVE_GRP_H\n') ('#include <grp.h>\n') ('#endif\n') ('#include <unistd.h>\n') ('int main(void) { gid_t gid = 0; return (setgroups(0, &gid)); }\n') ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(x) (DQ ($ VSub_DollarName '$et'))} {(Lit_Equals '=')} {(x) (DQ (klibc))}) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [{(ac_testn)} {(__rt_sigsuspend)} {(SQ )} {(SQ <'whether klibc uses RT signals'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11780 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('extern int __rt_sigsuspend(const sigset_t *, size_t);\n') ('int main(void) { return (__rt_sigsuspend(NULL, 0)); }\n') ] ) ] ) (command.Simple words: [ {(ac_testn)} {(__sigsuspend_s)} {(SQ <'!'>)} {(__rt_sigsuspend)} {(1)} {(SQ <'whether sigsuspend is usable (1/2)'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11815 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('extern int __sigsuspend_s(sigset_t);\n') ('int main(void) { return (__sigsuspend_s(0)); }\n') ] ) ] ) (command.Simple words: [ {(ac_testn)} {(__sigsuspend_xxs)} {(SQ <'!'>)} {(__sigsuspend_s)} {(1)} {(SQ <'whether sigsuspend is usable (2/2)'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11844 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('extern int __sigsuspend_xxs(int, int, sigset_t);\n') ('int main(void) { return (__sigsuspend_xxs(0, 0, 0)); }\n') ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(DQ (000))} {(Lit_Equals '=')} { (DQ ($ VSub_DollarName '$HAVE___RT_SIGSUSPEND') ($ VSub_DollarName '$HAVE___SIGSUSPEND_S') ($ VSub_DollarName '$HAVE___SIGSUSPEND_XXS') ) } ) terminator: <Op_Semi ';'> ) ] action: [(C {(add_cppflags)} {(-DMKSH_NO_SIGSUSPEND)})] ) ] ) ] ) ] ) (command.Simple words: [{(ac_test)} {(strerror)} {(SQ <'!'>)} {(sys_errlist)} {(0)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11900 stdin_parts: [ ('extern char *strerror(int);\n') ('int main(int ac, char *av[]) { return (*strerror(*av[ac])); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(strsignal)} {(SQ <'!'>)} {(sys_siglist)} {(0)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11922 stdin_parts: [ ('#include <string.h>\n') ('#include <signal.h>\n') ('int main(void) { return (strsignal(1)[0]); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(strlcpy)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11936 stdin_parts: [ ('#include <string.h>\n') ('int main(int ac, char *av[]) { return (strlcpy(*av, av[1],\n') (' (size_t)ac)); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(flock_decl)} {(flock)} {(1)} {(SQ <'for declaration of flock()'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11970 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('#if HAVE_SYS_FILE_H\n') ('#include <sys/file.h>\n') ('#endif\n') ('int main(void) { return ((flock)(0, 0)); }\n') ] ) ] ) (command.Simple words: [{(ac_test)} {(revoke_decl)} {(revoke)} {(1)} {(SQ <'for declaration of revoke()'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 11991 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('int main(void) { return ((revoke)("")); }\n') ] ) ] ) (command.Simple words: [ {(ac_test)} {(sys_errlist_decl)} {(sys_errlist)} {(0)} {(DQ ('for declaration of sys_errlist[] and sys_nerr'))} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 12012 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('int main(void) { return (*sys_errlist[sys_nerr - 1] + isatty(0)); }\n') ] ) ] ) (command.Simple words: [ {(ac_test)} {(sys_siglist_decl)} {(sys_siglist)} {(0)} {(SQ <'for declaration of sys_siglist[]'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 12033 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('int main(void) { return (sys_siglist[0][0] + isatty(0)); }\n') ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fd) op: Equal rhs: {(SQ <'if to use persistent history'>)} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(ac_cache)} {(PERSISTENT_HISTORY)}) (command.Case to_match: {($ VSub_DollarName '$HAVE_MMAP') ($ VSub_DollarName '$HAVE_FLOCK') ($ VSub_DollarName '$HAVE_LOCK_FCNTL') } arms: [ (case_arm pat_list: [{(11) (Lit_Star '*')} {(101)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(1)})] ) ] ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$fv')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' no-histfile'))} ) ] ) ] ) (C {(ac_testdone)}) (C {(ac_cppflags)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:save_CFLAGS) op: Equal rhs: {($ VSub_DollarName '$CFLAGS')} ) ] ) (command.Simple words: [ {(ac_testn)} {(compile_time_asserts_) ($ VSub_Dollar '$$')} {(SQ )} {(SQ <'whether compile-time assertions pass'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 12173 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('#ifndef CHAR_BIT\n') ('#define CHAR_BIT 8\t/* defuse this test on really legacy systems */\n') ('#endif\n') ('struct ctasserts {\n') ('#define cta(name, assertion) char name[(assertion) ? 1 : -1]\n') ('/* this one should be defined by the standard */\n') ('cta(char_is_1_char, (sizeof(char) == 1) && (sizeof(signed char) == 1) &&\n') (' (sizeof(unsigned char) == 1));\n') ('cta(char_is_8_bits, ((CHAR_BIT) == 8) && ((int)(unsigned char)0xFF == 0xFF) &&\n') (' ((int)(unsigned char)0x100 == 0) && ((int)(unsigned char)(int)-1 == 0xFF));\n') ('/* the next assertion is probably not really needed */\n') ('cta(short_is_2_char, sizeof(short) == 2);\n') ('cta(short_size_no_matter_of_signedness, sizeof(short) == sizeof(unsigned short));\n') ('/* the next assertion is probably not really needed */\n') ('cta(int_is_4_char, sizeof(int) == 4);\n') ('cta(int_size_no_matter_of_signedness, sizeof(int) == sizeof(unsigned int));\n') ('\n') ('cta(long_ge_int, sizeof(long) >= sizeof(int));\n') ('cta(long_size_no_matter_of_signedness, sizeof(long) == sizeof(unsigned long));\n') ('\n') ('#ifndef MKSH_LEGACY_MODE\n') ('/* the next assertion is probably not really needed */\n') ('cta(ari_is_4_char, sizeof(mksh_ari_t) == 4);\n') ('/* but this is */\n') ( 'cta(ari_has_31_bit, 0 < (mksh_ari_t)(((((mksh_ari_t)1 << 15) << 15) - 1) * 2 + 1));\n' ) ('/* the next assertion is probably not really needed */\n') ('cta(uari_is_4_char, sizeof(mksh_uari_t) == 4);\n') ('/* but the next three are; we REQUIRE unsigned integer wraparound */\n') ( 'cta(uari_has_31_bit, 0 < (mksh_uari_t)(((((mksh_uari_t)1 << 15) << 15) - 1) * 2 + 1));\n' ) ( 'cta(uari_has_32_bit, 0 < (mksh_uari_t)(((((mksh_uari_t)1 << 15) << 15) - 1) * 4 + 3));\n' ) ('cta(uari_wrap_32_bit,\n') (' (mksh_uari_t)(((((mksh_uari_t)1 << 15) << 15) - 1) * 4 + 3) >\n') (' (mksh_uari_t)(((((mksh_uari_t)1 << 15) << 15) - 1) * 4 + 4));\n') ('#define NUM 22\n') ('#else\n') ('#define NUM 16\n') ('#endif\n') ('/* these are always required */\n') ('cta(ari_is_signed, (mksh_ari_t)-1 < (mksh_ari_t)0);\n') ('cta(uari_is_unsigned, (mksh_uari_t)-1 > (mksh_uari_t)0);\n') ('/* we require these to have the precisely same size and assume 2s complement */\n') ('cta(ari_size_no_matter_of_signedness, sizeof(mksh_ari_t) == sizeof(mksh_uari_t));\n') ('\n') ('cta(sizet_size_no_matter_of_signedness, sizeof(ssize_t) == sizeof(size_t));\n') ('cta(sizet_voidptr_same_size, sizeof(size_t) == sizeof(void *));\n') ('cta(sizet_funcptr_same_size, sizeof(size_t) == sizeof(void (*)(void)));\n') ('/* our formatting routines assume this */\n') ('cta(ptr_fits_in_long, sizeof(size_t) <= sizeof(long));\n') ('cta(ari_fits_in_long, sizeof(mksh_ari_t) <= sizeof(long));\n') ('/* for struct alignment people */\n') ('char padding[64 - NUM];\n') ('};\n') ('char ctasserts_dblcheck[sizeof(struct ctasserts) == 64 ? 1 : -1];\n') ('int main(void) { return (sizeof(ctasserts_dblcheck) + isatty(0)); }\n') ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: {($ VSub_DollarName '$save_CFLAGS')} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(eval)} {(test)} {(1)} {(Lit_Equals '=')} {(word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (HAVE_COMPILE_TIME_ASSERTS_) ($ VSub_Dollar '$$') } ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$legacy')} {(Lit_Equals '=')} {(1)}) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [{(ac_test)} {(long_32bit)} {(SQ )} {(SQ <'whether long is 32 bit wide'>)}] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 12246 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('#ifndef CHAR_BIT\n') ('#define CHAR_BIT 0\n') ('#endif\n') ('struct ctasserts {\n') ('#define cta(name, assertion) char name[(assertion) ? 1 : -1]\n') ('cta(char_is_8_bits, (CHAR_BIT) == 8);\n') ('cta(long_is_32_bits, sizeof(long) == 4);\n') ('};\n') ('int main(void) { return (sizeof(struct ctasserts)); }\n') ] ) ] ) (command.Simple words: [ {(ac_test)} {(long_64bit)} {(SQ <'!'>)} {(long_32bit)} {(0)} {(SQ <'whether long is 64 bit wide'>)} ] redirects: [ (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 12281 stdin_parts: [ ('#define MKSH_INCLUDES_ONLY\n') ('#include "sh.h"\n') ('#ifndef CHAR_BIT\n') ('#define CHAR_BIT 0\n') ('#endif\n') ('struct ctasserts {\n') ('#define cta(name, assertion) char name[(assertion) ? 1 : -1]\n') ('cta(char_is_8_bits, (CHAR_BIT) == 8);\n') ('cta(long_is_64_bits, sizeof(long) == 8);\n') ('};\n') ('int main(void) { return (sizeof(struct ctasserts)); }\n') ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$HAVE_LONG_32BIT') ($ VSub_DollarName '$HAVE_LONG_64BIT')} arms: [ (case_arm pat_list: [{(10)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' int:32'))} ) ] ) ] ) (case_arm pat_list: [{(01)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' int:64'))} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' int:u'))} ) ] ) ] ) ] ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(0)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_SYS_SIGNAME')}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(ac_testinit)} {(cpp_dd)} {(SQ )} {(SQ <'checking if the C Preprocessor supports -dD'>)} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [{(echo)} {(SQ <'#define foo bar'>)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.c)})] ) (C {(vv)} {(SQ <']'>)} { (DQ ($ VSub_DollarName '$CPP') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -dD conftest.c >x') ) } ) (command.AndOr ops: [Op_DAmp] children: [ (command.Simple words: [{(grep)} {(SQ <'#define foo bar'>)} {(x)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fv) op:Equal rhs:{(1)})] ) ] ) (C {(rmf)} {(conftest.c)} {(x)} {(vv.out)}) (C {(ac_testdone)}) ] ) ] ) ] ) (C {($ VSub_DollarName '$e')} {(...)} {(done.)}) (command.Simple words: [{(echo)} {(wq)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})] ) (command.AndOr ops: [Op_DAmp] children: [ (command.Pipeline children: [ (command.Simple words: [{(ed)} {(x)}] redirects: [ (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)}) (redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)}) ] ) (command.Simple words: [{(grep)} {(3)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_categories) op: Equal rhs: {(DQ ($ VSub_DollarName '$check_categories') (' ') ($ VSub_DollarName '$oldish_ed'))} ) ] ) ] ) (C {(rmf)} {(x)} {(vv.out)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(0)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_SYS_SIGNAME')}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CPP_DD')}) terminator: <Op_Semi ';'> ) ] action: [ (C {($ VSub_DollarName '$e')} {(Generating)} {(list)} {(of)} {(signal)} {(names...)}) ] ) ] else_action: [ (C {($ VSub_DollarName '$e')} {(No)} {(list)} {(of)} {(signal)} {(names)} {(available)} {(via)} {(cpp.)} {(Falling)} {(back...)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigseenone) op: Equal rhs: {(Lit_Other ':')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigseentwo) op: Equal rhs: {(Lit_Other ':')} ) ] ) (command.Simple words: [ {(echo)} { (SQ <'#include <signal.h>\n'> <'#if defined(NSIG_MAX)\n'> <'#define cfg_NSIG NSIG_MAX\n'> <'#elif defined(NSIG)\n'> <'#define cfg_NSIG NSIG\n'> <'#elif defined(_NSIG)\n'> <'#define cfg_NSIG _NSIG\n'> <'#elif defined(SIGMAX)\n'> <'#define cfg_NSIG (SIGMAX + 1)\n'> <'#elif defined(_SIGMAX)\n'> <'#define cfg_NSIG (_SIGMAX + 1)\n'> <'#else\n'> <'/*XXX better error out, see sh.h */\n'> <'#define cfg_NSIG 64\n'> <'#endif\n'> <'int\n'> <'mksh_cfg= cfg_NSIG\n'> <';'> ) } ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.c)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NSIG) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(vq)} { (DQ ($ VSub_DollarName '$CPP') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' conftest.c') ) } ) (C {(grep)} {(-v)} {(SQ <'^#'>)}) (C {(sed)} { (SQ <'/mksh_cfg.*= *$/{\n'> <'\t\tN\n'> <'\t\ts/\\n/ /\n'> <'\t\t}'> ) } ) (C {(grep)} {(SQ <'^ *mksh_cfg *='>)}) (C {(sed)} { (SQ < 's/^ *mksh_cfg *=[\t ]*\\([()0-9x+-][()0-9x+\t -]*\\).*$/\\1/' > ) } ) ] negated: F ) ] ) ) } ) ] ) (command.Case to_match: {($ VSub_DollarName '$NSIG')} arms: [ (case_arm pat_list: [{(Lit_Star '*') (mksh_cfg) (Lit_Star '*')}] action: [ (command.Sentence child: (C {($ VSub_DollarName '$e')} {(DQ ("Error: NSIG='") ($ VSub_DollarName '$NSIG') ("'"))} ) terminator: <Op_Semi ';'> ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:NSIG) op:Equal rhs:{(0)})] ) ] ) (case_arm pat_list: [ {(Lit_Star '*') (Lit_LBracket '[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\ '>) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\('>) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\)'>) (Lit_Other '+') (-) (Lit_RBracket ']') (Lit_Star '*') } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NSIG) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Simple words: [ {(DQ ($ VSub_DollarName '$AWK'))} {(DQ ('BEGIN { print ') ($ VSub_DollarName '$NSIG') (' }'))} ] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] ) ) } ) ] ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:printf) op:Equal rhs:{(printf)})] ) (command.AndOr ops: [Op_DPipe] children: [ (command.Subshell command_list: (command.CommandList children:[(C {(printf)} {(hallo)})]) redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:printf) op:Equal rhs:{(echo)})] ) ] ) (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$printf')} {(Lit_Equals '=')} {(echo)}) (C {(test)} { (DQ (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [(C {(printf)} {(Lit_Other '%') (d)} {(42)})] ) ) ) } {(Lit_Equals '=')} {(42)} ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:printf) op:Equal rhs:{(echo)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$printf')} {(Lit_Equals '=')} {(echo)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NSIG) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Simple words: [ {(printf)} {(Lit_Other '%') (d)} {(DQ ($ VSub_DollarName '$NSIG'))} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ) } ) ] ) ] ) (C {($ VSub_DollarName '$printf')} {(DQ ('NSIG=') ($ VSub_DollarName '$NSIG') (' ... '))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: Equal rhs: {(DQ ('ABRT FPE ILL INT SEGV TERM ALRM BUS CHLD CONT HUP KILL PIPE QUIT'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: Equal rhs: { (DQ ($ VSub_DollarName '$sigs') (' STOP TSTP TTIN TTOU USR1 USR2 POLL PROF SYS TRAP URG VTALRM') ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: Equal rhs: { (DQ ($ VSub_DollarName '$sigs') (' XCPU XFSZ INFO WINCH EMT IO DIL LOST PWR SAK CLD IOT STKFLT') ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: Equal rhs: { (DQ ($ VSub_DollarName '$sigs') (' ABND DCE DUMP IOERR TRACE DANGER THCONT THSTOP RESV UNUSED') ) } ) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_CPP_DD')}) (C {(test)} {($ VSub_DollarName '$NSIG')} {(-gt)} {(1)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigs) op: Equal rhs: {(DQ ($ VSub_DollarName '$sigs') (' ')) (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(vq)} { (DQ ($ VSub_DollarName '$CPP') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' -dD conftest.c') ) } ) (C {(grep)} {(SQ <'[\t ]SIG[A-Z0-9][A-Z0-9]*[\t ]'>)}) (C {(sed)} {(SQ <'s/^.*[\t ]SIG\\([A-Z0-9][A-Z0-9]*\\)[\t ].*$/\\1/'>)} ) (C {(sort)}) ] negated: F ) ] ) ) } ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$NSIG')} {(-gt)} {(1)}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:sigs) op:Equal rhs:(word.Empty))] ) ] ) (command.Pipeline children: [ (command.ForEach iter_name: name iter_words: [{($ VSub_DollarName '$sigs')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {($ VSub_DollarName '$sigseenone')} arms: [ (case_arm pat_list: [ {(Lit_Star '*') (Lit_Other ':') ($ VSub_DollarName '$name') (Lit_Other ':') (Lit_Star '*') } ] action: [(command.ControlFlow token:<ControlFlow_Continue continue>)] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigseenone) op: Equal rhs: {($ VSub_DollarName '$sigseenone') ($ VSub_DollarName '$name') (Lit_Other ':') } ) ] ) (command.Simple words: [{(echo)} {(SQ <'#include <signal.h>'>)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(conftest.c)} ) ] ) (command.Simple words: [{(echo)} {(int)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(conftest.c)} ) ] ) (command.Simple words: [ {(echo)} {(Lit_VarLike 'mksh_cfg=')} {(SIG) ($ VSub_DollarName '$name')} ] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(conftest.c)} ) ] ) (command.Simple words: [{(echo)} {(SQ <';'>)}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(conftest.c)} ) ] ) (command.Pipeline children: [ (C {(vq)} { (DQ ($ VSub_DollarName '$CPP') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$NOWARN') (' conftest.c') ) } ) (C {(grep)} {(-v)} {(SQ <'^#'>)}) (C {(sed)} { (SQ <'/mksh_cfg.*= *$/{\n'> <'\t\t\tN\n'> <'\t\t\ts/\\n/ /\n'> <'\t\t\t}'> ) } ) (C {(grep)} {(SQ <'^ *mksh_cfg *='>)}) (C {(sed)} {(SQ <'s/^ *mksh_cfg *=[\t ]*\\([0-9][0-9x]*\\).*$/:\\1 '>) ($ VSub_DollarName '$name') (/) } ) ] negated: F ) ] ) ) (C {(sed)} {(-n)} {(SQ <'/^:[^ ]/s/^://p'>)}) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (C {(read)} {(nr)} {(name)}) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$printf')} {(Lit_Equals '=')} {(echo)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nr) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Simple words: [ {(printf)} {(Lit_Other '%') (d)} {(DQ ($ VSub_DollarName '$nr'))} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ) } ) ] ) ] ) (command.AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$nr')} {(-gt)} {(0)}) (C {(test)} {($ VSub_DollarName '$nr')} {(-lt)} {($ VSub_DollarName '$NSIG')}) (command.ControlFlow token: <ControlFlow_Continue continue> ) ] ) (command.Case to_match: {($ VSub_DollarName '$sigseentwo')} arms: [ (case_arm pat_list: [ {(Lit_Star '*') (Lit_Other ':') ($ VSub_DollarName '$nr') (Lit_Other ':') (Lit_Star '*') } ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (C {(echo)} { (DQ ('\t\t{ ') (word_part.EscapedLiteral token: <Lit_EscapedChar '\\"'> ) ($ VSub_DollarName '$name') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) (', ') ($ VSub_DollarName '$nr') (' },') ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sigseentwo) op: Equal rhs: {($ VSub_DollarName '$sigseentwo') ($ VSub_DollarName '$nr') (Lit_Other ':') } ) ] ) (command.Simple words: [ {($ VSub_DollarName '$printf')} { (DQ ($ VSub_DollarName '$name') ('=') ($ VSub_DollarName '$nr') (' ') ) } ] redirects: [ (redir.Redir op: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(2)} ) ] ) ] ) ] ) ] ) redirects: [ (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(signames.inc)} ) ] ) ] negated: F ) (C {(rmf)} {(conftest.c)}) (C {($ VSub_DollarName '$e')} {(done.)}) ] ) ] ) (C {(addsrcs)} {(SQ <'!'>)} {(HAVE_STRLCPY)} {(strlcpy.c)}) (C {(addsrcs)} {(USE_PRINTF_BUILTIN)} {(printf.c)}) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {(DQ ($ VSub_DollarName '$USE_PRINTF_BUILTIN'))}) (C {(add_cppflags)} {(-DMKSH_PRINTF_BUILTIN)}) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {(DQ ($ VSub_DollarName '$HAVE_CAN_VERB'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CFLAGS) op: Equal rhs: {(DQ ($ VSub_DollarName '$CFLAGS') (' -verbose'))} ) ] ) ] ) (C {(add_cppflags)} {(-DMKSH_BUILD_R) (Lit_Equals '=') (523)}) (C {($ VSub_DollarName '$e')} {($ VSub_DollarName '$bi') ($ VSub_DollarName '$me') (Lit_Other ':')} {(Finished)} {(configuration)} {(testing) (Lit_Comma ',')} {(now)} {(producing)} {(output.) ($ VSub_DollarName '$ao')} ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:files) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:objs) op:Equal rhs:(word.Empty))] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:sp) op:Equal rhs:(word.Empty))] ) (command.Case to_match: {($ VSub_DollarName '$tcfn')} arms: [ (case_arm pat_list: [{(a.exe)} {(conftest.exe)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mkshexe) op: Equal rhs: {($ VSub_DollarName '$tfn') (.exe)} ) ] ) (C {(add_cppflags)} {(-DMKSH_EXE_EXT)}) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mkshexe) op: Equal rhs: {($ VSub_DollarName '$tfn')} ) ] ) ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$curdir')} arms: [ (case_arm pat_list: [ {(Lit_Star '*') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\ '>) (Lit_Star '*')} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mkshshebang) op: Equal rhs: {(DQ ('#!./') ($ VSub_DollarName '$mkshexe'))} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mkshshebang) op: Equal rhs: {(DQ ('#!') ($ VSub_DollarName '$curdir') (/) ($ VSub_DollarName '$mkshexe'))} ) ] ) ] ) ] ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(test.sh)}) (redir.HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 13773 stdin_parts: [ ($ VSub_DollarName '$mkshshebang') ('\n') ("LC_ALL=C PATH='") ($ VSub_DollarName '$PATH') ("'; export LC_ALL PATH\n") ('test -n ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (KSH_VERSION) (Right_DoubleQuote '"') (' || exit 1\n') ('set -A check_categories -- ') ($ VSub_DollarName '$check_categories') ('\n') ("pflag='") ($ VSub_DollarName '$curdir') (/) ($ VSub_DollarName '$mkshexe') ("'\n") ("sflag='") ($ VSub_DollarName '$srcdir') ("/check.t'\n") ('usee=0 Pflag=0 Sflag=0 uset=0 vflag=1 xflag=0\n') ('while getopts ') (Right_DoubleQuote '"') ('C:e:fPp:QSs:t:v') (Right_DoubleQuote '"') (' ch; do case ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('ch {\n') ('(C)\tcheck_categories[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#check_categories[*]}]=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('OPTARG ;;\n') ('(e)\tusee=1; eflag=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('OPTARG ;;\n') ('(f)\tcheck_categories[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#check_categories[*]}]=fastbox ;;\n') ('(P)\tPflag=1 ;;\n') ('(+P)\tPflag=0 ;;\n') ('(p)\tpflag=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('OPTARG ;;\n') ('(Q)\tvflag=0 ;;\n') ('(+Q)\tvflag=1 ;;\n') ('(S)\tSflag=1 ;;\n') ('(+S)\tSflag=0 ;;\n') ('(s)\tsflag=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('OPTARG ;;\n') ('(t)\tuset=1; tflag=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('OPTARG ;;\n') ('(v)\tvflag=1 ;;\n') ('(+v)\tvflag=0 ;;\n') ('(*)\txflag=1 ;;\n') ('}\n') ('done\n') ('shift ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('((OPTIND - 1))\n') ("set -A args -- '") ($ VSub_DollarName '$srcdir') ("/check.pl' -p ") (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (pflag) (Right_DoubleQuote '"') ('\n') ('x=\n') ('for y in ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{check_categories[@]}') (Right_DoubleQuote '"') ('; do\n') ('x=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('x,') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('y\n') ('done\n') ('if [[ -n ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('x ]]; then\n') ('args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=-C\n') ('args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{x#,}\n') ('fi\n') ('if (( usee )); then\n') ('args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=-e\n') ('args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('eflag\n') ('fi\n') ('(( Pflag )) && args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=-P\n') ('if (( uset )); then\n') ('args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=-t\n') ('args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('tflag\n') ('fi\n') ('(( vflag )) && args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=-v\n') ('(( xflag )) && args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=-x\t# force usage by synerr\n') ('if [[ -n ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('TMPDIR && -d ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('TMPDIR/. ]]; then\n') ('args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=-T\n') ('args[') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{#args[*]}]=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('TMPDIR\n') ('fi\n') ('print Testing mksh for conformance:\n') ("grep -F -e Mir''OS: -e MIRBSD ") (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (sflag) (Right_DoubleQuote '"') ('\n') ('print ') (Right_DoubleQuote '"') ('This shell is actually:') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\\\'>) (n) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\\\'>) (t) (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (KSH_VERSION) (Right_DoubleQuote '"') ('\n') ("print 'test.sh built for mksh ") ($ VSub_DollarName '$dstversion') ("'\n") ("cstr='") (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('os = defined ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('^O ? ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('^O : ') (Right_DoubleQuote '"') (unknown) (Right_DoubleQuote '"') (";'\n") ('cstr=') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (cstr) (Right_DoubleQuote '"') ("'print ") (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('os . ') (Right_DoubleQuote '"') (', Perl version ') (Right_DoubleQuote '"') (' . ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ("];'\n") ('for perli in ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('PERL perl5 perl no; do\n') ('if [[ ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('perli = no ]]; then\n') ('print Cannot find a working Perl interpreter, aborting.\n') ('exit 1\n') ('fi\n') ('print ') (Right_DoubleQuote '"') ("Trying Perl interpreter '") (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ("perli'...") (Right_DoubleQuote '"') ('\n') ('perlos=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('perli -e ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (cstr) (Right_DoubleQuote '"') (')\n') ('rv=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('?\n') ('print ') (Right_DoubleQuote '"') ('Errorlevel ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ("rv, running on '") (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ("perlos'") (Right_DoubleQuote '"') ('\n') ('if (( rv )); then\n') ('print ') (Right_DoubleQuote '"') ('=> not using') (Right_DoubleQuote '"') ('\n') ('continue\n') ('fi\n') ('if [[ -n ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('perlos ]]; then\n') ('print ') (Right_DoubleQuote '"') ('=> using it') (Right_DoubleQuote '"') ('\n') ('break\n') ('fi\n') ('done\n') ('(( Sflag )) || echo + ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('perli ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{args[@]}') (Right_DoubleQuote '"') (' -s ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (sflag) (Right_DoubleQuote '"') (' ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('@') (Right_DoubleQuote '"') ('\n') ('(( Sflag )) || exec ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('perli ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{args[@]}') (Right_DoubleQuote '"') (' -s ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (sflag) (Right_DoubleQuote '"') (' ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('@') (Right_DoubleQuote '"') ($ VSub_DollarName '$tsts') ('\n') ('# use of the -S option for check.t split into multiple chunks\n') ('rv=0\n') ('for s in ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (sflag) (Right_DoubleQuote '"') ('.*; do\n') ('echo + ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('perli ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{args[@]}') (Right_DoubleQuote '"') (' -s ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (s) (Right_DoubleQuote '"') (' ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('@') (Right_DoubleQuote '"') ('\n') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('perli ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('{args[@]}') (Right_DoubleQuote '"') (' -s ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (s) (Right_DoubleQuote '"') (' ') (Right_DoubleQuote '"') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('@') (Right_DoubleQuote '"') ($ VSub_DollarName '$tsts') ('\n') ('rc=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('?\n') ('(( rv = rv ? rv : rc ))\n') ('done\n') ('exit ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('rv\n') ] ) ] ) (C {(chmod)} {(755)} {(test.sh)}) (command.Case to_match: {($ VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{(dragonegg)}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:emitbc) op:Equal rhs:{(DQ ('-S -flto'))})] ) ] ) (case_arm pat_list: [{(llvm)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:emitbc) op: Equal rhs: {(DQ ('-emit-llvm -c'))} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:emitbc) op:Equal rhs:{(-c)})] ) ] ) ] ) (command.Simple words: [{(echo)} {(DQ (': # work around NeXTstep bug'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (C {(cd)} {(DQ ($ VSub_DollarName '$srcdir'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:optfiles) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(echo)} {(Lit_Star '*') (.opt)})]) ) } ) ] ) (C {(cd)} {(DQ ($ VSub_DollarName '$curdir'))}) (command.ForEach iter_name: file iter_words: [{($ VSub_DollarName '$optfiles')}] do_arg_iter: F body: (command.DoGroup children: [ (C {(echo)} {(DQ ("echo + Running genopt on '") ($ VSub_DollarName '$file') ("'..."))}) (C {(echo)} { (DQ ("(srcfile='") ($ VSub_DollarName '$srcdir') (/) ($ VSub_DollarName '$file') ("'; BUILDSH_RUN_GENOPT=1; . '") ($ VSub_DollarName '$srcdir') ("/Build.sh')") ) } ) ] ) redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (command.Simple words: [{(echo)} {(KW_Set set)} {(-x)}] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (command.ForEach iter_name: file iter_words: [{($ VSub_DollarName '$SRCS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:op) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(x) (DQ ($ VSub_DollarName '$file'))}) (C {(sed)} {(SQ <'s/^x\\(.*\\)\\.c$/\\1./'>)}) ] negated: F ) ] ) ) } ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {($ VSub_DollarName '$file')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: Equal rhs: {($ VSub_DollarName '$srcdir') (/) ($ VSub_DollarName '$file')} ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:files) op: Equal rhs: { (DQ ($ VSub_DollarName '$files') ($ VSub_DollarName '$sp') ($ VSub_DollarName '$file') ) } ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:sp) op:Equal rhs:{(SQ <' '>)})] ) (command.Simple words: [ {(echo)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$emitbc') (' ') ($ VSub_DollarName '$file') (' || exit 1') ) } ] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$cm')} {(Lit_Equals '=')} {(dragonegg)}) terminator: <Op_Semi ';'> ) ] action: [ (command.Simple words: [{(echo)} {(DQ ('mv ') (${ VSub_Name op) ('s ') (${ VSub_Name op) (ll))}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(Rebuild.sh)} ) ] ) (command.Simple words: [{(echo)} {(DQ ('llvm-as ') (${ VSub_Name op) ('ll || exit 1'))}] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(Rebuild.sh)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: Equal rhs: { (DQ ($ VSub_DollarName '$objs') ($ VSub_DollarName '$sp') (${ VSub_Name op) (bc) ) } ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: Equal rhs: { (DQ ($ VSub_DollarName '$objs') ($ VSub_DollarName '$sp') (${ VSub_Name op) (o) ) } ) ] ) ] ) ] ) ) (command.Case to_match: {($ VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{(dragonegg)} {(llvm)}] action: [ (command.Simple words: [{(echo)} {(DQ ('rm -f ') ($ VSub_DollarName '$tfn') (.s))}] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (command.Simple words: [ {(echo)} { (DQ ('llvm-link -o - ') ($ VSub_DollarName '$objs') (' | opt ') ($ VSub_DollarName '$optflags') (' | llc -o ') ($ VSub_DollarName '$tfn') (.s) ) } ] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lobjs) op: Equal rhs: {($ VSub_DollarName '$tfn') (.s)} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:lobjs) op: Equal rhs: {($ VSub_DollarName '$objs')} ) ] ) ] ) ] ) (command.Simple words: [{(echo)} {(Lit_VarLike 'tcfn=') ($ VSub_DollarName '$mkshexe')}] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (command.Simple words: [ {(echo)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' -o ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('tcfn ') ($ VSub_DollarName '$lobjs') (' ') ($ VSub_DollarName '$LIBS') (' ') ($ VSub_DollarName '$ccpr') ) } ] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (command.Simple words: [ {(echo)} { (DQ ('test -f ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('tcfn || exit 1; ') ($ VSub_DollarName '$SIZE') (' ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (tcfn) ) } ] redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(Rebuild.sh)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$cm')} {(Lit_Equals '=')} {(makefile)}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extras) op: Equal rhs: {(SQ <'emacsfn.h rlimits.opt sh.h sh_flags.opt var_spec.h'>)} ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(0)} {(Lit_Equals '=')} {($ VSub_DollarName '$HAVE_SYS_SIGNAME')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:extras) op: Equal rhs: {(DQ ($ VSub_DollarName '$extras') (' signames.inc'))} ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs:(sh_lhs_expr.Name name:gens) op:Equal rhs:(word.Empty)) (assign_pair lhs:(sh_lhs_expr.Name name:genq) op:Equal rhs:(word.Empty)) ] ) (command.ForEach iter_name: file iter_words: [{($ VSub_DollarName '$optfiles')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:genf) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(basename)} {(DQ ($ VSub_DollarName '$file'))}) (C {(sed)} {(SQ <'s/.opt$/.gen/'>)}) ] negated: F ) ] ) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gens) op: Equal rhs: {(DQ ($ VSub_DollarName '$gens') (' ') ($ VSub_DollarName '$genf'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:genq) op: Equal rhs: { (DQ ($ VSub_DollarName '$genq') ($ VSub_DollarName '$nl') ($ VSub_DollarName '$genf') (': ') ($ VSub_DollarName '$srcdir') ('/Build.sh ') ($ VSub_DollarName '$srcdir') (/) ($ VSub_DollarName '$file') ('\n') ('\t\t\tsrcfile=') ($ VSub_DollarName '$srcdir') (/) ($ VSub_DollarName '$file') ('; BUILDSH_RUN_GENOPT=1; . ') ($ VSub_DollarName '$srcdir') (/Build.sh) ) } ) ] ) ] ) ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(Makefrag.inc)} ) (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 14387 stdin_parts: [ ('# Makefile fragment for building mksh ') ($ VSub_DollarName '$dstversion') ('\n') ('\n') ('PROG=\t\t') ($ VSub_DollarName '$mkshexe') ('\n') ('MAN=\t\tmksh.1\n') ('SRCS=\t\t') ($ VSub_DollarName '$SRCS') ('\n') ('SRCS_FP=\t') ($ VSub_DollarName '$files') ('\n') ('OBJS_BP=\t') ($ VSub_DollarName '$objs') ('\n') ('INDSRCS=\t') ($ VSub_DollarName '$extras') ('\n') ('NONSRCS_INST=\tdot.mkshrc ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(MAN)\n') ('NONSRCS_NOINST=\tBuild.sh Makefile Rebuild.sh check.pl check.t test.sh\n') ('CC=\t\t') ($ VSub_DollarName '$CC') ('\n') ('CFLAGS=\t\t') ($ VSub_DollarName '$CFLAGS') ('\n') ('CPPFLAGS=\t') ($ VSub_DollarName '$CPPFLAGS') ('\n') ('LDFLAGS=\t') ($ VSub_DollarName '$LDFLAGS') ('\n') ('LIBS=\t\t') ($ VSub_DollarName '$LIBS') ('\n') ('\n') ('.depend ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(OBJS_BP):') ($ VSub_DollarName '$gens') ($ VSub_DollarName '$genq') ('\n') ('\n') ('# not BSD make only:\n') ('#VPATH=\t\t') ($ VSub_DollarName '$srcdir') ('\n') ('#all: ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(PROG)\n') ('#') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(PROG): ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(OBJS_BP)\n') ('#\t') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(CC) ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(CFLAGS) ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(LDFLAGS) -o ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('@ ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(OBJS_BP) ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(LIBS)\n') ('#') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(OBJS_BP): ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(SRCS_FP) ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(NONSRCS)\n') ('#.c.o:\n') ('#\t') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(CC) ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(CFLAGS) ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(CPPFLAGS) -c ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('<\n') ('\n') ('# for all make variants:\n') ('#REGRESS_FLAGS=\t-f\n') ('#regress:\n') ('#\t./test.sh ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('(REGRESS_FLAGS)\n') ('check_categories=') ($ VSub_DollarName '$check_categories') ('\n') ('\n') ('# for BSD make only:\n') ('#.PATH: ') ($ VSub_DollarName '$srcdir') ('\n') ('#.include <bsd.prog.mk>\n') ] ) ] ) (C {($ VSub_DollarName '$e')}) (C {($ VSub_DollarName '$e')} {(Generated)} {(Makefrag.inc)} {(successfully.)}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) ] ) (command.ForEach iter_name: file iter_words: [{($ VSub_DollarName '$optfiles')}] do_arg_iter: F body: (command.DoGroup children: [ (C {($ VSub_DollarName '$e')} {(DQ ("+ Running genopt on '") ($ VSub_DollarName '$file') ("'..."))} ) (command.AndOr ops: [Op_DPipe] children: [ (C {(do_genopt)} {(DQ ($ VSub_DollarName '$srcdir') (/) ($ VSub_DollarName '$file'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$cm')} {(Lit_Equals '=')} {(combine)}) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: Equal rhs: {(DQ ('-o ') ($ VSub_DollarName '$mkshexe'))} ) ] ) (command.ForEach iter_name: file iter_words: [{($ VSub_DollarName '$SRCS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {($ VSub_DollarName '$file')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: Equal rhs: {($ VSub_DollarName '$srcdir') (/) ($ VSub_DollarName '$file')} ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objs) op: Equal rhs: {(DQ ($ VSub_DollarName '$objs') (' ') ($ VSub_DollarName '$file'))} ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:emitbc) op: Equal rhs: {(DQ ('-fwhole-program --combine'))} ) ] ) (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' ') ($ VSub_DollarName '$emitbc') (' ') ($ VSub_DollarName '$objs') (' ') ($ VSub_DollarName '$LIBS') (' ') ($ VSub_DollarName '$ccpr') ) } ) ] ) (if_arm cond: [ (command.Sentence child: (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$pm')}) terminator: <Op_Semi ';'> ) ] action: [ (command.ForEach iter_name: file iter_words: [{($ VSub_DollarName '$SRCS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {($ VSub_DollarName '$file')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: Equal rhs: {($ VSub_DollarName '$srcdir') (/) ($ VSub_DollarName '$file')} ) ] ) ] ) (command.Sentence child: (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$emitbc') (' ') ($ VSub_DollarName '$file') ) } ) terminator: <Op_Amp '&'> ) ] ) ) (C {(wait)}) ] ) ] else_action: [ (command.ForEach iter_name: file iter_words: [{($ VSub_DollarName '$SRCS')}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$cm')} {(Lit_Equals '=')} {(dragonegg)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:op) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(x) (DQ ($ VSub_DollarName '$file'))}) (C {(sed)} {(SQ <'s/^x\\(.*\\)\\.c$/\\1./'>)}) ] negated: F ) ] ) ) } ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {($ VSub_DollarName '$file')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:file) op: Equal rhs: {($ VSub_DollarName '$srcdir') (/) ($ VSub_DollarName '$file')} ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$CPPFLAGS') (' ') ($ VSub_DollarName '$emitbc') (' ') ($ VSub_DollarName '$file') ) } ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$cm')} {(Lit_Equals '=')} {(dragonegg)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(v)} {(DQ ('mv ') (${ VSub_Name op) ('s ') (${ VSub_Name op) (ll))}) (command.AndOr ops: [Op_DPipe] children: [ (C {(v)} {(DQ ('llvm-as ') (${ VSub_Name op) (ll))}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) ] ) ] ) ] ) ) ] ) (command.Case to_match: {($ VSub_DollarName '$cm')} arms: [ (case_arm pat_list: [{(dragonegg)} {(llvm)}] action: [ (C {(rmf)} {($ VSub_DollarName '$tfn') (.s)}) (C {(v)} { (DQ ('llvm-link -o - ') ($ VSub_DollarName '$objs') (' | opt ') ($ VSub_DollarName '$optflags') (' | llc -o ') ($ VSub_DollarName '$tfn') (.s) ) } ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tcfn) op: Equal rhs: {($ VSub_DollarName '$mkshexe')} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$cm')} {(Lit_Equals '=')} {(combine)}) (C {(v)} { (DQ ($ VSub_DollarName '$CC') (' ') ($ VSub_DollarName '$CFLAGS') (' ') ($ VSub_DollarName '$LDFLAGS') (' -o ') ($ VSub_DollarName '$tcfn') (' ') ($ VSub_DollarName '$lobjs') (' ') ($ VSub_DollarName '$LIBS') (' ') ($ VSub_DollarName '$ccpr') ) } ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {($ VSub_DollarName '$tcfn')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$r')}) (C {(v)} { (DQ ($ VSub_DollarName '$NROFF') (" -mdoc <'") ($ VSub_DollarName '$srcdir') ("/mksh.1' >") ($ VSub_DollarName '$tfn') (.cat1) ) } ) (C {(rmf)} {($ VSub_DollarName '$tfn') (.cat1)}) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(0)} {(Lit_Equals '=')} {($ VSub_DollarName '$eq')}) (C {(v)} {($ VSub_DollarName '$SIZE')} {($ VSub_DollarName '$tcfn')}) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:i) op:Equal rhs:{(install)})] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(/usr/ucb/) ($ VSub_DollarName '$i')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:i) op: Equal rhs: {(/usr/ucb/) ($ VSub_DollarName '$i')} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(1)} {(Lit_Equals '=')} {($ VSub_DollarName '$eq')}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:e) op:Equal rhs:{(Lit_Other ':')})] ) ] ) (C {($ VSub_DollarName '$e')}) (C {($ VSub_DollarName '$e')} {(Installing)} {(the)} {(shell) (Lit_Other ':')}) (C {($ VSub_DollarName '$e')} { (DQ ('# ') ($ VSub_DollarName '$i') (' -c -s -o root -g bin -m 555 ') ($ VSub_DollarName '$tfn') (' /bin/') ($ VSub_DollarName '$tfn') ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$legacy')} {(Lit_Equals '=')} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {($ VSub_DollarName '$e')} { (DQ ('# grep -x /bin/') ($ VSub_DollarName '$tfn') (' /etc/shells >/dev/null || echo /bin/') ($ VSub_DollarName '$tfn') (' >>/etc/shells') ) } ) (C {($ VSub_DollarName '$e')} { (DQ ('# ') ($ VSub_DollarName '$i') (' -c -o root -g bin -m 444 dot.mkshrc /usr/share/doc/mksh/examples/') ) } ) ] ) ] ) (C {($ VSub_DollarName '$e')}) (C {($ VSub_DollarName '$e')} {(Installing)} {(the)} {(manual) (Lit_Other ':')}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-f)} {($ VSub_DollarName '$tfn') (.cat1)}) terminator: <Op_Semi ';'> ) ] action: [ (C {($ VSub_DollarName '$e')} { (DQ ('# ') ($ VSub_DollarName '$i') (' -c -o root -g bin -m 444 ') ($ VSub_DollarName '$tfn') (.cat1) ) } {(DQ (/usr/share/man/cat1/) ($ VSub_DollarName '$tfn') (.0))} ) (C {($ VSub_DollarName '$e')} {(or)}) ] ) ] ) (C {($ VSub_DollarName '$e')} { (DQ ('# ') ($ VSub_DollarName '$i') (' -c -o root -g bin -m 444 ') ($ VSub_DollarName '$tfn') ('.1 /usr/share/man/man1/') ($ VSub_DollarName '$tfn') (.1) ) } ) (C {($ VSub_DollarName '$e')}) (C {($ VSub_DollarName '$e')} {(Run)} {(the)} {(regression)} {(test)} {(suite) (Lit_Other ':')} {(./test.sh)} ) (C {($ VSub_DollarName '$e')} {(Please)} {(also)} {(read)} {(the)} {(sample)} {(file)} {(dot.mkshrc)} {(and)} {(the)} {(fine)} {(manual.)} ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) (command.Simple words: [{(Lit_Other ':')}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <EOD>)} here_end_span_id: 15135 stdin_parts: [ ('\n') ('=== Environment used ===\n') ('\n') ('==== build environment ====\n') ('AWK\t\t\t\tdefault: awk\n') ('CC\t\t\t\tdefault: cc\n') ('CFLAGS\t\t\t\tif empty, defaults to -xO2 or +O2\n') ('\t\t\t\tor -O3 -qstrict or -O2, per compiler\n') ('CPPFLAGS\t\t\tdefault empty\n') ('LDFLAGS\t\t\t\tdefault empty; added before sources\n') ("LDSTATIC\t\t\tset this to '-static'; default unset\n") ('LIBS\t\t\t\tdefault empty; added after sources\n') ('\t\t\t\t[Interix] default: -lcrypt (XXX still needed?)\n') ('NOWARN\t\t\t\t-Wno-error or similar\n') ('NROFF\t\t\t\tdefault: nroff\n') ('TARGET_OS\t\t\tdefault: $(uname -s || uname)\n') ('TARGET_OSREV\t\t\t[QNX] default: $(uname -r)\n') ('\n') ('==== feature selectors ====\n') ('USE_PRINTF_BUILTIN\t\t1 to include (unsupported) printf(1) as builtin\n') ('===== general format =====\n') ('HAVE_STRLEN\t\t\tac_test\n') ('HAVE_STRING_H\t\t\tac_header\n') ('HAVE_CAN_FSTACKPROTECTORALL\tac_flags\n') ('\n') ('==== cpp definitions ====\n') ('DEBUG\t\t\t\tdont use in production, wants gcc, implies:\n') ('DEBUG_LEAKS\t\t\tenable freeing resources before exiting\n') ('MKSHRC_PATH\t\t\t"~/.mkshrc" (do not change)\n') ('MKSH_A4PB\t\t\tforce use of arc4random_pushb\n') ('MKSH_ASSUME_UTF8\t\t(0=disabled, 1=enabled; default: unset)\n') ('MKSH_BINSHPOSIX\t\t\tif */sh or */-sh, enable set -o posix\n') ('MKSH_BINSHREDUCED\t\tif */sh or */-sh, enable set -o sh\n') ('MKSH_CLRTOEOL_STRING\t\t"\\033[K"\n') ('MKSH_CLS_STRING\t\t\t"\\033[;H\\033[J"\n') ('MKSH_CONSERVATIVE_FDS\t\tfd 0-9 for scripts, shell only up to 31\n') ('MKSH_DEFAULT_EXECSHELL\t\t"/bin/sh" (do not change)\n') ('MKSH_DEFAULT_PROFILEDIR\t\t"/etc" (do not change)\n') ('MKSH_DEFAULT_TMPDIR\t\t"/tmp" (do not change)\n') ('MKSH_DISABLE_DEPRECATED\t\tdisable code paths scheduled for later removal\n') ('MKSH_DISABLE_EXPERIMENTAL\tdisable code not yet comfy for (LTS) snapshots\n') ('MKSH_DISABLE_TTY_WARNING\tshut up warning about ctty if OS cant be fixed\n') ('MKSH_DONT_EMIT_IDSTRING\t\tomit RCS IDs from binary\n') ('MKSH_MIDNIGHTBSD01ASH_COMPAT\tset -o sh: additional compatibility quirk\n') ('MKSH_NOPROSPECTOFWORK\t\tdisable jobs, co-processes, etc. (do not use)\n') ('MKSH_NOPWNAM\t\t\tskip PAM calls, for -static on glibc or Solaris\n') ('MKSH_NO_CMDLINE_EDITING\t\tdisable command line editing code entirely\n') ('MKSH_NO_DEPRECATED_WARNING\tomit warning when deprecated stuff is run\n') ('MKSH_NO_LIMITS\t\t\tomit ulimit code\n') ('MKSH_NO_SIGSETJMP\t\tdefine if sigsetjmp is broken or not available\n') ('MKSH_NO_SIGSUSPEND\t\tuse sigprocmask+pause instead of sigsuspend\n') ('MKSH_SMALL\t\t\tomit some code, optimise hard for size (slower)\n') ('MKSH_SMALL_BUT_FAST\t\tdisable some hard-for-size optim. (modern sys.)\n') ('MKSH_S_NOVI=1\t\t\tdisable Vi editing mode (default if MKSH_SMALL)\n') ("MKSH_TYPEDEF_SIG_ATOMIC_T\tdefine to e.g. 'int' if sig_atomic_t is missing\n") ("MKSH_TYPEDEF_SSIZE_T\t\tdefine to e.g. 'long' if your OS has no ssize_t\n") ('MKSH_UNEMPLOYED\t\t\tdisable job control (but not jobs/co-processes)\n') ('\n') ('=== generic installation instructions ===\n') ('\n') ('Set CC and possibly CFLAGS, CPPFLAGS, LDFLAGS, LIBS. If cross-compiling,\n') ('also set TARGET_OS. To disable tests, set e.g. HAVE_STRLCPY=0; to enable\n') ('them, set to a value other than 0 or 1. Ensure /bin/ed is installed. For\n') ('MKSH_SMALL but with Vi mode, add -DMKSH_S_NOVI=0 to CPPFLAGS as well.\n') ('\n') ('Normally, the following command is what you want to run, then:\n') ('$ (sh Build.sh -r -c lto && ./test.sh -f) 2>&1 | tee log\n') ('\n') ('Copy dot.mkshrc to /etc/skel/.mkshrc; install mksh into $prefix/bin; or\n') ('/bin; install the manpage, if omitting the -r flag a catmanpage is made\n') ('using $NROFF. Consider using a forward script as /etc/skel/.mkshrc like\n') ('http://anonscm.debian.org/cgit/collab-maint/mksh.git/plain/debian/.mkshrc\n') ('and put dot.mkshrc as /etc/mkshrc so users need not keep up their HOME.\n') ('\n') ('You may also want to install the lksh binary (also as /bin/sh) built by:\n') ('$ CPPFLAGS="$CPPFLAGS -DMKSH_BINSHPOSIX" sh Build.sh -L -r -c lto\n') ('\n') ] ) ] ) ] )