gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51) - #12632

Closed
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch
Closed

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)#12632
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch

Conversation

@refack

@refackrefack commented Apr 24, 2017

Copy link
Copy Markdown
Contributor

this is a bump of GYP to refack/GYP3@d61a939
Then refloating our 6 patches on top

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

tools, gyp, build

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. tools Issues and PRs related to the tools directory. labels Apr 24, 2017
@refack

Copy link
Copy Markdown
ContributorAuthor

@refack

Copy link
Copy Markdown
ContributorAuthor

OSX was flaky.
Another CI: https://ci.nodejs.org/job/node-test-commit/9407/

@jasnell

Copy link
Copy Markdown
Member

/cc @nodejs/build @bnoordhuis

@refackrefack self-assigned this Apr 25, 2017
@refack
refack requested a review from bnoordhuisApril 25, 2017 22:04
@addaleax

Copy link
Copy Markdown
Member

Can you use a commit message format like 23498f2 uses? That makes it a lot more obvious that it’s an upstream backport.

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax is this what you had in mind?

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax

Copy link
Copy Markdown
Member

@refack Yeah, it’s a lot better, thank you. I’d still include the metadata in the indented original commit messages, though (you can grep our commit log for Original commit message: – it’s a pretty standard format by now).

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax Done.

Only thing out of the ordinary is I'm backporting 4 commits at once, since they are logically one atomic fix, so I explicitly added the hashes of each.

refack added a commit to refack/node that referenced this pull request Apr 30, 2017
this is a backport of 4 gyp commits since last bump, syncing us to
https://chromium.googlesource.com/external/gyp/+/a478c1ab51ea3e04e79791ac3d1dad01b3f57434
this is instead of a bump and rebase of floating patches
the goal is to fix the ninja generator on Windows
also includes:
* windows: use "mkdir" even when copying directory
Original commit messages:
a478c1ab51ea3e04e79791ac3d1dad01b3f57434:
win: mkdir even when copying directory
* also "fix" the paths in the message
* un-skip test/copies/gyptest-all.py
BUG=gyp:536
Change-Id: Id8ff7941b995c25d68d454138cd8b04940fdd82b
Reviewed-on: https://chromium-review.googlesource.com/487521
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
ffd524cefaad622e72995e852ffb0b18e83f8054
win ninja/make: Always use a native compiler executable with MSVS 2017
A host-native executable will always be used, and it will be a cross
compiler if the target architecture differs from the host architecture.
BUG=683729
Change-Id: I02a09e1755dd2ab7eca5c9d1957d7aeb56db6af6
Reviewed-on: https://chromium-review.googlesource.com/486400
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
e8850240a433259052705fb8c56e51795b7dc9c3
Fix MSVC++ 32-on-32 builds after b62d04ff85e6
BUG=683729
Change-Id: Ic8c227960b859ddc3c19fce0e98144510f5e74bf
Reviewed-on: https://chromium-review.googlesource.com/486380
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
b62d04ff85e6234e4fec7fff9377dd96c09d41a7
win,ninja: ninja generator better on windows
* add compatibility with VS2017
* adjust `_TargetConfig` and `/FS` for VS2017 compat
* find new place of `vcvarsall.bat` in VS2017
* normalize "path like" arguments of actions
* better check for `.lib` and `.def` file names
BUG=683729
Change-Id: I123bff7bd8a0011cf65d27a62b5267ba884e3b42
Reviewed-on: https://chromium-review.googlesource.com/482580
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Ref: nodejs#12281
PR-URL: nodejs#12632
@refack

Copy link
Copy Markdown
ContributorAuthor

@jasnell@addaleax@gibfahn@bnoordhuis@joaocgreis
Can anyone review this? It's blocking #12425

@addaleax

Copy link
Copy Markdown
Member

@refack This would be a bit easier to review if the patches were kept in separate commits so that they can easily be matched against the upstream ones (or if Node didn’t float patches and one could just compare the files, but unfortunately we do)

@refackrefack changed the title gyp: get ninja generator compatible with VS2017gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)May 16, 2017
@refack
refack requested a review from joaocgreisMay 16, 2017 12:51
@refack

Copy link
Copy Markdown
ContributorAuthor

/cc @nodejs/build @bnoordhuis
I turned this PR to the more common bump+refloat. PTAL

@refackrefack mentioned this pull request May 16, 2017
10 tasks
@refack

Copy link
Copy Markdown
ContributorAuthor

I guess that because it's a muti-commit PR we don't get CI report :(
New CI: https://ci.nodejs.org/job/node-test-pull-request/8106/

@refack
refackforce-pushed the gyp-b62d04f-patch branch 2 times, most recently from 1cdbaa6 to 7be09a7CompareMay 16, 2017 20:48
@refack

Copy link
Copy Markdown
ContributorAuthor

New new CI (with auto-status): https://ci.nodejs.org/job/node-test-commit/9929/

@refack

Copy link
Copy Markdown
ContributorAuthor

@sam-github is this worked for you could you put a ✔️ on it

@sam-github

Copy link
Copy Markdown
Contributor

@refack This cleared away my problems.

I don't have any comment on how it did that, but without rebasing this onto master, and then my local branches onto this, I can't generate ninja build files on Windows.

refackand others added 6 commits July 18, 2017 15:42
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.
PR-URL: nodejs#1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not
suitable for environments that only uses the clang toolchain.
Since we already assume that the user will provide clang/clang++
through CC/CXX, lean against it (then drop to gcc/g++).
Also apply the same logic for link/ar for consistency although
it doesn't affect us.
PR-URL: nodejs#6173Fixes: nodejs#6152
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
this is a re-base of the gyp part of
3c46bb9
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com>
Ref: nodejs#7986
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
this is a re-base of the gyp part of
6a09a69
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-PR-URL: nodejs#11956
Original-Ref: nodejs#9163
Original-Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
Currently the files specified in libraries in node.gyp `cctest` target are
getting a '.lib' extension on windows when generated with ninja.
This commit adds a check to see if a file has a '.obj' extension and in
that case no '.lib' extension will be added.
Also, the LIBS specified in the 'libraries' section are not
being included in the --start-group --end-group section which
means that these libraries will not be searched causing issue
with linkers where the order matters.
PR-URL: nodejs#12484Fixes: nodejs#12448
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 7be09a7 to 2ee6704CompareJuly 18, 2017 19:43
@refack

Copy link
Copy Markdown
ContributorAuthor

ping @nodejs/build @nodejs/platform-windows @nodejs/python

The ability to set the link rule is used for FIPS, and needs to set
both the `ld =` and `ldxx =` variables in the ninja build file to link
c++ (node) and c (openssl-cli, etc.) executables.
PR-URL: nodejs#14227
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 2ee6704 to ce4f27cCompareJuly 18, 2017 22:31
@refackrefack mentioned this pull request Jul 18, 2017
@sam-github

Copy link
Copy Markdown
Contributor

@bnoordhuis PTAL

@refack

Copy link
Copy Markdown
ContributorAuthor

Dies of old age.

@refackrefack closed this Aug 9, 2017
@refack
refack deleted the gyp-b62d04f-patch branch August 9, 2017 19:03
@refackrefack removed their assignment Oct 20, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to Node.js builds or CI infrastructure.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@refack@jasnell@addaleax@bnoordhuis@sam-github@nodejs-github-bot@jbergstroem@danbev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51) - #12632

Closed
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch
Closed

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)#12632
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch

