Commit Graph

901 Commits

Author SHA1 Message Date
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
Bob Wilson
c765d5e3a5 Merge remote-tracking branch 'origin/master' into master-next 2017-01-12 15:58:19 -08:00
Doug Coleman
6e10ed61e1 build-script-impl: Don't let distcc farm out cmake to run on other machines.
If cmake is run on another machine, the default Xcode path and
more in the cmake cache and ninja files will be of that machine's
configuration, not the local machine's.

Test with:
./utils/build-script -r -- --distcc --verbose

The cmake lines should start with ``/usr/local/bin/cmake`` instead of with
``/opt/distcc/pump``.

rdar://problem/29942258
2017-01-12 13:53:58 -08:00
Bob Wilson
cf3a0458f2 Merge remote-tracking branch 'origin/master' into master-next 2017-01-10 09:05:23 -08:00
swift-ci
294359bd69 Merge pull request #4804 from kstaring/master 2017-01-10 00:01:46 -08:00
Bob Wilson
37e7d1c627 Merge remote-tracking branch 'origin/master' into master-next 2017-01-08 17:07:46 -08:00
practicalswift
6d1ae2a39c [gardening] 2016 → 2017 2017-01-06 16:41:22 +01:00
Bob Wilson
78b28243ff Merge remote-tracking branch 'origin/master' into master-next 2017-01-03 14:22:59 -08:00
Ankit Aggarwal
85dbbb9bd7 Merge pull request #6432 from aciidb0mb3r/build-swiftpm-in-release
[BuildScript] Pass build conf to swiftpm
2016-12-22 23:25:01 +05:30
Maxwell Swadling
50b3dcb370 Only disable CLANG_TOOL_DRIVER_BUILD when BUILD_RUNTIME_WITH_HOST_COMPILER is on 2016-12-21 15:31:45 -08:00
Maxwell Swadling
6fb7c89151 removed CLANG_TOOL_DRIVER_BUILD from install toolchain only since it is now used as part of building 2016-12-21 13:16:04 -08:00