Commit Graph

968 Commits

Author SHA1 Message Date
Vedant Kumar
edf4681fd5 Merge pull request #15290 from vedantk/asserts
build-script: Implement support for --(no-)lldb-assertions
2018-03-16 12:33:36 -07:00
David Zarzycki
900c01fb3c Merge pull request #15233 from davezarzycki/stop_forcing_libcxx_use
[build-script] Stop forcing the use of libcxx
2018-03-16 13:36:03 -04:00
Vedant Kumar
9db99a0a24 build-script: Implement support for --(no-)lldb-assertions
* LLDB assertions are on by default, like swift assertions

* LLDB assertions can be enabled/disabled globally with the --assertions
  and --no-assertions options

Partially addresses: rdar://38524846
2018-03-15 20:45:02 -07:00
Vedant Kumar
7adb7a8eff Re-enable the full lldb test suite for non-smoke-test jobs
The lldb bots should run the full lldb test suite, not just the tests
reserved for pull-request testing.

This does not affect PR testing.

rdar://38462589
2018-03-15 18:13:21 -07:00
David Zarzycki
b6c3021ed1 [build-script] Stop forcing the use of libcxx
Any C++ standard library is good enough these days.
2018-03-14 18:04:34 -04:00
Vedant Kumar
950b97a327 [build-script] Pass --out-of-tree-debugserver to lldb tests
We need this flag to tell the test harness to skip certain tests.
2018-03-14 12:35:29 -07:00
Vedant Kumar
267de6e2e1 [build-script] Support --lldb-test-swift-only=0
Make it possible to run the full lldb test suite through build-script
again.
2018-03-14 10:58:06 -07:00
Slava Pestov
de4f1f8a66 Re-enable resilience for stdlib and overlays 2018-03-12 15:44:07 -07:00
eeckstein
cc983a7afc Revert "Re-enable resilience for stdlib and overlays" 2018-03-12 10:24:33 -07:00
Slava Pestov
b758621ed4 Re-enable resilience for stdlib and overlays 2018-03-10 00:44:40 -08:00
swift-ci
d75d744472 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-08 16:38:26 -08:00
Ankit Aggarwal
b3b24eb928 [build-script] Add plumbing for llbuild assertions
This adds two flags to the build script to enable/disable assertions in
llbuild: --llbuild-assertions, --no-llbuild-assertions

The default value is taken from the global assertions flag.
2018-03-08 16:22:40 -08:00
swift-ci
44761ddc84 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-06 13:38:19 -08:00
Ankit Aggarwal
4a988dc0c4 [build-script] Disable building llbuild Swift bindings
The CMake support in llbuild is finding the compiler in the system
instead of the build products. This causes build errors if Swift is old
on a system.
2018-03-06 12:27:37 -08:00
Adrian Prantl
13a228e98a build-script: pass the LLDB_INCLUDE_TESTS variable through to LLDB 2018-03-05 15:23:23 -08:00
swift-ci
a103411dd3 Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-04 17:18:15 -08:00
swift-ci
0c1c6d89c1 Merge pull request #14969 from gonzalolarralde/swift-android-arch-variable 2018-03-04 17:06:43 -08:00
swift-ci
06ad3a0f5a Merge remote-tracking branch 'origin/master' into master-llvm-swift5-transition 2018-03-04 10:57:58 -08:00
Gonzalo Larralde
13cf3095b7 Replace incorrect HOST variable for the expected hardcoded arch 2018-03-04 13:32:19 -03:00
Fumiya Nakamura
f902f5fa05 [SR-1046] Pass lit path argument to xctest explicitly
Resolve https://bugs.swift.org/browse/SR-1046
2018-03-03 15:28:41 +09:00
Adrian Prantl
0252cb8835 build-script: Pass --build-dir to LLDB's dotest.py 2018-02-28 18:58:05 -08:00
Saleem Abdulrasool
420328b886 Merge pull request #14728 from compnerd/icu-arch
build: explicitly state arch for ICU
2018-02-28 10:21:08 -08:00
Nathan Lanza
4b8d4d9640 Add a SWIFT_BUILD_DIR variable to pass as an arugment to xctest/build_scripy.py 2018-02-24 21:27:58 -08:00
Davide Italiano
fed7aedf45 [lldb] Run the lit-style checks as part of --test for lldb.
We're growing this set, so it makes sense to run them now.
2018-02-21 13:06:40 -08:00
Saleem Abdulrasool
e77d4c7c98 build: explicitly state arch for ICU
This is needed to support cross-compilation on targets which do not
support FAT binaries (i.e. non-MachO targets).  The primary user of this
functionality right now is Windows, but this support is needed for Linux
and android as well.
2018-02-19 23:27:54 -08:00
adrian-prantl
05ecc3b766 Merge pull request #14715 from adrian-prantl/36663932
build-script: Pass path to just-built libddispatch and Foundation to dotest.py
2018-02-19 15:45:52 -08:00
Adrian Prantl
5ccb4f797e build-script: Pass path to just-built libddispatch and Foundation to dotest.py
rdar://problem/37354542
2018-02-19 11:35:47 -08:00
Davide Italiano
d2a23d9f9c [build-script] Re-enable lldb unit tests in PR testing.
This have been disabled because they were flakey, but now we
should have fixed the issues (or if there's something outstanding,
well, it's the right time to fix).

This is getting more important as we want to increase the set
of `lit/` or `unittest`-style testcases.
2018-02-19 11:28:18 -08:00
Davide Italiano
7503b1eb90 [testsuite] Run only the swift tests for lldb. 2018-02-11 14:03:35 -08:00
Ankit Aggarwal
db1c67334b [build-script-impl] Enable llbuild's Swift bindings
This is no longer a dependency problem because llbuild now builds after
Swift.
2018-02-10 21:44:31 -08:00
Vedant Kumar
4d5684ba0b [build-script] Disable lldb unit tests in PR testing
There is some unresolved flakiness with the unit tests on Linux, which
we don't want interfering with PR testing. See:
https://github.com/apple/swift-lldb/pull/306
2018-02-06 10:07:54 -08:00
Vedant Kumar
10fedbea03 [build-script] Use ${NINJA_BIN} instead of ninja
build-script shouldn't assume ninja is in the system path.
2018-02-02 18:17:41 -08:00
Ross Bayer
84d67961e9 Converted calls to 'sh' into bash calls that use process substitution, which should avoid the 'Argument list too long' error that's been seen on a few CI jobs. (#14367) 2018-02-02 16:38:33 -08:00
Vedant Kumar
85fe1257f9 [build-script] Specify the lldb debugserver explicitly
The CMake build doesn't copy or symlink the system debugserver into its
local build when --lldb-use-system-debugserver is specified, nor should
it IMO. Instead, the CMake build's test targets explicitly specify the
server to use. Since we're not using one of those targets in
build-script, we should also specify the server explicitly.
2018-02-01 15:27:23 -08:00
Vedant Kumar
0a46ed5f61 [build-script] Run lldb tests for Swift support per-commit
- Side-step code signing issues by using the system debug server

- Skip testing categories that add minimal coverage-per-unit-time

- Only enable testing from the whitelisted `swiftpr` category

rdar://35534424

We can't use CMake to build lldb on the bots until the bots upgrade to
CMake >= 3.7: r://37130314.
2018-02-01 15:27:23 -08:00
Vedant Kumar
fa161f7c99 [build-script] Don't disable modules when ASan is enabled
In the past, we needed to disable building swift with -fmodules because
the module caching logic ignored sanitizer flags (rdar://28356072).

This is fixed now, so let's remove the workaround.
2018-01-31 23:23:37 -08:00
Vedant Kumar
76edff5ef8 [build-script] Teach cmake to build the lldb framework
The lldb framework contains modules which the debugger needs.

rdar://36835403
2018-01-31 14:26:10 -08:00
David Zarzycki
91823273d2 [build system] Prefer LLD if it exists (#14165)
Other changes:
1) Minimize unified versus build-script build differences.
2) Stop trying to make runtime variables have "protected" visibility.
   This combination is meaningless and lld rightly complains.

Finally, this blog post is worth reading:
http://www.airs.com/blog/archives/307
2018-01-30 07:18:36 -05:00
Mike Ash
5e2b11d42d Merge pull request #14157 from mikeash/conditionally-disable-runtimefunctioncounters
[Runtime] Remove RuntimeFunctionCounters in no-assert builds.
2018-01-29 15:48:32 -05:00
Mike Ash
6f37cca3e0 [Runtime] Disable RuntimeFunctionCounters tests if the counters are disabled.
Also update how the variable is managed in the build system to allow the test to be conditional based on it, and make it more natural to set it on the command line.
2018-01-26 15:35:33 -05:00
Davide Italiano
d69cf4f0f9 [Debugger] Stop re-running all the issues and hope they pass.
This maybe was needed in the past, but we're moving to a model
where we really want to control what's failing and why. If something
fails, stop re-running. Instead, try to get a proper blame
mail and investigate. This might be a little shaky in the
short term but I'm confident it will go a long way.
2018-01-26 11:30:15 -08:00
Connor Wakamo
3a0eaea24a [build-script] Adjust how PlaygroundLogger and PlaygroundSupport are built.
Instead of building separately, they are now built together using a new workspace with new schemes.
As a result, xcodebuild is now invoked once per-platform, allowing for platform-specific build setting and architecture overrides.

This addresses <rdar://problem/36512531>.
2018-01-23 23:29:20 -08:00
Connor Wakamo
806c01d0a9 [build-script] Merged the PlaygroundLogger and PlaygroundSupport products.
These don't make sense to build separately, and indeed it's likely that PlaygroundLogger will soon depend on PlaygroundSupport.
As a result, build them as one product (playgroundsupport) in build-script.
Aside from removing the playgroundlogger product, this otherwise continues to build PlaygroundLogger and PlaygroundSupport the same way.

This is for <rdar://problem/36512531>.
2018-01-23 23:29:20 -08:00
Connor Wakamo
9bc45e1d17 [build-script] Removed the always-broken support for building PlaygroundLogger on Linux.
As far as I can tell, this never worked, so removing it cannot break anything.
Now PlaygroundLogger is treated similarly to PlaygroundSupport, directly referencing xcodebuild instead of indirecting through variables.
This commit also introduces explicit error messages when attempting to build PlaygroundLogger or PlaygroundSupport for non-Darwin platforms.

This addresses <rdar://problem/36594779>.
2018-01-23 23:29:20 -08:00
Vedant Kumar
330e47d869 build-script: Build lldb with CMake on Darwin
build-script can already build lldb on Darwin using its Xcode project,
but it's useful to support the CMake build as well.

The CMake build allows incremental rebuilds with build-script. I expect
this to significantly cut down on iteration time.

Taking advantage of CMake also lets lldb piggyback on existing support
for sanitizers -- or exciting new build configurations we don't know
about yet -- without having to update the Xcode project file.

rdar://problem/36751944
2018-01-22 19:00:32 -08:00
swift-ci
47212b76f5 Merge pull request #14032 from vedantk/master 2018-01-19 15:56:08 -08:00
Vedant Kumar
7fc95c85ec Revert "Enable stdlib resilience" 2018-01-19 15:02:41 -08:00
Vedant Kumar
f1349088e7 build-script: Pass UBSan options to the lldb xcodebuild invocation
Now, `./build-script --enable-ubsan` will do the right thing if you have
lldb checked out, pending an additional lldb change.

rdar://36630617
2018-01-19 14:29:45 -08:00
Slava Pestov
5535fb8dc3 Merge pull request #13573 from slavapestov/enable-resilience
Enable stdlib resilience
2018-01-18 22:37:32 -08:00
Vedant Kumar
70702b769a build-script: Pass ASan options to the lldb xcodebuild invocation
Now, `./build-script --enable-asan` will do the right thing if you have
lldb checked out.
2018-01-18 15:43:37 -08:00