#! /usr/bin/env python2
#
# author: Achim Gaedke
# created: May 2001
# file: pygsl/setup.py
# $Id: setup.py,v 1.47 2005/06/08 12:36:02 schnizer Exp $
#
# setup script for building and installing pygsl
# Use SWIG to generate the approbriate wrapper files. This is only necessary
# if you modified any interface file as the wrapper files are included in the
# distribution
USE_SWIG = 1
# Some modules have been reimplemented. These modules will be installed in
# pygsl.testing...
# Set to one if you want them built
BUILD_TESTING = 0
#
# If you want to use the PyGSL API in other projects ...
# Well, I do
#
INSTALL_HEADERS = 0
#------------------------------------------------------------------------------
# As long as you are not taking part in the development process, I hope that
# you do not need to modify anything here.
import sys
import time
import string
import glob
import distutils
from distutils.core import setup, Extension
from gsl_Extension import gsl_Extension
from swig_extension import SWIG_Extension as _SWIG_Extension
from swig_extension import SWIG_Extension_Nop as _SWIG_Extension_Nop
import gsl_numobj
from distutils import sysconfig
#from common_objects import libpygsl
if USE_SWIG == 0:
_SWIG_Extension = _SWIG_Extension_Nop
exts = []
def SWIG_Extension(*args, **kws):
kws["py_dir"] = "pygsl"
kws["c_dir"] = "swig_src"
return apply(_SWIG_Extension, args, kws)
macros = [('SWIG_COBJECT_TYPES', 1)]
macros = macros #+ [('DEBUG', 1)]
debug_macros = macros + [('DEBUG', 1)]
pygsl_init=gsl_Extension("init",
['src/init/initmodule.c'],
gsl_min_version=(1,),
define_macros = macros + [('DEBUG', 1)],
python_min_version=(2,1)
)
exts.append(pygsl_init)
exts.append(SWIG_Extension("hankel",
["src/hankel/gsl_hankel.i"],
swig_include_dirs=["src/hankel"],
gsl_min_version=(1,0),
define_macros = macros,
python_min_version=(2,0),
)
)
# Basic implementation here but not working yet....
#exts.append(gsl_Extension("_sum",
# ["swig_src/sum_wrap.c"],
# gsl_min_version=(1,0),
# define_macros = macros,
# python_min_version=(2,0),
# )
# )
exts.append(SWIG_Extension("_callback",
["src/callback/gsl_callback.i"],
include_dirs=["src/callback"],
swig_include_dirs=["src/callback"],
gsl_min_version=(1,2),
define_macros = macros,
python_min_version=(2,1),
)
)
exts.append(SWIG_Extension("_poly",
["src/poly/gsl_poly.i"],
include_dirs=["src/poly"],
define_macros = macros,
gsl_min_version=(1,2),
python_min_version=(2,1)
)
)
exts.append(SWIG_Extension("_block",
["src/block/gsl_block.i"],
swig_include_dirs=["src/block"],
define_macros = macros,
gsl_min_version=(1,2),
python_min_version=(2,1)
)
)
pygsl_siman=gsl_Extension("_siman",
['src/simanmodule.c'],
define_macros = macros,
gsl_min_version=(1,2),
python_min_version=(2,1)
)
exts.append(pygsl_siman)
pygsl_const=gsl_Extension("const",
['src/constmodule.c'],
define_macros = macros,
gsl_min_version=(1,2),
python_min_version=(2,1)
)
exts.append(pygsl_const)
pygsl_diff = gsl_Extension("diff",
['src/diffmodule.c'],
define_macros = macros,
gsl_min_version=(1,'0+'),
python_min_version=(2,1)
)
exts.append(pygsl_diff)
pygsl_deriv = gsl_Extension("deriv",
['src/derivmodule.c'],
define_macros = macros,
gsl_min_version=(1, 5),
python_min_version=(2,1)
)
exts.append(pygsl_deriv)
pygsl_transform = gsl_Extension("_transform",
['src/transform/transformmodule.c'],
define_macros = macros,
gsl_min_version=(1,'0+'),
python_min_version=(2,1)
)
exts.append(pygsl_transform)
try:
pygsl_rng=gsl_Extension("rng",
['src/rng/rngmodule.c'],
gsl_min_version=(1,'0+'),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_rng)
exts.append(SWIG_Extension("gslwrap",
["src/gslwrap/gsl_gslwrap.i"],
swig_include_dirs=["src/gslwrap/"],
define_macros = macros,
gsl_min_version=(1,2),
python_min_version=(2,1)
)
)
pygsl_ieee=gsl_Extension("ieee",
['src/ieeemodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_ieee)
exts.append(SWIG_Extension("gslwrap",
["src/gslwrap/gsl_gslwrap.i"],
swig_include_dirs=["src/gslwrap/"],
define_macros = macros,
gsl_min_version=(1,2),
python_min_version=(2,1)
)
)
pygsl_histogram=gsl_Extension("histogram",
['src/histogram/histogrammodule.c'],
define_macros = macros,
gsl_min_version=(1,'0+'),
python_min_version=(2,2)
)
exts.append(pygsl_histogram)
pygsl_matrix=gsl_Extension("matrix",
['src/matrixmodule.c'],
define_macros = macros,
gsl_min_version=(1,'0+'),
python_min_version=(2,2)
)
exts.append(pygsl_matrix)
pygsl_multimin=gsl_Extension("multimin",
['src/multiminmodule.c'],
define_macros = macros,
gsl_min_version=(1,'0+'),
python_min_version=(2,2)
)
exts.append(pygsl_multimin)
except distutils.errors.DistutilsExecError:
pass
pygsl_qrng=gsl_Extension("_qrng",
['src/qrng_module.c'],
gsl_min_version=(1,'0+'),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_qrng)
pygsl_sf=gsl_Extension("sf",
['src/sfmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_sf)
pygsl_statistics_basis=gsl_Extension("statistics._stat",
['src/statistics/_statmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_statistics_basis)
pygsl_statistics_uchar=gsl_Extension("statistics.uchar",
['src/statistics/ucharmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_statistics_uchar)
pygsl_statistics_char=gsl_Extension("statistics.char",
['src/statistics/charmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_statistics_char)
pygsl_statistics_double=gsl_Extension("statistics.double",
['src/statistics/doublemodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_statistics_double)
pygsl_statistics_float=gsl_Extension("statistics.float",
['src/statistics/floatmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_statistics_float)
pygsl_statistics_long=gsl_Extension("statistics.long",
['src/statistics/longmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_statistics_long)
pygsl_statistics_int=gsl_Extension("statistics.int",
['src/statistics/intmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_statistics_int)
pygsl_statistics_short=gsl_Extension("statistics.short",
['src/statistics/shortmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,1)
)
exts.append(pygsl_statistics_short)
errortest = gsl_Extension("errortest",
['src/errortestmodule.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,0)
)
exts.append(errortest)
if BUILD_TESTING:
sf=gsl_Extension("testing.sf",
['testing/src/sfmodule_testing.c'],
gsl_min_version=(1,),
define_macros = macros,
python_min_version=(2,0)
)
exts.append(sf)
exts.append(gsl_Extension("testing._test",
['testing/src/testmodule.c'],
))
pass
py_module_names = ['errors',
'statistics.__init__',
'_numobj',
'_mlab',
'_block',
'_callback',
'_generic_solver',
'_poly',
'blas',
'block',
'chebyshev',
'combination',
'eigen',
'fft',
'fit',
'gsl_function',
'gslwrap',
'hankel',
'integrate',
'interpolation',
'linalg',
'matrix_pierre',
'minimize',
'monte',
'multifit',
'multifit_nlin',
'multiroots',
'odeiv',
'permutation',
'poly',
'qrng',
'roots',
'siman',
'spline',
'testing.__init__',
'vector',
'math'
]
headers = None
if INSTALL_HEADERS == 1:
headers = glob.glob("Include/pygsl/*.h")
extends = ""
if "bdist" in sys.argv:
extends = "_" + str(gsl_numobj.nummodule)
setup (name = "pygsl",
version = "0.3.2" + extends,
#version = "snapshot_" + string.join(map(str, time.gmtime()[:3]), '_'),
description = "GNU Scientific Library Interface",
long_description = "This project provides a python interface for the GNU scientific library (gsl)",
license = "GPL",
author = "Achim Gaedke, Pierre Schnizer",
author_email = "AchimGaedke@users.sourceforge.net, schnizer@users.sourceforge.net",
url = "http://pygsl.sourceforge.net",
py_modules = map(lambda x : 'pygsl.' + x, py_module_names),
ext_package = 'pygsl',
ext_modules = exts,
headers = headers
)
syntax highlighted by Code2HTML, v. 0.9.1