build.atpkg 2.16 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-packages ["atpkg/build.atpkg"]
Drew's avatar
Drew committed
20 21
  
  :tasks {
22 23 24 25 26
    :atbuild {
      :tool "atllbuild"
      :sources ["atbuild/src/**.swift"]
      :name "atbuild"
      :output-type "executable"
27 28
      :link-with ["attools.a" "atpkg.a" "atfoundation.a"]
      :dependencies ["attools" "atpkg.atpkg" "atfoundation.atfoundation"]
29 30
      :publish-product true
      
31 32 33 34 35 36 37 38 39 40 41
      :overlays {
        :bootstrap-osx {
          :bootstrap-only true
          :llbuildyaml "bootstrap/bootstrap-macosx.swift-build"
        }
        :bootstrap-linux {
          :bootstrap-only true
          :swiftc-path "/usr/local/bin/swiftc"
          :link-sdk false
          :llbuildyaml "bootstrap/bootstrap-linux.swift-build"
        }
Drew's avatar
Drew committed
42 43 44
        :static {
          :link-options ["-static-stdlib"]
        }
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
      }
    }
            
    :attools {
      :tool "atllbuild"
      :sources ["attools/src/**.swift"]
      :name "attools"
      :output-type "static-library"
      :dependencies ["atpkg.atpkg"]
      :link-with ["atpkg.a"]
      :overlays {
        :bootstrap-osx {
          :bootstrap-only true
          :llbuildyaml "bootstrap/bootstrap-macosx-attools.swift-build"
        }
        :bootstrap-linux {
          :bootstrap-only true
          :swiftc-path "/usr/local/bin/swiftc"
          :link-sdk false
          :llbuildyaml "bootstrap/bootstrap-linux-attools.swift-build"
        }
      }
    }
Drew's avatar
Drew committed
68

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

)