From 45c30d41c8d07fb1e9029af5f7f3713ae8dd988a Mon Sep 17 00:00:00 2001 From: Chichi Lalescu <clalesc1@jhu.edu> Date: Fri, 31 Jul 2015 22:12:46 +0200 Subject: [PATCH] use setup compiling options for exec compilation --- bfps/__init__.py | 5 +++++ bfps/code.py | 14 +++++--------- setup.py | 12 +++++++++--- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/bfps/__init__.py b/bfps/__init__.py index 50bde1ed..e443bc35 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 6293020a..036c0e15 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 fc497c3c..fb573bd7 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 ######################################################################## -- GitLab