Commit Graph

397 Commits

Author SHA1 Message Date
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
Robert Widmann
ed9fec7003 Fix python-lint build 2016-08-08 10:24:40 -07:00
Mishal Shah
8f1fcc7232 [build-script] add jobs flag 2016-08-05 15:26:48 -07:00
Michael Gottesman
10bafd67e0 [build-script] Add support for passing into swift -DSWIFT_RUNTIME_USE_SANITIZERS flag. 2016-08-03 14:17:41 -07:00
Michael Gottesman
c28ce159cb [build-script] Add support for specifying per host cmake options.
These are computed by build-script and passed directly by build-script-impl into
cmake for the relevant target. We can now start to migrate per product cmake
options from build-script-impl into build-script.
2016-08-03 14:17:41 -07:00
Michael Gottesman
189a0938e7 [build-script] Add a small fixme. NFC.
Rather than having the cmake generator be decided by 3 different options that
can be potentially all set (which makes no sense), this should really just be an
option called cmake_generator that would default to ninja and would have choices
of xcode, eclipse, etc.
2016-08-03 14:17:41 -07:00
Michael Gottesman
7611e12bf5 [build-script] Add support for compiling swift with tsan enabled. 2016-08-01 15:11:09 -07:00
Michael Gottesman
07b463ba3e [gardening] Fix some python lint errors so this change is python lint clean. 2016-08-01 15:11:09 -07:00
David Grove
3663842b33 build-script: build variant support for libdispatch
Communicate build variant selection to libdispatch build process
using the --with-build-variant argument to libdispatch's configure
script added in libdispatch pull request #110.
2016-07-20 15:49:47 -04:00
Dmitri Gribenko
bd80cf920a build-script: remove deprecated options, 'build-swift-stdlib' and 'build-swift-sdk-overlay' 2016-07-16 13:32:58 -07:00
Dmitri Gribenko
6eb40a084b build-script: support 4 version components in Clang versions 2016-07-13 22:08:24 -07:00
Mishal Shah
34867c55ff Add support for swift-xcode-playground-support project 2016-07-06 16:59:17 -07:00
Michael Gottesman
7aaa56519f [build-script] On buildbots, pass in the -v command into lit instead of -sv.
This enables you to know what tests actually ran instead of just the number of
tests that ran. This helps identify:

1. Tests that are not running, but /should/ be running.
2. Tests that are XFAILED or DISABLED but should not be.
2016-07-06 16:27:18 -07:00
Jamal Rogers
f7a838db3d Build-script: propagate the build type to the xctest build script 2016-06-26 12:51:43 -05:00
Brian Gesiak
48e04b4a6f Merge pull request #3027 from modocache/sr-1738-build-only-static
[SR-1738] Allow *only* static libraries to be built
2016-06-24 14:55:50 -04:00
Brian Gesiak
e00642fcf5 Merge pull request #3194 from modocache/android-deploy-path-default
[Android] Specify default device deploy path
2016-06-24 13:33:40 -04:00
Brian Gesiak
f12a1323ce [SR-1738] Allow *only* static libraries to be built
This splits the `--build-swift-stdlib` and `--build-swift-sdk-overlay`
arguments into `dynamic` and `static` variants, which makes the
following build command possible:

```
utils/build-script -- \
  --build-swift-dynamic-stdlib=0 --build-swift-dynamic-sdk-overlay=0 \
  --build-swift-static-stdlib=1 --build-swift-static-sdk-overlay=0
```

This command produces *only* static libraries for the stdlib, and no
SDK overlay libraries at all. Many other finely-grained build options
are now possible.
2016-06-24 09:18:24 -07:00
Brian Gesiak
6c053decd5 [Android] Specify default device deploy path
When the "--android-deploy-device-path" option was first added,
build products would only be deployed to a connected Android device
if the option was specified. Now, we use `command_upload_stdlib`
to upload every time the Android tests are being run.

As a result, running the test suite for Android without specifying
a deploy path leads to a subtle error, in which the
`command_upload_stdlib` CMake command fails. End users may find this
difficult to debug.

Add a default argument to the deployment path, and check for a valid
path before executing the CMake command.
2016-06-24 08:53:07 -07:00
Daniel Dunbar
cc69924839 [build-script] Support concatenated stdlib-deployment-targets.
- This fixes a regression introduced in
   a4537e8a0f, where we used to accept a list of
   concatenated deployment targets as a single argument.

 - <rdar://problem/26928189> build-script fails to split deployment targets
   before iterating over them
2016-06-23 13:59:56 -07:00
Daniel Dunbar
b169cb55e6 Merge pull request #2988 from ddunbar/build-script-isolated-actions
[build-script] Add support for using isolated -impl actions.
2016-06-23 09:00:41 -07:00
Michael Gottesman
bafbbfcc13 [build-script] Add an option --expand-build-script-invocation.
This option dumps the expanded build-script invocation for a preset without
running the preset. Useful for debugging build-script preset invocations.
2016-06-21 18:51:42 -07:00
Braedy
4036c1e07e Change intersect to intersection
Python's builtin set uses intersection not intersect.
2016-06-21 11:42:04 -04:00
Mishal Shah
b98fbf491d Revert optional_bool action from short-name options 2016-06-16 13:25:30 -07:00
Mishal Shah
e4341ab990 [build-script] Add optional_bool action and update build-script to use it 2016-06-15 11:44:21 -07:00
swift-ci
a1f1976465 Merge pull request #1714 from SwiftAndroid/tests 2016-06-13 21:20:28 -07:00
Daniel Dunbar
b1d56ea216 [build-script] Add support for using isolated -impl actions.
- This change moves the top-level invocation driver loop into `build-script`
   and uses the `-impl` script to perform each individual action. Once landed
   and enabled, this will enable us to migrate the individual pieces of the
   `-impl` script into Python code in an incremental fashion.

 - This also introduces stub product definitions for each of the different projects
   we manage.

 - This works, but is disabled by default (`--no-legacy-impl`) because it
   severely impacts the performance of null builds (4x slower, currently) due to
   the `build-script-impl` parsing overhead. If only we had a JITing bash
   implementation...
2016-06-13 12:24:49 -07:00
Dmitri Gribenko
593d8507a2 Merge pull request #2961 from karwa/validation-defaults
[build-script] Perform validation after defaults propagation
2016-06-11 02:35:55 -07:00
Michael Gottesman
95d926abb0 [lto] Only build host libraries using LTO.
At some point in the future, we may consider using LTO on the runtime/standard
library, but right now is not that time. We are just trying to use LTO to
improve the compile time performance of the compiler itself.

rdar://24717107
2016-06-10 13:33:54 -07:00
SpringsUp
02ad66db3c [build-script] Infer --android platform flag by presence of a stdlib-target 2016-06-10 08:35:21 +02:00