Skip to content

Commit 21f7878

Browse files
Refactor and adopt package access to remove symlinked files (#265)
1 parent 735a29c commit 21f7878

26 files changed

+119
-96
lines changed

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ endif()
3131
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
3232
set(CMAKE_Swift_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/swift)
3333

34+
set(SWIFT_CRYPTO_COMPILE_OPTIONS
35+
-package-name com.apple.swift-crypto
36+
)
37+
3438
option(BUILD_SHARED_LIBS "Build shared libraries by default" YES)
3539

3640
if(BUILD_SHARED_LIBS)

Package.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ let package = Package(
135135
"Signatures/ECDSA.swift.gyb",
136136
],
137137
resources: privacyManifestResource,
138-
swiftSettings: swiftSettings + [.define("MODULE_IS_CRYPTO")]
138+
swiftSettings: swiftSettings
139139
),
140140
.target(
141141
name: "_CryptoExtras",
@@ -173,6 +173,7 @@ let package = Package(
173173
swiftSettings: swiftSettings
174174
),
175175
.testTarget(name: "_CryptoExtrasTests", dependencies: ["_CryptoExtras"]),
176+
.testTarget(name: "CryptoBoringWrapperTests", dependencies: ["CryptoBoringWrapper"]),
176177
],
177178
cxxLanguageStandard: .cxx11
178179
)

Sources/Crypto/AEADs/AES/GCM/BoringSSL/AES-GCM_boring.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
@_exported import CryptoKit
1616
#else
1717
@_implementationOnly import CCryptoBoringSSL
18-
@_implementationOnly import CryptoBoringWrapper
18+
import CryptoBoringWrapper
1919
import Foundation
2020

2121
enum OpenSSLAESGCMImpl {

Sources/Crypto/AEADs/ChachaPoly/BoringSSL/ChaChaPoly_boring.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#else
1717
@_implementationOnly import CCryptoBoringSSL
1818
@_implementationOnly import CCryptoBoringSSLShims
19-
@_implementationOnly import CryptoBoringWrapper
19+
import CryptoBoringWrapper
2020
import Foundation
2121

2222
extension BoringSSLAEAD {

Sources/Crypto/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,6 @@ add_library(Crypto
8989
"Util/BoringSSL/CryptoKitErrors_boring.swift"
9090
"Util/BoringSSL/RNG_boring.swift"
9191
"Util/BoringSSL/SafeCompare_boring.swift"
92-
"Util/BoringSSL/Shared/ArbitraryPrecisionInteger_boring.swift"
93-
"Util/BoringSSL/Shared/FiniteFieldArithmeticContext_boring.swift"
9492
"Util/BoringSSL/Zeroization_boring.swift"
9593
"Util/PrettyBytes.swift"
9694
"Util/SafeCompare.swift"
@@ -115,6 +113,7 @@ target_link_libraries(Crypto PUBLIC
115113
CCryptoBoringSSL
116114
CCryptoBoringSSLShims
117115
CryptoBoringWrapper)
116+
target_compile_options(Crypto PRIVATE ${SWIFT_CRYPTO_COMPILE_OPTIONS})
118117
set_target_properties(Crypto PROPERTIES
119118
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})
120119

Sources/Crypto/Keys/EC/BoringSSL/EllipticCurvePoint_boring.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
@_exported import CryptoKit
1616
#else
1717
@_implementationOnly import CCryptoBoringSSL
18+
import CryptoBoringWrapper
1819

1920
/// A wrapper around BoringSSL's EC_POINT with some lifetime management.
2021
@usableFromInline

Sources/Crypto/Keys/EC/BoringSSL/EllipticCurve_boring.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
@_exported import CryptoKit
1616
#else
1717
@_implementationOnly import CCryptoBoringSSL
18+
import CryptoBoringWrapper
1819

1920
/// A wrapper around BoringSSL's EC_GROUP object that handles reference counting and
2021
/// liveness.

Sources/Crypto/Keys/EC/BoringSSL/NISTCurvesKeys_boring.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#else
1717
@_implementationOnly import CCryptoBoringSSL
1818
@_implementationOnly import CCryptoBoringSSLShims
19+
import CryptoBoringWrapper
1920
import Foundation
2021

2122
@usableFromInline

Sources/Crypto/Signatures/BoringSSL/ECDSASignature_boring.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#else
1717
@_implementationOnly import CCryptoBoringSSL
1818
@_implementationOnly import CCryptoBoringSSLShims
19+
import CryptoBoringWrapper
1920
import Foundation
2021

2122
/// A wrapper around BoringSSL's ECDSA_SIG with some lifetime management.

Sources/CryptoBoringWrapper/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414

1515
add_library(CryptoBoringWrapper STATIC
1616
"AEAD/BoringSSLAEAD.swift"
17-
"CryptoKitErrors_boring.swift")
17+
"CryptoKitErrors_boring.swift"
18+
"Util/ArbitraryPrecisionInteger_boring.swift"
19+
"Util/FiniteFieldArithmeticContext_boring.swift")
1820

1921
target_include_directories(CryptoBoringWrapper PUBLIC
2022
$<TARGET_PROPERTY:CCryptoBoringSSL,INCLUDE_DIRECTORIES>
@@ -25,6 +27,8 @@ target_link_libraries(CryptoBoringWrapper PUBLIC
2527
CCryptoBoringSSL
2628
CCryptoBoringSSLShims)
2729

30+
target_compile_options(CryptoBoringWrapper PRIVATE ${SWIFT_CRYPTO_COMPILE_OPTIONS})
31+
2832
set_target_properties(CryptoBoringWrapper PROPERTIES
2933
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})
3034

0 commit comments

Comments
 (0)