1. 08 Aug, 2016 1 commit
  2. 02 Aug, 2016 1 commit
    • Drew's avatar
      Update to swift preview 3 · e4524c67
      Drew authored
      * We can't use system anymore in preview 3.  This introduces a lot of issues around envrionment variables, which can't be listed in swift :-(.  So we no longer inherit environment variables, we only set the ones we set.
          * We do pass on PWD and PATH, because otherwise that would be terrible
      * Toolchain is now a part of platform config instead of something we pass around by hand.
      * We now detect xcode 7 / 8 depending on whether we're using a toolchain installed to Xcode.app or Xcode-beta.app.  That's still not right, but fuck it.
      e4524c67
  3. 30 Jun, 2016 1 commit
    • Drew's avatar
      Add actual effects to the configurations · 8f797026
      Drew authored
      This extends #104 by adding actual effects to the configurations rather than have them be no-ops.
      
      Effects include:
      
      * debug instrumentation (new in this PR), for emitting `-g` (see #73 for an obvious extension)
      * optimization control / WMO control
      * compression level (faster debug atbins)
      * test instrumentation (`-enable-testing`)
      * `#if ATBUILD_RELEASE` etc. from Swift code
      
      There are some deprecations associated with this PR:
      
      * `whole-module-optimization` atllbuild option is now deprecated; use `--configuration release` instead.  There currently is no plan to control these separately, use `--configuration plain` + `:compileOptions ["-O"]` to get optimization without WMO.  Or open a bug to complain about this change.
      * `magic` atllbuild option is now deprecated; to opt out of magic use `--configuration none` instead.
      
      Doc PR to follow.
      
      In addition, CI is now updated to produce release (optimized) builds for atbuild, which significantly optimizes atbuild performance.
      8f797026
  4. 21 May, 2016 1 commit
    • Drew's avatar
      Implement configurations · b2ba7bbe
      Drew authored
      This implements, more or less, the scaffolding described in #36.  This commit does not actually make tools behave differently in any configuration (so this is mostly a placebo) but after this, tools can adjust their behavior.
      
      Notable additions/departures from the original proposal include:
      
      * Support for "custom" configurations outside the built-in set
      * The addition of `test` and `bench` as built-in configurations, since 2/2 developers use them
      * Internal API has new "helper" methods for common "tool questions" (should we optimize, are we testing, etc.)  Ideally, custom configurations could indicate their own values for these questions, although that's outside the scope of this patch.
      
      Doc PR to follow.
      b2ba7bbe
  5. 11 May, 2016 1 commit
    • Drew's avatar
      Add ATBUILD_BIN_PATH · 5e877eb5
      Drew authored
      This adds a new environment variable to point to the bin path.  This is useful for custom tool packagers.
      
      We also unified the implementation of shell and custom tool environments in the new Shell.environment function.
      
      There are some minor changes to the custom tool environment that come along with this change, such as running in the directory of the imported package.  To my knowledge, I'm the only one who will notice.
      5e877eb5
  6. 10 May, 2016 1 commit
  7. 25 Apr, 2016 1 commit
    • Drew's avatar
      Export ATBUILD_PLATFORM · db7b2bd2
      Drew authored
      ATBUILD_PLATFORM is now exported to custom tools and shell scripts.
      
      This allows external tools to know atbuild's target platform.
      db7b2bd2
  8. 22 Apr, 2016 2 commits
  9. 15 Apr, 2016 1 commit
  10. 14 Apr, 2016 1 commit
  11. 07 Apr, 2016 2 commits
    • Drew's avatar
      Toolchain support · 0c1ba2e6
      Drew authored
      This allows atbuild to use a different toolchain other than the one we
      use to develop atbuild (weekly snapshot).
      
      In particular, this allows you to use "released swift" "xcode swift" or
      any other kind of 2.2 Swift.
      
      Documentation PR to follow.
      
      Edited README to discuss atbuild options.
      
      Resolves #58 to my satisfaction.
      0c1ba2e6
    • Drew's avatar
      Allow variable expansion for shell tool · 409cc69b
      Drew authored
      This allows the execution of a shell tool with the "collected sources"
      of another task.
      
      The intent here is to allow the creation of arbitrary tasks that accept
      source files as arguments. xcode-emit is an obvious candidate, and
      would allow it to break its dependence on atpkg, which it only uses for
      this single feature.
      
      There are other obvious programs that we might want to call with "all
      sources" (e.g. preprocessors, etc.) and they may not want to take a
      dependency on atpkg either.
      
      See https://github.com/AnarchyTools/atpkg/pull/23
      409cc69b
  12. 01 Feb, 2016 1 commit
    • Drew's avatar
      Add atbuild "user paths". · b1fc7420
      Drew authored
      This patch adds a "user path" which is global to an entire buildchain
      and allows tasks to progressively build up contents that are somewhat
      arbitrary.
      
      In particular, this is useful for AnarchyDispatch.  If we have
      a/b/AnarchyDispatch, then AnarchyDispatch can install itself to the
      ATBUILD_USER_PATH and be visible to both a and b.  Then we can inject
      includeWithUser: ["AnarchyDispatch"] in an overlay and everything "just
      works".
      b1fc7420
  13. 28 Jan, 2016 1 commit
  14. 19 Jan, 2016 1 commit
  15. 18 Jan, 2016 2 commits
  16. 16 Jan, 2016 1 commit