I'm sending a pull request with two changes.
The first one, which is the important one, deals with the addition of the XNA 4.0 for Xbox 360 platform. I've had it for a while, but wanted to clean it up first.
I've only tested that the build goes through, I am away from my Xbox and can't test it right now. Feel free to reject that request if you prefer that I test it first. I don't see any reasons why the resulting FSharp.Core library wouldn't work though, an earlier version for F# 2.0 was tested and worked.
The second change is a trivial one which people using visual studio might like (ignore suo files).
Added new platform "Xbox360\CompactFramework\3.7".
Ignore suo files.
Removed sl3-wp platform, which I had added again by mistake during a …
Good to see!
The platforms are named using the Nuget naming conventions for target frameworks, see http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#Package_Conventions
It looks like the right name is "net40-cf" or "net40-compactframework"
The name of the target is the one used by Microsoft.Xna.GameStudio.targets.
It might be possible to use the nuget-friendly name at the top-most level provided there is a way to override the $TargetFramework variable, but IMHO that would just be confusing.
Note also the framework version is not 4.0, but the somewhat odd 3.7. Although it's originally based on the compact framework, I think it has become a somewhat different beast.
@deneuxj I'm installing XNA Game Studio to take a look to help resolve this
BTW any chance you could update and improve the material at http://fsharp.org/games/index.html? You can edit/push access at https://github.com/fsharp/fsfoundation/blob/gh-pages/games/index.md
@deneux Really good to see this being done!
Re "TargetFramework" - After installing XNA Studio 4.0 I don't see the "TargetFramework" variable set or used anywhere in the *.targets files in
C:\Program Files (x86)\MSBuild\Microsoft\XNA Game Studio\v4.0
So I believe this variable can be freely set to any value we want in the the FSharpSource.targets file. That's the same as for other frameworks - this is just something used internally by the F# open source build system.
The general pattern is indeed to use nuget identifiers for the value of this variable. However it's no big deal - i think the pull request can be accepted and the value adjusted later!
@dsyme It seems you are right, my memory is playing tricks on me. I'll do the substitution and see if it still builds.
I need to package FSharp.Core.dll and a project template using it, then I'll update instructions on FSharp.org.
Renamed target framework 'Xbox360\CompactFramework\3.7'.
Th new name is 'net40-xna40-xbox360'.
Merge branch 'xna' into outgoing
Hmm, the nice, clean-up pull request that I sent earlier now includes the dirty changes and fixups I did in my dev branch. Git really doesn't like me :( I'll close this and make a new one, I think.