(command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(source)} {(sources/include.sh)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:24) 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: (Token id:Id.ControlFlow_Exit val:exit span_id:38) arg_word: {(0)} ) ] ) (C {(check_prerequisite)} {(DQ (${ Id.VSub_Name CC_PREFIX) (cc))}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {(mkdir)} {(-p)} (word.BracedTree parts: [ (DQ ($ Id.VSub_DollarName '$STAGE_DIR')) (/) (word_part.BracedTuple words: [{(tmp)} {(Id.KW_Proc proc)} {(sys)} {(dev)} {(home)} {(mnt)} {(root)}] ) ] ) ) (C {(chmod)} {(a) (Id.Lit_Other '+') (rwxt)} {(DQ ($ Id.VSub_DollarName '$STAGE_DIR') (/tmp))}) (C {(dienow)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:STAGE_USR) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$STAGE_DIR') (/usr))} spids: [101] ) ] ) (command.ForEach iter_name: i iter_words: [{(bin)} {(sbin)} {(lib)} {(etc)}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {(mkdir)} {(-p)} {(DQ ($ Id.VSub_DollarName '$STAGE_USR') (/) ($ Id.VSub_DollarName '$i'))} ) (C {(ln)} {(-s)} {(DQ (usr/) ($ Id.VSub_DollarName '$i'))} {(DQ ($ Id.VSub_DollarName '$STAGE_DIR') (/) ($ Id.VSub_DollarName '$i'))} ) (C {(dienow)}) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DPipe] children: [ (C {(cp)} {(-r)} {(DQ ($ Id.VSub_DollarName '$SOURCES') (/root-filesystem/.))} {(DQ ($ Id.VSub_DollarName '$STAGE_USR') (/))} ) (command.Simple words: [ {(echo)} {(-e)} { (DQ ('CROSS_TARGET=') ($ Id.VSub_DollarName '$CROSS_TARGET') (Id.Lit_Other '\\') ('nKARCH=') ($ Id.VSub_DollarName '$KARCH') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:206) fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$STAGE_USR') (/src/host-info))} ) ] ) (C {(cp)} {(DQ ($ Id.VSub_DollarName '$SRCDIR')) (/MANIFEST)} {(DQ ($ Id.VSub_DollarName '$STAGE_USR') (/src))} ) (C {(dienow)}) ] ) (command.If arms: [ (if_arm cond: [ (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-z)} {(DQ ($ Id.VSub_DollarName '$MY_ROOT_OVERLAY'))} {(Id.Lit_RBracket ']')} ) ] action: [ (C {(cd)} {(DQ ($ Id.VSub_DollarName '$TOP'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {(tar)} {(-c)} {(-C)} {(DQ ($ Id.VSub_DollarName '$MY_ROOT_OVERLAY'))} {(.)}) (C {(tar)} {(-x)} {(-C)} {(DQ ($ Id.VSub_DollarName '$STAGE_DIR'))}) ] negated: F ) (C {(dienow)}) ] ) ] spids: [241 255] ) ] ) (command.Simple words: [{(build_section)} {(busybox)}] more_env: [(env_pair name:STAGE_DIR val:{(DQ ($ Id.VSub_DollarName '$STAGE_USR'))} spids:[300])] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(cp)} {(DQ ($ Id.VSub_DollarName '$WORK')) (/config-busybox)} {(DQ ($ Id.VSub_DollarName '$STAGE_USR')) (/src)} ) (C {(dienow)}) ] ) (C {(build_section)} {(toybox)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(DQ (${ Id.VSub_Name CC_PREFIX) (cc))} {(DQ (${ Id.VSub_Name SOURCES) (/root-filesystem/src/hello.c))} {(-Os)} {($ Id.VSub_DollarName '$CFLAGS')} {(-o)} {(DQ ($ Id.VSub_DollarName '$STAGE_USR') (/bin/hello-dynamic))} ) (C {(dienow)}) ] ) (command.If arms: [ (if_arm cond: [ (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$BUILD_STATIC'))} {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(none)} {(Id.Lit_RBracket ']')} ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(DQ (${ Id.VSub_Name CC_PREFIX) (cc))} {(DQ (${ Id.VSub_Name SOURCES) (/root-filesystem/src/hello.c))} {(-Os)} {($ Id.VSub_DollarName '$CFLAGS')} {(-static)} {(-o)} {(DQ ($ Id.VSub_DollarName '$STAGE_USR') (/bin/hello-static))} ) (C {(dienow)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:STATIC) op: assign_op.Equal rhs: {(--static)} spids: [421] ) ] ) ] spids: [369 384] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:STATIC) op: assign_op.Equal rhs: (word.Empty) spids: [427] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(DQ (${ Id.VSub_Name CC_PREFIX) (cc))} {(DQ ($ Id.VSub_DollarName '$SOURCES') (/toys/wrappy.c))} {(-Os)} {($ Id.VSub_DollarName '$CFLAGS')} {($ Id.VSub_DollarName '$STATIC')} {(-o)} {(DQ ($ Id.VSub_DollarName '$STAGE_USR') (/bin/record-commands-wrapper))} ) (C {(dienow)}) ] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [(C {(is_in_list)} {(toybox)} {($ Id.VSub_DollarName '$BUILD_STATIC')})] negated: T ) (command.Pipeline children: [(C {(is_in_list)} {(busybox)} {($ Id.VSub_DollarName '$BUILD_STATIC')})] negated: T ) ] ) ] action: [ (C {(echo)} {(Copying)} {(compiler)} {(libraries...)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(mkdir)} {(-p)} {(DQ ($ Id.VSub_DollarName '$STAGE_USR') (/lib))}) (C {(dienow)}) ] ) (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(path_search)} { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:524) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(DQ (${ Id.VSub_Name CC_PREFIX) (cc))} {(--print-search-dirs)} ) (C {(sed)} {(-n)} { (SQ (Token id: Id.Lit_Chars val: 's/^libraries: =*//p' span_id: 541 ) ) } ) ] negated: F ) ] ) ) ) } {(DQ ('*.so*'))} { (SQ (Token id: Id.Lit_Chars val: 'cp -H "$DIR/$FILE" "$STAGE_USR/lib/$FILE"' span_id: 553 ) ) } ) (C {(dienow)}) ] ) ] ) ) (C {(dotprogress)}) ] negated: F ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$SKIP_STRIP'))} {(Id.Lit_RBracket ']')} ) (C {(DQ (${ Id.VSub_Name CC_PREFIX) (strip))} {(--strip-unneeded)} {(DQ ($ Id.VSub_DollarName '$STAGE_USR')) (/lib/) (Id.Lit_Star '*') (.so)} ) ] ) ] spids: [472 492] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$SKIP_STRIP'))} {(Id.Lit_RBracket ']')} ) (C {(DQ (${ Id.VSub_Name CC_PREFIX) (strip))} (word.BracedTree parts: [ (DQ ($ Id.VSub_DollarName '$STAGE_USR')) (/) (word_part.BracedTuple words: [{(bin/) (Id.Lit_Star '*')} {(sbin/) (Id.Lit_Star '*')}] ) ] ) ) ] ) (C {(create_stage_tarball)}) (C {(echo)} {(-e)} {(DQ (Id.Lit_Other '\\') ('e[0mBuild complete'))}) ] )