Skip to content

Commit 247a6bf

Browse files
committed
Switch to mono archive and remove submodule
1 parent 824174a commit 247a6bf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1320
-2498
lines changed

.gitmodules

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@
55
path = external/macios-binaries
66
url = ../../xamarin/macios-binaries
77
branch = master
8-
[submodule "external/mono"]
9-
path = external/mono
10-
url = ../../mono/mono.git
11-
branch = 2019-02
128
[submodule "external/opentk"]
139
path = external/opentk
1410
url = ../../mono/opentk.git

Make.config

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ XCODE94_VERSION=9.4
4848
XCODE94_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_9.4.xip
4949
XCODE94_DEVELOPER_ROOT=/Applications/Xcode94.app/Contents/Developer
5050

51+
# Mono version embedded in XI/XM
52+
MONO_HASH:=0bd00ec58809f2a6ec5feff587b1117255b080fd
53+
MONO_BRANCH:=2019-02
54+
5155
# Minimum Mono version for building XI/XM
5256
MIN_MONO_VERSION=6.0.0.176
5357
MAX_MONO_VERSION=6.0.99
@@ -130,8 +134,6 @@ MAC_CXX=$(CCACHE)$(XCODE_DEVELOPER_ROOT)/Toolchains/XcodeDefault.xctoolchain/usr
130134
MAC32_CC=$(CCACHE)$(XCODE94_DEVELOPER_ROOT)/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -isysroot $(XCODE94_MAC_SDKROOT) -stdlib=libc++
131135
MAC32_CXX=$(CCACHE)$(XCODE94_DEVELOPER_ROOT)/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -isysroot $(XCODE94_MAC_SDKROOT) -stdlib=libc++
132136

133-
# This is the temporary directory where the various builds are installed
134-
BUILD_DESTDIR=$(abspath $(TOP)/builds/install)
135137
MAC_INSTALL_VERSION ?= git
136138
IOS_INSTALL_VERSION ?= git
137139

@@ -243,12 +245,10 @@ DEVICETV_OBJC_CFLAGS = $(DEVICETV_CFLAGS) $(DEVICE_OBJC_CFLAGS)
243245
# things in other places if they absolutely must.
244246
MONO_PATH=$(TOP)/external/mono
245247
TOUCH_UNIT_PATH=$(TOP)/external/Touch.Unit
246-
NUNITLITE_PATH=$(TOP)/external/mono/external/nunit-lite
247248
OPENTK_PATH=$(TOP)/external/opentk
248249
XAMARIN_MACDEV_PATH=$(TOP)/external/Xamarin.MacDev
249250
GUI_UNIT_PATH=$(TOP)/external/guiunit
250251
MACCORE_PATH=$(TOP)/../maccore
251-
LINKER_TOOLS_PATH=$(MONO_PATH)/external/linker
252252
MACIOS_BINARIES_PATH=$(TOP)/external/macios-binaries
253253

254254
MONO_PREFIX ?= /Library/Frameworks/Mono.framework/Versions/Current
@@ -318,11 +318,7 @@ MAC_MODERN_BUILD_SOURCE=$(MAC_SOURCE)/build/mac/mobile
318318
MAC_COMMON_BUILD_SOURCE=$(MAC_SOURCE)/build/common
319319

