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

[add] node-gyp compatible taglib/zlib build #46

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lennart
Copy link
Contributor

@lennart lennart commented Oct 13, 2013

Hi Nikhil,

I finally got node-gyp to build taglib and zlib out-of-the-box. You can still use

node-gyp configure --taglib=foo

to have it use your systemwide version of taglib. (foo is currently unused, it is available as the taglib variable in gyp, so one could also use it as a prefix for your taglib installation)

I tried to keep the additionaly overhead as minimal as possible, so I just copied parts from node-sqlite3, which uses a python script to untar the taglib/zlib sources before compilation.

We can keep track of upstream by replacing the tar.gzs and updating the version variable in .gyp files accordingly.

taglib itself uses a config.h and taglib_config.h generated by cmake. I added dummy files to make compilation work and added default settings as direct defines in the taglib.gyp. One could think about adding compiler specifica (like the _BYTESWAP defines, or SNPRINTF) via gyp, but I didn't have the time.

One thing to note is the rtti flag. I had to manually override node-gyp's defaults adding a -fno-rtti to the compilation which broke taglib being built statically as it uses dynamic_cast a lot.

I ran the supplied tests on OS X 10.8 and linux against node 0.10.20 and they work fine, though our test-suite isn't very exhaustive.

With this I can now focus on getting the windows build done, as it currently still fails without heavy modification of the source. More on that in the corresponding Issue

Hope you like it and it serves a purpose!

Best regards,

Lennart

@DullReferenceException
Copy link

My goodness, this PR is 10 months old! I'm keen on using this, and we have a mixed operating system shop. Was this effort abandoned, or is it obsolete?

@nikhilm
Copy link
Owner

nikhilm commented Aug 19, 2014

Ugh. I'll take a look at this soon. I've been on a long vacation.

@jpalumickas
Copy link

Any news about this pull request ?

@nikhilm
Copy link
Owner

nikhilm commented Oct 8, 2014

@lennart Any chance you could update this? Apologies for getting back to this after an year.

@lennart
Copy link
Contributor Author

lennart commented Oct 10, 2014

@nikhilm I have to re-brush up my knowledge about gyp, it's been some time since I used this binding myself, as I abandonend the whole project using node-taglib.

I can take a look at the current state of master and try to figure out what needs to be changed in order to make this PR apply cleanly.

This could take me some time, sorry @jpalumickas & @DullReferenceException

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

Successfully merging this pull request may close these issues.

4 participants