Permalink
Browse files

Add binding.gyp to be used with node-gyp and node v0.10.x

  • Loading branch information...
1 parent a051cf9 commit d6ef525a4533c93f9e8c554f42dab1530a6995ea Dane Springmeyer committed Apr 6, 2013
Showing with 71 additions and 0 deletions.
  1. +71 −0 binding.gyp
View
@@ -0,0 +1,71 @@
+{
+ 'target_defaults': {
+ 'default_configuration': 'Release',
+ 'configurations': {
+ 'Debug': {
+ 'cflags_cc!': ['-O3', '-DNDEBUG'],
+ 'xcode_settings': {
+ 'OTHER_CPLUSPLUSFLAGS!':['-O3', '-DNDEBUG']
+ }
+ },
+ 'Release': {
+ # nothing needed, use defaults
+ }
+ },
+ 'include_dirs': [
+ './src'
+ ],
+ 'conditions': [
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or OS=="mac"', {
+ 'cflags_cc!': ['-fno-rtti', '-fno-exceptions'],
+ 'cflags_cc' : ['<!@(mapnik-config --cflags)'],
+ 'libraries':[
+ '<!@(mapnik-config --libs)', # will bring in -lmapnik and the -L to point to it
+ ]
+ }],
+ ['OS=="linux"', {
+ 'libraries':[
+ '-licuuc',
+ '-lboost_regex',
+ # if the above are not enough, link all libs
+ # mapnik uses by uncommenting the next line
+ #'<!@(mapnik-config --ldflags --dep-libs)'
+ ]
+ }],
+ ]
+ },
+ 'targets': [
+ {
+ 'target_name': '_mapnik',
+ 'sources': ["src/node_mapnik.cpp",
+ "src/mapnik_map.cpp",
+ "src/mapnik_color.cpp",
+ "src/mapnik_geometry.cpp",
+ "src/mapnik_feature.cpp",
+ "src/mapnik_image.cpp",
+ "src/mapnik_image_view.cpp",
+ "src/mapnik_grid.cpp",
+ "src/mapnik_grid_view.cpp",
+ "src/mapnik_js_datasource.cpp",
+ "src/mapnik_memory_datasource.cpp",
+ "src/mapnik_palette.cpp",
+ "src/mapnik_projection.cpp",
+ "src/mapnik_proj_transform.cpp",
+ "src/mapnik_layer.cpp",
+ "src/mapnik_datasource.cpp",
+ "src/mapnik_featureset.cpp",
+ "src/mapnik_expression.cpp",
+ "src/mapnik_query.cpp"
+ ],
+ # this has to be per target to correctly
+ # override node-gyp defaults
+ 'xcode_settings': {
+ 'OTHER_CPLUSPLUSFLAGS':[
+ '<!@(mapnik-config --cflags)'
+ ],
+ 'GCC_ENABLE_CPP_RTTI': 'YES',
+ 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES'
+ }
+ }
+ ]
+}

0 comments on commit d6ef525

Please sign in to comment.