Commit Graph

1274 Commits

Author SHA1 Message Date
Phil Ringnalda
ade5f6b03b Merge m-i to m-c, a=merge 2014-12-24 15:38:41 -08:00
Nathan Froyd
87fa686177 Bug 1114598 - move common IPDL file handling from recursivemake.py to common.py; r=gps
The recursivemake backend knows how to do several things with the IPDL
sources:

1) Determine the C++ sources that will be generated from given IPDL
   sources.
2) Write out all the makefile rules and variables for said sources.

The first part isn't unique to the recursivemake backend; other backends
would eventually like to know what C++ sources come from IPDL source
files for easier cross-referencing purposes, etc.  Let's take a first
cut at moving things into CommonBackend.  (This may not be the best
interface, since it relies on consume_finished being invoked, and not
all backends call CommonBackend.consume_finished.  Still, it's a start.)
2014-12-22 10:00:48 -05:00
Nathan Froyd
e431a96248 Bug 1113730 - fix TypeError in the visualstudio backend; r=gps,f=philip.chee 2014-12-19 12:21:22 -05:00
Wes Kocher
aca592252a Merge inbound to mozilla-central a=merge CLOSED TREE 2014-12-23 16:47:42 -08:00
Pavel Roskin
ba063ce0ea Bug 1111256 - Use LooseVersion for Python version comparison; r=gps
Python release candidates didn't parse with StrictVersion. Use
LooseVersion instead.

--HG--
extra : amend_source : 1a247ac877fa343dbe69fbe5ce9850c5081147bc
2014-12-23 09:43:45 -08:00
Gregory Szorc
c3c3fed10d Bug 930808 - Upgrade to psutil 2.1.3; r=glandium
psutil 2.1.3 is replacing psutil 1.0.1. There are numerous bug fixes and
feature enhancements in psutil worth obtaining.

Source code was obtained from
https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz and
uncompressed into python/psutil without modification except for the
removal of the egg-info directory and the .travis.yml file.

--HG--
extra : source : 697eb6db7d96dc21e817cd27a7e46ed4ab00f9bb
2014-12-23 10:45:15 -08:00
Phil Ringnalda
94a47f7adb Backed out changeset 697eb6db7d96 (bug 930808) for OS X make check failures 2014-12-23 21:04:19 -08:00
Gregory Szorc
5db809d2e3 Bug 930808 - Upgrade to psutil 2.1.3; r=glandium
psutil 2.1.3 is replacing psutil 1.0.1. There are numerous bug fixes and
feature enhancements in psutil worth obtaining.

Source code was obtained from
https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz and
uncompressed into python/psutil without modification except for the
removal of the egg-info directory and the .travis.yml file.

--HG--
extra : rebase_source : 90b02e514e5dd1249d97d83223ef8fcf20c9da94
extra : histedit_source : 2e96344e1796b6156ccf279684687b2e8995be92
2014-12-23 10:45:15 -08:00
Gregory Szorc
b869e6ac9f Bug 930808 - Upgrade virtualenv to 12.0.2; r=glandium
Source archive downloaded from
https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.2.tar.gz
and uncompressed into python/virtualenv. The egg-info directory was
removed.

--HG--
extra : rebase_source : e96572c694b2e780ed143a08b3c6670273a39fdb
extra : histedit_source : 17d490c968fdadd4dacad3b880bfcb1fc7b3e148
2014-12-23 10:26:10 -08:00
Wes Kocher
e03da44502 Merge m-c to fx-team a=merge CLOSED TREE 2014-12-23 16:56:21 -08:00
Nick Alexander
7ad5c4ecc5 Bug 1108771 - Part 4: Implement |mach bootstrap| for mobile/android on OS X with homebrew. r=gps
Pushing on a CLOSED TREE because this is NPOTB.

The custom brew formula is a lightly edited version of an earlier
revision of brew's android-ndk.rb.  It's not clear that using a custom
brew formula for the Android SDK version r8e is better than using the
existing android Python module for installing the SDK and the NDK, but
it's done now and works locally.  If we really wanted to avoid shipping
it, we could probably arrange to land it in
https://github.com/Homebrew/homebrew-versions.

I see no easy way to install the Java 1.7 JDK with macports, so in the
spirit of the good now being better than the perfect later, I've
punted.  (I don't see an Android NDK package either, but that
functionality exists in Python.)  Patches wanted!

--HG--
extra : rebase_source : d3ca836951b05eb30fabc17e523676d31c1ec0ef
extra : amend_source : d34e9eb5cd840b827a7ce65a0d22c1c275efff09
2014-12-21 15:29:19 -08:00
Nick Alexander
4a29a2e846 Bug 1108771 - Part 3: Factor _ensure_*_packages out of OS X bootstrapper. r=gps
This prepares the way for implementing install_mobile_android_packages
on OS X.

--HG--
extra : rebase_source : b52b7080f857e351e71f169f09a42dfd61b43a43
2014-12-21 15:29:19 -08:00
Nick Alexander
9ab5f03f22 Bug 1108771 - Part 2: Implement |mach bootstrap| for mobile/android on Debian-like systems. r=gps
This adds a generic android Python module that handles:

* downloading and unpacking Google's Android SDK and NDK bundles;
* using the |android| tool to install additional Android packages;
* printing a mozconfig snippet suitable for mobile/android builds.

--HG--
extra : rebase_source : abaffcee70eacb391f53d622fba4a445277818db
2014-12-21 15:29:18 -08:00
Nick Alexander
c07812974d Bug 1108771 - Part 1: Prompt for which application to bootstrap. r=gps
This lays the foundation for adding support for bootstrapping
mobile/android.

* Queries for which application to bootstrap, currently browser or
  mobile/android;

* Adds call to install_APPLICATION_packages after
  install_system_packages;

* Adds call to suggest_APPLICATION_mozconfig after bootstrapping
  everything;

* and splits install_browser_packages out of install_system_packages
  throughout (essentially untested, but generally simple).

To implement a new application (b2g?), just add it to the list of
applications and implement install_b2g_packages throughout.

--HG--
extra : rebase_source : 8c9b4485dbe5ceb64436fd73ea0258592a2b818f
2014-12-21 15:29:17 -08:00
Nathan Froyd
acf1d1ab57 Bug 1114684 - inform mozinfo about the MOZ_TSAN build configuration; r=ahal
Various bits of the test harnesses key off of mozinfo.info.get('asan');
we will need a similar switch for finding out whether this build
supports tsan.
2014-12-22 13:46:14 -05:00
Brian O'Keefe
f6037f90a0 Bug 923080 - Generate xpt files into final location. r=glandium
Now that the mozbuild backend knows about FINAL_TARGET, we are able to
install generated xpt files into their final location. This saves us
from copying xpt files into their final location on every build.

Original patch by gps, rebased and comments addressed by Ms2ger

--HG--
extra : transplant_source : %E2%DC%0F%E0%AD%C2%25%A1%B8%A9%FE%B0%8C%60%FF%CB%02G%25%E5
2014-05-21 08:25:57 -04:00
Nathan Froyd
5a17186bee Bug 1109409 - improve mozpack.BaseFile.copy() performance on Windows; r=gps
mopack.BaseFile.copy() performs a generic read/write file copy.  Windows
has an explicit CopyFile() call that tests have shown to be
significantly faster.  Let's use that instead via the magic of ctypes.
2014-12-12 11:59:24 -05:00
Xidorn Quan
2c586157aa Bug 1103644 - Try default browser for "mach resource-usage" if the specified one doesn't work. r=gps DONTBUILD
--HG--
extra : rebase_source : 78aa8c5f3e89dae0680f5688d0b0c80093e7549b
extra : amend_source : bd2dfce52c1647831dba1b3fbb2790bfce0beae0
extra : histedit_source : 2f0640e53e7ac359e4c050f73f86546518211e1e
2014-12-19 09:50:20 +11:00
Nathan Froyd
f4a5c0b55a Bug 1109302 - make moz.build *SOURCES variables emit proper objects; r=gps
Having SOURCES and its close relatives go through VariablePassthru
objects clutters the handling of VariablePassthru in build backends and
makes it less obvious how to handle things that actually get compiled.

Therefore, this patch introduces four new moz.build objects
corresponding to the major variants of SOURCES.  It looks like a large
patch, but there's an ample amount of new tests included, which accounts
for about half of the changes.
2014-12-09 16:45:59 -05:00
Carsten "Tomcat" Book
42565f2b20 merge mozilla-inbound to mozilla-central a=merge 2014-12-18 13:50:27 +01:00
Ankit Goyal
708f6087d0 Bug 1109867 - Check for debugger before getting debugger info; r=gps 2014-12-17 22:30:50 -08:00
Nicholas Nethercote
84f6830b78 Bug 1100851 (follow-up) - Fix trivial bustage in |mach run --dmd|. r=glandium.
DONTBUILD because NPOTB.
2014-12-16 20:46:40 -08:00
Gregory Szorc
d977d9d510 Bug 1108399 - Implement mach sub-command dispatching; r=ahal
--HG--
extra : rebase_source : f81c4c55db4b262e6c3f52d638f66b75d2d5d4e2
extra : source : 7d2f0a5d2829a7f44b2f7e97be93520ce13991f0
extra : histedit_source : 7d8e10a990cd19e3d2f5672b4d4da1bfae214f40
2014-12-06 22:33:12 -08:00
Gregory Szorc
4760a6fb8e Bug 1108399 - Handle help on mach sub-commands; r=ahal
--HG--
extra : rebase_source : b0a0ce3f5f6bf31ee3e0cd7d7cfd3be0fa9db598
extra : histedit_source : 2aee6a7bba61ce8074df1ed5edcd7fc2d27c5bf8
2014-12-06 22:39:32 -08:00
Gregory Szorc
f763bad6f0 Bug 1108399 - Split command group populating into own function; r=ahal
An upcoming patch will reuse this code. Split it out into its own
function.

--HG--
extra : rebase_source : 2057266a1ed4d86b1ca857712cd279bdfbd32148
extra : histedit_source : 8f2b7ec06e5b72ab08586902c51c3025a53259e6
2014-12-07 11:56:31 -08:00
Gregory Szorc
a263f9b2b2 Bug 1108399 - Introduce decorator for mach sub-commands; r=ahal
With this patch, we now have the ability to declare mach sub-commands.
Subsequent patches will implement dispatching for sub-commands.

--HG--
extra : rebase_source : 32a672ff3ba7a1a1c8c27dff3fe657dec08e3569
extra : histedit_source : 2bb2c27ae0e2dab052a6ef93b0a70f488f8cd56e
2014-12-07 11:40:39 -08:00
Gregory Szorc
66816678e1 Bug 1108399 - Properly name command help function; r=ahal
We will soon have proper sub-commands. Let's fix function names.

--HG--
extra : rebase_source : 1cb0c008ecc0d2159dd799e76adad4892d65f119
extra : histedit_source : 9472b2d2609224b011eca04385cf9d5a49986864
2014-12-06 21:58:46 -08:00
Gregory Szorc
d57b022a92 Bug 1108399 - Remove outdated comment about hooking up conditional commands; r=ahal
mach conditions are implemented elsewhere. This comment can die.

--HG--
extra : rebase_source : c956d5af7858d997a1f49f3b24bb54e5f8a52240
extra : histedit_source : 76b8155b12ab0ea86e16e807b1c6f691cb8f3640
2014-12-06 21:53:16 -08:00
Gregory Szorc
a48b6059ef Bug 1108399 - Fix docs for mach decorators; r=ahal
Documentation was referencing sub commands. The proper terminology is
"command."

--HG--
extra : rebase_source : aa2fc73c6141850109324fd5299491e49ef29e91
extra : histedit_source : da075bea5a36a9de81527d93a9fc751cd6cae9b2
2014-12-06 21:15:27 -08:00
Gregory Szorc
66b7a4e8ab Bug 1108399 - Properly link to Python docs; r=ahal
There were a few parts of the docs that were linking to Python types
incorrectly. Let's fix that.

--HG--
extra : rebase_source : 374be660084727eba1ce9181c2abf384f40eeb82
extra : histedit_source : bfa8de9b7a277666d92ebe71cd64ffed96628518
2014-12-07 11:37:54 -08:00
Gregory Szorc
132be91a95 Bug 1108399 - Split mach documentation into multiple articles; r=ahal
The main mach docs page is a bit long. Let's split it into multiple
articles to increase readability going forward.

--HG--
rename : python/mach/docs/index.rst => python/mach/docs/commands.rst
rename : python/mach/docs/index.rst => python/mach/docs/driver.rst
rename : python/mach/docs/index.rst => python/mach/docs/logging.rst
extra : rebase_source : 484d60327568333fcb0069e1f3444dc6db4322c0
extra : histedit_source : 18d09ac2e2e93565661763b6567f7a46226735f5
2014-12-07 11:34:06 -08:00
Gregory Szorc
69aec04d4d Bug 1108399 - Improve code linking in mach docs; r=ahal
Now that mach's docs are part of a proper Sphinx install, link to
Python type docs. While we're here, we also clean up formatting of code
samples.

--HG--
extra : rebase_source : 974337316dc87c04aca79a9e4a0d464490e5cdd4
extra : histedit_source : db87e8e5cb7c9c1969fd89e58c39623862684a6a
2014-12-07 11:23:46 -08:00
Gregory Szorc
0674daf560 Bug 1108399 - Move mach docs into sphinx; r=ahal
mach has restructured text documentation. Let's expose it to the in-tree
Sphinx config so we can increase visibility of the documentation.

--HG--
rename : python/mach/README.rst => python/mach/docs/index.rst
extra : rebase_source : 68a08bebaa5b99ca39e250fa1ed60ca4d7d0af68
extra : histedit_source : 6afda2fece486547192c1c8eba97a2474e3d99c1
2014-12-07 10:40:19 -08:00
Nicholas Nethercote
d335ff94c5 Bug 1100851 (follow-up 2) - Fix more trivial bustage in |mach run --dmd|. r=glandium.
DONTBUILD because NPOTB.

--HG--
extra : rebase_source : 906b0ccf483fb5ab6be3fc9cef8482f28b38844f
2014-12-17 18:24:38 -08:00
Nathan Froyd
fa615683d1 Bug 1109826 - part 1 - make the preprocessor able to avoid emitting warnings about missing directives; r=mshal 2014-12-10 14:49:44 -05:00
Nicholas Nethercote
7d0f2f414e Bug 1100851 - Tweak DMD to account for the fact that $DMD can now be undefined. r=glandium.
Now that defining $DMD is no longer necessary to run DMD, this patch does the
following.
- Removes all the places where we set DMD=1 (test harnesses, etc.)
- Still handles DMD=1, for backwards compatibility.
- Prints "$DMD is undefined" at DMD start-up if appropriate.
- Writes a |null| value for |dmdEnvVar| in the JSON if $DMD is undefined. Bumps
  the DMD output version number accordingly.
- Changes a bunch of the test files accordingly, including changing the mode of
  script-ignore-alloc-fns.json in order to test a case where $DMD is undefined.

--HG--
extra : rebase_source : eb1ef5722410734ce6d7658465ff6f442ee4ed49
2014-11-27 21:04:46 -08:00
Phil Ringnalda
ab93e7a8f5 Backed out 2 changesets (bug 1105128) for Windows make check failures
CLOSED TREE

Backed out changeset 5dfe0838798c (bug 1105128)
Backed out changeset def38e936db8 (bug 1105128)
2014-12-09 20:42:01 -08:00
Gregory Szorc
2d7afd0fac Bug 1105128 - Alias os.path functions in local scope; r=glandium
Various os.path attributes are being used in tight loops. Having local
variables prevents extra dictionary lookups.

This appears to shave 10-20ms off of the tests install manifest
processing time.

--HG--
extra : rebase_source : de941f2978cf0b1fd7c4f7401c848b61d406a2c8
extra : amend_source : e33c896856fa559197496b8227e10ab8149d146e
2014-11-25 18:37:11 -08:00
Gregory Szorc
bea629df49 Bug 1105128 - Avoid excessive path normalization in FileCopier.copy(); r=glandium
FileCopier.copy() was performing a lot of os.path.normpath() operations.
Profiling revealed that os.path.normpath() was the function with the
most wall time CPU usage when processing the tests manifests. Upon
subsequent examination of the code in question, all the paths being used
were already normalized. So, os.path.normpath() wasn't accomplishing
anything.

This patch results in ~300ms reduction in wall time to process the tests
install manifest on a fully populated page cache. Execution time drops
from ~2.8s to ~2.5s.

Profiling reveals that after this patch os.stat() is the #1 wall time
consumer. However, os.path.{join,dirname,normpath} still account for
~1.5x the wall time of os.stat(). There is still room to optimize
this function.

--HG--
extra : rebase_source : b6f0862baa5168c609499fd95eb3517854bc8cce
extra : amend_source : 7e04c1eb74132bbbe86e721f0f209b19309a7a51
2014-11-25 18:16:22 -08:00
Nicholas Nethercote
5cc6a39a9a Bug 1094552 (part 6) - DMD: add support for cumulative heap profiling. r=mccr8.
By adding a new "cumulative" mode.

--HG--
extra : rebase_source : 5c851b7c594a134fae48393ff0becfd057715041
2014-10-30 20:22:47 -07:00
Nicholas Nethercote
5b5d3c27bb Bug 1094552 (part 5) - DMD: choose the profiling mode at start-up. r=mccr8.
This patch moves profiling mode selection from post-processing (in dmd.py) to
DMD start-up. This will make it easier to add new kinds of profiling, such as
cumulative heap profiling.

Specifically:

- There's a new --mode option. |LiveWithReports| is the default, as it is
  currently.

- dmd.py's --ignore-reports option is gone.

- There's a new |mode| field in the JSON output.

- Reports-related operations are now no-ops if DMD isn't in LiveWithReports
  mode.

- Diffs are only allowed for output files that have the same mode.

- A new function ResetEverything() replaces the SetSampleBelowSize() and
  ClearBlocks(), which were used by the test to change DMD options.

- The tests in SmokeDMD.cpp are split up so they can be run multiple times, in
  different modes. The exact combinations of tests and modes has been changed a
  bit.

--HG--
rename : memory/replace/dmd/test/full-reports-empty-expected.txt => memory/replace/dmd/test/full-empty-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-heap-empty-expected.txt => memory/replace/dmd/test/full-empty-live-expected.txt
rename : memory/replace/dmd/test/full-heap-sampled-expected.txt => memory/replace/dmd/test/full-sampled-live-expected.txt
rename : memory/replace/dmd/test/full-reports-unsampled1-expected.txt => memory/replace/dmd/test/full-unsampled1-dark-matter-expected.txt
rename : memory/replace/dmd/test/full-heap-unsampled1-expected.txt => memory/replace/dmd/test/full-unsampled1-live-expected.txt
rename : memory/replace/dmd/test/full-reports-unsampled2-expected.txt => memory/replace/dmd/test/full-unsampled2-dark-matter-expected.txt
rename : memory/replace/dmd/test/script-diff-basic-expected.txt => memory/replace/dmd/test/script-diff-live-expected.txt
rename : memory/replace/dmd/test/script-diff1.json => memory/replace/dmd/test/script-diff-live1.json
rename : memory/replace/dmd/test/script-diff2.json => memory/replace/dmd/test/script-diff-live2.json
extra : rebase_source : bf32cc4e0d82aa1a20ceb55e8ea259850b49cc06
2014-12-08 14:45:14 -08:00
Gregory Szorc
a508387f37 Bug 1108294 - Removed unused makeutils Python module; r=froydnj
There are no more consumers of makeutils.py in the tree. So we delete
it.

--HG--
extra : rebase_source : bf19cdf722027758161e588395464da83fc2c37c
2014-12-06 15:48:42 -08:00
Gregory Szorc
9315af3694 Bug 1107968 - Add --debug-command to mach; r=ahal
People often seek to learn how mach commands work. A common way to do
this is to launch a debugger and step through the code as it is
executing. But this requires someone to first find and modify the mach
command. This involves overhead.

This patch adds a global --debug-command argument to mach. When present,
we launch an interactive debugger right before command dispatch. This
allows people to easily enter a debugger to see what mach commands are
doing, hopefully lowering the barrier to understanding and contributing.

--HG--
extra : rebase_source : 5ebfa7f5fd89f96dac5f7cb035ab520c63b32e55
extra : amend_source : c53c988763c328020b49aa5c6245df685b6f30bc
2014-12-05 10:19:49 -08:00
Mike Shal
14f3dfd3b3 Bug 1091668 - generate voucher on signed plugin-container; r=glandium 2014-11-25 10:43:43 -05:00
Ting-Yu Lin
372d769fb9 Bug 1105090 - Update ccache parser against version 3.2. r=gps
ccache version 3.2 adds primary config and secondary config in the
statistic report. Update the ccache stats parser to support that.
2014-11-26 06:25:00 +01:00
Nick Alexander
002f7dc5c6 Bug 1105052 - Update in-tree jsmin to commit a878bf0. rs=gps
This is a straight copy from

a878bf0ba0

paired with a tiny change to use the new quote_chars option.

--HG--
extra : rebase_source : 75d604ffafc7062c663bca4242af35546d2c1e3a
2014-11-25 16:02:08 -08:00
Mike Shal
19a62eff82 Bug 1091668 - Import eme voucher script; r=ted, r=gerv 2014-11-03 11:24:55 -05:00
Mike Shal
c927a777e6 Bug 1091668 - Import bitstring-3.1.3; r=ted, r=gerv 2014-11-03 10:47:25 -05:00
Mike Shal
1dea3263d8 Bug 1091668 - Import pyasn1-0.1.7; r=ted, r=gerv 2014-11-03 10:46:46 -05:00
Kartikaya Gupta
903c1e3c5c Bug 1092217 - Allow debugging gtests via mach gtests --debug. r=ted 2014-11-24 15:29:40 -05:00
Anton Neumann
dba9e97358 Bug 906177 - Fix bootstrap on elementary; r=gps
DONTBUILD (NPOTB)

--HG--
extra : amend_source : 44cd72c98044aa380a5d60c5dd4127364f9ef6b3
2014-11-21 09:58:29 -08:00
Gregory Szorc
49f7be9f8b Bug 1094303 - Move XPT buildlist into misc tier; r=glandium
buildlist invocations are slow and can occur in parallel since the
underlying program obtains a lock on the modified file.

Moving the XPT-related buildlist invocation from the serial libs tier to
the parallel misc tier decreased my no-op build time on OS X from 43.5s
to 37.0s.

--HG--
extra : rebase_source : 7d274024c401b1ecfbc771424a69eb487808fcbf
2014-11-05 09:20:35 -08:00
Vaibhav Agrawal
d6312a24e8 Bug 1089037 - Removing invalid mochitests and moving webapprt-content tests to a seperate "webapprtContent" folder in object directory. r=jmaher, marco 2014-11-13 12:30:00 +01:00
Gregory Szorc
e77cda14fc Bug 1098135 - Traverse directories with misc rules; r=glandium
When the misc tier was added, only directories with misc-associated
variables from moz.build were traversed. This patch adds a dummy
variable to moz.build whose presence will add the directory to the misc
tier.

This will enable us to aggressively convert existing libs:: rules
to the misc tier.

--HG--
extra : rebase_source : c5477010c7d87fafa512f4fbbf1d2b995e07ffbd
extra : amend_source : a54eee6254ef2d63ef6b247d45e38eda2ab88fef
extra : histedit_source : c0f3352e84ec18ca7b88571cd5f9c2a33ab8eda9
2014-11-12 21:59:22 -08:00
Joshua Cranmer
528101b1f4 Bug 910781 - add support for FINAL_TARGET_FILES; r=gps 2014-07-23 13:56:25 -04:00
Gregory Szorc
e97f72f3d1 Bug 1094302 - Update build system tests to cover moved tier; r=glandium
This fixes |make check| bustage on inbound.
2014-11-06 20:17:17 -08:00
Gregory Szorc
c24dd59ec5 Bug 1094302 - Move JS module installation into the misc tier; r=glandium
JS module installation performs simple file copying or preprocessing.
There is no reason it can't occur in parallel. Move it to the misc tier.

As part of this, I recognized that TESTING_JS_MODULES was assigned to a
tier. Since these files are managed by an install manifest, they don't
belong to any tier. So the tier is now listed as None.

--HG--
extra : rebase_source : 963f0813e43802c017837ce9d55f8e666decd76a
2014-11-05 09:47:14 -08:00
Mike Hommey
090834ccfd Bug 1094037 - Move EXTRA_COMPONENTS and EXTRA_PP_COMPONENTS to the misc tier. r=gps 2014-11-06 09:29:11 +09:00
Wes Kocher
fd1b7c1e19 Backed out changeset db93b3cbdc17 (bug 1094037) on a CLOSED TREE 2014-11-05 17:22:50 -08:00
Mike Hommey
c5ad432837 Bug 1093499 - Add a -C option to mach build. r=gps
The build system being what it currently is, there are various cases where one
wants something explicit, rather than the current autodetection.

For instance, one may want to run
  make -C $objdir chrome
instead of
  make -C $objdir/chrome
that mach build chrome currently invokes.

There are several such usecases that mach's autodetection makes harder, and
it's sometimes awkward when telling people, to debug their issues, to run
  make -C objdir something
and hear back that objdir doesn't exist or something along those lines,
because they took "objdir" literally.
2014-11-06 09:29:27 +09:00
Mike Hommey
636eec2f2a Bug 1094037 - Move EXTRA_COMPONENTS and EXTRA_PP_COMPONENTS to the misc tier. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey
18ccc42254 Bug 1094033 part 2 - Add a "misc" parallel tier where to move parts of the libs tier that can be moved. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey
6353f52bb4 Bug 1094033 part 1 - Consolidate how to add new tiers. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey
0bb4264fe7 Bug 1091383 - Move delayload logic entirely in moz.build frontend code. r=gps 2014-11-04 13:48:25 +09:00
Andrew Halberstadt
4125d6266d Bug 1092149 - Use LooseVersion instead of StrictVersion in |mach mercurial-setup| so release candidates work, r=gps 2014-10-31 15:09:39 -04:00
Nick Alexander
a4f15f29c8 Bug 1090599 - Upgrade in-tree jsmin to release-2.0.11. r=gps
This updates to release-2.0.11 (sha1: 04374472ed18) from
https://bitbucket.org/dcs/jsmin/.
2014-10-30 17:02:33 -07:00
Mike Hommey
d667f4bb59 Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey
2a17803c46 Bug 1077148 part 1 - Define mozcrt in moz.build. r=gps
--HG--
rename : mozglue/build/Makefile.in => mozglue/crt/Makefile.in
rename : mozglue/build/fixcrt.py => mozglue/crt/fixcrt.py
2014-10-30 13:05:50 +09:00
Mike Hommey
bc89ac2f89 Bug 1090107 - Define stlport dependencies in moz.build. r=mshal 2014-10-29 13:29:42 +09:00
Nicholas Nethercote
bf89af2567 Bug 1080302 (part 3) - Convert -foo options to --foo in |mach run|. r=glandium. 2014-10-23 17:39:49 -07:00
Nicholas Nethercote
b3fe669873 Bug 1080302 (part 1) - Add support for --foo and /foo options where it's not already present. r=glandium. 2014-10-23 17:25:19 -07:00
Nicholas Nethercote
6705ab7753 Bug 1076446 (attempt 2) - Make the DMD test work on Windows. r=glandium. 2014-10-09 19:28:33 -07:00
Wes Kocher
353ba5fc78 Merge inbound to m-c a=merge 2014-10-24 15:05:02 -07:00
Richard Newman
da8a27c4ee Bug 1088788 - Fix build target for Eclipse projects. r=nalexander, DONTBUILD (NPOTB) 2014-10-24 11:06:48 -07:00
Wes Kocher
0fc643cb33 Merge inbound to m-c a=merge 2014-10-23 17:37:23 -07:00
Benoit Girard
b6f9b243d4 Bug 1062726 - Add ./mach ide [visualstudio,eclipse] command. r=gps
--HG--
extra : rebase_source : 6c0ed5227c59380722863be8ecc389d9a53fc0a0
2014-09-04 02:08:33 -04:00
Richard Newman
788ae8894c Back out inadvertent android_eclipse change from 4a19faedc32b (Bug 1070086). r=me, DONTBUILD on a CLOSED TREE (NPOTB) 2014-10-22 17:09:25 -07:00
Wes Kocher
9e6688bd5b Merge m-c to fx-team a=merge 2014-10-20 19:01:55 -07:00
Gregory Szorc
c4dc0ac8b9 Bug 1078007 - Update URL for Homebrew installer; rs=RyanVM
The installer URL moved upstream. Reflect that move.

DONTBUILD (NPOTB)

--HG--
extra : rebase_source : 1ab21c8ef8458db87a6594f1bfca439b386cc254
2014-10-20 09:12:50 -07:00
Wes Johnston
2da0f9c218 Bug 1070086 - Move download integration code to its own class. r=bnicholson 2014-10-20 12:24:49 -07:00
Edwin Flores
eaa54604a8 Bug 1072024 - Fix TestGMPCrossOrigin when run with |mach gtest| - r=ted 2014-10-14 11:04:59 +13:00
Mike Hommey
b9d972fbb4 Bug 1080375 - STATIC_LIBRARY_NAME doesn't need an explicit FORCE_STATIC_LIB. r=mshal 2014-10-10 17:09:10 +09:00
Ting-Yu Lin
c193bb1729 Bug 1088520 - Fix empty eclipse project generated on Linux. r=glandium
Use "Gecko" with captical letter 'G' for both project dir and the
project name in .project.
2014-10-24 03:11:00 +02:00
Carsten "Tomcat" Book
f22c011ab0 Backed out changeset 835fbe63da4a (bug 1076446) for perma failure in 10.8 mozilla-inbound debug test xpcshell 2014-10-24 12:32:38 +02:00
Nicholas Nethercote
0eef32c0e6 Bug 1079657 (follow-up) - Remove --mode=stress option from |mach run|. r=me.
DONTBUILD because this is NPOTB.

--HG--
extra : rebase_source : f2295ccffe59b0af6627169e96f98a8a755570e8
2014-10-08 18:20:07 -07:00
Mike Hommey
139046d56b Bug 1071568 - Only pass down templates to the sandbox context when calling moz.build templates. r=mshal
It's not entirely clear passing down all the metadata makes sense. On the
other hand, when creating the template execution sandbox, passing down
exports does assign the value for the exported variable in that execution
context. When that context is merged with the caller sandbox context, the
exported variable is reassigned, even if the value is not modified. Then,
if the caller sandbox itself reassigns the exported variable, it fails
because calling a template already did it once, unexpectedly.

Not passing down exported variables makes the template execution sandbox
never set those exported variables, so that they are not merged back. The
caller sandbox can then properly reassign the exported variable.
2014-10-09 10:14:26 +09:00
Nicholas Nethercote
c72cb48004 Bug 1074656 - Merge |mach debug| and |mach dmd| into |mach run|. r=gps.
--HG--
extra : rebase_source : a9da86cadae7fdbb0fe9e3931fb1163f4239527c
2014-10-08 15:12:02 -07:00
Nicholas Nethercote
fb69fa73f3 Bug 1077272 - Allow argument groups in mach commands. r=gps.
--HG--
extra : rebase_source : 478b305eedac6d30af748d80da408042aba48c14
2014-10-08 15:11:50 -07:00
Eric Rahm
e3149f012f Bug 806819 - Part 1: Remove FORCE_PR_LOG unified build restriction. r=gps 2014-10-08 13:17:27 -07:00
Gregory Szorc
a91aa652e8 Bug 1071012 - Extract Sphinx variables via AST reading; r=glandium
The in-tree Sphinx docs have been broken since bug 1041941 because
processing moz.build files outside their context doesn't work.
Specifically, templates aren't loaded (because this information usually
comes from a parent moz.build file). A new execution mode is needed.

