# -*- python -*-
#
# Copyright (c) 2016 Stefan Seefeld
# All rights reserved.
#
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)

from faber.feature import set
from faber.artefacts.library import library
from faber.tools.compiler import define

root = module('..')

bpl = library('boost_python' + root.py_suffix,
              ['list.cpp',
               'long.cpp',
               'dict.cpp',
               'tuple.cpp',
               'str.cpp',
               'slice.cpp',
               'converter/from_python.cpp',
               'converter/registry.cpp',
               'converter/type_id.cpp',
               'object/enum.cpp',
               'object/class.cpp',
               'object/function.cpp',
               'object/inheritance.cpp',
               'object/life_support.cpp',
               'object/pickle_support.cpp',
               'errors.cpp',
               'module.cpp',
               'converter/builtin_converters.cpp',
               'converter/arg_to_python_base.cpp',
               'object/iterator.cpp',
               'object/stl_iterator.cpp',
               'object_protocol.cpp',
               'object_operators.cpp',
               'wrapper.cpp',
               'import.cpp',
               'exec.cpp',
               'object/function_doc_signature.cpp'],
              dependencies=root.config,
              features=features + define('BOOST_PYTHON_SOURCE'))

bnl = library('boost_numpy' + root.py_suffix,
              ['numpy/dtype.cpp',
               'numpy/matrix.cpp',
               'numpy/ndarray.cpp',
               'numpy/numpy.cpp',
               'numpy/scalars.cpp',
               'numpy/ufunc.cpp',
               bpl],
              dependencies=root.config,
              features=features + define('BOOST_NUMPY_SOURCE'),
              condition=set.define.contains('HAS_NUMPY'))
default = [bpl, bnl]