(command.CommandList
  children: [
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.Subshell
          child: (C {<unset>} {<CDPATH>})
          redirects: [
            (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})
            (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})
          ]
        )
        (C {<unset>} {<CDPATH>})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RELEASE_MODE)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [97]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RELEASE_ARGS)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [101]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SKIP_DEPS)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [105]
        )
      ]
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Sentence
              child: (C {<test>} {($ Id.VSub_Pound '$#')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{<--release>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:RELEASE_MODE)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_Number '$1'))}
                          spids: [137]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:RELEASE_ARGS)
                          op: assign_op.Equal
                          rhs: {(DQ <--release>)}
                          spids: [143]
                        )
                      ]
                    )
                    (C {<shift>})
                  ]
                  spids: [133 134 152 -1]
                )
                (case_arm
                  pat_list: [{<-s>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:SKIP_DEPS)
                          op: assign_op.Equal
                          rhs: {(DQ <yes>)}
                          spids: [159]
                        )
                      ]
                    )
                    (C {<shift>})
                  ]
                  spids: [155 156 168 -1]
                )
                (case_arm
                  pat_list: [{<-->}]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)]
                  spids: [171 172 181 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (C {<echo>} {(DQ <'invalid parameter: \''> ($ Id.VSub_Number '$1') <'\''>)})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [184 185 202 -1]
                )
              ]
            )
          ]
        )
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<'./build/buildcheck.sh'>} {(DQ ($ Id.VSub_DollarName '$RELEASE_MODE'))})
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:libtoolize)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  child: 
                    (C {<'./build/PrintPath'>} {<glibtoolize>} {<libtoolize>} {<glibtoolize1>} 
                      {<libtoolize15>} {<libtoolize14>}
                    )
                )
              )
            }
          spids: [253]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lt_major_version)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        words: [{($ Id.VSub_DollarName '$libtoolize')} {<--version>}]
                        redirects: [
                          (redir
                            op: <Id.Redir_Great '2>'>
                            loc: (redir_loc.Fd fd:2)
                            arg: {<'/dev/null'>}
                          )
                        ]
                        do_fork: T
                      )
                      (C {<sed>} {<-e>} {(SQ <'s/^[^0-9]*//'>)} {<-e>} {(SQ <'s/\\..*//'>)} {<-e>} 
                        {(SQ <'/^$/d'>)} {<-e>} {<1q>}
                      )
                    ]
                    negated: F
                  )
              )
            }
          spids: [272]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ <x> ($ Id.VSub_DollarName '$libtoolize'))} 
                      {<Id.Lit_Equals '='>} {(DQ <x>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'libtoolize not found in path'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [313 331]
        )
      ]
    )
    (C {<rm>} {<-f>} {<'build/config.guess'>} {<'build/config.sub'>})
    (C {($ Id.VSub_DollarName '$libtoolize')} {<--copy>} {<--automake>} {<--force>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ltpath)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  child: (C {<dirname>} {($ Id.VSub_DollarName '$libtoolize')})
                )
              )
            }
          spids: [365]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ <x> ($ Id.VSub_DollarName '$LIBTOOL_M4'))} 
                      {<Id.Lit_Equals '='>} {(DQ <x>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ltm4_error)
                  op: assign_op.Equal
                  rhs: {(SQ <'(try setting the LIBTOOL_M4 environment variable)'>)}
                  spids: [398]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-d>} 
                              {(DQ ($ Id.VSub_DollarName '$ltpath') <'/../share/aclocal/.'>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ltm4)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.AndOr
                                    ops: [Id.Op_DAmp]
                                    children: [
                                      (C {<cd>} 
                                        {(DQ ($ Id.VSub_DollarName '$ltpath') <'/../share/aclocal'>)}
                                      )
                                      (C {<pwd>})
                                    ]
                                  )
                              )
                            }
                          spids: [421]
                        )
                      ]
                    )
                  ]
                  spids: [404 418]
                )
              ]
              else_action: [
                (C {<echo>} 
                  {(DQ <'Libtool helper path not found '> ($ Id.VSub_DollarName '$ltm4_error'))}
                )
                (C {<echo>} 
                  {
                    (DQ <'  expected at: \''> ($ Id.VSub_DollarName '$ltpath') <'/../share/aclocal\''>)
                  }
                )
                (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
              ]
            )
          ]
          spids: [377 395]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:ltm4_error)
              op: assign_op.Equal
              rhs: 
                {
                  (DQ <'(the LIBTOOL_M4 environment variable is: '> 
                    ($ Id.VSub_DollarName '$LIBTOOL_M4') <')'>
                  )
                }
              spids: [468]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:ltm4)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName '$LIBTOOL_M4'))}
              spids: [476]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ltfile)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$ltm4') <'/libtool.m4'>)}
          spids: [484]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                      {(DQ ($ Id.VSub_DollarName '$ltfile'))} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} 
              {
                (DQ ($ Id.VSub_DollarName '$ltfile') <' not found '> 
                  ($ Id.VSub_DollarName '$ltm4_error')
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [490 505]
        )
      ]
    )
    (C {<echo>} {(DQ <'Copying libtool helper:  '> ($ Id.VSub_DollarName '$ltfile'))})
    (C {<rm>} {<-f>} {<'build/libtool.m4'>})
    (C {<cp>} {(DQ ($ Id.VSub_DollarName '$ltfile'))} {<'build/libtool.m4'>})
    (command.ForEach
      iter_name: file
      iter_words: [
        {<ltoptions.m4>}
        {<ltsugar.m4>}
        {<ltversion.m4>}
        {<lt> <Id.Lit_TildeLike '~obsolete.m4'>}
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {<rm>} {<-f>} {<'build/'> ($ Id.VSub_DollarName '$file')})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$lt_major_version')} 
                              {<-ge>} {<2>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ltfile)
                          op: assign_op.Equal
                          rhs: 
                            {(DQ ($ Id.VSub_DollarName '$ltm4') <'/'> ($ Id.VSub_DollarName '$file'))}
                          spids: [605]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                      {(DQ ($ Id.VSub_DollarName '$ltfile'))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<echo>} 
                              {
                                (DQ ($ Id.VSub_DollarName '$ltfile') <' not found '> 
                                  ($ Id.VSub_DollarName '$ltm4_error')
                                )
                              }
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Exit exit>
                              arg_word: {<1>}
                            )
                          ]
                          spids: [614 629]
                        )
                      ]
                    )
                    (C {<echo>} {(DQ <'Copying libtool helper:  '> ($ Id.VSub_DollarName '$ltfile'))})
                    (C {<cp>} {(DQ ($ Id.VSub_DollarName '$ltfile'))} 
                      {(DQ <'build/'> ($ Id.VSub_DollarName '$file'))}
                    )
                  ]
                  spids: [589 602]
                )
              ]
            )
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$lt_major_version')} {<-ge>} {<2>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} 
                              {(DQ <x> ($ Id.VSub_DollarName '$LIBTOOL_CONFIG'))} {<Id.Lit_Equals '='>} {(DQ <x>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ltconfig_error)
                          op: assign_op.Equal
                          rhs: {(SQ <'(try setting the LIBTOOL_CONFIG environment variable)'>)}
                          spids: [712]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-d>} 
                                      {
                                        (DQ ($ Id.VSub_DollarName '$ltpath') 
                                          <'/../share/libtool/config/.'>
                                        )
                                      } {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ltconfig)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.AndOr
                                            ops: [Id.Op_DAmp]
                                            children: [
                                              (C {<cd>} 
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$ltpath') 
                                                    <'/../share/libtool/config'>
                                                  )
                                                }
                                              )
                                              (C {<pwd>})
                                            ]
                                          )
                                      )
                                    }
                                  spids: [735]
                                )
                              ]
                            )
                          ]
                          spids: [718 732]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-d>} 
                                      {
                                        (DQ ($ Id.VSub_DollarName '$ltpath') 
                                          <'/../share/libtool/build-aux/.'>
                                        )
                                      } {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ltconfig)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.AndOr
                                            ops: [Id.Op_DAmp]
                                            children: [
                                              (C {<cd>} 
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$ltpath') 
                                                    <'/../share/libtool/build-aux'>
                                                  )
                                                }
                                              )
                                              (C {<pwd>})
                                            ]
                                          )
                                      )
                                    }
                                  spids: [769]
                                )
                              ]
                            )
                          ]
                          spids: [752 766]
                        )
                      ]
                      else_action: [
                        (C {<echo>} 
                          {
                            (DQ <'Autoconf helper path not found '> 
                              ($ Id.VSub_DollarName '$ltconfig_error')
                            )
                          }
                        )
                        (C {<echo>} 
                          {
                            (DQ <'  expected at: \''> ($ Id.VSub_DollarName '$ltpath') 
                              <'/../share/libtool/config\''>
                            )
                          }
                        )
                        (C {<echo>} 
                          {
                            (DQ <'           or: \''> ($ Id.VSub_DollarName '$ltpath') 
                              <'/../share/libtool/build-aux\''>
                            )
                          }
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Exit exit>
                          arg_word: {<1>}
                        )
                      ]
                    )
                  ]
                  spids: [691 709]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ltconfig_error)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ <'(the LIBTOOL_CONFIG environment variable is: '> 
                            ($ Id.VSub_DollarName '$LIBTOOL_CONFIG') <')'>
                          )
                        }
                      spids: [826]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ltconfig)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName '$LIBTOOL_CONFIG'))}
                      spids: [834]
                    )
                  ]
                )
              ]
            )
            (command.ForEach
              iter_name: file
              iter_words: [{<config.guess>} {<config.sub>}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:configfile)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$ltconfig') <'/'> 
                                ($ Id.VSub_DollarName '$file')
                              )
                            }
                          spids: [858]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                      {(DQ ($ Id.VSub_DollarName '$configfile'))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<echo>} 
                              {
                                (DQ ($ Id.VSub_DollarName '$configfile') <' not found '> 
                                  ($ Id.VSub_DollarName '$ltconfig_error')
                                )
                              }
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Exit exit>
                              arg_word: {<1>}
                            )
                          ]
                          spids: [867 882]
                        )
                      ]
                    )
                    (C {<echo>} 
                      {(DQ <'Copying autoconf helper: '> ($ Id.VSub_DollarName '$configfile'))}
                    )
                    (C {<cp>} {(DQ ($ Id.VSub_DollarName '$configfile'))} 
                      {<'build/'> ($ Id.VSub_DollarName '$file')}
                    )
                  ]
                )
            )
          ]
          spids: [675 688]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PYTHON)
          op: assign_op.Equal
          rhs: 
            {(DQ (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<'./build/find_python.sh'>})))}
          spids: [942]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$PYTHON'))})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'Python 2.7 or later is required to run autogen.sh'>)})
            (C {<echo>} {(DQ <'If you have a suitable Python installed, but not on the'>)})
            (C {<echo>} {(DQ <'PATH, set the environment variable PYTHON to the full path'>)})
            (C {<echo>} {(DQ <'to the Python executable, and re-run autogen.sh'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [951 962]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$RELEASE_MODE'))})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'Generating SWIG code...'>)})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(DQ ($ Id.VSub_DollarName '$PYTHON'))} {<'./gen-make.py'>} {<build.conf>})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:gen_failed)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [1042]
                    )
                  ]
                )
              ]
            )
            (C {<make>} {<-f>} {<autogen-standalone.mk>} {<autogen-swig>})
            (C {<rm>} {<-f>} {<.swig_checked>})
          ]
          spids: [1003 1014]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$SKIP_DEPS'))})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'Creating build-outputs.mk (no dependencies)...'>)})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(DQ ($ Id.VSub_DollarName '$PYTHON'))} {<'./gen-make.py'>} 
                  {($ Id.VSub_DollarName '$RELEASE_ARGS')} {<-s>} {<build.conf>}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:gen_failed)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [1109]
                    )
                  ]
                )
              ]
            )
          ]
          spids: [1074 1085]
        )
      ]
      else_action: [
        (C {<echo>} {(DQ <'Creating build-outputs.mk...'>)})
        (command.AndOr
          ops: [Id.Op_DPipe]
          children: [
            (C {(DQ ($ Id.VSub_DollarName '$PYTHON'))} {<'./gen-make.py'>} 
              {($ Id.VSub_DollarName '$RELEASE_ARGS')} {<build.conf>}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:gen_failed)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [1134]
                )
              ]
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$RELEASE_MODE'))})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<find>} {<'build/'>} {<-name>} {(SQ <'*.pyc'>)} {<-exec>} {<rm>} 
              {<Id.Lit_LBrace '{'> <Id.Lit_RBrace '}'>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>)}
            )
          ]
          spids: [1140 1151]
        )
      ]
    )
    (C {<rm>} {<autogen-standalone.mk>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$gen_failed'))})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'ERROR: gen-make.py failed'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [1181 1192]
        )
      ]
    )
    (C {<echo>} {(DQ <'Creating svn_private_config.h.in...'>)})
    (C 
      {
        (braced_var_sub
          token: <Id.VSub_Name AUTOHEADER>
          suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<autoheader>})
        )
      }
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-f>} {<config.cache>} {<Id.Lit_RBracket ']'>})
                        (C {<Id.Lit_LBracket '['>} {<-f>} {<configure>} {<Id.Lit_RBracket ']'>})
                      ]
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<cp>} {<configure>} {<configure.> ($ Id.VSub_Dollar '$$') <.tmp>})]
          spids: [1231 1252]
        )
      ]
    )
    (C {<echo>} {(DQ <'Creating configure...'>)})
    (C 
      {
        (braced_var_sub
          token: <Id.VSub_Name AUTOCONF>
          suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<autoconf>})
        )
      }
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<Id.Lit_LBracket '['>} {<-f>} {<config.cache>} {<Id.Lit_RBracket ']'>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (command.Subshell
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-f>} {<configure.> ($ Id.VSub_Dollar '$$') <.tmp>} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (command.Simple
                          words: [{<cmp>} {<configure>} {<configure.> ($ Id.VSub_Dollar '$$') <.tmp>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                            (redir
                              op: <Id.Redir_GreatAnd '2>&'>
                              loc: (redir_loc.Fd fd:2)
                              arg: {<1>}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                    )
                )
                (command.Subshell
                  child: 
                    (command.CommandList
                      children: [
                        (C {<echo>} {(DQ <'Tossing config.cache, since configure has changed.'>)})
                        (C {<rm>} {<config.cache>})
                      ]
                    )
                )
              ]
            )
            (C {<rm>} {<-f>} {<configure.> ($ Id.VSub_Dollar '$$') <.tmp>})
          ]
          spids: [1288 1299]
        )
      ]
    )
    (C {<rm>} {<-rf>} {<autom4te> <Id.Lit_Star '*'> <.cache>})
    (C {<echo>} {(DQ )})
    (C {<echo>} {(DQ <'You can run ./configure now.'>)})
    (C {<echo>} {(DQ )})
    (C {<echo>} {(DQ <'Running autogen.sh implies you are a maintainer.  You may prefer'>)})
    (C {<echo>} {(DQ <'to run configure in one of the following ways:'>)})
    (C {<echo>} {(DQ )})
    (C {<echo>} {(DQ <'./configure --enable-maintainer-mode'>)})
    (C {<echo>} {(DQ <'./configure --disable-shared'>)})
    (C {<echo>} {(DQ <'./configure --enable-maintainer-mode --disable-shared'>)})
    (C {<echo>} {(DQ <'./configure --disable-optimize --enable-debug'>)})
    (C {<echo>} {(DQ <'./configure CFLAGS=\'--flags-for-C\' CXXFLAGS=\'--flags-for-C++\''>)})
    (C {<echo>} {(DQ )})
    (C {<echo>} {(DQ <'Note:  If you wish to run a Subversion HTTP server, you will need'>)})
    (C {<echo>} {(DQ <'Apache 2.x.  See the INSTALL file for details.'>)})
    (C {<echo>} {(DQ )})
  ]
)