I tried to implement a proper execution mode. However, I kept running
into walls. While we should strive for a proper execution mode, this can
be a follow-up, tracked in bug 1058359.

This patch implements extraction of Sphinx variables from ast walking.
It is extremely low-level and definitely a one-off. But it solves the
problem at hand: |mach build-docs| will work after this patch is
applied.

--HG--
extra : rebase_source : abd0a91a3efb24d3adfa19f4cd281ce5fd6d0915
extra : amend_source : c1b4f79224bab55e65a8c2b0f3103475281416c1
2014-10-07 10:36:27 -07:00
Bill McCloskey
46c57009ef Bug 930243 - Add a processType flag to chrome manifest directives (r=froydnj) 2014-10-07 11:46:24 -07:00
Mark Hammond
23ead7c6e4 Bug 1074507 - Avoid pre-filtering tests so we can have e10s-only tests. r=ted 2014-10-01 17:06:00 -04:00
Wes Kocher
159b48d0cf Merge m-c to inbound a=merge CLOSED TREE 2014-10-06 20:59:17 -07:00
Wes Kocher
5d7f3c7007 Backed out 5 changesets (bug 806819) for WinXP test failures on a CLOSED TREE
Backed out changeset 009ae35b0c67 (bug 806819)
Backed out changeset 5a57f87f5061 (bug 806819)
Backed out changeset f06cd735b5b3 (bug 806819)
Backed out changeset e25a2a8d4af4 (bug 806819)
Backed out changeset 70a167982c3f (bug 806819)
2014-10-06 16:32:50 -07:00
Mike Hommey
31a9d027d6 Bug 1076649 - Remove the '+' prefixing from mach commands with allow_all_arguments=True. r=gps
The reason to use '+' prefixing was to distinguish between options to the
mach command itself, and options that are passed down to whatever the
command does (like mach run passing down args to the built application).
That makes things unnecessarily awkward, and quite non-standard.

