Skip to content

Commit e51a2a7

Browse files
committed
Merge pull request #428 from rolfbjarne/xamarin-watch-support
Add support for Xamarin.Watch profile.
2 parents a89330f + a4ca323 commit e51a2a7

File tree

8 files changed

+36
-4
lines changed

8 files changed

+36
-4
lines changed

config.make.in

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ VERSION = 3.98.4.0
5555
TARGET = monotouch
5656
endif
5757

58+
ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-xamarinwatchos-)
59+
VERSION = 3.98.4.0
60+
TARGET = xamarinwatchos
61+
endif
62+
5863
ifeq (x-$(TargetFramework)-$(FSharpCoreBackVersion),x-xamarinmacmobile-)
5964
VERSION = 3.99.4.0
6065
TARGET = xamarinmacmobile
Binary file not shown.
Binary file not shown.
1.57 MB
Binary file not shown.
Binary file not shown.

src/FSharpSource.targets

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
<AssemblyVersion Condition="'$(TargetFramework)' == 'portable259'">3.259.4.0</AssemblyVersion>
2525
<AssemblyVersion Condition="'$(TargetFramework)' == 'monodroid' ">3.98.4.0</AssemblyVersion>
2626
<AssemblyVersion Condition="'$(TargetFramework)' == 'monotouch' ">3.98.4.0</AssemblyVersion>
27+
<AssemblyVersion Condition="'$(TargetFramework)' == 'xamarinwatchos' ">3.98.4.0</AssemblyVersion>
2728
<AssemblyVersion Condition="'$(TargetFramework)' == 'xamarinmacmobile' ">3.99.4.0</AssemblyVersion>
2829
<AssemblyVersion Condition="'$(TargetFramework)' == 'xamarinmacfull' ">3.100.4.0</AssemblyVersion>
2930

@@ -196,6 +197,25 @@ Some other NuGET monikers to support in the future, see http://docs.nuget.org/do
196197
<AssemblySearchPaths>$(FSharpSourcesRoot)\..\dependencies\mono\2.1\MonoTouch;$(AssemblySearchPaths)</AssemblySearchPaths>
197198
</PropertyGroup>
198199

200+
<!-- Target XamarinWatchOS (should be identical to MonoTouch configurations, though we sanity check -->
201+
<!-- by building against the Xamarin.WatchOS mscorlib) -->
202+
<PropertyGroup Condition="'$(TargetFramework)'=='xamarinwatchos'">
203+
<!--<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>-->
204+
<!-- <TargetFrameworkIdentifier>Xamarin.WatchOS</TargetFrameworkIdentifier> -->
205+
<TargetFrameworkOutputDirectory>$(TargetFramework)</TargetFrameworkOutputDirectory>
206+
<DefineConstants>$(DefineConstants);FSHARP_CORE_4_5</DefineConstants>
207+
<DefineConstants>$(DefineConstants);FX_ATLEAST_45</DefineConstants>
208+
<DefineConstants>$(DefineConstants);FX_ATLEAST_40</DefineConstants>
209+
<DefineConstants>$(DefineConstants);FX_ATLEAST_35</DefineConstants>
210+
<DefineConstants>$(DefineConstants);FX_ATLEAST_LINQ</DefineConstants>
211+
<DefineConstants>$(DefineConstants);QUERIES_IN_FSLIB</DefineConstants>
212+
<DefineConstants>$(DefineConstants);PUT_TYPE_PROVIDERS_IN_FSCORE;</DefineConstants>
213+
<DefineConstants>$(DefineConstants);FX_NO_REFLECTION_EMIT</DefineConstants>
214+
<DefineConstants>$(DefineConstants);FX_NO_BIGINT</DefineConstants>
215+
<DefineConstants>$(DefineConstants);FX_NO_STRUCTURAL_EQUALITY</DefineConstants>
216+
<AssemblySearchPaths>$(FSharpSourcesRoot)\..\dependencies\mono\2.1\XamarinWatchOS;$(AssemblySearchPaths)</AssemblySearchPaths>
217+
</PropertyGroup>
218+
199219
<!-- Target xamarinmacmobile similar to monotouch configurations, with Reflection.emit, structural equality, and BigInt -->
200220
<PropertyGroup Condition="'$(TargetFramework)'=='xamarinmacmobile'">
201221
<TargetFrameworkOutputDirectory>$(TargetFramework)</TargetFrameworkOutputDirectory>

src/fsharp/FSharp.Core/FSharp.Core.fsproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@
211211
</Reference>
212212
<Reference Include="System.Numerics" Condition="'$(TargetFramework)' == 'net40' OR
213213
'$(TargetFramework)' == 'monotouch' OR
214+
'$(TargetFramework)' == 'xamarinwatchos' OR
214215
'$(TargetFramework)' == 'monodroid' OR
215216
'$(TargetFramework)' == 'xamarinmacmobile' OR
216217
'$(TargetFramework)' == 'xamarinmacfull'" >
@@ -235,6 +236,7 @@
235236
'$(TargetFramework)' == 'XNA\5.0' OR
236237
'$(TargetFramework)' == 'sl3-wp' OR
237238
'$(TargetFramework)' == 'monotouch' OR
239+
'$(TargetFramework)' == 'xamarinwatchos' OR
238240
'$(TargetFramework)' == 'monodroid' OR
239241
'$(TargetFramework)' == 'portable47' OR
240242
'$(TargetFramework)' == 'net40-xna40-xbox360' OR

src/fsharp/Makefile.in

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,25 +71,30 @@ endif
7171

7272
all-monotouch-monodroid-xamarinmac:
7373
$(MAKE) build-proto
74-
$(MAKE) only-monotouch only-monodroid only-xamarinmac
74+
$(MAKE) only-monotouch only-monodroid only-xamarinmac only-xamarinwatchos
7575

7676
all-monotouch-xamarinmac:
7777
$(MAKE) build-proto
78-
$(MAKE) only-monotouch only-xamarinmac
78+
$(MAKE) only-monotouch only-xamarinmac only-xamarinwatchos
7979

8080
all-monotouch-monodroid:
8181
$(MAKE) build-proto
82-
$(MAKE) only-monotouch only-monodroid
82+
$(MAKE) only-monotouch only-monodroid only-xamarinwatchos
8383

8484
all-monotouch:
8585
$(MAKE) build-proto
86-
$(MAKE) only-monotouch
86+
$(MAKE) only-monotouch only-xamarinwatchos
8787

8888
only-monotouch:
8989
ifeq ("$(monotouchenabled)", "yes")
9090
$(MAKE) -C FSharp.Core TargetFramework=monotouch build
9191
endif
9292

93+
only-xamarinwatchos:
94+
ifeq ("$(monotouchenabled)", "yes")
95+
$(MAKE) -C FSharp.Core TargetFramework=xamarinwatchos build
96+
endif
97+
9398
all-monodroid:
9499
$(MAKE) build-proto
95100
$(MAKE) only-monodroid

0 commit comments

Comments
 (0)