|
159 | 159 | <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
160 | 160 | </PropertyGroup> |
161 | 161 |
|
| 162 | +<!-- Target Portable--> |
| 163 | + <PropertyGroupCondition="'$(TargetFramework)'=='netcore78'"> |
| 164 | + <DefineConstants>$(DefineConstants);FX_NO_CONVERTER</DefineConstants> |
| 165 | + <DefineConstants>$(DefineConstants);FX_RESHAPED_REFLECTION</DefineConstants> |
| 166 | + <DefineConstants>$(DefineConstants);FX_NO_ARRAY_LONG_LENGTH</DefineConstants> |
| 167 | + <DefineConstants>$(DefineConstants);FX_NO_EXIT</DefineConstants> |
| 168 | + <DefineConstants>$(DefineConstants);FX_NO_CHAR_PARSE</DefineConstants> |
| 169 | + <DefineConstants>$(DefineConstants);FX_NO_DEFAULT_DEPENDENCY_TYPE</DefineConstants> |
| 170 | + <DefineConstants>$(DefineConstants);FX_NO_SYSTEM_CONSOLE</DefineConstants> |
| 171 | + <DefineConstants>$(DefineConstants);FX_NO_TPL_PARALLEL</DefineConstants> |
| 172 | + <DefineConstants>$(DefineConstants);FX_NO_BINARY_SERIALIZATION</DefineConstants> |
| 173 | + <DefineConstants>$(DefineConstants);FX_ATLEAST_PORTABLE</DefineConstants> |
| 174 | + <DefineConstants>$(DefineConstants);FX_NO_BIGINT</DefineConstants> |
| 175 | + <DefineConstants>$(DefineConstants);FX_NO_ARRAY_KEY_SORT</DefineConstants> |
| 176 | + <DefineConstants>$(DefineConstants);FX_NO_REFLECTION_METADATA_TOKENS</DefineConstants> |
| 177 | + <DefineConstants>$(DefineConstants);FX_NO_REFLECTION_EMIT</DefineConstants> |
| 178 | + <DefineConstants>$(DefineConstants);FX_NO_WEB_CLIENT</DefineConstants> |
| 179 | + <DefineConstants>$(DefineConstants);FSHARP_CORE_NETCORE_PORTABLE</DefineConstants> |
| 180 | + <DefineConstants>$(DefineConstants);FX_NO_PARAMETERIZED_THREAD_START</DefineConstants> |
| 181 | + <DefineConstants>$(DefineConstants);FX_NO_THREAD</DefineConstants> |
| 182 | + <DefineConstants>$(DefineConstants);FX_EVENTWAITHANDLE_NO_IDISPOSABLE</DefineConstants> |
| 183 | + <DefineConstants>$(DefineConstants);FX_NO_EXIT_CONTEXT_FLAGS</DefineConstants> |
| 184 | + <DefineConstants>$(DefineConstants);FX_NO_REGISTERED_WAIT_HANDLES</DefineConstants> |
| 185 | + <DefineConstants>$(DefineConstants);FX_NO_THREADPOOL</DefineConstants> |
| 186 | + <DefineConstants>$(DefineConstants);FX_NO_CUSTOMATTRIBUTEDATA</DefineConstants> |
| 187 | + <DefineConstants>$(DefineConstants);QUERIES_IN_FSLIB</DefineConstants> |
| 188 | + <DefineConstants>$(DefineConstants);FX_NO_CONCURRENT_DICTIONARY</DefineConstants> |
| 189 | + <DefineConstants>$(DefineConstants);FX_ATLEAST_LINQ</DefineConstants> |
| 190 | + <TargetFrameworkProfile>Profile78</TargetFrameworkProfile> |
| 191 | + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> |
| 192 | + <OtherFlags>$(OtherFlags) --targetprofile:netcore</OtherFlags> |
| 193 | + </PropertyGroup> |
| 194 | + |
| 195 | + <PropertyGroupCondition="'$(TargetFramework)'=='netcore259'"> |
| 196 | + <DefineConstants>$(DefineConstants);FX_NO_CONVERTER</DefineConstants> |
| 197 | + <DefineConstants>$(DefineConstants);FX_RESHAPED_REFLECTION</DefineConstants> |
| 198 | + <DefineConstants>$(DefineConstants);FX_NO_ARRAY_LONG_LENGTH</DefineConstants> |
| 199 | + <DefineConstants>$(DefineConstants);FX_NO_EXIT</DefineConstants> |
| 200 | + <DefineConstants>$(DefineConstants);FX_NO_CHAR_PARSE</DefineConstants> |
| 201 | + <DefineConstants>$(DefineConstants);FX_NO_DEFAULT_DEPENDENCY_TYPE</DefineConstants> |
| 202 | + <DefineConstants>$(DefineConstants);FX_NO_SYSTEM_CONSOLE</DefineConstants> |
| 203 | + <DefineConstants>$(DefineConstants);FX_NO_TPL_PARALLEL</DefineConstants> |
| 204 | + <DefineConstants>$(DefineConstants);FX_NO_BINARY_SERIALIZATION</DefineConstants> |
| 205 | + <DefineConstants>$(DefineConstants);FX_ATLEAST_PORTABLE</DefineConstants> |
| 206 | + <DefineConstants>$(DefineConstants);FX_NO_BIGINT</DefineConstants> |
| 207 | + <DefineConstants>$(DefineConstants);FX_NO_ARRAY_KEY_SORT</DefineConstants> |
| 208 | + <DefineConstants>$(DefineConstants);FX_NO_REFLECTION_METADATA_TOKENS</DefineConstants> |
| 209 | + <DefineConstants>$(DefineConstants);FX_NO_REFLECTION_EMIT</DefineConstants> |
| 210 | + <DefineConstants>$(DefineConstants);FX_NO_WEB_CLIENT</DefineConstants> |
| 211 | + <DefineConstants>$(DefineConstants);FSHARP_CORE_NETCORE_PORTABLE</DefineConstants> |
| 212 | + <DefineConstants>$(DefineConstants);FX_NO_PARAMETERIZED_THREAD_START</DefineConstants> |
| 213 | + <DefineConstants>$(DefineConstants);FX_NO_THREAD</DefineConstants> |
| 214 | + <DefineConstants>$(DefineConstants);FX_EVENTWAITHANDLE_NO_IDISPOSABLE</DefineConstants> |
| 215 | + <DefineConstants>$(DefineConstants);FX_NO_EXIT_CONTEXT_FLAGS</DefineConstants> |
| 216 | + <DefineConstants>$(DefineConstants);FX_NO_REGISTERED_WAIT_HANDLES</DefineConstants> |
| 217 | + <DefineConstants>$(DefineConstants);FX_NO_THREADPOOL</DefineConstants> |
| 218 | + <DefineConstants>$(DefineConstants);FX_NO_CUSTOMATTRIBUTEDATA</DefineConstants> |
| 219 | + <DefineConstants>$(DefineConstants);QUERIES_IN_FSLIB</DefineConstants> |
| 220 | + <DefineConstants>$(DefineConstants);FX_NO_CONCURRENT_DICTIONARY</DefineConstants> |
| 221 | + <DefineConstants>$(DefineConstants);FX_ATLEAST_LINQ</DefineConstants> |
| 222 | + <TargetFrameworkProfile>Profile259</TargetFrameworkProfile> |
| 223 | + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> |
| 224 | + <OtherFlags>$(OtherFlags) --targetprofile:netcore</OtherFlags> |
| 225 | + </PropertyGroup> |
| 226 | + |
162 | 227 | <!-- Target Silverlight 3.0--> |
163 | 228 | <PropertyGroupCondition="'$(TargetFramework)'=='sl3'"> |
164 | 229 | <TargetFrameworkVersion>v3.0</TargetFrameworkVersion> |
|
492 | 557 | <FSharpTargetsPath>..\Proto\$(protoCLIDir)\bin\Microsoft.Portable.FSharp-proto.Targets</FSharpTargetsPath> |
493 | 558 | </PropertyGroup> |
494 | 559 | </When> |
495 | | - <WhenCondition="'$(TargetFramework)'=='sl3' or '$(TargetFramework)'=='sl4' or '$(TargetFramework)'=='sl5'"> |
| 560 | + <WhenCondition="'$(TargetFramework)'=='netcore78' or '$(TargetFramework)'=='netcore259'"> |
| 561 | + <PropertyGroup> |
| 562 | + <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.Portable.FSharp.Targets</FSharpTargetsPath> |
| 563 | + </PropertyGroup> |
| 564 | + </When> |
| 565 | + <WhenCondition="'$(TargetFramework)'=='sl3' or '$(TargetFramework)'=='sl4' or '$(TargetFramework)'=='sl5' or '$(TargetFramework)'=='sl5-compiler'"> |
496 | 566 | <PropertyGroup> |
497 | 567 | <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\Silverlight\$(SilverlightVersion)\FSharpSource.Silverlight.Common.targets</FSharpTargetsPath> |
498 | 568 | </PropertyGroup> |
|
553 | 623 | Text="Configuration '$(Configuration)' is not one of the supported configurations: Debug, Release, Proto" |
554 | 624 | Condition="'$(Configuration)'!='Release' and '$(Configuration)'!='Debug' and '$(Configuration)'!='Proto'"/> |
555 | 625 | <Error |
556 | | -Text="TargetFramework '$(TargetFramework)' is not one of the supported configurations: 'empty', net20, net40, sl3-wp, sl5, portable47" |
| 626 | +Text="TargetFramework '$(TargetFramework)' is not one of the supported configurations: 'empty', net20, net40, sl3-wp, sl5,sl5-compiler,portable47, netcore78, netcore259" |
557 | 627 | Condition="! ('$(TargetFramework)' == 'net40' or |
558 | 628 | '$(TargetFramework)' == 'net20' or |
559 | 629 | '$(TargetFramework)' == 'sl5' or |
560 | 630 | '$(TargetFramework)' == 'sl3-wp' or |
561 | | - '$(TargetFramework)' == 'portable47')"/> |
| 631 | + '$(TargetFramework)' == 'portable47' or |
| 632 | + '$(TargetFramework)' == 'netcore78' or |
| 633 | + '$(TargetFramework)' == 'netcore259')"/> |
562 | 634 | <Error |
563 | 635 | Text="TargetFramework '$(TargetFramework)' is only supported when building FSharp.Core.dll. All other components must be built with TargetFramework=net40" |
564 | 636 | Condition="'$(AssemblyName)' != 'FSharp.Core' and '$(TargetFramework)' != 'net40'"/> |
|
581 | 653 | </Target> |
582 | 654 |
|
583 | 655 | <ImportProject="..\lkg\FSharp-$(LkgVersion)\bin\FSharp.SRGen.targets" /> |
| 656 | + |
| 657 | + <TargetName="ReorderCompileItems" |
| 658 | +BeforeTargets="CoreCompile" |
| 659 | +Condition="'$(GenerateTargetFrameworkAttribute)' == 'true' AND ('$(TargetFramework)' == 'netcore78' OR '$(TargetFramework)' == 'netcore259')"> |
| 660 | + <ItemGroup> |
| 661 | +<!-- Infrastructure puts AssemblyAttributes.fs at the beginning of the list and this will result and error when compiling FSharp.Core because all primitive types are not defined yet - fixup is required--> |
| 662 | + <CompileAfterInclude="@(CompileBefore)"/> |
| 663 | + <CompileBeforeRemove="@(CompileBefore)"/> |
| 664 | + </ItemGroup> |
| 665 | + </Target> |
584 | 666 | </Project> |