Skip to content
Snippets Groups Projects
Commit 339da1da authored by Todd Gamblin's avatar Todd Gamblin
Browse files

Make architecture reflect OS *and* machine. Use Python's platform module.

parent aec50722
No related branches found
No related tags found
No related merge requests found
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
############################################################################## ##############################################################################
import os import os
import subprocess import re
import platform
from llnl.util.lang import memoized from llnl.util.lang import memoized
...@@ -58,15 +59,11 @@ def get_sys_type_from_environment(): ...@@ -58,15 +59,11 @@ def get_sys_type_from_environment():
return os.environ.get('SYS_TYPE') return os.environ.get('SYS_TYPE')
def get_sys_type_from_uname(): def get_sys_type_from_platform():
"""Return the architecture from uname.""" """Return the architecture from Python's platform module."""
try: sys_type = platform.system() + '-' + platform.machine()
arch_proc = subprocess.Popen(['uname', '-i'], sys_type = re.sub(r'[^\w-]', '_', sys_type)
stdout=subprocess.PIPE) return sys_type.lower()
arch, _ = arch_proc.communicate()
return arch.strip()
except:
return None
@memoized @memoized
...@@ -74,7 +71,7 @@ def sys_type(): ...@@ -74,7 +71,7 @@ def sys_type():
"""Returns a SysType for the current machine.""" """Returns a SysType for the current machine."""
methods = [get_sys_type_from_spack_globals, methods = [get_sys_type_from_spack_globals,
get_sys_type_from_environment, get_sys_type_from_environment,
get_sys_type_from_uname] get_sys_type_from_platform]
# search for a method that doesn't return None # search for a method that doesn't return None
sys_type = None sys_type = None
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment