/
setup.py
36 lines (29 loc) · 1.2 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import commands
from setuptools import setup, find_packages
from setuptools.extension import Extension
from Cython.Distutils import build_ext
# The function bellow was based in the following recipe:
# http://code.activestate.com/recipes/502261-python-distutils-pkg-config/
def pkgconfig(*pakages, **kw):
flag_map = {'-I': 'include_dirs', '-L': 'library_dirs', '-l': 'libraries'}
pkg_names = ' '.join(pakages)
output = commands.getoutput("pkg-config --libs --cflags %s" % pkg_names)
for token in output.split():
kw.setdefault(flag_map.get(token[:2]), []).append(token[2:])
return kw
try:
lipipopt_cfg = pkgconfig('ipopt')
except:
lipipopt_cfg = {}
wrapper_ext = Extension("ipopt.wrapper", ["ipopt/wrapper.pyx"], **lipipopt_cfg)
setup(name="ipopt",
version='0.1',
description='Python bindings for IPOPT nonlinear optimization solver.',
author='Dimas Abreu Dutra',
author_email='dimasadutra@gmail.com',
url='http://github.com/dimasad/python-ipopt',
test_suite='nose.collector',
tests_require=['nose>=1.0'],
install_requires='distribute',
packages=find_packages(),
cmdclass={"build_ext": build_ext}, ext_modules=[wrapper_ext])