(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)} {(both)} {(DQ ($ VSub_At '$@'))} ) ] spids: [163] ) spids: [159 162] ) (FuncDef name: runpy-py-to-compile body: (BraceGroup children: [(C {($ VSub_Name '$PREPARE_DIR') (/python)} {(-S)} {(build/runpy_deps.py)} {(py)})] spids: [186] ) spids: [182 185] ) (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: [245 249] ) } spids: [244] ) ] spids: [242] ) (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: [255 261] ) } spids: [254] ) ] spids: [252] ) (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: [267 271] ) } spids: [266] ) ] spids: [264] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(_build/) ($ VSub_Name '$app_name') (/app-deps)} spids: [277] ) ] spids: [275] ) (C {(ln)} {(-s)} {(-f)} {($ VSub_Name '$PWD') (/build/app_deps.py)} {(_tmp)}) (SimpleCommand words: [ {($ VSub_Name '$PREPARE_DIR') (/python)} {(-S)} {(_tmp/app_deps.py)} {(both)} {($ VSub_Name '$main_module')} {($ VSub_Name '$prefix')} ] more_env: [(env_pair name:PYTHONPATH val:{($ VSub_Name '$pythonpath')} spids:[301])] ) ] spids: [239] ) spids: [235 238] ) (FuncDef name: py-to-compile body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:pythonpath) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(build) (Lit_Slash /) (testdata)} ) spids: [335 341] ) } spids: [334] ) ] spids: [332] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:main_module) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(hello)}) spids: [347 351] ) } spids: [346] ) ] spids: [344] ) (SimpleCommand words: [ {($ VSub_Name '$PREPARE_DIR') (/python)} {(-S)} {(build/app_deps.py)} {(py)} {($ VSub_Name '$main_module')} ] more_env: [(env_pair name:PYTHONPATH val:{($ VSub_Name '$pythonpath')} spids:[355])] ) ] spids: [329] ) spids: [325 328] ) (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: [386] ) ] spids: [384] ) (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: [401 416] ) spids: [395 399] ) ] spids: [381] ) spids: [377 380] ) (FuncDef name: pyc-version-manifest body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:manifest_path) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_build) (Lit_Slash /) (oil) (Lit_Slash /) (bytecode-opy-manifest.txt)} ) spids: [431 439] ) } spids: [430] ) ] spids: [428] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Name '$manifest_path')})] ) left_token: <Left_CommandSub '$('> spids: [457 461] ) } spids: [456] ) ] spids: [454] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:user_str) op: Equal rhs: { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(-manifest.txt)}) spids: [468 472] ) (.zip) } spids: [467] ) ] spids: [465] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Name '$manifest_path')})] ) left_token: <Left_CommandSub '$('> spids: [479 483] ) } spids: [478] ) ] spids: [476] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$user_str')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$dir') (/pyc-version.txt)} spids: [491] ) ] ) (C {(echo)} {($ VSub_Name '$dir') (/pyc-version.txt)} {(pyc-version.txt)}) ] spids: [425] ) spids: [421 424] ) (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: [525 529] ) } spids: [524] ) ] spids: [522] ) (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: [535 543] ) } spids: [534] ) ] spids: [532] ) (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: [519] ) spids: [515 518] ) (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: [633 683] ) spids: [627 631] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [619] ) spids: [615 618] ) (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: [714 768] ) spids: [708 712] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [700] ) spids: [696 699] ) (FuncDef name: gen-module-init body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:extdecls) op:Equal spids:[793])] spids: [791] ) (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: [797 803] ) } spids: [796] ) ] spids: [796] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:initbits) op:Equal spids:[808])] spids: [806] ) (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: [812 818] ) } spids: [811] ) ] spids: [811] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:template) op: Equal rhs: {($ VSub_Name '$PY27') (/Modules/config.c.in)} spids: [824] ) ] spids: [822] ) (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: [788] ) spids: [784 787] ) (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: [895 899] ) } spids: [894] ) ] spids: [892] ) (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: [905 913] ) } spids: [904] ) ] spids: [902] ) (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: [889] ) spids: [885 888] ) (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: [977] ) spids: [973 976] ) (FuncDef name: clean-repo body: (BraceGroup children: [ (C {(clean-source-tarball-build)}) (C {(rm)} {(-r)} {(-f)} {(_build)} {(_release)}) (C {(rm)} {(-f)} {(_bin/hello.) (Lit_Other '*')}) (C {(clean-pyc)}) ] spids: [1016] ) spids: [1012 1015] ) (FuncDef name: clean-source-tarball-build body: (BraceGroup children: [ (C {(rm)} {(-f)} {(-v)} {(_bin/oil.) (Lit_Other '*')}) (C {(rm)} {(-f)} {(-v)} {(_build/oil/ovm)} {(_build/oil/ovm-dbg)}) ] spids: [1062] ) spids: [1058 1061] ) (C {(DQ ($ VSub_At '$@'))}) ] )