Commit Graph

17 Commits

Author SHA1 Message Date
George Karpenkov
e72a2dd2e0 Update -sanitize=fuzzer option to take into account new libFuzzer location. 2017-08-23 18:07:14 -07:00
Harlan
ade67ca899 [Syntax] Swift libSyntax API (#11320)
* Create Swift libSyntax API

This patch is an initial implementation of the Swift libSyntax API. It
aims to provide all features of the C++ API but exposed to Swift.

It currently resides in SwiftExperimental and will likely exist in a
molten state for a while.

* Only build SwiftSyntax on macOS
2017-08-14 16:47:48 -07:00
George Karpenkov
efe143c2f4 Adding support for -sanitize=fuzzer flag (#11381)
Similarly to Clang, the flag enables coverage instrumentation, and links
`libLLVMFuzzer.a` to the produced binary.
Additionally, this change affects the driver logic, and enables the
concurrent usage of multiple sanitizers.
2017-08-07 18:16:51 -07:00
Doug Coleman
8c2bd5ae23 cmake: Initial standalone overlays builds.
./utils/build-overlay AVFoundation OSX macosx
rdar://problem/28707246
2017-03-14 12:51:42 -07:00
Argyrios Kyrtzidis
07148f1971 [CMake] Simplify handling for SWIFT_INSTALL_EXCLUDE_[component] option, NFC. 2016-11-30 10:09:49 -08:00
Argyrios Kyrtzidis
446db97367 [CMake] Check if a cmake variable 'SWIFT_INSTALL_EXCLUDE_[component]' is set for a component.
In which case the 'SWIFT_INSTALL_[component]' will be FALSE.
This is useful to get the behavior where all components are set to install by default and exclude just a specific one.
2016-11-28 08:54:37 -08:00
Brian Gesiak
7fbf5014f0 Merge pull request #4999 from modocache/cmake-in-list
[cmake] Enable IN_LIST compare policy
2016-09-29 15:45:01 -04:00
Chris Bieneman
f89461bf22 [CMake] NFC. Updates based on post-merge feedback
* Ensure LLVM_CMAKE_DIR is always set so it can be used
* Use LLVM_CMAKE_DIR instead of searching the module paths
* Label parameters of cmake_parse_arguments in comments
2016-09-28 22:21:03 -07:00
Brian Gesiak
3123b47602 [cmake] Enable IN_LIST compare policy
Enable CMake policy CMP0057, which allows `if()` statements to use the `IN_LIST`
operator. In addition, simplify several `if()` statements that used the
`list(FIND ...)` operation instead.
2016-09-28 22:35:05 -04:00
Chris Bieneman
58ca217e8d [CMake] Fix bad dependency in symlink_clang_headers
The problem here is a bit complicated. The symlink_clang_headers target creates two symlinks to clang's headers, one under the build directory at lib/swift/clang, and the other under a temporary path.

The one under the temporary path is a bad symlink, and it is only created during the build so that it can be installed. It isn't actually used by the build. Ninja treats the bad symlink as a non-existing file, and since the build rule that creates it has the restat property on it this results in the commands to symlink the clang headers directory running over and over and over again during the build.

This patch prevents that by not generating the bad symlink during the build. Instead we generate it at install time using the LLVMInstallSymlink script that is vended as part of LLVM's distribution.
2016-09-27 15:29:29 -07:00
Michael Gottesman
f1ae1f176c Revert "Define swift include build components but dont wire them up" 2016-08-28 15:49:33 -07:00
Michael Gottesman
de3a7d78d1 [cmake][swift-components] Introduce SWIFT_{INCLUDE,BUILD}_COMPONENTS
We also validate that each one of the given components sets are actually sets
and in addition are disjoint from each other.

In order to make sure that this is a NFC change, add all components to all 3
variables. This ensures that we preserve normal behavior of generating cmake
targets for all components and building all components by default even when
nothing is passed in to be installed.
2016-08-28 13:32:51 -07:00
Michael Gottesman
a40e4194ec [cmake] Merge swift_configure_install_components into swift_configure_components. 2016-08-28 12:43:33 -07:00
Michael Gottesman
2c96a8e044 [cmake] Document the component system via the "Swift Component Manifesto". NFC. 2016-08-27 20:04:02 -07:00
Michael Gottesman
b3180657ea [cmake] Refactor swift defined component code from the main CMakeLists.txt => cmake/modules/SwiftConfigure.cmake. 2016-08-27 20:04:02 -07:00
Michael Gottesman
b35d2b38e2 [cmake] Refactor two empty string precondition checks to use the precondition function.
Removing unnecessary control flow in favor of expressing intent in actual words
is clearer to read and requires less text.
2016-07-25 12:05:44 -07:00
Michael Gottesman
df344a8fb7 [cmake] Rename SwiftInstallComponents.cmake => SwiftComponents.cmake. NFC
In the next little bit I am going to be creating a more complex components
system. In order to help with this, I am renaming SwiftInstallComponents =>
SwiftComponents.cmake to reflect the broader purpose.
2016-07-21 13:51:56 -07:00