320320
ifneq ($(BUILD_REVISION),)
321-
# wrench build only
322-
IOS_CSC_FLAGS=-pathmap:"$(abspath $(MONO_PATH))/=$(IOS_FRAMEWORK_DIR)/Versions/$(IOS_PACKAGE_VERSION)/src/Xamarin.iOS/"
323321
IOS_CSC_FLAGS_XI=-pathmap:"$(abspath $(IOS_COMMON_BUILD_SOURCE))/=$(IOS_FRAMEWORK_DIR)/Versions/$(IOS_PACKAGE_VERSION)/src/Xamarin.iOS/" -pathmap:"$(abspath $(IOS_BUILD_SOURCE))/=$(IOS_FRAMEWORK_DIR)/Versions/$(IOS_PACKAGE_VERSION)/src/Xamarin.iOS/" -pathmap:"$(abspath $(IOS_SOURCE))/=$(IOS_FRAMEWORK_DIR)/Versions/$(IOS_PACKAGE_VERSION)/src/Xamarin.iOS/"
324-
325-
MAC_CSC_FLAGS=-pathmap:"$(abspath $(MONO_PATH))/=$(MAC_FRAMEWORK_DIR)/Versions/$(MAC_PACKAGE_VERSION)/src/Xamarin.Mac/"
326322
MAC_CSC_FLAGS_XM=-pathmap:"$(abspath $(MAC_COMMON_BUILD_SOURCE))/=$(MAC_FRAMEWORK_DIR)/Versions/$(MAC_PACKAGE_VERSION)/src/Xamarin.Mac/" -pathmap:"$(abspath $(MAC_FULL_BUILD_SOURCE))/=$(MAC_FRAMEWORK_DIR)/Versions/$(MAC_PACKAGE_VERSION)/src/Xamarin.Mac/" -pathmap:"$(abspath $(MAC_MODERN_BUILD_SOURCE))/=$(MAC_FRAMEWORK_DIR)/Versions/$(MAC_PACKAGE_VERSION)/src/Xamarin.Mac/" -pathmap:"$(abspath $(MAC_SOURCE))/=$(MAC_FRAMEWORK_DIR)/Versions/$(MAC_PACKAGE_VERSION)/src/Xamarin.Mac/"
327323
endif
328324

@@ -335,24 +331,20 @@ JENKINS_RESULTS_DIRECTORY ?= $(abspath $(TOP)/jenkins-results)
335331
# Clone files instead of copying them on APFS file systems. Much faster.
336332
CP:=$(shell df -t apfs / >/dev/null 2>&1 && echo "cp -c" || echo "cp")
337333

338-
# Setup various variables depending on whether mono is downloaded or built from source
339-
MONO_HASH:=$(shell git --git-dir=$(abspath $(TOP)/.git) --work-tree=$(abspath $(TOP)) ls-tree HEAD --full-tree -- external/mono | awk -F' ' '{printf "%s",$$3}')
340334
MONO_IOS_FILENAME:=ios-release-Darwin-$(MONO_HASH).zip
341335
MONO_IOS_URL:=https://xamjenkinsartifact.azureedge.net/mono-sdks/$(MONO_IOS_FILENAME)
342336
MONO_MAC_FILENAME:=mac-release-Darwin-$(MONO_HASH).zip
343337
MONO_MAC_URL:=https://xamjenkinsartifact.azureedge.net/mono-sdks/$(MONO_MAC_FILENAME)
338+
339+
# Setup various variables depending on whether mono is downloaded or built from source
344340
ifeq ($(MONO_BUILD_FROM_SOURCE),)
345-
MONO_IOS_SDK_BUILDDIR:=$(abspath $(TOP)/builds/downloads/$(basename $(MONO_IOS_FILENAME)))
346341
MONO_IOS_SDK_DESTDIR:=$(abspath $(TOP)/builds/downloads/$(basename $(MONO_IOS_FILENAME)))
347-
MONO_MAC_SDK_BUILDDIR:=$(abspath $(TOP)/builds/downloads/$(basename $(MONO_MAC_FILENAME)))
348342
MONO_MAC_SDK_DESTDIR:=$(abspath $(TOP)/builds/downloads/$(basename $(MONO_MAC_FILENAME)))
349-
MONO_BUILD_MODE=download
343+
MONO_BUILD_MODE=download-mono
350344
else
351-
MONO_IOS_SDK_BUILDDIR:=$(abspath $(MONO_PATH)/sdks/builds)
352345
MONO_IOS_SDK_DESTDIR:=$(abspath $(MONO_PATH)/sdks/out)
353-
MONO_MAC_SDK_BUILDDIR:=$(abspath $(MONO_PATH)/sdks/builds)
354346
MONO_MAC_SDK_DESTDIR:=$(abspath $(MONO_PATH)/sdks/out)
355-
MONO_BUILD_MODE=compile
347+
MONO_BUILD_MODE=compile-mono
356348
endif
357349

358350
.SUFFIXES:

Makefile

