summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Mondelli <andrea.mondelli@ucf.edu>2019-01-10 10:33:13 -0500
committerAndrea Mondelli <Andrea.mondelli@ucf.edu>2019-01-11 18:11:54 +0000
commitad9a233ff9fdaadbbdebef32af242c8e3c05bfd4 (patch)
tree1fd2f4c402de063411a640e1ac9fa2e5d2f39e7d
parent3d54f6d42c303a2b17b1a882634444fc1319a9a1 (diff)
downloadgem5-ad9a233ff9fdaadbbdebef32af242c8e3c05bfd4.tar.xz
scons: added support of default Python installation on MacOS
Recent MacOS versions are distributed with python 2.7. This version of python is sufficient to compile and run gem5. This patch allows to use the default python instead of the version provided by third-party tools (e.g., brew) The default MacOS LLDB debugger is linked against the default python installation, which conflicts with Python framework provided by third-party package systems. This patch removes the need of gem5 to have multiple python installations on MacOS, if not explicitly installed. Change-Id: I98f24804149cb2e04ca432c66d2f57e0296af7b2 Reviewed-on: https://gem5-review.googlesource.com/c/15475 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
-rwxr-xr-xSConstruct5
1 files changed, 4 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct
index 0a8cd0edc..659023bf0 100755
--- a/SConstruct
+++ b/SConstruct
@@ -92,6 +92,7 @@ from os import mkdir, environ
from os.path import abspath, basename, dirname, expanduser, normpath
from os.path import exists, isdir, isfile
from os.path import join as joinpath, split as splitpath
+from re import match
# SCons includes
import SCons
@@ -710,9 +711,11 @@ if main['USE_PYTHON']:
exception='').strip()
py_includes = readCommand([python_config, '--includes'],
exception='').split()
+ py_includes = filter(lambda s: match(r'.*\/include\/.*',s), py_includes)
# Strip the -I from the include folders before adding them to the
# CPPPATH
- main.Append(CPPPATH=map(lambda inc: inc[2:], py_includes))
+ py_includes = map(lambda s: s[2:] if s.startswith('-I') else s, py_includes)
+ main.Append(CPPPATH=py_includes)
# Read the linker flags and split them into libraries and other link
# flags. The libraries are added later through the call the CheckLib.