(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(build/common.sh)}) (FuncDef name: write-release-date body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(_build)}) (SimpleCommand words: [{(date)} {(--utc)} {(--rfc-3339)} {(seconds)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(_build/release-date.txt)} spids: [73] ) ] ) ] spids: [47] ) spids: [43 46] ) (FuncDef name: main-name body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:python_main) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(hello)}) spids: [90 94] ) } spids: [89] ) ] spids: [87] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ovm_bundle_prefix) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(hello.ovm)}) spids: [100 104] ) } spids: [99] ) ] spids: [97] ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ("char* MAIN_NAME = ") (Right_DoubleQuote "\"") ($ VSub_Name "$python_main") (Right_DoubleQuote "\"") (";\n") ("#if OVM_DEBUG\n") (" char* OVM_BUNDLE_FILENAME = ") (Right_DoubleQuote "\"") (${ VSub_Name ovm_bundle_prefix) (-dbg) (Right_DoubleQuote "\"") (";\n") ("#else\n") (" char* OVM_BUNDLE_FILENAME = ") (Right_DoubleQuote "\"") ($ VSub_Name "$ovm_bundle_prefix") (Right_DoubleQuote "\"") (";\n") ("#endif\n") ) } do_expansion: True here_end: EOF was_filled: True spids: [110] ) ] ) ] spids: [84] ) spids: [80 83] ) (FuncDef name: c-module-toc body: (BraceGroup children: [(C {(cd)} {($ VSub_Name "$PY27")}) (C {(../build/c_module_toc.py)})] spids: [142] ) spids: [138 141] ) (FuncDef name: runpy-deps body: (BraceGroup children: [ (C {($ VSub_Name "$PREPARE_DIR") (/python)} {(-S)} {(build/runpy_deps.py)} {(DQ ($ VSub_At "$@"))} ) ] spids: [162] ) spids: [158 161] ) (FuncDef name: app-deps body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:app_name) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(hello)}) spids: [223 227] ) } spids: [222] ) ] spids: [220] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pythonpath) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(build) (Lit_Slash /) (testdata)} ) spids: [233 239] ) } spids: [232] ) ] spids: [230] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:main_module) op: Equal rhs: { (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(hello)}) spids: [245 249] ) } spids: [244] ) ] spids: [242] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(_build/) ($ VSub_Name "$app_name") (/app-deps)} spids: [255] ) ] spids: [253] ) (C {(ln)} {(-s)} {(-f)} {($ VSub_Name "$PWD") (/build/app_deps.py)} {(_tmp)}) (SimpleCommand words: [ {($ VSub_Name "$PREPARE_DIR") (/python)} {(-S)} {(_tmp/app_deps.py)} {($ VSub_Name "$main_module")} {($ VSub_Name "$prefix")} ] more_env: [(env_pair name:PYTHONPATH val:{($ VSub_Name "$pythonpath")} spids:[279])] ) ] spids: [217] ) spids: [213 216] ) (FuncDef name: files-manifest body: (BraceGroup children: [ (ForEach iter_name: path iter_words: [{(DQ ($ VSub_At "$@"))}] do_arg_iter: False body: (DoGroup children: [(C {(echo)} {(DQ ($ VSub_Name "$path") (" ") ($ VSub_Name "$path"))})] spids: [316 328] ) spids: [310 314] ) ] spids: [302] ) spids: [298 301] ) (FuncDef name: quick-ref-manifest body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: {($ VSub_Number "$1")} spids: [345] ) ] spids: [343] ) (ForEach iter_name: path iter_words: [{($ VSub_Name "$dir") (/) (Lit_Other "*")}] do_arg_iter: False body: (DoGroup children: [(C {(echo)} {(DQ ($ VSub_Name "$path") (" ") ($ VSub_Name "$path"))})] spids: [360 375] ) spids: [354 358] ) ] spids: [340] ) spids: [336 339] ) (FuncDef name: make-dotd body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:app_name) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(hello)}) spids: [393 397] ) } spids: [392] ) ] spids: [390] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:app_deps_to_compile) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_tmp) (Lit_Slash /) (hello) (Lit_Slash /) (app-deps-to-compile.txt)} ) spids: [403 411] ) } spids: [402] ) ] spids: [400] ) (C {(echo)} {(DQ ("# TODO ") ($ VSub_Name "$app_deps_to_compile"))}) (C {(echo)} {(DQ (X_build/) ($ VSub_Name "$app_name") ("/ovm:"))}) (C {(echo)} {(DQ (X_build/) ($ VSub_Name "$app_name") ("/ovm-dbg:"))}) (C {(echo)} {(DQ (X_build/) ($ VSub_Name "$app_name") ("/ovm-cov:"))}) ] spids: [387] ) spids: [383 386] ) (FuncDef name: extdecls body: (BraceGroup children: [ (ForEach iter_name: mod iter_words: [{(DQ ($ VSub_At "$@"))}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name "$mod"))} {(Lit_Other "=")} {(readline)}) (C {(echo)} {(DQ ("#ifdef HAVE_READLINE"))}) ] op_id: Op_DAmp ) (C {(echo)} {(DQ ("extern void init") ($ VSub_Name "$mod") ("(void);"))}) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name "$mod"))} {(Lit_Other "=")} {(readline)}) (C {(echo)} {(DQ ("#endif"))}) ] op_id: Op_DAmp ) ] spids: [501 551] ) spids: [495 499] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [487] ) spids: [483 486] ) (FuncDef name: initbits body: (BraceGroup children: [ (ForEach iter_name: mod iter_words: [{(DQ ($ VSub_At "$@"))}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name "$mod"))} {(Lit_Other "=")} {(readline)}) (C {(echo)} {(DQ ("#ifdef HAVE_READLINE"))}) ] op_id: Op_DAmp ) (C {(echo)} { (DQ (" {") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$mod") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", init") ($ VSub_Name "$mod") ("},") ) } ) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name "$mod"))} {(Lit_Other "=")} {(readline)}) (C {(echo)} {(DQ ("#endif"))}) ] op_id: Op_DAmp ) ] spids: [582 636] ) spids: [576 580] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [568] ) spids: [564 567] ) (FuncDef name: gen-module-init body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:extdecls) op:Equal spids:[661])] spids: [659] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:extdecls) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(extdecls)} {(DQ ($ VSub_At "$@"))})] ) left_token: <Left_CommandSub "$("> spids: [665 671] ) } spids: [664] ) ] spids: [664] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:initbits) op:Equal spids:[676])] spids: [674] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:initbits) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(initbits)} {(DQ ($ VSub_At "$@"))})] ) left_token: <Left_CommandSub "$("> spids: [680 686] ) } spids: [679] ) ] spids: [679] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:template) op: Equal rhs: {($ VSub_Name "$PY27") (/Modules/config.c.in)} spids: [692] ) ] spids: [690] ) (C {(awk)} {(-v)} {(Lit_VarLike "template=") ($ VSub_Name "$template")} {(-v)} {(Lit_VarLike "extdecls=") (DQ ($ VSub_Name "$extdecls"))} {(-v)} {(Lit_VarLike "initbits=") (DQ ($ VSub_Name "$initbits"))} { (SQ <"\n"> <" BEGIN {\n"> <" print \"/* Generated automatically from \" template \" */\"\n"> <" }\n"> <" /MARKER 1/ {\n"> <" print extdecls\n"> <" next\n"> <" }\n"> <" /MARKER 2/ {\n"> <" print initbits\n"> <" next\n"> <" }\n"> <" {\n"> <" print $0\n"> <" }\n"> <" "> ) } {($ VSub_Name "$template")} ) ] spids: [656] ) spids: [652 655] ) (FuncDef name: join-modules body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:static) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(static-c-modules.txt)} ) spids: [763 767] ) } spids: [762] ) ] spids: [760] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:discovered) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_build) (Lit_Slash /) (oil) (Lit_Slash /) (all-deps-c.txt)} ) spids: [773 781] ) } spids: [772] ) ] spids: [770] ) (Pipeline children: [ (C {(egrep)} {(--no-filename)} {(--only-matching)} {(SQ <"^[a-zA-Z_\\.]+">)} {($ VSub_Name "$static")} {($ VSub_Name "$discovered")} ) (C {(sort)}) (C {(uniq)}) ] negated: False ) ] spids: [757] ) spids: [753 756] ) (FuncDef name: clean-pyc body: (BraceGroup children: [ (Pipeline children: [ (C {(find)} {($ VSub_Name "$PY27") (/Lib)} {(-name)} {(SQ <"*.pyc">)}) (C {(xargs)} {(--no-run-if-empty)} {(--)} {(rm)} {(--verbose)}) ] negated: False ) ] spids: [845] ) spids: [841 844] ) (FuncDef name: clean body: (BraceGroup children: [ (C {(rm)} {(-r)} {(-f)} {(_build)} {(_release)}) (C {(rm)} {(-f)} {(_bin/oil.) (Lit_Other "*")} {(_bin/hello.) (Lit_Other "*")}) (C {(clean-pyc)}) ] spids: [884] ) spids: [880 883] ) (C {(DQ ($ VSub_At "$@"))}) ] )