(command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<source>} {<'sources/include.sh'>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (C {<load_target>} {(DQ ($ Id.VSub_Number '$1'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<check_for_base_arch>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) (C {<export>} {<Id.Lit_VarLike 'TOOLCHAIN_PREFIX='> (DQ (${ Id.VSub_Name ARCH) <->)}) (C {<build_section>} {<binutils>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$ELF2FLT'))} {<Id.Lit_RBracket ']'>} ) (C {<build_section>} {<elf2flt>}) ] ) (C {<build_section>} {<gcc>}) (C {<build_section>} {<ccwrap>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$KARCH'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<build_section>} {<linux-headers>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$UCLIBC_CONFIG'))} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$MUSL'))} {<Id.Lit_RBracket ']'>} ) ] ) ] ) action: [(C {<build_section>} {<musl>})] spids: [140 167] ) ] else_action: [(C {<build_section>} {<uClibc>})] ) ] spids: [111 125] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$KARCH'))} {<Id.Lit_RBracket ']'>} ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name STAGE_DIR)) <'/README'>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 248 stdin_parts: [ <'Cross compiler for '> ($ Id.VSub_DollarName '$ARCH') <' from http://landley.net/aboriginal\n'> <'\n'> <'To use: Add the '> <Id.Right_DoubleQuote '"'> <bin> <Id.Right_DoubleQuote '"'> <' subdirectory to your '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'PATH, and use '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$ARCH') <-cc> <Id.Right_DoubleQuote '"'> <' as\n'> <'your compiler.\n'> <'\n'> <'The syntax used to build the Linux kernel is:\n'> <'\n'> <' make ARCH='> (${ Id.VSub_Name KARCH) <' CROSS_COMPILE='> (${ Id.VSub_Name ARCH) <'-\n'> <'\n'> ] ) ) ] do_fork: T ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$SKIP_STRIP'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$STAGE_DIR'))}) (command.ForEach iter_name: i iter_words: [ { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<find>} {<bin>} {<-type>} {<f>}) ) } { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<find>} {(DQ ($ Id.VSub_DollarName '$CROSS_TARGET'))} {<-type>} {<f>}) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.Simple words: [{<strip>} {(DQ ($ Id.VSub_DollarName '$i'))}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ) ) ] spids: [254 266] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$KARCH'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'Sanity test: building Hello World.'>)}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {(DQ (${ Id.VSub_Name ARCH) <-gcc>)} {<-Os>} {(DQ (${ Id.VSub_Name SOURCES) <'/root-filesystem/src/hello.c'>)} {<-o>} {(DQ ($ Id.VSub_DollarName '$WORK')) <'/hello'>} ) (C {(DQ (${ Id.VSub_Name ARCH) <-gcc>)} {<-Os>} {<-static>} {(DQ (${ Id.VSub_Name SOURCES) <'/root-filesystem/src/hello.c'>)} {<-o>} {(DQ ($ Id.VSub_DollarName '$WORK')) <'/hello'>} ) (C {<dienow>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$CROSS_SMOKE_TEST'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<'more/cross-smoke-test.sh'>} {(DQ ($ Id.VSub_DollarName '$ARCH'))}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] ) ] spids: [426 441] ) ] ) ] spids: [328 342] ) ] ) (C {<create_stage_tarball>}) (C {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'e[32mCross compiler toolchain build complete.'> <Id.Lit_BadBackslash '\\'> <'e[0m'> ) } ) ] )