diff --git a/scripts/waifulib/strip_on_install.py b/scripts/waifulib/strip_on_install.py index 52da526e..e4fdb65a 100644 --- a/scripts/waifulib/strip_on_install.py +++ b/scripts/waifulib/strip_on_install.py @@ -9,6 +9,11 @@ Strip executables upon installation import shutil, os from waflib import Build, Utils, Context, Errors, Logs +def options(opt): + grp = opt.option_groups['install/uninstall options'] + grp.add_option('--no-strip', dest='no_strip', action='store_true', default=False, + help='don\'t strip binaries. You must pass this flag to install command(default: False)') + def configure(conf): if conf.env.DEST_BINFMT in ['elf', 'mac-o']: conf.find_program('strip') @@ -18,8 +23,8 @@ def configure(conf): def copy_fun(self, src, tgt): inst_copy_fun(self, src, tgt) - if self.env.KEEP_DEBUG_INFO: - return # don't strip debug information in debug mode + if self.generator.bld.options.no_strip: + return if getattr(self.generator, 'link_task', None) and self.generator.link_task.outputs[0] in self.inputs: cmd = self.env.STRIP + self.env.STRIPFLAGS + [tgt] diff --git a/wscript b/wscript index 05188c79..cb924f4c 100644 --- a/wscript +++ b/wscript @@ -60,7 +60,7 @@ def options(opt): opt.add_subproject(subdirs()) - opt.load('xcompile compiler_cxx compiler_c sdl2 clang_compilation_database') + opt.load('xcompile compiler_cxx compiler_c sdl2 clang_compilation_database strip_on_install') if sys.platform == 'win32': opt.load('msvc msdev msvs') opt.load('reconfigure')