Enable Node.js to build with Microsoft's ChakraCore engine by kunalspathak · Pull Request #873 · nodejs/node-gyp

@kunalspathak mentioned this pull request

Jan 28, 2016

kunalspathak added a commit to kunalspathak/node-sass that referenced this pull request

Oct 29, 2016
When building node-sass and libsass using `npm build .` or `node scripts/build -f`, script uses `node-gyp` version
installed as part of `npm install` step inside `node_modules` folder. However this version of `node-gyp` is not
compatible with [node-chakracore](https://github.com/nodejs/node-chakracore). It will become partially compatible
with node-chakracore once nodejs/node-gyp#873 is merged.

However in order to fully work with node-chakracore build need to use the `node-gyp` version that is installed
with node-chakracore. This change detects if `npm build` was ran from `Node.js chakracore command prompt` and
if yes, use the `node-gyp` that comes with node-chakracore instead of using from `node_modules`.

xzyfer pushed a commit to sass/node-sass that referenced this pull request

Nov 3, 2016
When building node-sass and libsass using `npm build .` or `node scripts/build -f`, script uses `node-gyp` version
installed as part of `npm install` step inside `node_modules` folder. However this version of `node-gyp` is not
compatible with [node-chakracore](https://github.com/nodejs/node-chakracore). It will become partially compatible
with node-chakracore once nodejs/node-gyp#873 is merged.

However in order to fully work with node-chakracore build need to use the `node-gyp` version that is installed
with node-chakracore. This change detects if `npm build` was ran from `Node.js chakracore command prompt` and
if yes, use the `node-gyp` that comes with node-chakracore instead of using from `node_modules`.

bnoordhuis

bnoordhuis

Microsoft's chakracore engine is dependent on Windows SDK, and build tools
should know the version installed on user machine. This change adds those
dependencies in node-gyp tools. Below is the summary:

* Configure msvs_windows_target_platform_version to use the right
   Windows SDK.
* Configure msvs_use_library_dependency_inputs to export symbols
   correctly (otherwise functions not used by node.exe but might be
   needed by native addon modules could be optimized away by linker).

 These changes were originally made in nodejs/node#4765, but as @shigeki
 mentioned, it was more sensible to send these changes as PR to node-gyp
 repo.
* Support building node.js with chakracore on Windows on ARM
* Building chakracore for ARM has a dependency on Windows SDK installed
   on the machine. Update python script to populate
   `WindowsSDKDesktopARMSupport` and `WindowsTargetPlatformVersion`
    for ARM builds. This will be using in node repo to build`chakracore.gyp`.
Moved definition of `node_engine_include_dir` from
`node-chakracore` to this repo.

bnoordhuis

@kunalspathak

* Fixed CI test failure
* Addressed review feedback

bnoordhuis pushed a commit that referenced this pull request

Feb 15, 2017
Microsoft's chakracore engine is dependent on Windows SDK, and build
tools should know the version installed on user machine. This change
adds those dependencies in node-gyp tools. Below is the summary:

* Configure msvs_windows_target_platform_version to use the right
  Windows SDK.

* Configure msvs_use_library_dependency_inputs to export symbols
  correctly (otherwise functions not used by node.exe but might be
  needed by native addon modules could be optimized away by linker).

These changes were originally made in nodejs/node#4765, but as @shigeki
mentioned, it was more sensible to send these changes as PR to node-gyp
repo.

PR-URL: #873
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

bnoordhuis pushed a commit that referenced this pull request

Feb 15, 2017
* Support building node.js with chakracore on Windows on ARM

* Building chakracore for ARM has a dependency on Windows SDK installed
  on the machine. Update python script to populate
  `WindowsSDKDesktopARMSupport` and `WindowsTargetPlatformVersion` for
  ARM builds. This will be using in node repo to build`chakracore.gyp`.

PR-URL: #873
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

This was referenced

Mar 21, 2017

xzyfer pushed a commit to kunalspathak/node-sass that referenced this pull request

Jun 17, 2017
When building node-sass and libsass using `npm build .` or `node scripts/build -f`, script uses `node-gyp` version
installed as part of `npm install` step inside `node_modules` folder. However this version of `node-gyp` is not
compatible with [node-chakracore](https://github.com/nodejs/node-chakracore). It will become partially compatible
with node-chakracore once nodejs/node-gyp#873 is merged.

However in order to fully work with node-chakracore build need to use the `node-gyp` version that is installed
with node-chakracore. This change detects if `npm build` was ran from `Node.js chakracore command prompt` and
if yes, use the `node-gyp` that comes with node-chakracore instead of using from `node_modules`.

kunalspathak added a commit to kunalspathak/node-sass that referenced this pull request

Jun 27, 2017
When building node-sass and libsass using `npm build .` or `node scripts/build -f`, script uses `node-gyp` version
installed as part of `npm install` step inside `node_modules` folder. However this version of `node-gyp` is not
compatible with [node-chakracore](https://github.com/nodejs/node-chakracore). It will become partially compatible
with node-chakracore once nodejs/node-gyp#873 is merged.

However in order to fully work with node-chakracore build need to use the `node-gyp` version that is installed
with node-chakracore. This change detects if `npm build` was ran from `Node.js chakracore command prompt` and
if yes, use the `node-gyp` that comes with node-chakracore instead of using from `node_modules`.