Conversation

@refack

@refackrefack commented Apr 24, 2017

Copy link
Copy Markdown
Contributor

this is a bump of GYP to refack/GYP3@d61a939
Then refloating our 6 patches on top

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

tools, gyp, build

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. tools Issues and PRs related to the tools directory. labels Apr 24, 2017
@refack

Copy link
Copy Markdown
ContributorAuthor

@refack

Copy link
Copy Markdown
ContributorAuthor

OSX was flaky.
Another CI: https://ci.nodejs.org/job/node-test-commit/9407/

@jasnell

Copy link
Copy Markdown
Member

/cc @nodejs/build @bnoordhuis

@refackrefack self-assigned this Apr 25, 2017
@refack
refack requested a review from bnoordhuisApril 25, 2017 22:04
@addaleax

Copy link
Copy Markdown
Member

Can you use a commit message format like 23498f2 uses? That makes it a lot more obvious that it’s an upstream backport.

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax is this what you had in mind?

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax

Copy link
Copy Markdown
Member

@refack Yeah, it’s a lot better, thank you. I’d still include the metadata in the indented original commit messages, though (you can grep our commit log for Original commit message: – it’s a pretty standard format by now).

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax Done.

Only thing out of the ordinary is I'm backporting 4 commits at once, since they are logically one atomic fix, so I explicitly added the hashes of each.

refack added a commit to refack/node that referenced this pull request Apr 30, 2017
this is a backport of 4 gyp commits since last bump, syncing us to
https://chromium.googlesource.com/external/gyp/+/a478c1ab51ea3e04e79791ac3d1dad01b3f57434
this is instead of a bump and rebase of floating patches
the goal is to fix the ninja generator on Windows
also includes:
* windows: use "mkdir" even when copying directory
Original commit messages:
a478c1ab51ea3e04e79791ac3d1dad01b3f57434:
win: mkdir even when copying directory
* also "fix" the paths in the message
* un-skip test/copies/gyptest-all.py
BUG=gyp:536
Change-Id: Id8ff7941b995c25d68d454138cd8b04940fdd82b
Reviewed-on: https://chromium-review.googlesource.com/487521
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
ffd524cefaad622e72995e852ffb0b18e83f8054
win ninja/make: Always use a native compiler executable with MSVS 2017
A host-native executable will always be used, and it will be a cross
compiler if the target architecture differs from the host architecture.
BUG=683729
Change-Id: I02a09e1755dd2ab7eca5c9d1957d7aeb56db6af6
Reviewed-on: https://chromium-review.googlesource.com/486400
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
e8850240a433259052705fb8c56e51795b7dc9c3
Fix MSVC++ 32-on-32 builds after b62d04ff85e6
BUG=683729
Change-Id: Ic8c227960b859ddc3c19fce0e98144510f5e74bf
Reviewed-on: https://chromium-review.googlesource.com/486380
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
b62d04ff85e6234e4fec7fff9377dd96c09d41a7
win,ninja: ninja generator better on windows
* add compatibility with VS2017
* adjust `_TargetConfig` and `/FS` for VS2017 compat
* find new place of `vcvarsall.bat` in VS2017
* normalize "path like" arguments of actions
* better check for `.lib` and `.def` file names
BUG=683729
Change-Id: I123bff7bd8a0011cf65d27a62b5267ba884e3b42
Reviewed-on: https://chromium-review.googlesource.com/482580
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Ref: nodejs#12281
PR-URL: nodejs#12632
@refack

Copy link
Copy Markdown
ContributorAuthor

@jasnell@addaleax@gibfahn@bnoordhuis@joaocgreis
Can anyone review this? It's blocking #12425

@addaleax

Copy link
Copy Markdown
Member

@refack This would be a bit easier to review if the patches were kept in separate commits so that they can easily be matched against the upstream ones (or if Node didn’t float patches and one could just compare the files, but unfortunately we do)

@refackrefack changed the title gyp: get ninja generator compatible with VS2017gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)May 16, 2017
@refack
refack requested a review from joaocgreisMay 16, 2017 12:51
@refack

Copy link
Copy Markdown
ContributorAuthor

/cc @nodejs/build @bnoordhuis
I turned this PR to the more common bump+refloat. PTAL

@refackrefack mentioned this pull request May 16, 2017
10 tasks
@refack

Copy link
Copy Markdown
ContributorAuthor

I guess that because it's a muti-commit PR we don't get CI report :(
New CI: https://ci.nodejs.org/job/node-test-pull-request/8106/

@refack
refackforce-pushed the gyp-b62d04f-patch branch 2 times, most recently from 1cdbaa6 to 7be09a7CompareMay 16, 2017 20:48
@refack

Copy link
Copy Markdown
ContributorAuthor

New new CI (with auto-status): https://ci.nodejs.org/job/node-test-commit/9929/

@refack

Copy link
Copy Markdown
ContributorAuthor

@sam-github is this worked for you could you put a ✔️ on it

@sam-github

Copy link
Copy Markdown
Contributor

@refack This cleared away my problems.

I don't have any comment on how it did that, but without rebasing this onto master, and then my local branches onto this, I can't generate ninja build files on Windows.

refackand others added 6 commits July 18, 2017 15:42
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.
PR-URL: nodejs#1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not
suitable for environments that only uses the clang toolchain.
Since we already assume that the user will provide clang/clang++
through CC/CXX, lean against it (then drop to gcc/g++).
Also apply the same logic for link/ar for consistency although
it doesn't affect us.
PR-URL: nodejs#6173Fixes: nodejs#6152
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
this is a re-base of the gyp part of
3c46bb9
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com>
Ref: nodejs#7986
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
this is a re-base of the gyp part of
6a09a69
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-PR-URL: nodejs#11956
Original-Ref: nodejs#9163
Original-Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
Currently the files specified in libraries in node.gyp `cctest` target are
getting a '.lib' extension on windows when generated with ninja.
This commit adds a check to see if a file has a '.obj' extension and in
that case no '.lib' extension will be added.
Also, the LIBS specified in the 'libraries' section are not
being included in the --start-group --end-group section which
means that these libraries will not be searched causing issue
with linkers where the order matters.
PR-URL: nodejs#12484Fixes: nodejs#12448
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 7be09a7 to 2ee6704CompareJuly 18, 2017 19:43
@refack

Copy link
Copy Markdown
ContributorAuthor

ping @nodejs/build @nodejs/platform-windows @nodejs/python

The ability to set the link rule is used for FIPS, and needs to set
both the `ld =` and `ldxx =` variables in the ninja build file to link
c++ (node) and c (openssl-cli, etc.) executables.
PR-URL: nodejs#14227
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 2ee6704 to ce4f27cCompareJuly 18, 2017 22:31
@refackrefack mentioned this pull request Jul 18, 2017
@sam-github

Copy link
Copy Markdown
Contributor

@bnoordhuis PTAL

@refack

Copy link
Copy Markdown
ContributorAuthor

Dies of old age.

@refackrefack closed this Aug 9, 2017
@refack
refack deleted the gyp-b62d04f-patch branch August 9, 2017 19:03
@refackrefack removed their assignment Oct 20, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to Node.js builds or CI infrastructure.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@refack@jasnell@addaleax@bnoordhuis@sam-github@nodejs-github-bot@jbergstroem@danbev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51) - #12632

Closed
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch
Closed

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)#12632
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch

Conversation

@refack

@refackrefack commented Apr 24, 2017

