71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
## -*- python -*-
|
|
## (C) 2007 Gustavo J. A. M. Carneiro
|
|
|
|
import Params
|
|
from Params import fatal
|
|
import os
|
|
import pproc as subprocess
|
|
import shutil
|
|
|
|
def get_version_from_bzr():
|
|
import bzrlib.tag, bzrlib.branch
|
|
branch = bzrlib.branch.Branch.open('file://' + os.getcwd())
|
|
#print [branch.revision_id_to_revno(revid) for revid in branch.revision_history()]
|
|
tags = bzrlib.tag.BasicTags(branch)
|
|
|
|
#def looks_like_version(s):
|
|
# import re
|
|
# return (re.match(r'\d+\.\d+\.\d+', s) is not None)
|
|
#versions = [tag.split('.') for tag in tags.get_tag_dict().iterkeys()
|
|
# if looks_like_version(tag)]
|
|
#versions.sort()
|
|
#return str('.'.join(versions[-1])) # return last version tag
|
|
|
|
current_rev = branch.revision_history()[-1]
|
|
for tag, revid in tags.get_tag_dict().iteritems():
|
|
if revid == current_rev:
|
|
return str(tag)
|
|
return str("bzr-r%i" % (branch.revno(),))
|
|
|
|
|
|
try:
|
|
VERSION = get_version_from_bzr()
|
|
except ImportError:
|
|
VERSION = 'unknown'
|
|
|
|
APPNAME='pybindgen'
|
|
srcdir = '.'
|
|
blddir = 'build'
|
|
|
|
def dist_hook(srcdir, blddir):
|
|
subprocess.Popen([os.path.join(srcdir, "generate-ChangeLog")], shell=True).wait()
|
|
try:
|
|
os.chmod(os.path.join(blddir, "ChangeLog"), 0644)
|
|
except OSError:
|
|
pass
|
|
shutil.copy(os.path.join(srcdir, "ChangeLog"), blddir)
|
|
|
|
|
|
def set_options(opt):
|
|
opt.tool_options('python')
|
|
opt.tool_options('compiler_cxx')
|
|
|
|
|
|
def configure(conf):
|
|
conf.check_tool('misc')
|
|
if not conf.check_tool('compiler_cxx'):
|
|
fatal("Error: no C compiler was found in PATH.")
|
|
if not (conf.check_tool('python')
|
|
and conf.check_python_version((2,4,2))
|
|
and conf.check_python_headers()):
|
|
fatal("Error: missing Python development environment.\n"
|
|
"(Hint: if you do not have a debugging Python library installed"
|
|
" try using the configure option '--debug-level release')")
|
|
|
|
def build(bld):
|
|
if Params.g_commands['check']:
|
|
bld.add_subdirs('tests')
|
|
bld.add_subdirs('examples')
|
|
bld.add_subdirs('pybindgen')
|
|
|