diff options
author | Aleksey Kliger (λgeek) <alklig@microsoft.com> | 2019-05-11 02:14:50 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-11 02:14:50 +0300 |
commit | f4b86bbb410336c93b017577bc5186d3120d9735 (patch) | |
tree | 363ed585cb5363c89b0bd1b8651254a87c8cfe23 /sdks/builds/Makefile | |
parent | 1d90dcfd357c2bc070affa56865ad8cfff2e4b2e (diff) |
[sdks] Build Android SDK on Windows (#14402)
Modify the sdks/builds/ infrastructure to support compiling the Android SDK on Windows.
The initial goal of this commit is to build only the monodroid BCL on Windows. Compilation of the host and cross-compiler mono binaries is future work.
There's one kind of hacky bit in here. Had to make sure that scripts/ci/run-jenkins.sh does _not_ set MONO_EXECUTABLE. Normally windows builds use the msvc in-tree compiled mono binary to build the BCL. In the case of the SDKs, we don't build that msvc binary, and we just use the usual (cygwin) mono to build the BCL.
* [sdks] allow building on cygwin
* [sdks] Start adding stub templates to llvm.mk
* [sdks] provision-android stubs for win32
* [sdks] Pass cygwin host triple to calls to configure on win32
* [sdks] Add runtime stub templates
* [sdks] Add android stub templates for win32
This is enough to get configure-android to work on cygwin x86_64
* [sdks] On win32, the HostMxe build is the host buildwe want the x86_64-w64-mingw32 toolchain, not the cygwin toolchain
* [sdks] For android on cygwin depend on the mingw64-{x86_64,i686}-zlib
* [sdks] Add android SDK build artifacts to .gitignore
* [sdks] Add AndroidCrossMXETemplate stub to android.mk for Windows builds
* [sdks] Fixup comments in android.mk
* [sdks] use UNAME=Windows for Cygwin and WSL
Don't assume Cygwin is the build platform for Windows Android SDK builds.
Keep using UNAME for coarse platform descriptions.
Switch to HOST_ARCH_MINGW32 instead of CYGWIN_BUILD_MACHINE for variable holding
the machine part of the host triplet for Windows.
* [sdks] Dummy provision-mxe target for windows
* [ci] Don't provision-android on Windows
It doesn't work yet.
* [sdks] temporarily turn off android-host-mxe-Win64-release
Needs mingw64-x86_64-zlib on all the CI builds bots.
* FIXME: hack - don't set MONO_EXECUTABLE to the msvc mono for Android SDK build
* [sdks] drop LLVMProvisionTemplateStub
Diffstat (limited to 'sdks/builds/Makefile')
-rw-r--r-- | sdks/builds/Makefile | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sdks/builds/Makefile b/sdks/builds/Makefile index bf786307ca5..9037d3143f9 100644 --- a/sdks/builds/Makefile +++ b/sdks/builds/Makefile @@ -32,22 +32,27 @@ endif endif endif +ifeq ($(UNAME),Windows) +# x86_64 or i686 +HOST_ARCH_MINGW32=$(shell uname -m) +endif + ifneq ($(UNAME),Darwin) # iOS and Mac requires Xcode to be available, and Xcode is only available on macOS DISABLE_IOS=1 DISABLE_MAC=1 endif -# On Windows, we will just trigger LLVM builds using this make file. +# On Windows, we will just trigger LLVM and Android builds using this Makefile. ifeq ($(UNAME),Windows) DISABLE_IOS=1 DISABLE_MAC=1 -DISABLE_ANDROID=1 DISABLE_WASM=1 DISABLE_WASM_CROSS=1 DISABLE_DESKTOP=1 DISABLE_CCACHE=1 DISABLE_LIBTOOLIZE=1 +IGNORE_PROVISION_MXE=1 endif CCACHE:=$(if $(DISABLE_CCACHE),,$(shell which ccache)) |