mirror of
https://github.com/Relintai/godot-mono-builds.git
synced 2024-11-14 10:27:25 +01:00
BCL: Remove pdb files and aot modules
We don't need to ship with them so we can save some space this way. We added an option in case someone wants to keep the pdb files: `--remove-pdb=False`
This commit is contained in:
parent
ee54822600
commit
710b275fbf
14
bcl.py
14
bcl.py
@ -109,12 +109,18 @@ def make_product(opts: BclOpts, product: str):
|
|||||||
for profile in profiles:
|
for profile in profiles:
|
||||||
copy_tree('%s/mcs/class/lib/%s' % (opts.mono_source_root, profile), '%s/%s' % (install_dir, profile))
|
copy_tree('%s/mcs/class/lib/%s' % (opts.mono_source_root, profile), '%s/%s' % (install_dir, profile))
|
||||||
|
|
||||||
# Recursively remove hidden files we shoudln't have copied (e.g.: .stamp)
|
# Remove unneeded files
|
||||||
import glob
|
import glob
|
||||||
hidden_file_pattern = '%s/**/.*' % install_dir
|
file_patterns = []
|
||||||
|
file_patterns += ['.*'] # Recursively remove hidden files we shoudln't have copied (e.g.: .stamp)
|
||||||
|
file_patterns += ['*.dll.so', '*.exe.so'] # Remove pre-built AOT modules. We don't need them and they take a lot of space.
|
||||||
|
file_patterns += ['*.pdb'] if opts.remove_pdb else []
|
||||||
for profile in profiles:
|
for profile in profiles:
|
||||||
[rm_rf(x) for x in glob.iglob(hidden_file_pattern, recursive=True)]
|
for file_pattern in file_patterns:
|
||||||
|
file_pattern_recursive = '%s/**/%s' % (install_dir, file_pattern)
|
||||||
|
[rm_rf(x) for x in glob.iglob(file_pattern_recursive, recursive=True)]
|
||||||
|
|
||||||
|
# godot_android_ext profile (custom 'Mono.Android.dll')
|
||||||
if product == 'android':
|
if product == 'android':
|
||||||
this_script_dir = os.path.dirname(os.path.realpath(__file__))
|
this_script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
monodroid_profile_dir = '%s/%s' % (install_dir, 'monodroid')
|
monodroid_profile_dir = '%s/%s' % (install_dir, 'monodroid')
|
||||||
@ -142,6 +148,7 @@ def clean_product(opts: BclOpts, product: str):
|
|||||||
|
|
||||||
def main(raw_args):
|
def main(raw_args):
|
||||||
import cmd_utils
|
import cmd_utils
|
||||||
|
from cmd_utils import custom_bool
|
||||||
|
|
||||||
actions = {
|
actions = {
|
||||||
'make': make_product,
|
'make': make_product,
|
||||||
@ -155,6 +162,7 @@ def main(raw_args):
|
|||||||
parser.add_argument('action', choices=actions.keys())
|
parser.add_argument('action', choices=actions.keys())
|
||||||
parser.add_argument('--product', choices=product_values, action='append', required=True)
|
parser.add_argument('--product', choices=product_values, action='append', required=True)
|
||||||
parser.add_argument('--tests', action='store_true', default=False, help=default_help)
|
parser.add_argument('--tests', action='store_true', default=False, help=default_help)
|
||||||
|
parser.add_argument('--remove-pdb', type=custom_bool, default=True, help=default_help)
|
||||||
|
|
||||||
cmd_utils.add_base_arguments(parser, default_help)
|
cmd_utils.add_base_arguments(parser, default_help)
|
||||||
|
|
||||||
|
@ -39,6 +39,7 @@ class DesktopOpts(RuntimeOpts):
|
|||||||
@dataclass
|
@dataclass
|
||||||
class BclOpts(BaseOpts):
|
class BclOpts(BaseOpts):
|
||||||
tests: bool
|
tests: bool
|
||||||
|
remove_pdb: bool
|
||||||
|
|
||||||
|
|
||||||
# Need to make paths absolute as we change cwd
|
# Need to make paths absolute as we change cwd
|
||||||
@ -80,7 +81,8 @@ def android_opts_from_args(args):
|
|||||||
def bcl_opts_from_args(args):
|
def bcl_opts_from_args(args):
|
||||||
return BclOpts(
|
return BclOpts(
|
||||||
**vars(base_opts_from_args(args)),
|
**vars(base_opts_from_args(args)),
|
||||||
tests = args.tests
|
tests = args.tests,
|
||||||
|
remove_pdb = args.remove_pdb
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user