From 4c421c5fd961f6445a74d996fb8c406b55553eb1 Mon Sep 17 00:00:00 2001 From: Luke Larson Date: Thu, 28 Jul 2016 15:43:03 -0700 Subject: [PATCH] Ad-hoc sign stdlib dylibs rdar://problem/27432896 --- cmake/modules/AddSwift.cmake | 7 +++++++ test/Interpreter/objc_runtime_visible.swift | 1 + 2 files changed, 8 insertions(+) diff --git a/cmake/modules/AddSwift.cmake b/cmake/modules/AddSwift.cmake index 3e5c9d8dfa7e6..a84dc10add069 100644 --- a/cmake/modules/AddSwift.cmake +++ b/cmake/modules/AddSwift.cmake @@ -1437,6 +1437,13 @@ function(add_swift_library name) "${UNIVERSAL_LIBRARY_NAME}" ${THIN_INPUT_TARGETS}) + if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin" AND SWIFTLIB_SHARED) + # Ad-hoc sign stdlib dylibs + add_custom_command(TARGET "${name}-${SWIFT_SDK_${sdk}_LIB_SUBDIR}" + POST_BUILD + COMMAND "codesign" "-f" "-s" "-" "${UNIVERSAL_LIBRARY_NAME}") + endif() + # Cache universal libraries for dependency purposes set(UNIVERSAL_LIBRARY_NAMES_${SWIFT_SDK_${sdk}_LIB_SUBDIR} ${UNIVERSAL_LIBRARY_NAMES_${SWIFT_SDK_${sdk}_LIB_SUBDIR}} diff --git a/test/Interpreter/objc_runtime_visible.swift b/test/Interpreter/objc_runtime_visible.swift index f1d22723d0cb7..82701c9af3626 100644 --- a/test/Interpreter/objc_runtime_visible.swift +++ b/test/Interpreter/objc_runtime_visible.swift @@ -1,6 +1,7 @@ // RUN: rm -rf %t && mkdir -p %t // RUN: %clang %target-cc-options -isysroot %sdk -fobjc-arc %S/Inputs/objc_runtime_visible.m -fmodules -nodefaultlibs -lc -dynamiclib -o %t/libobjc_runtime_visible.dylib -install_name @executable_path/libobjc_runtime_visible.dylib +// RUN: codesign -f -s - %t/libobjc_runtime_visible.dylib // RUN: nm -g %t/libobjc_runtime_visible.dylib | FileCheck %s // RUN: %target-build-swift -import-objc-header %S/Inputs/objc_runtime_visible.h %t/libobjc_runtime_visible.dylib %s -o %t/main // RUN: %target-run %t/main %t/libobjc_runtime_visible.dylib