1# -*- python -*- 2# 3# Copyright (c) 2016 Stefan Seefeld 4# All rights reserved. 5# 6# Distributed under the Boost Software License, Version 1.0. 7# (See accompanying file LICENSE_1_0.txt or copy at 8# http://www.boost.org/LICENSE_1_0.txt) 9 10from faber.feature import set 11from faber.artefacts.library import library 12from faber.tools.compiler import define 13 14root = module('..') 15 16bpl = library('boost_python' + root.py_suffix, 17 ['list.cpp', 18 'long.cpp', 19 'dict.cpp', 20 'tuple.cpp', 21 'str.cpp', 22 'slice.cpp', 23 'converter/from_python.cpp', 24 'converter/registry.cpp', 25 'converter/type_id.cpp', 26 'object/enum.cpp', 27 'object/class.cpp', 28 'object/function.cpp', 29 'object/inheritance.cpp', 30 'object/life_support.cpp', 31 'object/pickle_support.cpp', 32 'errors.cpp', 33 'module.cpp', 34 'converter/builtin_converters.cpp', 35 'converter/arg_to_python_base.cpp', 36 'object/iterator.cpp', 37 'object/stl_iterator.cpp', 38 'object_protocol.cpp', 39 'object_operators.cpp', 40 'wrapper.cpp', 41 'import.cpp', 42 'exec.cpp', 43 'object/function_doc_signature.cpp'], 44 dependencies=root.config, 45 features=features + define('BOOST_PYTHON_SOURCE')) 46 47bnl = library('boost_numpy' + root.py_suffix, 48 ['numpy/dtype.cpp', 49 'numpy/matrix.cpp', 50 'numpy/ndarray.cpp', 51 'numpy/numpy.cpp', 52 'numpy/scalars.cpp', 53 'numpy/ufunc.cpp', 54 bpl], 55 dependencies=root.config, 56 features=features + define('BOOST_NUMPY_SOURCE'), 57 condition=set.define.contains('HAS_NUMPY')) 58default = [bpl, bnl] 59