(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 '$@'))}) ] )