Instead, use standard '-' prefixing, and pass all the unknown arguments
down. If there is overlap between the known arguments and arguments supported
by the underlying tool (like -remote when using mach run), it is possible to
use '--' to mark all following arguments as being targetted at the underlying
tool.

For instance:
    mach run -- -remote something
would run
    firefox -remote something
while
    mach run -remote something
would run
    firefox something

As allow_all_arguments is redundant with the presence of a argparse.REMAINDER
CommandArgument, allow_all_arguments is removed. The only mach command with a
argparse.REMAINDER CommandArgument without allow_all_arguments was "mach dmd",
and it did so because it didn't want to use '+' prefixes.
2014-10-07 07:36:27 +09:00
Nick Alexander
a63ca8c787 Bug 1077381 - Follow-up: Try to fix Windows bustage. r=me
a=bustage on a CLOSED TREE

--HG--
extra : amend_source : c39a128f271f44e263d77f342665594ba161f933
2014-10-06 12:38:12 -07:00
Nick Alexander
3bbe719c31 Bug 1077381 - Encode generate_browsersearch verbose output as utf-8. r=gps
We need codecs for the print function and unicode_literals to let the
format() string stay undecorated.
2014-10-06 11:32:24 -07:00
Eric Rahm
6c9073397b Bug 806819 - Part 1: Remove FORCE_PR_LOG unified build restriction. r=gps
--HG--
extra : rebase_source : 004c828c1fd157fc0f13fd6a2ca85c264a34d60c
2014-10-06 13:06:55 -07:00
Nicholas Nethercote
d0767a756b Bug 1066680 (follow-up) - Unbreak |mach dmd|. r=me.
--HG--
extra : rebase_source : 3cfb38ea47653551c596487e3c51994797a1c733
2014-10-05 20:13:09 -07:00
Nicholas Nethercote
e7c6e0dc5f Bug 1044709 - DMD: emit JSON output and use Python for post-processing. r=mccr8.
--HG--
extra : rebase_source : ddc94d9be1ee0acc6dda30540defd5f40db0adcb
2014-09-02 20:34:58 -07:00
Wes Kocher
40b2127075 Merge m-c to inbound a=merge 2014-10-23 18:09:47 -07:00
Nicholas Nethercote
b3b573ee7b Bug 1076446 - Make the DMD test work on Windows. r=glandium.
--HG--
extra : rebase_source : 7cc8d3b18b0539ff170a98fa1c5706ff46e20d32
2014-10-09 19:28:33 -07:00
Ryan VanderMeulen
9e879e02d8 Merge fx-team to m-c. a=merge 2014-10-02 13:00:31 -04:00
Andrew Halberstadt
4d3fac0c51 Bug 1054809 - Add ability to open support files in gtests, r=ted
In moz.build:
TEST_HARNESS_FILES.gtest += ['foo']     # fopen('foo')
TEST_HARNESS_FILES.gtest.bar += ['foo'] # fopen('bar/foo')
2014-10-02 09:01:34 -04:00
Nick Alexander
e8066e326e Bug 1065306 - Post: Handle utf-8 files in DotProperties. r=gps 2014-10-01 23:23:30 -07:00
Nick Alexander
42a7aaca3d Bug 1065306 - Part 4: Write localized res/raw-*/browsersearch.json. r=mshal 2014-10-01 23:23:29 -07:00
Nick Alexander
74efebda0d Bug 1065306 - Part 3: Extract DotProperties helper. r=lucasr,mshal
The only substantive change here is to stop stripping the
'browser.suggestedsites.' prefix from each line when reading
region.properties.
2014-10-01 23:23:28 -07:00
Panos Astithas
e571a72e4b Bug 1066680 - mach run should provide an option to start without a profile. r=gps 2014-09-12 18:45:53 +03:00
Stephen Pohl
cf2ca1fd7c Mac v2 signing - Bug 1060562 - Update xpcshell-tests for the new v2 bundle structure on OSX. r=jmaher 2014-09-29 11:51:29 -07:00
Nick Alexander
c895290da3 Bug 1069648 - Add instrumentation manifests to moz.build. r=ted
These manifests are special in that they don't package their test files
into the test package.  Each test listed in an instrumentation manifest
serves as an identifier rather than a file.

