Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1a6deeb
Add an 'arm64_32' capability.
rolfbjarne Feb 21, 2019
9dd2340
[mtouch] Add support for arm64_32
lewurm Jan 10, 2019
4606d37
[build/runtime] Add build rules for arm64_32
lewurm Jan 23, 2019
f272f69
[runtime] Enable the varargs dynamic trampolines for arm64_32.
rolfbjarne May 9, 2019
9c3754b
[msbuild] Make using the fake watchOS 4.3 SDK disabled by default.
rolfbjarne Jan 29, 2019
91a5dc2
[ObjCRuntime] The NSLog_arm64 P/Invoke is now needed on watchOS (ARM6…
rolfbjarne Feb 7, 2019
e58a31e
[CoreGraphics] Fix CGColorConversionInfo on arm64_32.
rolfbjarne Feb 7, 2019
bb09ab8
[generator] Treat arm64_32 as arm64 when dealing with objc_msgSend be…
rolfbjarne Jan 30, 2019
2f8100d
[xharness] Add ARM64_32 support.
rolfbjarne Jan 29, 2019
321c6e7
[xharness] Don't add Debug variations for arm64_32, we don't support …
rolfbjarne Feb 21, 2019
b2c5c86
[introspection] ARM64_32 adjustments.
rolfbjarne Jan 30, 2019
c4c17fa
[monotouch-test] Adjust for arm64_32 abi.
rolfbjarne Feb 12, 2019
1bf8ed3
[tests][mtouch] Add abi/architecture tests for arm64_32.
rolfbjarne Feb 12, 2019
adbc87f
[monotouch-test] LLVM's too smart for our tests, so ignore Symbols.Fu…
rolfbjarne Feb 4, 2019
76c2361
[tests][mtouch] Adjust minOS version test for arm64_32.
rolfbjarne Feb 26, 2019
e3fc04a
[tests][mtouch] Adjust Xamarin.Tests.ProductTests.MinOSVersion for wa…
rolfbjarne May 10, 2019
b67fa47
Bump mono.
rolfbjarne May 10, 2019
3881b86
Bump mono.
rolfbjarne May 10, 2019
3a72377
[xharness] Don't run the mono-native-compat test on ARM64_32.
rolfbjarne May 10, 2019
8d6215f
Bump mono.
rolfbjarne May 10, 2019
b6f735c
[xharness] Rework arm64_32 variations a bit so that they're not alway…
rolfbjarne May 16, 2019
47beab4
Merge remote-tracking branch 'origin/master' into arm64_32-v3
rolfbjarne May 16, 2019
2d34cb2
Merge remote-tracking branch 'origin/master' into arm64_32-v3
rolfbjarne May 17, 2019
1e31ea2
Fix whitespace.
rolfbjarne May 10, 2019
eab32da
[monotouch-test] Don't go completely overboard when trying to fill th…
rolfbjarne May 10, 2019
21b8690
[tests] Fix reporting back to xharness for watchOS NUnit/XUnit tests.
rolfbjarne May 10, 2019
5b4b398
[tests] Link NUnit/XUnit watchOS extensions.
rolfbjarne May 10, 2019
b53e39a
Bump mono.
rolfbjarne May 20, 2019
a937279
Merge remote-tracking branch 'origin/master' into arm64_32-v3
rolfbjarne May 20, 2019
6b1d015
Bump mono.
rolfbjarne May 21, 2019
835daf1
Merge remote-tracking branch 'origin/master' into arm64_32-v3
rolfbjarne May 21, 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
2 changes: 2 additions & 0 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,9 @@ 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)
DEVICEWATCH_OBJC_CFLAGS = $(DEVICEWATCH_CFLAGS) $(DEVICE_OBJC_CFLAGS)
DEVICEWATCH64_32_OBJC_CFLAGS = $(DEVICEWATCH64_32_CFLAGS) $(DEVICE_OBJC_CFLAGS)

# TVOS

Expand Down
1 change: 1 addition & 0 deletions Versions-ios.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
<string>http-client-handlers</string>
<string>mono-symbol-archive</string>
<string>sgen-concurrent-gc</string>
<string>arm64_32</string>
</array>
<key>Optimizations</key>
<dict>
Expand Down
139 changes: 101 additions & 38 deletions builds/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1310,55 +1310,101 @@ WATCHOS_BIN_PATH = $(XCODE_DEVELOPER_ROOT)/Toolchains/XcodeDefault.xctoolchain/u

