From f0dae2fbbfd0d0185b943e785de6e194b3c678ab Mon Sep 17 00:00:00 2001 From: Jamie Snape Date: Wed, 3 Feb 2021 08:52:46 -0500 Subject: [PATCH 1/3] Allow for new macOS versioning scheme --- tools/workspace/os.bzl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tools/workspace/os.bzl b/tools/workspace/os.bzl index d33b972419e6..27801b9d54f1 100644 --- a/tools/workspace/os.bzl +++ b/tools/workspace/os.bzl @@ -106,13 +106,16 @@ def _determine_macos(repository_ctx): return _make_result(error = error_prologue + sw_vers.error) major_minor_versions = sw_vers.stdout.strip().split(".")[:2] - macos_release = ".".join(major_minor_versions) + if int(major_minor_versions[0]) < 11: + macos_release = ".".join(major_minor_versions) + else: + macos_release = major_minor_versions[0] # Match supported macOS release(s). - if macos_release in ["10.15", "11.0"]: - if macos_release == "11.0": + if macos_release in ["10.15", "11"]: + if macos_release == "11": print( - "WARNING: macOS Big Sur 11.0 is NOT yet supported. " + + "WARNING: macOS Big Sur 11.x is NOT yet supported. " + "Compilation, tests, and/or other functionality may fail.", ) return _make_result(macos_release = macos_release) @@ -135,7 +138,8 @@ def determine_os(repository_ctx): - error: str iff any error occurred, else None - distribution: str either "ubuntu" or "macos" if no error - is_macos: True iff on a supported macOS release, else False - - macos_release: str like "10.15" iff on a supported macOS, else None + - macos_release: str like "10.15" or "11" iff on a supported macOS, + else None - is_ubuntu: True iff on a supported Ubuntu version, else False - ubuntu_release: str like "18.04" iff on a supported ubuntu, else None """ From e05aa5a01e28716d2b8d99a18678508ff92586f5 Mon Sep 17 00:00:00 2001 From: Jamie Snape Date: Wed, 3 Feb 2021 08:52:46 -0500 Subject: [PATCH 2/3] Sync minimum compiler and CMake versions for macOS --- CMakeLists.txt | 2 +- doc/developers.rst | 4 ++-- tools/workspace/cc/repository.bzl | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e50d49c81e16..e5881bbdf97d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,7 +108,7 @@ endif() # The minimum compiler versions should match those listed in both # doc/developers.rst and tools/workspace/cc/repository.bzl. -set(MINIMUM_APPLE_CLANG_VERSION 11) +set(MINIMUM_APPLE_CLANG_VERSION 12) set(MINIMUM_CLANG_VERSION 9) set(MINIMUM_GNU_VERSION 7.5) diff --git a/doc/developers.rst b/doc/developers.rst index 52f5b192c089..c57d88e2e036 100644 --- a/doc/developers.rst +++ b/doc/developers.rst @@ -85,8 +85,8 @@ Drake requires a compiler running in C++17 mode. | Ubuntu 20.04 LTS (Focal Fossa) | | 3.16 | | GCC 9.3 (default) | | 3.8 | | | | | | Clang 9 | | | +----------------------------------+ +-------+---------------------+-------------------+ | -| macOS Catalina (10.15) | | 3.18 | | Apple LLVM 12.0.0 | | AdoptOpenJDK 15 | | -| | | | | (Xcode 12.2) | | (HotSpot JVM) | | +| macOS Catalina (10.15) | | 3.19 | | Apple LLVM 12.0.0 | | AdoptOpenJDK 15 | | +| | | | | (Xcode 12.4) | | (HotSpot JVM) | | +----------------------------------+-------+-------+---------------------+-------------------+--------+ CPython is the only Python implementation supported. On Ubuntu, amd64 diff --git a/tools/workspace/cc/repository.bzl b/tools/workspace/cc/repository.bzl index 0324608ac1cd..3a4955569328 100644 --- a/tools/workspace/cc/repository.bzl +++ b/tools/workspace/cc/repository.bzl @@ -120,8 +120,8 @@ def _impl(repository_ctx): # even if they happen to support the necessary compiler flags. if compiler_id == "AppleClang": - if compiler_version_major < 11: - fail("AppleClang compiler version {}.{} is less than 11.0.".format( + if compiler_version_major < 12: + fail("AppleClang compiler version {}.{} is less than 12.0.".format( compiler_version_major, compiler_version_minor, )) From ea2d28f6c822350eaabe4680e958ef5dff6def9b Mon Sep 17 00:00:00 2001 From: Jamie Snape Date: Wed, 3 Feb 2021 08:52:47 -0500 Subject: [PATCH 3/3] Remove outdated macOS compiler flag related to Eigen --- tools/macos.bazelrc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tools/macos.bazelrc b/tools/macos.bazelrc index af3797f7be0b..92cdea11409b 100644 --- a/tools/macos.bazelrc +++ b/tools/macos.bazelrc @@ -2,11 +2,6 @@ # N.B. Ensure this is consistent with `execute.bzl`. build --action_env=PATH=/usr/local/bin:/usr/bin:/bin -# Work around alignment-related issues when compiling code that uses -# Eigen <= 3.3.7 with Apple LLVM 11.0.0. Most are fixed in the 3.3 branch of -# Eigen as of commit a5c3d12. -build --copt=-fno-stack-check - # Suppress numerous "'_FORTIFY_SOURCE' macro redefined" warnings when using # sanitizers. build:asan --copt=-Wno-macro-redefined