Bug 894763 - Default objdir should reflect target, not host. r=gps
authorMike Hommey <mh+mozilla@glandium.org>
Tue, 23 Jul 2013 07:26:09 +0900
changeset 139511 dbf147bd0c67b305d8e396f51da11218311f1981
parent 139510 5435370944bf3bc64c3839b2e34c975c13e729e4
child 139512 020d6ebba9b3d343752b28a491711fc98e77f0a4
push id24996
push useremorley@mozilla.com
push dateTue, 23 Jul 2013 12:59:05 +0000
treeherdermozilla-central@b717a7945dfb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs894763
milestone25.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 894763 - Default objdir should reflect target, not host. r=gps
build/autoconf/mozconfig2client-mk
python/mozbuild/mozbuild/base.py
python/mozbuild/mozbuild/mozconfig_loader
--- a/build/autoconf/mozconfig2client-mk
+++ b/build/autoconf/mozconfig2client-mk
@@ -14,17 +14,27 @@ print_header() {
 # gmake
 # This file is automatically generated for client.mk.
 # Do not edit. Edit $FOUND_MOZCONFIG instead.
 
 EOF
 }
 
 ac_add_options() {
-  echo "# $* is used by configure (not client.mk)"
+  for _opt
+  do
+    case "$_opt" in
+    --target=*)
+      echo $_opt | sed s/--target/CONFIG_GUESS/
+      ;;
+    *)
+      echo "# $_opt is used by configure (not client.mk)"
+      ;;
+    esac
+  done
 }
 
 ac_add_app_options() {
   echo "# $* is used by configure (not client.mk)"
 }
 
 mk_add_options() {
   for _opt
--- a/python/mozbuild/mozbuild/base.py
+++ b/python/mozbuild/mozbuild/base.py
@@ -278,16 +278,20 @@ class MozbuildObject(ProcessExecutionMix
         if validate_exists and not os.path.exists(path):
             raise Exception('Binary expected at %s does not exist.' % path)
 
         return path
 
     @property
     def _config_guess(self):
         if self._config_guess_output is None:
+            make_extra = dict(m.split('=', 1) for m in self.mozconfig['make_extra'])
+            self._config_guess_output = make_extra.get('CONFIG_GUESS', None)
+
+        if self._config_guess_output is None:
             p = os.path.join(self.topsrcdir, 'build', 'autoconf',
                 'config.guess')
             args = self._normalize_command([p], True)
             self._config_guess_output = subprocess.check_output(args,
                 cwd=self.topsrcdir).strip()
 
         return self._config_guess_output
 
--- a/python/mozbuild/mozbuild/mozconfig_loader
+++ b/python/mozbuild/mozbuild/mozconfig_loader
@@ -7,16 +7,23 @@
 # This script is not meant to be called by users. Instead, some
 # higher-level driver invokes it and parses the machine-tailored output.
 
 set -e
 
 ac_add_options() {
   local opt
   for opt; do
+    case "$opt" in
+    --target=*)
+      echo "------BEGIN_MK_OPTION"
+      echo $opt | sed s/--target/CONFIG_GUESS/
+      echo "------END_MK_OPTION"
+      ;;
+    esac
     echo "------BEGIN_AC_OPTION"
     echo $opt
     echo "------END_AC_OPTION"
   done
 }
 
 ac_add_app_options() {
   local app