ifdef INCLUDE_WATCH
ifdef INCLUDE_DEVICE
build:: build-targetwatch
clean-local:: clean-targetwatch
build:: build-targetwatch build-targetwatch64_32
clean-local:: clean-targetwatch clean-targetwatch64_32
install-local:: install-watchos
all-local:: install-watchos

targetwatch: build-targetwatch install-watchos
watchos:: targetwatch
targetwatch64_32: build-targetwatch64_32 install-watch64_32
watchos:: targetwatch targetwatch64_32

.PHONY: targetwatch
.PHONY: targetwatch targetwatch64_32

.stamp-build-targetwatch: .stamp-build-crosswatch $(MONO_PATH)/configure $(SDK_CONFIG) $(MONO_DEPENDENCIES)
$(MAKE) -C $(SDK_BUILDDIR) package-ios-targetwatch $(SDK_ARGS)
$(Q) mkdir -p $(BUILD_DESTDIR)/targetwatch
$(Q) $(CP) -r $(SDK_DESTDIR)/ios-targetwatch-release/* $(BUILD_DESTDIR)/targetwatch
$(Q) touch $@

.stamp-build-targetwatch64_32: $(MONO_PATH)/configure $(SDK_CONFIG) $(MONO_DEPENDENCIES)
$(MAKE) -C $(SDK_BUILDDIR) package-ios-targetwatch64_32 $(SDK_ARGS)
$(Q) mkdir -p $(BUILD_DESTDIR)/targetwatch64_32
$(Q) $(CP) -r $(SDK_DESTDIR)/ios-targetwatch64_32-release/* $(BUILD_DESTDIR)/targetwatch64_32
$(Q) touch $@

build-targetwatch: .stamp-build-targetwatch
build-targetwatch64_32: .stamp-build-targetwatch64_32

clean-targetwatch:
$(Q) rm -rf $(BUILD_DESTDIR)/targetwatch .stamp-*-targetwatch
$(MAKE) -C $(SDK_BUILDDIR) clean-ios-targetwatch $(SDK_ARGS)

setup-watchos: setup-targetwatch
build-watchos: build-targetwatch
clean-watchos: clean-targetwatch

WATCHOS_TARGET_LIBMONOSGEN = $(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.a
WATCHOS_TARGET_SHAREDMONOSGEN = $(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.dylib
WATCHOS_TARGET_LIBLOGPROFILER = $(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log-static.a
WATCHOS_TARGET_LIBMONOEEINTERP = $(BUILD_DESTDIR)/targetwatch/lib/libmono-ee-interp.a
WATCHOS_TARGET_LIBMONOICALLTABLE = $(BUILD_DESTDIR)/targetwatch/lib/libmono-icall-table.a
WATCHOS_TARGET_LIBMONOILGEN = $(BUILD_DESTDIR)/targetwatch/lib/libmono-ilgen.a
WATCHOS_TARGET_SHAREDLIBLOGPROFILER = $(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log.0.dylib
WATCHOS_TARGET_LIBMONONATIVECOMPAT = $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-compat.a
WATCHOS_TARGET_LIBMONONATIVEUNIFIED = $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.a
WATCHOS_TARGET_SHAREDLIBMONONATIVECOMPAT = $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-compat.dylib
WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED = $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.dylib

$(WATCHOS_TARGET_LIBMONOSGEN): .stamp-build-targetwatch
$(WATCHOS_TARGET_SHAREDMONOSGEN): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBLOGPROFILER): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONOEEINTERP): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONOICALLTABLE): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONOILGEN): .stamp-build-targetwatch
$(WATCHOS_TARGET_SHAREDLIBLOGPROFILER): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONONATIVECOMPAT): .stamp-build-targetwatch
$(WATCHOS_TARGET_LIBMONONATIVEUNIFIED): .stamp-build-targetwatch
$(WATCHOS_TARGET_SHAREDLIBMONONATIVECOMPAT): .stamp-build-targetwatch
$(WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED): .stamp-build-targetwatch
clean-targetwatch64_32:
$(Q) rm -rf $(BUILD_DESTDIR)/targetwatch64_32 .stamp-*-targetwatch64_32
$(MAKE) -C $(SDK_BUILDDIR) clean-ios-targetwatch64_32 $(SDK_ARGS)

setup-watchos: setup-targetwatch setup-targetwatch64_32
build-watchos: build-targetwatch build-targetwatch64_32
clean-watchos: clean-targetwatch clean-targetwatch64_32

WATCHOS_TARGET_LIBMONOSGEN = \
$(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmonosgen-2.0.a

WATCHOS_TARGET_SHAREDMONOSGEN = \
$(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.dylib \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmonosgen-2.0.dylib

WATCHOS_TARGET_LIBLOGPROFILER = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log-static.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-profiler-log-static.a

WATCHOS_TARGET_LIBMONOEEINTERP = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-ee-interp.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-ee-interp.a

WATCHOS_TARGET_LIBMONOICALLTABLE = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-icall-table.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-icall-table.a

WATCHOS_TARGET_LIBMONOILGEN = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-ilgen.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-ilgen.a

WATCHOS_TARGET_SHAREDLIBLOGPROFILER = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log.0.dylib \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-profiler-log.0.dylib

WATCHOS_TARGET_LIBMONONATIVECOMPAT = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-native-compat.a \

WATCHOS_TARGET_LIBMONONATIVEUNIFIED = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.a \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-native.a \

WATCHOS_TARGET_SHAREDLIBMONONATIVECOMPAT = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-native-compat.dylib \

WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED = \
$(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.dylib \
$(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-native.dylib \

WATCHOS_TARGET_MONOFRAMEWORK = \
$(BUILD_DESTDIR)/targetwatch/tmp-lib/Mono \
$(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/Mono

$(WATCHOS_TARGET_LIBMONOSGEN): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_SHAREDMONOSGEN): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBLOGPROFILER): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONOEEINTERP): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONOICALLTABLE): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONOILGEN): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_SHAREDLIBLOGPROFILER): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONONATIVECOMPAT): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_LIBMONONATIVEUNIFIED): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_SHAREDLIBMONONATIVECOMPAT): .stamp-build-targetwatch .stamp-build-targetwatch64_32
$(WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED): .stamp-build-targetwatch .stamp-build-targetwatch64_32

device:: watchos

Expand All @@ -1385,7 +1431,9 @@ $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmonosgen-2.0.a: $(WATCHOS_TARGET
$(Q) $(WATCHOS_BIN_PATH)/lipo $(WATCHOS_TARGET_LIBMONOSGEN) -create -output $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmonosgen-2.0.dylib: $(WATCHOS_TARGET_SHAREDMONOSGEN) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(WATCHOS_TARGET_SHAREDMONOSGEN) -m -o $@
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.dylib -m -o $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmonosgen-2.0.dylib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch64_32/lib/libmonosgen-2.0.dylib -m -o $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmonosgen-2.0.dylib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/lipo $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmonosgen-2.0.dylib $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmonosgen-2.0.dylib -create -output $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmonosgen-2.0.dylib $@
$(Q) dsymutil -t 4 -o $@.dSYM $@

Expand All @@ -1402,8 +1450,13 @@ $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-ilgen.a: $(WATCHOS_TARGET_L
$(Q) $(WATCHOS_BIN_PATH)/lipo $(WATCHOS_TARGET_LIBMONOILGEN) -create -output $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-profiler-log.dylib: $(WATCHOS_TARGET_SHAREDLIBLOGPROFILER) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib
$(Q) $(WATCHOS_BIN_PATH)/bitcode_strip $(WATCHOS_TARGET_SHAREDLIBLOGPROFILER) -m -o $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmono-profiler-log.dylib -change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $@
$(Q) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch/lib/libmono-profiler-log.0.dylib -m -o $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmono-profiler-log.0.dylib
$(Q) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-profiler-log.0.dylib -m -o $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmono-profiler-log.0.dylib
$(Q) $(WATCHOS_BIN_PATH)/lipo $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmono-profiler-log.0.dylib $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmono-profiler-log.0.dylib -create -output $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmono-profiler-log.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch64_32-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib \
$@
$(Q) dsymutil -t 4 -o $@.dSYM $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-native-compat.a: $(WATCHOS_TARGET_LIBMONONATIVECOMPAT) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib
Expand All @@ -1418,15 +1471,22 @@ $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-native-compat.dylib: $(WATC
$(Q) dsymutil -t 4 -o $@.dSYM $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib/libmono-native-unified.dylib: $(WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib
$(Q) $(WATCHOS_BIN_PATH)/bitcode_strip $(WATCHOS_TARGET_SHAREDLIBMONONATIVEUNIFIED) -m -o $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmono-native-unified.dylib -change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmono-native-unified.dylib @rpath/libmono-native-unified.dylib -change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib $@
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch/lib/libmono-native-unified.dylib -m -o $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmono-native-unified.dylib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/bitcode_strip $(BUILD_DESTDIR)/targetwatch64_32/lib/libmono-native.dylib -m -o $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmono-native.dylib
$(Q_STRIP) $(WATCHOS_BIN_PATH)/lipo $(BUILD_DESTDIR)/targetwatch/tmp-lib/libmono-native-unified.dylib $(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/libmono-native.dylib -create -output $@
$(Q) $(WATCHOS_BIN_PATH)/install_name_tool -id @rpath/libmono-native-unified.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch64_32-release/lib/libmono-native.dylib @rpath/libmono-native-unified.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch64_32-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmono-native-unified.dylib @rpath/libmono-native-unified.dylib \
-change $(SDK_DESTDIR)/ios-targetwatch-release/lib/libmonosgen-2.0.1.dylib @rpath/libmonosgen-2.0.dylib \
$@
$(Q) dsymutil -t 4 -o $@.dSYM $@

$(WATCHOS_DIRECTORIES):
$(Q) mkdir -p $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework/Mono: $(BUILD_DESTDIR)/targetwatch/tmp-lib/Mono | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework
$(Q) $(CP) $< $@
$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework/Mono: $(WATCHOS_TARGET_MONOFRAMEWORK) | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework
$(Q) lipo $(WATCHOS_TARGET_MONOFRAMEWORK) -create -output $@
$(Q) dsymutil -t 4 -o $(patsubst %/,%,$(dir $@)).dSYM $@

$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework/Info.plist: Mono.framework-watchos.Info.plist | $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework
Expand All @@ -1435,6 +1495,9 @@ $(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks/Mono.framework/Info.plist: Mono.
$(BUILD_DESTDIR)/targetwatch/tmp-lib/Mono: $(BUILD_DESTDIR)/targetwatch/lib/libmonosgen-2.0.a
$(Q_GEN) CC="$(IOS_CC)" ./create-shared-library.sh $< $@ -arch armv7k -install_name @rpath/Mono.framework/Mono -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) -lc++ -fembed-bitcode

$(BUILD_DESTDIR)/targetwatch64_32/tmp-lib/Mono: $(BUILD_DESTDIR)/targetwatch64_32/lib/libmonosgen-2.0.a
$(Q_GEN) CC="$(IOS_CC)" ./create-shared-library.sh $< $@ -arch arm64_32 -install_name @rpath/Mono.framework/Mono -mwatchos-version-min=$(MIN_WATCHOS_SDK_VERSION) -isysroot $(DEVICEWATCH_SDK) -lc++ -fembed-bitcode

install-watchos: $(WATCHOS_TARGETS)

endif # INCLUDE_DEVICE
Expand Down
2 changes: 1 addition & 1 deletion external/mono
Submodule mono updated 67 files
+2 −0 .gitignore
+1 −1 external/corefx
+2 −0 mcs/build/platforms/win32.make
+4 −0 mcs/build/profiles/monodroid.make
+2 −0 mcs/class/Mono.Security/win32_monodroid_Mono.Security_test.dll.exclude.sources
+11 −0 ....ComponentModel.Composition.4.5/win32_monodroid_System.ComponentModel.Composition_xtest.dll.exclude.sources
+209 −39 mcs/class/System.Core/System.Core.csproj
+3 −0 mcs/class/System.Core/win32_monodroid_System.Core.dll.exclude.sources
+56 −0 mcs/class/System.Core/win32_monodroid_System.Core.dll.sources
+1 −0 mcs/class/System.Core/win32_monodroid_System.Core_test.dll.exclude.sources
+37 −0 mcs/class/System.IdentityModel/win32_monodroid_System.IdentityModel_test.dll.exclude.sources
+1 −0 mcs/class/System.Runtime.Serialization/win32_monodroid_System.Runtime.Serialization_xtest.dll.exclude.sources
+1 −0 mcs/class/System.Security/win32_monodroid_System.Security_test.dll.exclude.sources
+148 −0 mcs/class/System.ServiceModel/win32_monodroid_System.ServiceModel_test.dll.exclude.sources
+7 −0 mcs/class/System.Web.Services/win32_monodroid_System.Web.Services_test.dll.exclude.sources
+1 −0 mcs/class/System.Windows.Forms/System.Windows.Forms/ContainerControl.cs
+46 −41 mcs/class/System.Windows.Forms/System.Windows.Forms/Control.cs
+8 −3 mcs/class/System.Windows.Forms/System.Windows.Forms/DataGridViewCheckBoxCell.cs
+19 −26 mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs
+30 −0 mcs/class/System.Windows.Forms/Test/System.Windows.Forms/DataGridViewCheckBoxCellTest.cs
+117 −1 mcs/class/System.Windows.Forms/Test/System.Windows.Forms/FormEventTest.cs
+2 −2 mcs/class/System/Mono.Net.Security/SystemCertificateValidator.cs
+1 −1 mcs/class/System/System.Diagnostics/TraceImpl.cs
+548 −162 mcs/class/System/System.csproj
+1 −1 mcs/class/System/System/MonoToolsLocator.cs
+0 −2 mcs/class/System/monotouch_System.dll.exclude.sources
+0 −10 mcs/class/System/monotouch_System.dll.sources
+0 −1 mcs/class/System/monotouch_runtime_System.dll.exclude.sources
+0 −1 mcs/class/System/monotouch_tv_runtime_System.dll.exclude.sources
+5 −0 mcs/class/System/win32_monodroid_System.dll.exclude.sources
+25 −0 mcs/class/System/win32_monodroid_System.dll.sources
+81 −0 mcs/class/System/win32_monodroid_System_test.dll.exclude.sources
+20 −0 mcs/class/System/win32_monodroid_System_xtest.dll.exclude.sources
+2 −4 mcs/class/corlib/ReferenceSources/TextInfo.cs
+1 −1 mcs/class/corlib/System/Console.cs
+1 −1 mcs/class/corlib/System/Environment.cs
+1 −1 mcs/class/corlib/System/TimeZoneInfo.cs
+18 −0 mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs
+336 −67 mcs/class/corlib/corlib.csproj
+28 −0 mcs/class/corlib/win32_monodroid_corlib.dll.exclude.sources
+67 −0 mcs/class/corlib/win32_monodroid_corlib.dll.sources
+52 −0 mcs/class/corlib/win32_monodroid_corlib_test.dll.exclude.sources
+1 −1 mcs/class/referencesource/System/net/System/Net/webproxy.cs
+1 −1 mcs/class/referencesource/mscorlib/system/threading/synchronizationcontext.cs
+1 −1 mono/metadata/appdomain.c
+2 −2 mono/metadata/custom-attrs.c
+3 −3 mono/metadata/exception.c
+2 −2 mono/metadata/marshal.c
+4 −3 mono/metadata/object.c
+1 −1 mono/metadata/reflection.c
+0 −3 mono/metadata/threads-types.h
+0 −6 mono/metadata/threads.c
+29 −36 mono/metadata/w32mutex-unix.c
+8 −0 mono/mini/builtin-types.cs
+5 −0 mono/mini/interp/transform.c
+1 −13 mono/mini/mini-arm.c
+1 −1 mono/mini/mini-arm64.h
+2 −0 mono/sgen/sgen-gray.c
+9 −0 scripts/ci/pipeline/sdks-archive.groovy
+12 −3 scripts/ci/run-jenkins.sh
+33 −3 sdks/builds/Makefile
+123 −6 sdks/builds/android.mk
+3 −2 sdks/builds/bcl.mk
+25 −17 sdks/builds/ios.mk
+19 −0 sdks/builds/llvm.mk
+6 −1 sdks/builds/mxe.mk
+107 −0 sdks/builds/runtime.mk
13 changes: 13 additions & 0 deletions mk/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ DEV64_I := $(COMMON_I)

SIMW_I := $(COMMON_I)
DEVW_I := $(COMMON_I)
DEVW64_32_I := $(COMMON_I)

SIM_TV_I:= $(COMMON_I)
DEV_TV_I:= $(COMMON_I)
Expand Down Expand Up @@ -120,6 +121,18 @@ define NativeCompilationTemplate
.libs/watchos/%$(1).armv7k.framework: | .libs/watchos
$$(call Q_2,LD, [watchos]) $(DEVICE_CC) $(DEVICEWATCH_CFLAGS) $$(EXTRA_FLAGS) -dynamiclib -o $$@ $$^ -F$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks -fapplication-extension

.libs/watchos/%$(1).arm64_32.o: %.m $(EXTRA_DEPENDENCIES) | .libs/watchos
$$(call Q_2,OBJC, [watchos]) $(DEVICE_CC) $(DEVICEWATCH64_32_OBJC_CFLAGS) $$(EXTRA_DEFINES) $(DEVW64_32_I) -g $(2) -c $$< -o $$@

.libs/watchos/%$(1).arm64_32.o: %.c $(EXTRA_DEPENDENCIES) | .libs/watchos
$$(call Q_2,CC, [watchos]) $(DEVICE_CC) $(DEVICEWATCH64_32_CFLAGS) $$(EXTRA_DEFINES) $(DEVW64_32_I) -g $(2) -c $$< -o $$@

.libs/watchos/%$(1).arm64_32.dylib: | .libs/watchos
$$(call Q_2,LD, [watchos]) $(DEVICE_CC) $(DEVICEWATCH64_32_CFLAGS) $$(EXTRA_FLAGS) -dynamiclib -o $$@ $$^ -L$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/usr/lib -fapplication-extension

.libs/watchos/%$(1).arm64_32.framework: | .libs/watchos
$$(call Q_2,LD, [watchos]) $(DEVICE_CC) $(DEVICEWATCH64_32_CFLAGS) $$(EXTRA_FLAGS) -dynamiclib -o $$@ $$^ -F$(IOS_DESTDIR)$(XAMARIN_WATCHOS_SDK)/Frameworks -fapplication-extension

## tv simulator

.libs/tvos/%$(1).x86_64.o: %.m $(EXTRA_DEPENDENCIES) | .libs/tvos
Expand Down
4 changes: 4 additions & 0 deletions msbuild/Xamarin.iOS.Tasks.Core/Tasks/MTouchTaskBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ enum TargetArchitecture
ARMv7s = 16,
ARMv7k = 32,
ARM64 = 64,
ARM64_32 = 128,

// Note: needed for backwards compatability
ARMv6_ARMv7 = ARMv6 | ARMv7,
Expand Down Expand Up @@ -486,6 +487,9 @@ protected override string GenerateCommandLineCommands ()
if (architectures.HasFlag (TargetArchitecture.ARMv7k))
abi += (abi.Length > 0 ? "," : "") + "armv7k" + llvm;

if (architectures.HasFlag (TargetArchitecture.ARM64_32))
abi += (abi.Length > 0 ? "," : "") + "arm64_32" + llvm;

if (string.IsNullOrEmpty (abi))
abi = "armv7" + llvm + thumb;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Copyright (C) 2015-2016 Xamarin. All rights reserved.

<!-- Enable nuget package conflict resolution -->
<ResolveAssemblyConflicts>true</ResolveAssemblyConflicts>
<UseFakeWatchOS4_3Sdk Condition="'$(UseFakeWatchOS4_3Sdk)' == ''">True</UseFakeWatchOS4_3Sdk>
<UseFakeWatchOS4_3Sdk Condition="'$(UseFakeWatchOS4_3Sdk)' == ''">False</UseFakeWatchOS4_3Sdk>
</PropertyGroup>

<Import Project="$(MSBuildThisFileDirectory)..\iOS\Xamarin.iOS.Common.targets" />
Expand Down
9 changes: 8 additions & 1 deletion runtime/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ $(eval $(call PlatformTemplate,ios,IOS,armv7 armv7s arm64,x86 x86_64,IOS,IPHONE)
endif

ifdef INCLUDE_WATCH
$(eval $(call PlatformTemplate,watchos,WATCHOS,armv7k,x86,WATCH,WATCH))
$(eval $(call PlatformTemplate,watchos,WATCHOS,armv7k arm64_32,x86,WATCH,WATCH))
endif

ifdef INCLUDE_TVOS
Expand Down Expand Up @@ -336,6 +336,7 @@ armv7_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).armv7.o,$$($(2)_SOURCE_
armv7s_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).armv7s.o,$$($(2)_SOURCE_STEMS))
armv7k_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).armv7k.o,$$($(2)_SOURCE_STEMS))
arm64_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).arm64.o,$$($(2)_SOURCE_STEMS)) $$(patsubst %,.libs/$(1)/%$(4).arm64.o,$$($(2)_ARM64_SOURCE_STEMS))
arm64_32_$(1)$(3)_OBJECTS = $$(patsubst %,.libs/$(1)/%$(4).arm64_32.o,$$($(2)_SOURCE_STEMS))

$$(foreach arch,$$($(2)_ARCHITECTURES),$$(eval $$(call LibXamarinArchTemplate,$(1),$(2),$(3),$(4),$$(arch))))

Expand All @@ -361,6 +362,9 @@ $$(foreach arch,$$($(2)_ARCHITECTURES),$$(eval $$(call LibXamarinArchTemplate,$(
.libs/$(1)/libxamarin$(4).armv7k.dylib: EXTRA_FLAGS=$$($(1)$(3)_COMMON_DYLIB_FLAGS)
.libs/$(1)/libxamarin$(4).armv7k.dylib: $$(armv7k_$(1)$(3)_OBJECTS)

.libs/$(1)/libxamarin$(4).arm64_32.dylib: EXTRA_FLAGS=$$($(1)$(3)_COMMON_DYLIB_FLAGS)
.libs/$(1)/libxamarin$(4).arm64_32.dylib: $$(arm64_32_$(1)$(3)_OBJECTS)

.libs/$(1)/Xamarin$(4).x86.framework: EXTRA_FLAGS=$$($(1)$(3)_COMMON_FRAMEWORK_FLAGS)
.libs/$(1)/Xamarin$(4).x86.framework: $$(x86_$(1)$(3)_OBJECTS)

Expand All @@ -378,6 +382,9 @@ $$(foreach arch,$$($(2)_ARCHITECTURES),$$(eval $$(call LibXamarinArchTemplate,$(

.libs/$(1)/Xamarin$(4).armv7k.framework: EXTRA_FLAGS=$$($(1)$(3)_COMMON_FRAMEWORK_FLAGS)
.libs/$(1)/Xamarin$(4).armv7k.framework: $$(armv7k_$(1)$(3)_OBJECTS)

.libs/$(1)/Xamarin$(4).arm64_32.framework: EXTRA_FLAGS=$$($(1)$(3)_COMMON_FRAMEWORK_FLAGS)
.libs/$(1)/Xamarin$(4).arm64_32.framework: $$(arm64_32_$(1)$(3)_OBJECTS)
endef

$(eval $(call LibXamarinTemplate,ios,IOS))
Expand Down
2 changes: 1 addition & 1 deletion runtime/bindings.h
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ struct MPSImageHistogramInfoWrapper {
// entire struct on a 16-byte boundary, which doesn't match how we've
// defined it in managed code (explicit layout, but no specific alignment).
// So we need to manually pad the struct to match the managed definition.
#if defined (__x86_64__) || defined (__arm64__)
#if !defined(__ILP32__)
uint8_t dummy[7];
#else
uint8_t dummy[11];
Expand Down
2 changes: 1 addition & 1 deletion runtime/trampolines-varargs.m
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if !defined (__i386__) && !defined (__x86_64__) && !defined (__arm64__)
#if !defined (__i386__) && !defined (__x86_64__) && !(defined (__arm64__) && !defined(__ILP32__))
#define __VARARGS_TRAMPOLINES__ 1
#endif

Expand Down
Loading