diff --git a/bfps/__init__.py b/bfps/__init__.py index 50bde1ed64fe4d33e596ef6f20dff93732920346..e443bc356ff0dcf1cf1ae611610ca2a23cc6cdbb 100644 --- a/bfps/__init__.py +++ b/bfps/__init__.py @@ -20,6 +20,7 @@ import os import subprocess +import pickle from pkg_resources import get_distribution, DistributionNotFound @@ -41,6 +42,10 @@ except DistributionNotFound: #import subprocess #__version__ = 'git revision ' + subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip() +machine_settings = pickle.load( + open(os.path.join(os.path.join(dist_loc, 'bfps'), + 'machine_settings.pickle'), + 'r')) from .code import code from .NavierStokes import NavierStokes diff --git a/bfps/code.py b/bfps/code.py index 6293020acb81ae78ceae3db62840314f0325c760..036c0e15d496699077c1ebe341b3ecc35e135726 100644 --- a/bfps/code.py +++ b/bfps/code.py @@ -24,6 +24,7 @@ from bfps.base import base import subprocess import os import shutil +import pickle class code(base): @@ -94,10 +95,6 @@ class code(base): return None def compile_code(self): # compile code - local_install_dir = '/scratch.local/chichi/installs' - include_dirs = [bfps.header_dir, - '/usr/lib64/mpi/gcc/openmpi/include', - os.path.join(local_install_dir, 'include')] if not os.path.isfile(os.path.join(bfps.header_dir, 'base.hpp')): raise IOError('header not there:\n' + '{0}\n'.format(os.path.join(bfps.header_dir, 'base.hpp')) + @@ -110,11 +107,10 @@ class code(base): command_strings = ['mpicxx'] command_strings += [self.name + '.cpp', '-o', self.name] - command_strings += ['-ffast-math', '-mtune=native', '-O2', '-std=c++11'] - for idir in include_dirs: - command_strings += ['-I{0}'.format(idir)] - command_strings += ['-L' + os.path.join(local_install_dir, 'lib')] - command_strings += ['-L' + os.path.join(local_install_dir, 'lib64')] + command_strings += ['-O2'] + bfps.machine_settings['extra_compile_args'] + command_strings += ['-I' + idir for idir in bfps.machine_settings['include_dirs']] + command_strings.append('-I' + bfps.header_dir) + command_strings += ['-L' + ldir for ldir in bfps.machine_settings['library_dirs']] command_strings.append('-L' + bfps.lib_dir) for libname in libraries: command_strings += ['-l' + libname] diff --git a/setup.py b/setup.py index fc497c3c5e68d88e68efa238c6a4c6acdbdc95c4..fb573bd741ee574edb86d46f3ba09fc470276d10 100644 --- a/setup.py +++ b/setup.py @@ -20,9 +20,14 @@ -import os - from machine_settings import include_dirs, library_dirs, extra_compile_args +import pickle +pickle.dump( + {'include_dirs' : include_dirs, + 'library_dirs' : library_dirs, + 'extra_compile_args' : extra_compile_args}, + open('bfps/machine_settings.pickle', 'wb'), + protocol = 2) AUTHOR = 'Cristian C Lalescu' @@ -71,7 +76,8 @@ setup( packages = ['bfps'], install_requires = ['numpy>=1.8', 'matplotlib>=1.3'], ext_modules = [libbfps], - package_data = {'bfps': header_list + ['../machine_settings.py']}, + package_data = {'bfps': header_list + ['../machine_settings.py', + 'machine_settings.pickle']}, ######################################################################## # useless stuff folows ########################################################################