view nodejs/wscript @ 683:7685c57e29d0

Migrate JS shapes binding to gen_v8_binding.m4
author Thinker K.F. Li <thinker@branda.to>
date Sat, 07 Aug 2010 18:27:53 +0800
parents 7db0b76c9480
children da12923a789a
line wrap: on
line source

srcdir = '.'
blddir = 'build'
VERSION = '0.0.1'

def set_options(opt):
    opt.tool_options('compiler_cxx')
    opt.tool_options('compiler_cc')
    pass

def configure(conf):
    import Options
    import os
    
    conf.check_tool('compiler_cxx')
    conf.check_tool('compiler_cc')
    conf.check_tool('node_addon')
    conf.env.SRCDIR = Options.options.srcdir
    conf.env.TOP_BUILDDIR = os.environ['TOP_BUILDDIR']
    pass

def build(conf):
    import Utils
    
    conf(rule='m4 -I ${SRCDIR}/../tools gen_v8_binding.m4 ${SRC} > ${TGT}',
         source='observer.m4', target='observer-inc.h',
         name='observer-inc', shell=True, always=True, before=['cxx'])
    conf(rule='m4 -I ${SRCDIR}/../tools gen_v8_binding.m4 ${SRC} > ${TGT}',
         source='coord.m4', target='coord-inc.h',
         name='coord-inc', shell=True, always=True, before=['cxx'])
    conf(rule='m4 -I ${SRCDIR}/../tools gen_v8_binding.m4 ${SRC} > ${TGT}',
         source='mbfly_njs.m4', target='mbfly_njs-inc.h',
         name='mbfly_njs-inc', shell=True, always=True, before=['cxx'])
    conf(rule='m4 -I ${SRCDIR}/../tools gen_v8_binding.m4 ${SRC} > ${TGT}',
         source='shapes.m4', target='shapes-inc.h',
         name='shapes-inc', shell=True, always=True, before=['cxx'])

    obj = conf.new_task_gen('cxx', 'shlib', 'node_addon')
    obj.target = 'mbfly'
    obj.source = 'paints.cc font.cc image_ldr.cc'
    obj.add_objects = 'X_supp_njs.o observer.o coord.o mbfly_njs.o shapes.o'
    obj.staticlib = 'mbfly'

    for src in 'observer.cc coord.cc mbfly_njs.cc shapes.cc'.split():
        obj = conf.new_task_gen('cxx', 'shlib', 'node_addon')
        obj.target = src[:-3] + '.o'
        obj.source = src
        obj.includes = '.'
        pass
    
    obj = conf.new_task_gen('cc', 'shlib', 'node_addon')
    obj.target = 'X_supp_njs.o'
    obj.source = 'X_supp_njs.c'
    pass