Commit Graph

511 Commits

Author SHA1 Message Date
Roman Levenstein
c3bc08ec06 Remove any mention of sil-serialize-all related flags from CMake files and build-script-impl
These flags are not needed anymore.
2017-10-21 19:18:15 -07:00
Ankit Aggarwal
c7c97510ef [build-script-impl] Remove destdir from cmake install path for libdispatch
This is passed as an env variable so it is not needed in the prefix.
2017-10-18 22:36:22 -07:00
Michael Gottesman
c2d8cc7ff0 [benchmark] Add support for building out of tree via build-script against the just built swift.
I recently broke the out of tree build by mistake [its fixed now ; )]. This
inspired me to make it easy to test this behavior by adding support to
build-script/cmake/etc for running an external benchmark build via
AddExternalProjects.

Now I can just call build-script with --build-external-benchmarks and thats it!
It should just work! It already helped me to avoid breaking the external build
twice!

I hope that eventually we get this on a bot to make sure it keeps working [or
even added to the smoke tests ; )].

*NOTE* This is disabled by default so it will not affect normal builds.

*NOTE* This just builds the external benchmarks. There is an rpath issue that
prevents you from running them (the benchmarks have the rpath set as if they are
next to the stdlib, but they are not. This can be fixed in a few different ways,
but I do not have time to finish implementing it = (. But this commit is a good
first step and at least detects build errors.
2017-09-25 12:31:39 -07:00
Calvin Hill
aee81d272f Add Initial platform support for Haiku. (#11583) 2017-09-22 21:06:56 -04:00
Pavel Yaskevich
c3ad876c61 [build-script] Add --test-paths option to run subset of tests (#12023)
Sometimes it's useful to be able to run tests located in specific
directories and/or files, let's enable this in `utils/build-script`
using `--test-paths` option which accepts a list of viable test locations.

Resolves: rdar://problem/32004487
2017-09-21 17:35:42 -07:00
Saleem Abdulrasool
5f9c82c751 build: allow skipping test/install of libdispatch on Linux
The conversion was too aggressive and always forced the test and
installation of libdispatch.  The CI system does not install libdispatch
and this broke the build.
2017-09-18 19:15:10 -07:00
Saleem Abdulrasool
8d3c30e2fa build: switch libdispatch build to cmake
Use the cmake based build system for building libdispatch now that it is
able to build Linux, android, and even possible to cross-compile to
Windows.
2017-09-17 17:01:28 -07:00
Ross Bayer
71cefffefc Merge pull request #11733 from Rostepher/build-script-whitespace
Removed trailing whitespace in build-script and build-script-impl
2017-09-08 18:36:55 -07:00
Arnold Schwaighofer
5b7654450a build-script: Add test-optimize-for-size (#11778)
* build-script: Add test-optimize-for-size

* Fix python lint error: line too long
2017-09-06 07:36:40 -07:00
Ross bayer
572be6911a Removed trailing whitespace in build-script and build-script-impl, preparing them for upcoming changes. 2017-09-01 13:50:28 -07:00
Jordan Rose
e994f61e58 Merge pull request #9958 from spevans/pr_static_libs
SR-648: Allow swiftpm to statically link binaries on Linux
2017-07-19 12:52:54 -07:00
Arnold Schwaighofer
f2c8c2a256 Cleanup dead configuration code for copy-on-write existentials
Copy-on-write existentials are enabled and none of these flags are used
2017-07-17 12:22:03 -07:00
Simon Evans
b08023a021 SR-648: Allow swiftpm to statically link binaries on Linux
- If --build-swift-static-stdlib option is used then also produce
  static versions of libXCTest.a and libdispatch.a and put them
  into the lib/swift_static/linux/ toolchain directory.
  libFoundation.a is already being built and deployed there.

- Binaries with the swift libs statically linked in can then be
  built with using the command:

  swift build -Xswiftc -static-stdlib -Xlinker -lcurl -Xlinker -l:libxml2.a -Xlinker -llzma -Xlinker /lib/x86_64-linux-gnu/libz.so.1 -Xlinker -lbsd -Xlinker --allow-multiple-definition

  Note: This is a dynamic binary with the libswiftCore,
  libFoundation and libdispatch libraries statically linked in.

- Further fixes should reduce the complexity of the above command.
2017-06-29 13:04:57 +01:00
Mishal Shah
6d2487d6d1 Add support to skip 32bit iOS simulator tests 2017-06-28 00:18:09 -07:00
Erik Eckstein
31c22e40ae buildscript: Let cpio command handle symlinks in the workspace path 2017-06-22 13:03:33 -07:00
Mishal Shah
c5ff1f2cac Update master to build with Xcode 9 beta 1, OS X 10.13, iOS 11, tvOS 11, and watchOS 4 SDKs. 2017-06-14 16:20:35 -07:00
Arnold Schwaighofer
ca63326e1b Delete unused existential value witnesses from the old existential
implementation

And remove the SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS flag.
2017-06-02 14:34:41 -07:00
Erik Eckstein
7b6d9afe47 cmake: add a build-script-impl option --report-statistics to pass the -stats-output-dir option when compiling swift libraries 2017-06-01 12:16:20 -07:00
Bob Wilson
68525ce450 swift-stdlib-tool is not a shell script and can be stripped
Before Swift 3.1, we installed the swift-stdlib-tool-substitute script
in place of Xcode's swift-stdlib-tool. This check was added to the build
script (76e99159c1) to avoid trying to strip that file. Now that
swift-stdlib-tool is part of open-source Swift, the -substitute script is
gone and there is no need for this check.
2017-04-29 16:45:34 -07:00
Norio Nomura
3da7926a5e Revert "Revert "Enable SourceKit tests if building SourceKit""
This reverts commit a383adf9df.
2017-04-26 21:16:36 +09:00
Arnold Schwaighofer
a383adf9df Revert "Enable SourceKit tests if building SourceKit" 2017-04-24 17:59:03 -07:00
Alex Blewitt
71987b90b2 Merge pull request #8485 from norio-nomura/enable-sourcekit-test
Enable SourceKit tests if building SourceKit
2017-04-24 17:37:30 +01:00
Doug Coleman
0024058ff0 utils/build-script-impl: Remove dead code.
The version numbers and compiler vendor variable are dead code.
2017-04-13 14:33:39 -07:00
Mishal Shah
177580e191 [build-script] Add skip reconfigure flag to build-script-impl 2017-04-08 16:58:06 -07:00
Ted Kremenek
76215c838e Revert "Bump version to 4.0" 2017-04-07 15:52:44 -07:00
Ted Kremenek
0a7f048a33 Bump version to 4.0 2017-04-07 14:00:05 -07:00
Norio Nomura
af8ce9c1b5 Enable SourceKit tests if build SourceKit 2017-04-02 09:16:45 +09:00
Arnold Schwaighofer
343193f0f8 Fix test cases and enable copy-on-write existentials 2017-03-28 06:51:11 -07:00
Bob Wilson
84ea935633 Remove swift-stdlib-tool-substitute
Ted added the real swift-stdlib-tool in PR #8258 (c317fcbeeb), so there
should no longer be a need for this substitute script.
2017-03-22 20:32:38 -07:00
Doug Coleman
e7390d1770 Revert "utils: Add swiftenvs, which allow the overriding of compiler tools."
This reverts commit 2b923f3846.
2017-03-22 20:09:34 -07:00
Doug Coleman
e480227d82 Revert "swiftenv-script: Fix some issues with swiftenvs." 2017-03-22 17:00:21 -07:00
Doug Coleman
351a515f6c swiftenv-script: Bug fixes for swiftenv.
Fix the mocked output files of swiftc. Change the lookup of
clang from build-script to build-script-impl like all the other
commands. Pass more args to LLVM. Fix swiftenv creation. Fix unit tests.

The reason this patch works is that build-script-impl gets
all the arguments that are not handled by build-script.
2017-03-22 12:47:33 -07:00
Doug Coleman
2b923f3846 utils: Add swiftenvs, which allow the overriding of compiler tools. 2017-03-21 14:59:12 -07:00
Arnold Schwaighofer
ae1dcf9c47 Add a build-script flag for enabling copy-on-write existentials 2017-03-20 14:15:18 -07:00
Ankit Aggarwal
3c69043bee [BuildScript] Run SwiftPM tests in parallel 2017-03-16 23:10:52 +05:30
Ben Langmuir
da4d084458 Revert "[build-script-impl] Add support for building benchmarks on linux but disable it in all currently defined presets for linux." 2017-03-06 08:50:04 -08:00
swift-ci
031ecc2b57 Merge pull request #7860 from gottesmm/build_script_impl_linux_benchmarks 2017-03-05 13:30:59 -08:00
Bob Wilson
2c44ad4ad1 Merge pull request #7469 from bob-wilson/disable-checks-macro
Replace a cmake option with a preprocessor macro.
2017-03-03 07:48:00 -08:00
Michael Gottesman
33767380f9 [build-script-impl] Add support for building benchmarks on linux but disable it in all currently defined presets for linux. 2017-03-01 19:47:52 -08:00
Mikio Takeuchi
5ff7b6a852 Replace std::getenv with a preprocessor macro to switch the atomicity of reference counting in native runtime 2017-02-27 12:25:57 +09:00
Mikio Takeuchi
a1efa55c63 Add -swift-stdlib-use-nonatomic-rc option to build-script-impl. std::getenv is still used in SILOptions.h since it has a wider coverage 2017-02-27 12:17:53 +09:00
Hugh Bellamy
bab7bbd283 Report a fatal error in build-script rather than build-script-impl for missing source directories 2017-02-24 08:17:02 +07:00
Bob Wilson
03ff046afc Replace a cmake option with a preprocessor macro.
When moving to the swift-4.0-branch of LLVM, we started using the
LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING cmake option to turn off those
checks. This was necessary for the stdlib build, where it uses some LLVM
headers without linking libSupport.a, but the cmake option forced us to
disable the checks across the board. It also caused a lot of churn for
people who needed to remove their cmake caches when switching to the new
version of LLVM. This change switches to use a preprocessor macro to
disable the checks only in the context of the stdlib build. It requires
LLVM r295090. rdar://problem/30098953
2017-02-14 11:27:20 -08:00
Doug Coleman
480e0d785b build-script: Allowing passing of libtool path to llvm. 2017-02-08 19:42:10 -07:00
Doug Coleman
9d0d533723 cmake/build-script: Allow passing a lipo path instead of finding it from
Xcode.
2017-02-07 03:31:09 -07:00
Mishal Shah
92ef777085 Update master to build with Xcode 8.3 beta 1, OS X 10.12, iOS 10, tvOS 10, and watchOS 3 SDKs. 2017-01-25 16:13:36 -08:00
Slava Pestov
7b5cf4ab7d Merge pull request #3841 from tinysun212/pr-swiftc-cygwin-2
[swiftc] Fixed for Cygwin
2017-01-19 20:17:47 -08:00
Han Sangjin
b8dd577693 [swiftc] Fixed for Cygwin
Fixed for the difference of Cygwin with other Windows variants (MSVC,
Itanium, MinGW).

- The platform name is renamed to "cygwin" from "windows" which is used
  for searching the standard libraries.

- The consideration for DLL storage class (DllExport/DllImport) is not
  required for Cygwin and MinGW. There is no problem when linking in
  these environment.

- Cygwin should use large memory model as default.(This may be changed
  if someone ports to 32bit)

- Cygwin and MinGW should use the autolink feature in the sameway of
  Linux due to the linker's limit.
2017-01-19 05:48:24 +09:00
Bob Wilson
eeb0f08988 Merge remote-tracking branch 'origin/master' into master-next 2017-01-17 10:45:44 -08:00
Doug Coleman
87f1ec3178 Revert "build-script-impl: Don't let distcc farm out cmake to run on other machines."
This reverts commit 6e10ed61e1.
2017-01-15 18:55:58 -08:00