build.atpkg 2.7 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
  :version "1.4.0"
Drew's avatar
Drew committed
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
      :overlays {
        :bootstrap-osx {
          :bootstrap-only true
          :llbuildyaml "bootstrap/bootstrap-macosx.swift-build"
        }
        :bootstrap-linux {
          :bootstrap-only true
          :link-sdk false
          :llbuildyaml "bootstrap/bootstrap-linux.swift-build"
        }
Drew's avatar
Drew committed
41 42 43
        :static {
          :link-options ["-static-stdlib"]
        }
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
      }
    }
            
    :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
          :link-sdk false
          :llbuildyaml "bootstrap/bootstrap-linux-attools.swift-build"
        }
      }
    }
Drew's avatar
Drew committed
66

67 68 69 70 71
    :check {
      :tool "shell"
      :script "./tests/test.sh"
      :dependencies ["atbuild"]
    }
Drew's avatar
Drew committed
72 73 74 75

    :atbin {
      :tool "packageatbin"
      :name "atbuild"
76
      :compress true
Drew's avatar
Drew committed
77 78 79 80 81 82 83 84 85 86
      :atllbuild-task "atbuild"
      :platforms ["all"]
    }

    :package-linux {
      :tool "package-deb.attool"
      :name "atbuild"
      :dependencies ["atbin"]
      :recommends "xz-utils"
      :suggests "package-deb"
Drew's avatar
Drew committed
87
      :only-platforms ["linux"]
Drew's avatar
Drew committed
88 89 90 91 92 93
    }
    :package-osx {
      :tool "package-homebrew.attool"
      :name "atbuild"
      :github-project "AnarchyTools/atbuild"
      :dependencies ["atbin"]
Drew's avatar
Drew committed
94 95 96 97 98
      :only-platforms ["osx"]
    }
    :package {
      :tool "nop"
      :dependencies ["package-osx" "package-linux"]
Drew's avatar
Drew committed
99
    }
100
  }
101 102

)