build.atpkg 2.27 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
;; Copyright (c) 2016 Anarchy Tools Contributors.
;;
;; Licensed under the Apache License, Version 2.0 (the "License");
;; you may not use this file except in compliance with the License.
;; You may obtain a copy of the License at
;;
;;   http:;;www.apache.org/licenses/LICENSE-2.0
;;
;; Unless required by applicable law or agreed to in writing, software
;; distributed under the License is distributed on an "AS IS" BASIS,
;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
;; See the License for the specific language governing permissions and
;; limitations under the License.

;; The build file for all of the targets of the Anarchy Tools build tool.

(package
  :name "atbuild"
19
  :import ["atpkg/build.atpkg"]
Drew's avatar
Drew committed
20 21 22 23 24 25 26 27
  
  :tasks {
          :atbuild {
            :tool "atllbuild"
            :source ["atbuild/src/**.swift"]
            :name "atbuild"
            :outputType "executable"
            :linkWithProduct ["attools.a" "atpkg.a"]
28
            :dependencies ["attools" "atpkg.atpkg"]
Drew's avatar
Drew committed
29 30 31 32 33 34 35 36 37 38 39 40 41

            :overlays {
              :bootstrap-osx {
                :bootstrapOnly true
                :llbuildyaml "bootstrap/bootstrap-macosx.swift-build"
              }
              :bootstrap-linux {
                :bootstrapOnly true
                :swiftCPath "/usr/local/bin/swiftc"
                :linkSDK false
                :llbuildyaml "bootstrap/bootstrap-linux.swift-build"
              }
            }
Drew's avatar
Drew committed
42
          }
43
                  
Drew's avatar
Drew committed
44 45 46 47 48
          :attools {
            :tool "atllbuild"
            :source ["attools/src/**.swift"]
            :name "attools"
            :outputType "static-library"
49
            :dependencies ["atpkg.atpkg"]
Drew's avatar
Drew committed
50
            :linkWithProduct ["atpkg.a"]
Drew's avatar
Drew committed
51 52 53 54 55 56 57 58 59 60 61 62
            :overlays {
              :bootstrap-osx {
                :bootstrapOnly true
                :llbuildyaml "bootstrap/bootstrap-macosx-attools.swift-build"
              }
              :bootstrap-linux {
                :bootstrapOnly true
                :swiftCPath "/usr/local/bin/swiftc"
                :linkSDK false
                :llbuildyaml "bootstrap/bootstrap-linux-attools.swift-build"
              }
            }
Drew's avatar
Drew committed
63
          }
Drew's avatar
Drew committed
64 65 66 67 68 69

          :check {
            :tool "shell"
            :script "./tests/test.sh"
            :dependencies ["atbuild"]
          }
70
  }
71 72

)