Commit Graph

1500 Commits

Author SHA1 Message Date
Nathan Froyd
120870e236 Bug 1108750 - part 3 - move unified source mapping to the callers of _add_unified_build_rules; r=mshal
_add_unified_build_rules shouldn't be in the business of determining how
to group files into their unified files.  That logic belongs in the
caller of _add_unified_build_rules.  Once that's done, the logic for
determining how to group files can migrate out of the recursive make
bakend.
2015-01-19 14:58:21 -05:00
Nathan Froyd
b513767c2f Bug 1108750 - part 2 - move _write_unified_file to CommonBackend; r=mshal
Nothing about writing unified files is specific to the recursive make
backend, and if we want to write the unified files for IPDL and WebIDL
files, we'll need this functionality available in the common build
backend.
2015-01-19 14:45:32 -05:00
Nathan Froyd
86269471c0 Bug 1108750 - part 1 - move group_unified_files to mozbuild.util; r=mshal
RecursiveMakeBackend._group_unified_files doesn't contain any
functionality specific to the recursive make backend.  We would also
like to move the unification of generated IPDL and WebIDL source files
into the common build backend.  Moving _group_unified_files into the
common build backend would be the logical place for it, but the frontend
should also be able to handle unifying files so that backends don't have
to duplicate logic for UNIFIED_FILES.  Therefore, we choose to move it
to mozbuild.util as its final resting place.
2015-01-19 14:32:44 -05:00
Ryan VanderMeulen
56c1688db1 Merge inbound to m-c. a=merge 2015-01-26 16:28:17 -05:00
Ted Mielczarek
9583c6fcf6 bug 1124192 - Fix PATH winding up as unicode when using activate_virtualenv. r=gps 2015-01-26 13:43:01 -05:00
James Lal
5134f3d09d Bug 1068653 - Part 1 Add python dependencies for taskcluster mach commands r=gps 2014-11-26 10:11:28 -08:00
Nick Alexander
b51f5f2ea4 Bug 1123980 - Part 2: Write region-specific search settings into res/raw/browsersearch.json. r=mfinkle
Pushing on a CLOSED TREE since Android build only.
2015-01-20 16:27:27 -08:00
Nick Alexander
7e3906eaf4 Bug 1123980 - Part 1: Handle common prefixes in .properties lists and dicts. r=mshal
This handles:

list.0=A
list.1=B
list.sublist.0=C

so that

list=>[A, B]
list.sublist=>[C]

and

dict=default
dict.key1=A
dict.key2=B

so that

dict=>{key1:A, key2:B}
dict=>default
2015-01-21 14:31:22 -08:00
Markus Stange
0a22123e0e Bug 1118228 - Add an lldb helper that allows calling functions without debug info. r=jrmuizel, r=ehsan 2015-01-14 19:04:24 -05:00
Brian Smith
ebf74f4fbc Bug 1119776, Part 7: Avoid defining snprintf when MSVC provides it (other), r=bsmedberg 2015-01-08 22:35:33 -08:00
Ehsan Akhgari
f57e602fe0 Bug 1121000 - Remove support for non-unified builds; r=gps 2015-01-14 17:26:39 -05:00
Sai Prathik
9a8775d15c Bug 1119167 - Advertise IntelliJ support in build-backend message. r=nalexander 2015-01-11 19:17:00 -05:00
Nick Alexander
c99845c696 No bug - Fix typo in mozconfig output message. r=me
DONTBUILD NPOTB on a CLOSED TREE

This was tested by ally and mfinkle in #mobile.
2015-01-12 14:51:31 -08:00
Mike Shal
bc11b40e5d Bug 1118774 - Import python redo library; r=gps 2015-01-07 14:18:20 -05:00
Nick Alexander
c09b1243eb Bug 1117357 - Fix |mach bootstrap| for mobile/android on Mac OS X. r=gps
This does two things.  First, it aligns the brew formula name
(AndroidNdk) with the brew file name (android-ndk.rb).  Second, it
makes sure that we actually find the android-ndk.rb file.  I think
|mach bootstrap| always worked, due to a felicity where the working
directory always contained android-ndk.rb; but |python bootstrap.py|
failed because android-ndk.rb was downloaded to a temporary location
that was not included in the |brew install| command.
2015-01-08 13:47:42 -08:00
Ms2ger
2fbe219071 Bug 739601 - Rewrite (the used parts of) config/milestone.pl in python; r=gps 2015-01-09 10:24:45 +01:00
Nathan Toone
061959c128 Bug 1119350 - Upgrade virtualenv to 12.0.5; r=gps
This addresses issues with offline builds - due to pip latest version checking

