Update to MacOSX SDK 11.1, add Mac M1
This commit is contained in:
parent
67e5ca9ad6
commit
a86c4cb75f
|
@ -61,9 +61,9 @@ download-linux: run 'make download-linux' to fetch all sources needed for linux
|
||||||
|
|
||||||
#Darwin (macos) builds:
|
#Darwin (macos) builds:
|
||||||
|
|
||||||
To build with the x86_64-apple-darwin11 you require the mac os developer tools in MacOSX10.11.sdk.
|
To build with the x86_64-apple-darwin11 you require the mac os developer tools in MacOSX11.1.sdk.
|
||||||
Download it from apple, or search for it on github. Create a new directoty called SDKs in this
|
Download it from apple, or search for it on github. Create a new directoty called SDKs in this
|
||||||
directory and place the entire MacOSX10.11.sdk folder in it. The depends build will then pick it up automatically
|
directory and place the entire MacOSX11.1.sdk folder in it. The depends build will then pick it up automatically
|
||||||
(without requiring SDK_PATH).
|
(without requiring SDK_PATH).
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,14 @@
|
||||||
OSX_MIN_VERSION=10.8
|
OSX_MIN_VERSION=10.8
|
||||||
OSX_SDK_VERSION=10.11
|
OSX_SDK_VERSION=11.1
|
||||||
OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
|
OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
|
||||||
LD64_VERSION=253.9
|
LD64_VERSION=253.9
|
||||||
darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -B $(host_prefix)/native/bin
|
ifeq (aarch64, $(host_arch))
|
||||||
darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++ -B $(host_prefix)/native/bin
|
CC_target=arm64-apple-darwin11
|
||||||
|
else
|
||||||
|
CC_target=$(host)
|
||||||
|
endif
|
||||||
|
darwin_CC=clang -target $(CC_target) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -B$(host_prefix)/native/bin/$(host)-
|
||||||
|
darwin_CXX=clang++ -target $(CC_target) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++ -B$(host_prefix)/native/bin/$(host)-
|
||||||
|
|
||||||
darwin_CFLAGS=-pipe
|
darwin_CFLAGS=-pipe
|
||||||
darwin_CXXFLAGS=$(darwin_CFLAGS)
|
darwin_CXXFLAGS=$(darwin_CFLAGS)
|
||||||
|
|
|
@ -69,22 +69,35 @@ set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target
|
||||||
|
|
||||||
# specify the cross compiler to be used. Darwin uses clang provided by the SDK.
|
# specify the cross compiler to be used. Darwin uses clang provided by the SDK.
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
|
if(ARCHITECTURE STREQUAL "aarch64")
|
||||||
|
SET(CLANG_TARGET "arm64-apple-darwin11")
|
||||||
|
SET(CONF_TRIPLE "aarch64-apple-darwin11")
|
||||||
|
SET(BUILD_TAG "mac-armv8")
|
||||||
|
SET(CMAKE_OSX_ARCHITECTURES "arm64")
|
||||||
|
set(ARM ON)
|
||||||
|
set(ARM_ID "armv8-a")
|
||||||
|
else()
|
||||||
|
SET(CLANG_TARGET "x86_64-apple-darwin11")
|
||||||
|
SET(CONF_TRIPLE "x86_64-apple-darwin11")
|
||||||
|
SET(BUILD_TAG "mac-x64")
|
||||||
|
SET(CMAKE_OSX_ARCHITECTURES "x86_64")
|
||||||
|
endif()
|
||||||
|
SET(_CMAKE_TOOLCHAIN_PREFIX @prefix@/native/bin/${CONF_TRIPLE}-)
|
||||||
SET(CMAKE_C_COMPILER @prefix@/native/bin/clang)
|
SET(CMAKE_C_COMPILER @prefix@/native/bin/clang)
|
||||||
SET(CMAKE_C_COMPILER_TARGET x86_64-apple-darwin11)
|
SET(CMAKE_C_COMPILER_TARGET ${CLANG_TARGET})
|
||||||
|
SET(CMAKE_C_FLAGS_INIT -B${_CMAKE_TOOLCHAIN_PREFIX})
|
||||||
SET(CMAKE_CXX_COMPILER @prefix@/native/bin/clang++ -stdlib=libc++)
|
SET(CMAKE_CXX_COMPILER @prefix@/native/bin/clang++ -stdlib=libc++)
|
||||||
SET(CMAKE_CXX_COMPILER_TARGET x86_64-apple-darwin11)
|
SET(CMAKE_CXX_COMPILER_TARGET ${CLANG_TARGET})
|
||||||
SET(CMAKE_ASM_COMPILER_TARGET x86_64-apple-darwin11)
|
SET(CMAKE_CXX_FLAGS_INIT -B${_CMAKE_TOOLCHAIN_PREFIX})
|
||||||
SET(CMAKE_ASM-ATT_COMPILER_TARGET x86_64-apple-darwin11)
|
SET(CMAKE_ASM_COMPILER_TARGET ${CLANG_TARGET})
|
||||||
SET(_CMAKE_TOOLCHAIN_PREFIX x86_64-apple-darwin11-)
|
SET(CMAKE_ASM-ATT_COMPILER_TARGET ${CLANG_TARGET})
|
||||||
SET(APPLE True)
|
SET(APPLE True)
|
||||||
SET(BUILD_TAG "mac-x64")
|
|
||||||
SET(BUILD_64 ON)
|
SET(BUILD_64 ON)
|
||||||
SET(BREW OFF)
|
SET(BREW OFF)
|
||||||
SET(PORT OFF)
|
SET(PORT OFF)
|
||||||
SET(CMAKE_OSX_SYSROOT "@sdk@/MacOSX10.11.sdk/")
|
SET(CMAKE_OSX_SYSROOT "@sdk@/MacOSX11.1.sdk/")
|
||||||
SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.08")
|
SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.08")
|
||||||
SET(CMAKE_CXX_STANDARD 14)
|
SET(CMAKE_CXX_STANDARD 14)
|
||||||
SET(CMAKE_OSX_ARCHITECTURES "x86_64")
|
|
||||||
SET(LLVM_ENABLE_PIC OFF)
|
SET(LLVM_ENABLE_PIC OFF)
|
||||||
SET(LLVM_ENABLE_PIE OFF)
|
SET(LLVM_ENABLE_PIE OFF)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
|
@ -126,7 +139,7 @@ elseif(ARCHITECTURE STREQUAL "aarch64")
|
||||||
set(ARM_ID "armv8-a")
|
set(ARM_ID "armv8-a")
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
set(BUILD_TAG "android-armv8")
|
set(BUILD_TAG "android-armv8")
|
||||||
else()
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set(BUILD_TAG "linux-armv8")
|
set(BUILD_TAG "linux-armv8")
|
||||||
endif()
|
endif()
|
||||||
set(BUILD_64 ON)
|
set(BUILD_64 ON)
|
||||||
|
|
|
@ -53,8 +53,8 @@ docker build --pull -f ${TAG}.Dockerfile -t $TAG .
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
docker run -v /var/run/docker.sock:/var/run/docker.sock -d --name gitrun $TAG
|
docker run -v /var/run/docker.sock:/var/run/docker.sock -d --name gitrun $TAG
|
||||||
if [ -f MacOSX10.11.sdk.tar.gz ]; then
|
if [ -f MacOSX11.1.sdk.tar.xz ]; then
|
||||||
docker cp MacOSX10.11.sdk.tar.gz gitrun:$WORKDIR/builder/inputs/
|
docker cp MacOSX11.1.sdk.tar.xz gitrun:$WORKDIR/builder/inputs/
|
||||||
else
|
else
|
||||||
echo "No MacOS SDK found, Mac builds will be omitted"
|
echo "No MacOS SDK found, Mac builds will be omitted"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -162,7 +162,7 @@ def main():
|
||||||
|
|
||||||
# Disable MacOS build if no SDK found
|
# Disable MacOS build if no SDK found
|
||||||
args.nomac = False
|
args.nomac = False
|
||||||
if 'm' in args.os and not os.path.isfile('builder/inputs/MacOSX10.11.sdk.tar.gz'):
|
if 'm' in args.os and not os.path.isfile('builder/inputs/MacOSX11.1.sdk.tar.xz'):
|
||||||
if args.build:
|
if args.build:
|
||||||
print('Cannot build for MacOS, SDK does not exist. Will build for other OSes')
|
print('Cannot build for MacOS, SDK does not exist. Will build for other OSes')
|
||||||
args.nomac = True
|
args.nomac = True
|
||||||
|
|
|
@ -27,10 +27,10 @@ remotes:
|
||||||
- "url": "https://github.com/monero-project/monero.git"
|
- "url": "https://github.com/monero-project/monero.git"
|
||||||
"dir": "monero"
|
"dir": "monero"
|
||||||
files:
|
files:
|
||||||
- "MacOSX10.11.sdk.tar.gz"
|
- "MacOSX11.1.sdk.tar.xz"
|
||||||
script: |
|
script: |
|
||||||
WRAP_DIR=$HOME/wrapped
|
WRAP_DIR=$HOME/wrapped
|
||||||
HOSTS="x86_64-apple-darwin11"
|
HOSTS="x86_64-apple-darwin11 aarch64-apple-darwin11"
|
||||||
FAKETIME_HOST_PROGS=""
|
FAKETIME_HOST_PROGS=""
|
||||||
FAKETIME_PROGS="ar ranlib date dmg genisoimage python"
|
FAKETIME_PROGS="ar ranlib date dmg genisoimage python"
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ script: |
|
||||||
BASEPREFIX=`pwd`/contrib/depends
|
BASEPREFIX=`pwd`/contrib/depends
|
||||||
|
|
||||||
mkdir -p ${BASEPREFIX}/SDKs
|
mkdir -p ${BASEPREFIX}/SDKs
|
||||||
tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.11.sdk.tar.gz
|
tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX11.1.sdk.tar.xz
|
||||||
|
|
||||||
# Build dependencies for each host
|
# Build dependencies for each host
|
||||||
export TAR_OPTIONS=--mtime=2000-01-01T12:00:00
|
export TAR_OPTIONS=--mtime=2000-01-01T12:00:00
|
||||||
|
|
Loading…
Reference in New Issue