Bug 1651680 - Support --enable-strip/--enable-install-strip on mingw. r=nalexander
authorMike Hommey <mh+mozilla@glandium.org>
Tue, 11 Aug 2020 02:53:34 +0000
changeset 544210 0ecdc8f7b354a80ffcae1b5100f0ade9aac9f0f0
parent 544209 aafba1319774615785cb7b5443af3599eca30772
child 544211 3fa98e681edd27957e97152d541e0be28122d781
push id37689
push userncsoregi@mozilla.com
push dateTue, 11 Aug 2020 09:17:31 +0000
treeherdermozilla-central@3fa98e681edd [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnalexander
bugs1651680
milestone81.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1651680 - Support --enable-strip/--enable-install-strip on mingw. r=nalexander Differential Revision: https://phabricator.services.mozilla.com/D86649
moz.configure
--- a/moz.configure
+++ b/moz.configure
@@ -666,31 +666,40 @@ add_old_configure_assignment('enable_dtr
 
 
 js_option('--disable-icf', help='Disable Identical Code Folding')
 
 add_old_configure_assignment(
     'MOZ_DISABLE_ICF', '1', when=depends('--enable-icf')(lambda x: not x))
 
 
-@depends(compile_environment, target)
-def may_strip(compile_environment, target):
-    return compile_environment and target.kernel != 'WINNT'
+js_option('--enable-strip', when=compile_environment,
+          help='Enable stripping of libs & executables')
 
-js_option('--enable-strip', when=may_strip, help='Enable stripping of libs & executables')
+# This should be handled as a `when` once bug 1617793 is fixed.
+@depends('--enable-strip', c_compiler, when=compile_environment)
+def enable_strip(strip, c_compiler):
+    if strip and c_compiler.type != 'clang-cl':
+        return True
 
-set_config('ENABLE_STRIP', True, when='--enable-strip')
+set_config('ENABLE_STRIP', enable_strip)
 
-js_option('--disable-install-strip', when=may_strip,
+js_option('--disable-install-strip', when=compile_environment,
           help='Enable stripping of libs & executables when packaging')
 
-set_config('PKG_STRIP', True, when='--enable-install-strip')
+# This should be handled as a `when` once bug 1617793 is fixed.
+@depends('--enable-install-strip', c_compiler, when=compile_environment)
+def enable_install_strip(strip, c_compiler):
+    if strip and c_compiler.type != 'clang-cl':
+        return True
+
+set_config('PKG_STRIP', enable_install_strip)
 
 
-@depends('--enable-strip', '--enable-install-strip', when=may_strip)
+@depends('--enable-strip', '--enable-install-strip', when=compile_environment)
 def strip(strip, install_strip):
     return strip or install_strip
 
 js_option(env='STRIP_FLAGS', nargs=1, when=strip, help='Flags for the strip command')
 
 @depends('STRIP_FLAGS', profiling, target, when=strip)
 def strip_flags(flags, profiling, target):
     if flags: