(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(llvm)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.7.1)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_majorver)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name pkgver>
                suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('.*')})
                spids: [19 23]
              )
            }
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {($ VSub_Name '$_pkgname') ($ VSub_Name '$_majorver')}
          spids: [25]
        )
      ]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(6)} spids:[29])]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: 
            {
              (DQ ('Low Level Virtual Machine compiler system (version ') ($ VSub_Name '$_majorver') 
                (')')
              )
            }
          spids: [32]
        )
      ]
      spids: [32]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[39])]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://llvm.org/'))}
          spids: [44]
        )
      ]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (UOI-NCSA))} spids:[49])]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends_dev)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name '$pkgname') ('=') ($ VSub_Name '$pkgver') (-r) ($ VSub_Name '$pkgrel'))
            }
          spids: [54]
        )
      ]
      spids: [54]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ('binutils-dev chrpath cmake file libffi-dev paxmark python2 zlib-dev'))}
          spids: [63]
        )
      ]
      spids: [63]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name '$pkgname') ('-static ') ($ VSub_Name '$pkgname') ('-libs ') 
                ($ VSub_Name '$pkgname') (-dev)
              )
            }
          spids: [68]
        )
      ]
      spids: [68]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://llvm.org/releases/') ($ VSub_Name '$pkgver') (/llvm-) ($ VSub_Name '$pkgver') 
                ('.src.tar.xz\n') ('\tllvm-0001-Add-Musl-MuslEABI-and-Musl-EABIHF-triples.patch\n') 
                ('\tllvm-0002-Fix-build-with-musl-libc.patch\n') ('\tllvm-0003-Fix-DynamicLibrary-to-build-with-musl-libc.patch\n') 
                ('\tllvm-d18644-systemz-atomic-fence.patch\n') ('\tllvm-nm-workaround.patch\n') ('\tconfig.guess.patch\n') ('\tcmake-fix-libLLVM-name.patch\n') ('\t')
              )
            }
          spids: [78]
        )
      ]
      spids: [78]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$_pkgname') (-) ($ VSub_Name '$pkgver') (.src))
            }
          spids: [95]
        )
      ]
      spids: [95]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$CARCH'))}
      arms: [
        (case_arm
          pat_list: [{(arm) (Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:options)
                  op: Equal
                  rhs: {(DQ ('!check'))}
                  spids: [125]
                )
              ]
              spids: [125]
            )
          ]
          spids: [121 123 129 -1]
        )
      ]
      spids: [112 118 131]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_prefix)
          op: Equal
          rhs: {(DQ (usr/lib/llvm) ($ VSub_Name '$_majorver'))}
          spids: [188]
        )
      ]
      spids: [188]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(default_prepare)})
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(update_config_sub)})
            (C {(rm)} {(test/tools/llvm-objdump/macho-compact-unwind-x86_64.test)} 
              {(test/tools/llvm-objdump/macho-compact-unwind-i386.test)} {(test/Transforms/GlobalOpt/alias-used.ll)}
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$builddir')) (/build)})
          ]
          spids: [199]
        )
      spids: [195 198]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir')) (/build)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ffi_include_dir)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(pkg-config)} {(--cflags-only-I)} {(libffi)})
                                    (C {(sed)} {(SQ <'s|^-I||g'>)})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [271 285]
                        )
                      )
                    }
                  spids: [269]
                )
              ]
              spids: [267]
            )
            (C {(cmake)} {(-G)} {(DQ ('Unix Makefiles'))} {(-Wno-dev)} 
              {(-DCMAKE_BUILD_TYPE) (Lit_Other '=') (Release)} {(-DCMAKE_INSTALL_PREFIX) (Lit_Other '=') (/) ($ VSub_Name '$_prefix')} 
              {(-DCMAKE_VERBOSE_MAKEFILE) (Lit_Other '=') (NO)} {(-DFFI_INCLUDE_DIR) (Lit_Other '=') (DQ ($ VSub_Name '$ffi_include_dir'))} 
              {(-DLLVM_BINUTILS_INCDIR) (Lit_Other '=') (/usr/include)} {(-DLLVM_BUILD_DOCS) (Lit_Other '=') (OFF)} {(-DLLVM_BUILD_EXAMPLES) (Lit_Other '=') (OFF)} 
              {(-DLLVM_BUILD_EXTERNAL_COMPILER_RT) (Lit_Other '=') (ON)} {(-DLLVM_BUILD_LLVM_DYLIB) (Lit_Other '=') (ON)} {(-DLLVM_BUILD_TESTS) (Lit_Other '=') (ON)} 
              {(-DLLVM_DEFAULT_TARGET_TRIPLE) (Lit_Other '=') (DQ ($ VSub_Name '$CBUILD'))} {(-DLLVM_DYLIB_EXPORT_ALL) (Lit_Other '=') (ON)} {(-DLLVM_ENABLE_ASSERTIONS) (Lit_Other '=') (OFF)} 
              {(-DLLVM_ENABLE_CXX1Y) (Lit_Other '=') (ON)} {(-DLLVM_ENABLE_FFI) (Lit_Other '=') (ON)} {(-DLLVM_ENABLE_LIBCXX) (Lit_Other '=') (OFF)} 
              {(-DLLVM_ENABLE_PIC) (Lit_Other '=') (ON)} {(-DLLVM_ENABLE_RTTI) (Lit_Other '=') (ON)} {(-DLLVM_ENABLE_SPHINX) (Lit_Other '=') (OFF)} 
              {(-DLLVM_ENABLE_TERMINFO) (Lit_Other '=') (ON)} {(-DLLVM_ENABLE_ZLIB) (Lit_Other '=') (ON)} 
              {(-DLLVM_HOST_TRIPLE) (Lit_Other '=') (DQ ($ VSub_Name '$CHOST'))} {(-DLLVM_INCLUDE_EXAMPLES) (Lit_Other '=') (OFF)} 
              {(-DLLVM_TARGETS_TO_BUILD) (Lit_Other '=') 
                (SQ <'X86;ARM;AArch64;PowerPC;SystemZ;AMDGPU;NVPTX;Mips;BPF'>)
              } {(DQ ($ VSub_Name '$builddir'))}
            )
            (C {(make)} {(llvm-tblgen)})
            (C {(make)})
            (C {(paxmark)} {(m)} {(bin/llvm-rtdyld)} {(bin/lli)} {(bin/lli-child-target)} 
              {(unittests/ExecutionEngine/MCJIT/MCJITTests)} {(unittests/Support/SupportTests)}
            )
          ]
          spids: [251]
        )
      spids: [247 250]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [(C {(cd)} {(DQ ($ VSub_Name '$builddir')) (/build)}) (C {(make)} {(check-llvm)})]
          spids: [501]
        )
      spids: [497 500]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir')) (/build)})
            (C {(make)} {(Lit_VarLike 'DESTDIR=') (DQ ($ VSub_Name '$pkgdir'))} {(install)})
            (C {(install)} {(-D)} {(-m)} {(755)} {(bin/FileCheck)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix') (/bin/FileCheck)}
            )
            (C {(cd)} {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix')})
            (Pipeline
              children: [
                (C {(file)} {(lib/) (Lit_Other '*') (.so)} {(bin/) (Lit_Other '*')})
                (C {(awk)} {(-F) (Lit_Other ':')} {(SQ <'$2~/ELF/{print $1}'>)})
                (C {(xargs)} {(-r)} {(chrpath)} {(-d)})
              ]
              negated: False
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:name) op:Equal spids:[636])
                (assign_pair lhs:(LhsName name:path) op:Equal spids:[638])
              ]
              spids: [634]
            )
            (ForEach
              iter_name: path
              iter_words: [{(bin/) (Lit_Other '*')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name path>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_DPound
                                    arg_word: {('*') (Lit_Slash /)}
                                  )
                                spids: [655 660]
                              )
                            }
                          spids: [654]
                        )
                      ]
                      spids: [654]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$name'))}
                      arms: [
                        (case_arm
                          pat_list: [{(FileCheck)} {(obj2yaml)} {(yaml2obj)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [672 681 684 -1]
                        )
                      ]
                      spids: [663 669 687]
                    )
                    (C {(ln)} {(-s)} 
                      {(../lib/llvm) ($ VSub_Name '$_majorver') (/bin/) ($ VSub_Name '$name')} {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin/) ($ VSub_Name '$name') (-) ($ VSub_Name '$_majorver')}
                    )
                  ]
                  spids: [651 708]
                )
              spids: [646 649]
            )
            (C {(_mv)} {(include/) (Lit_Other '*')} 
              {(DQ ($ VSub_Name '$pkgdir')) (/usr/include/) ($ VSub_Name '$pkgname') (/)}
            )
            (C {(rmdir)} {(include)})
            (C {(ln)} {(-s)} {(../../include/) ($ VSub_Name '$pkgname')} {(include)})
            (C {(_mv)} {(share/llvm/cmake/) (Lit_Other '*')} 
              {(DQ ($ VSub_Name '$pkgdir')) (/usr/lib/cmake/) ($ VSub_Name '$pkgname') (/)}
            )
            (C {(rmdir)} {(share/llvm/cmake)})
            (C {(ln)} {(-s)} {(../../../cmake/) ($ VSub_Name '$pkgname')} {(share/llvm/cmake)})
            (C {(ln)} {(-s)} {(libLTO-) ($ VSub_Name '$_majorver') (.so)} {(lib/libLTO.so)})
          ]
          spids: [524]
        )
      spids: [520 523]
    )
    (FuncDef
      name: static
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('LLVM ') ($ VSub_Name '$_majorver') (' static libraries'))}
                  spids: [806]
                )
              ]
              spids: [806]
            )
            (C {(_mv)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix') (/lib/) (Lit_Other '*') (.a)} {(DQ ($ VSub_Name '$subpkgdir')) (/) ($ VSub_Name '$_prefix') (/lib/)}
            )
          ]
          spids: [803]
        )
      spids: [799 802]
    )
    (FuncDef
      name: libs
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('LLVM ') ($ VSub_Name '$_majorver') (' runtime library'))}
                  spids: [843]
                )
              ]
              spids: [843]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:soname)
                  op: Equal
                  rhs: {(DQ (libLLVM-) ($ VSub_Name '$_majorver') (.so))}
                  spids: [853]
                )
              ]
              spids: [851]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:soname2)
                  op: Equal
                  rhs: {(DQ (libLLVM-) ($ VSub_Name '$pkgver') (.so))}
                  spids: [863]
                )
              ]
              spids: [861]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$subpkgdir'))})
            (C {(cd)} {(DQ ($ VSub_Name '$subpkgdir'))})
            (C {(_mv)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix') (/lib/) 
                ($ VSub_Name '$soname')
              } {(usr/lib/)}
            )
            (C {(ln)} {(-s)} {($ VSub_Name '$soname')} {(usr/lib/) ($ VSub_Name '$soname2')})
            (C {(mkdir)} {(-p)} {($ VSub_Name '$_prefix') (/lib)})
            (C {(ln)} {(-s)} {(../../) ($ VSub_Name '$soname')} 
              {($ VSub_Name '$_prefix') (/lib/) ($ VSub_Name '$soname')}
            )
            (C {(ln)} {(-s)} {(../../) ($ VSub_Name '$soname')} 
              {($ VSub_Name '$_prefix') (/lib/) ($ VSub_Name '$soname2')}
            )
          ]
          spids: [840]
        )
      spids: [836 839]
    )
    (FuncDef
      name: dev
      body: 
        (BraceGroup
          children: [
            (C {(default_dev)})
            (C {(cd)} {(DQ ($ VSub_Name '$subpkgdir'))})
            (C {(_mv)} {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix') (/lib)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix') (/share)} {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix') (/include)} {($ VSub_Name '$_prefix') (/)}
            )
            (C {(_mv)} {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix') (/bin/FileCheck)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$_prefix') (/bin/llvm-config)} {($ VSub_Name '$_prefix') (/bin/)}
            )
            (C {(_mv)} {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin/llvm-config-) (Lit_Other '*')} 
              {(usr/bin/)}
            )
          ]
          spids: [963]
        )
      spids: [959 962]
    )
    (FuncDef
      name: _mv
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal spids:[1058])]
                  spids: [1056]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: dest
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)]
                  spids: [1066 1071]
                )
              spids: [-1 -1]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$dest'))})
            (C {(mv)} {($ VSub_At '$@')})
          ]
          spids: [1053]
        )
      spids: [1049 1052]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'ac521debc02f6deba96ef975d6a546b0c5c77299c1dbf5e1b87a7974ff5e7fd715bd7e384b92d9adf572ce47130bdbf6d3c648eb0d7f72f16f976292e4909e90  llvm-3.7.1.src.tar.xz\n'
                ) 
                (
'7a74abc15d8abb4ef4884469544168bfefb6859166f041c7d766157d77b20ea5b6bb06ffc0dd4f6965eab95294102f060d7a969e778ec933d2859c4900ec7380  llvm-0001-Add-Musl-MuslEABI-and-Musl-EABIHF-triples.patch\n'
                ) 
                (
'f84cd65d7042e89826ba6e8d48c4c302bf4980da369d7f19a55f217e51c00ca8ed178d453df3a3cee76598a7cecb94aed0775a6d24fe73266f82749913fc3e71  llvm-0002-Fix-build-with-musl-libc.patch\n'
                ) 
                (
'19bfb9282455d39d07dbb2b1293b03a45c57d522fbb9c5e58dac034200669628b97e7a90cd4ff5d52d9bb79acfccbef653d8a1140a7f0589ecd6f9b7c4ba0eb6  llvm-0003-Fix-DynamicLibrary-to-build-with-musl-libc.patch\n'
                ) 
                (
'303ef099e8e21f9bc5f88ba1b30870e8127bea4948fc66b1858cc014cbde7bd917dc0bee1a511ef2adb6a9f40a3e3c3ae3fcada6ad3ee339807ac893c882d7ae  llvm-d18644-systemz-atomic-fence.patch\n'
                ) 
                (
'11db6f3c5d697bc536c7d053530f7a5572756185e16399c32c31306861b58046ca9bc14b8d8097758c00a8c1a7026cbfb75636c0e697e59c53dda5848f93b006  llvm-nm-workaround.patch\n'
                ) 
                (
'caf1c9466e8163f8844bd40095d1c3ce26c9e96dcb639f64833baca65a81708d39496e8c8ea65c7f11476d752265080998f1873b79cbc92b23349258e4dfa3ab  config.guess.patch\n'
                ) 
                (
'52287dd37f62e0b51c487abe62a22440d3e9df2cb6144af45ba9ddc42848495fad533bf6b13f08e1b454ee653be9b8a14e02cf81f430a7d2c9be030889ef7f72  cmake-fix-libLLVM-name.patch'
                )
              )
            }
          spids: [1093]
        )
      ]
      spids: [1093]
    )
  ]
)