forked from OSchip/llvm-project
Disable 64bit file position on old 32 bit Androids.
This is needed for building LLVM on Android with new NDK (newer than r15c) and API level < 24. Android C library (Bionic) didn't have support for 64 bit file position until Android N. Differential Revision: https://reviews.llvm.org/D37314 llvm-svn: 312389
This commit is contained in:
parent
520608b268
commit
66395c947e
|
@ -233,8 +233,12 @@ if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
|
|||
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
|
||||
|
||||
# If building on a GNU specific 32-bit system, make sure off_t is 64 bits
|
||||
# so that off_t can stored offset > 2GB
|
||||
if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
|
||||
# so that off_t can stored offset > 2GB.
|
||||
# Android until version N (API 24) doesn't support it.
|
||||
if (ANDROID AND (ANDROID_NATIVE_API_LEVEL LESS 24))
|
||||
set(LLVM_FORCE_SMALLFILE_FOR_ANDROID TRUE)
|
||||
endif()
|
||||
if( CMAKE_SIZEOF_VOID_P EQUAL 4 AND NOT LLVM_FORCE_SMALLFILE_FOR_ANDROID)
|
||||
add_definitions( -D_LARGEFILE_SOURCE )
|
||||
add_definitions( -D_FILE_OFFSET_BITS=64 )
|
||||
endif()
|
||||
|
@ -303,13 +307,13 @@ if( MSVC )
|
|||
# especially so std::equal(nullptr, nullptr, nullptr) will not assert.
|
||||
add_definitions("-D_DEBUG_POINTER_IMPL=")
|
||||
endif()
|
||||
|
||||
|
||||
include(ChooseMSVCCRT)
|
||||
|
||||
if( MSVC11 )
|
||||
add_definitions(-D_VARIADIC_MAX=10)
|
||||
endif()
|
||||
|
||||
|
||||
# Add definitions that make MSVC much less annoying.
|
||||
add_definitions(
|
||||
# For some reason MS wants to deprecate a bunch of standard functions...
|
||||
|
@ -370,7 +374,7 @@ if( MSVC )
|
|||
|
||||
string(FIND "${upper_exe_flags} ${upper_module_flags} ${upper_shared_flags}"
|
||||
"/INCREMENTAL" linker_flag_idx)
|
||||
|
||||
|
||||
if (${linker_flag_idx} GREATER -1)
|
||||
message(WARNING "/Brepro not compatible with /INCREMENTAL linking - builds will be non-deterministic")
|
||||
else()
|
||||
|
|
Loading…
Reference in New Issue