Copy link
Copy Markdown
Contributor

this is a bump of GYP to refack/GYP3@d61a939
Then refloating our 6 patches on top

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

tools, gyp, build

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. tools Issues and PRs related to the tools directory. labels Apr 24, 2017
@refack

Copy link
Copy Markdown
ContributorAuthor

@refack

Copy link
Copy Markdown
ContributorAuthor

OSX was flaky.
Another CI: https://ci.nodejs.org/job/node-test-commit/9407/

@jasnell

Copy link
Copy Markdown
Member

/cc @nodejs/build @bnoordhuis

@refackrefack self-assigned this Apr 25, 2017
@refack
refack requested a review from bnoordhuisApril 25, 2017 22:04
@addaleax

Copy link
Copy Markdown
Member

Can you use a commit message format like 23498f2 uses? That makes it a lot more obvious that it’s an upstream backport.

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax is this what you had in mind?

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax

Copy link
Copy Markdown
Member

@refack Yeah, it’s a lot better, thank you. I’d still include the metadata in the indented original commit messages, though (you can grep our commit log for Original commit message: – it’s a pretty standard format by now).

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax Done.

Only thing out of the ordinary is I'm backporting 4 commits at once, since they are logically one atomic fix, so I explicitly added the hashes of each.

refack added a commit to refack/node that referenced this pull request Apr 30, 2017
this is a backport of 4 gyp commits since last bump, syncing us to
https://chromium.googlesource.com/external/gyp/+/a478c1ab51ea3e04e79791ac3d1dad01b3f57434
this is instead of a bump and rebase of floating patches
the goal is to fix the ninja generator on Windows
also includes:
* windows: use "mkdir" even when copying directory
Original commit messages:
a478c1ab51ea3e04e79791ac3d1dad01b3f57434:
win: mkdir even when copying directory
* also "fix" the paths in the message
* un-skip test/copies/gyptest-all.py
BUG=gyp:536
Change-Id: Id8ff7941b995c25d68d454138cd8b04940fdd82b
Reviewed-on: https://chromium-review.googlesource.com/487521
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
ffd524cefaad622e72995e852ffb0b18e83f8054
win ninja/make: Always use a native compiler executable with MSVS 2017
A host-native executable will always be used, and it will be a cross
compiler if the target architecture differs from the host architecture.
BUG=683729
Change-Id: I02a09e1755dd2ab7eca5c9d1957d7aeb56db6af6
Reviewed-on: https://chromium-review.googlesource.com/486400
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
e8850240a433259052705fb8c56e51795b7dc9c3
Fix MSVC++ 32-on-32 builds after b62d04ff85e6
BUG=683729
Change-Id: Ic8c227960b859ddc3c19fce0e98144510f5e74bf
Reviewed-on: https://chromium-review.googlesource.com/486380
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
b62d04ff85e6234e4fec7fff9377dd96c09d41a7
win,ninja: ninja generator better on windows
* add compatibility with VS2017
* adjust `_TargetConfig` and `/FS` for VS2017 compat
* find new place of `vcvarsall.bat` in VS2017
* normalize "path like" arguments of actions
* better check for `.lib` and `.def` file names
BUG=683729
Change-Id: I123bff7bd8a0011cf65d27a62b5267ba884e3b42
Reviewed-on: https://chromium-review.googlesource.com/482580
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Ref: nodejs#12281
PR-URL: nodejs#12632
@refack

Copy link
Copy Markdown
ContributorAuthor

@jasnell@addaleax@gibfahn@bnoordhuis@joaocgreis
Can anyone review this? It's blocking #12425

@addaleax

Copy link
Copy Markdown
Member

@refack This would be a bit easier to review if the patches were kept in separate commits so that they can easily be matched against the upstream ones (or if Node didn’t float patches and one could just compare the files, but unfortunately we do)

@refackrefack changed the title gyp: get ninja generator compatible with VS2017gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)May 16, 2017
@refack
refack requested a review from joaocgreisMay 16, 2017 12:51
@refack

Copy link
Copy Markdown
ContributorAuthor

/cc @nodejs/build @bnoordhuis
I turned this PR to the more common bump+refloat. PTAL

@refackrefack mentioned this pull request May 16, 2017
10 tasks
@refack

Copy link
Copy Markdown
ContributorAuthor

I guess that because it's a muti-commit PR we don't get CI report :(
New CI: https://ci.nodejs.org/job/node-test-pull-request/8106/

@refack
refackforce-pushed the gyp-b62d04f-patch branch 2 times, most recently from 1cdbaa6 to 7be09a7CompareMay 16, 2017 20:48
@refack

Copy link
Copy Markdown
ContributorAuthor

New new CI (with auto-status): https://ci.nodejs.org/job/node-test-commit/9929/

@refack

Copy link
Copy Markdown
ContributorAuthor

@sam-github is this worked for you could you put a ✔️ on it

@sam-github

Copy link
Copy Markdown
Contributor

@refack This cleared away my problems.

I don't have any comment on how it did that, but without rebasing this onto master, and then my local branches onto this, I can't generate ninja build files on Windows.

refackand others added 6 commits July 18, 2017 15:42
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.
PR-URL: nodejs#1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not
suitable for environments that only uses the clang toolchain.
Since we already assume that the user will provide clang/clang++
through CC/CXX, lean against it (then drop to gcc/g++).
Also apply the same logic for link/ar for consistency although
it doesn't affect us.
PR-URL: nodejs#6173Fixes: nodejs#6152
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
this is a re-base of the gyp part of
3c46bb9
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com>
Ref: nodejs#7986
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
this is a re-base of the gyp part of
6a09a69
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-PR-URL: nodejs#11956
Original-Ref: nodejs#9163
Original-Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
Currently the files specified in libraries in node.gyp `cctest` target are
getting a '.lib' extension on windows when generated with ninja.
This commit adds a check to see if a file has a '.obj' extension and in
that case no '.lib' extension will be added.
Also, the LIBS specified in the 'libraries' section are not
being included in the --start-group --end-group section which
means that these libraries will not be searched causing issue
with linkers where the order matters.
PR-URL: nodejs#12484Fixes: nodejs#12448
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 7be09a7 to 2ee6704CompareJuly 18, 2017 19:43
@refack

Copy link
Copy Markdown
ContributorAuthor

ping @nodejs/build @nodejs/platform-windows @nodejs/python

The ability to set the link rule is used for FIPS, and needs to set
both the `ld =` and `ldxx =` variables in the ninja build file to link
c++ (node) and c (openssl-cli, etc.) executables.
PR-URL: nodejs#14227
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 2ee6704 to ce4f27cCompareJuly 18, 2017 22:31
@refackrefack mentioned this pull request Jul 18, 2017
@sam-github

Copy link
Copy Markdown
Contributor

@bnoordhuis PTAL

@refack

Copy link
Copy Markdown
ContributorAuthor

Dies of old age.

@refackrefack closed this Aug 9, 2017
@refack
refack deleted the gyp-b62d04f-patch branch August 9, 2017 19:03
@refackrefack removed their assignment Oct 20, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to Node.js builds or CI infrastructure.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@refack@jasnell@addaleax@bnoordhuis@sam-github@nodejs-github-bot@jbergstroem@danbev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51) - #12632

Closed
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch
Closed

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)#12632
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch

Conversation

@refack

@refackrefack commented Apr 24, 2017

Copy link
Copy Markdown
Contributor

