Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use fsianycpu.exe instead of fsi.exe. #582

Merged
merged 3 commits into from
Nov 7, 2014

Conversation

tkesselring
Copy link

We would like to use Fake also as a 64 bit application.

@forki
Copy link
Member

forki commented Nov 3, 2014

we tried 64bit, but it breaks so many existing build scripts because of registry, COM and many other fuckups. But maybe we can create a second nuget package.

@tkesselring
Copy link
Author

Shall we prepare a nuget Package, or will you do this?

Tobias

On 03.11.2014, at 16:57, Steffen Forkmann notifications@github.com wrote:

we tried 64bit, but it breaks so many existing build scripts because of registry, COM and many other fuckups. But maybe we can create a second nuget package.


Reply to this email directly or view it on GitHub.

@forki
Copy link
Member

forki commented Nov 3, 2014

I always wanted to do this, but didn't find the time.
So if you really need it, then it would probably help if you try to modify FAKE's build process to create a second package. ;-)

if fi.Exists then fi.FullName else
findPath "FSIPath" FSIPath "fsi.exe"
findPath "FSIPath" FSIPath "fsianycpu.exe"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should fall back if the fsianycpu can't be found

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As fsi.exe lies at the same place as fsianycpu.exe, what would be the fall back? On the other hand just using the old line containing "fsi.exe" would be fine because of the same reason.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No this one is actually a separate process. But it's not used in the normal
FAKE process.
On Nov 4, 2014 10:39 AM, "tkesselring" notifications@github.com wrote:

In src/app/FakeLib/FSIHelper.fs:

     if fi.Exists then fi.FullName else
  •    findPath "FSIPath" FSIPath "fsi.exe"
    
  •    findPath "FSIPath" FSIPath "fsianycpu.exe"
    

As fsi.exe lies at the same place as fsianycpu.exe, what would be the fall
back? On the other hand just using the old line containing "fsi.exe" would
be fine because of the same reason.


Reply to this email directly or view it on GitHub
https://github.com/fsharp/FAKE/pull/582/files#r19792615.

@tkesselring
Copy link
Author

At the end it seems, only the change of the bitness of the Fake-Project had impact.

@tkesselring
Copy link
Author

I modified the build script s.t. it creates a second nuget package which is any cpu.
I can not run the full release process, therefore can you test it?

@forki
Copy link
Member

forki commented Nov 4, 2014

nice. will try in ca. 2 days since im out of office.

@forki
Copy link
Member

forki commented Nov 7, 2014

this looks cool. Is it ready to merge?

@tkesselring
Copy link
Author

I think yes, it worked for me locally.

forki added a commit that referenced this pull request Nov 7, 2014
use fsianycpu.exe instead of fsi.exe.
@forki forki merged commit 01c46ba into fsprojects:master Nov 7, 2014
files
|> Seq.iter (fun file ->
let args =
{ Program = "lib" @@ "corflags.exe"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this could be helpful in a separate FAKE helper

@forki
Copy link
Member

forki commented Nov 7, 2014

ok we're generating way to many x64 packages.
I think only FAKE, Fake.Core and FAKE.Deploy should be x64tified

@forki
Copy link
Member

forki commented Nov 7, 2014

it's released with 3.9. - can you verify that it works?

@tkesselring
Copy link
Author

"ok we're generating way to many x64 packages.
I think only FAKE, Fake.Core and FAKE.Deploy should be x64tified"
As far as I understand it the other packages depend on Fake and Fake.Core, hence two sets are needed for all of them.

@tkesselring
Copy link
Author

I checked it out. Works wonderful for my Project. thx.

@forki
Copy link
Member

forki commented Nov 7, 2014

packages depend on Fake and Fake.Core

good point

@forki
Copy link
Member

forki commented Nov 7, 2014

install

3.9 release is out and everything seems to work fine. Thanks

@forki
Copy link
Member

forki commented Nov 9, 2014

ok. we did it wrong.
Now the normal FAKE is anyCPU and breaks all our builds.

ouch

forki added a commit that referenced this pull request Nov 9, 2014
forki added a commit that referenced this pull request Nov 9, 2014
@forki
Copy link
Member

forki commented Nov 9, 2014

now it works for us again. But I assume I broke yours. So what should we do?

@tkesselring
Copy link
Author

I think I made the 32bit-version anycpu and the 64bit-version 32-bit.
I just fixed this on my github account. But I need to test it first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants