Trees | Indices | Help |
|
---|
|
1 #!/usr/bin/env python 2 # -*- coding: utf8 -*- 3 # 4 # Project: EDNA Libraries 5 # http://www.edna-site.org 6 # 7 # File: "$Id:$" 8 # 9 # Copyright (C) European Synchrotron Radiation Facility, Grenoble, France 10 # 11 # Principal author: Jerome Kieffer (Jerome.Kieffer@ESRF.eu) 12 # 13 # This program is free software: you can redistribute it and/or modify 14 # it under the terms of the GNU General Public License as published by 15 # the Free Software Foundation, either version 3 of the License, or 16 # (at your option) any later version. 17 # 18 # This program is distributed in the hope that it will be useful, 19 # but WITHOUT ANY WARRANTY; without even the implied warranty of 20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 # GNU General Public License for more details. 22 # 23 # You should have received a copy of the GNU General Public License 24 # along with this program. If not, see <http://www.gnu.org/licenses/>. 25 # 26 # 27 # 28 29 """EDNA-Builder for the FFTw3 library""" 30 __contact__ = "Jerome.Kieffer@ESRF.eu" 31 __author__ = "Jerome Kieffer" 32 __license__ = "GPLv3+" 33 __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France" 34 35 import os, sys 36 #to be compatible with windows 37 #strEdnaHome = os.path.join(os.sep, *tuple(os.path.abspath(sys.argv[0]).split(os.sep)[:-3])) 38 from os.path import dirname 39 strEdnaHome = dirname(dirname(dirname(os.path.abspath(sys.argv[0])))) 40 if ("EDNA_HOME" in os.environ): 41 if (os.environ["EDNA_HOME"] != strEdnaHome): 42 print("Warning: EDNA_HOME redefined to %s" % strEdnaHome) 43 os.environ["EDNA_HOME"] = strEdnaHome 44 else: 45 os.environ["EDNA_HOME"] = strEdnaHome 46 47 sys.path.append(os.path.join(os.environ["EDNA_HOME"], "kernel", "src")) 48 from EDVerbose import EDVerbose 49 from EDUtilsLibraryInstaller import EDUtilsLibraryInstaller 50 from EDUtilsParallel import EDUtilsParallel 51 52 53 strLibrary = "PyFFTW3-0.2.1.tar.gz" 54 55 56 if __name__ == "__main__": 57 installDir = os.path.abspath(sys.argv[0]).split(os.sep)[-2] 58 EDVerbose.screen("Building %s" % strLibrary) 59 install = EDUtilsLibraryInstaller(installDir, strLibrary) 60 install.checkPythonVersion() 61 install.downloadLibrary() 62 install.getArchiveName() 63 install.unZipArchive() 64 install.buildSources() 65 install.installBuilt() 66 install.cleanSources() 67 68 #if os.name == "nt": 69 # fftw - 3.2.2.pl1 - dll32.zip 70 #elif os.name == "posix": 71 # fftwLibrary = "hdf5-1.8.5.tar.bz2" 72 #else: 73 # fftwLibrary = None 74 #laFile = "libfftw3.so" 75 76 #if __name__ == "__main__": 77 # installDir = os.path.abspath(sys.argv[0]).split(os.sep)[-2] 78 # EDVerbose.screen("Building %s" % installDir) 79 # installer = EDUtilsLibraryInstaller(installDir, pyfftwLibrary) 80 # pathClib = installer.searchCLib(laFile) 81 # if pathClib is None: 82 # installer.checkPythonVersion() 83 # installer.getArchitecture() 84 # installer.downloadLibrary() 85 # installer.unZipArchive() 86 # pthreadPath = installer.searchCLib("libpthread.so") 87 # EDVerbose.DEBUG("Libpthread found in %s" % pthreadPath) 88 # if pthreadPath is None: 89 # try: 90 # installer.configure("--prefix=%s" % (installer.getDestinationDirectory())) 91 # except Exception: 92 # EDVerbose.ERROR("Error in the configure step, no pthread") 93 # else: 94 # try: 95 # installer.configure("--prefix=%s --enable-threadsafe --with-pthread=%s" % (installer.getDestinationDirectory(), pthreadPath)) 96 # except Exception: 97 # EDVerbose.ERROR("Error in the configure step, with pthread") 98 # try: 99 # installer.make("-j %i" % EDUtilsParallel.detectNumberOfCPUs()) 100 # except Exception: 101 # EDVerbose.ERROR("Error in the 'make' step") 102 # 103 # try: 104 # installer.make("install") 105 # except Exception: 106 # EDVerbose.ERROR("Error in the 'make install' step") 107 # pathClib = installer.getDestinationDirectory() 108 # installer.cleanSources() 109 # else: 110 # pathClib = os.path.dirname(pathClib) 111 # EDVerbose.DEBUG("Building H5Py with HDF5 library from %s " % (pathClib)) 112 # install = EDUtilsLibraryInstaller(installDir, h5pyLibrary) 113 # install.checkPythonVersion() 114 # install.dependency("numpy", "20090405-Numpy-1.3") 115 # install.downloadLibrary() 116 # install.getArchiveName() 117 # install.unZipArchive() 118 # try: 119 # install.buildSources("--hdf5=%s" % pathClib) 120 # except Exception: 121 # EDVerbose.ERROR("Error in the building of %s" % (h5pyLibrary)) 122 # sys.exit(0) 123 # install.installBuilt() 124 # if not EDVerbose.isVerboseDebug(): 125 # install.cleanSources() 126 # 127 #else: 128 # EDVerbose.ERROR("This installer program is not made to be imported, please just run it") 129
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Fri Jun 20 03:53:30 2014 | http://epydoc.sourceforge.net |