Commit Graph

525 Commits

Author SHA1 Message Date
Greg Parker
1b39852682 [build] Clean up lack of support of iOS device tests.
* Add --ios-all etc with a helpful error
  message for those who think it exists.
* Reject --ios --host-test early to avoid a cryptic
  "build target does not exist" error much later.
2017-03-14 19:49:30 -07:00
swift-ci
324ffb5cea Merge remote-tracking branch 'origin/master' into master-next 2017-02-24 11:08:49 -08:00
Doug Coleman
c1402ceb30 Merge pull request #7734 from hughbe/android-build-script-import
Cleanup android import in build-script
2017-02-24 11:00:52 -08:00
Hugh Bellamy
904ef577d2 Cleanup android import in build-script 2017-02-24 10:22:47 +07: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
Hugh Bellamy
00b8913efa Fix mismatching path to ICU source in build-script and build-script-impl
build-script-impl assumes ICU is located at
```
LIBICU_SOURCE_DIR="${WORKSPACE}/icu"
```

However, build-script would try to set it to
```
<path-to-workspace>/libicu"
```

This is wrong, so fix it
2017-02-24 08:17:02 +07:00
swift-ci
c4ac13dfd9 Merge remote-tracking branch 'origin/master' into master-next 2017-02-10 17:23:42 -08:00
David Farler
76dd2a5185 Match cmark build type with swift by default
Some cmark CMake stuff changed recently and the default rules
we have in the Python build script code doesn't behave correctly
anymore, likely because it was relying on incorrect settings.

Now, by default, if the cmark build type isn't specified, it will
follow Swift's. If we don't do this, Xcode builds are broken, and
building with Xcode is important.
2017-02-10 16:47:01 -08:00
swift-ci
132bca61e3 Merge remote-tracking branch 'origin/master' into master-next 2017-02-09 10:23:33 -08:00
Hugh Bellamy
f1064e53a4 Python lint build-script 2017-02-09 18:15:08 +07:00
swift-ci
1fcfc9e47f Merge remote-tracking branch 'origin/master' into master-next 2017-02-08 19:23:37 -08:00
Doug Coleman
480e0d785b build-script: Allowing passing of libtool path to llvm. 2017-02-08 19:42:10 -07:00
swift-ci
5ea550d33a Merge remote-tracking branch 'origin/master' into master-next 2017-02-07 08:23:26 -08: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
swift-ci
6620e6f703 Merge remote-tracking branch 'origin/master' into master-next 2017-02-05 18:29:45 -08:00
Michael Gottesman
fee2db81de [cmake] Add a new option called SWIFT_FORCE_OPTIMIZED_TYPECHECKER that forces Sema to be built optimized.
This should help speed up people trying to compile the standard library and do
SILGen work. *NOTE* This will not necessarily result in a type checker that is
as fast as a release build since most likely the type checker will use some
link_once odr functions that are debug. But it should still be significantly
faster otherwise.

This makes getting to SILGen take 16 seconds on my machine instead of forever
when compiling with everything else in the compiler in debug mode.
2017-02-05 16:48:54 -08:00
Bob Wilson
ef9fce2183 Merge remote-tracking branch 'origin/master' into master-next 2017-01-25 12:46:21 -08:00
Doug Coleman
091af4cd10 Merge pull request #7001 from natecook1000/nc-clean-delay
Add a short delay before cleaning a build directory
2017-01-24 19:07:40 -08:00
Nate Cook
02441e4e69 Add a short delay before cleaning a build
Adds a three second delay when the `-c` or `--clean` options are
given to utils/build-script, providing a chance to cancel the build
before the existing build folder is removed.
2017-01-24 13:05:40 -06:00
Bob Wilson
89393fcf27 Merge remote-tracking branch 'origin/master' into master-next 2017-01-24 09:46:30 -08:00
Bob Wilson
326e079983 master-next: update LLVM version to 5.0 to match LLVM trunk.
This continues the workaround from 7213a4d8. We should still get a better
solution that does not hardcode the LLVM version like this. That is
tracked by rdar://problem/28801735
2017-01-24 09:39:13 -08:00
Jacob Mizraji
ae5dc78c12 Make build script swift version default to 3.1 2017-01-18 11:30:47 -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
1ba5ce6774 [BuildScript] Pass build conf to swiftpm
- <rdar://problem/27791475>

SwiftPM can now be built in release mode because all the outstanding
issues preventing that has been resolved. The major issues were:

