Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump to mono:2019-06 #6196

Merged
merged 60 commits into from
Jul 16, 2019
Merged
Show file tree
Hide file tree
Changes from 59 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
4fd23c2
Bump to mono:2019-06
directhex May 31, 2019
1296849
Use the commonly used casing for `MSBuildSDKsPath` property
radical Jun 3, 2019
5294014
Bump mono
akoeplinger Jun 3, 2019
1d25751
REVERT THIS: Add workaround for linker issue in mlaunch build
akoeplinger Jun 3, 2019
14b39e1
Revert "REVERT THIS: Add workaround for linker issue in mlaunch build"
akoeplinger Jun 4, 2019
a560716
Add better workaround for linker issue
akoeplinger Jun 4, 2019
2af1a60
Merge remote-tracking branch 'upstream/master' into mono-2019-06-upst…
akoeplinger Jun 6, 2019
287d860
Bump mono
akoeplinger Jun 6, 2019
4503d0c
[mtouch] Whitelist new Brotli native symbols in Xamarin.Tests.Misc.Pu…
akoeplinger Jun 6, 2019
0f814df
[mtouch] Better assert in NoLLVMFailuresInWatchOS() test
akoeplinger Jun 6, 2019
dfa5fa8
[mtouch] Use new LLVM even for 32bit targets
akoeplinger Jun 6, 2019
8ad6328
[mtouch] Work around slow LLVM in "don't link" test
akoeplinger Jun 6, 2019
72a4bbb
Remove useless conditional
akoeplinger Jun 6, 2019
9209b4e
Remove LLVM36 from Makefile
akoeplinger Jun 7, 2019
c06b80a
[Bcl][Tests] Ignore the ssl related bcl tests that block.
mandel-macaque Jun 10, 2019
1b9e293
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 10, 2019
ff13232
Bump maccore and macios-binaries to get fix for #6216. (#6229)
rolfbjarne Jun 11, 2019
7ab7275
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 11, 2019
74f52cf
Bump mono.
mandel-macaque Jun 11, 2019
99bac79
Bump mono and revert change in the tests execution after mono fixed it.
mandel-macaque Jun 12, 2019
3978e10
Ignore blocking ssl tests.
mandel-macaque Jun 12, 2019
bf10447
Ignore failing tests on mac os x.
mandel-macaque Jun 12, 2019
2ceb0fd
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 12, 2019
5812790
Bump min version of VSMac.
mandel-macaque Jun 12, 2019
f921d81
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 13, 2019
eb964c4
Bump to mono head.
mandel-macaque Jun 13, 2019
1fbac41
[watch4] set right min version for arm64_32 based watch devices (#6307)
lewurm Jun 17, 2019
c7f717b
Bump mono to pick fixes for 32b devices.
mandel-macaque Jun 18, 2019
4394483
Bump mono
lewurm Jun 18, 2019
57b585b
reflect watchos64_32_version_min change from mono sdk
lewurm Jun 18, 2019
b99f3ef
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 19, 2019
c10a44c
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 20, 2019
ef5fdd8
Bump mono.
mandel-macaque Jun 20, 2019
3e7bc29
Move mono hash info to mk/mono.mk so that existing scripts work.
rolfbjarne Jun 24, 2019
eb933fa
Bump mono.
rolfbjarne Jun 24, 2019
d93228a
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 24, 2019
ed1e885
Add Makefile dependency on mono.mk where necessary
akoeplinger Jun 24, 2019
f8c2af5
[tests] Copy mk/mono.mk to the XM test package.
rolfbjarne Jun 24, 2019
ee10537
Bump mono to pick fixes for the SSL tests.
mandel-macaque Jun 25, 2019
6661a80
[tests] Update minOS version test after consolidating min watchOS ver…
rolfbjarne Jun 26, 2019
fde643b
Merge remote-tracking branch 'origin/master' into mono-2019-06
rolfbjarne Jun 26, 2019
509ed54
Re-enable ssl tests.
mandel-macaque Jun 27, 2019
1b23666
Bump mono.
mandel-macaque Jun 27, 2019
baccf9a
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 27, 2019
730f3f5
Merge remote-tracking branch 'origin/master' into mono-2019-06
rolfbjarne Jun 27, 2019
e801711
Bump mono.
mandel-macaque Jun 27, 2019
dff523f
Merge branch 'mono-2019-06' of github.com:xamarin/xamarin-macios into…
mandel-macaque Jun 27, 2019
47364f1
Revert "Add better workaround for linker issue"
akoeplinger Jun 26, 2019
6e10024
[mmp] Fix make clean target
akoeplinger Jun 26, 2019
017db81
Merge branch 'master' into mono-2019-06
mandel-macaque Jun 28, 2019
4a8f86e
Bump mono.
mandel-macaque Jun 28, 2019
b64e676
Bump mono.
mandel-macaque Jul 1, 2019
11965eb
Bump mono. iOS 32b work now.
mandel-macaque Jul 8, 2019
9be82b1
Merge branch 'master' into mono-2019-06
mandel-macaque Jul 8, 2019
a7a45f0
Bump mono.
mandel-macaque Jul 10, 2019
727f18b
Reenable tests that were fixed and bump Mono
akoeplinger Jul 3, 2019
8ee7875
Merge remote-tracking branch 'upstream/master' into mono-2019-06
akoeplinger Jul 15, 2019
af0891e
Add new xamarin_timezone_get_local_name() to a few more places
akoeplinger Jul 15, 2019
5b01a55
Bump mono once more
akoeplinger Jul 15, 2019
3cc987c
Disable two accidentally enabled tests
akoeplinger Jul 16, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -48,23 +48,23 @@ XCODE94_VERSION=9.4
XCODE94_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_9.4.xip
XCODE94_DEVELOPER_ROOT=/Applications/Xcode94.app/Contents/Developer

# Mono version embedded in XI/XM
MONO_HASH:=e6f5369c2d24aa2de511a52c8a58956c3283c4e4
MONO_BRANCH:=2019-02
# Mono version embedded in XI/XM (NEEDED_MONO_VERSION/BRANCH) are specified in mk/mono.mk
include $(TOP)/mk/mono.mk
MONO_HASH := $(NEEDED_MONO_VERSION)

# Minimum Mono version for building XI/XM
MIN_MONO_VERSION=6.0.0.286
MAX_MONO_VERSION=6.0.99
MIN_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2019-02/261/c22486e39d129cb8117177a6f9c768e69fc4ebaa/MonoFramework-MDK-6.0.0.286.macos10.xamarin.universal.pkg
MIN_MONO_VERSION=6.4.0.94
MAX_MONO_VERSION=6.4.99
MIN_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2019-06/77/c608cf3eafaea310e11af13cc9380d770112bb83/MonoFramework-MDK-6.4.0.94.macos10.xamarin.universal.pkg

# Minimum Mono version for Xamarin.Mac apps using the system mono
MIN_XM_MONO_VERSION=6.0.0.286
MIN_XM_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2019-02/261/c22486e39d129cb8117177a6f9c768e69fc4ebaa/MonoFramework-MDK-6.0.0.286.macos10.xamarin.universal.pkg
MIN_XM_MONO_VERSION=6.4.0.94
MIN_XM_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2019-06/77/c608cf3eafaea310e11af13cc9380d770112bb83/MonoFramework-MDK-6.4.0.94.macos10.xamarin.universal.pkg

# Minimum Visual Studio version
MIN_VISUAL_STUDIO_URL=https://bosstoragemirror.blob.core.windows.net/vsmac/2758327/release-8.1/ed27233de1b33083ea2234bc66a3b7824b99bbc7/VisualStudioForMac-8.1.0.2742.dmg
MIN_VISUAL_STUDIO_URL=https://dl.internalx.com/vsmac/2758327/release-8.1/ed27233de1b33083ea2234bc66a3b7824b99bbc7/VisualStudioForMac-8.1.0.2742.dmg
MIN_VISUAL_STUDIO_VERSION=8.1.0.2742
MAX_VISUAL_STUDIO_VERSION=8.1.0.2742
MAX_VISUAL_STUDIO_VERSION=8.1.99

# Minimum CMake version
MIN_CMAKE_URL=https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.dmg
Expand All @@ -91,6 +91,7 @@ TVOS_SDK_VERSION=12.2
MIN_IOS_SDK_VERSION=6.0
MIN_OSX_SDK_VERSION=10.9
MIN_WATCHOS_SDK_VERSION=2.0
MIN_WATCHOS64_32_SDK_VERSION=5.1
MIN_WATCH_OS_VERSION=1.0
MIN_TVOS_SDK_VERSION=9.0

Expand Down Expand Up @@ -226,7 +227,7 @@ SIMULATORWATCH_OBJC_CFLAGS = $(SIMULATORWATCH_CFLAGS) $(COMMON_SIMULATOR_OBJC_CF

DEVICEWATCH_SDK = $(XCODE_DEVELOPER_ROOT)/Platforms/WatchOS.platform/Developer/SDKs/WatchOS$(WATCH_SDK_VERSION).sdk
DEVICEWATCH_CFLAGS = -arch armv7k -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) -fembed-bitcode $(IOS_COMMON_DEFINES)
DEVICEWATCH64_32_CFLAGS = -arch arm64_32 -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) -fembed-bitcode $(IOS_COMMON_DEFINES)
DEVICEWATCH64_32_CFLAGS = -arch arm64_32 -mwatchos-version-min=$(MIN_WATCHOS64_32_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) $(CFLAGS) -fembed-bitcode $(IOS_COMMON_DEFINES)
DEVICEWATCH_OBJC_CFLAGS = $(DEVICEWATCH_CFLAGS) $(DEVICE_OBJC_CFLAGS)
DEVICEWATCH64_32_OBJC_CFLAGS = $(DEVICEWATCH64_32_CFLAGS) $(DEVICE_OBJC_CFLAGS)

