mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[android] misc stdlib build fixes
This commit is contained in:
@@ -541,13 +541,16 @@ function(_add_target_variant_link_flags)
|
||||
list(APPEND link_libraries "dl" "log")
|
||||
# We need to add the math library, which is linked implicitly by libc++
|
||||
list(APPEND result "-lm")
|
||||
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
|
||||
if("${SWIFT_ANDROID_NDK_PATH}" MATCHES "r26")
|
||||
file(GLOB RESOURCE_DIR ${SWIFT_SDK_ANDROID_ARCH_${LFLAGS_ARCH}_PATH}/../lib/clang/*)
|
||||
else()
|
||||
file(GLOB RESOURCE_DIR ${SWIFT_SDK_ANDROID_ARCH_${LFLAGS_ARCH}_PATH}/../lib64/clang/*)
|
||||
if(NOT CMAKE_HOST_SYSTEM MATCHES Windows)
|
||||
# The Android resource dir is specified from build.ps1 on windows.
|
||||
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
|
||||
if("${SWIFT_ANDROID_NDK_PATH}" MATCHES "r26")
|
||||
file(GLOB RESOURCE_DIR ${SWIFT_SDK_ANDROID_ARCH_${LFLAGS_ARCH}_PATH}/../lib/clang/*)
|
||||
else()
|
||||
file(GLOB RESOURCE_DIR ${SWIFT_SDK_ANDROID_ARCH_${LFLAGS_ARCH}_PATH}/../lib64/clang/*)
|
||||
endif()
|
||||
list(APPEND result "-resource-dir=${RESOURCE_DIR}")
|
||||
endif()
|
||||
list(APPEND result "-resource-dir=${RESOURCE_DIR}")
|
||||
endif()
|
||||
|
||||
# link against the custom C++ library
|
||||
@@ -3062,9 +3065,14 @@ function(add_swift_target_executable name)
|
||||
# it tries to build swift-backtrace it fails because *the compiler*
|
||||
# refers to a libswiftCore.so that can't be found.
|
||||
|
||||
if(SWIFTEXE_TARGET_NOSWIFTRT)
|
||||
set(NOSWIFTRT_KEYWORD "NOSWIFTRT")
|
||||
else()
|
||||
set(NOSWIFTRT_KEYWORD "")
|
||||
endif()
|
||||
_add_swift_target_executable_single(
|
||||
${VARIANT_NAME}
|
||||
${SWIFTEXE_TARGET_NOSWIFTRT_keyword}
|
||||
${NOSWIFTRT_KEYWORD}
|
||||
${SWIFTEXE_TARGET_SOURCES}
|
||||
DEPENDS
|
||||
${SWIFTEXE_TARGET_DEPENDS_with_suffix}
|
||||
|
||||
@@ -42,6 +42,9 @@ struct MinimalDispatchObjectHeader {
|
||||
int Opaque1;
|
||||
void *Linkage;
|
||||
};
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wgnu-offsetof-extensions"
|
||||
static_assert(
|
||||
offsetof(Job, metadata) == offsetof(MinimalDispatchObjectHeader, VTable),
|
||||
"Job Metadata field must match location of Dispatch VTable field.");
|
||||
@@ -49,6 +52,7 @@ static_assert(offsetof(Job, SchedulerPrivate[Job::DispatchLinkageIndex]) ==
|
||||
offsetof(MinimalDispatchObjectHeader, Linkage),
|
||||
"Dispatch Linkage field must match Job "
|
||||
"SchedulerPrivate[DispatchLinkageIndex].");
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
/// The function passed to dispatch_async_f to execute a job.
|
||||
static void __swift_run_job(void *_job) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
add_swift_target_executable(swift-reflection-test BUILD_WITH_STDLIB
|
||||
NOSWIFTRT
|
||||
swift-reflection-test.c
|
||||
overrides.c
|
||||
LINK_LIBRARIES
|
||||
|
||||
Reference in New Issue
Block a user