(command.CommandList children: [ (command.Simple words: [{<exec>}] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sys) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [(C {<uname>} {<-s>}) (C {<tr>} {(SQ <'/:[A-Z]'>)} {(SQ <'..[a-z]'>)})] negated: F ) ) ) } spids: [52] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<x> (DQ ($ Id.VSub_DollarName '$sys'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<x>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:unamer) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<uname>} {<-r>}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [94] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:unamem) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<uname>} {<-m>}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [115] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:unamev) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<uname>} {<-v>}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [136] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$sys'))} arms: [ (case_arm pat_list: [{<bsd.os>} {<freebsd>} {<netbsd>} {<openbsd>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oper) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$sys') <-> ($ Id.VSub_DollarName '$unamer'))} spids: [185] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$unamem'))} spids: [193] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syst) op: assign_op.Equal rhs: {(DQ )} spids: [199] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<sysctl>} {<-n>} {<hw.model>}) ) ) } spids: [204] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:kern) op: assign_op.Equal rhs: {(DQ )} spids: [221] ) ] ) ] spids: [167 174 226 -1] ) (case_arm pat_list: [{<linux>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oper) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$sys') <-> ($ Id.VSub_DollarName '$unamer'))} spids: [237] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syst) op: assign_op.Equal rhs: {(DQ )} spids: [245] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$unamem'))} spids: [250] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:kern) op: assign_op.Equal rhs: {(DQ )} spids: [256] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$chip'))} arms: [ (case_arm pat_list: [{<i386>} {<i486>} {<i586>} {<i686>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ <i386>)} spids: [280] ) ] ) ] spids: [270 277 286 -1] ) (case_arm pat_list: [{<alpha>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ <alpha>)} spids: [293] ) ] ) ] spids: [289 290 299 -1] ) ] ) ] spids: [229 230 305 -1] ) (case_arm pat_list: [{<aix>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oper) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$sys') <-> ($ Id.VSub_DollarName '$unamev') <-> ($ Id.VSub_DollarName '$unamer') ) } spids: [316] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<arch>}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [326] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syst) op: assign_op.Equal rhs: {(DQ )} spids: [345] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$unamem'))} spids: [350] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:kern) op: assign_op.Equal rhs: {(DQ )} spids: [356] ) ] ) ] spids: [308 309 361 -1] ) (case_arm pat_list: [{<sunos>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oper) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$sys') <-> ($ Id.VSub_DollarName '$unamer') <-> ($ Id.VSub_DollarName '$unamev') ) } spids: [368] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Subshell child: (command.AndOr ops: [Id.Op_DPipe] children: [(C {<uname>} {<-p>}) (C {<mach>})] ) ) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [378] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syst) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<arch>}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [405] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$unamem'))} spids: [424] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:kern) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<arch>} {<-k>}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [433] ) ] ) ] spids: [364 365 454 -1] ) (case_arm pat_list: [{<unix_sv>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oper) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$sys') <-> ($ Id.VSub_DollarName '$unamer') <-> ($ Id.VSub_DollarName '$unamev') ) } spids: [461] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-m>}) ) ) } spids: [471] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syst) op: assign_op.Equal rhs: {(DQ )} spids: [483] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$unamem'))} spids: [488] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:kern) op: assign_op.Equal rhs: {(DQ )} spids: [494] ) ] ) ] spids: [457 458 499 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oper) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$sys') <-> ($ Id.VSub_DollarName '$unamer') <-> ($ Id.VSub_DollarName '$unamev') ) } spids: [506] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<arch>}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [516] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syst) op: assign_op.Equal rhs: {(DQ )} spids: [535] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$unamem'))} spids: [540] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:kern) op: assign_op.Equal rhs: {(DQ )} spids: [546] ) ] ) ] spids: [502 503 551 -1] ) ] ) ] spids: [75 91] ) ] else_action: [ (C {<gcc>} {<-c>} {<trycpp.c>}) (C {<gcc>} {<-o>} {<trycpp>} {<trycpp.o>}) (command.Case to_match: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<'./trycpp'>}))} arms: [ (case_arm pat_list: [{<nextstep>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oper) op: assign_op.Equal rhs: { (DQ <nextstep-> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<hostinfo>}) (C {<sed>} {<-n>} {(SQ <'s/^[ \t]*NeXT Mach \\([^:]*\\):.*$/\\1/p'>)}) ] negated: F ) ) ) } spids: [590] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<hostinfo>}) (C {<sed>} {<-n>} {(SQ <'s/^Processor type: \\(.*\\) (.*)$/\\1/p'>)}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [617] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syst) op: assign_op.Equal rhs: {(DQ )} spids: [652] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<hostinfo>}) (C {<sed>} {<-n>} {(SQ <'s/^Processor type: .* (\\(.*\\))$/\\1/p'>)}) (C {<tr>} {(SQ <' /:'>)} {(SQ <...>)}) ] negated: F ) ) ) } spids: [657] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:kern) op: assign_op.Equal rhs: {(DQ )} spids: [695] ) ] ) ] spids: [586 587 700 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:oper) op: assign_op.Equal rhs: {(DQ <unknown>)} spids: [707] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ )} spids: [713] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:syst) op: assign_op.Equal rhs: {(DQ )} spids: [718] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {(DQ )} spids: [723] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:kern) op: assign_op.Equal rhs: {(DQ )} spids: [728] ) ] ) ] spids: [703 704 733 -1] ) ] ) (C {<rm>} {<-f>} {<trycpp.o>} {<trycpp>}) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$chip'))} arms: [ (case_arm pat_list: [{<80486>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {<i486>} spids: [766] ) ] ) ] spids: [758 759 770 -1] ) (case_arm pat_list: [{<i486DX>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {<i486-dx>} spids: [780] ) ] ) ] spids: [772 773 784 -1] ) (case_arm pat_list: [{<i486.DX2>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {<i486-dx2>} spids: [794] ) ] ) ] spids: [786 787 798 -1] ) (case_arm pat_list: [{<Intel.586>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {<pentium>} spids: [808] ) ] ) ] spids: [800 801 812 -1] ) (case_arm pat_list: [{<i586>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {<pentium>} spids: [822] ) ] ) ] spids: [814 815 826 -1] ) (case_arm pat_list: [{<i686>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {<ppro>} spids: [836] ) ] ) ] spids: [828 829 -1 839] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands:[(C {<gcc>} {<-c>} {<x86cpuid.c>})]) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands:[(C {<gcc>} {<-o>} {<x86cpuid>} {<x86cpuid.o>})]) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x86cpuid) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<'./x86cpuid'>}) (C {<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}) ] negated: F ) ) ) } spids: [867] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$x86cpuid'))} arms: [ (case_arm pat_list: [{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:chip) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$x86cpuid'))} spids: [900] ) ] ) ] spids: [895 897 906 -1] ) ] ) ] spids: [853 864] ) ] ) ] spids: [842 850] ) ] ) (C {<rm>} {<-f>} {<x86cpuid>} {<x86cpuid.o>}) (command.Pipeline children: [ (C {<echo>} { (DQ ($ Id.VSub_DollarName '$oper') <'-:'> ($ Id.VSub_DollarName '$arch') <'-:'> ($ Id.VSub_DollarName '$syst') <'-:'> ($ Id.VSub_DollarName '$chip') <'-:'> ($ Id.VSub_DollarName '$kern') <-> ) } ) (C {<tr>} {(SQ <' [A-Z]'>)} {(SQ <'.[a-z]'>)}) ] negated: F ) ] )