--HG--
extra : rebase_source : 0321528a2dc380e57b824746efbcf61d295204a9
2014-09-26 11:44:58 -07:00
Nick Alexander
ac9ce94697 Bug 1070057 - Make TestResolver.resolve_tests filter by subsuite. r=ted
--HG--
extra : rebase_source : e04c903d40d5996ca28136bc9941dc74cd31ac9b
2014-09-26 11:44:57 -07:00
Mike Hommey
30749bbb89 Bug 1063437 - Remove MozbuildSandbox.normalize_path. r=gps 2014-10-02 09:14:08 +09:00
Mike Hommey
a98805beff Bug 1063437 - Use SourcePath smart type for sandbox includes. r=gps 2014-10-02 09:14:08 +09:00
Mike Hommey
24467333ae Bug 1063432 - Do type coercion on sandbox function arguments. r=gps 2014-10-02 09:14:08 +09:00
Mike Hommey
c5cfe825f5 Bug 1063414 - Make DIRS relative to the file they were added from. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey
1293137207 Bug 1063414 - Move sandbox execution stack to context.Context. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey
8844c6aea2 Bug 1063414 - Add infrastructure to follow what the current file being processed is in a Context. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey
2ff412e6fe Bug 1062221 - Change how DIRS and TEST_DIRS are handled. r=gps
Up to now, DIRS and TEST_DIRS were dumb values. This change makes them
a list of ContextDerivedValues, and handles the fact that some types of
paths are relative to the current source directory and others to the
topsrcdir.