Expand Down Expand Up @@ -333,9 +334,9 @@ JENKINS_RESULTS_DIRECTORY ?= $(abspath $(TOP)/jenkins-results)
# Clone files instead of copying them on APFS file systems. Much faster.
CP:=$(shell df -t apfs / >/dev/null 2>&1 && echo "cp -c" || echo "cp")

MONO_IOS_FILENAME:=ios-release-Darwin-$(MONO_HASH).zip
MONO_IOS_FILENAME:=ios-release-Darwin-$(MONO_HASH).7z
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just out of curiosity: why 7z instead of zip? Are the archives smaller (how much?)?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rolfbjarne yes they are much smaller. The ios archive went from 688MB to 272MB.

MONO_IOS_URL:=https://xamjenkinsartifact.azureedge.net/mono-sdks/$(MONO_IOS_FILENAME)
MONO_MAC_FILENAME:=mac-release-Darwin-$(MONO_HASH).zip
MONO_MAC_FILENAME:=mac-release-Darwin-$(MONO_HASH).7z
MONO_MAC_URL:=https://xamjenkinsartifact.azureedge.net/mono-sdks/$(MONO_MAC_FILENAME)

# Setup various variables depending on whether mono is downloaded or built from source
Expand Down
29 changes: 10 additions & 19 deletions builds/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ downloads/$(MONO_IOS_FILENAME) downloads/$(MONO_MAC_FILENAME):
$(Q) mv $@.tmp $@
$(Q) echo "Downloaded $(MONO_URL)"

