36309 Commits

Author SHA1 Message Date
Brad King
1d86103846 Merge branch 'vs-cuda-fix-flags' into release-3.9 2017-06-27 09:14:26 -04:00
Brad King
bbc1f3642c VS: Fix support for nvcc flags not in our flag table
The change in commit v3.9.0-rc4~3^2 (VS: Improve workaround for CUDA
-Xcompiler placement bug, 2017-06-21) accidentally appended to the
`AdditionalOptions` as if it were a `;`-separated list, but it is
actually a command-line string.  Append with a space instead.

While at it, fix the same problem for the `AdditionalOptions` added to
`CudaLink` by commit v3.9.0-rc3~1^2 (CUDA: When linking device code
suppress CUDA 8.0+ deprecation warnings, 2017-06-09).

Fixes: #17008
2017-06-27 09:08:50 -04:00
Brad King
c24e665613 Merge branch 'GetPrerequisites-ucrt-no-warn' into release-3.9 2017-06-26 10:34:02 -04:00
Brad King
23451a66ac GetPrerequisites: Do not warn about non-absolute UCRT system libraries
Issue: #17007
2017-06-26 10:33:16 -04:00
Brad King
319bd92589 Merge branch 'toolchain-binutils-advanced' into release-3.9 2017-06-22 14:15:09 -04:00
Brad King
04b2fc08b4 GCC,Clang: Mark CMAKE_<LANG>_COMPILER_{AR,RANLIB} as advanced 2017-06-22 11:33:54 -04:00
Brad King
8fe54172fc CMake 3.9.0-rc4 v3.9.0-rc4 2017-06-22 10:15:07 -04:00
Brad King
c8ee5dbc0c Merge branch 'vs-rc-flags' into release-3.9 2017-06-22 09:52:28 -04:00
Brad King
5ba09a75a2 Merge branch 'android-unified-headers' into release-3.9 2017-06-22 09:52:23 -04:00
Brad King
974f43338b VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGS
Since commit v3.9.0-rc1~160^2 (VS: Use tool-specific flag table for
COMPILE_FLAGS parsing, 2017-05-03) we now correctly use the `rc` flag
table to process the COMPILE_FLAGS flags of `.rc` source files instead
of incorrectly using the `cl` flag table as before.  However, our `rc`
flag table is not complete.  The `/nologo` flag was working before only
by accident because the `cl` flag table entry for it happened to match.
Add the proper entry to the `rc` flag table.

Fixes: #16991
2017-06-22 09:45:42 -04:00
Brad King
5d31793023 Android: Fix include path for unified headers
In commit v3.9.0-rc3~3^2 (Android: Add support for unified headers,
2017-06-12) we accidentally constructed the unified header include
directories from the linking sysroot.  Construct them from the
compiling sysroot instead.

Fixes: #16584
2017-06-22 08:28:44 -04:00
Brad King
3d99244477 Merge branch 'vs-cuda-fix-flags' into release-3.9 2017-06-21 14:24:23 -04:00
Brad King
3b75421515 VS: Improve workaround for CUDA -Xcompiler placement bug
In commit v3.9.0-rc1~431^2~6 (VS: Place CUDA host compiler options in
proper project file fields, 2017-03-07) we worked around a bug in the
CUDA VS integration by dropping `AdditionalCompilerOptions`.  However,
this silently drops `-Xcompiler=` options given by the user that don't
map to one of CudaCompile's dedicated settings.  Improve the workaround
to instead put the remaining `AdditionalCompilerOptions` into the
`AdditionalOptions` field behind `-Xcompiler=` ourselves.
2017-06-21 14:24:11 -04:00
Brad King
f2059585e6 VS: Fix target_compile_options for CUDA
Fix the VS generator to honor `COMPILE_OPTIONS` for CUDA.  The exclusion
added by commit v3.9.0-rc1~431^2~7 (VS: Do not pass CUDA compile options
to C compiler, 2017-03-07) was correct but we need additional logic to
pass the CUDA compile options to the CUDA compiler.  Also we should
still pass the CXX or C options to MSVC (ClCompile) when those languages
are enabled even if the link language is CUDA.
2017-06-21 14:23:46 -04:00
Brad King
fff7d8c666 Merge branch 'vs_csharp_link_to_managed_cxx' into release-3.9 2017-06-21 08:46:12 -04:00
Michael Stürmer
51865fc67e Vs: allow CSharp targets to be linked to CXX targets
Fixes: #16755
2017-06-21 08:37:15 +02:00
Brad King
ab4c3270ae Merge branch 'cuda-version-for-vs' into release-3.9 2017-06-20 10:25:19 -04:00
Brad King
f94213a1ee Help: Update 3.9 release notes with recommended CUDA version for VS
CUDA 8.0.44 contains a bug in its VS integration that breaks
preprocessor definitions in some cases.  Recommend using at least 8.0.61
which fixes the problem.

Fixes: #16993
2017-06-20 10:25:05 -04:00
Brad King
5222289f1e Merge branch 'update-expat' into release-3.9 2017-06-20 09:06:09 -04:00
Brad King
d5afb178f1 expat: Fix compilation on systems without stdint.h 2017-06-20 08:55:48 -04:00
Brad King
0a40c668f5 Merge branch 'upstream-expat' into update-expat
* upstream-expat:
  expat 2017-06-17 (c4446687)
2017-06-19 15:26:00 -04:00
Expat Upstream
4b8a8c226f expat 2017-06-17 (c4446687)
Code extracted from:

    https://github.com/libexpat/libexpat.git

at commit c4446687cfc6c5fd7f6371aeaf24c69402a3589e (R_2_2_1).
2017-06-19 15:25:46 -04:00
Brad King
d9d191a19f expat: Update script to get Expat 2.2.1 2017-06-19 15:25:35 -04:00
Brad King
b7799f07d1 Merge branch 'doc-compile-features' into release-3.9 2017-06-15 10:14:29 -04:00
Brad King
c4610df03c Help: Document that VS 2017 compile features are recorded
They were recorded by commit v3.7.0-rc1~156^2~2 (Features: Record
features for VS 15 Preview 4, 2016-09-05).

Fixes: #16974
2017-06-15 10:11:09 -04:00
Brad King
69d50a7edb Help: Fix typo in Cray/PGI/XL compile features docs
Reported-by: Rolf Eike Beer <eike@sf-mail.de>
2017-06-15 10:08:59 -04:00
Brad King
61c1848cdc Merge branch 'ipo-per-lang' into release-3.9 2017-06-14 15:10:39 -04:00
Brad King
df1c187f2f Merge branch 'update-curl' into release-3.9 2017-06-14 15:10:28 -04:00
Brad King
8e32bebd8d Merge branch 'libuv-restore-fmode' into release-3.9 2017-06-14 15:10:20 -04:00
Brad King
fdacfc6604 Merge branch 'add-missing-compiler-release-notes' into release-3.9 2017-06-14 15:10:12 -04:00
Brad King
871adefce9 cmake: Fix default file translate mode when using libuv
On Windows, libuv's one-time initialization changes the C runtime
library's  `_fmode` setting to `_O_BINARY`, thus causing files to open
as binary after that instead of the default `_O_TEXT` mode.  See
upstream libuv issue 840.  Work around the problem by performing libuv
initialization early and then restoring `_fmode`.

In particular, this currently affects server mode.  Without this fix,
the `_fmode` setting changes when the server mode initializes libuv.

Fixes: #16962
2017-06-14 12:46:03 -04:00
Chuck Atkins
28756437f2 Help: Add docs for new compilers supporting language standards. 2017-06-14 11:54:58 -04:00
Brad King
a3ef36f153 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2017-06-14 (54b636f1)

Resolve a logical conflict in `Utilities/cmcurl/CMakeLists.txt`
by disabling CA bundle/path detection for build within CMake.
CMake already handles locating a CA bundle/path at runtime.
2017-06-14 11:10:22 -04:00
Curl Upstream
06d6d6c4ae curl 2017-06-14 (54b636f1)
Code extracted from:

    https://github.com/curl/curl.git

at commit 54b636f14546d3fde9f9c67c3b32701d78563161 (curl-7_54_1).
2017-06-14 10:46:35 -04:00
Brad King
91101f108d curl: Update script to get curl 7.54.1 2017-06-14 10:46:19 -04:00
Brad King
ba247ccaba IPO: Consider support for each language separately
We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and
Fortran languages.  Do not try to enable support for other languages.
Furthermore, each language builds with a different compiler, so check
for support by CMake and the compiler for each language independently.

Fixes: #16944
2017-06-14 10:36:57 -04:00
Brad King
14c82d14bc Merge branch 'readme-supported-platforms' into release-3.9 2017-06-13 13:10:59 -04:00
Brad King
bf2e4bfbaa README: Update list of supported platforms
Convert to a bullet list.  Drop platforms for which we no longer have
nightly testing.
2017-06-13 13:05:51 -04:00
Brad King
c52b982da6 CMake 3.9.0-rc3 v3.9.0-rc3 2017-06-13 09:59:27 -04:00
Brad King
fb99b0b87b Merge branch 'cuda-dlink-no-deprecated-gpu' into release-3.9 2017-06-13 09:17:06 -04:00
Robert Maynard
7368ade250 CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings
The CUDA compiler automatic deprecation warnings are pure noise when
doing device linking, and should be suppressed to reduce the amount of
confusion from users.
2017-06-13 09:15:19 -04:00
Brad King
70ec0f2ad1 Merge branch 'doc-pkgconfig-list' into release-3.9 2017-06-12 16:24:50 -04:00
Rolf Eike Beer
70a6cb70f6 FindPkgConfig: mention that variables will be ;-lists 2017-06-12 22:03:20 +02:00
Rolf Eike Beer
6610fdbed2 FindPkgConfig: fix confusing indentation 2017-06-12 22:03:20 +02:00
Brad King
05789144bd Merge branch 'android-unified-headers' into release-3.9 2017-06-12 12:59:23 -04:00
Brad King
3d00be13ee Android: Add support for unified headers
The unified headers are preferred as of NDK r15, so use them by default
if available and provide an option to use the deprecated headers.

Inspired-by: Florent Castelli <florent.castelli@gmail.com>
Fixes: #16584
2017-06-12 11:47:30 -04:00
Brad King
a131316a95 Merge branch 'android-standalone-no-sysroot-include' into release-3.9 2017-06-09 16:42:13 -04:00
Brad King
22f8a465d7 Android: Do not pass sysroot include for standalone toolchain
The change in commit v3.8.0-rc1~60^2 (Android: Pass sysroot include
directory explicitly, 2017-01-20) does not make sense when compiling
with a standalone toolchain which is tied to a single API version.
Drop the explicit include directory so that the compiler uses its
default system include order.

Fixes: #16954
2017-06-09 16:28:32 -04:00
Brad King
f83d3e3f2c Merge branch 'android-standalone-unified-api-level' into release-3.9 2017-06-09 14:20:09 -04:00
Brad King
5f93bf787d Android: Detect API version of standalone toolchain with unified headers
A standalone toolchain with unified headers keeps the `__ANDROID_API__`
macro in the `bin/clang` launcher instead of in `api-level.h`.

Issue: #16954
2017-06-09 14:19:52 -04:00