(CommandList
  children: [
    (C {(set)} {(-u)})
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:disabled_by_default_progs)
          op: Equal
          rhs: {(SQ <'\n'> <'    arch\n'> <'    hostname\n'>)}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:build_if_possible_progs)
          op: Equal
          rhs: 
            {
              (SQ <'\n'> <'    chroot\n'> <'    df\n'> <'    hostid\n'> <'    libstdbuf.so\n'> 
                <'    nice\n'> <'    pinky\n'> <'    stdbuf\n'> <'    stty\n'> <'    uptime\n'> <'    users\n'> <'    who\n'>
              )
            }
          spids: [63]
        )
      ]
      spids: [63]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:normal_progs)
          op: Equal
          rhs: 
            {
              (SQ <'\n'> <'    [\n'> <'    base64\n'> <'    basename\n'> <'    cat\n'> <'    chcon\n'> 
                <'    chgrp\n'> <'    chmod\n'> <'    chown\n'> <'    cksum\n'> <'    comm\n'> <'    cp\n'> <'    csplit\n'> <'    cut\n'> 
                <'    date\n'> <'    dd\n'> <'    dir\n'> <'    dircolors\n'> <'    dirname\n'> <'    du\n'> <'    echo\n'> <'    env\n'> 
                <'    expand\n'> <'    expr\n'> <'    factor\n'> <'    false\n'> <'    fmt\n'> <'    fold\n'> <'    ginstall\n'> 
                <'    groups\n'> <'    head\n'> <'    id\n'> <'    join\n'> <'    kill\n'> <'    link\n'> <'    ln\n'> <'    logname\n'> 
                <'    ls\n'> <'    md5sum\n'> <'    mkdir\n'> <'    mkfifo\n'> <'    mknod\n'> <'    mktemp\n'> <'    mv\n'> 
                <'    nl\n'> <'    nproc\n'> <'    nohup\n'> <'    numfmt\n'> <'    od\n'> <'    paste\n'> <'    pathchk\n'> 
                <'    pr\n'> <'    printenv\n'> <'    printf\n'> <'    ptx\n'> <'    pwd\n'> <'    readlink\n'> <'    realpath\n'> 
                <'    rm\n'> <'    rmdir\n'> <'    runcon\n'> <'    seq\n'> <'    sha1sum\n'> <'    sha224sum\n'> <'    sha256sum\n'> 
                <'    sha384sum\n'> <'    sha512sum\n'> <'    shred\n'> <'    shuf\n'> <'    sleep\n'> <'    sort\n'> <'    split\n'> 
                <'    stat\n'> <'    sum\n'> <'    sync\n'> <'    tac\n'> <'    tail\n'> <'    tee\n'> <'    test\n'> <'    timeout\n'> 
                <'    touch\n'> <'    tr\n'> <'    true\n'> <'    truncate\n'> <'    tsort\n'> <'    tty\n'> <'    uname\n'> 
                <'    unexpand\n'> <'    uniq\n'> <'    unlink\n'> <'    vdir\n'> <'    wc\n'> <'    whoami\n'> <'    yes\n'>
              )
            }
          spids: [86]
        )
      ]
      spids: [86]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:me)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {(DQ ($ VSub_Number '$0'))})
                          (C {(sed)} {(SQ <'s,.*/,,'>)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [186 200]
              )
            }
          spids: [185]
        )
      ]
      spids: [185]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:msg)
          op: Equal
          rhs: {(DQ ('Automatically generated by ') ($ VSub_Name '$me') ('.  DO NOT EDIT BY HAND!'))}
          spids: [202]
        )
      ]
      spids: [202]
    )
    (Case
      to_match: {($ VSub_Pound '$#') (Lit_Comma ',') ($ VSub_Number '$1')}
      arms: [
        (case_arm
          pat_list: [{(1) (Lit_Comma ',') (--autoconf)} {(1) (Lit_Comma ',') (--for-autoconf)}]
          action: [
            (C {(echo)} {(DQ ('dnl ') ($ VSub_Name '$msg'))})
            (ForEach
              iter_name: p
              iter_words: [{($ VSub_Name '$normal_progs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(x) (DQ ($ VSub_Name '$p'))} {(Lit_Other '=')} {(x) (DQ ('['))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: {(SQ <'@<:@'>)}
                              spids: [265]
                            )
                          ]
                          spids: [265]
                        )
                      ]
                    )
                    (C {(echo)} {(DQ ('gl_ADD_PROG([optional_bin_progs], [') ($ VSub_Name '$p') ('])'))})
                  ]
                  spids: [246 280]
                )
              spids: [242 244]
            )
            (C {(echo)} 
              {
                (DQ ("no_install_progs_default='") 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(echo)} {($ VSub_Name '$disabled_by_default_progs')})]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [291 295]
                  ) ("'")
                )
              }
            )
            (SimpleCommand
              words: [{(sed)} {(SQ <'s/^ *//'>)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('        # Given the name of a variable containing a space-separated\n') 
                        ('        # list of install-by-default programs and the actual list of\n') ('        # do-not-install-by-default programs, modify the former variable\n') 
                        ('        # to reflect any ') (Right_DoubleQuote '"') (do-install) (Right_DoubleQuote '"') (' and ') (Right_DoubleQuote '"') 
                        ("don't-install") (Right_DoubleQuote '"') (' requests.\n') 
                        (
'        # That is, add any program specified via --enable-install-program,\n'
                        ) ('        # and remove any program specified via --enable-no-install-program.\n') 
                        ('        # Note how the second argument below is a literal, with ') (Right_DoubleQuote '"') (',') (Right_DoubleQuote '"') ('\n') 
                        (
'        # separators.  That is required due to the way the macro works,\n'
                        ) ('        # and since the corresponding ./configure option argument is\n') 
                        ('        # comma-separated on input.\n') ('        gl_INCLUDE_EXCLUDE_PROG([optional_bin_progs], [') 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name '$disabled_by_default_progs')})
                                    (C {(sed)} {(SQ <'s/ /,/g'>)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [332 348]
                        ) ('])\n')
                      )
                    }
                  do_expansion: True
                  here_end: END
                  was_filled: T
                  spids: [306]
                )
              ]
            )
          ]
          spids: [219 226 352 16777215]
        )
        (case_arm
          pat_list: [{(1) (Lit_Comma ',') (--automake)} {(1) (Lit_Comma ',') (--for-automake)}]
          action: [
            (C {(echo)} {(DQ ('## ') ($ VSub_Name '$msg'))})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:progsdir) op:Equal rhs:{(src)} spids:[373])]
              spids: [373]
            )
            (C {(echo)} {(no_install__progs)} {(Lit_Other '=')})
            (ForEach
              iter_name: p
              iter_words: [{($ VSub_Name '$disabled_by_default_progs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(no_install__progs)} {(Lit_Other '+') (Lit_Other '=')} 
                      {($ VSub_Name '$progsdir') (/) ($ VSub_Name '$p')}
                    )
                  ]
                  spids: [393 408]
                )
              spids: [389 391]
            )
            (C {(echo)} {(build_if_possible__progs)} {(Lit_Other '=')})
            (ForEach
              iter_name: p
              iter_words: [{($ VSub_Name '$build_if_possible_progs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(build_if_possible__progs)} {(Lit_Other '+') (Lit_Other '=')} 
                      {($ VSub_Name '$progsdir') (/) ($ VSub_Name '$p')}
                    )
                  ]
                  spids: [427 442]
                )
              spids: [423 425]
            )
            (C {(echo)} {(default__progs)} {(Lit_Other '=')})
            (ForEach
              iter_name: p
              iter_words: [{($ VSub_Name '$normal_progs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(default__progs)} {(Lit_Other '+') (Lit_Other '=')} 
                      {($ VSub_Name '$progsdir') (/) ($ VSub_Name '$p')}
                    )
                  ]
                  spids: [461 476]
                )
              spids: [457 459]
            )
          ]
          spids: [355 362 479 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(echo)} {(DQ ($ VSub_Number '$0') (': invalid usage'))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[493])]
                )
              terminator: <Op_Semi ';'>
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)})
          ]
          spids: [482 483 502 16777215]
        )
      ]
      spids: [210 216 504]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)