Source archive downloaded from
https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.5.tar.gz
and uncompressed into python/virtualenv. The egg-info directory was
removed.
2015-01-08 10:52:07 -07:00
Nathan Froyd
6abed81ae8 Bug 1117860 - part 2 - factor out unified file writing from _add_unified_build_rules; r=mshal
Writing the unified files is another thing that will have to be moved
out of recursivemake.py eventually.  And it doesn't belong inline amidst
makefile rules and variables.  Move its logic to a separate function as
well.
2014-12-22 09:38:02 -05:00
Nathan Froyd
6e3ac098ec Bug 1117860 - part 1 - factor sources->unified file computation out of _add_unified_build_rules; r=mshal
_add_unified_build_rules does quite a lot of work besides adding
makefile rules and variables.  The divying up of source files into
unified files is one part of that, so move it out into its own function.
When we eventually move that computation out of recursivemake.py, this
refactoring will make it easier to verify that's what we've done.
2014-12-22 09:35:52 -05:00
Wes Kocher
bd05346fdc Merge inbound to m-c a=merge 2014-12-30 15:48:13 -08:00
Wes Kocher
635e154f17 Merge m-c to fx-team a=merge 2014-12-29 17:35:54 -08:00
Gregory Szorc
df57d91b67 NO BUG - Remove deleted python/codegen from Sphinx docs
The python/codegen directory was removed in 9cbc28021b7b (bug 1108294).
However, the Sphinx reference lingered. Kill the dangling reference.
2014-12-29 15:49:36 -08:00
Gregory Szorc
5724222212 Bug 1115278 - Fix mach documentation issues; r=glandium
terminal.py had an ambiguous |import logging| that was importing
mach.logging from Sphinx. We fix it.

There was also a poorly formed link in the mach commands documentation.
We fix it.
2014-12-24 10:26:34 -08:00
Gregory Szorc
6802f0c912 Bug 1115278 - Add virtualenv to Sphinx environment; r=glandium
Python API documentation requires the ability to import modules. So, we
set up a virtualenv in our Sphinx environment so module loading works.

This solution isn't perfect: a number of modules fail to import when run
under sphinx-build.
2014-12-24 10:17:02 -08:00
Gregory Szorc
b4eda56fb0 Bug 1115278 - Move Sphinx documentation staging into Sphinx extension; r=glandium
Previously, code for staging the Sphinx documentation from moz.build
metadata lived in a mach command and in the moztreedocs module. This
patch moves the invocation to the Sphinx extension.

When the code is part of the Sphinx extension, it will run when executed
with sphinx-build. This is a prerequisite to getting RTD working, since
sphinx-build is the only supported entrypoint for generating
documentation there.

With this patch, we can now invoke sphinx-build to build the
documentation. The `mach build-docs` command is no longer needed.
2014-12-24 09:46:41 -08:00
Wes Johnston
aafaba876c Bug 1064669 - Use a Viewless Fragment for managing MediaPlayer lifecycle. r=mfinkle 2014-09-19 16:55:18 -07:00
Phil Ringnalda
dba8ff7685 Merge m-i to m-c, a=merge 2014-12-24 15:38:41 -08:00
Nathan Froyd
8b887887b6 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
aa8351bf49 Bug 1113730 - fix TypeError in the visualstudio backend; r=gps,f=philip.chee 2014-12-19 12:21:22 -05:00
Wes Kocher
9a7cbc0d33 Merge inbound to mozilla-central a=merge CLOSED TREE 2014-12-23 16:47:42 -08:00
Pavel Roskin
b7eb105ffc Bug 1111256 - Use LooseVersion for Python version comparison; r=gps
Python release candidates didn't parse with StrictVersion. Use
LooseVersion instead.
2014-12-23 09:43:45 -08:00
Gregory Szorc
92dfb82329 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.
2014-12-23 10:45:15 -08:00
Phil Ringnalda
db84ee33c0 Backed out changeset 697eb6db7d96 (bug 930808) for OS X make check failures 2014-12-23 21:04:19 -08:00
Gregory Szorc
5881d1a65d 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.
2014-12-23 10:45:15 -08:00
Gregory Szorc
af58a95a53 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.
2014-12-23 10:26:10 -08:00
Wes Kocher
144b91830d Merge m-c to fx-team a=merge CLOSED TREE 2014-12-23 16:56:21 -08:00
Nick Alexander
dc4ab68d97 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!
2014-12-21 15:29:19 -08:00
Nick Alexander
fbe70122ec 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.
2014-12-21 15:29:19 -08:00
Nick Alexander
278608061f 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.
2014-12-21 15:29:18 -08:00
Nick Alexander
75df86f032 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.
2014-12-21 15:29:17 -08:00
Nathan Froyd
8f7cb7b720 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
20cea6a5cc 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
2014-05-21 08:25:57 -04:00
Nathan Froyd
04115eedfd 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
b159469f4e Bug 1103644 - Try default browser for "mach resource-usage" if the specified one doesn't work. r=gps DONTBUILD 2014-12-19 09:50:20 +11:00
Nathan Froyd
f22c40086b 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
4a50613811 merge mozilla-inbound to mozilla-central a=merge 2014-12-18 13:50:27 +01:00
Ankit Goyal
7ef730613c Bug 1109867 - Check for debugger before getting debugger info; r=gps 2014-12-17 22:30:50 -08:00
Nicholas Nethercote
d5bcc4e394 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
122658253a Bug 1108399 - Implement mach sub-command dispatching; r=ahal 2014-12-06 22:33:12 -08:00
Gregory Szorc
9a9ca81a03 Bug 1108399 - Handle help on mach sub-commands; r=ahal 2014-12-06 22:39:32 -08:00