Merge pull request #22193 from neikeq/idontlikesanditscoarseandroughandirritatinganditgetseverywhere
Mono: Build and external editor improvements for OSX
This commit is contained in:
@ -99,6 +99,8 @@ def configure(env):
|
||||
if not mono_root:
|
||||
raise RuntimeError('Mono installation directory not found')
|
||||
|
||||
print('Found Mono root directory: ' + mono_root)
|
||||
|
||||
mono_version = mono_root_try_find_mono_version(mono_root)
|
||||
configure_for_mono_version(env, mono_version)
|
||||
|
||||
@ -164,6 +166,14 @@ def configure(env):
|
||||
if os.getenv('MONO64_PREFIX'):
|
||||
mono_root = os.getenv('MONO64_PREFIX')
|
||||
|
||||
if not mono_root and sys.platform == 'darwin':
|
||||
# Try with some known directories under OSX
|
||||
hint_dirs = ['/Library/Frameworks/Mono.framework/Versions/Current', '/usr/local/var/homebrew/linked/mono']
|
||||
for hint_dir in hint_dirs:
|
||||
if os.path.isdir(hint_dir):
|
||||
mono_root = hint_dir
|
||||
break
|
||||
|
||||
# We can't use pkg-config to link mono statically,
|
||||
# but we can still use it to find the mono root directory
|
||||
if not mono_root and mono_static:
|
||||
@ -172,6 +182,8 @@ def configure(env):
|
||||
raise RuntimeError('Building with mono_static=yes, but failed to find the mono prefix with pkg-config. Specify one manually')
|
||||
|
||||
if mono_root:
|
||||
print('Found Mono root directory: ' + mono_root)
|
||||
|
||||
mono_version = mono_root_try_find_mono_version(mono_root)
|
||||
configure_for_mono_version(env, mono_version)
|
||||
|
||||
@ -216,6 +228,9 @@ def configure(env):
|
||||
else:
|
||||
assert not mono_static
|
||||
|
||||
# TODO: Add option to force using pkg-config
|
||||
print('Mono root directory not found. Using pkg-config instead')
|
||||
|
||||
mono_version = pkgconfig_try_find_mono_version()
|
||||
configure_for_mono_version(env, mono_version)
|
||||
|
||||
@ -248,7 +263,7 @@ def configure(env):
|
||||
def configure_for_mono_version(env, mono_version):
|
||||
if mono_version is None:
|
||||
raise RuntimeError('Mono JIT compiler version not found')
|
||||
print('Mono JIT compiler version: ' + str(mono_version))
|
||||
print('Found Mono JIT compiler version: ' + str(mono_version))
|
||||
if mono_version >= LooseVersion("5.12.0"):
|
||||
env.Append(CPPFLAGS=['-DHAS_PENDING_EXCEPTIONS'])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user