]> Nutra Git (v1) - gamesguru/feather.git/commitdiff
macOS: bump minimum runtime
authortobtoht <tob@featherwallet.org>
Mon, 26 Jun 2023 11:49:59 +0000 (13:49 +0200)
committertobtoht <tob@featherwallet.org>
Mon, 26 Jun 2023 13:58:41 +0000 (15:58 +0200)
Based on Bitcoin PRs: 27721, 27798, 27676

contrib/depends/hosts/darwin.mk
contrib/depends/packages/native_clang.mk
contrib/depends/toolchain.cmake.in
contrib/guix/manifest.scm
contrib/macdeploy/Info.plist.in

index 133def0f8c02cdaf25248e462e6d7293b4cf98d5..96949cfd797362c87b1acbe08c49e99ddff09861 100644 (file)
@@ -1,4 +1,4 @@
-OSX_MIN_VERSION=10.14
+OSX_MIN_VERSION=11.0
 OSX_SDK_VERSION=11.0
 XCODE_VERSION=12.2
 XCODE_BUILD_ID=12B45b
@@ -18,7 +18,6 @@ darwin_native_toolchain=native_cctools darwin_sdk
 clang_prog=$(build_prefix)/bin/clang
 clangxx_prog=$(clang_prog)++
 
-clang_resource_dir=$(build_prefix)/lib/clang/$(native_clang_version)
 else
 # FORCE_USE_SYSTEM_CLANG is non-empty, so we use the clang from the user's
 # system
