Alexander Köplinger 43e0f5a967 [sdks] Exclude unecessary ios libs from sdks archive 6 éve
..
android bb84dad457 [corlib] Fix monodroid build to reinclude CoreFX System.IO (#12057) 7 éve
builds 43e0f5a967 [sdks] Exclude unecessary ios libs from sdks archive 6 éve
desktop bc9ab2e7d8 [bcl] Add nunit exclude categories for monotouch/monodroid profiles (#14695) 6 éve
ios bc9ab2e7d8 [bcl] Add nunit exclude categories for monotouch/monodroid profiles (#14695) 6 éve
wasm bc9ab2e7d8 [bcl] Add nunit exclude categories for monotouch/monodroid profiles (#14695) 6 éve
.gitignore 88cab36c20 [sdks] add Make.config to ignore file (#7901) 7 éve
Make.config.sample 55c62ea399 [2019-02] [sdks] Add mac-{mac32,mac64} targets (#12977) 7 éve
Makefile b0919d93f9 [sdks] Source drop from xamarin/mono-sdks (#5876) 8 éve
README.md 434d70053d Update README.md 7 éve
paths.mk 55c62ea399 [2019-02] [sdks] Add mac-{mac32,mac64} targets (#12977) 7 éve
versions.mk d38a5b80e8 [sdks] Fix build 6 éve

README.md

This project provides build scripts and sample apps for Mono targeting its supported platforms. Supported are Android, iOS and WebAssembly.

Build instructions

Dependencies

  • automake 1.16.1

if you have already built before using a previous version of automake you may need to clean the repo.

  git clean -xffd

The previous should be sufficient but if that does not work then try hard resetting

  git reset --hard && git clean -xffd && git submodule foreach --recursive git reset --hard && git submodule foreach --recursive git clean -xffd && git submodule update --init --recursive

Setup

Copy Make.config.sample to Make.config and edit the new file to disable building the target you're not interested in. Unless you have a very particular need, the BCL build should be left enabled as it's needed by all test runners.

Building for XA/XI/XM and WebAssembly

To build Mono for Android, iOS or WebAssembly, the build scripts can be found in sdks/builds/.

The make targets are as follow:

# Android
mono$ make -C sdks/builds provision-android && make -C sdks/android accept-android-license
mono$ make -C sdks/builds provision-mxe
mono$ make -C sdks/builds archive-android NINJA= IGNORE_PROVISION_ANDROID=1 IGNORE_PROVISION_MXE=1

# iOS
mono$ make -C sdks/builds archive-ios NINJA=

# WebAssembly
mono$ make -C sdks/builds provision-wasm
mono$ make -C sdks/builds archive-wasm  NINJA=

# Mac
mono$ make -C sdks/builds archive-mac [upcoming]

WebAssembly

Go to the wasm directory for building and testing WebAssembly. For more information view the WebAssembly readme

Dependencies

Project Dependencies
Android Android SDK and NDK
iOS Xcode
WebAssembly

See sdks/versions.mk for specific version numbers, and sdks/paths.mk for where they should be installed. These dependencies will not be installed as part of the build process, and will be expected to be present; an error will be triggered if it's not the case. If you need an additional version, please do contact us or submit a pull-request against mono/mono.