61
Plugins/BuildFFmpeg/SSL.swift
Normal file
61
Plugins/BuildFFmpeg/SSL.swift
Normal file
@ -0,0 +1,61 @@
|
||||
//
|
||||
// SSL.swift
|
||||
//
|
||||
//
|
||||
// Created by kintan on 12/26/23.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
class BuildOpenSSL: BaseBuild {
|
||||
init() {
|
||||
super.init(library: .openssl)
|
||||
}
|
||||
|
||||
override func frameworks() throws -> [String] {
|
||||
["libssl", "libcrypto"]
|
||||
}
|
||||
|
||||
override func arguments(platform: PlatformType, arch: ArchType) -> [String] {
|
||||
var array = [
|
||||
"--prefix=\(thinDir(platform: platform, arch: arch).path)",
|
||||
"no-async", "no-shared", "no-dso", "no-engine", "no-tests",
|
||||
arch == .x86_64 ? "darwin64-x86_64" : arch == .arm64e ? "iphoneos-cross" : "darwin64-arm64",
|
||||
]
|
||||
if [PlatformType.tvos, .tvsimulator, .watchos, .watchsimulator].contains(platform) {
|
||||
array.append("-DHAVE_FORK=0")
|
||||
}
|
||||
return array
|
||||
}
|
||||
}
|
||||
|
||||
class BuildBoringSSL: BaseBuild {
|
||||
init() {
|
||||
super.init(library: .boringssl)
|
||||
if Utility.shell("which go") == nil {
|
||||
Utility.shell("brew install go")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class BuildLibreSSL: BaseBuild {
|
||||
init() {
|
||||
super.init(library: .libtls)
|
||||
}
|
||||
|
||||
override func cFlags(platform: PlatformType, arch: ArchType) -> [String] {
|
||||
var cFlags = super.cFlags(platform: platform, arch: arch)
|
||||
if [PlatformType.tvos, .tvsimulator, .watchos, .watchsimulator].contains(platform) {
|
||||
cFlags.append("-DOPENSSL_NO_SPEED=1")
|
||||
}
|
||||
return cFlags
|
||||
}
|
||||
|
||||
override func environment(platform: PlatformType, arch: ArchType) -> [String: String] {
|
||||
var env = super.environment(platform: platform, arch: arch)
|
||||
if [PlatformType.tvos, .tvsimulator, .watchos, .watchsimulator].contains(platform) {
|
||||
env["CFLAGS"]? += " -DOPENSSL_NO_SPEED=1"
|
||||
}
|
||||
return env
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user