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

Bundle libexpat, build it with gyp, and statically link it to node-expat #48

Merged
merged 12 commits into from
Oct 8, 2012

Conversation

TooTallNate
Copy link
Contributor

Hey @astro!

So I got sweet one for ya :) I've updated the build system once again to bundle libexpat and use gyp to build it and link it to node-expat. This have several advantages, but predominantly it will be a lot easier for Windows users to install, and for Unix users as well since they won't have to install expat themselves. This also follows how node core does it and is how we are wanting modules to migrate to slowly.

All tests are passing on all platforms I tested (even ARM!). Cheers!

@c4milo
Copy link
Contributor

c4milo commented Sep 30, 2012

Sweet

@aaron-comyn
Copy link

Great stuff - I can confirm it builds on windows over here :)

A little heads up: the .sln files (binding.sln and libexpat.sln), that are generated during building seem to be tripping up the automatic deployments to node.js on Azure ("unable to determine which solution file to build").

I'm not sure how behavior will be once this gets into the main branch, as their system seems to read only from the main NPM repository, but it might be an issue on that platform.

I tried to adapt the gyp files to delete them, but my gyp-fu is weak and I can't figure out how to run a cleanup action... Looking forward to seeing this hit the main branch.

@astro
Copy link
Collaborator

astro commented Oct 2, 2012

Will I have to do a node-expat release everytime there's a new libexpat version? Why not use the OS' package management?

@TooTallNate
Copy link
Contributor Author

Will I have to do a node-expat release everytime there's a new libexpat version?

How often does that happen? I bet node-expat releases are more frequent than libexpat anways ;)

Why not use the OS' package management?

It's not as portable (what if they don't have the right version installed?), and doesn't work on Windows. I urge you to read: http://n8.io/converting-a-c-library-to-gyp/, but in this case I already did the dirty work for you.

@c4milo
Copy link
Contributor

c4milo commented Oct 2, 2012

LOL, libexpat hasn't had new releases since 5 June 2007. I wouldn't mind doing this for node-expat, but for packages that change pretty often it's kind of annoying to be updating them every time.

Camilo Aguilar
Software Engineer

On Tuesday, October 2, 2012 at 5:18 PM, Nathan Rajlich wrote:

Will I have to do a node-expat release everytime there's a new libexpat version?

Now often does that happen? I bet node-expat releases are more frequent than libexpat anways ;)

Why not use the OS' package management?

It's not as portable (what if they don't have the right version installed?), and doesn't work on Windows. I urge you to read: http://n8.io/converting-a-c-library-to-gyp/, but in this case I already did the dirty work for you.


Reply to this email directly or view it on GitHub (#48 (comment)).

@hochang
Copy link

hochang commented Oct 8, 2012

Don't have time to do complete test, but at least node-expat can compile for no problem. I'll close the issue for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants