Commit Graph

864 Commits

Author SHA1 Message Date
Daniel Dunbar
daba6275ae [utils/swift_build_suport] Tidy up import order. 2016-06-01 16:40:27 -07:00
Daniel Dunbar
ad9f12d8ff [utils] Introduce swift_build_support.diagnostics.
- This uses more Clang/Swift-style diagnostics, and adds a convenient wrapper
   `fatal()` which happens to match what almost all clients of the previous
   `print_with_argv0` wanted to do (i.e., fail with a fatal error).

 - As part of this, I also tried to make the diagnostics more consistent and use
   "diagnostic style" casing/punctuation.

 - Part of SR-237.
2016-06-01 16:28:42 -07:00
Daniel Dunbar
95e35130db [utils] Move quote_shell_command into swift_build_support. 2016-06-01 15:55:25 -07:00
rintaro ishizaki
e74ebd5839 [build-script] Flush immediately after print() in Python 2016-05-31 12:45:05 +09:00
Dmitri Gribenko
d54bb62e94 Merge pull request #2497 from karwa/refactored-build-script
Refactored build-script-impl for cross-compiling support
2016-05-30 14:22:55 -07:00
SpringsUp
0b6790ced2 SDK Autodetection now happens in build script
The old 'swift-sdks' option is migrated for presets
2016-05-30 09:04:10 +02:00
Rintaro Ishizaki
76951281ba [build-script] Use more strict regex for --clang-compiler-version argument 2016-05-30 13:51:28 +09:00
Rintaro Ishizaki
90ed14d53c [build-script] Ensure executable is file, not directory 2016-05-30 13:42:13 +09:00
Rintaro Ishizaki
4ebfc085d3 [build-script] Modularize argparse types 2016-05-30 13:42:09 +09:00
Rintaro Ishizaki
36898fc933 [build-script][SR-237] Migrate Ninja build to Python
Migrated impl args:
--build-ninja
--darwin-deployment-version-{osx,ios,tvos,watchos}

Removed impl args:
--build-ninja

Added impl args:
--ninja-bin
2016-05-26 10:29:53 +09:00
rintaro ishizaki
b1109c6344 [build-script] Provide centralized command line and file system interface for build-script. 2016-05-26 10:29:53 +09:00
Bryan Chan
85fde8b1fb Add support for Linux s390x. LLVM's Swift calling convention support is used to ensure correct operations of C++ code in the runtime. This patch also includes some (incomplete) changes to enum handling to make enums work in most common cases. 2016-05-24 20:03:28 -04:00
practicalswift
ef4f925977 [gardening] Fix recently introduced typos. 2016-05-21 13:02:00 +02:00
practicalswift
ac15a59d7d Fix various PEP-8 violations. 2016-05-21 10:43:36 +02:00
rintaro ishizaki
00617f92dd [build-script] Factor out calculation of args.build_subdir
To make it testable.