Lines changed: 3 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -3,122 +3,13 @@ SUBDIRS=builds runtime fsharp src msbuild tools
33
include $(TOP)/Make.config
44
include $(TOP)/mk/versions.mk
55

6-
MONO_VERSION="`grep AC_INIT $(MONO_PATH)/configure.ac | sed -e 's/.*\[//' -e 's/\].*//'`"
7-
8-
#
9-
# Xamarin.iOS
10-
#
11-
12-
IOS_DIRECTORIES += \
13-
$(IOS_DESTDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions \
14-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) \
15-
$(IOS_DESTDIR)/Developer/MonoTouch \
16-
$(IOS_DESTDIR)/Developer/MonoTouch/usr \
17-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/lib/mono \
18-
19-
IOS_TARGETS += \
20-
$(IOS_INSTALL_DIRECTORIES) \
21-
$(IOS_DESTDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current \
22-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/bin \
23-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/lib/mono/2.1 \
24-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/lib/mono/Xamarin.iOS \
25-
$(IOS_DESTDIR)/Developer/MonoTouch/updateinfo \
26-
$(IOS_DESTDIR)/Developer/MonoTouch/Version \
27-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/share \
28-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/buildinfo \
29-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/Version \
30-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/updateinfo \
31-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/Versions.plist \
32-
33-
$(IOS_DESTDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current: | $(IOS_DESTDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions
34-
$(Q_LN) ln -hfs $(IOS_INSTALL_VERSION) $@
35-
36-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/bin: | $(IOS_DESTDIR)/Developer/MonoTouch/usr
37-
$(Q_LN) ln -Fs $(abspath $(IOS_TARGETDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin) $@
38-
39-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/lib/mono/2.1: | $(IOS_DESTDIR)/Developer/MonoTouch/usr/lib/mono
40-
$(Q_LN) ln -Fs $(abspath $(IOS_TARGETDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/2.1) $@
41-
42-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/lib/mono/Xamarin.iOS: | $(IOS_DESTDIR)/Developer/MonoTouch/usr/lib/mono
43-
$(Q_LN) ln -Fs $(abspath $(IOS_TARGETDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.iOS) $@
44-
45-
$(IOS_DESTDIR)/Developer/MonoTouch/updateinfo: | $(IOS_DESTDIR)/Developer/MonoTouch
46-
$(Q_LN) ln -fs $(abspath $(IOS_TARGETDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/updateinfo) $@
47-
48-
$(IOS_DESTDIR)/Developer/MonoTouch/Version: | $(IOS_DESTDIR)/Developer/MonoTouch
49-
$(Q_LN) ln -fs $(abspath $(IOS_TARGETDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/Version) $@
50-
51-
$(IOS_DESTDIR)/Developer/MonoTouch/usr/share: | $(IOS_DESTDIR)/Developer/MonoTouch/usr
52-
$(Q_LN) ln -Fs $(abspath $(IOS_TARGETDIR)/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/share) $@
53-
54-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/buildinfo: Make.config.inc .git/index | $(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)
55-
$(Q_GEN) echo "Version: $(IOS_PACKAGE_VERSION)" > $@
56-
$(Q) echo "Hash: $(shell git log --oneline -1 --pretty=%h)" >> $@
57-
$(Q) echo "Branch: $(CURRENT_BRANCH)" >> $@
58-
$(Q) echo "Build date: $(shell date '+%Y-%m-%d %H:%M:%S%z')" >> $@
59-
60-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/Version: Make.config.inc | $(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)
61-
$(Q) echo $(IOS_PACKAGE_VERSION) > $@
62-
63-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/updateinfo: Make.config.inc
64-
$(Q) echo "4569c276-1397-4adb-9485-82a7696df22e $(IOS_PACKAGE_UPDATE_ID)" > $@
65-
66-
$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX)/Versions.plist: Versions-ios.plist.in Makefile $(TOP)/Make.config versions-check.csharp
67-
$(Q) ./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)"
68-
$(Q_GEN) sed -e 's/@XCODE_VERSION@/$(XCODE_VERSION)/g' -e "s/@MONO_VERSION@/$(MONO_VERSION)/g" $< > $@
69-
70-
ifdef INCLUDE_IOS
71-
TARGETS += $(IOS_TARGETS)
72-
DIRECTORIES += $(IOS_DIRECTORIES)
73-
endif
74-
75-
#
76-
# Xamarin.Mac
77-
#
78-
79-
MAC_DIRECTORIES += \
80-
$(MAC_DESTDIR)$(MAC_FRAMEWORK_DIR)/Versions \
81-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR) \
82-
83-
MAC_TARGETS += \
84-
$(MAC_DESTDIR)$(MAC_FRAMEWORK_DIR)/Versions/Current \
85-
$(MAC_DESTDIR)$(MAC_FRAMEWORK_DIR)/Commands \
86-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/buildinfo \
87-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/Version \
88-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/updateinfo \
89-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/Versions.plist \
90-
91-
$(MAC_DESTDIR)$(MAC_FRAMEWORK_DIR)/Versions/Current: | $(MAC_DESTDIR)$(MAC_FRAMEWORK_DIR)/Versions
92-
$(Q_LN) ln -hfs $(MAC_INSTALL_VERSION) $@
93-
94-
$(MAC_DESTDIR)$(MAC_FRAMEWORK_DIR)/Commands:
95-
$(Q_LN) ln -hfs $(MAC_TARGETDIR)/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/bin $@
96-
97-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/buildinfo: Make.config.inc .git/index | $(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)
98-
$(Q_GEN) echo "Version: $(MAC_PACKAGE_VERSION)" > $@
99-
$(Q) echo "Hash: $(shell git log --oneline -1 --pretty=%h)" >> $@
100-
$(Q) echo "Branch: $(CURRENT_BRANCH)" >> $@
101-
$(Q) echo "Build date: $(shell date '+%Y-%m-%d %H:%M:%S%z')" >> $@
102-
103-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/updateinfo: Make.config.inc
104-
$(Q) echo "0ab364ff-c0e9-43a8-8747-3afb02dc7731 $(MAC_PACKAGE_UPDATE_ID)" > $@
105-
106-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/Version: Make.config.inc
107-
$(Q) echo $(MAC_PACKAGE_VERSION) > $@
108-
109-
$(MAC_DESTDIR)/$(MAC_FRAMEWORK_CURRENT_DIR)/Versions.plist: Versions-mac.plist.in Makefile $(TOP)/Make.config versions-check.csharp
110-
$(Q) ./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)"
111-
$(Q_GEN) sed -e 's/@XCODE_VERSION@/$(XCODE_VERSION)/g' -e "s/@MONO_VERSION@/$(MONO_VERSION)/g" -e "s/@MIN_XM_MONO_VERSION@/$(MIN_XM_MONO_VERSION)/g" $< > $@
112-
113-
ifdef INCLUDE_MAC
114-
TARGETS += $(MAC_TARGETS)
115-
DIRECTORIES += $(MAC_DIRECTORIES)
116-
endif
117-
1186
#
1197
# Common
1208
#
1219

10+
all-local:: check-system
11+
install-local:: check-system
12+
12213
.PHONY: world
12314
world: check-system
12415
@$(MAKE) reset-versions
@@ -141,14 +32,6 @@ check-system:
14132
@./system-dependencies.sh
14233
@echo "Building Xamarin.iOS $(IOS_PACKAGE_VERSION) and Xamarin.Mac $(MAC_PACKAGE_VERSION)"
14334

144-
$(DIRECTORIES):
145-
$(Q) mkdir -p $@
146-
147-
$(TARGETS): | check-system
148-
149-
all-local:: $(TARGETS)
150-
install-local:: $(TARGETS)
151-
15235
check-permissions:
15336
ifdef INCLUDE_MAC
15437
@UNREADABLE=`find $(MAC_DESTDIR) ! -perm -0644`; if ! test -z "$$UNREADABLE"; then echo "There are files with invalid permissions (all installed files at least be readable by everybody, and writable by owner: 0644): "; find $(MAC_DESTDIR) ! -perm -0644 | xargs ls -la; exit 1; fi

0 commit comments

Comments
 (0)