tree 42276d919dfe4d204c529ade2766c004e8d4389a
parent 070420dbd622706857c89e85fc802445dfb228ca
author Sylvain Defresne <sdefresne@chromium.org> 1596798066 +0200
committer Commit Bot <commit-bot@chromium.org> 1596805751 +0000

Add support for building .swift files

This CL allow listing .swift files in sources of compiler target
(source_set, executable, static_library, shared_library). Mixing
with other types of source files is disallowed due to complexity
of implementation (difficult to decide in which order the files
need to be built).

This adds a new "swift" tool that must always list a .swiftmodule
file as output but can generate additional outputs (.h, .o, ...).
To support whole module optimisation, the tool can have partial
outputs (i.e. have 1:1 mapping between source and output) or not.

The .swiftmodule are propagated both to direct and public deps
for generation of module search path (expanded by {{module_dirs}})
and to linkable target (expanded as {{modules}}) to embed the
module AST in the linked binary.

Based on the investigation at https://goto.google.com/swift-gn.

Bug: 121
Change-Id: If92b49f15e9ebb273feff7c935ca51698c27afa3
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/9180
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
