Skip to content

Commit

Permalink
Merge pull request #44136 from neikeq/scons-mono-bcl-option
Browse files Browse the repository at this point in the history
Mono: Add mono_bcl SCons option for a custom BCL location
  • Loading branch information
akien-mga authored Dec 8, 2020
2 parents a834055 + dd5ace2 commit d94bf9f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
7 changes: 4 additions & 3 deletions modules/mono/build_scripts/mono_configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ def configure(env, env_mono):
copy_mono_root = env["copy_mono_root"]

mono_prefix = env["mono_prefix"]
mono_bcl = env["mono_bcl"]

mono_lib_names = ["mono-2.0-sgen", "monosgen-2.0"]

Expand Down Expand Up @@ -397,7 +398,7 @@ def copy_mono_lib(libname_wo_ext):

if tools_enabled:
# Only supported for editor builds.
copy_mono_root_files(env, mono_root)
copy_mono_root_files(env, mono_root, mono_bcl)


def make_template_dir(env, mono_root):
Expand Down Expand Up @@ -430,7 +431,7 @@ def make_template_dir(env, mono_root):
copy_mono_shared_libs(env, mono_root, template_mono_root_dir)


def copy_mono_root_files(env, mono_root):
def copy_mono_root_files(env, mono_root, mono_bcl):
from glob import glob
from shutil import copy
from shutil import rmtree
Expand All @@ -455,7 +456,7 @@ def copy_mono_root_files(env, mono_root):

# Copy framework assemblies

mono_framework_dir = os.path.join(mono_root, "lib", "mono", "4.5")
mono_framework_dir = mono_bcl or os.path.join(mono_root, "lib", "mono", "4.5")
mono_framework_facades_dir = os.path.join(mono_framework_dir, "Facades")

editor_mono_framework_dir = os.path.join(editor_mono_root_dir, "lib", "mono", "4.5")
Expand Down
8 changes: 8 additions & 0 deletions modules/mono/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ def configure(env):
PathVariable.PathAccept,
)
)
envvars.Add(
PathVariable(
"mono_bcl",
"Path to a custom Mono BCL (Base Class Library) directory for the target platform",
"",
PathVariable.PathAccept,
)
)
envvars.Add(BoolVariable("mono_static", "Statically link Mono", default_mono_static))
envvars.Add(BoolVariable("mono_glue", "Build with the Mono glue sources", True))
envvars.Add(BoolVariable("build_cil", "Build C# solutions", True))
Expand Down

0 comments on commit d94bf9f

Please sign in to comment.