Bug 1259382 - Get a full path to the compiler wrapper. r?ted draft
authorMike Hommey <mh+mozilla@glandium.org>
Tue, 05 Apr 2016 14:05:59 +0900
changeset 347605 6e72a7576e5a18b885b6255256f438b75f1c4737
parent 347604 0126468c5d38ec96e0d82335292ae27f883fb856
child 347606 3ff1146e5f78563657c88a389041a515995c6bed
push id14625
push userbmo:mh+mozilla@glandium.org
push dateTue, 05 Apr 2016 11:59:43 +0000
reviewersted
bugs1259382
milestone48.0a1
Bug 1259382 - Get a full path to the compiler wrapper. r?ted In the near future, we are going to try running the compiler wrapper from python code, and that will work better if we have the full path to it.
build/moz.configure/toolchain.configure
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -92,23 +92,32 @@ ccache = check_prog('CCACHE', progs=(), 
 def using_ccache(ccache):
     return True
 
 set_config('MOZ_USING_CCACHE', using_ccache)
 
 @depends('--with-compiler-wrapper', ccache)
 @imports(_from='mozbuild.shellutil', _import='split', _as='shell_split')
 def compiler_wrapper(wrapper, ccache):
+    if wrapper:
+        raw_wrapper = wrapper[0]
+        wrapper = shell_split(raw_wrapper)
+        wrapper_program = find_program(wrapper[0])
+        if not wrapper_program:
+            die('Cannot find `%s` from the given compiler wrapper `%s`',
+                wrapper[0], raw_wrapper)
+        wrapper[0] = wrapper_program
+
     if ccache:
         if wrapper:
-            return tuple([ccache] + shell_split(wrapper[0]))
+            return tuple([ccache] + wrapper)
         else:
             return (ccache,)
     elif wrapper:
-        return tuple(shell_split(wrapper[0]))
+        return tuple(wrapper)
 
 add_old_configure_assignment('COMPILER_WRAPPER', compiler_wrapper)
 
 @depends_if(compiler_wrapper)
 def using_compiler_wrapper(compiler_wrapper):
     return True
 
 set_config('MOZ_USING_COMPILER_WRAPPER', using_compiler_wrapper)