-
Notifications
You must be signed in to change notification settings - Fork 0
/
wscript
39 lines (30 loc) · 1.16 KB
/
wscript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import os
from os.path import exists, abspath
srcdir = os.path.abspath('.')
blddir = 'build'
target = 'spread'
VERSION = '0.0.1'
def set_options(opt):
opt.tool_options('compiler_cxx')
def configure(conf):
conf.check_tool('compiler_cxx')
conf.check_tool('node_addon')
conf.check_cxx(lib='spread', mandatory=True, uselib_store='spread')
conf.env.append_value("LIBPATH_SPREAD", abspath("/opt/soft/spread/lib"))
conf.env.append_value("LIB_SPREAD", "spread")
def build(context, target=target):
obj = context.new_task_gen('cxx', 'shlib', 'node_addon')
obj.cxxflags = ["-g", "-D_FILE_OFFSET_BITS=64", "-D_LARGEFILE_SOURCE", "-Wall"]
obj.uselib = 'SPREAD'
obj.source = 'src/binding.cc'
obj.target = target
context.add_post_fun(move_addon)
def move_addon(context, target=target):
"""Move the compiled addon to the local lib directory. Previously compiled
versions of the addon are overwritten.
"""
filename = '%s.node' % target
from_path = os.path.join(srcdir, blddir, 'default', filename)
to_path = os.path.join(srcdir, 'lib', filename)
if os.path.exists(from_path):
os.rename(from_path, to_path)