Also, introduced Workspace object as a ground work for merging
build-script-impl into build-script.
2016-05-19 14:59:31 +09:00
swift-ci
354f6ea842 Merge pull request #2352 from rintaro/build-script-refactor-toolchain 2016-05-15 18:15:57 -07:00
rintaro ishizaki
bcbdc56fe9 [build-script][gardening] whitespace fix 2016-05-16 08:18:38 +09:00
rintaro ishizaki
966bbcce0d [build-script] Simpified code 2016-05-16 01:07:38 +09:00
Anton Blanchard
0b8371d937 Fix stdlib deployment targets for powerpc64 and powerpc64le
We use powerpc64 and powerpc64le for the target names, not ppc64 and
ppc64le.
2016-05-10 04:29:54 +00:00
Rintaro Ishizaki
4dfeabc553 [gardening] Fix a flake8 warning (#2383)
F401 'which' imported but unused
2016-05-04 23:25:28 -07:00
Rintaro Ishizaki
b3dc7b74e2 [build-script] Refactor toolchain
`host_toolchain()` initializes Toolchain object corresponding to the platform.

Renamed functions:

* toolchain.host_clang -> toolchain.cc, toolchain.cxx
* cmake.host_cmake -> toolchain.cmake
* ninja.is_ninja_installed -> toolchain.ninja (is not None)
2016-05-03 01:47:12 +09:00
Rintaro Ishizaki
d41fa7b992 [build-script] Introduced cached method/function decorator
cache_util.cached: cached function/method result associated with arguments.
cache_util.reifry: replace attribute with the result of the method.
2016-05-03 01:19:18 +09:00
Dave Abrahams
10bddb428a [build-script] Fix uses of build_support.which
This might not be the most principled way to do it (not too familiar
with this idiom of nested python modules named the same as their only
components), but it seems to have worked.
2016-05-01 14:00:23 -07:00
practicalswift
4613b1712b Merge pull request #2359 from practicalswift/typo-fixes-20160501
[gardening] Fix recently introduced typos: "adavances" → "advances", etc. (10 typos)
2016-05-01 20:11:45 +02:00
practicalswift
540cb751ac [gardening] Fix recently introduced typo: "adavances" → "advances"
[gardening] Fix recently introduced typo: "compie" → "compile"

[gardening] Fix recently introduced typo: "consise" → "concise"

[gardening] Fix recently introduced typo: "dengerate" → "degenerate"

[gardening] Fix recently introduced typo: "encodeded" → "encoded"

[gardening] Fix recently introduced typo: "equvalent" → "equivalent"

[gardening] Fix recently introduced typo: "guaranted" → "guaranteed"

[gardening] Fix recently introduced typo: "overridde" → "override"

[gardening] Fix recently introduced typo: "subsquence" → "subsequence"

[gardening] Fix recently introduced typo: "substraction" → "subtraction"

[gardening] Fix recently introduced typo: "whiltespace" → "whitespace"
2016-05-01 20:07:18 +02:00
practicalswift
6cf5f9d255 [gardening] PEP-8 fixes. 2016-05-01 13:18:30 +02:00
swift-ci
912017e4fc Merge pull request #2295 from rintaro/build-script-common-cmake-options 2016-04-29 05:03:07 -07:00
Rintaro Ishizaki
d0cbe06b71 [build-script] Validate and parse '--clang-compiler-version' in argparse 2016-04-29 14:54:13 +09:00
Drew Crawford
1300289283 [build-script-migrator] fix TypeError
When running build-script, I get the output below:

    utils/build-script --preset=drew --preset-file=../presets.ini  --preset-file=utils/build-presets.ini installable_package="`pwd`/../osx-caffeinated-$tag.tar.gz" install_destdir="`pwd`/../install" install_symroot="`pwd`/../install_symroot" symbols_package="`pwd`/../osx-caffeinated-symbols-$tag.tar.gz" darwin_toolchain_bundle_identifier="net.caffei.swift.$tag"  darwin_toolchain_display_name="caffeinated-$tag" install_toolchain_dir="/Library/Developer/Toolchains/caffeinated-$tag.xctoolchain"  darwin_toolchain_xctoolchain_name="caffeinated-$tag.xctoolchain" darwin_toolchain_version="caffeinated-$tag" darwin_toolchain_alias="caffeinated-$tag" darwin_toolchain_display_name_short="caffeinated-$tag"
    utils/build-script: using preset 'drew', which expands to utils/build-script --ios --tvos --watchos --lldb --llbuild --swiftpm --release-debuginfo --build-subdir=buildbot_osx --ios --tvos --watchos --test --validation-test --long-test --assertions --no-swift-stdlib-assertions -- --lldb-no-debugserver --lldb-use-system-debugserver --lldb-build-type=Release --verbose-build --build-ninja --build-swift-static-stdlib --build-swift-stdlib-unittest-extra --compiler-vendor=apple '--swift-sdks=OSX;IOS;IOS_SIMULATOR;TVOS;TVOS_SIMULATOR;WATCHOS;WATCHOS_SIMULATOR' --install-swift --install-lldb --install-llbuild --install-swiftpm --install-destdir=/Users/drew/Code/swift-osx/swift/../install --darwin-install-extract-symbols --install-symroot=/Users/drew/Code/swift-osx/swift/../install_symroot --install-prefix=/Library/Developer/Toolchains/caffeinated-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a.xctoolchain/usr --test-installable-package --reconfigure --installable-package=/Users/drew/Code/swift-osx/swift/../osx-caffeinated-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a.tar.gz --swift-enable-ast-verifier=0 '--swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;license;sourcekit-xpc-service' '--llvm-install-components=libclang;libclang-headers' --installable-package=/Users/drew/Code/swift-osx/swift/../osx-caffeinated-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a.tar.gz --symbols-package=/Users/drew/Code/swift-osx/swift/../osx-caffeinated-symbols-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a.tar.gz --darwin-toolchain-bundle-identifier=net.caffei.swift.swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a --darwin-toolchain-display-name=caffeinated-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a --darwin-toolchain-display-name-short=caffeinated-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a --darwin-toolchain-name=caffeinated-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a.xctoolchain --darwin-toolchain-version=caffeinated-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a --darwin-toolchain-alias=caffeinated-swift-DEVELOPMENT-SNAPSHOT-2016-04-25-a --skip-test-ios --skip-test-tvos --skip-test-watchos
    Traceback (most recent call last):
      File "utils/build-script", line 1339, in <module>
        sys.exit(main())
      File "utils/build-script", line 1335, in main
        return main_normal()
      File "utils/build-script", line 824, in main_normal
        args = migration.parse_args(parser, sys.argv[1:])
      File "utils/swift_build_support/swift_build_support/migration.py", line 34, in parse_args
        arg for arg in argv if arg != '--')
      File "/Library/Python/2.7/site-packages/argparse.py", line 1735, in parse_known_args
        namespace, args = self._parse_known_args(args, namespace)
      File "/Library/Python/2.7/site-packages/argparse.py", line 1941, in _parse_known_args
        start_index = consume_optional(start_index)
      File "/Library/Python/2.7/site-packages/argparse.py", line 1873, in consume_optional
        args = arg_strings[start:stop]
    TypeError: 'generator' object has no attribute '__getitem__'
    utils/build-script: command terminated with a non-zero exit status 1, aborting

