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

src: fix without-intl build #6820

Closed
wants to merge 1 commit into from

Conversation

addaleax
Copy link
Member

Checklist
  • tests and code linting passes
  • the commit message follows commit guidelines
Affected core subsystem(s)

src

Description of change

In 5d38d54, an additional property in node_config.cc was added whose definition depends on having the local env variable declared, which in turn depended on NODE_HAVE_I18N_SUPPORT being defined.

Moving env = ... out of the #ifdef block allows building via ./configure --without-intl again.

/cc @jasnell

In 5d38d54, an additional property in node_config.cc was added
whose definition depends on having the local `env` variable declared,
which in turn depended on `NODE_HAVE_I18N_SUPPORT` being defined.

Moving `env = ...` out of the `#ifdef` block allows building via
`./configure --without-intl` again.
@addaleax addaleax added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. labels May 17, 2016
@jasnell
Copy link
Member

jasnell commented May 17, 2016

ha! good catch... completely forgot that the env had been moved inside the ifdef.
LGTM

@addaleax
Copy link
Member Author

@MylesBorins
Copy link
Contributor

LGTM

We just shipped v6.2.0 with intl included If this is broken it might not be possible for individuals to build node from our tag without INTL...

@mhart noticed a 20% increase in binary size with v6.2.0 even with --fuly-static

one more ci run because I'm assuming bsd + smaros + windows failures are infra, don't feel like digging atm. https://ci.nodejs.org/job/node-test-pull-request/2682/

If it is green and there are no objects it would be nice to land this asap... at the very least we can have a reviewed patch people can apply for their custom builds (this doesn't really affect people downloading our precompiled assets)

@mhart
Copy link
Contributor

mhart commented May 17, 2016

Yeah, so digging in a little more, the jump with --fully-static from v6.1.0 to v6.2.0 was about 5.5MB: mhart/alpine-node@600ea3c#diff-04c6e90faac2675aa89e2176d2eec7d8L17

The jump in a regular build was less pronounced (4.4MB), but still kinda large: mhart/alpine-node@0493edb#diff-04c6e90faac2675aa89e2176d2eec7d8L11 – but I haven't checked yet how much of that was going from npm v3.8.9 to v3.9.0 in the image too

@mhart
Copy link
Contributor

mhart commented May 18, 2016

Huh, npm v3.9.0 (with deps) must have actually dropped quite a bit in size from v3.8.9 – so the difference between node v6.1 and v6.2 is larger than I thought, regardless of whether you build it statically or not.

On Alpine, v6.1.0 w/ npm v3.9.0 is 39.63 MB, v6.2.0 w/ npm v3.9.0 is 45.99MB – so that's a 6.4MB difference, (not 4.4MB as I reported above)

Definitely a pretty big bump in any case

@mscdex mscdex added the i18n-api Issues and PRs related to the i18n implementation. label May 18, 2016
@bnoordhuis
Copy link
Member

LGTM. I filed nodejs/build#419 for getting no-i18n test coverage.

addaleax added a commit to addaleax/node that referenced this pull request May 18, 2016
In 5d38d54, an additional property in node_config.cc was added
whose definition depends on having the local `env` variable declared,
which in turn depended on `NODE_HAVE_I18N_SUPPORT` being defined.

Moving `env = ...` out of the `#ifdef` block allows building via
`./configure --without-intl` again.

PR-URL: nodejs#6820
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
@addaleax
Copy link
Member Author

Landed in 178e634

@addaleax addaleax closed this May 18, 2016
@addaleax addaleax deleted the fix-without-intl-build branch May 18, 2016 15:34
@mhart
Copy link
Contributor

mhart commented May 18, 2016

(FWIW this hasn't changed the size of a --fully-static build – so I think the 20% size increase is unrelated to this)

@MylesBorins
Copy link
Contributor

@mhart thanks for the heads up! I think you should likely open another issue about the file size so we can dig in and figure out where it came from

@mhart
Copy link
Contributor

mhart commented May 18, 2016

@thealphanerd done: #6860

@imyller
Copy link
Member

imyller commented May 19, 2016

Any chance for quick minor release with this PR?

Without this OpenEmbedded can't build Node.js v6.2.0 non-icu packages.

imyller added a commit to imyller/meta-nodejs that referenced this pull request May 19, 2016
Fishrock123 pushed a commit that referenced this pull request May 23, 2016
In 5d38d54, an additional property in node_config.cc was added
whose definition depends on having the local `env` variable declared,
which in turn depended on `NODE_HAVE_I18N_SUPPORT` being defined.

Moving `env = ...` out of the `#ifdef` block allows building via
`./configure --without-intl` again.

PR-URL: #6820
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
rvagg pushed a commit that referenced this pull request Jun 2, 2016
In 5d38d54, an additional property in node_config.cc was added
whose definition depends on having the local `env` variable declared,
which in turn depended on `NODE_HAVE_I18N_SUPPORT` being defined.

Moving `env = ...` out of the `#ifdef` block allows building via
`./configure --without-intl` again.

PR-URL: #6820
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Issues and PRs that require attention from people who are familiar with C++. i18n-api Issues and PRs related to the i18n implementation. lib / src Issues and PRs related to general changes in the lib or src directory.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants