forked from jdunck/node_postgres
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwscript
37 lines (30 loc) · 1.08 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
import Options
from os import unlink, symlink, popen
from os.path import exists
srcdir = '.'
blddir = 'build'
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')
pg_config = conf.find_program('pg_config', var='PG_CONFIG', mandatory=True)
pg_libdir = popen("%s --libdir" % pg_config).readline().strip()
conf.env.append_value("LIBPATH_PG", pg_libdir)
conf.env.append_value("LIB_PG", "pq")
pg_includedir = popen("%s --includedir" % pg_config).readline().strip()
conf.env.append_value("CPPPATH_PG", pg_includedir)
def build(bld):
obj = bld.new_task_gen('cxx', 'shlib', 'node_addon')
obj.target = 'binding'
obj.source = "binding.cc"
obj.uselib = "PG"
def shutdown():
# HACK to get binding.node out of build directory.
# better way to do this?
if Options.commands['clean']:
if exists('binding.node'): unlink('binding.node')
else:
if exists('build/default/binding.node') and not exists('binding.node'):
symlink('build/default/binding.node', 'binding.node')