Skip to content

Releases: AnarchyTools/atbuild

1.9.1: Turns out there's more than one macOS

13 Nov 20:15
Compare
Choose a tag to compare
  • Now supporting deployment target for macOS (OSX)
  • Improve support for importing packages that have optional dependencies you haven't downloaded.

1.9.0: environ? what's that?

03 Nov 21:59
Compare
Choose a tag to compare

1.8.0: Yo dawg

24 Oct 00:05
Compare
Choose a tag to compare

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"]
        }
    }
}

1.7.0: I can't believe it's not beta

09 Sep 03:11
Compare
Choose a tag to compare
  • Added support for Xcode 8 GM
  • Improve detection of Xcode versions, because during this window who the hell knows what your /Applications/Xcode.app actually points to

1.6.1: iOS 9? What's that.

29 Aug 23:55
Compare
Choose a tag to compare

Add support for deployment targets. Only supported for iOS.

1.6.0: Why yes, there *is* a preview release

29 Aug 01:56
Compare
Choose a tag to compare

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!

1.5.0: Yo dawg, I heard you like build systems

15 Jul 10:29
Compare
Choose a tag to compare
  • 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.

1.4: Configure all the things

01 Jul 08:22
Compare
Choose a tag to compare
  • 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.

1.3.1: WMO hotfix

18 May 19:29
Compare
Choose a tag to compare

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.

1.3: Universal frameworks

12 May 10:16
Compare
Choose a tag to compare
  • 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