You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.3 KiB
Python
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')
|
|
|