More work on ARM target

This commit is contained in:
Thomas Pöchtrager 2020-08-16 19:26:58 +02:00
parent 261de10511
commit 5489149683
3 changed files with 21 additions and 12 deletions

View File

@ -257,10 +257,25 @@ fi
cp -f "$BASE_DIR/tools/toolchain.cmake" "$TARGET_DIR/"
cp -f "$BASE_DIR/tools/osxcross-cmake" "$TARGET_DIR/bin/"
chmod 755 "$TARGET_DIR/bin/osxcross-cmake"
create_symlink osxcross-cmake "$TARGET_DIR/bin/i386-apple-$TARGET-cmake"
if [ $I386_SUPPORTED -eq 1 ]; then
create_symlink osxcross-cmake "$TARGET_DIR/bin/i386-apple-$TARGET-cmake"
fi
create_symlink osxcross-cmake "$TARGET_DIR/bin/x86_64-apple-$TARGET-cmake"
if [ $X86_64H_SUPPORTED -eq 1 ]; then
create_symlink osxcross-cmake "$TARGET_DIR/bin/x86_64h-apple-$TARGET-cmake"
fi
if [ $ARM_SUPPORTED -eq 1 ]; then
create_symlink osxcross-cmake "$TARGET_DIR/bin/arm64-apple-$TARGET-cmake"
create_symlink osxcross-cmake "$TARGET_DIR/bin/arm64e-apple-$TARGET-cmake"
fi
## Compiler test ##
unset MACOSX_DEPLOYMENT_TARGET

View File

@ -21,15 +21,8 @@ set(CMAKE_SYSTEM_NAME "Darwin")
string(REGEX REPLACE "-.*" "" CMAKE_SYSTEM_PROCESSOR "${OSXCROSS_HOST}")
# specify the cross compiler
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
set(CMAKE_C_COMPILER "${OSXCROSS_TARGET_DIR}/bin/o32-clang")
set(CMAKE_CXX_COMPILER "${OSXCROSS_TARGET_DIR}/bin/o32-clang++")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(CMAKE_C_COMPILER "${OSXCROSS_TARGET_DIR}/bin/o64-clang")
set(CMAKE_CXX_COMPILER "${OSXCROSS_TARGET_DIR}/bin/o64-clang++")
else()
message(FATAL_ERROR "Unrecognized target architecture")
endif()
set(CMAKE_C_COMPILER "${OSXCROSS_TARGET_DIR}/bin/${OSXCROSS_HOST}-clang")
set(CMAKE_CXX_COMPILER "${OSXCROSS_TARGET_DIR}/bin/${OSXCROSS_HOST}-clang++")
# where is the target environment
set(CMAKE_FIND_ROOT_PATH

View File

@ -809,8 +809,9 @@ bool Target::setup() {
if (OSNum.Num()) {
std::string tmp;
tmp = "-mmacosx-version-min=";
if (OSNum >= OSVersion(11, 0)) {
// Fix this once clang is able to parse 11.x
if (clangversion <= ClangVersion(11, 0) &&
OSNum >= OSVersion(11, 0)) {
// Clang <= 11.0 can't parse -mmacosx-version-min=11.x
tmp += "10.16";
} else {
tmp += OSNum.Str();