Skip to content

Conversation

@rvagg
Copy link
Member

@rvagg rvagg commented Sep 5, 2015

as per nodejs/node-gyp#711 (comment), fixes this:

$ node -pe process.release
{ name: 'io.js',
  sourceUrl: 'https://iojs.org/download/release/v3.3.0/iojs-v3.3.0.tar.gz',
  headersUrl: 'https://iojs.org/download/release/v3.3.0/iojs-v3.3.0-headers.tar.gz',
  libUrl: 'https://iojs.org/download/release/v3.3.0/win-ia32/iojs.lib' }

We don't use ia32 anywhere in our downloads directories or files (any more), it's been banished and https://iojs.org/download/release/v3.3.0/win-ia32/iojs.lib should actually be https://iojs.org/download/release/v3.3.0/win-x86/iojs.lib. Unfortunately we're still shipping with process.arch=='ia32' which I would equally love to banish but alas, it's well and truly baked in to history.

I'm also going to put a special case in node-gyp to account for ^3.0.0 and do some rewriting, which is a bit yuk but we've let this go wild since v3.x.

/cc @nodejs/build and anyone else who feels like critiquing my C++ style

@rvagg rvagg force-pushed the windows-replace-ia32-with-x86-for-node.lib-download-url branch from 1663f8f to 6bde5bf Compare September 5, 2015 04:58
@rvagg
Copy link
Member Author

rvagg commented Sep 5, 2015

switched style, went from:

  READONLY_PROPERTY(release,
                    "libUrl",
                    OneByteString(env->isolate(),
                    strcmp(NODE_ARCH, "ia32") ? _RELEASE_URLPFX "win-"
                                                NODE_ARCH "/node.lib"
                                              : _RELEASE_URLPFX
                                                "win-x86/node.lib"));

from this, which I prefer but probably isn't as idiomatic for core:

  READONLY_PROPERTY(release,
                    "libUrl",
                    OneByteString(env->isolate(),
                    strcmp(NODE_ARCH, "ia32")
                      ? _RELEASE_URLPFX "win-" NODE_ARCH "/node.lib"
                      : _RELEASE_URLPFX "win-x86/node.lib"));

@rvagg rvagg force-pushed the windows-replace-ia32-with-x86-for-node.lib-download-url branch from 6bde5bf to 830c97a Compare September 5, 2015 05:04
@rvagg rvagg mentioned this pull request Sep 5, 2015
10 tasks
@mscdex mscdex added windows Issues and PRs related to the Windows platform. build Issues and PRs related to build files or the CI. labels Sep 5, 2015
@thefourtheye
Copy link
Contributor

Basically if the architecture is ia32 then we pick the library from x86 directory. Mmmm. LGTM.

@rvagg
Copy link
Member Author

rvagg commented Sep 5, 2015

Yeah, when we get "ia32", we decide that it's actually based on x86, i.e. the 80x86 family and could also be referred to as x32 but not to be confused by x64 which is really x86-64 i.e. x86_64, and found in the wild sometimes as amd64 and promoted by Intel as IA64 which is where ia32 comes from, a marketing name, probably bitter over being pipped to 64-bit by AMD which lead to the awkward predominance of "amd64" in Linux land; which has further leaked in to 32-bit as amd32, if I were on that marketing team I'd do a France on them and like outlawing the use of "Champagne®" I'd force everyone to banish archaic names like EM64T and ia32e and impose Intel®64 and Intel®32 on everyone wanting to refer to 64-bit and 32-bit versions of the 80x86 family.

8080

Clear?

@thefourtheye
Copy link
Contributor

@rvagg Thanks for the explanation. It's clear now. :)

@rvagg rvagg added this to the 4.0.0 milestone Sep 5, 2015
@rvagg
Copy link
Member Author

rvagg commented Sep 7, 2015

reviewers please, ping

@rvagg rvagg force-pushed the windows-replace-ia32-with-x86-for-node.lib-download-url branch from 830c97a to 4854c42 Compare September 7, 2015 01:52
@rvagg
Copy link
Member Author

rvagg commented Sep 7, 2015

rebased so it's not so unwieldy to review, see 4854c42

@thefourtheye
Copy link
Contributor

cc @nodejs/collaborators @nodejs/platform-windows

@orangemocha
Copy link
Contributor

found in the wild sometimes as amd64 and promoted by Intel as IA64

IA64 is actually a completely different architecture.

The change LGTM

src/node.cc Outdated
Copy link
Member

Choose a reason for hiding this comment

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

Just a note: macros (and identifiers in general) starting with an underscore are reserved.

Copy link
Member Author

Choose a reason for hiding this comment

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

thanks, didn't know, changed these to NODE_RELEASE_URLPFX

PR-URL: nodejs#2699
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
@rvagg rvagg force-pushed the windows-replace-ia32-with-x86-for-node.lib-download-url branch from 4854c42 to 89aeee5 Compare September 7, 2015 23:56
@rvagg
Copy link
Member Author

rvagg commented Sep 7, 2015

https://ci.nodejs.org/job/node-test-pull-request/265/ in case I've missed anything

@rvagg
Copy link
Member Author

rvagg commented Sep 8, 2015

landed 278a926

@rvagg rvagg closed this Sep 8, 2015
@rvagg rvagg mentioned this pull request Sep 8, 2015
@rvagg rvagg mentioned this pull request Sep 12, 2015
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. windows Issues and PRs related to the Windows platform.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants