Commit Graph

235 Commits

Author SHA1 Message Date
Doug Coleman
3753f59f52 utils: Make update-checkout run in parallel. 2017-01-04 14:23:22 -08:00
Bob Wilson
78b28243ff Merge remote-tracking branch 'origin/master' into master-next 2017-01-03 14:22:59 -08:00
Doug Coleman
53d1649e8c Merge pull request #6078 from erg/use-toolchain-ninja
swift_build_support: If we are using the Ninja generator and we have …
2016-12-14 13:09:28 -08:00
Doug Coleman
51543db9e1 swift_build_support: If we are using the Ninja generator and we have found a toolchain.ninja, use that ninja.
If ninja is installed, treat it as a path to ninja anyway.
2016-12-14 11:44:01 -08:00
Bob Wilson
deddf19aae Merge remote-tracking branch 'origin/master' into master-next 2016-12-13 10:23:03 -08:00
Vivian Kong
63cd78ba99 Fix for ToolchainTestCase failure on non-FreeBSD systems 2016-12-12 12:36:40 -05:00
practicalswift
b2af4653e4 [gardening] Fix PEP-8 violations. 2016-12-08 18:47:24 +01: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
Michael Gottesman
50fa0d35c4 Add ./utils/swift_build_support/test_swift_build_support.sh to test swift_build_support.
I always forget the exact python invocation to run this test and I am sure
others do as well... so why not just write a script that always remembers it?
2016-12-06 17:22:01 -08:00
Bob Wilson
13da3fa8b1 Merge remote-tracking branch 'origin/master' into master-next 2016-12-04 18:16:09 -08:00
practicalswift
568a3e46ba [gardening] Improve header consistency. 2016-12-02 01:47:38 +01: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
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
Bob Wilson
b227f45b7e Merge remote-tracking branch 'origin/master' into master-next 2016-10-27 22:28:28 -07:00
vitalyster
395fe061fd swift_build_support: do not raise exception when capturing shell with… (#5380)
* swift_build_support: do not raise exception when capturing shell with optional flag

This fixes one of https://bugs.swift.org/browse/SR-2966 failed tests when testing environment trying to instantiate FreeBSD toolchain on Linux and `sysctl` is not in the PATH

* swift_build_support: fix shell test
2016-10-20 15:29:01 -07: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
practicalswift
ce3b47e329 [gardening] PEP-8 fixes. 2016-09-25 20:41:55 +02: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
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
88db3ab0e0 [vacation-gardening] Use more unittest.TestCase.assertIn instead of *.assertTrue(foo in bar). 2016-08-12 09:06:17 -04:00
Michael Gottesman
f82f38ef9b [vacation/gardening] Use canonical cmake names for TRUE/FALSE just out of paranoia. 2016-08-12 09:06:17 -04:00
Michael Gottesman
cab360d14a [vacation-gardening] Change method _compute_runtime_use_sanitizer => property _runtime_sanitizer_flags. NFC. 2016-08-12 09:06:17 -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
practicalswift
3ebfbe4ef0 Remove unused imports. 2016-08-06 20:26:47 +02: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
7611e12bf5 [build-script] Add support for compiling swift with tsan enabled. 2016-08-01 15:11:09 -07:00
Dmitri Gribenko
6eb40a084b build-script: support 4 version components in Clang versions 2016-07-13 22:08:24 -07:00
Russell Currey
c69b824d86 Use "powerpc64{le}" instead of "ppc64{le}"
A mix of "powerpc64" and "ppc64" existed, causing build failures.

Standardise on "powerpc64" and "powerpc64le", which are commonly used in
target triples, such as those generated by config.guess.

Signed-off-by: Russell Currey <ruscur@russell.cc>
2016-07-12 15:56:16 +10: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
Leo Giertz
0ce71c74f9 FreeBSD target is called x86_64 (but machine identifies as amd64) 2016-06-17 11:37:03 +02:00
Mishal Shah
3a945c4bbe [utils] Add test for optional_bool action 2016-06-16 13:33:09 -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
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
SpringsUp
02ad66db3c [build-script] Infer --android platform flag by presence of a stdlib-target 2016-06-10 08:35:21 +02:00
practicalswift
285b6b526c [gardening] Fix typo. 2016-06-09 10:14:23 +02:00
practicalswift
856f0d6bde [gardening] First argument of a classmethod should be named 'cls' 2016-06-09 10:14:04 +02:00
Daniel Dunbar
3a4d99e6bf [swift_build_support] We don't run benchmarks on simulator platforms. 2016-06-08 20:49:29 -07:00
Daniel Dunbar
8a2fd1600b Merge pull request #2880 from ddunbar/build-script-compute-targets
[build-script] Compute targets in `build-script`
2016-06-08 20:26:18 -07:00
Daniel Dunbar
3e3fe3fd7c Merge pull request #2960 from ddunbar/freebsd-toolchain-crash
[swift_build_support] Fix crash in FreeBSD toolchain.
2016-06-08 19:24:52 -07:00
Daniel Dunbar
ee4a8432b1 [swift_build_support] Fix crash in FreeBSD toolchain.
- Reported in https://github.com/kylef/swiftenv/issues/36
2016-06-08 17:28:45 -07:00
Daniel Dunbar
d51507879a [build-script] Several PEP8 fixes. 2016-06-08 17:23:27 -07:00
Daniel Dunbar
f407cdfb30 [swift_build_support.targets] Add some additional metadata.
- This adds several platform/target properties used to configure the default
   behavior for a build.

 - This also adds an API to find a target from a name.
2016-06-08 17:23:00 -07:00