-
Notifications
You must be signed in to change notification settings - Fork 29.1k
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: fix gyp configs in debug #53605
Conversation
Gyp generated build files can be built in either Release/Debug mode. - make: single directory, two configurations by cli: `make -C out BUILDTYPE=Release` and `make -C out BUILDTYPE=Debug`. - msbuild: single directory, two configurations by cli: `msbuild node.sln /p:Configuration=Release` and `msbuild node.sln /p:Configuration=Debug`. - ninja: two directories in `out/`, build with `ninja -C out/Release` or `ninja -C out/Debug`. Variables that changes with either Release or Debug configuration should be defined in a configuration level, instead of the root level. This fixes generating invalid build files. Additionally, `v8_gypfiles/toolchain.gypi` duplicates defines in `v8_gypfiles/features.gypi`. Remove the duplications in `toolchains.gypi`
Review requested:
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but it doesn't change the fact that ./configure --ninja --debug && make
still builds in Release and Debug modes, right?
Co-authored-by: Mohammed Keyvanzadeh <[email protected]>
Yes, it still builds both Release and Debug products. |
This comment was marked as outdated.
This comment was marked as outdated.
CI: https://ci.nodejs.org/job/node-test-pull-request/60187/ Rebasing on to latest main since there were reverts on reproducible snapshot. |
CI: https://ci.nodejs.org/job/node-test-pull-request/60195/ Restarting since #53755 landed addressing the snapshot reproducible test. |
Tried to reproduce locally and skip the sea test if the debug build is too large: #53918 |
Commit Queue failed- Loading data for nodejs/node/pull/53605 ✔ Done loading data for nodejs/node/pull/53605 ----------------------------------- PR info ------------------------------------ Title build: fix gyp configs in debug (#53605) ⚠ Could not retrieve the email or name of the PR author's from user's GitHub profile! Branch legendecas:build/debug-vars -> nodejs:main Labels build, v8 engine, tools, author ready, needs-ci Commits 2 - build: fix conflict gyp configs - fixup! build: fix gyp configs in debug Committers 2 - Chengzhong Wu <[email protected]> - GitHub <[email protected]> PR-URL: https://github.com/nodejs/node/pull/53605 Fixes: https://github.com/nodejs/node/issues/53446 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]> ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/53605 Fixes: https://github.com/nodejs/node/issues/53446 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]> -------------------------------------------------------------------------------- ℹ This PR was created on Thu, 27 Jun 2024 14:24:05 GMT ✔ Approvals: 2 ✔ - Michaël Zasso (@targos) (TSC): https://github.com/nodejs/node/pull/53605#pullrequestreview-2149988265 ✔ - James M Snell (@jasnell) (TSC): https://github.com/nodejs/node/pull/53605#pullrequestreview-2151985821 ✔ Last GitHub CI successful ℹ Last Full PR CI on 2024-07-22T21:41:04Z: https://ci.nodejs.org/job/node-test-pull-request/60543/ - Querying data for job/node-test-pull-request/60543/ ✔ Last Jenkins CI successful -------------------------------------------------------------------------------- ✔ No git cherry-pick in progress ✔ No git am in progress ✔ No git rebase in progress -------------------------------------------------------------------------------- - Bringing origin/main up to date... From https://github.com/nodejs/node * branch main -> FETCH_HEAD ✔ origin/main is now up-to-date - Downloading patch for 53605 From https://github.com/nodejs/node * branch refs/pull/53605/merge -> FETCH_HEAD ✔ Fetched commits as b19a9501020c..0e1eadd17396 -------------------------------------------------------------------------------- Auto-merging configure.py [main 63ebb41ad3] build: fix conflict gyp configs Author: Chengzhong Wu <[email protected]> Date: Wed Jun 26 15:20:24 2024 +0100 3 files changed, 15 insertions(+), 12 deletions(-) Auto-merging configure.py [main 9f4cabf169] fixup! build: fix gyp configs in debug Author: Chengzhong Wu <[email protected]> Date: Mon Jul 1 12:07:20 2024 +0100 1 file changed, 2 insertions(+), 2 deletions(-) ✔ Patches applied There are 2 commits in the PR. Attempting autorebase. Rebasing (2/4)
Variables that changes with either Release or Debug configuration Additionally, PR-URL: #53605
|
Landed in e192a32 |
Gyp generated build files can be built in either Release/Debug mode. - make: single directory, two configurations by cli: `make -C out BUILDTYPE=Release` and `make -C out BUILDTYPE=Debug`. - msbuild: single directory, two configurations by cli: `msbuild node.sln /p:Configuration=Release` and `msbuild node.sln /p:Configuration=Debug`. - ninja: two directories in `out/`, build with `ninja -C out/Release` or `ninja -C out/Debug`. Variables that changes with either Release or Debug configuration should be defined in a configuration level, instead of the root level. This fixes generating invalid build files. Additionally, `v8_gypfiles/toolchain.gypi` duplicates defines in `v8_gypfiles/features.gypi`. Remove the duplications in `toolchains.gypi` PR-URL: #53605 Fixes: #53446 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]>
Gyp generated build files can be built in either Release/Debug mode. - make: single directory, two configurations by cli: `make -C out BUILDTYPE=Release` and `make -C out BUILDTYPE=Debug`. - msbuild: single directory, two configurations by cli: `msbuild node.sln /p:Configuration=Release` and `msbuild node.sln /p:Configuration=Debug`. - ninja: two directories in `out/`, build with `ninja -C out/Release` or `ninja -C out/Debug`. Variables that changes with either Release or Debug configuration should be defined in a configuration level, instead of the root level. This fixes generating invalid build files. Additionally, `v8_gypfiles/toolchain.gypi` duplicates defines in `v8_gypfiles/features.gypi`. Remove the duplications in `toolchains.gypi` PR-URL: #53605 Fixes: #53446 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: James M Snell <[email protected]>
Gyp generated build files should be able to be built in either Release/Debug mode.
make -C out BUILDTYPE=Release
andmake -C out BUILDTYPE=Debug
.msbuild node.sln /p:Configuration=Release
andmsbuild node.sln /p:Configuration=Debug
.out/
, build withninja -C out/Release
orninja -C out/Debug
.Variables that changes with either Release or Debug configuration
should be defined in a configuration level, instead of the root level.
Example:
node/common.gypi
Lines 132 to 133 in 8e5d88b
This fixes generating invalid build files.
Additionally,
v8_gypfiles/toolchain.gypi
duplicates defines inv8_gypfiles/features.gypi
. Remove the duplications intoolchains.gypi
Fixes: #53446