build.atpkg 2.48 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"
Drew's avatar
Drew committed
19

Drew's avatar
Drew committed
20 21 22 23 24 25 26 27 28 29 30 31 32
  :configurations {
        :bootstrap {
             :yes {
                :atpkg {
                  :bootstrapOnly true
                  :llbuildyaml "bootstrap/bootstrap-macosx-atpkg.swift-build"
                }
                :attools {
                  :bootstrapOnly true
                  :llbuildyaml "bootstrap/bootstrap-macosx-attools.swift-build"
                }
                :atbuild {
                  :bootstrapOnly true
Drew's avatar
Drew committed
33
                  :llbuildyaml "bootstrap/bootstrap-macosx.swift-build"
Drew's avatar
Drew committed
34 35 36 37 38 39 40 41 42 43 44 45 46
                }
             }
        }
  }
  
  :tasks {
          :atbuild {
            :tool "atllbuild"
            :source ["atbuild/src/**.swift"]
            :name "atbuild"
            :outputType "executable"
            :linkWithProduct ["attools.a" "atpkg.a"]
            :dependencies ["attools" "atpkg"]
Drew's avatar
Drew committed
47 48
          }

Drew's avatar
Drew committed
49 50 51 52 53 54
          :atpkg {
            :tool "atllbuild"
            :source ["atpkg/src/**.swift"]
            :name "atpkg"
            :outputType "static-library"
          }
55
                  
Drew's avatar
Drew committed
56 57 58 59 60
          :attools {
            :tool "atllbuild"
            :source ["attools/src/**.swift"]
            :name "attools"
            :outputType "static-library"
Drew's avatar
Drew committed
61 62
            :dependencies ["atpkg"]
            :linkWithProduct ["atpkg.a"]
Drew's avatar
Drew committed
63
          }
64

Drew's avatar
Drew committed
65 66 67 68 69 70 71 72
          :atpkg-tests {
            :tool "atllbuild"
            :dependencies ["atpkg"]
            :source ["atpkg/tests/**.swift"]
            :name "atpkgtests"
            :outputType "executable"
            :linkWithProduct ["atpkg.a"]
          }
73

Drew's avatar
Drew committed
74 75 76 77 78
          :run-atpkg-tests {
            :tool "shell"
            :dependencies ["atpkg-tests"]
            :script "./.atllbuild/products/atpkgtests"
          }
79

Drew's avatar
Drew committed
80 81 82 83
          :run-tests {
            :dependencies ["run-atpkg-tests"]
            :tool "nop" }
          }
84
)