* Building (and running) unit tests with @testable import in
* release. (swiftpm PR #758)
* Linker errors when building unit tests with wmo on linux. (SR-3034)
2016-12-21 14:57:40 +05:30
Bob Wilson
deddf19aae Merge remote-tracking branch 'origin/master' into master-next 2016-12-13 10:23:03 -08:00
Michael Gottesman
a9f737c7c7 [swift_build_support] Always emit a compilation_db.
There is no reason not to do this (and it is really cheap) and I want to make
some scripts use it with various clang tooling techniques like clang-tidy to
improve code quality. This will ensure that by default people can just use these
scripts without knowing about how things are working under the hood.
2016-12-06 17:34:21 -08:00
Bob Wilson
13da3fa8b1 Merge remote-tracking branch 'origin/master' into master-next 2016-12-04 18:16:09 -08:00
Simon Evans
70e79094e4 Optionally compile libicu
- Add --libicu option to compile icu from source. This allows the
  configuration to be controlled so that it is enabled for shared
  and static building and the static files dont require the use of
  the dynamic loader

- Add --install-libicu option to install the shared libraries into
  $prefix/lib/swift and the static ones into $prefix/lib/swift_static.
  This avoids interference with system installed versions

- Dont use find_package if building ICU from source
2016-11-29 13:36:18 +00:00
Janosch Hildebrand
53e1f1288b Fix typo 2016-11-26 10:47:36 +01:00
practicalswift
797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
Bob Wilson
f10ae47b9f Merge remote-tracking branch 'origin/master' into master-next 2016-11-15 17:32:28 -08:00
Michael Gottesman
857b764730 Add support for creating a compilation db for swift to build-script. 2016-11-11 13:28:30 -08:00
Todd Fiala
7213a4d825 fixup header symlink issue due to clang 3.8 assumption
The master-next branch brought in clang 4.0 in a recent merge.
Fix the CI that is breaking when trying to link in the 3.8-specific
headers.
2016-10-18 15:41:11 -07:00
Michael Gottesman
b16d4fa505 [semantic-arc] Add build-script option --enable-sil-ownership to turn on the SIL ownership model.
rdar://28685236
2016-10-11 11:29:12 -07:00
Luke Larson
a2155b41b6 [coverage] Pass abspath of coverage-db to build-script-impl 2016-09-28 23:10:50 -07:00
Michael Gottesman
5bc8ca7f75 Merge pull request #4994 from gottesmm/allow_for_buildscript_to_specify_benchmark_iterations
Allow for buildscript to specify benchmark iterations
2016-09-23 23:07:10 -07:00
Michael Gottesman
6fd9dca2e6 [benchmark] Allow the number of test samples cmake will use to be specified from the command line.
The benchmark bot uses this functionality today to run the benchmarks. By
default build-script only uses 3 samples for each test. Given the noise on our
systems, this is definitely not sufficient for any sort of robust numbers.

Using this patch, I am going to change the benchmarking bot to take the minimum
of 20 samples as we do for our internal benchmarking. This should help make the
benchmark bot give better data. This will have as a cost cause the bot to take
more time. The testing time issue can be solved down the line by changing to a
protocol where we first do tests with a small number of samples (< 5). Then any
benchmark with a delta > 5% is rerun with 20 samples or perhaps until a
statistical criterion is satisfied. But until that is implemented, this at least
makes the bot useful.

There are other things that need to be changed on the benchmarking bot as well,
namely that it should build on a separate machine from which it is running the
benchmarks on. The benchmarking machine should be quiet and not have any work
being done on it. But that is also for another time.
2016-09-23 20:05:10 -07:00
Luke Larson
0c3c02bdbd [build-script] Add clang PGO support 2016-09-23 14:22:37 -07:00
practicalswift
b33f1d0094 Merge pull request #4835 from practicalswift/8pep
[python] Bring code base in line with PEP-8 again
2016-09-16 21:56:48 +02:00
practicalswift
7c63623ffc [gardening] Fix 13 recently introduced typos. 2016-09-16 20:30:57 +02:00
practicalswift
ee871c7938 [python] Bring code base in line with PEP-8 again 2016-09-16 19:33:04 +02:00
Luke Larson
573a58cacd [coverage] Add scripts supporting specific coverage
The three included Python scripts work together to generate a sqlite3
database containing mappings of all covered Swift source code regions to
the specific tests that cover them.

Additionally, build-script support is included for utilizing the
coverage database to prioritize tests covering changes in the Swift
repository.
2016-09-14 15:14:01 -07:00
seabaylea
12b88930d5 Add dependency on libdispatch from Foundation on Linux 2016-08-23 16:51:29 +01:00
Michael Gottesman
ab714cfa12 [vacation/gardening] fix python lint errors. 2016-08-12 10:11:18 -04:00
Michael Gottesman
4aad5801c8 [vacation/gardening] Move clang/swift version specification from build-script-impl => swift_build_support.products. 2016-08-12 10:07:20 -04:00
Michael Gottesman
72603eb944 [vacation/gardening] Move compiler-vendor code from build-script-impl => swift_build_support.products.
This is part of an effort to provide examples on how to migrate product
specific flags from build-script-impl => swift_build_support.products.
2016-08-12 10:07:20 -04:00
Michael Gottesman
14b2dd5296 [build-script] Move computation of LLVM_ENABLE_ASSERTIONS from build-script-impl to swift_build_support.products.LLVM. 2016-08-10 01:30:30 -04:00
Michael Gottesman
a56d6ac068 [build-script] Move llvm-targets-to-build to swift_build_support.products.LLVM from build-script-impl. 2016-08-10 01:30:30 -04:00