38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
import os
|
|
import Options
|
|
from os.path import exists
|
|
from shutil import copy2 as copy
|
|
|
|
TARGET = 'zlib_bindings'
|
|
TARGET_FILE = '%s.node' % TARGET
|
|
built = 'build/default/%s' % TARGET_FILE
|
|
dest = 'lib/%s' % TARGET_FILE
|
|
|
|
def set_options(opt):
|
|
opt.tool_options("compiler_cxx")
|
|
|
|
def configure(conf):
|
|
conf.check_tool("compiler_cxx")
|
|
conf.check_tool("node_addon")
|
|
if not conf.check(lib="z", libpath=['/usr/local/lib'], uselib_store="ZLIB"):
|
|
conf.fatal('Missing zlib');
|
|
|
|
linkflags = []
|
|
if os.environ.has_key('LINKFLAGS'):
|
|
linkflags.extend(os.environ['LINKFLAGS'].split(' '))
|
|
conf.env.append_value("LINKFLAGS", linkflags)
|
|
|
|
def build(bld):
|
|
obj = bld.new_task_gen("cxx", "shlib", "node_addon")
|
|
obj.cxxflags = ["-g", "-D_FILE_OFFSET_BITS=64", "-D_LARGEFILE_SOURCE", "-Wall"]
|
|
obj.target = TARGET
|
|
obj.source = "src/node-zlib.cc"
|
|
obj.uselib = "ZLIB"
|
|
|
|
def shutdown():
|
|
if Options.commands['clean']:
|
|
if exists(TARGET_FILE):
|
|
unlink(TARGET_FILE)
|
|
else:
|
|
if exists(built):
|
|
copy(built, dest) |