Page MenuHomec4science

site_init.py
No OneTemporary

File Metadata

Created
Thu, May 30, 10:49

site_init.py

def fftw(env):
"""A Tool to search for fftw headers and libraries"""
if env.GetOption('clean'): return
if 'FFTW_VERSION' not in env: env['FFTW_VERSION'] = "3"
env['FFTW_VERSION'] = str(env['FFTW_VERSION'])
if 'FFTW_INCLUDE_DIR' in env:
env['CXXFLAGS'].append('-I{0}'.format(env['FFTW_INCLUDE_DIR']))
env['CFLAGS'].append('-I{0}'.format(env['FFTW_INCLUDE_DIR']))
if 'FFTW_LIBRARY_WISH' not in env: env['FFTW_LIBRARY_WISH'] = ['main']
if 'main' not in env['FFTW_LIBRARY_WISH']:
env['FFTW_LIBRARY_WISH'] = env['FFTW_LIBRARY_WISH'] + ['main']
if 'FFTW_LIBRARY_DIR' in env:
if 'LIBPATH' not in env: env['LIBPATH'] = []
env['LIBPATH'] += [env['FFTW_LIBRARY_DIR']]
version = env['FFTW_VERSION']
if version == "2":
lib_names = {'main':'fftw'}
inc_names = ['fftw.h']
else:
lib_names = {'main':'fftw3','thread':'fftw3_threads','omp':'fftw3_omp'}
inc_names = ['fftw3.h']
try:
libs = [lib_names[i] for i in env['FFTW_LIBRARY_WISH']]
except:
print 'Incompatible wishlist {0} from version {1}'.format(env['FFTW_WISH_LIST'],
env['FFTW_VERSION'])
Exit(1)
for l in libs:
conf = Configure(env)
if not conf.CheckLibWithHeader(l,inc_names,'c'):
print 'Did not find {0}, exiting!'.format(l)
Exit(1)
env = conf.Finish()
env['FFTW_LIBRARIES'] = lib_names

Event Timeline