This also makes us one step closer to fixing bug 991983.
2014-10-02 09:14:07 +09:00
Mike Hommey
0412683b7d Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey
29a2985c25 Bug 1062221 - Add a TypedList type and refactor mozbuild.util lists. r=gps 2014-10-02 09:14:06 +09:00
Nicholas Nethercote
3ab90f5a13 Bug 1072778 (part 2) - Use '-' instead of '_' in |mach dmd| flags. r=erahm.
DONTBUILD because |mach dmd| is NPOTB.
2014-09-25 17:20:12 -07:00
Nicholas Nethercote
f12878aa71 Bug 1072778 (part 1) - Make |mach dmd| work on Linux. r=erahm.
--HG--
extra : rebase_source : 72b0f570dfacc694fc00fd2ec571c57747c8fe38
2014-09-25 17:19:53 -07:00
Mike Hommey
4de8112911 Bug 837846 - Respect MOZ_MAKE_FLAGS when running make commands from mach. r=mshal 2014-09-26 07:35:28 +09:00
Ryan VanderMeulen
79910dd5bf Merge m-c to inbound. a=merge
CLOSED TREE
2014-09-24 16:08:33 -04:00
Carsten "Tomcat" Book
803e7e1b08 Backed out changeset aa8972afcbe5 (bug 1065306) 2014-09-24 08:30:34 +02:00
Carsten "Tomcat" Book
5eb8e199bc Backed out changeset c4ecd64d8b95 (bug 1065306) 2014-09-24 08:30:30 +02:00
Nick Alexander
48a60fa21f Bug 1065306 - Part 4: Write localized res/raw-*/browsersearch.json. r=mshal 2014-09-23 09:52:47 -07:00
Nick Alexander
ff5d5a9d09 Bug 1065306 - Part 3: Extract DotProperties helper. r=lucasr,mshal
The only substantive change here is to stop stripping the
'browser.suggestedsites.' prefix from each line when reading
region.properties.
2014-09-23 09:52:46 -07:00
Wes Kocher
cdeb7299d2 Merge m-c to inbound a=merge 2014-09-23 16:48:23 -07:00
Mike Hommey
00f2cd8287 Bug 837846 - Fix MOZ_MAKE_FLAGS handling for client.mk. r=mshal
After bug 762358 mk_add_options MOZ_MAKE_FLAGS was simply ignored in client.mk
processing. At the same time, mach environment was expecting a list of options
while the mozconfig reader returned a single string, so straighten this up at
the same time.
2014-09-24 07:56:58 +09:00
Wes Kocher
2a27a561af Merge m-c to inbound a=merge 2014-09-22 20:05:22 -07:00
Dave Townsend
fa734afbbd Bug 1035512: Add a new common JS testing harness based on the mochitest test runner. r=gps, ted, erikvold, jmaher 2014-09-22 11:08:06 -07:00
Eric Rahm
0d6799d21b Bug 1058851 - Add ability to launch with DMD enabled with |mach dmd|. r=njn, r=mshal
--HG--
extra : rebase_source : cef900604d004ea4847d979aeac4c2b5e7e0869d
2014-08-26 15:25:18 -07:00
Nick Alexander
e527d34eaf Bug 1069569 - Complain about missing test files for all suites. r=mshal
--HG--
extra : rebase_source : 55d571b413d6080f8fdb1e56b419c078d66f31e7
2014-09-19 11:19:37 -07:00
Ted Mielczarek
6f25a3ee9c bug 1052744 - Add mozbuild.makeutil.write_dep_makefile. r=gps 2014-08-26 11:55:47 -04:00
Nathan Froyd
272ec74032 Bug 1062518 - ensure that |mach python-test| considers $PWD when finding tests; r=mshal 2014-09-15 13:25:41 -04:00
Nathan Froyd
6db68aaf03 Bug 1067499 - make build error for misspelled variables more helpful; r=mshal 2014-09-15 13:23:53 -04:00
Nathan Froyd
51efcd8004 Bug 976733 - part 3 - convert testing/mozbase/ to use TEST_HARNESS_FILES; r=gps 2014-08-29 11:03:11 -04:00
Nathan Froyd
071791c0ea Bug 976733 - part 2 - add TEST_HARNESS_FILES and convert testing/mochitest/ to use it; r=gps 2014-08-15 14:28:26 -04:00
Nathan Froyd
0ce8a6bf9c Bug 976733 - part 1a - add test for EXTRA_JS{_PP,}_MODULES output; r=mshal 2014-09-15 13:31:25 -04:00
Nathan Froyd
ef62a1db88 Bug 976733 - part 1 - add walking functions to HierarchicalStringList; r=mshal
Having to walk over elements and strings of HierarchicalStringList with
an external recursive function is un-Pythonic and adds unnecessary
obfuscation to several tasks.  Add a walk() function to
HierarchicalStringList, modeled on os.walk(), to handle these cases more
directly.
2014-08-14 13:25:33 -04:00
Alessio Placitelli
77aeb04740 Bug 928397 - Enable xpcshell-test debugging on Windows platforms and default debugger detection. r=ted.mielczarek 2014-07-02 13:52:00 +02:00
Mike Hommey
c9e31ff915 Bug 1063860 - Refresh some of the variable/tier associations in mozbuild.context. r=gps 2014-09-11 12:12:18 +09:00
Gregory Szorc
1e5701ab22 Bug 1061684 - Normalize path separators in JAR paths; r=mshal
The forward slash appears to be the standard path separator in zip/JAR
files. Accept back slashes when adding paths to a JAR.

