waf/demos/python/wscript

53 lines
1.3 KiB
Python

#! /usr/bin/env python
# encoding: utf-8
# Gustavo Carneiro, 2007
import sys
VERSION='0.0.1'
APPNAME='python_test'
top = '.'
out = 'build'
def options(opt):
opt.load('python') # options for disabling pyc or pyo compilation
opt.load('compiler_c')
def configure(conf):
conf.load('compiler_c')
conf.load('python')
conf.check_python_version((2,4,2))
conf.check_python_headers()
conf.check_python_module('os')
conf.check_python_module('re', condition="ver > num(2,0,4) and ver <= num(2,3,0)")
try:
conf.check_python_module('pygccxml')
except conf.errors.ConfigurationError:
print('could not find pygccxml (ignored)')
def build(bld):
# first compile a few pyc and pyo files (set install_path=None to disable the installation,
# by default install_path is set to ${PYTHONDIR})
bld(features='py', source=bld.path.ant_glob('*.py'), install_from='.')
# example for generated python files
target = bld.path.find_or_declare('abc.py')
bld(rule='touch ${TGT}', source='wscript', target=target)
bld(features='py', source=[target], install_from=target.parent)
# then a c extension module
bld(
features = 'c cshlib pyext',
source = 'spammodule.c',
target = 'spam')
# then a c program
bld(
features = 'c cprogram pyembed',
source = 'test.c',
target = 'test')