3 from distutils.core
import setup
4 from distutils.extension
import Extension
5 from Cython.Distutils
import build_ext
7 DATAVERSION = os.getenv(
"DATAVERSION")
8 ITMLIBDIR = os.getenv(
"ITMLIBDIR")
10 UAL = os.getenv(
"UAL")
11 SVNVERSION = os.getenv(
"SVNVERSION")
12 ITMCONSTANTS =
"%s/%s/include" % (os.getenv(
"ITM_ITMCONSTANTS_DIR"), os.getenv(
"ITM_ITMCONSTANTS_VERSION"))
14 library_dirs=[UAL +
"/lib", UAL +
"/lowlevel", UAL +
"/fortraninterface"]
16 libraries=[
"amns-"+SVNVERSION+
"-"+DATAVERSION+
"-"+SYS,
"UALLowLevel"]
18 if SYS ==
"amd64_pgi_10":
19 library_dirs.extend([
"../lib/amd64_pgi",
"/E/L/pgi-10.2-libso"])
20 libraries.extend([
"UALFORTRANInterface_pgi",
"pgf90rtl",
"pgc"])
21 elif SYS ==
"amd64_g95_0.93":
22 library_dirs.extend([
"../lib/amd64_g95_0.93",
"/E/L/g95-0.92/gcc-lib/x86_64-unknown-linux-gnu/4.0.3"])
23 libraries.extend([
"UALFORTRANInterface_g95"])
24 elif SYS ==
"amd64_intel_12":
25 library_dirs.extend([
"../lib/amd64_intel_12", ])
26 libraries.extend([
"UALFORTRANInterface_ifort"])
27 elif SYS ==
"amd64_intel_17":
28 library_dirs.extend([
"../lib/amd64_intel_17", ])
29 libraries.extend([
"UALFORTRANInterface_ifort"])
30 elif SYS ==
"amd64_intel_18":
31 library_dirs.extend([
"../lib/amd64_intel_18", ])
32 libraries.extend([
"UALFORTRANInterface_ifort"])
33 elif SYS ==
"amd64_gfortran_4.7":
34 library_dirs.extend([
"../lib/amd64_gfortran_4.7", ])
35 libraries.extend([
"UALFORTRANInterface_ifort"])
36 elif SYS ==
"amd64_gfortran_6.1":
37 library_dirs.extend([
"../lib/amd64_gfortran_6.1", ])
38 libraries.extend([
"UALFORTRANInterface_ifort"])
40 raise ValueError(
"Unsupported Fortran compiler (SYS=" + SYS +
")")
45 version = DATAVERSION,
46 author =
"David Coster",
47 author_email =
"David.Coster@ipp.mpg.de",
48 description = (
"Python interface to the ITM AMNS system"),
50 url =
"http://www.efda-itm.eu/ITM/html/amns_public.html",
51 cmdclass = {
'build_ext': build_ext},
52 ext_modules = [Extension(
"amns", [
"amns.pyx"],
53 library_dirs=library_dirs,
55 include_dirs = [numpy.get_include(), ITMCONSTANTS]),
56 Extension(
"camns_interface", [
"camns_interface.pxd"],
57 library_dirs=library_dirs,
59 include_dirs = [ITMCONSTANTS])]