-
Notifications
You must be signed in to change notification settings - Fork 30k
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: gyp node_base #23439
build: gyp node_base #23439
Conversation
Sanity CI: |
db8bdb6
to
682c932
Compare
CI: If I could get some review, this refactoring makes it for a much better experience in MSVS. It's now possible to only compile |
1fd5cfb
to
dd230eb
Compare
On Windows and SmartOS Getting:
Which is a linking issue... |
On macOS:
Which means you can't "force load" with libtool. |
@refack Any more details on what the linking issue was/is? |
There's a bunch of code in node.gyp that specific to AIX Lines 925 to 972 in f1b9546
I would like to fold it into the new node_base target...
|
4055df7
to
2706a2b
Compare
0e09b56
to
1cdc26f
Compare
cc9f80c
to
d821a49
Compare
@refack I'm assuming the presence of the |
Yeah. I thought I had this figured out, but it keeps surprising me with new edge cases... If you have the time I'd love some review on the first few commits, they are pretty complete: |
Good news, I can now do a full (cold cache) windows build in 20% less time, and with
|
a874629
to
f084e58
Compare
* remove unused includes * make writing content-stable as to not trigger rebuilding
* move `arraysize` to util.h to reduce the need for `node_intrnals.h` * make sure options_parser singletons init in order * deoptimize NodeTraceWriter
6c24c3b
to
290a1b3
Compare
Motivation:
node_base
as an independant target, that we can run just to make sure the code in/src/
compiles.code_cache_stub.cc
to build anmkcodecache
exe. Then later relink with the generated `code_cache_gen.cc./src/node_base.gypi
to makenode.gyp
easier to read.side-fixes:
rename_node_bin_win
by naming the node lib file on Windowslibnode.lib
Environment::context()
so it can safely reside in two translation units. (otherwise undefined behavior emerges).h
cleanup to ensurenode_lib
builds correctly.Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes