(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:APR_VERSION spids:[95]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name APR_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (1.4.6))}) spids: [96 102] ) } spids: [95] ) ] spids: [95] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:APU_VERSION spids:[104]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name APU_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (1.5.1))}) spids: [105 111] ) } spids: [104] ) ] spids: [104] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SERF_VERSION spids:[113]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name SERF_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (1.3.8))}) spids: [114 120] ) } spids: [113] ) ] spids: [113] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ZLIB_VERSION spids:[122]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name ZLIB_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (1.2.8))}) spids: [123 129] ) } spids: [122] ) ] spids: [122] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SQLITE_VERSION spids:[131]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name SQLITE_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (3.7.15.1))}) spids: [132 138] ) } spids: [131] ) ] spids: [131] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GMOCK_VERSION spids:[140]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name GMOCK_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (1.6.0))}) spids: [141 147] ) } spids: [140] ) ] spids: [140] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_VERSION spids:[149]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name HTTPD_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (2.4.10))}) spids: [150 156] ) } spids: [149] ) ] spids: [149] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:APR_ICONV_VERSION spids:[158]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name APR_ICONV_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (1.2.1))}) spids: [159 165] ) } spids: [158] ) ] spids: [158] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:APR spids:[168]) op: Equal rhs: {(apr-) (${ VSub_Name APR_VERSION)} spids: [168] ) ] spids: [168] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:APR_UTIL spids:[174]) op: Equal rhs: {(apr-util-) (${ VSub_Name APU_VERSION)} spids: [174] ) ] spids: [174] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SERF spids:[180]) op: Equal rhs: {(serf-) (${ VSub_Name SERF_VERSION)} spids: [180] ) ] spids: [180] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ZLIB spids:[186]) op: Equal rhs: {(zlib-) (${ VSub_Name ZLIB_VERSION)} spids: [186] ) ] spids: [186] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SQLITE_VERSION_LIST spids:[192]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ VSub_DollarName '$SQLITE_VERSION')}) (C {(sed)} {(-e)} {(SQ <'s/\\./ /g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [193 207] ) } spids: [192] ) ] spids: [192] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SQLITE spids:[209]) op: Equal rhs: {(sqlite-amalgamation-) (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(printf)} {(Lit_Other '%') (d) (Lit_Other '%') (02d) (Lit_Other '%') (02d) (Lit_Other '%') (02d) } {($ VSub_DollarName '$SQLITE_VERSION_LIST')} ) ] ) left_token: <Left_Backtick '`'> spids: [211 224] ) } spids: [209] ) ] spids: [209] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GMOCK spids:[226]) op: Equal rhs: {(gmock-) (${ VSub_Name GMOCK_VERSION)} spids: [226] ) ] spids: [226] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GMOCK_URL spids:[232]) op: Equal rhs: {(https) (Lit_Other ':') (//googlemock.googlecode.com/files/)} spids: [232] ) ] spids: [232] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD spids:[238]) op: Equal rhs: {(httpd-) (${ VSub_Name HTTPD_VERSION)} spids: [238] ) ] spids: [238] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:APR_ICONV spids:[244]) op: Equal rhs: {(apr-iconv-) (${ VSub_Name APR_ICONV_VERSION)} spids: [244] ) ] spids: [244] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BASEDIR spids:[251]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [252 254] ) } spids: [251] ) ] spids: [251] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TEMPDIR spids:[256]) op: Equal rhs: {($ VSub_DollarName '$BASEDIR') (/temp)} spids: [256] ) ] spids: [256] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTP_FETCH spids:[261]) op: Equal rhs: (word.EmptyWord) spids: [261] ) ] spids: [261] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$HTTP_FETCH'))} {(Lit_Other ']')}) (command.SimpleCommand words: [{(type)} {(wget)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTP_FETCH spids:[287]) op: Equal rhs: {(DQ ('wget -q -nc'))} spids: [287] ) ] spids: [287] ) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$HTTP_FETCH'))} {(Lit_Other ']')}) (command.SimpleCommand words: [{(type)} {(curl)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTP_FETCH spids:[316]) op: Equal rhs: {(DQ ('curl -sOL'))} spids: [316] ) ] spids: [316] ) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$HTTP_FETCH'))} {(Lit_Other ']')}) (command.SimpleCommand words: [{(type)} {(fetch)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTP_FETCH spids:[345]) op: Equal rhs: {(DQ ('fetch -q'))} spids: [345] ) ] spids: [345] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:APACHE_MIRROR spids:[357]) op: Equal rhs: {(http) (Lit_Other ':') (//archive.apache.org/dist)} spids: [357] ) ] spids: [357] ) (command.FuncDef name: usage body: (command.BraceGroup children: [ (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0'))}) (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' [ apr | serf | zlib | sqlite | gmock ] ...'))} ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_Number '$1')} ) ] spids: [370] ) spids: [366 369] ) (command.FuncDef name: get_apr body: (command.BraceGroup children: [ (C {(cd)} {($ VSub_DollarName '$TEMPDIR')}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/apr)}) (C {($ VSub_DollarName '$HTTP_FETCH')} {($ VSub_DollarName '$APACHE_MIRROR') (/apr/) ($ VSub_DollarName '$APR') (.tar.bz2)} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/apr-util)}) (C {($ VSub_DollarName '$HTTP_FETCH')} {($ VSub_DollarName '$APACHE_MIRROR') (/apr/) ($ VSub_DollarName '$APR_UTIL') (.tar.bz2) } ) ] ) (C {(cd)} {($ VSub_DollarName '$BASEDIR')}) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/apr)}) (command.Pipeline children: [ (C {(bzip2)} {(-dc)} {($ VSub_DollarName '$TEMPDIR') (/) ($ VSub_DollarName '$APR') (.tar.bz2)} ) (C {(tar)} {(-xf)} {(-)}) ] negated: F ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/apr-util)}) (command.Pipeline children: [ (C {(bzip2)} {(-dc)} {($ VSub_DollarName '$TEMPDIR') (/) ($ VSub_DollarName '$APR_UTIL') (.tar.bz2)} ) (C {(tar)} {(-xf)} {(-)}) ] negated: F ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/apr)}) (C {(mv)} {($ VSub_DollarName '$APR')} {(apr)}) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/apr-util)}) (C {(mv)} {($ VSub_DollarName '$APR_UTIL')} {(apr-util)}) ] ) ] spids: [404] ) spids: [400 403] ) (command.FuncDef name: get_serf body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/serf)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (C {(cd)} {($ VSub_DollarName '$TEMPDIR')}) (C {($ VSub_DollarName '$HTTP_FETCH')} {(https) (Lit_Other ':') (//archive.apache.org/dist/serf/) ($ VSub_DollarName '$SERF') (.tar.bz2) } ) (C {(cd)} {($ VSub_DollarName '$BASEDIR')}) (command.Pipeline children: [ (C {(bzip2)} {(-dc)} {($ VSub_DollarName '$TEMPDIR') (/) ($ VSub_DollarName '$SERF') (.tar.bz2)} ) (C {(tar)} {(-xf)} {(-)}) ] negated: F ) (C {(mv)} {($ VSub_DollarName '$SERF')} {(serf)}) ] spids: [545] ) spids: [541 544] ) (command.FuncDef name: get_zlib body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/zlib)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (C {(cd)} {($ VSub_DollarName '$TEMPDIR')}) (C {($ VSub_DollarName '$HTTP_FETCH')} {(http) (Lit_Other ':') (//sourceforge.net/projects/libpng/files/zlib/) ($ VSub_DollarName '$ZLIB_VERSION') (/) ($ VSub_DollarName '$ZLIB') (.tar.gz) } ) (C {(cd)} {($ VSub_DollarName '$BASEDIR')}) (command.Pipeline children: [ (C {(gzip)} {(-dc)} {($ VSub_DollarName '$TEMPDIR') (/) ($ VSub_DollarName '$ZLIB') (.tar.gz)} ) (C {(tar)} {(-xf)} {(-)}) ] negated: F ) (C {(mv)} {($ VSub_DollarName '$ZLIB')} {(zlib)}) ] spids: [613] ) spids: [609 612] ) (command.FuncDef name: get_sqlite body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/sqlite-amalgamation)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (C {(cd)} {($ VSub_DollarName '$TEMPDIR')}) (C {($ VSub_DollarName '$HTTP_FETCH')} {(http) (Lit_Other ':') (//www.sqlite.org/) ($ VSub_DollarName '$SQLITE') (.zip)} ) (C {(cd)} {($ VSub_DollarName '$BASEDIR')}) (C {(unzip)} {(-q)} {($ VSub_DollarName '$TEMPDIR') (/) ($ VSub_DollarName '$SQLITE') (.zip)} ) (C {(mv)} {($ VSub_DollarName '$SQLITE')} {(sqlite-amalgamation)}) ] spids: [683] ) spids: [679 682] ) (command.FuncDef name: get_gmock body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-d)} {($ VSub_DollarName '$BASEDIR') (/gmock-fused)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (C {(cd)} {($ VSub_DollarName '$TEMPDIR')}) (C {($ VSub_DollarName '$HTTP_FETCH')} {(${ VSub_Name GMOCK_URL) (/) (${ VSub_Name GMOCK) (.zip)} ) (C {(cd)} {($ VSub_DollarName '$BASEDIR')}) (C {(unzip)} {(-q)} {($ VSub_DollarName '$TEMPDIR') (/) ($ VSub_DollarName '$GMOCK') (.zip)}) (C {(mv)} {($ VSub_DollarName '$GMOCK') (/fused-src)} {(gmock-fused)}) (C {(rm)} {(-fr)} {($ VSub_DollarName '$GMOCK')}) ] spids: [744] ) spids: [740 743] ) (command.FuncDef name: get_deps body: (command.BraceGroup children: [ (C {(mkdir)} {(-p)} {($ VSub_DollarName '$TEMPDIR')}) (command.ForEach iter_name: i iter_words: [{(zlib)} {(serf)} {(sqlite-amalgamation)} {(apr)} {(apr-util)} {(gmock-fused)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-d)} {($ VSub_DollarName '$i')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ("Local directory '") ($ VSub_DollarName '$i') ("' already exists; the downloaded copy won't be used") ) } ] redirects: [ (redir.Redir op: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(2)} ) ] ) ] spids: [16777215 862] ) ] spids: [16777215 877] ) ] spids: [848 880] ) spids: [834 846] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.ForEach iter_name: target iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$target'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (deps))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(get_) ($ VSub_DollarName '$target')}) (C {(usage)}) ] ) ] spids: [16777215 932] ) ] else_action: [(C {(usage)})] spids: [943 949] ) ] spids: [911 952] ) spids: [905 909] ) ] spids: [16777215 897] ) ] else_action: [ (C {(get_apr)}) (C {(get_serf)}) (C {(get_zlib)}) (C {(get_sqlite)}) (C {(echo)}) (C {(echo)} {(DQ ('If you require mod_dav_svn, the recommended version of httpd is:'))}) (C {(echo)} { (DQ (' ') ($ VSub_DollarName '$APACHE_MIRROR') (/httpd/) ($ VSub_DollarName '$HTTPD') (.tar.bz2) ) } ) (C {(echo)}) (C {(echo)} {(DQ ('If you require apr-iconv, its recommended version is:'))}) (C {(echo)} { (DQ (' ') ($ VSub_DollarName '$APACHE_MIRROR') (/apr/) ($ VSub_DollarName '$APR_ICONV') (.tar.bz2) ) } ) ] spids: [955 1014] ) (C {(rm)} {(-rf)} {($ VSub_DollarName '$TEMPDIR')}) ] spids: [818] ) spids: [814 817] ) (C {(get_deps)} {(DQ ($ VSub_At '$@'))}) ] )