Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for building io.js as a static library #1341

Closed
wants to merge 2 commits into from

Conversation

hoho
Copy link
Contributor

@hoho hoho commented Apr 4, 2015

One static library could not be bundled into another, that's why
it's necessary to skip -force_load and --whole-archive linker
options to build io.js itself as a static library.

node_target_type variable has been added to node.gyp, along
with --target-static option in configure script.

#686 for more information.

One static library could not be bundled into another, that's why
it's necessary to skip `-force_load` and `--whole-archive` linker
options to build io.js itself as a static library.

`node_target_type` variable has been added to node.gyp, along
with `--target-static` option in configure script.

nodejs#686
@Fishrock123
Copy link
Contributor

cc @bnoordhuis

@Fishrock123 Fishrock123 added the c++ Issues and PRs that require attention from people who are familiar with C++. label Apr 4, 2015
@hoho
Copy link
Contributor Author

hoho commented Apr 4, 2015

I've pull requested a piece of my fixes.

If everything goes well, I'd like to extend the testing subsystem with an ability to run all the tests for some binary linked with io.js from a static library (this would also be a documentation of how to link).

I also have an issue about _third_party_main.js. And there are many things to be done about nice librarisation and extensibility.

@mscdex mscdex added build Issues and PRs related to build files or the CI. and removed c++ Issues and PRs that require attention from people who are familiar with C++. labels Apr 4, 2015
@bnoordhuis
Copy link
Member

LGTM but can I suggest you rename the configure switch to --enable-static? That's what people that are used to autotools would expect it to be called.

@hoho
Copy link
Contributor Author

hoho commented Apr 4, 2015

Sure, I was just thinking that --enable-static isn't fully semantically right. But I'll change it if it's a traditional way to do things like that.

@jbergstroem
Copy link
Member

LGTM. Tested on smartos/freebsd this weekend.

bnoordhuis pushed a commit that referenced this pull request Apr 11, 2015
One static library could not be bundled into another, that's why
it's necessary to skip `-force_load` and `--whole-archive` linker
options to build io.js itself as a static library.

`node_target_type` variable has been added to node.gyp, along
with `--enable-static` option in configure script.

Fixes: #686
PR-URL: #1341
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
@bnoordhuis
Copy link
Member

Landed in cd38a4a, thanks. For posterity, I had to fix a merge conflict and undid some of the stylistic changes while I was there.

@bnoordhuis bnoordhuis closed this Apr 11, 2015
@zcbenz
Copy link
Contributor

zcbenz commented Apr 12, 2015

Awesome!

chrisdickinson added a commit that referenced this pull request Apr 17, 2015
Notable Changes:

* build: Support for building io.js as a static library (Marat Abdullin) #1341
* deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389
* npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448
* src: allow multiple arguments to be passed to process.nextTick (Trevor Norris) #1077
* module: interaction of require('.') with NODE_PATH has been restored and deprecated.
  This functionality will be removed at a later point. (Roman Reiss) #1363
chrisdickinson added a commit that referenced this pull request Apr 17, 2015
Notable Changes:

* build: Support for building io.js as a static
  library (Marat Abdullin) #1341
* deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389
* npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448
* src: allow multiple arguments to be passed to
  process.nextTick (Trevor Norris) #1077
* module: the interaction of require('.') with NODE_PATH has been
  restored and deprecated. This functionality will be removed at
  a later point. (Roman Reiss) #1363
chrisdickinson added a commit that referenced this pull request Apr 20, 2015
Notable Changes:

* build: revert vcbuild.bat changes
* changes inherited from v1.8.0:
  * build: Support for building io.js as a static
    library (Marat Abdullin) #1341
  * npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448
  * deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389
  * src: allow multiple arguments to be passed to
    process.nextTick (Trevor Norris) #1077
  * module: the interaction of require('.') with NODE_PATH has been
    restored and deprecated. This functionality will be removed at
    a later point. (Roman Reiss) #1363
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants