## $Id$
##
## This file is part of CDS Invenio.
## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN.
##
## CDS Invenio is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of the
## License, or (at your option) any later version.
##
## CDS Invenio is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with CDS Invenio; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

__revision__ = "$Id$"

from distutils.core import setup
from distutils.extension import Extension
from Pyrex.Distutils import build_ext
#from Cython.Distutils import build_ext

setup(
    name = 'intbitset',
    version = '$Revision$',
    description = """
    Defines an intbitset data object to hold unordered sets of
    unsigned integers with ultra fast set operations, implemented via
    bit vectors and Python C extension to optimize speed and memory
    usage.

    Emulates the Python built-in set class interface with some
    additional specific methods such as its own fast dump and load
    marshalling functions.  Uses real bits to optimize memory usage,
    so may have issues with endianness if you transport serialized
    bitsets between various machine architectures.
    """,
    author = 'CDS Invenio developers (Samuele Kaplun; last updated by $Author$)',
    author_email = 'project-cdsware-developers@cern.ch',
    url = 'http://invenio.cern.ch/',
    ext_modules=[
        Extension("invenio.intbitset", ["intbitset.pyx", "intbitset_impl.c"], extra_compile_args=['-O3']),
    ],
    cmdclass = {'build_ext': build_ext},
)

## $Id$
##
## This file is part of CDS Invenio.
## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN.
##
## CDS Invenio is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of the
## License, or (at your option) any later version.
##
## CDS Invenio is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with CDS Invenio; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

__revision__ = "$Id$"

from distutils.core import setup
from distutils.extension import Extension
try:
    from Cython.Distutils import build_ext
except ImportError:
    try
        from Pyrex.Distutils import build_ext
    except ImportError:
        raise ImportError, "Either Pyrex "
            "(http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/) "
            "or Cython (http://www.cython.org/) must be installed in order "
            "to compile the intbitset extension."

setup(
    name = 'intbitset',
    version = '$Revision$',
    description = """
    Defines an intbitset data object to hold unordered sets of
    unsigned integers with ultra fast set operations, implemented via
    bit vectors and Python C extension to optimize speed and memory
    usage.

    Emulates the Python built-in set class interface with some
    additional specific methods such as its own fast dump and load
    marshalling functions.  Uses real bits to optimize memory usage,
    so may have issues with endianness if you transport serialized
    bitsets between various machine architectures.
    """,
    author = 'CDS Invenio developers (Samuele Kaplun; last updated by $Author$)',
    author_email = 'project-cdsware-developers@cern.ch',
    url = 'http://invenio.cern.ch/',
    ext_modules=[
        Extension("invenio.intbitset", ["intbitset.pyx", "intbitset_impl.c"], extra_compile_args=['-O3']),
    ],
    cmdclass = {'build_ext': build_ext},
)

Support both Cython and Pyrex.