this is a bump of GYP to refack/GYP3@d61a939
Then refloating our 6 patches on top

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

tools, gyp, build

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. tools Issues and PRs related to the tools directory. labels Apr 24, 2017
@refack

Copy link
Copy Markdown
ContributorAuthor

@refack

Copy link
Copy Markdown
ContributorAuthor

OSX was flaky.
Another CI: https://ci.nodejs.org/job/node-test-commit/9407/

@jasnell

Copy link
Copy Markdown
Member

/cc @nodejs/build @bnoordhuis

@refackrefack self-assigned this Apr 25, 2017
@refack
refack requested a review from bnoordhuisApril 25, 2017 22:04
@addaleax

Copy link
Copy Markdown
Member

Can you use a commit message format like 23498f2 uses? That makes it a lot more obvious that it’s an upstream backport.

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax is this what you had in mind?

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax

Copy link
Copy Markdown
Member

@refack Yeah, it’s a lot better, thank you. I’d still include the metadata in the indented original commit messages, though (you can grep our commit log for Original commit message: – it’s a pretty standard format by now).

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax Done.

Only thing out of the ordinary is I'm backporting 4 commits at once, since they are logically one atomic fix, so I explicitly added the hashes of each.

refack added a commit to refack/node that referenced this pull request Apr 30, 2017
this is a backport of 4 gyp commits since last bump, syncing us to
https://chromium.googlesource.com/external/gyp/+/a478c1ab51ea3e04e79791ac3d1dad01b3f57434
this is instead of a bump and rebase of floating patches
the goal is to fix the ninja generator on Windows
also includes:
* windows: use "mkdir" even when copying directory
Original commit messages:
a478c1ab51ea3e04e79791ac3d1dad01b3f57434:
win: mkdir even when copying directory
* also "fix" the paths in the message
* un-skip test/copies/gyptest-all.py
BUG=gyp:536
Change-Id: Id8ff7941b995c25d68d454138cd8b04940fdd82b
Reviewed-on: https://chromium-review.googlesource.com/487521
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
ffd524cefaad622e72995e852ffb0b18e83f8054
win ninja/make: Always use a native compiler executable with MSVS 2017
A host-native executable will always be used, and it will be a cross
compiler if the target architecture differs from the host architecture.
BUG=683729
Change-Id: I02a09e1755dd2ab7eca5c9d1957d7aeb56db6af6
Reviewed-on: https://chromium-review.googlesource.com/486400
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
e8850240a433259052705fb8c56e51795b7dc9c3
Fix MSVC++ 32-on-32 builds after b62d04ff85e6
BUG=683729
Change-Id: Ic8c227960b859ddc3c19fce0e98144510f5e74bf
Reviewed-on: https://chromium-review.googlesource.com/486380
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
b62d04ff85e6234e4fec7fff9377dd96c09d41a7
win,ninja: ninja generator better on windows
* add compatibility with VS2017
* adjust `_TargetConfig` and `/FS` for VS2017 compat
* find new place of `vcvarsall.bat` in VS2017
* normalize "path like" arguments of actions
* better check for `.lib` and `.def` file names
BUG=683729
Change-Id: I123bff7bd8a0011cf65d27a62b5267ba884e3b42
Reviewed-on: https://chromium-review.googlesource.com/482580
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Ref: nodejs#12281
PR-URL: nodejs#12632
@refack

Copy link
Copy Markdown
ContributorAuthor

@jasnell@addaleax@gibfahn@bnoordhuis@joaocgreis
Can anyone review this? It's blocking #12425

@addaleax

Copy link
Copy Markdown
Member

@refack This would be a bit easier to review if the patches were kept in separate commits so that they can easily be matched against the upstream ones (or if Node didn’t float patches and one could just compare the files, but unfortunately we do)

@refackrefack changed the title gyp: get ninja generator compatible with VS2017gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)May 16, 2017
@refack
refack requested a review from joaocgreisMay 16, 2017 12:51
@refack

Copy link
Copy Markdown
ContributorAuthor

/cc @nodejs/build @bnoordhuis
I turned this PR to the more common bump+refloat. PTAL

@refackrefack mentioned this pull request May 16, 2017
10 tasks
@refack

Copy link
Copy Markdown
ContributorAuthor

I guess that because it's a muti-commit PR we don't get CI report :(
New CI: https://ci.nodejs.org/job/node-test-pull-request/8106/

@refack
refackforce-pushed the gyp-b62d04f-patch branch 2 times, most recently from 1cdbaa6 to 7be09a7CompareMay 16, 2017 20:48
@refack

Copy link
Copy Markdown
ContributorAuthor

New new CI (with auto-status): https://ci.nodejs.org/job/node-test-commit/9929/

@refack

Copy link
Copy Markdown
ContributorAuthor

@sam-github is this worked for you could you put a ✔️ on it

@sam-github

Copy link
Copy Markdown
Contributor

@refack This cleared away my problems.

I don't have any comment on how it did that, but without rebasing this onto master, and then my local branches onto this, I can't generate ninja build files on Windows.

refackand others added 6 commits July 18, 2017 15:42
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.
PR-URL: nodejs#1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not
suitable for environments that only uses the clang toolchain.
Since we already assume that the user will provide clang/clang++
through CC/CXX, lean against it (then drop to gcc/g++).
Also apply the same logic for link/ar for consistency although
it doesn't affect us.
PR-URL: nodejs#6173Fixes: nodejs#6152
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
this is a re-base of the gyp part of
3c46bb9
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com>
Ref: nodejs#7986
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
this is a re-base of the gyp part of
6a09a69
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-PR-URL: nodejs#11956
Original-Ref: nodejs#9163
Original-Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
Currently the files specified in libraries in node.gyp `cctest` target are
getting a '.lib' extension on windows when generated with ninja.
This commit adds a check to see if a file has a '.obj' extension and in
that case no '.lib' extension will be added.
Also, the LIBS specified in the 'libraries' section are not
being included in the --start-group --end-group section which
means that these libraries will not be searched causing issue
with linkers where the order matters.
PR-URL: nodejs#12484Fixes: nodejs#12448
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 7be09a7 to 2ee6704CompareJuly 18, 2017 19:43
@refack

Copy link
Copy Markdown
ContributorAuthor

ping @nodejs/build @nodejs/platform-windows @nodejs/python

The ability to set the link rule is used for FIPS, and needs to set
both the `ld =` and `ldxx =` variables in the ninja build file to link
c++ (node) and c (openssl-cli, etc.) executables.
PR-URL: nodejs#14227
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 2ee6704 to ce4f27cCompareJuly 18, 2017 22:31
@refackrefack mentioned this pull request Jul 18, 2017
@sam-github

Copy link
Copy Markdown
Contributor

@bnoordhuis PTAL

@refack

Copy link
Copy Markdown
ContributorAuthor

Dies of old age.

@refackrefack closed this Aug 9, 2017
@refack
refack deleted the gyp-b62d04f-patch branch August 9, 2017 19:03
@refackrefack removed their assignment Oct 20, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to Node.js builds or CI infrastructure.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@refack@jasnell@addaleax@bnoordhuis@sam-github@nodejs-github-bot@jbergstroem@danbev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51) - #12632

Closed
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch
Closed

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)#12632
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch

Conversation

@refack

@refackrefack commented Apr 24, 2017

Copy link
Copy Markdown
Contributor

this is a bump of GYP to refack/GYP3@d61a939
Then refloating our 6 patches on top

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

