Skip to content

Conversation

bnoordhuis
Copy link
Member

@bnoordhuis bnoordhuis commented May 24, 2016

For consistency with the newly added src/base64.h header, check that
NODE_WANT_INTERNALS is defined and set in internal headers.

Refs: #6910
CI: https://ci.nodejs.org/job/node-test-pull-request/2758/

R=@indutny @trevnorris

@bnoordhuis bnoordhuis added the lib / src Issues and PRs related to general changes in the lib or src directory. label May 24, 2016
@nodejs-github-bot nodejs-github-bot added the c++ Issues and PRs that require attention from people who are familiar with C++. label May 24, 2016
@trevnorris
Copy link
Contributor

LGTM. Should this be documented in our addons docs?

@bnoordhuis
Copy link
Member Author

What in particular does 'this' refer to?

@trevnorris
Copy link
Contributor

@bnoordhuis In all of test/addons there's an added 'NODE_WANT_INTERNALS=1' and was wondering if that gyp option should be documented somewhere.

@bnoordhuis
Copy link
Member Author

I only added it to the binding.gyp files from add-ons that #include "util.h" (because they use CHECK.)

As to documenting NODE_WANT_INTERNALS, it's expressly not the intent that third-party add-ons can include internal files. =)

@trevnorris
Copy link
Contributor

Heh, fair enough.

@mscdex mscdex removed the lib / src Issues and PRs related to general changes in the lib or src directory. label May 24, 2016
@Fishrock123
Copy link
Contributor

Isn't this kind of breaking?

@bnoordhuis
Copy link
Member Author

Only on smartos, apparently.

Jest aside, all of these files are internal - people are not supposed to be using them and if they do, they should expect things to break at any time. The installer doesn't install them.

New CI: https://ci.nodejs.org/job/node-test-pull-request/2764/

@trevnorris
Copy link
Contributor

trevnorris commented May 24, 2016

The installer doesn't install them.

Can you tell me why this compiles fine (tested on v4 and v6)?

#include <v8.h>
#include <async-wrap.h>
#include <node.h>

namespace bmod {

using v8::FunctionCallbackInfo;
using v8::Value;
using v8::Local;
using v8::Object;

void Run(const FunctionCallbackInfo<Value>& args) {
  fprintf(stderr, "NODE_ASYNC_ID_OFFSET: %i\n", NODE_ASYNC_ID_OFFSET);
}

void Init(Local<Object> exports) {
  NODE_SET_METHOD(exports, "run", Run);
}

}  // namespace bmod
NODE_MODULE(addon, bmod::Init)

@bnoordhuis
Copy link
Member Author

bnoordhuis commented May 24, 2016

When I say installer, I mean tools/install.py. I don't know what the OS X or Windows installers do but the binary tarballs don't include internal headers.

If you use node-gyp though, that downloads and builds against the source tarball, and that does include internal headers.

@jasnell
Copy link
Member

jasnell commented May 24, 2016

LGTM if CI is green

@indutny
Copy link
Member

indutny commented May 24, 2016

LGTM

For consistency with the newly added src/base64.h header, check that
NODE_WANT_INTERNALS is defined and set in internal headers.

PR-URL: nodejs#6948
Refs: nodejs#6910
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
@bnoordhuis bnoordhuis force-pushed the internal-include-guards branch from c79a00d to eff96d3 Compare May 25, 2016 07:57
@bnoordhuis bnoordhuis closed this May 25, 2016
@bnoordhuis bnoordhuis deleted the internal-include-guards branch May 25, 2016 07:57
@bnoordhuis bnoordhuis merged commit eff96d3 into nodejs:master May 25, 2016
Fishrock123 pushed a commit to Fishrock123/node that referenced this pull request May 30, 2016
For consistency with the newly added src/base64.h header, check that
NODE_WANT_INTERNALS is defined and set in internal headers.

PR-URL: nodejs#6948
Refs: nodejs#6910
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
rvagg pushed a commit that referenced this pull request Jun 2, 2016
For consistency with the newly added src/base64.h header, check that
NODE_WANT_INTERNALS is defined and set in internal headers.

PR-URL: #6948
Refs: #6910
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trevor Norris <[email protected]>
@MylesBorins
Copy link
Contributor

MylesBorins commented Jul 11, 2016

@bnoordhuis lts?

@bnoordhuis
Copy link
Member Author

Let's not.

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++.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants