Age | Commit message (Collapse) | Author |
|
stuff. (#16719)
|
|
|
|
|
|
This will allow the interpreter to use System.Reflection.Emit.
Note: There is a small size increase (about 50kb) for an application
built in release mode with the LLVM backend (even if the interpreter
is now used).
|
|
autoconf cache file on make clean.
|
|
[sdks] remove 32bit llvm
Also switches the MXE cross compilers for Android and WebAssembly to 64bit host.
|
|
[android] switch to python offset tool
And drop C# tool.
Fixes https://github.com/mono/mono/issues/9621
|
|
The C# version doesn't work on 64bit. It would require to update its dependencies, but Zoltan already added a Python version for WebAssembly which works fine.
Some notes:
* changed the semantics of `--xcode-path` in order to match the output of `xcode-select -p`
* switched to python3/pip3
* removed hack for arm64_32, it works properly now because the Python version uses stock `clang`
* removed some leftover usages of `XCODE32_DIR`.
Manually verified by comparing output with the C# version.
This will unblock the iOS team when building on Catalina/Xcode11, as they can't consume SDK archives there. See https://github.com/xamarin/xamarin-macios/pull/6603#issuecomment-512803082
Contributes to https://github.com/mono/mono/issues/9621
|
|
|
|
It takes all THIRD-PARTY-NOTICES.TXT and LICENSE files from the repo.
|
|
[ios][android] disable gac in ios and android sdk builds
|
|
* [wasm] disable gac in wasm runtime
* [wasm] disable gac wasm.mk not configure.ac
|
|
|
|
|
|
* Remove support for llvm36, its not used anymore.
* [jit] Remove support for older llvm versions.
|
|
It needs to work for both debug and release configs.
|
|
It would try to execute the .stamp-android-loader-path target in unrelated configurations.
|
|
* [sdks] Use @loader_path for mono and libmonosgen
This way we are able to dynamically load libmonosgen and also use host
mono binary.
The library dependencies look like this after the change:
```
otool -L /Users/rodo/git/mono/sdks/out/android-host-Darwin-release/bin/mono
/Users/rodo/git/mono/sdks/out/android-host-Darwin-release/bin/mono:
@loader_path/libmonosgen-2.0.dylib (compatibility version 2.0.0, current version 2.0.0)
...
otool -L /Users/rodo/git/mono/sdks/out/android-host-Darwin-release/lib/libmonosgen-2.0.dylib
/Users/rodo/git/mono/sdks/out/android-host-Darwin-release/lib/libmonosgen-2.0.dylib:
@loader_path/libmonosgen-2.0.dylib (compatibility version 2.0.0, current version 2.0.0)
...
```
|
|
Default for `ulimit -n ` seems to be 256, that isn't enough for the Android SDK build.
|
|
Untested, but we need to do it anyway soon. This will help us to understand the situation on Xamarin.Android while finishing the work for Xamarin.iOS.
Contributes to https://github.com/mono/mono/issues/9621
|
|
* [wasm] Avoid AOTing mscorlib if the input file haven't changed.
* [wasm] Store the wasm builds in a builds/ subdir.
* [wasm] Add a run-chrome- target to run test suites under chrome using a puppeteer script.
* [wasm] Link with -O0 in debug mode.
* [wasm] Add a runtime-threads make target.
* [wasm] Compile driver.o etc. with -Oz. Make the build-native -> packager.exe dependency order only.
* [wasm] Run the threads sample using chrome.
* Bump emscripten to 1.38.37.
* Fix the build.
* Fix the tests.
* Fix the tests.
|
|
threads support if ENABLE_WASM_THREADS is defined in Make.config.
|
|
|
|
(#15410)
* [configure] Cosmetic AC_MSG_WARN fix
* [runtime] Mark mono_file_map_error as MONO_API, always
Fixed the `--with-static_mono=no` build on non-Win32
* [sdks] dynamically link libmonosgen to mono-sgen for monodroid host builds
|
|
|
|
* [sdks] Avoid building everything on make all.
* Add a dummy all target.
|
|
[watch] consistent naming for watchOS min version
See https://github.com/xamarin/xamarin-macios/pull/6307
|
|
* [wasm] Switch to the llvm wasm backend.
* [wasm] Packager changes for the wasm backend.
* -s EMULATED_FUNCTION_POINTERS=1 no longer needed.
* Run wasm-strip on the final binary.
* Run opt during AOT.
* Disable the dynamic build for now, it doesn't seem to work with the wasm backend.
* [wasm] Use STACK_MAX instead of STACK_BASE for the bottom limit of the stack.
* [aot] Handle llvmopts= in llvmonly mode as well.
* [wasm] Disable an assertion which is no longer true with the wasm backend.
* [wasm] Disable computed gotos in the interpreter, the wasm backend doesn't support it.
Fix llvm target layout so its compatible with clang compiled code.
* [wasm] Pass llvm-path to the cross compiler.
* [wasm] Fix some problems with the dynamic build, still doesn't work. Fix packaging.
* [wasm] Pass -s DISABLE_EXCEPTION_CATCHING=0 to the runtime build, otherwise catch clauses are not generated in llvm-runtime.cpp.
* [aot] Allow llvmopts= argument multiple times.
* Bump emscripten version to 1.38.34.
* [wasm] Add https://github.com/emscripten-core/emscripten/pull/8457 as a patch.
* [wasm] Compile the aot .bc files to .o in a separate step using emcc, this will help with incremental compilation later.
* [wasm] Source emsdk_set_env.sh instead of emsdk_env.sh the latter calls emsdk construct_env to construct emsdk_set_env.sh which is racy.
|
|
(#14852)
Contributes to https://github.com/mono/mono/issues/9621
Fixes https://github.com/mono/mono/issues/14841
Note that it breaks iOS 32bit on devices. The Apple Watch _might_ still works (only tested on `2019-02`). It unblocks some build related issues on the Xamarin.iOS `2019-06` integration, and we have to do it anyway. I'll come back to it to fix device related issues.
|
|
It has way better compression performance.
Kept WebAssembly on .zip for now since external users took dependencies on it [1].
Fixes https://github.com/mono/mono/issues/14215
[1] https://github.com/nventive/Uno.Wasm.Bootstrap/blob/e2bf8946e162642ca1bdf4f003f8de4a94954f73/Readme.md#updating-the-mono-sdk-build
|
|
* [wasm][bcl] Use zlib for DeflateStream on WASM profile
- Add `-s USE-ZLIB=1` flag for the emscripten build of `mono.js`
- Add new `zlib-helper` module build that is included in the `mono` wasm build.
- This adds roughly 300 kb to the size.
* Add zlib calls to `icall` for `WASM` profile
* Address comments use `TARGET_WASM` instead of `HOST_WASM`
* Hack around JS exception: RuntimeError: indirect call signature mismatch
- Instead of using the function pointer from DeflateStream (Marshal.GetFunctionPointerForDelegate) obtain the callback functions from the object itself.
* Update error messages and add exception parameter to `mono_runtime_invoke`.
* Add `mono/support` zlib include sources files to make `package` target.
* Add `zlib-helper` build to packager.
- Note: Right now only supports zlib build from mono tree build.
- Add `zlibtest.cs` scenario to compress and uncompress using DeflateStream and GZip.
- Add test to make file to build and run aot version of ziplibtest.
* Add copy of zlib header support files to `package-wasm-runtime`
- The support library is not built for wasm but the zlib include files are needed to build support during wasm build.
- See mono.js build and the use of the `-s USE_ZLIB=1` flag.
- The include files will be used in packager.exe to build zlib support for wasm.
* Use the zlib includes from support to build the zlib support.
* Setup base tests for testing System.IO.Compression integration
* Formatting
* Add more ziparchive tests
* Formatting and indentation
* Add more Zip tests
* Add more tests.
- Add more tests for ZipArchive.
- Add tests for Deflate - small, large and very large strings.
- Add tests for GZipStream - small, large and very large strings.
* Fix merge of EMCC_FLAGS
* Add new option to packager to enable the use of zlib
- --enable-zlib (enable the use of zlib for System.IO.Compression support)
type: bool default: false
- update packager doc
* Address review comments
- Change `enable-zlib` to `zlib`
|
|
rsync might not be installed on other platforms and we only need android-sources in one sdks archive.
|
|
We don't need it there.
|
|
(cherry picked from commit c96878fb16892af0bab18af494477c613e3da081)
|
|
We used to use the static MXE toolchain, but after switching to Homebrew, we
have to explicitly pass flags to build binaries that don't depend on the
MinGW32 GCC support libraries (libstdc++-6.dll, libwinpthread-1.dll and others)
when building the LLVM and Mono binaries.
The simplest approach is just to pass CMAKE_EXE_LINKER_FLAGS=-static to cmake
and LDFLAGS=-all-static to libtool. The rest of the changes are just to make
it easier to do that by adding a configure flag and updating the SDKs
infrastructure.
We will also need an LLVM bump to actually build a new llvm archive with the
new build flags; until then, building Mono will provision an old build of LLVM
with the old build flags that still depends on libstdc++-6.dll.
---
An alternative approach instead of passing -all-static and -static would be to
probe for the assorted -static-libXYZ flags to GCC at configure time. (For the
LLVM build we would need to hardcode them as that build doesn't go through
autoconf). Right now Mono doesn't have any other DLL dependencies (other than
the core windows DLLs), so -all-static works just as well and is simpler.
|
|
Otherwise the Xcode linker tries to guess the version from the path,
and since we use Xcode101.app it'd use sdk=101 as the version which is wrong.
By explicitly specifying e.g. `$(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk`
as the sysroot it correctly guesses sdk=12.1 instead.
See also https://github.com/xamarin/xamarin-macios/commit/834c0a9fd7062c0c25011721fd7d524b8a60b41e
|
|
It was using an unescaped makefile variable in the template, i.e. ended up empty which meant the build just took the host version as the min version.
Fixed the variable and also moved it to CFLAGS/CXXFLAGS instead of CPPFLAGS to be consistent with ios.mk
|
|
[wasm] Bump emscripten to 1.38.31.
|
|
* [monodroid] Introduce 'win32 host' BCL build
* [sdks] Add _bcl_$(1)_BUILD_FLAGS variable to BclTemplate build step
Allows Android SDK on Windows to pass PROFILE_PLATFORM=win32
* [sdks] Pass _bcl_$(1)_BUILD_FLAGS when building the tests, too
* Copy test source exclusion files from the general monodroid profile
Apparently we don't fall back to the general exclusion sources for tests if the platorm-specific exclusion file does not exist.
* Also add win32 copies of the nunit exclude files:
files=$(find . -name "monodroid*_test*exclude.sources")
for file in $files
do
name=$(basename $file)
pushd $(dirname $file)
cp $name win32_$name
git add win32_$name
popd
done
* [csproj] Update project files
|
|
|
|
|
|
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
|
|
lateralusX/lateralusX/add-llvm-windows-msvc-build-packaging-support
Add LLVM Windows MSVC build/packaging/archive/download support.
|
|
XI/XM install the Mono sources as part of their package.
|
|
|
|
|
|
|
|
|
|
Xamarin.Mac needs it.
|
|
|