diff options
Diffstat (limited to 'python/build/boost.py')
-rw-r--r-- | python/build/boost.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/python/build/boost.py b/python/build/boost.py new file mode 100644 index 000000000..0a68d7c2a --- /dev/null +++ b/python/build/boost.py @@ -0,0 +1,31 @@ +import os, shutil +import re + +from build.project import Project + +class BoostProject(Project): + def __init__(self, url, md5, installed, + **kwargs): + m = re.match(r'.*/boost_(\d+)_(\d+)_(\d+)\.tar\.bz2$', url) + version = "%s.%s.%s" % (m.group(1), m.group(2), m.group(3)) + Project.__init__(self, url, md5, installed, + name='boost', version=version, + **kwargs) + + def build(self, toolchain): + src = self.unpack(toolchain) + + # install the headers manually; don't build any library + # (because right now, we only use header-only libraries) + includedir = os.path.join(toolchain.install_prefix, 'include') + for dirpath, dirnames, filenames in os.walk(os.path.join(src, 'boost')): + relpath = dirpath[len(src)+1:] + destdir = os.path.join(includedir, relpath) + try: + os.mkdir(destdir) + except: + pass + for name in filenames: + if name[-4:] == '.hpp': + shutil.copyfile(os.path.join(dirpath, name), + os.path.join(destdir, name)) |