Merge nucleic/humble-fern-egret-60xo into dev
This commit is contained in:
@@ -156,9 +156,19 @@ function Invoke-Swift([string[]]$SwiftArgs, [hashtable]$Sql) {
|
|||||||
# depends on clang honouring CPATH — if it didn't, the failure would be an inscrutable
|
# depends on clang honouring CPATH — if it didn't, the failure would be an inscrutable
|
||||||
# "'sqlite3.h' file not found" from inside GRDB's module build. -Xlinker only matters
|
# "'sqlite3.h' file not found" from inside GRDB's module build. -Xlinker only matters
|
||||||
# when something actually links (tests, executables); a library build needs just the -I.
|
# when something actually links (tests, executables); a library build needs just the -I.
|
||||||
|
#
|
||||||
|
# TEMPORARY — /FORCE:MULTIPLE (docs/WINDOWS_PORT.md §14.1.1). swift-crypto's
|
||||||
|
# CCryptoBoringSSL and swift-nio-ssl's CNIOBoringSSL both land in every Windows link, and
|
||||||
|
# `p_thread_callback_boringssl` (crypto/thread_win.cc) collides between them: BoringSSL's
|
||||||
|
# prefix maps are generated by building on a POSIX host, so symbols from the Windows-only
|
||||||
|
# translation units are never prefixed. The same pair links clean on Linux, where the
|
||||||
|
# equivalent file is thread_pthread.c and IS prefixed. Drop this flag the moment one copy
|
||||||
|
# carries the prefix — it is global, so it also downgrades any FUTURE duplicate to a
|
||||||
|
# warning. Read the warnings.
|
||||||
$full = @($SwiftArgs) + @(
|
$full = @($SwiftArgs) + @(
|
||||||
'-Xcc', "-I$($Sql.Include)",
|
'-Xcc', "-I$($Sql.Include)",
|
||||||
'-Xlinker', "-LIBPATH:$($Sql.Lib)")
|
'-Xlinker', "-LIBPATH:$($Sql.Lib)",
|
||||||
|
'-Xlinker', '/FORCE:MULTIPLE')
|
||||||
Write-Note "swift $($full -join ' ')"
|
Write-Note "swift $($full -join ' ')"
|
||||||
# Out-Host, not the pipeline: a native command's stdout would otherwise become this
|
# Out-Host, not the pipeline: a native command's stdout would otherwise become this
|
||||||
# function's return value, and the caller's exit-code check would see an array.
|
# function's return value, and the caller's exit-code check would see an array.
|
||||||
|
|||||||
Reference in New Issue
Block a user