2016-04-21 15:58:45 +03:00
|
|
|
|
TOP=../..
|
|
|
|
|
include $(TOP)/Make.config
|
|
|
|
|
|
|
|
|
|
# without this many compiler warnings about unused functions and variables
|
|
|
|
|
# in system headers show up.
|
|
|
|
|
export CCACHE_CPP2=1
|
|
|
|
|
|
2016-09-30 22:02:17 +03:00
|
|
|
|
SIMLAUNCHERS = simlauncher32-sgen simlauncher64-sgen
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
UNREFERENCED_SYMBOLS = \
|
2016-05-13 14:16:37 +03:00
|
|
|
|
_xamarin_dyn_objc_msgSend \
|
|
|
|
|
_xamarin_dyn_objc_msgSendSuper \
|
|
|
|
|
_xamarin_dyn_objc_msgSend_stret \
|
|
|
|
|
_xamarin_dyn_objc_msgSendSuper_stret \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
_xamarin_init_nsthread \
|
|
|
|
|
_xamarin_get_block_descriptor \
|
|
|
|
|
_xamarin_get_locale_country_code \
|
|
|
|
|
_xamarin_log \
|
2018-01-22 16:21:24 +03:00
|
|
|
|
_xamarin_localized_string_format \
|
|
|
|
|
_xamarin_localized_string_format_1 \
|
|
|
|
|
_xamarin_localized_string_format_2 \
|
|
|
|
|
_xamarin_localized_string_format_3 \
|
|
|
|
|
_xamarin_localized_string_format_4 \
|
|
|
|
|
_xamarin_localized_string_format_5 \
|
|
|
|
|
_xamarin_localized_string_format_6 \
|
|
|
|
|
_xamarin_localized_string_format_7 \
|
|
|
|
|
_xamarin_localized_string_format_8 \
|
|
|
|
|
_xamarin_localized_string_format_9 \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
_xamarin_start_wwan \
|
|
|
|
|
_xamarin_timezone_get_data \
|
|
|
|
|
_xamarin_timezone_get_names \
|
|
|
|
|
_xamarin_IntPtr_objc_msgSend_IntPtr \
|
|
|
|
|
_xamarin_IntPtr_objc_msgSendSuper_IntPtr \
|
|
|
|
|
_xamarin_release_managed_ref \
|
|
|
|
|
_xamarin_create_managed_ref \
|
2018-01-22 16:21:24 +03:00
|
|
|
|
_xamarin_CGPoint__VNNormalizedFaceBoundingBoxPointForLandmarkPoint_Vector2_CGRect_nuint_nuint_string \
|
|
|
|
|
_xamarin_CGPoint__VNImagePointForFaceLandmarkPoint_Vector2_CGRect_nuint_nuint_string \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
_CloseZStream \
|
|
|
|
|
_CreateZStream \
|
|
|
|
|
_Flush \
|
|
|
|
|
_ReadZStream \
|
|
|
|
|
_WriteZStream
|
|
|
|
|
|
|
|
|
|
# The frameworks order is important as some symbols can be duplicated
|
|
|
|
|
# e.g. NSURLResponse is both in CFNetwork and Foundation in iOS8 but linking to
|
|
|
|
|
# CFNetwork will result in binaries that won't work with earlier iOS versions
|
|
|
|
|
SIMLAUNCHER_FRAMEWORKS = \
|
|
|
|
|
-framework CoreFoundation \
|
|
|
|
|
-framework CoreGraphics \
|
|
|
|
|
-framework Foundation \
|
|
|
|
|
-framework AVFoundation \
|
|
|
|
|
-framework Accelerate \
|
|
|
|
|
-framework AddressBook \
|
|
|
|
|
-framework AddressBookUI \
|
|
|
|
|
-framework AudioToolbox \
|
|
|
|
|
-framework CFNetwork \
|
|
|
|
|
-framework CoreAudio \
|
|
|
|
|
-framework CoreData \
|
|
|
|
|
-framework CoreLocation \
|
|
|
|
|
-framework CoreText \
|
|
|
|
|
-framework ExternalAccessory \
|
|
|
|
|
-framework GameKit \
|
|
|
|
|
-framework MapKit \
|
|
|
|
|
-framework MediaPlayer \
|
|
|
|
|
-framework MessageUI \
|
|
|
|
|
-framework MobileCoreServices \
|
|
|
|
|
-framework OpenAL \
|
|
|
|
|
-framework OpenGLES \
|
|
|
|
|
-framework StoreKit \
|
|
|
|
|
-framework SystemConfiguration \
|
|
|
|
|
-framework UIKit \
|
|
|
|
|
\
|
|
|
|
|
-weak_framework AssetsLibrary \
|
|
|
|
|
-weak_framework CoreMedia \
|
|
|
|
|
-weak_framework CoreMidi \
|
|
|
|
|
-weak_framework CoreMotion \
|
|
|
|
|
-weak_framework CoreTelephony \
|
|
|
|
|
-weak_framework CoreVideo \
|
|
|
|
|
-weak_framework EventKit \
|
|
|
|
|
-weak_framework EventKitUI \
|
|
|
|
|
-weak_framework ImageIO \
|
|
|
|
|
-weak_framework Security \
|
|
|
|
|
-weak_framework QuickLook \
|
|
|
|
|
-weak_framework iAd \
|
|
|
|
|
-weak_framework Accounts \
|
|
|
|
|
-weak_framework GLKit \
|
|
|
|
|
-weak_framework NewsstandKit \
|
|
|
|
|
-weak_framework CoreImage \
|
|
|
|
|
-weak_framework CoreBluetooth \
|
|
|
|
|
-weak_framework Twitter \
|
|
|
|
|
-weak_framework PassKit \
|
|
|
|
|
-weak_framework Social \
|
|
|
|
|
-weak_framework AdSupport \
|
|
|
|
|
-weak_framework JavaScriptCore \
|
|
|
|
|
-weak_framework MultipeerConnectivity \
|
|
|
|
|
-weak_framework SafariServices \
|
|
|
|
|
-weak_framework SpriteKit \
|
|
|
|
|
\
|
|
|
|
|
-weak_framework HomeKit \
|
|
|
|
|
-weak_framework HealthKit \
|
|
|
|
|
-weak_framework LocalAuthentication \
|
|
|
|
|
-weak_framework NotificationCenter \
|
|
|
|
|
-weak_framework PushKit \
|
|
|
|
|
-weak_framework Photos \
|
|
|
|
|
-weak_framework PhotosUI \
|
|
|
|
|
-weak_framework SceneKit \
|
|
|
|
|
-weak_framework CloudKit \
|
|
|
|
|
-weak_framework AVKit \
|
|
|
|
|
-weak_framework WebKit \
|
|
|
|
|
-weak_framework NetworkExtension \
|
|
|
|
|
-weak_framework Metal \
|
|
|
|
|
-weak_framework CoreAudioKit \
|
|
|
|
|
\
|
|
|
|
|
-weak_framework ReplayKit \
|
|
|
|
|
-weak_framework Contacts \
|
|
|
|
|
-weak_framework ContactsUI \
|
|
|
|
|
-weak_framework CoreSpotlight \
|
|
|
|
|
-weak_framework WatchConnectivity \
|
|
|
|
|
-weak_framework ModelIO \
|
|
|
|
|
-weak_framework GameplayKit \
|
2018-07-27 17:30:08 +03:00
|
|
|
|
-weak_framework Metal \
|
|
|
|
|
-weak_framework MetalKit \
|
|
|
|
|
-weak_framework MetalPerformanceShaders \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
\
|
2016-06-18 16:20:38 +03:00
|
|
|
|
-weak_framework HealthKitUI \
|
|
|
|
|
\
|
2016-06-15 22:32:48 +03:00
|
|
|
|
-weak_framework CallKit \
|
2016-06-21 15:56:38 +03:00
|
|
|
|
-weak_framework Messages \
|
2016-06-15 23:51:21 +03:00
|
|
|
|
-weak_framework Speech \
|
2016-06-21 15:56:38 +03:00
|
|
|
|
-weak_framework VideoSubscriberAccount \
|
2016-07-04 22:41:22 +03:00
|
|
|
|
-weak_framework UserNotifications \
|
2016-07-13 00:21:35 +03:00
|
|
|
|
-weak_framework UserNotificationsUI \
|
2016-07-15 03:42:48 +03:00
|
|
|
|
-weak_framework Intents \
|
2017-06-23 03:02:17 +03:00
|
|
|
|
-weak_framework IntentsUI \
|
|
|
|
|
\
|
2017-07-24 18:12:30 +03:00
|
|
|
|
-weak_framework ARKit \
|
|
|
|
|
-weak_framework FileProvider \
|
2018-02-08 00:05:45 +03:00
|
|
|
|
-weak_framework FileProviderUI \
|
|
|
|
|
\
|
|
|
|
|
-weak_framework IdentityLookup \
|
2018-04-05 18:20:05 +03:00
|
|
|
|
-weak_framework BusinessChat \
|
2018-05-29 21:23:16 +03:00
|
|
|
|
-weak_framework ClassKit \
|
2018-06-12 22:12:20 +03:00
|
|
|
|
\
|
2018-06-13 21:06:37 +03:00
|
|
|
|
-weak_framework AuthenticationServices \
|
2018-06-12 22:12:20 +03:00
|
|
|
|
-weak_framework CarPlay \
|
2019-09-10 05:58:39 +03:00
|
|
|
|
-weak_framework IdentityLookupUI \
|
2018-06-14 20:21:44 +03:00
|
|
|
|
-weak_framework NaturalLanguage \
|
2018-07-05 22:01:47 +03:00
|
|
|
|
-weak_framework Network \
|
2019-09-10 20:03:26 +03:00
|
|
|
|
-weak_framework IdentityLookupUI \
|
|
|
|
|
-weak_framework VisionKit \
|
2019-09-10 05:58:39 +03:00
|
|
|
|
\
|
|
|
|
|
-weak_framework BackgroundTasks \
|
2019-09-10 20:03:26 +03:00
|
|
|
|
-weak_framework CoreHaptics \
|
2019-09-10 05:58:39 +03:00
|
|
|
|
-weak_framework LinkPresentation \
|
|
|
|
|
-weak_framework PencilKit \
|
|
|
|
|
-weak_framework QuickLookThumbnailing \
|
|
|
|
|
-weak_framework SoundAnalysis \
|
|
|
|
|
-weak_framework VisionKit \
|
|
|
|
|
|
|
|
|
|
# keep the above list of weak_framework
|
|
|
|
|
# 1. grouped by iOS versions;
|
|
|
|
|
# 2. sorted and
|
|
|
|
|
# 3. in sync with the list inside `tools/common/Frameworks.cs`
|
|
|
|
|
# except it is no a mistake that GameController and MediaAccessibility (#13636) are not built into simlauncher
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
# note: there _was_ no CoreAudioKit.framework or Metal.framework for the simulator (before recent iOS9 betas)
|
|
|
|
|
# note 2: there's no GameKit, in iOS 9 (beta 3 at least), you're supposed to reference GameCenter instead (looks fixed in beta 4)
|
|
|
|
|
# note 3: there's no MetalKit or MetalPerformanceShaders in iOS 9 beta 4 - but other frameworks were added
|
|
|
|
|
# note 4: GameCenter was removed in Xcode 7 beta 5, and GameKit is back.
|
2018-07-27 17:30:08 +03:00
|
|
|
|
# note 5: Metal* seems to be supported as of some Xcode 7 beta (b2 didn't, but the final release does)
|
2019-06-04 23:43:49 +03:00
|
|
|
|
# note 6: Xcode 11 beta 1 shipped without WatchKit.
|
2019-08-14 18:46:55 +03:00
|
|
|
|
# note 7: Xcode 11 beta 3 documented that shipping without WatchKit was done on purpose (in the release notes).
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
define SimlauncherTemplate
|
|
|
|
|
|
|
|
|
|
simlauncher$(5)$(1): simlauncher.m $(TOP)/runtime/.libs/ios/libxamarin.a $(BUILD_DESTDIR)/simulator$(4)/lib/libmono$(3)-2.0.a Makefile Xamarin.iOS.registrar.ios.a
|
|
|
|
|
$(QT_CC) $(SIMULATOR_CC) -DDEBUG -DSIMLAUNCHER $(2) -gdwarf-2 \
|
|
|
|
|
-L$(TOP)/runtime/.libs/ios \
|
|
|
|
|
-L$(BUILD_DESTDIR)/simulator$(4)/lib/ \
|
|
|
|
|
-I$(TOP)/runtime \
|
|
|
|
|
-I$(BUILD_DESTDIR)/simulator$(4)/include/mono-2.0 \
|
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e18f8578449e46426382a537f3f4823.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
|
|
|
|
-I$(TOP)/builds/simulator$(4)/mono/eglib \
|
|
|
|
|
-I$(MONO_PATH)/mono/eglib \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(BUILD_DESTDIR)/simulator$(4)/lib/libmono$(3)-2.0.a \
|
|
|
|
|
$(foreach u,$(UNREFERENCED_SYMBOLS),-u $u) \
|
|
|
|
|
$(TOP)/runtime/.libs/ios/libapp.a \
|
|
|
|
|
-Wl,-w \
|
|
|
|
|
-lz -liconv $(TOP)/runtime/.libs/ios/libxamarin-debug.a simlauncher.m $(SIMLAUNCHER_FRAMEWORKS) $(SIMULATOR$(4)_OBJC_CFLAGS) -o $$@
|
2019-09-10 16:02:27 +03:00
|
|
|
|
$(Q) xcrun otool -L simlauncher$(5)$(1) > simlauncher$(5)$(1).frameworks
|
2016-04-21 15:58:45 +03:00
|
|
|
|
endef
|
|
|
|
|
|
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e18f8578449e46426382a537f3f4823.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
|
|
|
|
$(eval $(call SimlauncherTemplate,-sgen,$(BUILD_DESTDIR)/simulator86/lib/libmono-profiler-log.a -u _mono_profiler_init_log -DXAMCORE_2_0 Xamarin.iOS.registrar.ios.a,sgen,86,32))
|
|
|
|
|
$(eval $(call SimlauncherTemplate,-sgen,$(BUILD_DESTDIR)/simulator64/lib/libmono-profiler-log.a -u _mono_profiler_init_log -DXAMCORE_2_0 Xamarin.iOS.registrar.ios.a,sgen,64,64))
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2018-08-23 14:27:44 +03:00
|
|
|
|
#
|
|
|
|
|
# mtouch
|
|
|
|
|
#
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2018-08-23 14:27:44 +03:00
|
|
|
|
MTOUCH_CONF=Release
|
|
|
|
|
MTOUCH_DIR=bin/$(MTOUCH_CONF)
|
|
|
|
|
LOCAL_MTOUCH=$(MTOUCH_DIR)/mtouch.exe
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2018-08-23 14:27:44 +03:00
|
|
|
|
# mtouch.csproj.inc contains the mtouch_dependencies variable used to determine if mtouch needs to be rebuilt or not.
|
|
|
|
|
mtouch.csproj.inc: Makefile ../common/create-makefile-fragment.sh
|
|
|
|
|
$(Q_GEN) ../common/create-makefile-fragment.sh $(CURDIR)/mtouch.csproj
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2018-08-23 14:27:44 +03:00
|
|
|
|
-include mtouch.csproj.inc
|
2016-04-26 00:04:23 +03:00
|
|
|
|
|
2018-08-23 14:27:44 +03:00
|
|
|
|
$(MTOUCH_DIR)/mtouch.exe: $(mtouch_dependencies)
|
|
|
|
|
$(Q_GEN) $(SYSTEM_MSBUILD) $(TOP)/Xamarin.iOS.sln "/t:mtouch" $(XBUILD_VERBOSITY) /p:Configuration=$(MTOUCH_CONF)
|
2016-04-26 00:04:23 +03:00
|
|
|
|
|
2018-08-23 14:27:44 +03:00
|
|
|
|
#
|
|
|
|
|
# Partial static registrar libraries
|
|
|
|
|
#
|
2016-04-26 00:04:23 +03:00
|
|
|
|
|
2016-11-01 18:41:41 +03:00
|
|
|
|
%.registrar.ios.i386.m %.registrar.ios.i386.h: $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/32bits/%.dll $(LOCAL_MTOUCH)
|
2018-08-23 14:27:44 +03:00
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(LOCAL_MTOUCH) --xamarin-framework-directory=$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) $(MTOUCH_VERBOSITY) --runregistrar:$(abspath $(basename $@).m) --sdkroot $(XCODE_DEVELOPER_ROOT) --sdk $(IOS_SDK_VERSION) $< --registrar:static --target-framework Xamarin.iOS,v1.0 --abi i386
|
2016-11-01 18:41:41 +03:00
|
|
|
|
$(Q) touch $(basename $@).m $(basename $@).h
|
|
|
|
|
|
|
|
|
|
%.registrar.ios.x86_64.m %.registrar.ios.x86_64.h: $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/64bits/%.dll $(LOCAL_MTOUCH)
|
2018-08-23 14:27:44 +03:00
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(LOCAL_MTOUCH) --xamarin-framework-directory=$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) $(MTOUCH_VERBOSITY) --runregistrar:$(abspath $(basename $@).m) --sdkroot $(XCODE_DEVELOPER_ROOT) --sdk $(IOS_SDK_VERSION) $< --registrar:static --target-framework Xamarin.iOS,v1.0 --abi x86_64
|
2016-11-01 18:41:41 +03:00
|
|
|
|
$(Q) touch $(basename $@).m $(basename $@).h
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-05-11 14:10:35 +03:00
|
|
|
|
%.registrar.watchos.m %.registrar.watchos.h: $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.WatchOS/%.dll $(LOCAL_MTOUCH)
|
2018-08-23 14:27:44 +03:00
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(LOCAL_MTOUCH) --xamarin-framework-directory=$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) $(MTOUCH_VERBOSITY) --runregistrar:$(abspath $(basename $@).m) --sdkroot $(XCODE_DEVELOPER_ROOT) --sdk $(WATCH_SDK_VERSION) $< --registrar:static --target-framework Xamarin.WatchOS,1.0 --abi i386
|
2016-11-01 18:41:41 +03:00
|
|
|
|
$(Q) touch $(basename $@).m $(basename $@).h
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-05-11 14:10:35 +03:00
|
|
|
|
%.registrar.tvos.m %.registrar.tvos.h: $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mono/Xamarin.TVOS/%.dll $(LOCAL_MTOUCH)
|
2018-08-23 14:27:44 +03:00
|
|
|
|
$(Q_GEN) $(SYSTEM_MONO) --debug $(LOCAL_MTOUCH) --xamarin-framework-directory=$(IOS_DESTDIR)/$(MONOTOUCH_PREFIX) $(MTOUCH_VERBOSITY) --runregistrar:$(abspath $(basename $@).m) --sdkroot $(XCODE_DEVELOPER_ROOT) --sdk $(TVOS_SDK_VERSION) $< --registrar:static --target-framework Xamarin.TVOS,1.0 --abi x86_64
|
2016-11-01 18:41:41 +03:00
|
|
|
|
$(Q) touch $(basename $@).m $(basename $@).h
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
%.registrar.ios.a: %.registrar.ios.i386.a %.registrar.ios.x86_64.a
|
|
|
|
|
$(Q_LIPO) $(DEVICE_BIN_PATH)/lipo -create -output $@ $^
|
|
|
|
|
|
2019-08-29 18:49:06 +03:00
|
|
|
|
REGISTRAR_CFLAGS=-stdlib=libc++ -std=c++14
|
2018-06-09 04:45:24 +03:00
|
|
|
|
|
2016-11-01 18:41:41 +03:00
|
|
|
|
%.registrar.ios.i386.a: %.registrar.ios.i386.m %.registrar.ios.i386.h
|
2018-06-09 04:45:24 +03:00
|
|
|
|
$(Q_CC) $(IOS_CC) -DDEBUG -g -gdwarf-2 $(SIMULATOR86_CFLAGS) $(REGISTRAR_CFLAGS) -x objective-c++ -o $@ -c $< -Wall -Wno-unguarded-availability-new -I$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/SDKs/MonoTouch.iphonesimulator.sdk/usr/include
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-11-01 18:41:41 +03:00
|
|
|
|
%.registrar.ios.x86_64.a: %.registrar.ios.x86_64.m %.registrar.ios.x86_64.h
|
2018-06-09 04:45:24 +03:00
|
|
|
|
$(Q_CC) $(IOS_CC) -DDEBUG -g -gdwarf-2 $(SIMULATOR64_CFLAGS) $(REGISTRAR_CFLAGS) -x objective-c++ -o $@ -c $< -Wall -Wno-unguarded-availability-new -I$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/SDKs/MonoTouch.iphonesimulator.sdk/usr/include
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-05-11 14:10:35 +03:00
|
|
|
|
%.registrar.watchos.a: %.registrar.watchos.m %.registrar.watchos.h
|
2018-06-09 04:45:24 +03:00
|
|
|
|
$(Q_CC) $(IOS_CC) -DDEBUG -g -gdwarf-2 $(SIMULATORWATCH_CFLAGS) $(REGISTRAR_CFLAGS) -x objective-c++ -o $@ -c $< -Wall -Wno-unguarded-availability-new -I$(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/include
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
2016-05-11 14:10:35 +03:00
|
|
|
|
%.registrar.tvos.a: %.registrar.tvos.m %.registrar.tvos.h
|
2018-06-09 04:45:24 +03:00
|
|
|
|
$(Q_CC) $(IOS_CC) -DDEBUG -g -gdwarf-2 $(SIMULATORTV_CFLAGS) $(REGISTRAR_CFLAGS) -x objective-c++ -o $@ -c $< -Wall -Wno-unguarded-availability-new -I$(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/include
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
TARGETS = \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/mtouch \
|
2016-04-25 01:49:28 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/mtouch.exe \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(foreach launcher,$(SIMLAUNCHERS),$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/$(launcher)) \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/Xamarin.iOS.registrar.a \
|
|
|
|
|
|
|
|
|
|
ifdef INCLUDE_WATCH
|
|
|
|
|
TARGETS += $(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/lib/Xamarin.WatchOS.registrar.a
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifdef INCLUDE_TVOS
|
|
|
|
|
TARGETS += \
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/lib/Xamarin.TVOS.registrar.a \
|
2016-11-01 18:41:41 +03:00
|
|
|
|
|
2016-04-21 15:58:45 +03:00
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
TARGET_DIRS = \
|
2016-04-25 01:49:28 +03:00
|
|
|
|
bin/Makefile \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib \
|
2016-04-25 01:49:28 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch \
|
2016-04-21 15:58:45 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/etc/mono/assemblies/System \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_SIMULATOR_SDK)/usr/lib \
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/lib \
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/lib \
|
|
|
|
|
|
|
|
|
|
$(TARGET_DIRS):
|
|
|
|
|
$(Q) mkdir -p $@
|
|
|
|
|
|
2018-08-23 14:27:44 +03:00
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/mtouch.exe: $(MTOUCH_DIR)/mtouch.exe | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch
|
2018-10-29 18:09:30 +03:00
|
|
|
|
$(Q) $(CP) $(dir $<)/*.exe $(dir $@)
|
|
|
|
|
$(Q) $(CP) $(dir $<)/*.dll $(dir $@)
|
|
|
|
|
$(Q) $(CP) $(dir $<)/*.pdb $(dir $@)
|
2016-04-25 01:49:28 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/mtouch: mtouch.in | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin
|
|
|
|
|
$(Q_GEN) sed 's!@MONOTOUCH_PREFIX@!$(abspath $(IOS_TARGETDIR)$(MONOTOUCH_PREFIX))!g' $< > $@
|
|
|
|
|
$(Q) chmod +x $@
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/%: % | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin
|
2018-10-29 18:09:30 +03:00
|
|
|
|
$(Q) $(CP) $< $@
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/%: % | $(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib
|
2018-10-29 18:09:30 +03:00
|
|
|
|
$(Q) $(CP) $< $@
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_SIMULATOR_SDK)/usr/lib/%.registrar.a: %.registrar.ios.a | $(IOS_DESTDIR)$(MONOTOUCH_SIMULATOR_SDK)/usr/lib
|
2018-10-29 18:09:30 +03:00
|
|
|
|
$(Q) $(CP) $< $@
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/lib/%.registrar.a: %.registrar.watchos.a | $(IOS_DESTDIR)$(XAMARIN_WATCHSIMULATOR_SDK)/usr/lib
|
2018-10-29 18:09:30 +03:00
|
|
|
|
$(Q) $(CP) $< $@
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
$(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/lib/%.registrar.a: %.registrar.tvos.a | $(IOS_DESTDIR)$(XAMARIN_TVSIMULATOR_SDK)/usr/lib
|
2018-10-29 18:09:30 +03:00
|
|
|
|
$(Q) $(CP) $< $@
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
ifdef INCLUDE_IOS
|
|
|
|
|
install-local:: $(TARGETS)
|
|
|
|
|
all-local:: $(TARGETS)
|
|
|
|
|
endif
|
|
|
|
|
|
2017-01-04 00:34:33 +03:00
|
|
|
|
mtouch: \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/bin/mtouch \
|
|
|
|
|
$(IOS_DESTDIR)$(MONOTOUCH_PREFIX)/lib/mtouch/mtouch.exe \
|
|
|
|
|
|
2016-04-21 15:58:45 +03:00
|
|
|
|
clean-local::
|
2016-05-05 13:16:38 +03:00
|
|
|
|
rm -Rf bin obj
|
2016-04-21 15:58:45 +03:00
|
|
|
|
rm -f $(SIMLAUNCHERS)
|
2018-08-23 14:27:44 +03:00
|
|
|
|
$(SYSTEM_MSBUILD) "/t:Clean" /p:Configuration=$(MTOUCH_CONF) *.csproj
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
include $(TOP)/mk/rules.mk
|
2017-09-29 20:45:53 +03:00
|
|
|
|
include ../common/Make.common
|
2016-04-21 15:58:45 +03:00
|
|
|
|
|
|
|
|
|
# make will automatically consider files created in chained implicit rules as temporary files, and delete them afterwards
|
|
|
|
|
# marking those files as .SECONDARY will prevent that deletion.
|
2016-11-01 18:41:41 +03:00
|
|
|
|
.SECONDARY: $(foreach ext,a h m,Xamarin.iOS.registrar.ios.i386.$(ext) Xamarin.iOS.registrar.ios.x86_64.$(ext))
|
|
|
|
|
.SECONDARY: $(foreach ext,a h m,Xamarin.WatchOS.registrar.watchos.$(ext))
|
|
|
|
|
.SECONDARY: $(foreach ext,a h m,Xamarin.TVOS.registrar.tvos.$(ext))
|