Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Modify node_addon configure api

  • Loading branch information...
commit 7b8842b619a6b7eb235c2073d295571075f9fe5c 1 parent 5c9fe1f
@ry ry authored
Showing with 12 additions and 9 deletions.
  1. +0 −1  doc/api.txt
  2. +12 −8 tools/wafadmin/Tools/node_addon.py
View
1  doc/api.txt
@@ -1324,7 +1324,6 @@ def set_options(opt):
def configure(conf):
conf.check_tool('compiler_cxx')
conf.check_tool('node_addon')
- conf.check_node_headers()
def build(bld):
obj = bld.new_task_gen('cxx', 'shlib', 'node_addon')
View
20 tools/wafadmin/Tools/node_addon.py
@@ -1,14 +1,14 @@
import os
import TaskGen, Utils, Utils, Runner, Options, Build
from TaskGen import extension, taskgen, before, after, feature
-from Configure import conf
+from Configure import conf, conftest
@taskgen
@before('apply_incpaths', 'apply_lib_vars', 'apply_type_vars')
@feature('node_addon')
@before('apply_bundle')
def init_node_addon(self):
- self.default_install_path = '${PREFIX}/lib/node/libraries'
+ self.default_install_path = '${PREFIX_NODE}/lib/node/libraries'
self.uselib = self.to_list(getattr(self, 'uselib', ''))
if not 'NODE' in self.uselib: self.uselib.append('NODE')
self.env['MACBUNDLE'] = True
@@ -20,15 +20,19 @@ def init_node_addon(self):
def node_addon_shlib_ext(self):
self.env['shlib_PATTERN'] = "%s.node"
-@conf
-def check_node_headers(conf):
+def detect(conf):
join = os.path.join
- wafadmin = join(os.path.dirname(__file__), '..')
- libnode = join(wafadmin, '..')
- lib = join(libnode, '..')
- prefix = join(lib, '..')
+ abspath = os.path.abspath
+ wafadmin = abspath(join(os.path.dirname(__file__), '..'))
+ libnode = abspath(join(wafadmin, '..'))
+ lib = abspath(join(libnode, '..'))
+ prefix = abspath(join(lib, '..'))
+
+ conf.env['PREFIX_NODE'] = prefix
conf.env['LIBPATH_NODE'] = lib
conf.env['CPPPATH_NODE'] = join(prefix, 'include/node')
conf.env['CPPFLAGS_NODE'] = '-D_GNU_SOURCE'
conf.env['CPPFLAGS_NODE'] = '-DEV_MULTIPLICITY=0'
+ found = os.path.exists(join(prefix, "bin/node"))
+ conf.check_message('node prefix', '', found, prefix)
Please sign in to comment.
Something went wrong with that request. Please try again.