downloads/%: downloads/%.zip
downloads/%: downloads/%.7z
$(Q) echo "Unzipping $*..."
$(Q) rm -Rf $@.tmp
$(Q) 7z x $< -o$@.tmp
$(Q) mv $@.tmp $@
$(Q) echo "Unzipped $*."

.stamp-download-mono: download-mono $(TOP)/Make.config
.stamp-download-mono: download-mono $(TOP)/Make.config $(TOP)/mk/mono.mk
$(Q) touch $@

clean-local::
Expand All @@ -62,7 +62,7 @@ else
# this is a list of all the files from mono we care about, so that we
# can use that list as dependencies for our makefile targets
-include .deps.mono.mk
.deps.mono.mk: $(TOP)/Make.config
.deps.mono.mk: $(TOP)/Make.config $(TOP)/mk/mono.mk
$(Q) printf 'MONO_DEPENDENCIES += Makefile \\\n' > $@.tmp
$(Q) cd $(MONO_PATH) && git ls-files --recurse-submodules 'mcs/class/*.cs' 'mcs/build/*.cs' 'external/*.cs' '*.h' '*.c' '*.cpp' | sed 's/ /\\ /g' | sed 's@^\(.*\)$$@ $(MONO_PATH)/\1 \\@' >> $(abspath $@).tmp
$(Q) mv $@.tmp $@
Expand All @@ -75,7 +75,7 @@ SDK_ARGS= \
IOS_VERSION=$(IOS_SDK_VERSION) IOS_VERSION_MIN=$(MIN_IOS_SDK_VERSION) \
TVOS_VERSION=$(TVOS_SDK_VERSION) TVOS_VERSION_MIN=$(MIN_TVOS_SDK_VERSION) \
WATCHOS_VERSION=$(WATCH_SDK_VERSION) WATCHOS_VERSION_MIN=$(MIN_WATCHOS_SDK_VERSION) \
WATCHOS5_VERSION=$(WATCH_SDK_VERSION) WATCHOS5_VERSION_MIN=$(MIN_WATCHOS_SDK_VERSION) \
WATCHOS64_32_VERSION=$(WATCH_SDK_VERSION) WATCHOS64_32_VERSION_MIN=$(MIN_WATCHOS64_32_SDK_VERSION) \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needed for #6307 and mono/mono#15202

MACOS_VERSION=$(OSX_SDK_VERSION) MACOS_VERSION_MIN=$(MIN_OSX_SDK_VERSION)

SDK_CONFIG = $(MONO_PATH)/sdks/Make.config
Expand All @@ -96,7 +96,7 @@ endif
$(MAKE) -C $(SDK_BUILDDIR) configure-ios configure-mac $(SDK_ARGS)
$(Q) touch $@

.stamp-compile-mono: .stamp-configure-mono $(MONO_DEPENDENCIES) $(BUILDS_MAKEFILE_DEP) $(TOP)/Make.config
.stamp-compile-mono: .stamp-configure-mono $(MONO_DEPENDENCIES) $(BUILDS_MAKEFILE_DEP) $(TOP)/Make.config $(TOP)/mk/mono.mk
$(MAKE) -C $(SDK_BUILDDIR) package-ios package-ios-bcl package-mac package-mac-bcl $(SDK_ARGS)
$(Q) touch $@

Expand Down Expand Up @@ -613,7 +613,7 @@ $(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/updateinfo: $(TOP)/Make.config.inc
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/Version: $(TOP)/Make.config.inc
$(Q) echo $(MAC_PACKAGE_VERSION) > $@

$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/Versions.plist: $(TOP)/Versions-mac.plist.in Makefile $(TOP)/Make.config $(TOP)/versions-check.csharp .stamp-$(MONO_BUILD_MODE)
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/Versions.plist: $(TOP)/Versions-mac.plist.in Makefile $(TOP)/Make.config $(TOP)/mk/mono.mk $(TOP)/versions-check.csharp .stamp-$(MONO_BUILD_MODE)
$(Q) $(TOP)/versions-check.csharp $< "$(MIN_IOS_SDK_VERSION)" "$(IOS_SDK_VERSION)" "$(MIN_TVOS_SDK_VERSION)" "$(TVOS_SDK_VERSION)" "$(MIN_WATCH_OS_VERSION)" "$(WATCH_SDK_VERSION)" "$(MIN_OSX_SDK_VERSION)" "$(OSX_SDK_VERSION)"
$(Q_GEN) sed -e 's/@XCODE_VERSION@/$(XCODE_VERSION)/g' -e "s/@MONO_VERSION@/$(shell cat $(MONO_MAC_SDK_DESTDIR)/mac-mono-version.txt)/g" -e "s/@MIN_XM_MONO_VERSION@/$(MIN_XM_MONO_VERSION)/g" $< > $@

Expand Down Expand Up @@ -732,7 +732,7 @@ $(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/Version: $(TOP)/Make.config.inc | $(IOS_DESTD
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/updateinfo: $(TOP)/Make.config.inc
$(Q) echo "4569c276-1397-4adb-9485-82a7696df22e $(IOS_PACKAGE_UPDATE_ID)" > $@

$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/Versions.plist: $(TOP)/Versions-ios.plist.in Makefile $(TOP)/Make.config $(TOP)/versions-check.csharp .stamp-$(MONO_BUILD_MODE)
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/Versions.plist: $(TOP)/Versions-ios.plist.in Makefile $(TOP)/Make.config $(TOP)/mk/mono.mk $(TOP)/versions-check.csharp .stamp-$(MONO_BUILD_MODE)
$(Q) $(TOP)/versions-check.csharp $< "$(MIN_IOS_SDK_VERSION)" "$(IOS_SDK_VERSION)" "$(MIN_TVOS_SDK_VERSION)" "$(TVOS_SDK_VERSION)" "$(MIN_WATCH_OS_VERSION)" "$(WATCH_SDK_VERSION)" "$(MIN_OSX_SDK_VERSION)" "$(OSX_SDK_VERSION)"
$(Q_GEN) sed -e 's/@XCODE_VERSION@/$(XCODE_VERSION)/g' -e "s/@MONO_VERSION@/$(shell cat $(MONO_IOS_SDK_DESTDIR)/ios-mono-version.txt)/g" $< > $@

Expand Down Expand Up @@ -993,23 +993,14 @@ LLVM64_TARGETS = \
$(PREFIX)/LLVM/bin/opt \
$(PREFIX)/LLVM/bin/llc \

LLVM32_TARGETS = \
$(PREFIX)/LLVM36/bin/opt \
$(PREFIX)/LLVM36/bin/llc \

$(MONO_IOS_SDK_DESTDIR)/llvm-llvm64/bin/%: .stamp-$(MONO_BUILD_MODE)
$(MONO_IOS_SDK_DESTDIR)/llvm36-llvm32/bin/%: .stamp-$(MONO_BUILD_MODE)

$(PREFIX)/LLVM/bin/%: $(MONO_IOS_SDK_DESTDIR)/llvm-llvm64/bin/% | $(PREFIX)/LLVM/bin
$(call Q_2,INSTALL ,[LLVM64]) install -c -m 0755 $(INSTALL_STRIP_FLAG) $^ $@

$(PREFIX)/LLVM36/bin/%: $(MONO_IOS_SDK_DESTDIR)/llvm36-llvm32/bin/% | $(PREFIX)/LLVM36/bin
$(call Q_2,INSTALL ,[LLVM32]) install -c -m 0755 $(INSTALL_STRIP_FLAG) $^ $@

$(PREFIX)/LLVM/bin $(PREFIX)/LLVM36/bin:
akoeplinger marked this conversation as resolved.
Show resolved Hide resolved
$(PREFIX)/LLVM/bin:
$(Q) mkdir -p $@

.PHONY: install-llvm64 install-llvm32 install-llvm
install-llvm: install-llvm32 install-llvm64
install-llvm32: $(LLVM32_TARGETS)
.PHONY: install-llvm64 install-llvm
install-llvm: install-llvm64
install-llvm64: $(LLVM64_TARGETS)
85 changes: 2 additions & 83 deletions mk/mono.mk
Original file line number Diff line number Diff line change
@@ -1,86 +1,5 @@
ifneq ($(MONO_BUILD_FROM_SOURCE),)
NEEDED_MONO_VERSION := $(MONO_HASH)
NEEDED_MONO_BRANCH := $(MONO_BRANCH)
NEEDED_MONO_VERSION := fe2a0a8810213c5a2f75388fb2dd298c9a535393
NEEDED_MONO_BRANCH := 2019-06

MONO_DIRECTORY := mono
MONO_MODULE := https://github.com/mono/mono
MONO_VERSION := $(shell cd $(MONO_PATH) 2> /dev/null && git rev-parse HEAD 2> /dev/null)
MONO_BRANCH := $(shell cd $(MONO_PATH) 2> /dev/null && git symbolic-ref --short HEAD 2> /dev/null)

define CheckVersionTemplate
check-$(1)::
@rm -f $(THISDIR)/.stamp-reset-$(1)
@if test x$$(IGNORE_$(2)_VERSION) = "x"; then \
if test ! -d $($(2)_PATH); then \
if test x$$(RESET_VERSIONS) != "x"; then \
make reset-$(1) || exit 1; \
else \
echo "Your $(1) checkout is $(COLOR_RED)missing$(COLOR_CLEAR), please run 'make reset-$(1)'"; \
touch .check-versions-failure; \
fi; \
else \
if test "x$($(2)_VERSION)" != "x$(NEEDED_$(2)_VERSION)" ; then \
if test x$$(RESET_VERSIONS) != "x"; then \
make reset-$(1) || exit 1; \
else \
echo "Your $(1) version is $(COLOR_RED)out of date$(COLOR_CLEAR), please run 'make reset-$(1)' (found $($(2)_VERSION), expected $(NEEDED_$(2)_VERSION)). Alternatively export IGNORE_$(2)_VERSION=1 to skip this check."; \
test -z "$(BUILD_REVISION)" || $(MAKE) test-$(1); \
touch .check-versions-failure; \
fi; \
elif test "x$($(2)_BRANCH)" != "x$(NEEDED_$(2)_BRANCH)" ; then \
if test x$$(RESET_VERSIONS) != "x"; then \
test -z "$(BUILD_REVISION)" || $(MAKE) test-$(1); \
make reset-$(1) || exit 1; \
else \
echo "Your $(1) branch is $(COLOR_RED)out of date$(COLOR_CLEAR), please run 'make reset-$(1)' (found $($(2)_BRANCH), expected $(NEEDED_$(2)_BRANCH)). Alternatively export IGNORE_$(2)_VERSION=1 to skip this check."; \
touch .check-versions-failure; \
fi; \
else \
echo "$(1) is $(COLOR_GREEN)up-to-date$(COLOR_CLEAR)."; \
fi; \
fi; \
else \
echo "$(1) is $(COLOR_GRAY)ignored$(COLOR_CLEAR)."; \
fi

test-$(1)::
@echo $(1)
@echo " $(2)_DIRECTORY=$($(2)_DIRECTORY)"
@echo " $(2)_MODULE=$($(2)_MODULE)"
@echo " NEEDED_$(2)_VERSION=$(NEEDED_$(2)_VERSION)"
@echo " $(2)_VERSION=$($(2)_VERSION)"
@echo " NEEDED_$(2)_BRANCH=$(NEEDED_$(2)_BRANCH)"
@echo " $(2)_BRANCH=$($(2)_BRANCH)"
@echo " $(2)_PATH=$($(2)_PATH) => $(abspath $($(2)_PATH))"

reset-$(1)::
$(Q) \
DEPENDENCY_PATH=$($(2)_PATH) \
DEPENDENCY_MODULE=$($(2)_MODULE) \
DEPENDENCY_HASH=$(NEEDED_$(2)_VERSION) \
DEPENDENCY_BRANCH=$(NEEDED_$(2)_BRANCH) \
DEPENDENCY_DIRECTORY=$($(2)_DIRECTORY) \
DEPENDENCY_IGNORE_VERSION=$(IGNORE_$(2)_VERSION) \
$(TOP)/mk/xamarin-reset.sh $(1)
@touch $(THISDIR)/.stamp-reset-$(1)

print-$(1)::
@printf "*** %-16s %-45s %s (%s)\n" "$($(2)_DIRECTORY)" "$($(2)_MODULE)" "$(NEEDED_$(2)_VERSION)" "$(NEEDED_$(2)_BRANCH)"

.PHONY: check-$(1) reset-$(1) print-$(1)

reset-versions-impl:: reset-$(1)
check-versions:: check-$(1)
print-versions:: print-$(1)

DEPENDENCY_DIRECTORIES += $($(2)_PATH)

endef

$(MONO_PATH):
$(Q) git clone --recursive $(MONO_MODULE) $(MONO_PATH)
$(Q) $(MAKE) reset-mono

$(eval $(call CheckVersionTemplate,mono,MONO))

endif
1 change: 0 additions & 1 deletion mk/versions.mk
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ $(eval $(call CheckSubmoduleTemplate,Xamarin.MacDev,XAMARIN_MACDEV))
$(eval $(call CheckSubmoduleTemplate,guiunit,GUI_UNIT))
$(eval $(call CheckSubmoduleTemplate,macios-binaries,MACIOS_BINARIES))

include $(TOP)/mk/mono.mk
include $(TOP)/mk/xamarin.mk

check-versions::
Expand Down
18 changes: 18 additions & 0 deletions mk/xamarin.mk
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@

ifneq ($(MONO_BUILD_FROM_SOURCE),)
# The mono hash/branch + some other variables are specified in mono.mk, which is included from Make.config.
# Here we only keep what makes sense to disable when not building from source.
MONO_VERSION := $(shell cd $(MONO_PATH) 2> /dev/null && git rev-parse HEAD 2> /dev/null)
MONO_BRANCH := $(shell cd $(MONO_PATH) 2> /dev/null && git symbolic-ref --short HEAD 2> /dev/null)
endif

ifdef ENABLE_XAMARIN
NEEDED_MACCORE_VERSION := 348833cb21c75ce1e82b477f405c8ef4bed9812c
NEEDED_MACCORE_BRANCH := master
Expand All @@ -6,6 +14,7 @@ MACCORE_DIRECTORY := maccore
MACCORE_MODULE := git@github.com:xamarin/maccore.git
MACCORE_VERSION := $(shell cd $(MACCORE_PATH) 2> /dev/null && git rev-parse HEAD 2> /dev/null)
MACCORE_BRANCH := $(shell cd $(MACCORE_PATH) 2> /dev/null && git symbolic-ref --short HEAD 2> /dev/null)
endif

define CheckVersionTemplate
check-$(1)::
Expand Down Expand Up @@ -77,6 +86,15 @@ DEPENDENCY_DIRECTORIES += $($(2)_PATH)

endef

ifneq ($(MONO_BUILD_FROM_SOURCE),)
$(MONO_PATH):
$(Q) git clone --recursive $(MONO_MODULE) $(MONO_PATH)
$(Q) $(MAKE) reset-mono

$(eval $(call CheckVersionTemplate,mono,MONO))
endif

ifdef ENABLE_XAMARIN
$(MACCORE_PATH):
$(Q) git clone --recursive $(MACCORE_MODULE) $(MACCORE_PATH)
$(Q) $(MAKE) reset-maccore
Expand Down
2 changes: 1 addition & 1 deletion runtime/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ SHARED_HEADERS += shared.h product.h delegates.h runtime-internal.h $(SHARED_INC

SHARED_FILES = $(SHARED_SOURCES) $(SHARED_HEADERS) $(SHARED_I386_SOURCES) $(SHARED_X86_64_SOURCES) $(SHARED_ARM64_SOURCES)

EXTRA_DEPENDENCIES = $(SHARED_HEADERS) $(TOP)/Make.config
EXTRA_DEPENDENCIES = $(SHARED_HEADERS) $(TOP)/Make.config $(TOP)/mk/mono.mk

xamarin/mono-runtime.h: mono-runtime.h.t4 exports.t4
$(Q_GEN) $(TT) $< -o $@
Expand Down
1 change: 1 addition & 0 deletions runtime/monotouch-support.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const char * xamarin_get_locale_country_code ();
void xamarin_log (const unsigned short *unicodeMessage);
void * xamarin_timezone_get_data (const char *name, int *size);
char ** xamarin_timezone_get_names (int *count);
const char * xamarin_timezone_get_local_name ();
void xamarin_start_wwan (const char *uri);

#ifdef MONOTOUCH
Expand Down
6 changes: 3 additions & 3 deletions src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ $(IOS_TARGETS_DIRS):
$(PROJECT_DIR)/xamios.csproj: xamios.tmpl.csproj Makefile $(wildcard $(TOP)/src/*.sources)
@sed -e 's*<!--%FILES%-->*$(foreach file,$(IOS_SOURCES),<Compile Include="$(file)"/>)*' -e 's*<!--%APIS%-->*$(foreach file,$(IOS_APIS),<None Include="$(file)"/>)*' $< | xmllint --format - > $@

$(PROJECT_DIR)/MonoTouch.NUnitLite.csproj: MonoTouch.NUnitLite.templ.csproj Makefile touch-unit.sources $(TOP)/Make.config
$(PROJECT_DIR)/MonoTouch.NUnitLite.csproj: MonoTouch.NUnitLite.templ.csproj Makefile touch-unit.sources $(TOP)/Make.config $(TOP)/mk/mono.mk
$(Q) sed -e 's*<!--%FILES%-->*$(foreach file,$(IOS_TOUCHUNIT_SOURCES),<Compile Include="$(file)"/>)*' $< | xmllint --format - > $@

PROJECT_FILES += $(PROJECT_DIR)/xamios.csproj $(PROJECT_DIR)/MonoTouch.NUnitLite.csproj
Expand Down Expand Up @@ -668,7 +668,7 @@ $(WATCH_BUILD_DIR)/reference/MonoTouch.NUnitLite%dll $(WATCH_BUILD_DIR)/referenc
$(PROJECT_DIR)/xamwatch.csproj: xamwatch.tmpl.csproj Makefile $(wildcard $(TOP)/*.sources)
@sed -e 's*<!--%FILES%-->*$(foreach file,$(WATCHOS_SOURCES),<Compile Include="$(file)"/>)*' -e 's*<!--%APIS%-->*$(foreach file,$(WATCHOS_APIS),<None Include="$(file)"/>)*' $< | xmllint --format - > $@

$(PROJECT_DIR)/MonoTouch.NUnitLite.watchos.csproj: MonoTouch.NUnitLite.watchos.templ.csproj Makefile touch-unit.sources $(TOP)/Make.config
$(PROJECT_DIR)/MonoTouch.NUnitLite.watchos.csproj: MonoTouch.NUnitLite.watchos.templ.csproj Makefile touch-unit.sources $(TOP)/Make.config $(TOP)/mk/mono.mk
$(Q) sed -e 's*<!--%FILES%-->*$(foreach file,$(WATCHOS_TOUCHUNIT_SOURCES),<Compile Include="$(file)"/>)*' $< | xmllint --format - > $@

PROJECT_FILES += $(PROJECT_DIR)/xamwatch.csproj $(PROJECT_DIR)/MonoTouch.NUnitLite.watchos.csproj
Expand Down Expand Up @@ -840,7 +840,7 @@ $(TVOS_BUILD_DIR)/reference/MonoTouch.Dialog-1.pdb: $(MACIOS_BINARIES_PATH)/Mono
$(PROJECT_DIR)/xamtvos.csproj: xamtvos.tmpl.csproj Makefile $(wildcard $(TOP)/*.sources)
@sed -e 's*<!--%FILES%-->*$(foreach file,$(TVOS_SOURCES),<Compile Include="$(file)"/>)*' -e 's*<!--%APIS%-->*$(foreach file,$(TVOS_APIS),<None Include="$(file)"/>)*' $< | xmllint --format - > $@

$(PROJECT_DIR)/MonoTouch.NUnitLite.tvos.csproj: MonoTouch.NUnitLite.tvos.templ.csproj Makefile touch-unit.sources $(TOP)/Make.config
$(PROJECT_DIR)/MonoTouch.NUnitLite.tvos.csproj: MonoTouch.NUnitLite.tvos.templ.csproj Makefile touch-unit.sources $(TOP)/Make.config $(TOP)/mk/mono.mk
$(Q) sed -e 's*<!--%FILES%-->*$(foreach file,$(TVOS_TOUCHUNIT_SOURCES),<Compile Include="$(file)"/>)*' $< | xmllint --format - > $@

PROJECT_FILES += $(PROJECT_DIR)/xamtvos.csproj $(PROJECT_DIR)/MonoTouch.NUnitLite.tvos.csproj
Expand Down
2 changes: 1 addition & 1 deletion src/Makefile.generator
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#

# generator.csproj.inc contains the generator_dependencies variable used to determine if the generator needs to be rebuilt or not.
$(BUILD_DIR)/generator.csproj.inc: Makefile.generator $(TOP)/tools/common/create-makefile-fragment.sh $(TOP)/Make.config | $(BUILD_DIR)
$(BUILD_DIR)/generator.csproj.inc: Makefile.generator $(TOP)/tools/common/create-makefile-fragment.sh $(TOP)/Make.config $(TOP)/mk/mono.mk | $(BUILD_DIR)
$(Q_GEN) $(TOP)/tools/common/create-makefile-fragment.sh $(abspath $(CURDIR)/generator.csproj) $(abspath $@)

-include $(BUILD_DIR)/generator.csproj.inc
Expand Down
4 changes: 2 additions & 2 deletions tests/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ endif
package-tests:
$(MAKE) qa-test-dependencies.zip mac-test-package.zip

test.config: Makefile $(TOP)/Make.config
test.config: Makefile $(TOP)/Make.config $(TOP)/mk/mono.mk
@rm -f $@
@echo "MONOTOUCH_PREFIX=$(abspath $(MONOTOUCH_PREFIX))" >> $@
@echo "IOS_DESTDIR=$(abspath $(IOS_DESTDIR))" >> $@
Expand All @@ -96,7 +96,7 @@ test.config: Makefile $(TOP)/Make.config
@echo "MONO_MAC_SDK_DESTDIR=$(MONO_MAC_SDK_DESTDIR)" >> $@
@echo "ENABLE_XAMARIN=$(ENABLE_XAMARIN)" >> $@

test-system.config: Makefile $(TOP)/Make.config
test-system.config: Makefile $(TOP)/Make.config $(TOP)/mk/mono.mk
@rm -f $@
@echo "MONOTOUCH_PREFIX=$(IOS_FRAMEWORK_DIR)/Versions/Current" >> $@
@echo "IOS_DESTDIR=/" >> $@
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
## DEVICE FAILURES

# tracked by https://github.com/mono/mono/issues/15536
System.Numerics.Tests.GenericVectorTests.GreaterThanAllSingle
System.Numerics.Tests.GenericVectorTests.ConditionalSelectSingle
System.Numerics.Tests.GenericVectorTests.LessThanAllSingle
Expand Down
Loading