@@ -60,41 +59,22 @@ $(foreach TOOL,$(cctools_TOOLS),$(eval darwin_$(TOOL) = $$(build_prefix)/bin/$$(
 #         Explicitly point to our binaries (e.g. cctools) so that they are
 #         ensured to be found and preferred over other possibilities.
 #
-#     -stdlib=libc++ -stdlib++-isystem$(OSX_SDK)/usr/include/c++/v1
+#     -isysroot$(OSX_SDK) -nostdlibinc
 #
-#         Forces clang to use the libc++ headers from our SDK and completely
-#         forget about the libc++ headers from the standard directories
+#         Disable default include paths built into the compiler as well as
+#         those normally included for libc and libc++. The only path that
+#         remains implicitly is the clang resource dir.
 #
-#     -Xclang -*system<path_a> \
-#     -Xclang -*system<path_b> \
-#     -Xclang -*system<path_c> ...
+#     -iwithsysroot / -iframeworkwithsysroot
 #
-#         Adds path_a, path_b, and path_c to the bottom of clang's list of
-#         include search paths. This is used to explicitly specify the list of
-#         system include search paths and its ordering, rather than rely on
-#         clang's autodetection routine. This routine has been shown to:
-#             1. Fail to pickup libc++ headers in $SYSROOT/usr/include/c++/v1
-#                when clang was built manually (see: https://github.com/bitcoin/bitcoin/pull/17919#issuecomment-656785034)
-#             2. Fail to pickup C headers in $SYSROOT/usr/include when
-#                C_INCLUDE_DIRS was specified at configure time (see: https://gist.github.com/dongcarl/5cdc6990b7599e8a5bf6d2a9c70e82f9)
-#
-#         Talking directly to cc1 with -Xclang here grants us access to specify
-#         more granular categories for these system include search paths, and we
-#         can use the correct categories that these search paths would have been
-#         placed in if the autodetection routine had worked correctly. (see:
-#         https://gist.github.com/dongcarl/5cdc6990b7599e8a5bf6d2a9c70e82f9#the-treatment)
-#
-#         Furthermore, it places these search paths after any "non-Xclang"
-#         specified search paths. This prevents any additional clang options or
-#         environment variables from coming after or in between these system
-#         include search paths, as that would be wrong in general but would also
-#         break #include_next's.
+#         Adds the desired paths from the SDK
 #
+
 darwin_CC_=--target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
            -B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
            -isysroot$(OSX_SDK) \
-           -Xclang -internal-externc-isystem$(clang_resource_dir)/include \
-           -Xclang -internal-externc-isystem$(OSX_SDK)/usr/include
+           -isysroot$(OSX_SDK) -nostdlibinc \
+           -iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks
 darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
               -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \
               -u LIBRARY_PATH \
@@ -102,11 +82,9 @@ darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
 
 darwin_CXX_=--target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
             -B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
-            -isysroot$(OSX_SDK) \
-            -stdlib=libc++ \
-            -stdlib++-isystem$(OSX_SDK)/usr/include/c++/v1 \
-            -Xclang -internal-externc-isystem$(clang_resource_dir)/include \
-            -Xclang -internal-externc-isystem$(OSX_SDK)/usr/include
+            -isysroot$(OSX_SDK) -nostdlibinc \
+            -iwithsysroot/usr/include/c++/v1 \
+            -iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks
 darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
                -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \
                -u LIBRARY_PATH \
index 245269a9d342a88de52637cad07b6f990fb69b0c..8a9389f789ff52fd931ed465437d14280c51bdaf 100644 (file)
@@ -1,12 +1,12 @@
 package=native_clang
-$(package)_version=10.0.1
+$(package)_version=11.1.0
 $(package)_download_path=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version)
 ifneq (,$(findstring aarch64,$(BUILD)))
 $(package)_file_name=clang+llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz
-$(package)_sha256_hash=90dc69a4758ca15cd0ffa45d07fbf5bf4309d47d2c7745a9f0735ecffde9c31f
+$(package)_sha256_hash=18df38247af3fba0e0e2991fb00d7e3cf3560b4d3509233a14af699ef0039e1c
 else
 $(package)_file_name=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-16.04.tar.xz
-$(package)_sha256_hash=48b83ef827ac2c213d5b64f5ad7ed082c8bcb712b46644e0dc5045c6f462c231
+$(package)_sha256_hash=c691a558967fb7709fb81e0ed80d1f775f4502810236aa968b4406526b43bee1
 endif
 
 define $(package)_preprocess_cmds
index dad3cb6602738f87a0c281dd2e7819ba06c27cec..86e826e28052ac321493ffeb83f8fb4df59343cc 100644 (file)
@@ -14,7 +14,7 @@ SET(ARCH "default")
 SET(BUILD_TESTS @build_tests@)
 SET(TREZOR_DEBUG @build_tests@)
 
-# where is the target environment 
+# where is the target environment
 SET(CMAKE_FIND_ROOT_PATH @prefix@)
 
 if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
@@ -110,7 +110,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
   SET(BREW OFF)
   SET(PORT OFF)
   SET(CMAKE_OSX_SYSROOT "@prefix@/native/SDK")
-  SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
+  SET(CMAKE_OSX_DEPLOYMENT_TARGET "11")
   SET(CMAKE_CXX_STANDARD 14)
   SET(LLVM_ENABLE_PIC OFF)
   SET(LLVM_ENABLE_PIE OFF)
index d743003c0a29dd90148eebebad9336d85a915573..c1185af619813dc12d0ac64e34b8769d8e1e6272 100644 (file)
@@ -349,5 +349,5 @@ chain for " target " development."))
           ((string-contains target "-linux-")
            (list (make-bitcoin-cross-toolchain target)))
           ((string-contains target "darwin")
-           (list clang-toolchain-10 binutils ldid))
+           (list clang-toolchain-11 binutils ldid))
           (else '())))))
index 915d66712a5a6e81e99ad1d2d8d457d0c21dfebd..5677797127f09f9650e08819eeb3fa85aa27e9d0 100644 (file)
@@ -3,7 +3,7 @@
 <plist version="0.9">
 <dict>
   <key>LSMinimumSystemVersion</key>
-  <string>10.14.0</string>
+  <string>11</string>
 
   <key>LSArchitecturePriority</key>
   <array>