1. 02 Feb, 2016 4 commits
    • Drew's avatar
      Work around missing Foundation implementation · d2a09afd
      Drew authored
      d2a09afd
    • Drew's avatar
      Add `umbrella-header` to specify umbrella headers · 089ebe8b
      Drew authored
      This is essentially the same as a "bridging" header, except without any
      ObjC (straight C).  Upstream says it "can't be done"; let's see if Linux
      CI likes this implementation.  Take *that*, anonymous compiler engineers.
      
      My motivation for this patch is essentially as a workaround for SR-655.
      
      https://bugs.swift.org/browse/SR-655
      
      That is to say, I want to call some arbitrary C code, but due to that
      bug, I can't hide my C code behind a module / modulemap.
      
      Instead what I can do is just `#include <whatever>` in my umbrella
      header, and then the C imports are available to Swift.
      
      Internally, we emit a modulemap based on the umbrella header and then
      inject some compile flags (notably, `-import-underlying-module`) to make
      it load.  This is the design I reverse-engineered from Xcode.  That
      notwithstanding, it seems to be based entirely on public APIs and I
      guess we'll find out if it works on Linux.
      
      While my motivation is based on C imports, umbrella headers may be
      useful wherever Swift projects are sold.  There are multiple features
      that get unlocked here, including access to the C preprocessor.
      089ebe8b
    • Drew's avatar
      Strongly type atllbuild options · db0f70cb
      Drew authored
      Move atllbuild options into a strongly typed structure so we don't have
      magical strings everywhere.
      db0f70cb
    • Drew's avatar
      Implement missing Foundation API on Linux · 6d22e8b0
      Drew authored
      This workaround is PRed to upstream at
      https://github.com/apple/swift-corelibs-foundation/pull/248
      6d22e8b0
  2. 01 Feb, 2016 2 commits
  3. 27 Jan, 2016 1 commit
  4. 19 Jan, 2016 3 commits
  5. 18 Jan, 2016 2 commits
  6. 17 Jan, 2016 3 commits
    • Drew's avatar
      Linux port · 10896a07
      Drew authored
      10896a07
    • Drew's avatar
      Override swiftC from .atpkg · 573176c4
      Drew authored
      We need this to bootstrap a linux build on OSX.
      573176c4
    • Drew's avatar
      Support for importing remote tasks from another file · 7f624456
      Drew authored
      We have to be careful about how these paths work; because when you
      import a new file it is as if your working directory changes.  To
      support this, we add a new `importedPath` property to Task that contains
      the path where the task is imported (whether local or remote).  This
      property is documented to include a trailing slash to avoid various
      problems involving relative paths.
      
      We also fix #20 by moving to `collectSources` implemented in atpkg
      instead of atllbuild.
      7f624456
  7. 16 Jan, 2016 1 commit
  8. 15 Jan, 2016 4 commits
  9. 14 Jan, 2016 5 commits
  10. 13 Jan, 2016 7 commits