tools, gyp, build

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. tools Issues and PRs related to the tools directory. labels Apr 24, 2017
@refack

Copy link
Copy Markdown
ContributorAuthor

@refack

Copy link
Copy Markdown
ContributorAuthor

OSX was flaky.
Another CI: https://ci.nodejs.org/job/node-test-commit/9407/

@jasnell

Copy link
Copy Markdown
Member

/cc @nodejs/build @bnoordhuis

@refackrefack self-assigned this Apr 25, 2017
@refack
refack requested a review from bnoordhuisApril 25, 2017 22:04
@addaleax

Copy link
Copy Markdown
Member

Can you use a commit message format like 23498f2 uses? That makes it a lot more obvious that it’s an upstream backport.

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax is this what you had in mind?

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax

Copy link
Copy Markdown
Member

@refack Yeah, it’s a lot better, thank you. I’d still include the metadata in the indented original commit messages, though (you can grep our commit log for Original commit message: – it’s a pretty standard format by now).

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax Done.

Only thing out of the ordinary is I'm backporting 4 commits at once, since they are logically one atomic fix, so I explicitly added the hashes of each.

refack added a commit to refack/node that referenced this pull request Apr 30, 2017
this is a backport of 4 gyp commits since last bump, syncing us to
https://chromium.googlesource.com/external/gyp/+/a478c1ab51ea3e04e79791ac3d1dad01b3f57434
this is instead of a bump and rebase of floating patches
the goal is to fix the ninja generator on Windows
also includes:
* windows: use "mkdir" even when copying directory
Original commit messages:
a478c1ab51ea3e04e79791ac3d1dad01b3f57434:
win: mkdir even when copying directory
* also "fix" the paths in the message
* un-skip test/copies/gyptest-all.py
BUG=gyp:536
Change-Id: Id8ff7941b995c25d68d454138cd8b04940fdd82b
Reviewed-on: https://chromium-review.googlesource.com/487521
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
ffd524cefaad622e72995e852ffb0b18e83f8054
win ninja/make: Always use a native compiler executable with MSVS 2017
A host-native executable will always be used, and it will be a cross
compiler if the target architecture differs from the host architecture.
BUG=683729
Change-Id: I02a09e1755dd2ab7eca5c9d1957d7aeb56db6af6
Reviewed-on: https://chromium-review.googlesource.com/486400
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
e8850240a433259052705fb8c56e51795b7dc9c3
Fix MSVC++ 32-on-32 builds after b62d04ff85e6
BUG=683729
Change-Id: Ic8c227960b859ddc3c19fce0e98144510f5e74bf
Reviewed-on: https://chromium-review.googlesource.com/486380
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
b62d04ff85e6234e4fec7fff9377dd96c09d41a7
win,ninja: ninja generator better on windows
* add compatibility with VS2017
* adjust `_TargetConfig` and `/FS` for VS2017 compat
* find new place of `vcvarsall.bat` in VS2017
* normalize "path like" arguments of actions
* better check for `.lib` and `.def` file names
BUG=683729
Change-Id: I123bff7bd8a0011cf65d27a62b5267ba884e3b42
Reviewed-on: https://chromium-review.googlesource.com/482580
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Ref: nodejs#12281
PR-URL: nodejs#12632
@refack

Copy link
Copy Markdown
ContributorAuthor

@jasnell@addaleax@gibfahn@bnoordhuis@joaocgreis
Can anyone review this? It's blocking #12425

@addaleax

Copy link
Copy Markdown
Member

@refack This would be a bit easier to review if the patches were kept in separate commits so that they can easily be matched against the upstream ones (or if Node didn’t float patches and one could just compare the files, but unfortunately we do)

@refackrefack changed the title gyp: get ninja generator compatible with VS2017gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)May 16, 2017
@refack
refack requested a review from joaocgreisMay 16, 2017 12:51
@refack

Copy link
Copy Markdown
ContributorAuthor

/cc @nodejs/build @bnoordhuis
I turned this PR to the more common bump+refloat. PTAL

@refackrefack mentioned this pull request May 16, 2017
10 tasks
@refack

Copy link
Copy Markdown
ContributorAuthor

I guess that because it's a muti-commit PR we don't get CI report :(
New CI: https://ci.nodejs.org/job/node-test-pull-request/8106/

@refack
refackforce-pushed the gyp-b62d04f-patch branch 2 times, most recently from 1cdbaa6 to 7be09a7CompareMay 16, 2017 20:48
@refack

Copy link
Copy Markdown
ContributorAuthor

New new CI (with auto-status): https://ci.nodejs.org/job/node-test-commit/9929/

@refack

Copy link
Copy Markdown
ContributorAuthor

@sam-github is this worked for you could you put a ✔️ on it

@sam-github

Copy link
Copy Markdown
Contributor

@refack This cleared away my problems.

I don't have any comment on how it did that, but without rebasing this onto master, and then my local branches onto this, I can't generate ninja build files on Windows.

refackand others added 6 commits July 18, 2017 15:42
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.
PR-URL: nodejs#1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not
suitable for environments that only uses the clang toolchain.
Since we already assume that the user will provide clang/clang++
through CC/CXX, lean against it (then drop to gcc/g++).
Also apply the same logic for link/ar for consistency although
it doesn't affect us.
PR-URL: nodejs#6173Fixes: nodejs#6152
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
this is a re-base of the gyp part of
3c46bb9
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com>
Ref: nodejs#7986
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
this is a re-base of the gyp part of
6a09a69
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-PR-URL: nodejs#11956
Original-Ref: nodejs#9163
Original-Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
Currently the files specified in libraries in node.gyp `cctest` target are
getting a '.lib' extension on windows when generated with ninja.
This commit adds a check to see if a file has a '.obj' extension and in
that case no '.lib' extension will be added.
Also, the LIBS specified in the 'libraries' section are not
being included in the --start-group --end-group section which
means that these libraries will not be searched causing issue
with linkers where the order matters.
PR-URL: nodejs#12484Fixes: nodejs#12448
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 7be09a7 to 2ee6704CompareJuly 18, 2017 19:43
@refack

Copy link
Copy Markdown
ContributorAuthor

ping @nodejs/build @nodejs/platform-windows @nodejs/python

The ability to set the link rule is used for FIPS, and needs to set
both the `ld =` and `ldxx =` variables in the ninja build file to link
c++ (node) and c (openssl-cli, etc.) executables.
PR-URL: nodejs#14227
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 2ee6704 to ce4f27cCompareJuly 18, 2017 22:31
@refackrefack mentioned this pull request Jul 18, 2017
@sam-github

Copy link
Copy Markdown
Contributor

@bnoordhuis PTAL

@refack

Copy link
Copy Markdown
ContributorAuthor

Dies of old age.

@refackrefack closed this Aug 9, 2017
@refack
refack deleted the gyp-b62d04f-patch branch August 9, 2017 19:03
@refackrefack removed their assignment Oct 20, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to Node.js builds or CI infrastructure.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@refack@jasnell@addaleax@bnoordhuis@sam-github@nodejs-github-bot@jbergstroem@danbev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51) - #12632

Closed
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch
Closed

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)#12632
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch

Conversation

@refack

@refackrefack commented Apr 24, 2017

Copy link
Copy Markdown
Contributor

this is a bump of GYP to refack/GYP3@d61a939
Then refloating our 6 patches on top

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

tools, gyp, build

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. tools Issues and PRs related to the tools directory. labels Apr 24, 2017
@refack

Copy link
Copy Markdown
ContributorAuthor

@refack

Copy link
Copy Markdown
ContributorAuthor

OSX was flaky.
Another CI: https://ci.nodejs.org/job/node-test-commit/9407/

@jasnell

Copy link
Copy Markdown
Member

/cc @nodejs/build @bnoordhuis

@refackrefack self-assigned this Apr 25, 2017
@refack
refack requested a review from bnoordhuisApril 25, 2017 22:04
@addaleax

Copy link
Copy Markdown
Member

Can you use a commit message format like 23498f2 uses? That makes it a lot more obvious that it’s an upstream backport.

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax is this what you had in mind?

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax

Copy link
Copy Markdown
Member

@refack Yeah, it’s a lot better, thank you. I’d still include the metadata in the indented original commit messages, though (you can grep our commit log for Original commit message: – it’s a pretty standard format by now).

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax Done.

Only thing out of the ordinary is I'm backporting 4 commits at once, since they are logically one atomic fix, so I explicitly added the hashes of each.

refack added a commit to refack/node that referenced this pull request Apr 30, 2017
this is a backport of 4 gyp commits since last bump, syncing us to
https://chromium.googlesource.com/external/gyp/+/a478c1ab51ea3e04e79791ac3d1dad01b3f57434
this is instead of a bump and rebase of floating patches
the goal is to fix the ninja generator on Windows
also includes:
* windows: use "mkdir" even when copying directory
Original commit messages:
a478c1ab51ea3e04e79791ac3d1dad01b3f57434:
win: mkdir even when copying directory
* also "fix" the paths in the message
* un-skip test/copies/gyptest-all.py
BUG=gyp:536
Change-Id: Id8ff7941b995c25d68d454138cd8b04940fdd82b
Reviewed-on: https://chromium-review.googlesource.com/487521
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
ffd524cefaad622e72995e852ffb0b18e83f8054
win ninja/make: Always use a native compiler executable with MSVS 2017
A host-native executable will always be used, and it will be a cross
compiler if the target architecture differs from the host architecture.
BUG=683729
Change-Id: I02a09e1755dd2ab7eca5c9d1957d7aeb56db6af6
Reviewed-on: https://chromium-review.googlesource.com/486400
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
e8850240a433259052705fb8c56e51795b7dc9c3
Fix MSVC++ 32-on-32 builds after b62d04ff85e6
BUG=683729
Change-Id: Ic8c227960b859ddc3c19fce0e98144510f5e74bf
Reviewed-on: https://chromium-review.googlesource.com/486380
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
b62d04ff85e6234e4fec7fff9377dd96c09d41a7
win,ninja: ninja generator better on windows
* add compatibility with VS2017
* adjust `_TargetConfig` and `/FS` for VS2017 compat
* find new place of `vcvarsall.bat` in VS2017
* normalize "path like" arguments of actions
* better check for `.lib` and `.def` file names
BUG=683729
Change-Id: I123bff7bd8a0011cf65d27a62b5267ba884e3b42
Reviewed-on: https://chromium-review.googlesource.com/482580
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Ref: nodejs#12281
PR-URL: nodejs#12632
@refack

Copy link
Copy Markdown
ContributorAuthor

@jasnell@addaleax@gibfahn@bnoordhuis@joaocgreis
Can anyone review this? It's blocking #12425

@addaleax

Copy link
Copy Markdown
Member

@refack This would be a bit easier to review if the patches were kept in separate commits so that they can easily be matched against the upstream ones (or if Node didn’t float patches and one could just compare the files, but unfortunately we do)

@refackrefack changed the title gyp: get ninja generator compatible with VS2017gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)May 16, 2017
@refack
refack requested a review from joaocgreisMay 16, 2017 12:51
@refack

Copy link
Copy Markdown
ContributorAuthor

/cc @nodejs/build @bnoordhuis
I turned this PR to the more common bump+refloat. PTAL

@refackrefack mentioned this pull request May 16, 2017
10 tasks
@refack

Copy link
Copy Markdown
ContributorAuthor

I guess that because it's a muti-commit PR we don't get CI report :(
New CI: https://ci.nodejs.org/job/node-test-pull-request/8106/

@refack
refackforce-pushed the gyp-b62d04f-patch branch 2 times, most recently from 1cdbaa6 to 7be09a7CompareMay 16, 2017 20:48
@refack

Copy link
Copy Markdown
ContributorAuthor

New new CI (with auto-status): https://ci.nodejs.org/job/node-test-commit/9929/

@refack

Copy link
Copy Markdown
ContributorAuthor

@sam-github is this worked for you could you put a ✔️ on it

@sam-github

Copy link
Copy Markdown
Contributor

@refack This cleared away my problems.

I don't have any comment on how it did that, but without rebasing this onto master, and then my local branches onto this, I can't generate ninja build files on Windows.

refackand others added 6 commits July 18, 2017 15:42
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.
PR-URL: nodejs#1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not
suitable for environments that only uses the clang toolchain.
Since we already assume that the user will provide clang/clang++
through CC/CXX, lean against it (then drop to gcc/g++).
Also apply the same logic for link/ar for consistency although
it doesn't affect us.
PR-URL: nodejs#6173Fixes: nodejs#6152
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
this is a re-base of the gyp part of
3c46bb9
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com>
Ref: nodejs#7986
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
this is a re-base of the gyp part of
6a09a69
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-PR-URL: nodejs#11956
Original-Ref: nodejs#9163
Original-Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
Currently the files specified in libraries in node.gyp `cctest` target are
getting a '.lib' extension on windows when generated with ninja.
This commit adds a check to see if a file has a '.obj' extension and in
that case no '.lib' extension will be added.
Also, the LIBS specified in the 'libraries' section are not
being included in the --start-group --end-group section which
means that these libraries will not be searched causing issue
with linkers where the order matters.
PR-URL: nodejs#12484Fixes: nodejs#12448
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 7be09a7 to 2ee6704CompareJuly 18, 2017 19:43
@refack

Copy link
Copy Markdown
ContributorAuthor

ping @nodejs/build @nodejs/platform-windows @nodejs/python

The ability to set the link rule is used for FIPS, and needs to set
both the `ld =` and `ldxx =` variables in the ninja build file to link
c++ (node) and c (openssl-cli, etc.) executables.
PR-URL: nodejs#14227
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 2ee6704 to ce4f27cCompareJuly 18, 2017 22:31
@refackrefack mentioned this pull request Jul 18, 2017
@sam-github

Copy link
Copy Markdown
Contributor

@bnoordhuis PTAL

@refack

Copy link
Copy Markdown
ContributorAuthor

Dies of old age.

@refackrefack closed this Aug 9, 2017
@refack
refack deleted the gyp-b62d04f-patch branch August 9, 2017 19:03
@refackrefack removed their assignment Oct 20, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to Node.js builds or CI infrastructure.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@refack@jasnell@addaleax@bnoordhuis@sam-github@nodejs-github-bot@jbergstroem@danbev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51) - #12632

Closed
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch
Closed

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)#12632
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch

Conversation

@refack

@refackrefack commented Apr 24, 2017

Copy link
Copy Markdown
Contributor

this is a bump of GYP to refack/GYP3@d61a939
Then refloating our 6 patches on top

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

tools, gyp, build

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. tools Issues and PRs related to the tools directory. labels Apr 24, 2017
@refack

Copy link
Copy Markdown
ContributorAuthor

@refack

Copy link
Copy Markdown
ContributorAuthor

OSX was flaky.
Another CI: https://ci.nodejs.org/job/node-test-commit/9407/

@jasnell

Copy link
Copy Markdown
Member

/cc @nodejs/build @bnoordhuis

@refackrefack self-assigned this Apr 25, 2017
@refack
refack requested a review from bnoordhuisApril 25, 2017 22:04
@addaleax

Copy link
Copy Markdown
Member

Can you use a commit message format like 23498f2 uses? That makes it a lot more obvious that it’s an upstream backport.

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax is this what you had in mind?

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax

Copy link
Copy Markdown
Member

@refack Yeah, it’s a lot better, thank you. I’d still include the metadata in the indented original commit messages, though (you can grep our commit log for Original commit message: – it’s a pretty standard format by now).

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax Done.

Only thing out of the ordinary is I'm backporting 4 commits at once, since they are logically one atomic fix, so I explicitly added the hashes of each.

refack added a commit to refack/node that referenced this pull request Apr 30, 2017
this is a backport of 4 gyp commits since last bump, syncing us to
https://chromium.googlesource.com/external/gyp/+/a478c1ab51ea3e04e79791ac3d1dad01b3f57434
this is instead of a bump and rebase of floating patches
the goal is to fix the ninja generator on Windows
also includes:
* windows: use "mkdir" even when copying directory
Original commit messages:
a478c1ab51ea3e04e79791ac3d1dad01b3f57434:
win: mkdir even when copying directory
* also "fix" the paths in the message
* un-skip test/copies/gyptest-all.py
BUG=gyp:536
Change-Id: Id8ff7941b995c25d68d454138cd8b04940fdd82b
Reviewed-on: https://chromium-review.googlesource.com/487521
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
ffd524cefaad622e72995e852ffb0b18e83f8054
win ninja/make: Always use a native compiler executable with MSVS 2017
A host-native executable will always be used, and it will be a cross
compiler if the target architecture differs from the host architecture.
BUG=683729
Change-Id: I02a09e1755dd2ab7eca5c9d1957d7aeb56db6af6
Reviewed-on: https://chromium-review.googlesource.com/486400
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
e8850240a433259052705fb8c56e51795b7dc9c3
Fix MSVC++ 32-on-32 builds after b62d04ff85e6
BUG=683729
Change-Id: Ic8c227960b859ddc3c19fce0e98144510f5e74bf
Reviewed-on: https://chromium-review.googlesource.com/486380
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
b62d04ff85e6234e4fec7fff9377dd96c09d41a7
win,ninja: ninja generator better on windows
* add compatibility with VS2017
* adjust `_TargetConfig` and `/FS` for VS2017 compat
* find new place of `vcvarsall.bat` in VS2017
* normalize "path like" arguments of actions
* better check for `.lib` and `.def` file names
BUG=683729
Change-Id: I123bff7bd8a0011cf65d27a62b5267ba884e3b42
Reviewed-on: https://chromium-review.googlesource.com/482580
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Ref: nodejs#12281
PR-URL: nodejs#12632
@refack

Copy link
Copy Markdown
ContributorAuthor

@jasnell@addaleax@gibfahn@bnoordhuis@joaocgreis
Can anyone review this? It's blocking #12425

@addaleax

Copy link
Copy Markdown
Member

@refack This would be a bit easier to review if the patches were kept in separate commits so that they can easily be matched against the upstream ones (or if Node didn’t float patches and one could just compare the files, but unfortunately we do)

@refackrefack changed the title gyp: get ninja generator compatible with VS2017gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)May 16, 2017
@refack
refack requested a review from joaocgreisMay 16, 2017 12:51
@refack

Copy link
Copy Markdown
ContributorAuthor

/cc @nodejs/build @bnoordhuis
I turned this PR to the more common bump+refloat. PTAL

@refackrefack mentioned this pull request May 16, 2017
10 tasks
@refack

Copy link
Copy Markdown
ContributorAuthor

I guess that because it's a muti-commit PR we don't get CI report :(
New CI: https://ci.nodejs.org/job/node-test-pull-request/8106/

@refack
refackforce-pushed the gyp-b62d04f-patch branch 2 times, most recently from 1cdbaa6 to 7be09a7CompareMay 16, 2017 20:48
@refack

Copy link
Copy Markdown
ContributorAuthor

New new CI (with auto-status): https://ci.nodejs.org/job/node-test-commit/9929/

@refack

Copy link
Copy Markdown
ContributorAuthor

@sam-github is this worked for you could you put a ✔️ on it

@sam-github

Copy link
Copy Markdown
Contributor

@refack This cleared away my problems.

I don't have any comment on how it did that, but without rebasing this onto master, and then my local branches onto this, I can't generate ninja build files on Windows.

refackand others added 6 commits July 18, 2017 15:42
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.
PR-URL: nodejs#1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not
suitable for environments that only uses the clang toolchain.
Since we already assume that the user will provide clang/clang++
through CC/CXX, lean against it (then drop to gcc/g++).
Also apply the same logic for link/ar for consistency although
it doesn't affect us.
PR-URL: nodejs#6173Fixes: nodejs#6152
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
this is a re-base of the gyp part of
3c46bb9
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com>
Ref: nodejs#7986
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
this is a re-base of the gyp part of
6a09a69
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-PR-URL: nodejs#11956
Original-Ref: nodejs#9163
Original-Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
Currently the files specified in libraries in node.gyp `cctest` target are
getting a '.lib' extension on windows when generated with ninja.
This commit adds a check to see if a file has a '.obj' extension and in
that case no '.lib' extension will be added.
Also, the LIBS specified in the 'libraries' section are not
being included in the --start-group --end-group section which
means that these libraries will not be searched causing issue
with linkers where the order matters.
PR-URL: nodejs#12484Fixes: nodejs#12448
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 7be09a7 to 2ee6704CompareJuly 18, 2017 19:43
@refack

Copy link
Copy Markdown
ContributorAuthor

ping @nodejs/build @nodejs/platform-windows @nodejs/python

The ability to set the link rule is used for FIPS, and needs to set
both the `ld =` and `ldxx =` variables in the ninja build file to link
c++ (node) and c (openssl-cli, etc.) executables.
PR-URL: nodejs#14227
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 2ee6704 to ce4f27cCompareJuly 18, 2017 22:31
@refackrefack mentioned this pull request Jul 18, 2017
@sam-github

Copy link
Copy Markdown
Contributor

@bnoordhuis PTAL

@refack

Copy link
Copy Markdown
ContributorAuthor

Dies of old age.

@refackrefack closed this Aug 9, 2017
@refack
refack deleted the gyp-b62d04f-patch branch August 9, 2017 19:03
@refackrefack removed their assignment Oct 20, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to Node.js builds or CI infrastructure.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@refack@jasnell@addaleax@bnoordhuis@sam-github@nodejs-github-bot@jbergstroem@danbev
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51) - #12632

Closed
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch
Closed

gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)#12632
refack wants to merge 7 commits into
nodejs:masterfrom
refack:gyp-b62d04f-patch

Conversation

@refack

@refackrefack commented Apr 24, 2017

Copy link
Copy Markdown
Contributor

this is a bump of GYP to refack/GYP3@d61a939
Then refloating our 6 patches on top

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

