зеркало из https://github.com/mono/mono.git
[sdks] Backport changes from master (#7084)
This allows us to start integration to the products straight from the mono:2017-12 branch, without having to wait for mono:2018-02 to be merged.
This commit is contained in:
Родитель
b232a3929b
Коммит
0d51a8063b
|
@ -2,11 +2,21 @@
|
|||
.stamp-*
|
||||
*.mk.generated
|
||||
*.config.cache
|
||||
mxe-Win32/
|
||||
mxe-Win64/
|
||||
llvm-llvm32/
|
||||
llvm-llvm64/
|
||||
llvm-llvmwin32/
|
||||
llvm-llvmwin64/
|
||||
android-armeabi-*/
|
||||
android-armeabi-v7a-*/
|
||||
android-arm64-v8a-*/
|
||||
android-x86-*/
|
||||
android-x86_64-*/
|
||||
android-host-Darwin/
|
||||
android-host-Linux/
|
||||
android-host-mxe-Win32/
|
||||
android-host-mxe-Win64/
|
||||
ios-target32/
|
||||
ios-target64/
|
||||
ios-cross32/
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
TOP=$(realpath $(CURDIR)/../..)
|
||||
include $(TOP)/sdks/versions.mk
|
||||
include $(TOP)/sdks/paths.mk
|
||||
|
||||
RELEASE?=true
|
||||
|
@ -11,11 +12,30 @@ ifeq (, $(shell which glibtoolize))
|
|||
EXTRA_PATH=$(wildcard /usr/local/Cellar/libtool/*/bin/)
|
||||
endif
|
||||
|
||||
# Some of the targets cannot be built in parallel (ex: mxe). This is a gross hack, but fixing it would mean a unknown
|
||||
# amount of change. For example, we could invoke the MXE targets with `$(MAKE) -f mxe.mk build-mxe-Win32` and move the
|
||||
# .NOTPARALLEL there.
|
||||
.NOTPARALLEL:
|
||||
|
||||
all: package
|
||||
|
||||
## Common Mono targets
|
||||
$(TOP)/configure: $(TOP)/configure.ac $(TOP)/autogen.sh
|
||||
cd $(TOP) && PATH=$(EXTRA_PATH):$$PATH NOCONFIGURE=1 ./autogen.sh
|
||||
|
||||
TARGETS=
|
||||
|
||||
## MXE targets
|
||||
ifndef DISABLE_ANDROID
|
||||
# FIXME add iOS support(?)
|
||||
include mxe.mk
|
||||
endif
|
||||
|
||||
## LLVM targets
|
||||
ifeq ($(and $(DISABLE_ANDROID),$(DISABLE_IOS)),)
|
||||
include llvm.mk
|
||||
endif
|
||||
|
||||
## BCL targets
|
||||
ifndef DISABLE_BCL
|
||||
include bcl.mk
|
||||
|
@ -40,6 +60,8 @@ endif
|
|||
.PHONY: $(foreach target,$(TARGETS),toolchain-$(target))
|
||||
$(foreach target,$(TARGETS),toolchain-$(target)): toolchain-%: .stamp-%-toolchain
|
||||
|
||||
$(foreach target,$(TARGETS),.stamp-$(target)-configure): .stamp-%-configure: .stamp-%-toolchain
|
||||
|
||||
.PHONY: $(foreach target,$(TARGETS),configure-$(target))
|
||||
$(foreach target,$(TARGETS),configure-$(target)): configure-%: .stamp-%-configure
|
||||
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
# Parameters:
|
||||
# $(1): target
|
||||
# $(2): arch
|
||||
# $(3): platform
|
||||
# $(4): abi_name
|
||||
# $(5): host_triple
|
||||
# $(3): abi_name
|
||||
# $(4): host_triple
|
||||
#
|
||||
# Flags:
|
||||
# android_$(1)_CFLAGS
|
||||
|
@ -13,17 +12,17 @@
|
|||
# android_$(1)_LDFLAGS
|
||||
define AndroidTargetTemplate
|
||||
|
||||
_android_$(1)_AR=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-ar
|
||||
_android_$(1)_AS=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-as
|
||||
_android_$(1)_CC=$$(CCACHE) $$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-clang
|
||||
_android_$(1)_CXX=$$(CCACHE) $$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-clang++
|
||||
_android_$(1)_CPP=$$(CCACHE) $$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-cpp -I$$(TOP)/sdks/builds/toolchains/android-$(1)/usr/include
|
||||
_android_$(1)_CXXCPP=$$(CCACHE) $$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-cpp -I$$(TOP)/sdks/builds/toolchains/android-$(1)/usr/include
|
||||
_android_$(1)_AR=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-ar
|
||||
_android_$(1)_AS=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-as
|
||||
_android_$(1)_CC=$$(CCACHE) $$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-clang
|
||||
_android_$(1)_CXX=$$(CCACHE) $$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-clang++
|
||||
_android_$(1)_CPP=$$(CCACHE) $$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-cpp -I$$(TOP)/sdks/builds/toolchains/android-$(1)/usr/include
|
||||
_android_$(1)_CXXCPP=$$(CCACHE) $$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-cpp -I$$(TOP)/sdks/builds/toolchains/android-$(1)/usr/include
|
||||
_android_$(1)_DLLTOOL=
|
||||
_android_$(1)_LD=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-ld
|
||||
_android_$(1)_OBJDUMP="$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-objdump"
|
||||
_android_$(1)_RANLIB=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-ranlib
|
||||
_android_$(1)_STRIP=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(4)-strip
|
||||
_android_$(1)_LD=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-ld
|
||||
_android_$(1)_OBJDUMP="$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-objdump"
|
||||
_android_$(1)_RANLIB=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-ranlib
|
||||
_android_$(1)_STRIP=$$(TOP)/sdks/builds/toolchains/android-$(1)/bin/$(3)-strip
|
||||
|
||||
_android_$(1)_AC_VARS= \
|
||||
mono_cv_uscore=yes \
|
||||
|
@ -45,8 +44,8 @@ _android_$(1)_CXXFLAGS= \
|
|||
_android_$(1)_LDFLAGS= \
|
||||
-z now -z relro -z noexecstack \
|
||||
-ldl -lm -llog -lc -lgcc \
|
||||
-Wl,-rpath-link=$$(NDK_DIR)/platforms/android-$(3)/arch-$(2)/usr/lib,-dynamic-linker=/system/bin/linker \
|
||||
-L$$(NDK_DIR)/platforms/android-$(3)/arch-$(2)/usr/lib \
|
||||
-Wl,-rpath-link=$$(NDK_DIR)/platforms/android-$$(ANDROID_PLATFORM_VERSION_$(1))/arch-$(2)/usr/lib,-dynamic-linker=/system/bin/linker \
|
||||
-L$$(NDK_DIR)/platforms/android-$$(ANDROID_PLATFORM_VERSION_$(1))/arch-$(2)/usr/lib \
|
||||
$$(android_$(1)_LDFLAGS)
|
||||
|
||||
_android_$(1)_CONFIGURE_ENVIRONMENT = \
|
||||
|
@ -66,7 +65,7 @@ _android_$(1)_CONFIGURE_ENVIRONMENT = \
|
|||
RANLIB="$$(_android_$(1)_RANLIB)"
|
||||
|
||||
_android_$(1)_CONFIGURE_FLAGS= \
|
||||
--host=$(5) \
|
||||
--host=$(4) \
|
||||
--cache-file=$$(TOP)/sdks/builds/android-$(1)-$$(CONFIGURATION).config.cache \
|
||||
--prefix=$$(TOP)/sdks/out/android-$(1)-$$(CONFIGURATION) \
|
||||
--disable-boehm \
|
||||
|
@ -83,7 +82,7 @@ _android_$(1)_CONFIGURE_FLAGS= \
|
|||
--without-ikvm-native
|
||||
|
||||
.stamp-android-$(1)-toolchain:
|
||||
python "$$(NDK_DIR)/build/tools/make_standalone_toolchain.py" --verbose --force --api=$(3) --arch=$(2) --install-dir=$$(TOP)/sdks/builds/toolchains/android-$(1)
|
||||
python "$$(NDK_DIR)/build/tools/make_standalone_toolchain.py" --verbose --force --api=$$(ANDROID_PLATFORM_VERSION_$(1)) --arch=$(2) --install-dir=$$(TOP)/sdks/builds/toolchains/android-$(1)
|
||||
touch $$@
|
||||
|
||||
.stamp-android-$(1)-$$(CONFIGURATION)-configure: $$(TOP)/configure .stamp-android-$(1)-toolchain
|
||||
|
@ -127,23 +126,175 @@ endef
|
|||
android_armeabi_CFLAGS=-D__POSIX_VISIBLE=201002 -DSK_RELEASE -DNDEBUG -UDEBUG -fpic -march=armv5te
|
||||
android_armeabi_CXXFLAGS=-D__POSIX_VISIBLE=201002 -DSK_RELEASE -DNDEBUG -UDEBUG -fpic -march=armv5te
|
||||
android_armeabi_LDFLAGS=-Wl,--fix-cortex-a8
|
||||
$(eval $(call AndroidTargetTemplate,armeabi,arm,9,arm-linux-androideabi,armv5-linux-androideabi))
|
||||
$(eval $(call AndroidTargetTemplate,armeabi,arm,arm-linux-androideabi,armv5-linux-androideabi))
|
||||
|
||||
## android-armeabi-v7a
|
||||
android_armeabi-v7a_CFLAGS=-D__POSIX_VISIBLE=201002 -DSK_RELEASE -DNDEBUG -UDEBUG -fpic -march=armv7-a -mtune=cortex-a8 -mfpu=vfp -mfloat-abi=softfp
|
||||
android_armeabi-v7a_CXXFLAGS=-D__POSIX_VISIBLE=201002 -DSK_RELEASE -DNDEBUG -UDEBUG -fpic -march=armv7-a -mtune=cortex-a8 -mfpu=vfp -mfloat-abi=softfp
|
||||
android_armeabi-v7a_LDFLAGS=-Wl,--fix-cortex-a8
|
||||
$(eval $(call AndroidTargetTemplate,armeabi-v7a,arm,9,arm-linux-androideabi,armv5-linux-androideabi))
|
||||
$(eval $(call AndroidTargetTemplate,armeabi-v7a,arm,arm-linux-androideabi,armv5-linux-androideabi))
|
||||
|
||||
## android-arm64-v8a
|
||||
android_arm64-v8a_CFLAGS=-D__POSIX_VISIBLE=201002 -DSK_RELEASE -DNDEBUG -UDEBUG -fpic -DL_cuserid=9 -DANDROID64
|
||||
android_arm64-v8a_CXXFLAGS=-D__POSIX_VISIBLE=201002 -DSK_RELEASE -DNDEBUG -UDEBUG -fpic -DL_cuserid=9 -DANDROID64
|
||||
$(eval $(call AndroidTargetTemplate,arm64-v8a,arm64,21,aarch64-linux-android,aarch64-linux-android))
|
||||
$(eval $(call AndroidTargetTemplate,arm64-v8a,arm64,aarch64-linux-android,aarch64-linux-android))
|
||||
|
||||
## android-x86
|
||||
$(eval $(call AndroidTargetTemplate,x86,x86,9,i686-linux-android,i686-linux-android))
|
||||
$(eval $(call AndroidTargetTemplate,x86,x86,i686-linux-android,i686-linux-android))
|
||||
|
||||
## android-x86_64
|
||||
android_x86_64_CFLAGS=-DL_cuserid=9
|
||||
android_x86_64_CXXFLAGS=-DL_cuserid=9
|
||||
$(eval $(call AndroidTargetTemplate,x86_64,x86_64,21,x86_64-linux-android,x86_64-linux-android))
|
||||
$(eval $(call AndroidTargetTemplate,x86_64,x86_64,x86_64-linux-android,x86_64-linux-android))
|
||||
|
||||
##
|
||||
# Parameters
|
||||
# $(1): target
|
||||
#
|
||||
# Flags:
|
||||
# android_$(1)_CFLAGS
|
||||
#
|
||||
# Notes:
|
||||
# XA doesn't seem to build differently for Darwin and Linux, seems like a bug on their end
|
||||
define AndroidHostTemplate
|
||||
|
||||
_android_$(1)_AR=ar
|
||||
_android_$(1)_AS=as
|
||||
_android_$(1)_CC=cc
|
||||
_android_$(1)_CXX=c++
|
||||
_android_$(1)_CXXCPP=cpp
|
||||
_android_$(1)_LD=ld
|
||||
_android_$(1)_RANLIB=ranlib
|
||||
_android_$(1)_STRIP=strip
|
||||
|
||||
_android_$(1)_CFLAGS= \
|
||||
-ggdb3 -O0 -fno-omit-frame-pointer \
|
||||
$$(android_$(1)_CFLAGS)
|
||||
|
||||
_android_$(1)_CONFIGURE_ENVIRONMENT= \
|
||||
AR="$$(_android_$(1)_AR)" \
|
||||
AS="$$(_android_$(1)_AS)" \
|
||||
CC="$$(_android_$(1)_CC)" \
|
||||
CFLAGS="$$(_android_$(1)_CFLAGS)" \
|
||||
CXX="$$(_android_$(1)_CXX)" \
|
||||
CXXCPP="$$(_android_$(1)_CXXCPP)" \
|
||||
LD="$$(_android_$(1)_LD)" \
|
||||
RANLIB="$$(_android_$(1)_RANLIB)" \
|
||||
STRIP="$$(_android_$(1)_STRIP)"
|
||||
|
||||
_android_$(1)_CONFIGURE_FLAGS= \
|
||||
--cache-file=$$(TOP)/sdks/builds/android-$(1).config.cache \
|
||||
--prefix=$$(TOP)/sdks/out/android-$(1) \
|
||||
--disable-boehm \
|
||||
--disable-iconv \
|
||||
--disable-mono-debugger \
|
||||
--disable-nls \
|
||||
--enable-dynamic-btls \
|
||||
--enable-maintainer-mode \
|
||||
--with-mcs-docs=no \
|
||||
--with-monodroid \
|
||||
--with-profile4_x=no \
|
||||
--without-ikvm-native
|
||||
|
||||
.stamp-android-$(1)-toolchain:
|
||||
touch $$@
|
||||
|
||||
.stamp-android-$(1)-configure: $$(TOP)/configure .stamp-android-$(1)-toolchain
|
||||
mkdir -p $$(TOP)/sdks/builds/android-$(1)
|
||||
cd $$(TOP)/sdks/builds/android-$(1) && $$< $$(_android_$(1)_CONFIGURE_ENVIRONMENT) $$(_android_$(1)_CONFIGURE_FLAGS)
|
||||
touch $$@
|
||||
|
||||
.PHONY: package-android-$(1)
|
||||
package-android-$(1):
|
||||
$$(MAKE) -C $$(TOP)/sdks/builds/android-$(1)/mono install
|
||||
$$(MAKE) -C $$(TOP)/sdks/builds/android-$(1)/support install
|
||||
|
||||
.PHONY: clean-android-$(1)
|
||||
clean-android-$(1):
|
||||
rm -rf .stamp-android-$(1)-toolchain .stamp-android-$(1)-configure $$(TOP)/sdks/builds/android-$(1) $$(TOP)/sdks/builds/android-$(1).config.cache $$(TOP)/sdks/out/android-$(1)
|
||||
|
||||
TARGETS += android-$(1)
|
||||
|
||||
endef
|
||||
|
||||
android_host-Darwin_CFLAGS=-mmacosx-version-min=10.9
|
||||
$(eval $(call AndroidHostTemplate,host-Darwin))
|
||||
$(eval $(call AndroidHostTemplate,host-Linux))
|
||||
|
||||
##
|
||||
# Parameters
|
||||
# $(1): target
|
||||
# $(2): arch
|
||||
# $(3): mxe
|
||||
define AndroidHostMxeTemplate
|
||||
|
||||
_android_$(1)_PATH=$$(TOP)/sdks/out/mxe-$(3)/bin
|
||||
|
||||
_android_$(1)_AR=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-ar
|
||||
_android_$(1)_AS=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-as
|
||||
_android_$(1)_CC=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-gcc
|
||||
_android_$(1)_CXX=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-g++
|
||||
_android_$(1)_DLLTOOL=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-dlltool
|
||||
_android_$(1)_LD=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-ld
|
||||
_android_$(1)_OBJDUMP=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-objdump
|
||||
_android_$(1)_RANLIB=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-ranlib
|
||||
_android_$(1)_STRIP=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-strip
|
||||
|
||||
_android_$(1)_AC_VARS= \
|
||||
ac_cv_header_zlib_h=no \
|
||||
ac_cv_search_dlopen=no
|
||||
|
||||
_android_$(1)_CFLAGS= \
|
||||
-ggdb3 -O0 -fno-omit-frame-pointer \
|
||||
-DXAMARIN_PRODUCT_VERSION=0
|
||||
|
||||
_android_$(1)_CXXFLAGS= \
|
||||
-ggdb3 -O0 -fno-omit-frame-pointer \
|
||||
-DXAMARIN_PRODUCT_VERSION=0
|
||||
|
||||
_android_$(1)_CONFIGURE_ENVIRONMENT= \
|
||||
AR="$$(_android_$(1)_AR)" \
|
||||
AS="$$(_android_$(1)_AS)" \
|
||||
CC="$$(_android_$(1)_CC)" \
|
||||
CFLAGS="$$(_android_$(1)_CFLAGS)" \
|
||||
CXX="$$(_android_$(1)_CXX)" \
|
||||
CXXFLAGS="$$(_android_$(1)_CXXFLAGS)" \
|
||||
LD="$$(_android_$(1)_LD)" \
|
||||
RANLIB="$$(_android_$(1)_RANLIB)" \
|
||||
STRIP="$$(_android_$(1)_STRIP)"
|
||||
|
||||
_android_$(1)_CONFIGURE_FLAGS= \
|
||||
--host=$(2)-w64-mingw32.static \
|
||||
--target=$(2)-w64-mingw32.static \
|
||||
--cache-file=$$(TOP)/sdks/builds/android-$(1).config.cache \
|
||||
--prefix=$$(TOP)/sdks/out/android-$(1) \
|
||||
--disable-boehm \
|
||||
--disable-llvm \
|
||||
--disable-mcs-build \
|
||||
--disable-nls \
|
||||
--enable-maintainer-mode \
|
||||
--with-monodroid
|
||||
|
||||
.stamp-android-$(1)-toolchain:
|
||||
touch $$@
|
||||
|
||||
.stamp-android-$(1)-configure: $$(TOP)/configure .stamp-android-$(1)-toolchain | package-mxe-$(3)
|
||||
mkdir -p $$(TOP)/sdks/builds/android-$(1)
|
||||
cd $$(TOP)/sdks/builds/android-$(1) && PATH="$$$$PATH:$$(_android_$(1)_PATH)" $$< $$(_android_$(1)_AC_VARS) $$(_android_$(1)_CONFIGURE_ENVIRONMENT) $$(_android_$(1)_CONFIGURE_FLAGS)
|
||||
touch $$@
|
||||
|
||||
.PHONY: package-android-$(1)
|
||||
package-android-$(1):
|
||||
$$(MAKE) -C $$(TOP)/sdks/builds/android-$(1)/mono install
|
||||
$$(MAKE) -C $$(TOP)/sdks/builds/android-$(1)/support install
|
||||
|
||||
.PHONY: clean-android-$(1)
|
||||
clean-android-$(1):
|
||||
rm -rf .stamp-android-$(1)-toolchain .stamp-android-$(1)-configure $$(TOP)/sdks/builds/android-$(1) $$(TOP)/sdks/builds/android-$(1).config.cache $$(TOP)/sdks/out/android-$(1)
|
||||
|
||||
TARGETS += android-$(1)
|
||||
|
||||
endef
|
||||
|
||||
$(eval $(call AndroidHostMxeTemplate,host-mxe-Win32,i686,Win32))
|
||||
$(eval $(call AndroidHostMxeTemplate,host-mxe-Win64,x86_64,Win64))
|
||||
|
|
|
@ -11,10 +11,10 @@ $(TOP)/sdks/out/bcl/monodroid $(TOP)/sdks/out/bcl/monotouch $(TOP)/sdks/out/bcl/
|
|||
mkdir -p $@
|
||||
|
||||
.PHONY: package-bcl
|
||||
package-bcl: $(TOP)/sdks/out/bcl/monodroid $(TOP)/sdks/out/bcl/monotouch $(TOP)/sdks/out/bcl/wasm
|
||||
cp -R $(TOP)/mcs/class/lib/monodroid/* $(TOP)/sdks/out/bcl/monodroid
|
||||
cp -R $(TOP)/mcs/class/lib/monotouch/* $(TOP)/sdks/out/bcl/monotouch
|
||||
cp -R $(TOP)/mcs/class/lib/wasm/* $(TOP)/sdks/out/bcl/wasm
|
||||
package-bcl: | $(TOP)/sdks/out/bcl/monodroid $(TOP)/sdks/out/bcl/monotouch $(TOP)/sdks/out/bcl/wasm
|
||||
if [ -d $(TOP)/mcs/class/lib/monodroid ]; then cp -R $(TOP)/mcs/class/lib/monodroid/* $(TOP)/sdks/out/bcl/monodroid; fi
|
||||
if [ -d $(TOP)/mcs/class/lib/monotouch ]; then cp -R $(TOP)/mcs/class/lib/monotouch/* $(TOP)/sdks/out/bcl/monotouch; fi
|
||||
if [ -d $(TOP)/mcs/class/lib/wasm ]; then cp -R $(TOP)/mcs/class/lib/wasm/* $(TOP)/sdks/out/bcl/wasm; fi
|
||||
|
||||
.PHONY: clean-bcl
|
||||
clean-bcl:
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
LLVM_REV=$1
|
||||
|
||||
URL=http://xamjenkinsartifact.blob.core.windows.net/build-package-osx-llvm/llvm-osx64-$LLVM_REV.tar.gz
|
||||
|
||||
curl --output tmp.tar.gz $URL
|
||||
|
||||
rm -rf llvm-tmp
|
||||
mkdir -p llvm-tmp
|
||||
tar -xC llvm-tmp -f tmp.tar.gz
|
||||
rm -rf ../out/ios-{llvm32,llvm64}
|
||||
mkdir -p ../out/ios-llvm32 ../out/ios-llvm64
|
||||
cp -r llvm-tmp/usr64/* ../out/ios-llvm64
|
||||
cp -r llvm-tmp/usr32/* ../out/ios-llvm32
|
||||
rm -rf llvm-tmp tmp.tar.gz
|
|
@ -11,20 +11,19 @@
|
|||
|
||||
PLATFORM_BIN=$(XCODE_DIR)/Toolchains/XcodeDefault.xctoolchain/usr/bin
|
||||
|
||||
_ios_CFLAGS= \
|
||||
ios_CFLAGS= \
|
||||
$(if $(filter $(RELEASE),true),-O2,-O0 -ggdb3 -gdwarf-2) \
|
||||
-DMONOTOUCH=1
|
||||
|
||||
_ios_CPPFLAGS= \
|
||||
ios_CPPFLAGS= \
|
||||
$(if $(filter $(RELEASE),true),-O2,-O0 -ggdb3 -gdwarf-2) \
|
||||
-DMONOTOUCH=1
|
||||
|
||||
_ios_CXXFLAGS= \
|
||||
ios_CXXFLAGS= \
|
||||
$(if $(filter $(RELEASE),true),-O2,-O0 -ggdb3 -gdwarf-2) \
|
||||
-DMONOTOUCH=1
|
||||
|
||||
_ios_LDFLAGS= \
|
||||
-Wl,-no_weak_imports
|
||||
ios_LDFLAGS=
|
||||
|
||||
##
|
||||
# Parameters
|
||||
|
@ -57,11 +56,11 @@ _ios_$(1)_AC_VARS= \
|
|||
ac_cv_func_utimensat=no \
|
||||
mono_cv_sizeof_sunpath=104 \
|
||||
mono_cv_uscore=yes \
|
||||
$(ios_$(1)_AC_VARS)
|
||||
$$(ios_$(1)_AC_VARS)
|
||||
|
||||
_ios_$(1)_CFLAGS= \
|
||||
$$(_ios_CFLAGS) \
|
||||
-isysroot $(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=6.0 \
|
||||
$$(ios_CFLAGS) \
|
||||
-isysroot $(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$$(IOS_VERSION).sdk -miphoneos-version-min=$$(IOS_VERSION_MIN) \
|
||||
-Wl,-application_extension \
|
||||
-fexceptions \
|
||||
-DSMALL_CONFIG -DDISABLE_POLICY_EVIDENCE=1 -DDISABLE_PROCESS_HANDLING=1 -D_XOPEN_SOURCE -DHOST_IOS -DHAVE_LARGE_FILE_SUPPORT=1 \
|
||||
|
@ -69,8 +68,8 @@ _ios_$(1)_CFLAGS= \
|
|||
$$(ios_$(1)_CFLAGS)
|
||||
|
||||
_ios_$(1)_CPPFLAGS= \
|
||||
$$(_ios_CPPFLAGS) \
|
||||
-isysroot $(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=6.0 \
|
||||
$$(ios_CPPFLAGS) \
|
||||
-isysroot $(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$$(IOS_VERSION).sdk -miphoneos-version-min=$$(IOS_VERSION_MIN) \
|
||||
-arch $(2) \
|
||||
-Wl,-application_extension \
|
||||
-DSMALL_CONFIG -DDISABLE_POLICY_EVIDENCE=1 -DDISABLE_PROCESS_HANDLING=1 -D_XOPEN_SOURCE -DHOST_IOS -DHAVE_LARGE_FILE_SUPPORT=1 \
|
||||
|
@ -78,8 +77,8 @@ _ios_$(1)_CPPFLAGS= \
|
|||
$$(ios_$(1)_CPPFLAGS)
|
||||
|
||||
_ios_$(1)_CXXFLAGS= \
|
||||
$$(_ios_CXXFLAGS) \
|
||||
-isysroot $(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=6.0 \
|
||||
$$(ios_CXXFLAGS) \
|
||||
-isysroot $(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$$(IOS_VERSION).sdk -miphoneos-version-min=$$(IOS_VERSION_MIN) \
|
||||
-arch $(2) \
|
||||
-Wl,-application_extension \
|
||||
-DSMALL_CONFIG -DDISABLE_POLICY_EVIDENCE=1 -DDISABLE_PROCESS_HANDLING=1 -D_XOPEN_SOURCE -DHOST_IOS -DHAVE_LARGE_FILE_SUPPORT=1 \
|
||||
|
@ -87,7 +86,8 @@ _ios_$(1)_CXXFLAGS= \
|
|||
$$(ios_$(1)_CPPFLAGS)
|
||||
|
||||
_ios_$(1)_LDFLAGS= \
|
||||
$$(_ios_LDFLAGS) \
|
||||
$$(ios_LDFLAGS) \
|
||||
-Wl,-no_weak_imports \
|
||||
-arch $(2) \
|
||||
-framework CoreFoundation \
|
||||
-lobjc -lc++ \
|
||||
|
@ -178,31 +178,31 @@ _ios_$(1)_AC_VARS= \
|
|||
$(ios_$(1)_AC_VARS)
|
||||
|
||||
_ios_$(1)_CFLAGS= \
|
||||
$$(_ios_CFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -mios-simulator-version-min=6.0 \
|
||||
$$(ios_CFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator$$(IOS_VERSION).sdk -mios-simulator-version-min=$$(IOS_VERSION_MIN) \
|
||||
-arch $(2) \
|
||||
-Wl,-application_extension \
|
||||
-DHOST_IOS \
|
||||
$$(ios_$(1)_CFLAGS)
|
||||
|
||||
_ios_$(1)_CPPFLAGS= \
|
||||
$$(_ios_CPPFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -mios-simulator-version-min=6.0 \
|
||||
$$(ios_CPPFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator$$(IOS_VERSION).sdk -mios-simulator-version-min=$$(IOS_VERSION_MIN) \
|
||||
-arch $(2) \
|
||||
-Wl,-application_extension \
|
||||
-DHOST_IOS \
|
||||
$$(ios_$(1)_CPPFLAGS)
|
||||
|
||||
_ios_$(1)_CXXFLAGS= \
|
||||
$$(_ios_CXXFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -mios-simulator-version-min=6.0 \
|
||||
$$(ios_CXXFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator$$(IOS_VERSION).sdk -mios-simulator-version-min=$$(IOS_VERSION_MIN) \
|
||||
-arch $(2) \
|
||||
-Wl,-application_extension\
|
||||
-DHOST_IOS \
|
||||
$$(ios_$(1)_CXXFLAGS)
|
||||
|
||||
_ios_$(1)_LDFLAGS= \
|
||||
$$(_ios_LDFLAGS) \
|
||||
$$(ios_LDFLAGS) \
|
||||
$$(ios_$(1)_LDFLAGS)
|
||||
|
||||
_ios_$(1)_CONFIGURE_ENVIRONMENT = \
|
||||
|
@ -226,7 +226,6 @@ _ios_$(1)_CONFIGURE_FLAGS= \
|
|||
--disable-visibility-hidden \
|
||||
--enable-maintainer-mode \
|
||||
--enable-minimal=com,remoting,shared_perfcounters \
|
||||
--with-glib=embedded \
|
||||
--with-tls=pthread \
|
||||
--without-ikvm-native
|
||||
|
||||
|
@ -259,16 +258,30 @@ $(eval $(call iOSSimulatorTemplate,sim64,x86_64))
|
|||
$(TOP)/tools/offsets-tool/MonoAotOffsetsDumper.exe: $(wildcard $(TOP)/tools/offsets-tool/*.cs)
|
||||
$(MAKE) -C $(dir $@) MonoAotOffsetsDumper.exe
|
||||
|
||||
LLVM_REV=3b82b3c9041eb997f627f881a67d20be37264e9c
|
||||
|
||||
# Download a prebuilt llvm
|
||||
.stamp-ios-llvm-$(LLVM_REV):
|
||||
./download-llvm.sh $(LLVM_REV)
|
||||
touch $@
|
||||
|
||||
build-ios-llvm: .stamp-ios-llvm-$(LLVM_REV)
|
||||
|
||||
clean-ios-llvm:
|
||||
$(RM) -rf ../out/ios-llvm64 ../out/ios-llvm32 .stamp-ios-llvm-$(LLVM_REV)
|
||||
|
||||
##
|
||||
# Parameters:
|
||||
# $(1): target (cross32 or cross64)
|
||||
# $(2): arch (arm or aarch64)
|
||||
# $(3): llvm (llvm32 or llvm64)
|
||||
#
|
||||
# Flags:
|
||||
# ios_$(1)_AC_VARS
|
||||
# ios_$(1)_CFLAGS
|
||||
# ios_$(1)_CXXFLAGS
|
||||
# ios_$(1)_LDFLAGS
|
||||
# ios_$(1)_CONFIGURE_FLAGS
|
||||
define iOSCrossTemplate
|
||||
|
||||
_ios_$(1)_CC=$$(CCACHE) $$(PLATFORM_BIN)/clang
|
||||
|
@ -278,25 +291,25 @@ _ios_$(1)_AC_VARS= \
|
|||
$$(ios_$(1)_AC_VARS)
|
||||
|
||||
_ios_$(1)_CFLAGS= \
|
||||
$$(_ios_CFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.7 \
|
||||
$$(ios_CFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$$(MACOS_VERSION).sdk -mmacosx-version-min=$$(MACOS_VERSION_MIN) \
|
||||
-Qunused-arguments \
|
||||
$$(ios_$(1)_CFLAGS)
|
||||
|
||||
_ios_$(1)_CXXFLAGS= \
|
||||
$$(_ios_CXXFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.7 \
|
||||
$$(ios_CXXFLAGS) \
|
||||
-isysroot $$(XCODE_DIR)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$$(MACOS_VERSION).sdk -mmacosx-version-min=$$(MACOS_VERSION_MIN) \
|
||||
-Qunused-arguments \
|
||||
-stdlib=libc++ \
|
||||
$$(ios_$(1)_CXXFLAGS)
|
||||
|
||||
_ios_$(1)_LDFLAGS= \
|
||||
$$(_ios_LDFLAGS) \
|
||||
$$(ios_LDFLAGS) \
|
||||
-stdlib=libc++ \
|
||||
$$(ios_$(1)_LDFLAGS)
|
||||
|
||||
_ios_$(1)_CONFIGURE_FLAGS= \
|
||||
--build=i386-apple-darwin10 \
|
||||
$$(ios_$(1)_CONFIGURE_FLAGS) \
|
||||
--target=$(2)-darwin \
|
||||
--cache-file=$$(TOP)/sdks/builds/ios-$(1).config.cache \
|
||||
--prefix=$$(TOP)/sdks/out/ios-$(1) \
|
||||
|
@ -310,9 +323,7 @@ _ios_$(1)_CONFIGURE_FLAGS= \
|
|||
--enable-icall-symbol-map \
|
||||
--enable-minimal=com,remoting \
|
||||
--with-cross-offsets=$(2)-apple-darwin10.h \
|
||||
--with-glib=embedded
|
||||
|
||||
# _ios_$(1)_CONFIGURE_FLAGS += --enable-llvm --with-llvm=../llvm/usr
|
||||
--with-llvm=$$(TOP)/sdks/out/ios-$(3)
|
||||
|
||||
_ios_$(1)_CONFIGURE_ENVIRONMENT= \
|
||||
CC="$$(_ios_$(1)_CC)" \
|
||||
|
@ -324,7 +335,7 @@ _ios_$(1)_CONFIGURE_ENVIRONMENT= \
|
|||
.stamp-ios-$(1)-toolchain:
|
||||
touch $$@
|
||||
|
||||
.stamp-ios-$(1)-configure: $$(TOP)/configure
|
||||
.stamp-ios-$(1)-configure: $$(TOP)/configure | build-ios-llvm
|
||||
mkdir -p $$(TOP)/sdks/builds/ios-$(1)
|
||||
cd $$(TOP)/sdks/builds/ios-$(1) && PATH="$$(PLATFORM_BIN):$$$$PATH" $$(TOP)/configure $$(_ios_$(1)_AC_VARS) $$(_ios_$(1)_CONFIGURE_ENVIRONMENT) $$(_ios_$(1)_CONFIGURE_FLAGS)
|
||||
touch $$@
|
||||
|
@ -336,7 +347,7 @@ $$(TOP)/sdks/builds/ios-$(1)/$(2)-apple-darwin10.h: .stamp-ios-$(1)-configure $$
|
|||
cd $$(TOP)/sdks/builds/ios-$(1) && \
|
||||
MONO_PATH=$(TOP)/tools/offsets-tool/CppSharp/osx_32 \
|
||||
mono --arch=32 --debug $$(TOP)/tools/offsets-tool/MonoAotOffsetsDumper.exe \
|
||||
--abi $(2)-apple-darwin10 --platform ios --out $$(TOP)/sdks/builds/ios-$(1)/ --mono $$(TOP) --targetdir $$(TOP)/sdks/builds/ios-$(1)
|
||||
--gen-ios --abi $(2)-apple-darwin10 --out $$(TOP)/sdks/builds/ios-$(1)/ --mono $$(TOP) --targetdir $$(TOP)/sdks/builds/ios-$(1)
|
||||
|
||||
build-ios-$(1): $$(TOP)/sdks/builds/ios-$(1)/$(2)-apple-darwin10.h
|
||||
|
||||
|
@ -352,5 +363,8 @@ TARGETS += ios-$(1)
|
|||
|
||||
endef
|
||||
|
||||
$(eval $(call iOSCrossTemplate,cross32,arm))
|
||||
$(eval $(call iOSCrossTemplate,cross64,aarch64))
|
||||
ios_cross32_CONFIGURE_FLAGS=--build=i386-apple-darwin10
|
||||
$(eval $(call iOSCrossTemplate,cross32,arm,llvm32))
|
||||
$(eval $(call iOSCrossTemplate,cross64,aarch64,llvm64))
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,127 @@
|
|||
|
||||
$(TOP)/sdks/builds/toolchains/llvm:
|
||||
git clone -b master https://github.com/mono/llvm.git $@
|
||||
|
||||
$(TOP)/sdks/builds/toolchains/llvm/configure: | $(TOP)/sdks/builds/toolchains/llvm
|
||||
|
||||
##
|
||||
# Parameters
|
||||
# $(1): target
|
||||
# $(2): arch
|
||||
define LLVMTemplate
|
||||
|
||||
_llvm_$(1)_CXXFLAGS= \
|
||||
-stdlib=libc++ \
|
||||
-mmacosx-version-min=10.9
|
||||
|
||||
_llvm_$(1)_LDFLAGS= \
|
||||
-mmacosx-version-min=10.9
|
||||
|
||||
_llvm_$(1)_CONFIGURE_ENVIRONMENT= \
|
||||
CXXFLAGS="$$(_llvm_$(1)_CXXFLAGS)" \
|
||||
LDFLAGS="$$(_llvm_$(1)_LDFLAGS)"
|
||||
|
||||
_llvm_$(1)_CONFIGURE_FLAGS= \
|
||||
--host=$(2)-apple-darwin10 \
|
||||
--cache-file=$$(TOP)/sdks/builds/llvm-$(1).config.cache \
|
||||
--prefix=$$(TOP)/sdks/out/llvm-$(1) \
|
||||
--enable-assertions=no \
|
||||
--enable-optimized \
|
||||
--enable-targets="arm,aarch64,x86" \
|
||||
--enable-libcpp
|
||||
|
||||
.stamp-llvm-$(1)-toolchain: | $$(TOP)/sdks/builds/toolchains/llvm
|
||||
touch $$@
|
||||
|
||||
.stamp-llvm-$(1)-configure: $$(TOP)/sdks/builds/toolchains/llvm/configure
|
||||
mkdir -p $$(TOP)/sdks/builds/llvm-$(1)
|
||||
cd $$(TOP)/sdks/builds/llvm-$(1) && $$< $$(_llvm_$(1)_CONFIGURE_ENVIRONMENT) $$(_llvm_$(1)_CONFIGURE_FLAGS)
|
||||
touch $$@
|
||||
|
||||
.PHONY: package-llvm-$(1)
|
||||
package-llvm-$(1):
|
||||
$$(MAKE) -C $$(TOP)/sdks/builds/llvm-$(1) install
|
||||
|
||||
.PHONY: clean-llvm-$(1)
|
||||
clean-llvm-$(1):
|
||||
rm -rf .stamp-llvm-$(1)-toolchain .stamp-llvm-$(1)-configure $$(TOP)/sdks/builds/llvm-$(1) $$(TOP)/sdks/builds/llvm-$(1).config.cache $$(TOP)/sdks/out/llvm-$(1)
|
||||
|
||||
TARGETS += llvm-$(1)
|
||||
|
||||
endef
|
||||
|
||||
$(eval $(call LLVMTemplate,llvm32,i386))
|
||||
$(eval $(call LLVMTemplate,llvm64,x86_64))
|
||||
|
||||
##
|
||||
# Parameters
|
||||
# $(1): target
|
||||
# $(2): arch
|
||||
# $(3): mxe
|
||||
#
|
||||
# Flags
|
||||
# llvm_$(1)_CONFIGURE_ENVIRONMENT
|
||||
define LLVMMxeTemplate
|
||||
|
||||
_llvm_$(1)_PATH=$$(TOP)/sdks/out/mxe-$(3)/bin
|
||||
|
||||
_llvm_$(1)_AR=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-ar
|
||||
_llvm_$(1)_AS=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-as
|
||||
_llvm_$(1)_CC=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-gcc
|
||||
_llvm_$(1)_CXX=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-g++
|
||||
_llvm_$(1)_DLLTOOL=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-dlltool
|
||||
_llvm_$(1)_LD=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-ld
|
||||
_llvm_$(1)_OBJDUMP=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-objdump
|
||||
_llvm_$(1)_RANLIB=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-ranlib
|
||||
_llvm_$(1)_STRIP=$$(TOP)/sdks/out/mxe-$(3)/bin/$(2)-w64-mingw32.static-strip
|
||||
|
||||
_llvm_$(1)_CXXFLAGS=
|
||||
|
||||
_llvm_$(1)_LDFLAGS=
|
||||
|
||||
_llvm_$(1)_CONFIGURE_ENVIRONMENT = \
|
||||
AR="$$(_llvm_$(1)_AR)" \
|
||||
AS="$$(_llvm_$(1)_AS)" \
|
||||
CC="$$(_llvm_$(1)_CC)" \
|
||||
CXX="$$(_llvm_$(1)_CXX)" \
|
||||
DLLTOOL="$$(_llvm_$(1)_DLLTOOL)" \
|
||||
LD="$$(_llvm_$(1)_LD)" \
|
||||
OBJDUMP="$$(_llvm_$(1)_OBJDUMP)" \
|
||||
RANLIB="$$(_llvm_$(1)_RANLIB)" \
|
||||
STRIP="$$(_llvm_$(1)_STRIP)" \
|
||||
CXXFLAGS="$$(_llvm_$(1)_CXXFLAGS)" \
|
||||
LDFLAGS="$$(_llvm_$(1)_LDFLAGS)"
|
||||
|
||||
_llvm_$(1)_CONFIGURE_FLAGS = \
|
||||
--host=$(2)-w64-mingw32.static \
|
||||
--cache-file=$$(TOP)/sdks/builds/llvm-$(1).config.cache \
|
||||
--prefix=$$(TOP)/sdks/out/llvm-$(1) \
|
||||
--enable-assertions=no \
|
||||
--enable-optimized \
|
||||
--enable-targets="arm,aarch64,x86" \
|
||||
--disable-pthreads \
|
||||
--disable-zlib
|
||||
|
||||
.stamp-llvm-$(1)-toolchain: | $$(TOP)/sdks/builds/toolchains/llvm
|
||||
cd $$(TOP)/sdks/builds/toolchains/llvm && git checkout $(LLVM_HASH)
|
||||
touch $$@
|
||||
|
||||
.stamp-llvm-$(1)-configure: $$(TOP)/sdks/builds/toolchains/llvm/configure | package-mxe-$(3)
|
||||
mkdir -p $$(TOP)/sdks/builds/llvm-$(1)
|
||||
cd $$(TOP)/sdks/builds/llvm-$(1) && PATH="$$$$PATH:$$(_llvm_$(1)_PATH)" $$< $$(_llvm_$(1)_CONFIGURE_ENVIRONMENT) $$(_llvm_$(1)_CONFIGURE_FLAGS)
|
||||
touch $$@
|
||||
|
||||
.PHONY: package-llvm-$(1)
|
||||
package-llvm-$(1):
|
||||
$$(MAKE) -C $$(TOP)/sdks/builds/llvm-$(1) install
|
||||
|
||||
.PHONY: clean-llvm-$(1)
|
||||
clean-llvm-$(1):
|
||||
rm -rf .stamp-llvm-$(1)-toolchain .stamp-llvm-$(1)-configure $$(TOP)/sdks/builds/llvm-$(1) $$(TOP)/sdks/builds/llvm-$(1).config.cache $$(TOP)/sdks/out/llvm-$(1)
|
||||
|
||||
TARGETS += llvm-$(1)
|
||||
|
||||
endef
|
||||
|
||||
$(eval $(call LLVMMxeTemplate,llvmwin32,i686,Win32))
|
||||
$(eval $(call LLVMMxeTemplate,llvmwin64,x86_64,Win64))
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
$(TOP)/sdks/builds/toolchains/mxe:
|
||||
git clone -b xamarin https://github.com/xamarin/mxe.git $@
|
||||
|
||||
##
|
||||
# Parameters
|
||||
# $(1): target
|
||||
# $(2): arch
|
||||
define MxeTemplate
|
||||
|
||||
.stamp-mxe-$(1)-toolchain: | $$(TOP)/sdks/builds/toolchains/mxe
|
||||
cd $$(TOP)/sdks/builds/toolchains/mxe && git checkout $$(MXE_HASH)
|
||||
touch $$@
|
||||
|
||||
.stamp-mxe-$(1)-configure:
|
||||
touch $$@
|
||||
|
||||
.PHONY: build-custom-mxe-$(1)
|
||||
build-custom-mxe-$(1):
|
||||
PATH="$$$$PATH:$$(dir $$(shell which autopoint))" $$(MAKE) -C $$(TOP)/sdks/builds/toolchains/mxe gcc cmake zlib pthreads dlfcn-win32 mman-win32 \
|
||||
MXE_TARGETS="$(2)-w64-mingw32.static" PREFIX="$$(TOP)/sdks/out/mxe-$(1)" OS_SHORT_NAME="disable-native-plugins"
|
||||
|
||||
.PHONY: setup-custom-mxe-$(1)
|
||||
setup-custom-mxe-$(1):
|
||||
|
||||
.PHONY: package-mxe-$(1)
|
||||
package-mxe-$(1):
|
||||
|
||||
.PHONY: clean-mxe-$(1)
|
||||
clean-mxe-$(1):
|
||||
$$(MAKE) -C $$(TOP)/sdks/builds/toolchains/mxe clean \
|
||||
MXE_TARGETS="$(2)-w64-mingw32.static" PREFIX="$$(TOP)/sdks/out/mxe-$(1)"
|
||||
|
||||
TARGETS += mxe-$(1)
|
||||
|
||||
endef
|
||||
|
||||
$(eval $(call MxeTemplate,Win32,i686))
|
||||
$(eval $(call MxeTemplate,Win64,x86_64))
|
|
@ -27,7 +27,7 @@ $(TOP)/sdks/builds/toolchains/emsdk:
|
|||
.stamp-wasm-interp-toolchain: .stamp-wasm-toolchain
|
||||
touch $@
|
||||
|
||||
.stamp-wasm-interp-configure: $(TOP)/configure .stamp-wasm-interp-toolchain
|
||||
.stamp-wasm-interp-configure: $(TOP)/configure
|
||||
mkdir -p $(TOP)/sdks/builds/wasm-interp
|
||||
cd $(TOP)/sdks/builds/wasm-interp && source $(TOP)/sdks/builds/toolchains/emsdk/emsdk_env.sh && CFLAGS="-Os -g" emconfigure $(TOP)/configure $(WASM_INTERP_CONFIGURE_FLAGS)
|
||||
touch $@
|
||||
|
|
|
@ -43,7 +43,7 @@ ifndef DISABLE_IOS
|
|||
CheckXcodeDir=$(or $(and $(wildcard $(1))),$(warning Could not find Xcode in "$(1)"))
|
||||
|
||||
ifneq ($(call CheckXcodeDir,/Applications/Xcode.app/Contents/Developer),)
|
||||
XCODE_DIR=/Applications/Xcode.app/Contents/Developer
|
||||
XCODE_DIR=/Applications/$(XCODE_VERSION).app/Contents/Developer
|
||||
else
|
||||
$(error Could not find Xcode)
|
||||
endif
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
# MXE
|
||||
|
||||
MXE_HASH?=a926b16d8e07b6125484223794b412f89b9acce0
|
||||
|
||||
# LLVM
|
||||
|
||||
LLVM_HASH?=3b82b3c9041eb997f627f881a67d20be37264e9c
|
||||
|
||||
# Android
|
||||
|
||||
ANDROID_PLATFORM_VERSION_armeabi?=9
|
||||
ANDROID_PLATFORM_VERSION_armeabi-v7a?=9
|
||||
ANDROID_PLATFORM_VERSION_arm64-v8a?=21
|
||||
ANDROID_PLATFORM_VERSION_x86?=9
|
||||
ANDROID_PLATFORM_VERSION_x86_64?=21
|
||||
|
||||
# iOS
|
||||
|
||||
## Xcode needs to be installed in /Applications/$(XCODE_VERSION).app
|
||||
XCODE_VERSION?=Xcode91
|
||||
|
||||
MACOS_VERSION?=10.13
|
||||
MACOS_VERSION_MIN?=10.7
|
||||
|
||||
IOS_VERSION?=11.1
|
||||
IOS_VERSION_MIN?=6.0
|
||||
|
||||
TVOS_VERSION?=11.1
|
||||
TVOS_VERSION_MIN?=9.0
|
||||
|
||||
WATCHOS_VERSION?=4.1
|
||||
WATCHOS_VERSION_MIN?=2.0
|
||||
|
||||
# WebAssembly
|
Загрузка…
Ссылка в новой задаче