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

What source files are built into node binary, and what are not? #6605

Closed
IlyaBiryukov opened this issue May 5, 2016 · 3 comments
Closed
Labels
build Issues and PRs related to build files or the CI. question Issues that look for answers.

Comments

@IlyaBiryukov
Copy link

  • Version: 4.4.3
  • Platform: Windows

We're evaluating shipping node as a component in some of our products. As part of that, we're performing intellectual property scan of the node source files. For the scan it's critical to know whether the source files actually end up in node executable bits and will be part of distribution, and when they do not, i.e. when they're only related to tests, build tools, samples, docs, etc.

Is there a doc or folder map that can help distinguish whether the files are shipping in node bits or not?

Thanks,
Ilya

@mscdex mscdex added question Issues that look for answers. build Issues and PRs related to build files or the CI. labels May 5, 2016
@ghost
Copy link

ghost commented May 6, 2016

Not to hijack this issue but I have a similar but different question. I'm running dumpbin /EXPORTS on the node binary on Windows and it seems you only export V8 and libuv functions for addons to link against. On Unix systems the binary exports OpenSSL, libz, V8 and libuv. I cannot get my cross-platform addon to compile on Windows due to undefined symbols (OpenSSL functions). What gives and how am I supposed to build on Windows? Why aren't you properly exporting the same functions as on Unix? It makes it impossible to support Windows.

@mscdex
Copy link
Contributor

mscdex commented May 6, 2016

@alexhultman You'll probably want to follow #6274 for that. I think it's not implemented yet because it's not easy to do on Windows from what I understand.

@bnoordhuis
Copy link
Member

@IlyaBiryukov node.gyp in the top-level directory and the *.gyp(i) files it includes ultimately decide what source files end up in the final binary; grep them for 'sources' and 'action' fields. As a rule of thumb: files in deps/, src/ and lib/ are compiled in, files in other directories are not.

Hope that answers your question. I'll close the issue but feel free to ask follow-up questions.

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. question Issues that look for answers.
Projects
None yet
Development

No branches or pull requests

3 participants