(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:srcdir) op:Equal rhs:{($ VSub_Number '$1')} spids:[236])]
      spids: [236]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:libdir) op:Equal rhs:{($ VSub_Number '$2')} spids:[239])]
      spids: [239]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:prefix) op:Equal rhs:{($ VSub_Number '$3')} spids:[242])]
      spids: [242]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exec_prefix)
          op: Equal
          rhs: {($ VSub_Number '$4')}
          spids: [245]
        )
      ]
      spids: [245]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:host) op:Equal rhs:{($ VSub_Number '$5')} spids:[248])]
      spids: [248]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:target) op:Equal rhs:{($ VSub_Number '$6')} spids:[251])]
      spids: [251]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:target_alias)
          op: Equal
          rhs: {($ VSub_Number '$7')}
          spids: [254]
        )
      ]
      spids: [254]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:EMULATION_LIBPATH)
          op: Equal
          rhs: {($ VSub_Number '$8')}
          spids: [257]
        )
      ]
      spids: [257]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NATIVE_LIB_DIRS)
          op: Equal
          rhs: {($ VSub_Number '$9')}
          spids: [260]
        )
      ]
      spids: [260]
    )
    (C {(shift)} {(9)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:use_sysroot)
          op: Equal
          rhs: {($ VSub_Number '$1')}
          spids: [267]
        )
      ]
      spids: [267]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_INITFINI_ARRAY)
          op: Equal
          rhs: {($ VSub_Number '$2')}
          spids: [270]
        )
      ]
      spids: [270]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:EMULATION_NAME)
          op: Equal
          rhs: {($ VSub_Number '$3')}
          spids: [273]
        )
      ]
      spids: [273]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TOOL_LIB)
          op: Equal
          rhs: {($ VSub_Number '$4')}
          spids: [276]
        )
      ]
      spids: [276]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CUSTOMIZER_SCRIPT)
          op: Equal
          rhs: {(DQ (${ VSub_Name srcdir) (/emulparams/) (${ VSub_Name EMULATION_NAME) (.sh))}
          spids: [283]
        )
      ]
      spids: [283]
    )
    (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-d)} {(ldscripts)}) terminator:<Op_Semi ';'>)]
          action: [(C {(true)})]
          spids: [16777215 311]
        )
      ]
      else_action: [(C {(mkdir)} {(ldscripts)})]
      spids: [316 323]
    )
    (Case
      to_match: {(DQ (' ') ($ VSub_Name '$EMULATION_LIBPATH') (' '))}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other '*') (DQ (' ') (${ VSub_Name EMULATION_NAME) (' ')) (Lit_Other '*')}]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name host))} {(Lit_Other '=')} 
                          {(DQ (x) (${ VSub_Name target))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NATIVE)
                          op: Equal
                          rhs: {(yes)}
                          spids: [392]
                        )
                      ]
                      spids: [392]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:USE_LIBPATH)
                          op: Equal
                          rhs: {(yes)}
                          spids: [396]
                        )
                      ]
                      spids: [396]
                    )
                  ]
                  spids: [16777215 389]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name use_sysroot))} {(Lit_Other '=')} 
                          {(DQ (xyes))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:USE_LIBPATH)
                          op: Equal
                          rhs: {(yes)}
                          spids: [424]
                        )
                      ]
                      spids: [424]
                    )
                  ]
                  spids: [400 421]
                )
              ]
              spids: [16777215 428]
            )
          ]
          spids: [353 362 431 16777215]
        )
      ]
      spids: [342 350 433]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(DQ (x) ($ VSub_Name '$NATIVE'))} {(Lit_Other '=')} {(DQ (xyes))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:USE_LIBPATH) op:Equal rhs:{(yes)} spids:[459])]
              spids: [459]
            )
          ]
          spids: [16777215 456]
        )
      ]
      spids: [16777215 462]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lib_path1) op:Equal rhs:{(EmptyPart)} spids:[502])]
      spids: [502]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lib_path2) op:Equal rhs:{(EmptyPart)} spids:[507])]
      spids: [507]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ (${ VSub_Name LIB_PATH))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (':'))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lib_path2)
                  op: Equal
                  rhs: {(${ VSub_Name LIB_PATH)}
                  spids: [533]
                )
              ]
              spids: [533]
            )
          ]
          spids: [16777215 530]
        )
      ]
      spids: [16777215 538]
    )
    (FuncDef
      name: append_to_lib_path
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: lib
                      iter_words: [{(DQ ($ VSub_At '$@'))}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name use_sysroot))} 
                                          {(Lit_Other '=')} {(DQ (xyes))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: {(DQ ('=') (${ VSub_Name lib))}
                                          spids: [610]
                                        )
                                      ]
                                      spids: [610]
                                    )
                                  ]
                                  spids: [16777215 607]
                                )
                              ]
                              spids: [16777215 619]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:skip_lib)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [622]
                                )
                              ]
                              spids: [622]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ (${ VSub_Name LIBPATH_SUFFIX))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {(DQ (${ VSub_Name lib))}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (${ VSub_Name LIBPATH_SUFFIX)}]
                                          action: [
                                            (Case
                                              to_match: 
                                                {(Lit_Other ':') (${ VSub_Name lib_path1) 
                                                  (Lit_Other ':')
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') (Lit_Other ':') 
                                                      (${ VSub_Name lib) (Lit_Other ':') (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [671 678 680 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_path1)
                                                          op: Equal
                                                          rhs: {(${ VSub_Name lib)}
                                                          spids: [687]
                                                        )
                                                      ]
                                                      spids: [687]
                                                    )
                                                  ]
                                                  spids: [683 685 692 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_path1)
                                                          op: Equal
                                                          rhs: 
                                                            {(${ VSub_Name lib_path1) 
                                                              (Lit_Other ':') (${ VSub_Name lib)
                                                            }
                                                          spids: [698]
                                                        )
                                                      ]
                                                      spids: [698]
                                                    )
                                                  ]
                                                  spids: [695 696 707 16777215]
                                                )
                                              ]
                                              spids: [660 668 710]
                                            )
                                          ]
                                          spids: [653 657 712 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ (${ VSub_Name LIBPATH_SUFFIX_SKIP))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ (${ VSub_Name lib))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (${ VSub_Name LIBPATH_SUFFIX_SKIP)
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skip_lib)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [752]
                                                                )
                                                              ]
                                                              spids: [752]
                                                            )
                                                          ]
                                                          spids: [746 750 755 16777215]
                                                        )
                                                      ]
                                                      spids: [735 743 758]
                                                    )
                                                  ]
                                                  spids: [16777215 732]
                                                )
                                              ]
                                              spids: [16777215 761]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (${ VSub_Name skip_lib))} 
                                                          {(Lit_Other '=')} {(DQ (no))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(Lit_Other ':') (${ VSub_Name lib_path1) 
                                                          (Lit_Other ':')
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') (Lit_Other ':') 
                                                              (${ VSub_Name lib) (${ VSub_Name LIBPATH_SUFFIX) (Lit_Other ':') (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [795 805 807 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:lib_path1)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(${ VSub_Name lib) 
                                                                      (${ VSub_Name LIBPATH_SUFFIX)
                                                                    }
                                                                  spids: [814]
                                                                )
                                                              ]
                                                              spids: [814]
                                                            )
                                                          ]
                                                          spids: [810 812 822 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:lib_path1)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(${ VSub_Name lib_path1) 
                                                                      (Lit_Other ':') (${ VSub_Name lib) (${ VSub_Name LIBPATH_SUFFIX)
                                                                    }
                                                                  spids: [828]
                                                                )
                                                              ]
                                                              spids: [828]
                                                            )
                                                          ]
                                                          spids: [825 826 840 16777215]
                                                        )
                                                      ]
                                                      spids: [784 792 843]
                                                    )
                                                  ]
                                                  spids: [16777215 781]
                                                )
                                              ]
                                              spids: [16777215 846]
                                            )
                                          ]
                                          spids: [715 716 848 16777215]
                                        )
                                      ]
                                      spids: [642 650 851]
                                    )
                                  ]
                                  spids: [16777215 639]
                                )
                              ]
                              spids: [16777215 854]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (${ VSub_Name skip_lib))} {(Lit_Other '=')} 
                                          {(DQ (no))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') (${ VSub_Name lib_path1) (Lit_Other ':') 
                                          (${ VSub_Name lib_path2) (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other ':') (${ VSub_Name lib) 
                                              (Lit_Other ':') (Lit_Other '*')
                                            }
                                          ]
                                          spids: [892 899 901 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_path2)
                                                  op: Equal
                                                  rhs: {(${ VSub_Name lib)}
                                                  spids: [909]
                                                )
                                              ]
                                              spids: [909]
                                            )
                                          ]
                                          spids: [904 907 914 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_path2)
                                                  op: Equal
                                                  rhs: 
                                                    {(${ VSub_Name lib_path2) (Lit_Other ':') 
                                                      (${ VSub_Name lib)
                                                    }
                                                  spids: [920]
                                                )
                                              ]
                                              spids: [920]
                                            )
                                          ]
                                          spids: [917 918 929 16777215]
                                        )
                                      ]
                                      spids: [877 889 932]
                                    )
                                  ]
                                  spids: [16777215 874]
                                )
                              ]
                              spids: [16777215 935]
                            )
                          ]
                          spids: [579 938]
                        )
                      spids: [573 577]
                    )
                  ]
                  spids: [16777215 565]
                )
              ]
              spids: [16777215 941]
            )
          ]
          spids: [548]
        )
      spids: [544 547]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ (${ VSub_Name LIB_PATH))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (':'))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(EmptyPart)} spids:[976])]
              spids: [976]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name TOOL_LIB))} {(Lit_Other '=')} 
                          {(DQ (x))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name NATIVE))} {(Lit_Other '=')} 
                                  {(DQ (xyes))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ (${ VSub_Name exec_prefix) (/) (${ VSub_Name target_alias) 
                                        (/lib)
                                      )
                                    }
                                  spids: [1027]
                                )
                              ]
                              spids: [1027]
                            )
                          ]
                          spids: [16777215 1024]
                        )
                      ]
                      spids: [16777215 1040]
                    )
                  ]
                  spids: [16777215 1000]
                )
              ]
              else_action: [
                (Case
                  to_match: 
                    {
                      (DQ (${ VSub_Name NATIVE) (':') (${ VSub_Name LIBPATH_SUFFIX) (':') 
                        (${ VSub_Name TOOL_LIB)
                      )
                    }
                  arms: [
                    (case_arm
                      pat_list: [
                        {(Lit_Other ':') (Lit_Other '*')}
                        {(Lit_Other '*') (Lit_Other ':') (Lit_Other ':') (Lit_Other '*')}
                        {(Lit_Other '*') (Lit_Other ':') (Lit_Other '*') (Lit_Other ':') 
                          (Lit_Other '*') (${ VSub_Name LIBPATH_SUFFIX)
                        }
                      ]
                      spids: [1085 1105 1107 16777215]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:libs)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (${ VSub_Name exec_prefix) (/) (${ VSub_Name target_alias) (/lib) 
                                    (${ VSub_Name LIBPATH_SUFFIX)
                                  )
                                }
                              spids: [1113]
                            )
                          ]
                          spids: [1113]
                        )
                      ]
                      spids: [1110 1111 1128 16777215]
                    )
                  ]
                  spids: [1066 1082 1131]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:libs)
                      op: Equal
                      rhs: 
                        {
                          (DQ (${ VSub_Name exec_prefix) (/) (${ VSub_Name TOOL_LIB) ('/lib ') 
                            (${ VSub_Name libs)
                          )
                        }
                      spids: [1134]
                    )
                  ]
                  spids: [1134]
                )
              ]
              spids: [1043 1150]
            )
            (C {(append_to_lib_path)} {(${ VSub_Name libs)})
          ]
          spids: [16777215 973]
        )
      ]
      spids: [16777215 1159]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name LIB_PATH))} {(Lit_Other '=')} {(DQ (x))} 
                      {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name USE_LIBPATH))} {(Lit_Other '=')} {(xyes)} 
                      {(Lit_Other ']')}
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libs)
                  op: Equal
                  rhs: {(${ VSub_Name NATIVE_LIB_DIRS)}
                  spids: [1203]
                )
              ]
              spids: [1203]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name NATIVE))} {(Lit_Other '=')} 
                          {(DQ (xyes))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ (' ') (${ VSub_Name libs) (' '))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (DQ (' ') (${ VSub_Name libdir) (' ')) (Lit_Other '*')}
                          ]
                          spids: [1246 1255 1257 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name libdir) (' ') (${ VSub_Name libs))}
                                  spids: [1263]
                                )
                              ]
                              spids: [1263]
                            )
                          ]
                          spids: [1260 1261 1274 16777215]
                        )
                      ]
                      spids: [1233 1243 1277]
                    )
                  ]
                  spids: [16777215 1230]
                )
              ]
              spids: [16777215 1280]
            )
            (C {(append_to_lib_path)} {(${ VSub_Name libs)})
          ]
          spids: [16777215 1200]
        )
      ]
      spids: [16777215 1289]
    )
    (Case
      to_match: 
        {(Lit_Other ':') (${ VSub_Name lib_path1) (Lit_Other ':') (${ VSub_Name lib_path2) 
          (Lit_Other ':')
        }
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other '*') (Lit_Other ':') (Lit_Other ':')}
            {(Lit_Other ':') (Lit_Other ':') (Lit_Other '*')}
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:LIB_PATH)
                  op: Equal
                  rhs: {(${ VSub_Name lib_path1) (${ VSub_Name lib_path2)}
                  spids: [1318]
                )
              ]
              spids: [1318]
            )
          ]
          spids: [1307 1316 1326 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:LIB_PATH)
                  op: Equal
                  rhs: {(${ VSub_Name lib_path1) (Lit_Other ':') (${ VSub_Name lib_path2)}
                  spids: [1332]
                )
              ]
              spids: [1332]
            )
          ]
          spids: [1329 1330 1341 16777215]
        )
      ]
      spids: [1292 1304 1343]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LIB_SEARCH_DIRS)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {(${ VSub_Name LIB_PATH)})
                          (C {(sed)} {(-e)} {(SQ <'s/:/ /g'>)} {(-e)} 
                            {(SQ <'s/\\([^ ][^ ]*\\)/SEARCH_DIR(\\\\"\\1\\\\");/g'>)}
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [1347 1369]
              )
            }
          spids: [1346]
        )
      ]
      spids: [1346]
    )
    (C {(set)} {($ VSub_Name '$EMULATION_LIBPATH')})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ (x) ($ VSub_Number '$1'))} {(Lit_Other '=')} 
                  {(DQ (x) ($ VSub_Name '$EMULATION_NAME'))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (AndOr
              ops: [Op_DPipe]
              children: [(C {(test)} {(-d)} {(tmpdir)}) (C {(mkdir)} {(tmpdir)})]
            )
            (C {(rm)} {(-f)} {(tmpdir/libpath.exp)})
            (Pipeline
              children: [
                (C {(echo)} 
                  {
                    (DQ ('set libpath ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                      (${ VSub_Name LIB_PATH) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                    )
                  }
                )
                (SimpleCommand
                  words: [{(sed)} {(-e)} {(SQ <'s/:/ /g'>)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(tmpdir/libpath.exp)}
                      spids: [1442]
                    )
                  ]
                )
              ]
              negated: F
            )
          ]
          spids: [16777215 1398]
        )
      ]
      spids: [16777215 1446]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ (x) ($ VSub_Name '$SCRIPT_NAME'))} {(Lit_Other '=')} 
                  {(DQ (xelf))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:GENERATE_COMBRELOC_SCRIPT)
                  op: Equal
                  rhs: {(yes)}
                  spids: [1531]
                )
              ]
              spids: [1531]
            )
          ]
          spids: [16777215 1528]
        )
      ]
      spids: [16777215 1534]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SEGMENT_SIZE)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name SEGMENT_SIZE>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_Hyphen
                    arg_word: 
                      {
                        (BracedVarSub
                          token: <VSub_Name MAXPAGESIZE>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_Hyphen
                              arg_word: {(${ VSub_Name TARGET_PAGE_SIZE)}
                            )
                          spids: [1541 1547]
                        )
                      }
                  )
                spids: [1538 1548]
              )
            }
          spids: [1537]
        )
      ]
      spids: [1537]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT_)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name DATA_ALIGNMENT_>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_Hyphen
                      arg_word: 
                        {
                          (BracedVarSub
                            token: <VSub_Name DATA_ALIGNMENT>
                            suffix_op: 
                              (StringUnary
                                op_id: VTest_Hyphen
                                arg_word: {('ALIGN(') (${ VSub_Name SEGMENT_SIZE) (')')}
                              )
                            spids: [1563 1571]
                          )
                        }
                    )
                  spids: [1560 1572]
                )
              )
            }
          spids: [1558]
        )
      ]
      spids: [1558]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT_n)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name DATA_ALIGNMENT_n>
                  suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(${ VSub_Name DATA_ALIGNMENT_)})
                  spids: [1577 1583]
                )
              )
            }
          spids: [1575]
        )
      ]
      spids: [1575]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT_N)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name DATA_ALIGNMENT_N>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_Hyphen
                      arg_word: 
                        {
                          (BracedVarSub
                            token: <VSub_Name DATA_ALIGNMENT>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(.)})
                            spids: [1591 1595]
                          )
                        }
                    )
                  spids: [1588 1596]
                )
              )
            }
          spids: [1586]
        )
      ]
      spids: [1586]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT_r)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name DATA_ALIGNMENT_r>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_Hyphen
                      arg_word: 
                        {
                          (BracedVarSub
                            token: <VSub_Name DATA_ALIGNMENT>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{})
                            spids: [1604 1607]
                          )
                        }
                    )
                  spids: [1601 1608]
                )
              )
            }
          spids: [1599]
        )
      ]
      spids: [1599]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT_u)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name DATA_ALIGNMENT_u>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_Hyphen
                      arg_word: {(${ VSub_Name DATA_ALIGNMENT_r)}
                    )
                  spids: [1613 1619]
                )
              )
            }
          spids: [1611]
        )
      ]
      spids: [1611]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(r)} spids:[1623])]
      spids: [1623]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT)
          op: Equal
          rhs: {(${ VSub_Name DATA_ALIGNMENT_r)}
          spids: [1626]
        )
      ]
      spids: [1626]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEFAULT_DATA_ALIGNMENT)
          op: Equal
          rhs: {(DQ ('ALIGN(') (${ VSub_Name SEGMENT_SIZE) (')'))}
          spids: [1631]
        )
      ]
      spids: [1631]
    )
    (Pipeline
      children: [
        (Subshell
          child: 
            (CommandList
              children: [
                (C {(echo)} {(DQ ('/* Script for ld -r: link without relocation */'))})
                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                (C {(.)} {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)})
              ]
            )
          spids: [1640 1667]
        )
        (SimpleCommand
          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xr)}
              spids: [1679]
            )
          ]
        )
      ]
      negated: F
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(u)} spids:[1688])]
      spids: [1688]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT)
          op: Equal
          rhs: {(${ VSub_Name DATA_ALIGNMENT_u)}
          spids: [1691]
        )
      ]
      spids: [1691]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CONSTRUCTING) op:Equal rhs:{(DQ (' '))} spids:[1696])]
      spids: [1696]
    )
    (Pipeline
      children: [
        (Subshell
          child: 
            (CommandList
              children: [
                (C {(echo)} 
                  {(DQ ('/* Script for ld -Ur: link w/out relocation, do create constructors */'))}
                )
                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                (C {(.)} {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)})
              ]
            )
          spids: [1701 1728]
        )
        (SimpleCommand
          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xu)}
              spids: [1740]
            )
          ]
        )
      ]
      negated: F
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(EmptyPart)} spids:[1749])]
      spids: [1749]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT)
          op: Equal
          rhs: {(${ VSub_Name DATA_ALIGNMENT_)}
          spids: [1751]
        )
      ]
      spids: [1751]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:RELOCATING) op:Equal rhs:{(DQ (' '))} spids:[1756])]
      spids: [1756]
    )
    (Pipeline
      children: [
        (Subshell
          child: 
            (CommandList
              children: [
                (C {(echo)} {(DQ ('/* Default linker script, for normal executables */'))})
                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                (C {(.)} {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)})
              ]
            )
          spids: [1761 1788]
        )
        (SimpleCommand
          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.x)}
              spids: [1800]
            )
          ]
        )
      ]
      negated: F
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(n)} spids:[1809])]
      spids: [1809]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT)
          op: Equal
          rhs: {(${ VSub_Name DATA_ALIGNMENT_n)}
          spids: [1812]
        )
      ]
      spids: [1812]
    )
    (Pipeline
      children: [
        (Subshell
          child: 
            (CommandList
              children: [
                (C {(echo)} {(DQ ('/* Script for -n: mix text and data on same page */'))})
                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                (C {(.)} {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)})
              ]
            )
          spids: [1817 1844]
        )
        (SimpleCommand
          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xn)}
              spids: [1856]
            )
          ]
        )
      ]
      negated: F
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(N)} spids:[1865])]
      spids: [1865]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DATA_ALIGNMENT)
          op: Equal
          rhs: {(${ VSub_Name DATA_ALIGNMENT_N)}
          spids: [1868]
        )
      ]
      spids: [1868]
    )
    (Pipeline
      children: [
        (Subshell
          child: 
            (CommandList
              children: [
                (C {(echo)} 
                  {(DQ ("/* Script for -N: mix text and data on same page; don't align data */"))}
                )
                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                (C {(.)} {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)})
              ]
            )
          spids: [1873 1900]
        )
        (SimpleCommand
          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xbn)}
              spids: [1912]
            )
          ]
        )
      ]
      negated: F
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$GENERATE_COMBRELOC_SCRIPT'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DATA_ALIGNMENT)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name DATA_ALIGNMENT_c>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_Hyphen
                            arg_word: {(${ VSub_Name DATA_ALIGNMENT_)}
                          )
                        spids: [1936 1942]
                      )
                    }
                  spids: [1935]
                )
              ]
              spids: [1935]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(c)} spids:[1945])]
              spids: [1945]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMBRELOC)
                  op: Equal
                  rhs: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xc.tmp)}
                  spids: [1949]
                )
              ]
              spids: [1949]
            )
            (Pipeline
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (C {(echo)} 
                          {(DQ ('/* Script for -z combreloc: combine and sort reloc sections */'))}
                        )
                        (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                        (C {(.)} 
                          {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)}
                        )
                      ]
                    )
                  spids: [1957 1985]
                )
                (SimpleCommand
                  words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xc)}
                      spids: [1997]
                    )
                  ]
                )
              ]
              negated: F
            )
            (C {(rm)} {(-f)} {(${ VSub_Name COMBRELOC)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(w)} spids:[2015])]
              spids: [2015]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RELRO_NOW)
                  op: Equal
                  rhs: {(DQ (' '))}
                  spids: [2019]
                )
              ]
              spids: [2019]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMBRELOC)
                  op: Equal
                  rhs: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xw.tmp)}
                  spids: [2025]
                )
              ]
              spids: [2025]
            )
            (Pipeline
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (C {(echo)} 
                          {
                            (DQ 
                              (
'/* Script for -z combreloc -z now -z relro: combine and sort reloc sections */'
                              )
                            )
                          }
                        )
                        (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                        (C {(.)} 
                          {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)}
                        )
                      ]
                    )
                  spids: [2033 2061]
                )
                (SimpleCommand
                  words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xw)}
                      spids: [2073]
                    )
                  ]
                )
              ]
              negated: F
            )
            (C {(rm)} {(-f)} {(${ VSub_Name COMBRELOC)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMBRELOC)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [2091]
                )
              ]
              spids: [2091]
            )
            (C {(unset)} {(RELRO_NOW)})
          ]
          spids: [16777215 1932]
        )
      ]
      spids: [16777215 2098]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$GENERATE_SHLIB_SCRIPT'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(shared)} spids:[2115])]
              spids: [2115]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DATA_ALIGNMENT)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name DATA_ALIGNMENT_s>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_Hyphen
                            arg_word: {(${ VSub_Name DATA_ALIGNMENT_)}
                          )
                        spids: [2120 2126]
                      )
                    }
                  spids: [2119]
                )
              ]
              spids: [2119]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CREATE_SHLIB)
                  op: Equal
                  rhs: {(DQ (' '))}
                  spids: [2129]
                )
              ]
              spids: [2129]
            )
            (Pipeline
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (C {(echo)} {(DQ ('/* Script for ld --shared: link shared library */'))})
                        (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                        (C {(.)} 
                          {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)}
                        )
                      ]
                    )
                  spids: [2135 2164]
                )
                (SimpleCommand
                  words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xs)}
                      spids: [2176]
                    )
                  ]
                )
              ]
              negated: F
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$GENERATE_COMBRELOC_SCRIPT'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LD_FLAG)
                          op: Equal
                          rhs: {(cshared)}
                          spids: [2199]
                        )
                      ]
                      spids: [2199]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DATA_ALIGNMENT)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name DATA_ALIGNMENT_sc>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_Hyphen
                                    arg_word: {(${ VSub_Name DATA_ALIGNMENT)}
                                  )
                                spids: [2204 2210]
                              )
                            }
                          spids: [2203]
                        )
                      ]
                      spids: [2203]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMBRELOC)
                          op: Equal
                          rhs: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xsc.tmp)}
                          spids: [2213]
                        )
                      ]
                      spids: [2213]
                    )
                    (Pipeline
                      children: [
                        (Subshell
                          child: 
                            (CommandList
                              children: [
                                (C {(echo)} 
                                  {
                                    (DQ 
                                      (
'/* Script for --shared -z combreloc: shared library, combine & sort relocs */'
                                      )
                                    )
                                  }
                                )
                                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                                (C {(.)} 
                                  {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) 
                                    (.sc)
                                  }
                                )
                              ]
                            )
                          spids: [2221 2249]
                        )
                        (SimpleCommand
                          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xsc)}
                              spids: [2261]
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                    (C {(rm)} {(-f)} {(${ VSub_Name COMBRELOC)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LD_FLAG)
                          op: Equal
                          rhs: {(wshared)}
                          spids: [2279]
                        )
                      ]
                      spids: [2279]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:RELRO_NOW)
                          op: Equal
                          rhs: {(DQ (' '))}
                          spids: [2283]
                        )
                      ]
                      spids: [2283]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMBRELOC)
                          op: Equal
                          rhs: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xsw.tmp)}
                          spids: [2289]
                        )
                      ]
                      spids: [2289]
                    )
                    (Pipeline
                      children: [
                        (Subshell
                          child: 
                            (CommandList
                              children: [
                                (C {(echo)} 
                                  {
                                    (DQ 
                                      (
'/* Script for --shared -z combreloc -z now -z relro: shared library, combine & sort relocs */'
                                      )
                                    )
                                  }
                                )
                                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                                (C {(.)} 
                                  {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) 
                                    (.sc)
                                  }
                                )
                              ]
                            )
                          spids: [2297 2325]
                        )
                        (SimpleCommand
                          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xsw)}
                              spids: [2337]
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                    (C {(rm)} {(-f)} {(${ VSub_Name COMBRELOC)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMBRELOC)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [2355]
                        )
                      ]
                      spids: [2355]
                    )
                    (C {(unset)} {(RELRO_NOW)})
                  ]
                  spids: [16777215 2196]
                )
              ]
              spids: [16777215 2363]
            )
            (C {(unset)} {(CREATE_SHLIB)})
          ]
          spids: [16777215 2112]
        )
      ]
      spids: [16777215 2370]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$GENERATE_PIE_SCRIPT'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LD_FLAG) op:Equal rhs:{(pie)} spids:[2387])]
              spids: [2387]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DATA_ALIGNMENT)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name DATA_ALIGNMENT_s>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_Hyphen
                            arg_word: {(${ VSub_Name DATA_ALIGNMENT_)}
                          )
                        spids: [2392 2398]
                      )
                    }
                  spids: [2391]
                )
              ]
              spids: [2391]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CREATE_PIE)
                  op: Equal
                  rhs: {(DQ (' '))}
                  spids: [2401]
                )
              ]
              spids: [2401]
            )
            (Pipeline
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (C {(echo)} 
                          {(DQ ('/* Script for ld -pie: link position independent executable */'))}
                        )
                        (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                        (C {(.)} 
                          {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)}
                        )
                      ]
                    )
                  spids: [2407 2436]
                )
                (SimpleCommand
                  words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xd)}
                      spids: [2448]
                    )
                  ]
                )
              ]
              negated: F
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$GENERATE_COMBRELOC_SCRIPT'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LD_FLAG)
                          op: Equal
                          rhs: {(cpie)}
                          spids: [2471]
                        )
                      ]
                      spids: [2471]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DATA_ALIGNMENT)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name DATA_ALIGNMENT_sc>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_Hyphen
                                    arg_word: {(${ VSub_Name DATA_ALIGNMENT)}
                                  )
                                spids: [2476 2482]
                              )
                            }
                          spids: [2475]
                        )
                      ]
                      spids: [2475]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMBRELOC)
                          op: Equal
                          rhs: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xdc.tmp)}
                          spids: [2485]
                        )
                      ]
                      spids: [2485]
                    )
                    (Pipeline
                      children: [
                        (Subshell
                          child: 
                            (CommandList
                              children: [
                                (C {(echo)} 
                                  {
                                    (DQ 
                                      (
'/* Script for -pie -z combreloc: position independent executable, combine & sort relocs */'
                                      )
                                    )
                                  }
                                )
                                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                                (C {(.)} 
                                  {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) 
                                    (.sc)
                                  }
                                )
                              ]
                            )
                          spids: [2493 2521]
                        )
                        (SimpleCommand
                          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xdc)}
                              spids: [2533]
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                    (C {(rm)} {(-f)} {(${ VSub_Name COMBRELOC)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LD_FLAG)
                          op: Equal
                          rhs: {(wpie)}
                          spids: [2551]
                        )
                      ]
                      spids: [2551]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:RELRO_NOW)
                          op: Equal
                          rhs: {(DQ (' '))}
                          spids: [2555]
                        )
                      ]
                      spids: [2555]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMBRELOC)
                          op: Equal
                          rhs: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xdw.tmp)}
                          spids: [2561]
                        )
                      ]
                      spids: [2561]
                    )
                    (Pipeline
                      children: [
                        (Subshell
                          child: 
                            (CommandList
                              children: [
                                (C {(echo)} 
                                  {
                                    (DQ 
                                      (
'/* Script for -pie -z combreloc -z now -z relro: position independent executable, combine & sort relocs */'
                                      )
                                    )
                                  }
                                )
                                (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                                (C {(.)} 
                                  {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) 
                                    (.sc)
                                  }
                                )
                              ]
                            )
                          spids: [2569 2597]
                        )
                        (SimpleCommand
                          words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xdw)}
                              spids: [2609]
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                    (C {(rm)} {(-f)} {(${ VSub_Name COMBRELOC)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMBRELOC)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [2627]
                        )
                      ]
                      spids: [2627]
                    )
                    (C {(unset)} {(RELRO_NOW)})
                  ]
                  spids: [16777215 2468]
                )
              ]
              spids: [16777215 2635]
            )
            (C {(unset)} {(CREATE_PIE)})
          ]
          spids: [16777215 2384]
        )
      ]
      spids: [16777215 2642]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$GENERATE_AUTO_IMPORT_SCRIPT'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:LD_FLAG)
                  op: Equal
                  rhs: {(auto_import)}
                  spids: [2659]
                )
              ]
              spids: [2659]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DATA_ALIGNMENT)
                  op: Equal
                  rhs: {(${ VSub_Name DATA_ALIGNMENT_)}
                  spids: [2663]
                )
              ]
              spids: [2663]
            )
            (Pipeline
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (C {(echo)} 
                          {
                            (DQ 
                              (
'/* Script for ld --enable-auto-import: Like the default script except read only data is placed into .data  */'
                              )
                            )
                          }
                        )
                        (C {(.)} {(${ VSub_Name CUSTOMIZER_SCRIPT)})
                        (C {(.)} 
                          {(${ VSub_Name srcdir) (/scripttempl/) (${ VSub_Name SCRIPT_NAME) (.sc)}
                        )
                      ]
                    )
                  spids: [2669 2698]
                )
                (SimpleCommand
                  words: [{(sed)} {(-e)} {(SQ <'/^ *$/d;s/[ \t]*$//'>)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(ldscripts/) (${ VSub_Name EMULATION_NAME) (.xa)}
                      spids: [2710]
                    )
                  ]
                )
              ]
              negated: F
            )
          ]
          spids: [16777215 2656]
        )
      ]
      spids: [16777215 2718]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$COMPILE_IN') (': ') ($ VSub_Name '$EMULATION_LIBPATH') (' '))}
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other ':') (Lit_Other '*') (DQ (' ') (${ VSub_Name EMULATION_NAME) (' ')) 
              (Lit_Other '*')
            }
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:COMPILE_IN) op:Equal rhs:{(yes)} spids:[2745])]
              spids: [2745]
            )
          ]
          spids: [2733 2743 2747 16777215]
        )
      ]
      spids: [2721 2730 2749]
    )
    (FuncDef
      name: has_lineno
      body: 
        (BraceGroup
          children: [
            (C {(test)} {(DQ (x) ($ VSub_Name '$BASH_LINENO'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (x))})
          ]
          spids: [2765]
        )
      spids: [2761 2764]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(has_lineno)}) terminator:<Op_Semi ';'>)]
          action: [(C {(.)} {(${ VSub_Name srcdir) (/genscrba.sh)})]
          spids: [16777215 2793]
        )
      ]
      else_action: [
        (FuncDef
          name: source_em
          body: (BraceGroup children:[(C {(.)} {($ VSub_Number '$1')})] spids:[2811])
          spids: [2806 2809]
        )
        (FuncDef
          name: fragment
          body: 
            (BraceGroup
              children: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {(e) (${ VSub_Name EMULATION_NAME) (.c)}
                      spids: [2832]
                    )
                  ]
                )
              ]
              spids: [2827]
            )
          spids: [2822 2825]
        )
      ]
      spids: [2803 2843]
    )
    (SimpleCommand
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: 16777215
          arg_word: {(e) (${ VSub_Name EMULATION_NAME) (.c)}
          spids: [2855]
        )
      ]
    )
    (C {(source_em)} 
      {(${ VSub_Name srcdir) (/emultempl/) 
        (BracedVarSub
          token: <VSub_Name TEMPLATE_NAME>
          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(generic)})
          spids: [2869 2873]
        ) (.em)
      }
    )
  ]
)