--HG--
extra : rebase_source : bd94eab36b347006e65952d99b53dd397e2ca758
extra : amend_source : 2cefd887d8bb5d989fafb398a3464429ac376e2e
2014-09-03 10:42:34 -07:00
Ryan VanderMeulen
672fb4d000 Merge fx-team to m-c. a=merge 2014-09-05 11:54:57 -04:00
Nick Alexander
872873401f Bug 1040945 - Part 2: Copy native libraries by name in AndroidEclipse backend make target. r=rnewman 2014-09-04 20:11:15 -07:00
Wes Kocher
e9463cd732 Merge m-c to fx-team a=merge 2014-09-04 18:58:12 -07:00
Nick Alexander
7a8dd29aa3 Bug 1062566 - Update to Java 1.7 and bump SDK version in AndroidEclipse build backend. r=rnewman
DONTBUILD NPOTB
2014-09-03 14:24:49 -07:00
Arnaud Sourioux
afd69a9841 Bug 1057871 - Print full path of mozconfig file used on 'mach ./configure' when error in mozconfig throws an exception r=gps 2014-09-03 12:14:00 +02:00
Carsten "Tomcat" Book
f3a49ddd8d Backed out changeset cfdcf950e403 (bug 105871) for wrong bug number in commit 2014-09-04 09:53:58 +02:00