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

build: build a x64 build by default on Windows #11537

Merged
merged 1 commit into from
Feb 28, 2017
Merged

build: build a x64 build by default on Windows #11537

merged 1 commit into from
Feb 28, 2017

Conversation

seishun
Copy link
Contributor

@seishun seishun commented Feb 24, 2017

Checklist
  • commit message follows commit guidelines
Affected core subsystem(s)

build

I'm quite sure most people are interested in x64 builds in 2017, and defaulting to x86 causes confusion, see for example #11500.

@nodejs-github-bot nodejs-github-bot added the build Issues and PRs related to build files or the CI. label Feb 24, 2017
@seishun seishun added the windows Issues and PRs related to the Windows platform. label Feb 24, 2017
Copy link
Member

@gibfahn gibfahn left a comment

Choose a reason for hiding this comment

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

LGTM (and this seems like a sensible suggestion).

@@ -14,7 +14,7 @@ if /i "%1"=="/?" goto help
@rem Process arguments.
set config=Release
set target=Build
set target_arch=x86
set target_arch=x64
Copy link
Member

Choose a reason for hiding this comment

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

Would this be a semver-major change? I'm not really sure how we treat breaking tooling changes.

Copy link
Contributor Author

@seishun seishun Feb 24, 2017

Choose a reason for hiding this comment

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

#10156 was semver-major, so I guess this one is too. I'd be fine with that though since vcbuild is mostly used to build master anyway.

Copy link
Member

Choose a reason for hiding this comment

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

Is it possible to detect if the OS is 64-bit like the Makefile does on the Unix platforms?

Copy link
Member

Choose a reason for hiding this comment

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

The configure script checks some environment variables on Windows: https://github.com/nodejs/node/blob/master/configure#L735-L748

Copy link
Member

@gibfahn gibfahn Feb 25, 2017

Choose a reason for hiding this comment

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

I'm not sure it's necessary to detect whether the OS is 64-bit, defaulting to 64-bit seems reasonable and straightforward.

Detecting the ARCH from environment variables seems flaky, and what you really want is to be sure that you're going to get 64/32 bit reliably. I think anyone building 32-bit is probably aware that they'll have to set something.

cc/ @nodejs/platform-windows

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree, it's better to have the same behavior independent of the platform.

Copy link
Member

Choose a reason for hiding this comment

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

Will it be obvious why the build fails if run on 32-bit Windows? ¯_(ツ)_/¯

In any case #11500 points out that specifying the architecture is currently undocumented regardless of whatever the default is.

@gibfahn gibfahn added the semver-major PRs that contain breaking changes and should be released in the next major version. label Feb 24, 2017
@seishun seishun merged commit d088360 into nodejs:master Feb 28, 2017
@jasnell jasnell mentioned this pull request Apr 4, 2017
@seishun seishun deleted the x64-default branch October 19, 2017 20:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. semver-major PRs that contain breaking changes and should be released in the next major version. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants