Assets 4
  • Now supporting deployment target for macOS (OSX)
  • Improve support for importing packages that have optional dependencies you haven't downloaded.

@drewcrawford drewcrawford released this Nov 3, 2016 · 3 commits to master since this release

Assets 4

@drewcrawford drewcrawford released this Oct 24, 2016 · 7 commits to master since this release

Assets 4

Exported overlays can now operate conditional behavior based on global overlays, so you can overlay while you overlay.

:overlays {
    :my-exported-overlay {
        :atbuild.platform.linux {
              :link-options ["foo"]

@drewcrawford drewcrawford released this Sep 9, 2016 · 9 commits to master since this release

Assets 5
  • Added support for Xcode 8 GM
  • Improve detection of Xcode versions, because during this window who the hell knows what your /Applications/ actually points to

@drewcrawford drewcrawford released this Aug 29, 2016 · 16 commits to master since this release

Assets 5

Modernize AT for the preview releases. We now build with preview 6.

If at first you don't succeed... keep trying preview releases until at last one is stable enough to ship with!

@drewcrawford drewcrawford released this Jul 15, 2016 · 25 commits to master since this release

Assets 4
  • atllbuild now builds C code. This is useful if you need to fall back to C for some reason, or, as some of us have also described it, "the entire value of this feature is debatable". Just add **.c and **.h files to your build.atpkg sources and off you go. For more options, see atllbuild documentation.
    • As part of this work, any C header in your sources is now imported to Swift, which means you can import any C library to your Swift code just by writing a .h with an import statement.
  • We add a new link method, module-map-link, which is useful for libraries. For more information, see the atllbuild documentation
  • The warning unknown option module-map is no longer emitted. Turns out we know what that option does after all.
  • A problem with using --toolchainx xcode-beta when Xcode beta happens to be beta 2 is now resolved.
  • Resolving a bug when your build.atpkg contains an external-packages with an SSH (non-https) URL.

@drewcrawford drewcrawford released this Jul 1, 2016 · 34 commits to master since this release

Assets 5
  • atbuild now has configurations, because apparently debug builds should be different than release builds, I guess. Passing the right --configuration foo flag produces very good defaults for whatever you are trying to do. If you are trying to do something so cool we have never heard of it, you can make your own configurations too. See our documentation on this feature
    • We ship #if ATBUILD_DEBUG macros for each configuration, so you can compile different code per-configuration without any atpkg hokery-pokery.
    • Our defaults now adjust to what you are trying to do. Debug builds are debuggier, release builds are releasier
    • WMO is not enabled automatically on Linux because of a known issue and/or to keep you guessing
    • Because atbuild itself now benefits from configurations, our atbuild binaries are faster, sleeker, and twice as water-resistant
  • link-with-atbin now allows you to link with an atbin, our universal binary package format. Now you can link your code with any library, even if they haven't joined the AT revolution for some bizarre reason
  • We now support --toolchain xcode-beta to use the Xcode Beta toolchain. No word yet on xcode-gamma, but we can continue to add flags until they run out of Xcodes.
  • link-with is renamed to link-with-product, because, plot twist, it's a flag that links your code with a product. The old syntax is deprecated; please migrate.
  • swiftc-path has been removed. This was deprecated in 0.9.0, and if you are still using it, what is wrong with you? Migrate to --toolchain instead.

@drewcrawford drewcrawford released this May 18, 2016 · 54 commits to master since this release

Assets 5

This fixes several issues when using the whole-module-optimization option in the atllbuild tool.

whole-module-optimization is only supported with swift-DEVELOPMENT-SNAPSHOT-2016-05-09-a and higher. It is also supported with the xcode toolchain, when swift-DEVELOPMENT-SNAPSHOT-2016-05-09-a or higher is also installed.

@drewcrawford drewcrawford released this May 12, 2016 · 61 commits to master since this release

Assets 5
  • We've added a new tool, package-framework which can generate frameworks for both OSX and iOS.
    • This replaces the builtin packageframework tool, which is now deprecated and will be removed in a future version of atbuild.
    • package-framework requires atbuild 1.3 or later.
  • Bitcode is now supported, but only for the Xcode toolchain
    • For more information on why this isn't enabled on Swift 3, see SR-1493
  • We now perform dead code elimination for OSX/iOS. As a result, software built with atbuild 1.3 should be smaller than previously, and benchmarks suggest a 1-2% performance improvement for built software, regardless of optimization setting, due to increased cache utilization.
    • For more information on why this isn't enabled on Linux, see SR-1495.
  • A new atllbuild option, magic, controls settings you probably shouldn't disable but we'll let you do it anyway, because this is Anarchy Tools!

Internal API

  • Some inconsistencies between attool and shell have been resolved, particularly around the case of imported packages
  • A new shell/attool variable, ATBUILD_BIN_PATH, provides the path to bin for the current build