(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: [ (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: [ (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.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ (${ Id.VSub_Name STAGE_DIR)) </README>} ) (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 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'> ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (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 '`'> command_list: (command.CommandList children: [(C {<find>} {<bin>} {<-type>} {<f>})] ) ) } { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (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.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) ] ) ) ] spids: [254 266] ) ] ) (command.If arms: [ (if_arm cond: [ (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: [ (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_Other '\\'> <'e[32mCross compiler toolchain build complete.'> <Id.Lit_Other '\\'> <'e[0m'> ) } ) ] )