Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

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

Open
wants to merge 1 commit into from

4 participants

@lennart

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

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
Owner

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

@jpalumickas

Any news about this pull request ?

@nikhilm
Owner

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

@lennart

@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
Commits on Oct 13, 2013
  1. @lennart
This page is out of date. Refresh to see the latest.
View
48 binding.gyp
@@ -1,25 +1,43 @@
{
+ 'variables': {
+ 'taglib%': 'internal'
+ },
"targets": [
{
"target_name": "taglib",
"sources": ["src/bufferstream.c", "src/tag.cc", "src/taglib.cc"],
- "libraries": ["<!(taglib-config --libs)"],
+ 'direct_dependent_settings': {
+ "include_dirs": ["deps/zlib"]
+ },
'conditions': [
- ['OS=="mac"', {
- # cflags on OS X are stupid and have to be defined like this
- # copied from libxmljs
- 'xcode_settings': {
- 'OTHER_CFLAGS': [
- '<!@(taglib-config --cflags)'
- ],
- 'OTHER_LDFLAGS': [
- '-dynamiclib'
- ]
- }
- }, {
- 'cflags': [
- '<!@(taglib-config --cflags)'
+ ['taglib != "internal"', {
+ "libraries": [
+ "<!(taglib-config --libs)",
+ "-ltag",
],
+ "conditions": [
+ ['OS=="mac"', {
+ # cflags on OS X are stupid and have to be defined like this
+ # copied from libxmljs
+ 'xcode_settings': {
+ 'OTHER_CFLAGS': [
+ '<!@(taglib-config --cflags)'
+ ],
+ 'OTHER_LDFLAGS': [
+ '-dynamiclib'
+ ]
+ }
+ }, {
+ 'cflags': [
+ '<!@(taglib-config --cflags)'
+ ],
+ }]
+ ]
+ }, {
+ "dependencies": [
+ "deps/zlib.gyp:z",
+ "deps/taglib.gyp:tag"
+ ]
}]
]
}
View
38 deps/config.h
@@ -0,0 +1,38 @@
+/* config.h.
+DO NOT EDIT, PASS IN DEFINES VIA taglig.gyp
+THIS FILE MUST BE PRESENT FOR COMPATIBILITY WITH taglib COMPILATION
+*/
+
+/* Indicates the byte order of your target system */
+/* 1 if little-endian, 2 if big-endian. */
+/* #define SYSTEM_BYTEORDER 1 */
+
+/* Defined if your compiler supports some byte swap functions */
+/* #undef HAVE_GCC_BYTESWAP_16 */
+/* #define HAVE_GCC_BYTESWAP_32 1 */
+/* #define HAVE_GCC_BYTESWAP_64 1 */
+/* #undef HAVE_GLIBC_BYTESWAP */
+/* #undef HAVE_MSC_BYTESWAP */
+/* #define HAVE_MAC_BYTESWAP 1 */
+/* #undef HAVE_OPENBSD_BYTESWAP */
+
+/* Defined if your compiler supports codecvt */
+/* #undef HAVE_STD_CODECVT */
+
+/* Defined if your compiler supports some atomic operations */
+/* #undef HAVE_STD_ATOMIC */
+/* #undef HAVE_BOOST_ATOMIC */
+/* #define HAVE_GCC_ATOMIC 1 */
+/* #undef HAVE_MAC_ATOMIC */
+/* #undef HAVE_WIN_ATOMIC */
+/* #undef HAVE_IA64_ATOMIC */
+
+/* Defined if your compiler supports some safer version of sprintf */
+/* #define HAVE_SNPRINTF 1 */
+/* #undef HAVE_SPRINTF_S */
+
+/* Defined if you have libz */
+/* #define HAVE_ZLIB 1 */
+
+/* Indicates whether debug messages are shown even in release mode */
+/* #undef TRACE_IN_RELEASE */
View
9 deps/extract.py
@@ -0,0 +1,9 @@
+import sys
+import tarfile
+import os
+
+tarball = os.path.abspath(sys.argv[1])
+dirname = os.path.abspath(sys.argv[2])
+tfile = tarfile.open(tarball,'r:gz');
+tfile.extractall(dirname)
+sys.exit(0)
View
BIN  deps/taglib-aa61823432218fb6143a688aae1ed694d21889c9.tar.gz
Binary file not shown
View
440 deps/taglib.gyp
@@ -0,0 +1,440 @@
+{
+ 'variables': {
+ 'taglib_version': 'aa61823432218fb6143a688aae1ed694d21889c9'
+ },
+ 'target_defaults': {
+ 'default_configuration': 'Debug',
+ 'configurations': {
+ # TODO: hoist these out and put them somewhere common, because
+ # RuntimeLibrary MUST MATCH across the entire project
+ 'Debug': {
+ 'defines': [ 'DEBUG', '_DEBUG' ],
+ "msvs_settings": {
+ "VCCLCompilerTool": {
+ "ExceptionHandling": "0",
+ "AdditionalOptions": [
+ "/MP /EHsc"
+ ]
+ },
+ "VCLibrarianTool": {
+ "AdditionalOptions": [
+ "/LTCG"
+ ]
+ },
+ "VCLinkerTool": {
+ "LinkTimeCodeGeneration": 1,
+ "LinkIncremental": 1,
+
+ }
+ }
+ },
+ 'Release': {
+ 'conditions': [
+ # hack to override node's common.gypi defaults and compile with RTTI and EHsc on
+ # Conditions seem to be evaluated later than standard settings, so we add RTTI/EHsc to both architectures
+ ['target_arch=="ia32"', {
+ 'msvs_settings': {
+ "VCCLCompilerTool": {
+ "RuntimeLibrary": 0,
+ "Optimization": 3,
+ "FavorSizeOrSpeed": 1,
+ "InlineFunctionExpansion": 2,
+ "WholeProgramOptimization": "true",
+ "OmitFramePointers": "true",
+ "EnableFunctionLevelLinking": "true",
+ "EnableIntrinsicFunctions": "true",
+ "RuntimeTypeInfo": "false",
+ "ExceptionHandling": "0",
+ "AdditionalOptions": [
+ "/MP /EHsc"
+ ]
+ },
+ "VCLibrarianTool": {
+ "AdditionalOptions": [
+ "/LTCG"
+ ]
+ },
+ "VCLinkerTool": {
+ "LinkTimeCodeGeneration": 1,
+ "OptimizeReferences": 2,
+ "EnableCOMDATFolding": 2,
+ "LinkIncremental": 1,
+ "AdditionalLibraryDirectories": [
+ "../external/thelibrary/lib/release"
+ ]
+ }
+ },
+ }, {
+ 'msvs_settings': {
+ "VCCLCompilerTool": {
+ "RuntimeLibrary": 0,
+ "Optimization": 3,
+ "FavorSizeOrSpeed": 1,
+ "InlineFunctionExpansion": 2,
+ "WholeProgramOptimization": "true",
+ "OmitFramePointers": "true",
+ "EnableFunctionLevelLinking": "true",
+ "EnableIntrinsicFunctions": "true",
+ "RuntimeTypeInfo": "false",
+ "ExceptionHandling": "0",
+ "AdditionalOptions": [
+ "/MP /EHsc"
+ ]
+ },
+ "VCLibrarianTool": {
+ "AdditionalOptions": [
+ "/LTCG"
+ ]
+ },
+ "VCLinkerTool": {
+ "LinkTimeCodeGeneration": 1,
+ "OptimizeReferences": 2,
+ "EnableCOMDATFolding": 2,
+ "LinkIncremental": 1,
+
+ }
+ },
+ }
+ ]],
+ 'defines': [ 'NDEBUG' ],
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'RuntimeLibrary': 0, # static release,
+ },
+ },
+ }
+ },
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'RuntimeTypeInfo': 'true'
+ },
+ 'VCLibrarianTool': {
+ },
+ 'VCLinkerTool': {
+ 'GenerateDebugInformation': 'true',
+ },
+ },
+ },
+
+ 'targets': [
+ {
+ 'target_name': 'tag_before',
+ 'type': 'none',
+ 'hard_dependency': 1,
+ 'actions': [
+ {
+ 'action_name': 'unpack_taglib_dep',
+ 'inputs': [
+ './taglib-<@(taglib_version).tar.gz'
+ ],
+ 'outputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/mpegfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/mpegproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/mpegheader.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/xingheader.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v1/id3v1tag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v1/id3v1genres.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2framefactory.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2synchdata.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2tag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2header.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2frame.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2footer.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2extendedheader.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/attachedpictureframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/commentsframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/ownershipframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/popularimeterframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/privateframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/relativevolumeframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/textidentificationframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/unknownframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/urllinkframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/oggfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/oggpage.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/oggpageheader.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/xiphcomment.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/vorbis/vorbisfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/vorbis/vorbisproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacpicture.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacmetadatablock.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacunknownmetadatablock.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/flac/oggflacfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/opus/opusfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/opus/opusproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpc/mpcfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpc/mpcproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4file.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4atom.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4tag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4item.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4properties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4coverart.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apetag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apefooter.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apeitem.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apefile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apeproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/wavpack/wavpackfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/wavpack/wavpackproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/speex/speexfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/speex/speexproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/trueaudio/trueaudiofile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/trueaudio/trueaudioproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asftag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asffile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asfproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asfattribute.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asfpicture.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/rifffile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/aiff/aifffile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/aiff/aiffproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/wav/wavfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/wav/wavproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/wav/infotag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod/modfilebase.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod/modfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod/modtag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod/modproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/s3m/s3mfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/s3m/s3mproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/it/itfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/it/itproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/xm/xmfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/xm/xmproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tstring.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tstringlist.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tbytevector.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tbytevectorlist.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tbytevectorstream.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tiostream.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tfilestream.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tdebug.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tdebuglistener.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tpropertymap.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tiostream.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/trefcounter.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tstring.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tstringlist.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/unicode.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/tag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/tagunion.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/fileref.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/audioproperties.cpp',
+ ],
+ 'action': ['python','./extract.py','./taglib-<@(taglib_version).tar.gz','<(SHARED_INTERMEDIATE_DIR)']
+ }
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/',
+ ]
+ },
+ },
+ {
+ 'variables': { 'target_arch%': 'ia32' }, # default for node v0.6.x
+ 'target_name': 'tag',
+ 'product_prefix': 'lib',
+ 'type': 'static_library',
+ 'cflags_cc!': ['-fno-rtti'],
+ 'conditions': [
+ ['OS=="mac"', {
+ 'xcode_settings': { 'GCC_ENABLE_CPP_RTTI': 'YES' }
+ }]
+ ],
+ 'export_dependent_settings': [
+ 'tag_before'
+ ],
+ 'dependencies': [
+ 'tag_before'
+ ],
+ 'sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/mpegfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/mpegproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/mpegheader.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/xingheader.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v1/id3v1tag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v1/id3v1genres.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2framefactory.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2synchdata.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2tag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2header.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2frame.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2footer.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/id3v2extendedheader.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/attachedpictureframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/commentsframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/ownershipframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/popularimeterframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/privateframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/relativevolumeframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/textidentificationframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/unknownframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames/urllinkframe.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/oggfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/oggpage.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/oggpageheader.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/xiphcomment.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/vorbis/vorbisfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/vorbis/vorbisproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacpicture.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacmetadatablock.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac/flacunknownmetadatablock.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/flac/oggflacfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/opus/opusfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/opus/opusproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpc/mpcfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpc/mpcproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4file.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4atom.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4tag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4item.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4properties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4/mp4coverart.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apetag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apefooter.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apeitem.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apefile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape/apeproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/wavpack/wavpackfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/wavpack/wavpackproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/speex/speexfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/speex/speexproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/trueaudio/trueaudiofile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/trueaudio/trueaudioproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asftag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asffile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asfproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asfattribute.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf/asfpicture.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/rifffile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/aiff/aifffile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/aiff/aiffproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/wav/wavfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/wav/wavproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/wav/infotag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod/modfilebase.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod/modfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod/modtag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod/modproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/s3m/s3mfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/s3m/s3mproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/it/itfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/it/itproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/xm/xmfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/xm/xmproperties.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tstring.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tstringlist.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tbytevector.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tbytevectorlist.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tbytevectorstream.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tiostream.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tfile.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tfilestream.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tdebug.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tdebuglistener.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tpropertymap.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tiostream.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/trefcounter.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tstring.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/tstringlist.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit/unicode.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/tag.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/tagunion.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/fileref.cpp',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/audioproperties.cpp',
+ ],
+ 'defines': [
+ 'HAVE_CONFIG_H',
+ 'HAVE_ZLIB',
+ 'TAGLIB_WITH_ASF',
+ 'TAGLIB_WITH_MP4',
+ 'SYSTEM_BYTEORDER=1',
+ 'TAGLIB_STATIC'
+ ],
+ 'include_dirs': [
+ '.',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/flac',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpc',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/vorbis',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/speex',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/flac',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/opus',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v1',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/wavpack',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/trueaudio',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/aiff',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/wav',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/s3m',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/it',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/xm',
+ '../zlib'
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '.',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/toolkit',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/asf',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/flac',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/flac',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpc',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mp4',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/vorbis',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/speex',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/flac',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ogg/opus',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v2/frames',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mpeg/id3v1',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/ape',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/wavpack',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/trueaudio',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/aiff',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/riff/wav',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/mod',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/s3m',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/it',
+ '<(SHARED_INTERMEDIATE_DIR)/taglib-<@(taglib_version)/taglib/xm',
+ ],
+ 'conditions': [
+ ['OS=="win"', {
+ 'defines': [
+ "_WIN32",
+ "_WINDOWS"
+ ]
+ }]
+ ],
+ },
+ },
+
+ ]
+}
View
7 deps/taglib_config.h
@@ -0,0 +1,7 @@
+/* taglib_config.h.
+DO NOT EDIT, PASS IN DEFINES VIA taglig.gyp
+THIS FILE MUST BE PRESENT FOR COMPATIBILITY WITH taglib COMPILATION
+*/
+
+/* #define TAGLIB_WITH_ASF 1 */
+/* #define TAGLIB_WITH_MP4 1 */
View
BIN  deps/zlib-50893291621658f355bc5b4d450a8d06a563053d.tar.gz
Binary file not shown
View
202 deps/zlib.gyp
@@ -0,0 +1,202 @@
+{
+ 'variables': {
+ 'zlib_version': '50893291621658f355bc5b4d450a8d06a563053d',
+ },
+ 'target_defaults': {
+ 'default_configuration': 'Debug',
+ 'configurations': {
+ # TODO: hoist these out and put them somewhere common, because
+ # RuntimeLibrary MUST MATCH across the entire project
+ 'Debug': {
+ 'defines': [ 'DEBUG', '_DEBUG' ],
+ "msvs_settings": {
+ "VCCLCompilerTool": {
+ "ExceptionHandling": "0",
+ "AdditionalOptions": [
+ "/MP /EHsc"
+ ]
+ },
+ "VCLibrarianTool": {
+ "AdditionalOptions": [
+ "/LTCG"
+ ]
+ },
+ "VCLinkerTool": {
+ "LinkTimeCodeGeneration": 1,
+ "LinkIncremental": 1,
+
+ }
+ }
+ },
+ 'Release': {
+ 'conditions': [
+ # hack to override node's common.gypi defaults and compile with RTTI and EHsc on
+ # Conditions seem to be evaluated later than standard settings, so we add RTTI/EHsc to both architectures
+ ['target_arch=="ia32"', {
+ 'msvs_settings': {
+ "VCCLCompilerTool": {
+ "RuntimeLibrary": 0,
+ "Optimization": 3,
+ "FavorSizeOrSpeed": 1,
+ "InlineFunctionExpansion": 2,
+ "WholeProgramOptimization": "true",
+ "OmitFramePointers": "true",
+ "EnableFunctionLevelLinking": "true",
+ "EnableIntrinsicFunctions": "true",
+ "RuntimeTypeInfo": "false",
+ "ExceptionHandling": "0",
+ "AdditionalOptions": [
+ "/MP /EHsc"
+ ]
+ },
+ "VCLibrarianTool": {
+ "AdditionalOptions": [
+ "/LTCG"
+ ]
+ },
+ "VCLinkerTool": {
+ "LinkTimeCodeGeneration": 1,
+ "OptimizeReferences": 2,
+ "EnableCOMDATFolding": 2,
+ "LinkIncremental": 1,
+
+ }
+ },
+ }, {
+ 'msvs_settings': {
+ "VCCLCompilerTool": {
+ "RuntimeLibrary": 0,
+ "Optimization": 3,
+ "FavorSizeOrSpeed": 1,
+ "InlineFunctionExpansion": 2,
+ "WholeProgramOptimization": "true",
+ "OmitFramePointers": "true",
+ "EnableFunctionLevelLinking": "true",
+ "EnableIntrinsicFunctions": "true",
+ "RuntimeTypeInfo": "false",
+ "ExceptionHandling": "0",
+ "AdditionalOptions": [
+ "/MP /EHsc"
+ ]
+ },
+ "VCLibrarianTool": {
+ "AdditionalOptions": [
+ "/LTCG"
+ ]
+ },
+ "VCLinkerTool": {
+ "LinkTimeCodeGeneration": 1,
+ "OptimizeReferences": 2,
+ "EnableCOMDATFolding": 2,
+ "LinkIncremental": 1,
+ }
+ },
+ },
+
+ ]],
+ 'defines': [ 'NDEBUG' ],
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'RuntimeLibrary': 0, # static release,
+ },
+ },
+ }
+ },
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'RuntimeTypeInfo': 'true'
+ },
+ 'VCLibrarianTool': {
+ },
+ 'VCLinkerTool': {
+ 'GenerateDebugInformation': 'true',
+ },
+ },
+ },
+ 'targets': [
+ {
+ 'target_name': 'z_before',
+ 'type': 'none',
+ 'hard_dependency': 1,
+ 'actions': [
+ {
+ 'action_name': 'unpack_zlib_dep',
+ 'inputs': [
+ './zlib-<@(zlib_version).tar.gz'
+ ],
+ 'outputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/adler32.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/crc32.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/deflate.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/infback.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/inffast.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/inflate.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/inftrees.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/trees.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/zutil.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/compress.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/uncompr.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/gzclose.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/gzlib.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/gzread.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/gzwrite.c',
+ ],
+ 'action': ['python','./extract.py','./zlib-<@(zlib_version).tar.gz','<(SHARED_INTERMEDIATE_DIR)']
+ }
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/',
+ ]
+ },
+ },
+ {
+ 'variables': { 'target_arch%': 'ia32' }, # default for node v0.6.x
+ 'target_name': 'z',
+ 'product_prefix': 'lib',
+ 'type': 'static_library',
+ 'sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/adler32.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/crc32.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/deflate.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/infback.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/inffast.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/inflate.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/inftrees.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/trees.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/zutil.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/compress.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/uncompr.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/gzclose.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/gzlib.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/gzread.c',
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)/gzwrite.c',
+ ],
+ 'export_dependent_settings': [
+ 'z_before'
+ ],
+ 'dependencies': [
+ 'z_before'
+ ],
+ 'defines': [
+ ],
+ 'include_dirs': [
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(SHARED_INTERMEDIATE_DIR)/zlib-<@(zlib_version)',
+ ],
+ 'conditions': [
+ ['OS=="win"', {
+ 'defines': [
+ "_WIN32",
+ "_WINDOWS"
+ ]
+ }]
+ ],
+ },
+ },
+
+ ]
+}
Something went wrong with that request. Please try again.