tools, gyp, build

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to Node.js builds or CI infrastructure. tools Issues and PRs related to the tools directory. labels Apr 24, 2017
@refack

Copy link
Copy Markdown
ContributorAuthor

@refack

Copy link
Copy Markdown
ContributorAuthor

OSX was flaky.
Another CI: https://ci.nodejs.org/job/node-test-commit/9407/

@jasnell

Copy link
Copy Markdown
Member

/cc @nodejs/build @bnoordhuis

@refackrefack self-assigned this Apr 25, 2017
@refack
refack requested a review from bnoordhuisApril 25, 2017 22:04
@addaleax

Copy link
Copy Markdown
Member

Can you use a commit message format like 23498f2 uses? That makes it a lot more obvious that it’s an upstream backport.

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax is this what you had in mind?

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax

Copy link
Copy Markdown
Member

@refack Yeah, it’s a lot better, thank you. I’d still include the metadata in the indented original commit messages, though (you can grep our commit log for Original commit message: – it’s a pretty standard format by now).

@refack

Copy link
Copy Markdown
ContributorAuthor

@addaleax Done.

Only thing out of the ordinary is I'm backporting 4 commits at once, since they are logically one atomic fix, so I explicitly added the hashes of each.

refack added a commit to refack/node that referenced this pull request Apr 30, 2017
this is a backport of 4 gyp commits since last bump, syncing us to
https://chromium.googlesource.com/external/gyp/+/a478c1ab51ea3e04e79791ac3d1dad01b3f57434
this is instead of a bump and rebase of floating patches
the goal is to fix the ninja generator on Windows
also includes:
* windows: use "mkdir" even when copying directory
Original commit messages:
a478c1ab51ea3e04e79791ac3d1dad01b3f57434:
win: mkdir even when copying directory
* also "fix" the paths in the message
* un-skip test/copies/gyptest-all.py
BUG=gyp:536
Change-Id: Id8ff7941b995c25d68d454138cd8b04940fdd82b
Reviewed-on: https://chromium-review.googlesource.com/487521
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
ffd524cefaad622e72995e852ffb0b18e83f8054
win ninja/make: Always use a native compiler executable with MSVS 2017
A host-native executable will always be used, and it will be a cross
compiler if the target architecture differs from the host architecture.
BUG=683729
Change-Id: I02a09e1755dd2ab7eca5c9d1957d7aeb56db6af6
Reviewed-on: https://chromium-review.googlesource.com/486400
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
e8850240a433259052705fb8c56e51795b7dc9c3
Fix MSVC++ 32-on-32 builds after b62d04ff85e6
BUG=683729
Change-Id: Ic8c227960b859ddc3c19fce0e98144510f5e74bf
Reviewed-on: https://chromium-review.googlesource.com/486380
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
b62d04ff85e6234e4fec7fff9377dd96c09d41a7
win,ninja: ninja generator better on windows
* add compatibility with VS2017
* adjust `_TargetConfig` and `/FS` for VS2017 compat
* find new place of `vcvarsall.bat` in VS2017
* normalize "path like" arguments of actions
* better check for `.lib` and `.def` file names
BUG=683729
Change-Id: I123bff7bd8a0011cf65d27a62b5267ba884e3b42
Reviewed-on: https://chromium-review.googlesource.com/482580
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Ref: nodejs#12281
PR-URL: nodejs#12632
@refack

Copy link
Copy Markdown
ContributorAuthor

@jasnell@addaleax@gibfahn@bnoordhuis@joaocgreis
Can anyone review this? It's blocking #12425

@addaleax

Copy link
Copy Markdown
Member

@refack This would be a bit easier to review if the patches were kept in separate commits so that they can easily be matched against the upstream ones (or if Node didn’t float patches and one could just compare the files, but unfortunately we do)

@refackrefack changed the title gyp: get ninja generator compatible with VS2017gyp: get ninja generator compatible with VS2017 (bump to a478c1ab51)May 16, 2017
@refack
refack requested a review from joaocgreisMay 16, 2017 12:51
@refack

Copy link
Copy Markdown
ContributorAuthor

/cc @nodejs/build @bnoordhuis
I turned this PR to the more common bump+refloat. PTAL

@refackrefack mentioned this pull request May 16, 2017
10 tasks
@refack

Copy link
Copy Markdown
ContributorAuthor

I guess that because it's a muti-commit PR we don't get CI report :(
New CI: https://ci.nodejs.org/job/node-test-pull-request/8106/

@refack
refackforce-pushed the gyp-b62d04f-patch branch 2 times, most recently from 1cdbaa6 to 7be09a7CompareMay 16, 2017 20:48
@refack

Copy link
Copy Markdown
ContributorAuthor

New new CI (with auto-status): https://ci.nodejs.org/job/node-test-commit/9929/

@refack

Copy link
Copy Markdown
ContributorAuthor

@sam-github is this worked for you could you put a ✔️ on it

@sam-github

Copy link
Copy Markdown
Contributor

@refack This cleared away my problems.

I don't have any comment on how it did that, but without rebasing this onto master, and then my local branches onto this, I can't generate ninja build files on Windows.

refackand others added 6 commits July 18, 2017 15:42
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.
PR-URL: nodejs#1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not
suitable for environments that only uses the clang toolchain.
Since we already assume that the user will provide clang/clang++
through CC/CXX, lean against it (then drop to gcc/g++).
Also apply the same logic for link/ar for consistency although
it doesn't affect us.
PR-URL: nodejs#6173Fixes: nodejs#6152
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
this is a re-base of the gyp part of
3c46bb9
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-Review-By: James M Snell <jasnell@gmail.com>
Ref: nodejs#7986
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
this is a re-base of the gyp part of
6a09a69
after bumping GYP version to
https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161
Original-PR-URL: nodejs#11956
Original-Ref: nodejs#9163
Original-Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#12450
Reviewed-By: João Reis <reis@janeasystems.com>
Currently the files specified in libraries in node.gyp `cctest` target are
getting a '.lib' extension on windows when generated with ninja.
This commit adds a check to see if a file has a '.obj' extension and in
that case no '.lib' extension will be added.
Also, the LIBS specified in the 'libraries' section are not
being included in the --start-group --end-group section which
means that these libraries will not be searched causing issue
with linkers where the order matters.
PR-URL: nodejs#12484Fixes: nodejs#12448
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 7be09a7 to 2ee6704CompareJuly 18, 2017 19:43
@refack

Copy link
Copy Markdown
ContributorAuthor

ping @nodejs/build @nodejs/platform-windows @nodejs/python

The ability to set the link rule is used for FIPS, and needs to set
both the `ld =` and `ldxx =` variables in the ninja build file to link
c++ (node) and c (openssl-cli, etc.) executables.
PR-URL: nodejs#14227
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
@refack
refackforce-pushed the gyp-b62d04f-patch branch from 2ee6704 to ce4f27cCompareJuly 18, 2017 22:31
@refackrefack mentioned this pull request Jul 18, 2017
@sam-github

Copy link
Copy Markdown
Contributor

@bnoordhuis PTAL

@refack

Copy link
Copy Markdown
ContributorAuthor

Dies of old age.

@refackrefack closed this Aug 9, 2017
@refack
refack deleted the gyp-b62d04f-patch branch August 9, 2017 19:03
@refackrefack removed their assignment Oct 20, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to Node.js builds or CI infrastructure.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@refack@jasnell@addaleax@bnoordhuis@sam-github@nodejs-github-bot@jbergstroem@danbev