diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2015-11-04 07:46:17 -0800 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2015-11-04 07:46:17 -0800 |
commit | 339da1da3d7f034595344f72f5d95e3fea0087f5 (patch) | |
tree | 870cb27edd9c216341f19614ba6a453143a379a9 | |
parent | aec50722fc065450c94a01ec02597974e1ca8b0f (diff) | |
download | spack-339da1da3d7f034595344f72f5d95e3fea0087f5.tar.gz spack-339da1da3d7f034595344f72f5d95e3fea0087f5.tar.bz2 spack-339da1da3d7f034595344f72f5d95e3fea0087f5.tar.xz spack-339da1da3d7f034595344f72f5d95e3fea0087f5.zip |
Make architecture reflect OS *and* machine. Use Python's platform module.
-rw-r--r-- | lib/spack/spack/architecture.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/lib/spack/spack/architecture.py b/lib/spack/spack/architecture.py index 05ac5d6f35..6c874e30be 100644 --- a/lib/spack/spack/architecture.py +++ b/lib/spack/spack/architecture.py @@ -23,7 +23,8 @@ # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## import os -import subprocess +import re +import platform from llnl.util.lang import memoized @@ -58,15 +59,11 @@ def get_sys_type_from_environment(): return os.environ.get('SYS_TYPE') -def get_sys_type_from_uname(): - """Return the architecture from uname.""" - try: - arch_proc = subprocess.Popen(['uname', '-i'], - stdout=subprocess.PIPE) - arch, _ = arch_proc.communicate() - return arch.strip() - except: - return None +def get_sys_type_from_platform(): + """Return the architecture from Python's platform module.""" + sys_type = platform.system() + '-' + platform.machine() + sys_type = re.sub(r'[^\w-]', '_', sys_type) + return sys_type.lower() @memoized @@ -74,7 +71,7 @@ def sys_type(): """Returns a SysType for the current machine.""" methods = [get_sys_type_from_spack_globals, get_sys_type_from_environment, - get_sys_type_from_uname] + get_sys_type_from_platform] # search for a method that doesn't return None sys_type = None |