This seems to be because the migrator script passes a generator where one was not expected.

Construct a list instead.
2016-04-26 02:02:03 -05:00
Rintaro Ishizaki
4926ed55f1 [build-script][SR-237] Migrated calculation of BUILD_ARGS to Python.
Calculate `BUILD_ARGS` in `build-script`, then pass them to
`build-script-impl` using existing `--build-args` argument.
2016-04-25 16:20:40 +09:00
Rintaro Ishizaki
c025590c88 [build-script][SR-237] Migrated calculation of COMMON_CMAKE_OPTIONS to Python.
Calculate `COMMON_CMAKE_OPTIONS` in `build-script`, then pass them to
`build-script-impl` using newly introduced `--common-cmake-option` argument.
2016-04-25 14:27:29 +09:00
practicalswift
17115d07ec [gardening] Fix recent PEP-8 violations. 2016-04-24 21:52:31 +02:00
rintaro ishizaki
3dac5e6f42 [build-script] Simplify arguments migration process.
Before, we have to explicitly specify migrated args:

  migrate_impl_args(argv, [... migrated arg list ...])

This change makes all *unknown* arguments to be automatically forwarded to
'build-script-impl'.
2016-04-21 22:46:05 +09:00
rintaro ishizaki
a8ee8c33ec [build-script] Check build-script-impl arguments before processing in 'build-script'. 2016-04-21 22:45:43 +09:00
Brian Gesiak
a4537e8a0f [SR-237] Move stdlib deployment targets to Python
Migrate the logic that determines which platforms to build the stdlib
for to Python. This is applies both as an effort to migrate more of the
build script to Python (https://bugs.swift.org/browse/SR-237), but also
as a means of splitting up the work necessary to cross-compile the Swift
stdlib from OS X to Linux.
2016-04-14 16:49:51 -04:00
Harlan
75de4fe083 [build_support] Fixed lingering python3 issue
Another use of iteritems -> explicit key/value
2016-04-11 11:04:07 -07:00
Harlan Haskins
94f6ffc807 [build_support] Fixed python 3 errors 2016-04-08 21:09:26 -07:00
practicalswift
a7f942f207 [Python] Remove unused code. 2016-04-08 22:16:15 +02:00
practicalswift
be78603272 Merge pull request #2100 from practicalswift/gardening-20160408
[gardening] Fix typos. Remove double spaces. Remove tabs in C++ code.
2016-04-08 21:26:37 +02:00
practicalswift
212aba51c6 [gardening] Fix recently introduced typos: "’" → "'", "represention" → "representation", "arcitectures" → "architectures", "refernce" → "reference", "incovation" → "invocation" 2016-04-08 21:22:25 +02:00
David Farler
945c2fb979 swift_build_support: Don't explicitly expect a set of SDKs
Not all machines may have all platforms' SDKs installed.

xcodebuild already has a command to print the versions of all
SDKs installed. For convenience, also provide a function that
returns the identifiers for all installed SDKs.

rdar://problem/25618455
2016-04-08 11:36:27 -07:00
Harlan
de4868a72f [buildsupport] Add empty suffix back to host_clang 2016-04-08 08:21:20 -07:00
Harlan
55f1bb1897 Merge pull request #1586 from harlanhaskins/generic-command-lookup
[build support] Generic prefixed binary lookup function in swift_build_support
2016-04-07 22:18:27 -07:00
Harlan Haskins
f4ba4d3c93 [build support] Fixed python lint warnings 2016-03-28 14:40:05 -07:00
Harlan Haskins
0aad53cf62 [build_support] Added some comments 2016-03-21 13:38:50 -07:00
Harlan Haskins
83535dd90d [build_support] Added test to ensure llvm_cov properly exists 2016-03-21 13:10:28 -07:00
Harlan Haskins
6804328f29 [build_support] Added test to find llvm-cov 2016-03-21 13:08:00 -07:00
Brian Gesiak
2e6e7d8ec0 [gardening][build-script] Fix typo XCRun -> xcrun 2016-03-19 17:29:03 -04:00
Harlan Haskins
af6f844ec9 [build_support] Added generic 'toolchain' lookup 2016-03-18 16:38:53 -07:00
practicalswift
0796eaad1f [Python] Fix 80-column violations 2016-03-09 23:52:11 +01:00