(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: 16777215 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: 16777215 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: T 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: [143] ) spids: [139 142] ) (FuncDef name: runpy-deps body: (BraceGroup children: [ (C {($ VSub_Name '$PREPARE_DIR') (/python)} {(-S)} {(build/runpy_deps.py)} {(DQ ($ VSub_At '$@'))} ) ] spids: [163] ) spids: [159 162] ) (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: [224 228] ) } spids: [223] ) ] spids: [221] ) (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: [234 240] ) } spids: [233] ) ] spids: [231] ) (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: [246 250] ) } spids: [245] ) ] spids: [243] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(_build/) ($ VSub_Name '$app_name') (/app-deps)} spids: [256] ) ] spids: [254] ) (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:[280])] ) ] spids: [218] ) spids: [214 217] ) (FuncDef name: files-manifest body: (BraceGroup children: [ (ForEach iter_name: path iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [(C {(echo)} {(DQ ($ VSub_Name '$path') (' ') ($ VSub_Name '$path'))})] spids: [317 329] ) spids: [311 315] ) ] spids: [303] ) spids: [299 302] ) (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: [346] ) ] spids: [344] ) (ForEach iter_name: path iter_words: [{($ VSub_Name '$dir') (/) (Lit_Other '*')}] do_arg_iter: F body: (DoGroup children: [(C {(echo)} {(DQ ($ VSub_Name '$path') (' ') ($ VSub_Name '$path'))})] spids: [361 376] ) spids: [355 359] ) ] spids: [341] ) spids: [337 340] ) (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: [394 398] ) } spids: [393] ) ] spids: [391] ) (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: [404 412] ) } spids: [403] ) ] spids: [401] ) (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: [388] ) spids: [384 387] ) (FuncDef name: extdecls body: (BraceGroup children: [ (ForEach iter_name: mod iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$mod'))} {(Lit_Other '=')} {(readline)}) (C {(echo)} {(DQ ('#ifdef HAVE_READLINE'))}) ] ) (C {(echo)} {(DQ ('extern void init') ($ VSub_Name '$mod') ('(void);'))}) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$mod'))} {(Lit_Other '=')} {(readline)}) (C {(echo)} {(DQ ('#endif'))}) ] ) ] spids: [502 552] ) spids: [496 500] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [488] ) spids: [484 487] ) (FuncDef name: initbits body: (BraceGroup children: [ (ForEach iter_name: mod iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$mod'))} {(Lit_Other '=')} {(readline)}) (C {(echo)} {(DQ ('#ifdef HAVE_READLINE'))}) ] ) (C {(echo)} { (DQ (' {') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$mod') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (', init') ($ VSub_Name '$mod') ('},') ) } ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(DQ ($ VSub_Name '$mod'))} {(Lit_Other '=')} {(readline)}) (C {(echo)} {(DQ ('#endif'))}) ] ) ] spids: [583 637] ) spids: [577 581] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [569] ) spids: [565 568] ) (FuncDef name: gen-module-init body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:extdecls) op:Equal spids:[662])] spids: [660] ) (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: [666 672] ) } spids: [665] ) ] spids: [665] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:initbits) op:Equal spids:[677])] spids: [675] ) (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: [681 687] ) } spids: [680] ) ] spids: [680] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:template) op: Equal rhs: {($ VSub_Name '$PY27') (/Modules/config.c.in)} spids: [693] ) ] spids: [691] ) (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: [657] ) spids: [653 656] ) (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: [764 768] ) } spids: [763] ) ] spids: [761] ) (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: [774 782] ) } spids: [773] ) ] spids: [771] ) (Pipeline children: [ (C {(egrep)} {(--no-filename)} {(--only-matching)} {(SQ <'^[a-zA-Z_\\.]+'>)} {($ VSub_Name '$static')} {($ VSub_Name '$discovered')} ) (C {(sort)}) (C {(uniq)}) ] negated: F ) ] spids: [758] ) spids: [754 757] ) (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: F ) ] spids: [846] ) spids: [842 845] ) (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: [885] ) spids: [881 884] ) (C {(DQ ($ VSub_At '$@'))}) ] )