(command.CommandList
  children: [
    (C {<cd>} 
      {
        (braced_var_sub
          token: <Id.VSub_Number 0>
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<'*'> <Id.Lit_Slash '/'> <'*'>})
        )
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_ver)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<autoconf>} {<--version>})
                      (C {<head>} {<-n>} {<1>})
                      (C {<awk>} {(SQ <'{print $NF}'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [21]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_maj)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$ac_ver')})
                      (C {<sed>} {(SQ <'s/\\..*//'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_min)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$ac_ver')})
                      (C {<sed>} {(SQ <'s/.*\\.//'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [63]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_lt
                      left: {($ Id.VSub_DollarName '$ac_maj')}
                      right: {<2>}
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} {<Min>} {<autoconf>} {<version>} {<is>} {<2.57>})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [80 93]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.LogicalAnd
                      left: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_eq
                          left: {($ Id.VSub_DollarName '$ac_maj')}
                          right: {<2>}
                        )
                      right: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_lt
                          left: {($ Id.VSub_DollarName '$ac_min')}
                          right: {<57>}
                        )
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} {<Min>} {<autoconf>} {<version>} {<is>} {<2.57>})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [113 134]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:am_ver)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<automake>} {<--version>})
                      (C {<head>} {<-n>} {<1>})
                      (C {<awk>} {(SQ <'{print $NF}'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [160]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:am_maj)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$am_ver')})
                      (C {<sed>} {(SQ <'s/\\..*//'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [185]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:am_min)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$am_ver')})
                      (C {<sed>} {(SQ <'s/[^\\.]*\\.\\([^\\.]*\\)\\.*.*/\\1/'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [202]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:am_sub)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$am_ver')})
                      (C {<sed>} {(SQ <'s/[^\\.]*\\.[^\\.]*\\.*//'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [231]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_lt
                      left: {($ Id.VSub_DollarName '$am_maj')}
                      right: {<1>}
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} {<Min>} {<automake>} {<version>} {<is>} {<1.6.3>})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [254 267]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.LogicalAnd
                      left: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_eq
                          left: {($ Id.VSub_DollarName '$am_maj')}
                          right: {<1>}
                        )
                      right: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_lt
                          left: {($ Id.VSub_DollarName '$am_min')}
                          right: {<6>}
                        )
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} 
              {
                (DQ <'automake version is too old:'> ($ Id.VSub_DollarName '$am_maj') <.> 
                  ($ Id.VSub_DollarName '$am_min') <.> ($ Id.VSub_DollarName '$am_sub') <' < required 1.6.3'>
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [287 308]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.LogicalAnd
                      left: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_eq
                          left: {($ Id.VSub_DollarName '$am_maj')}
                          right: {<1>}
                        )
                      right: 
                        (bool_expr.LogicalAnd
                          left: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_eq
                              left: {($ Id.VSub_DollarName '$am_min')}
                              right: {<6>}
                            )
                          right: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_lt
                              left: {($ Id.VSub_DollarName '$am_sub')}
                              right: {<3>}
                            )
                        )
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} 
              {
                (DQ <'automake version is too old:'> ($ Id.VSub_DollarName '$am_maj') <.> 
                  ($ Id.VSub_DollarName '$am_min') <.> ($ Id.VSub_DollarName '$am_sub') <' < required 1.6.3'>
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [328 357]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lt_ver)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<libtool>} {<--version>})
                      (C {<head>} {<-n>} {<1>})
                      (C {<awk>} {(SQ <'{print $4}'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [383]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lt_maj)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$lt_ver')})
                      (C {<sed>} {(SQ <'s/\\..*//'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [408]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lt_min)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$lt_ver')})
                      (C {<sed>} {(SQ <'s/[^\\.]*\\.\\([^\\.]*\\)\\.*.*/\\1/'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [425]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lt_sub)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$lt_ver')})
                      (C {<sed>} {(SQ <'s/[^\\.]*\\.[^\\.]*\\.*//'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [454]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_lt
                      left: {($ Id.VSub_DollarName '$lt_maj')}
                      right: {<1>}
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} {<Min>} {<libtool>} {<version>} {<is>} {<1.4.2>})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [477 490]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.LogicalAnd
                      left: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_eq
                          left: {($ Id.VSub_DollarName '$lt_maj')}
                          right: {<1>}
                        )
                      right: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_lt
                          left: {($ Id.VSub_DollarName '$lt_min')}
                          right: {<4>}
                        )
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} 
              {
                (DQ <'libtool version is too old:'> ($ Id.VSub_DollarName '$lt_maj') <.> 
                  ($ Id.VSub_DollarName '$lt_min') <.> ($ Id.VSub_DollarName '$lt_sub') <' < required 1.4.2'>
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [510 531]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.LogicalAnd
                      left: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_eq
                          left: {($ Id.VSub_DollarName '$lt_maj')}
                          right: {<1>}
                        )
                      right: 
                        (bool_expr.LogicalAnd
                          left: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_eq
                              left: {($ Id.VSub_DollarName '$lt_min')}
                              right: {<4>}
                            )
                          right: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_lt
                              left: {($ Id.VSub_DollarName '$lt_sub')}
                              right: {<2>}
                            )
                        )
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} 
              {
                (DQ <'libtool version is too old:'> ($ Id.VSub_DollarName '$lt_maj') <.> 
                  ($ Id.VSub_DollarName '$lt_min') <.> ($ Id.VSub_DollarName '$lt_sub') <' < required 1.4.2'>
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [551 580]
        )
      ]
    )
    (C {<find>} {<.>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\('>)} {<-name>} 
      {<Makefile.in>} {<-o>} {<-name>} {<aclocal.m4>} {<-o>} {<-name>} {<autom4te.cache>} {<-o>} {<-name>} {<configure>} {<-o>} 
      {<-name>} {<aclocal.m4>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>)} {<-exec>} 
      {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\r'>) <m>} {<-rf>} {<Id.Lit_LBrace '{'> <Id.Lit_RBrace '}'>} 
      {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>)} {<-prune>}
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
      children: [
        (C {<aclocal>} {<-I>} {<config>})
        (C {<libtoolize>} {<--force>} {<--copy>})
        (C {<autoheader>})
        (C {<automake>} {<--foreign>} {<--add-missing>} {<--copy>})
        (C {<autoconf>})
      ]
    )
  ]
)