Commit Graph

2246 Commits

Author SHA1 Message Date
Mike Hommey
da40819e21 Bug 1290040 - Make find_program return short paths automatically when paths contain spaces on Windows. r=gps
Also fake enough of ctypes to keep the configure unit tests passing
after these changes.
2016-08-02 13:20:44 +09:00
Mike Hommey
318ded3048 Bug 1289949 - Make mozpack.path properly handle paths on mingw python. r=gps
Mingw python has a different os.path setup from native python, and has
os.sep and os.altsep reversed. In that case, the normsep function was
doing the wrong thing, leading to all sorts of problems.

While fixing this, also ensure the corresponding unit test covers this
peculiarity, even when running under the native win32 python.

--HG--
extra : rebase_source : 8fb18e0d4dc669c1d7e069f73fc44c22d419d43c
2016-07-28 18:50:57 +09:00
Ehsan Akhgari
926b72001b Bug 1281968 - Include the flags passed through CC/CXX in ./mach compileflags; r=gps 2016-07-28 15:12:12 -04:00
Mike Hommey
e6ea4a5bfe Bug 1195748 - Make mach clobber never auto-log. r=gps
This never was a problem since auto-logging was broken on Windows, but
having mach clobber auto-log is a problem on Windows since it tries to
remove the log file while itself has it open, which fails.

--HG--
extra : rebase_source : 6da9f3e6148c201eade01d4598ce9c4becd051a0
2016-07-27 16:29:02 +09:00
Mike Hommey
6283835342 Bug 1195748 - Fix mach auto-logging on Windows. r=gps
We were relying on the log manager's terminal to know whether we're
running on a terminal to turn on auto-logging, but the log manager's
terminal is always None on Windows because blessings imports curses,
which doesn't work on Windows.

So instead, just use a plain os.isatty() call.

The same problem also applies to the show-log command to trigger the
pager (less). At the same time, fix the environment setting for LESS,
as on Windows, unicode literals are not allowed in the environment.

--HG--
extra : rebase_source : 1462849608c8cb86afcb080184efb50caf6d2f9e
2016-07-27 13:42:18 +09:00
Carsten "Tomcat" Book
7293066753 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00
Iris Hsiao
bb2d612158 Backed out changeset 2141360b4137 (bug 1288425) for build bustage 2016-07-27 10:59:10 +08:00
Andrew Halberstadt
18f9c226a5 Bug 1288425 - Make sure we skip invalid extensions when linting with --rev or --workdir, r=smacleod
Some linters, such as flake8, will lint invalid file extensions if you explicitly pass them in. E.g,
|flake8 foobar.js| will result in flake8 attempting to lint a JS file. This is a problem because passing
in files explicitly is exactly what the --rev/--workdir options do. If a developer modifies a JS file
then runs |mach lint -l flake8 -w|, that JS file will get linted.

To prevent this, mozlint needs to handle file extensions instead of relying on the underlying linter to
do it. This patch adds an "extensions" config option to the LINTER dict, and will filter these files out
as part of the 'filterpaths' steps.

MozReview-Commit-ID: KYhC6SEySC3

--HG--
extra : rebase_source : 46807a4913660f33e691b864c2c59c448902dfa5
2016-07-19 13:50:25 -04:00
Nick Alexander
c6f2ef4d51 Bug 1268944 - Remove GeckoView packaging. r=chmanchester
The best kind of patch: bulk deletion.  This removes two separate but
similar build flags, and an unsupported integration piece.  The first
packaged Fennec's resources into an ill-defined GeckoView archive; the
second built on the first to produce an Android ARchive for external
consumption.  Neither of these artifacts are supported or have
consumers; in fact, they mislead potential consumers, since they're
known to be broken.  The Gradle build work under the --with-gradle
flag, and significant follow-up, is the path forward if Mozilla wants
to invest in packaging GeckoView on Android for external consumption.
That is, rather than hacking together AAR files, we'll use the
well-supported Gradle mechanisms for building and publishing such
libraries.

MozReview-Commit-ID: 4Z1jJ8z0cyJ

--HG--
extra : rebase_source : b8e65f39c286313fe8963bf3832d9b6977ef188f
2016-07-25 11:54:03 -07:00
Gregory Szorc
217ec4c7cc Bug 1288610 - Add functions for creating deterministic tar archives; r=ted
I have a need to create tar archives deterministically
and reproducibly. Since we already have similar functionality in
mozpack for producting zip/jar archives, I figured it made sense for
this functionality to live in mozpack.

I made the functionality as simple as possible: we only accept
files from the filesystem and the set of files must be known in
advance. No class to hold/buffer state: just a simple function
that takes a mapping of files and writes to a stream.

MozReview-Commit-ID: If0NTcA7wpc

--HG--
extra : rebase_source : 9cbea36347ba2840dd5bff9dffefd994a73a0725
2016-07-25 12:46:07 -07:00
Carsten "Tomcat" Book
b9a6c687fa merge mozilla-inbound to mozilla-central a=merge 2016-07-25 15:50:41 +02:00
Mike Hommey
cb0e41dd08 Bug 1288313 - Ensure the host and target compilers build for the right endianness. r=chmanchester
--HG--
extra : rebase_source : d47263faac601a0d1b5a89ac6e9d3d373f0b15a1
2016-07-21 08:24:45 +09:00
Geoff Brown
0d1fe4cb03 Bug 1288450 - Add min sdk version to mozinfo.json; r=ahal 2016-07-22 14:31:36 -06:00
Nathan Froyd
ed6e02e2df Bug 1288795 - remove dead assignments in test_emitter.py; r=chmanchester
Prevailing style in the file for when read_topsrcdir is being tested for
exception-throwingness is to omit the assignment, so let's make
everything consistent.
2016-07-23 00:28:05 -04:00
Geoff Brown
813df3ea0e backout 69094e855e27 for mozinfo test failures 2016-07-22 09:31:09 -06:00
Geoff Brown
e85a5267b7 Bug 1288450 - Add min sdk version to mozinfo.json; r=ahal 2016-07-22 08:18:49 -06:00
Mike Hommey
13244904c4 Bug 1288313 - Ensure the host and target compilers build for the right kernel. r=chmanchester
--HG--
extra : rebase_source : 654ec31f94befe4c966570229d15e9e9288ec82f
2016-04-26 15:38:45 +09:00
Mike Hommey
ae1ab9803b Bug 1288313 - Ensure the host and target compilers build for the right CPU. r=chmanchester
And for GCC and clang, try to see if adding -m32, -m64 or --target
works if they don't.

--HG--
extra : rebase_source : 874bc2404a5ccc48e938bc7d9b2fe67ba625cb3e
2016-04-22 15:08:55 +09:00
Tom Tromey
5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Mike Hommey
7721a052bc Fixup for bug 1286204 - Update error message to reflect the change in clang requirement. r=me 2016-07-20 20:58:49 +09:00
Andrew Halberstadt
d5b1ff9f2e Bug 1287834 - [mozlint] Fix regression preventing specific linters from being run, r=smacleod
MozReview-Commit-ID: KYhC6SEySC3

--HG--
extra : rebase_source : bce3e321f407b89d65f1491be74384c0ae171431
2016-07-19 11:50:33 -04:00
Dustin J. Mitchell
e8b852658b Bug 1281004: vendor voluptuous; r=gps
MozReview-Commit-ID: Hzz7EFf4coX

--HG--
extra : rebase_source : 08bd1896b08596b30a5fe8d735add194fa724fea
2016-06-29 20:39:02 +00:00
Mike Hommey
7df7b057ce Bug 1286204 - Require at least clang 3.6. r=froydnj
--HG--
extra : rebase_source : e49f87d8c7d47c48a23650fbbbbf0dafbccc209d
2016-07-08 16:38:55 +09:00
Paul Adenot
8af86d2428 Bug 1287486 - Add libx11-xcb-dev to the list of required packages to build on Ubuntu, and sort the list. r=gps
MozReview-Commit-ID: GqSSpfT3vlm

--HG--
extra : rebase_source : 70eeb4090bd1bfb7f10a2d91c68bfc829ebc363a
2016-07-18 17:52:53 +02:00
Andrew Sutherland
6c8ba64682 Bug 1286467 - add gdb pretty printer for nsTHashtable/nsBaseHashtable/friends. r=tromey 2016-07-17 17:27:45 -04:00
Carsten "Tomcat" Book
a61e84c9f3 merge fx-team to mozilla-central a=merge 2016-07-17 09:16:38 +02:00
Xidorn Quan
41183dd2dc Bug 1287069 - Add --disable-e10s for mach run. r=gps, a=KWierso
MozReview-Commit-ID: 2rIEsYwxZj5

--HG--
extra : amend_source : a9ce0e812cf1fb43641e8bb6a608806a383210f9
extra : transplant_source : %EA%97%EC%EC%7Dc%E9%3C%01%93%A4%3F%95X%864R/%1B%96
2016-07-15 20:20:49 +10:00
Nathan Hakkakzadeh
e5cc1aa101 Bug 1100925 - Vendored pylru 1.0.9 into mozilla-central. r=gps
This makes building on msys2 easier since its pip is broken.

MozReview-Commit-ID: 1hQHeu3BKOd

--HG--
extra : rebase_source : 5447d96893a502225980d1dab7b4f89b888ad661
2016-07-13 14:22:01 -07:00
Nathan Hakkakzadeh
9775d4ad15 Bug 1100925 - Added modification for MinGW64 version of Python so it will have system modules. r=gps
Added a quick for MinGW64 then adds the default location of system modules to
sys.path.

MozReview-Commit-ID: IubUhpB3rOf

--HG--
extra : rebase_source : 95f2245fb254473fb9977b37b60f087c05a7eedc
2016-07-06 14:16:50 -07:00
Nathan Hakkakzadeh
f28bd15876 Bug 1100925 - Added site.py from virtualenv upstream. r=gps
This is going to be necessary for MSYS2 which needs a custom site.py since
the MinGW64 version of Python does not import the system packages.

MozReview-Commit-ID: EfHRmRSmvlV

--HG--
extra : rebase_source : 6ffbcda31318d3581ded3bf860bbd0db2eec8780
2016-07-06 14:15:26 -07:00
Andrew Halberstadt
d3c5539c81 Bug 1278890 - Add xpcshell support to test package mach environment, r=armenzg
This adds the 'xpcshell-test' command to the mach environment found in the test
package. This will allow developers to easily run xpcshell after checking out
and interactive worker.

MozReview-Commit-ID: fBAbfuG5XQ

--HG--
extra : rebase_source : 71077c9142f33843ed87d4bc4617a780f775939b
2016-07-13 10:55:37 -04:00
Justin Wood
27f34d80f1 Bug 1223385 - use in-tree compare-locales in Makefiles, r=gps
Also fix that the default merge dir in the mach command creates a directory
that's the merge make target, and thus keeps that make target from actually
running.

MozReview-Commit-ID: HWZBPxWuHSy

--HG--
extra : rebase_source : a39157ad9eb99f3eef5d149d003e62a235f92fc1
2016-07-08 11:59:27 -04:00
Nathan Hakkakzadeh
6a16b60f89 Bug 1100925 - Virtualenv now copies a site.py file in its folder (if it exists) instead of using the hex string for site.py that is in its source code. r=gps
We need this to avoid weird site.py hacks to get msys2 to play nicely with virtualenv.

MozReview-Commit-ID: 9lJSo6MistO

--HG--
extra : rebase_source : 598f25a207dc4307ed531f4e4e5dcfb951ae8283
2016-06-06 10:27:05 -07:00
Nathan Hakkakzadeh
2608abcab5 Bug 1100925 - Virtualenv no longer attempts to use symlinks when the os module does not have it. r=gps
Before, virtualenv would try to use symlinks based entirely on the value given by the options parser.

Unfortunately, some versions of Python cannot symlink (specifically the MinGW version of Python).

Now, virtualenv ensures the os module has the symlink funciton before attempting to use the symlink function.

MozReview-Commit-ID: DFJ59AaPNpB

--HG--
extra : rebase_source : 4a92c9cbfbfe205e18b890e100fe549d78cebc81
2016-06-02 14:29:26 -07:00
Nathan Hakkakzadeh
7394210aad Bug 1100925 - For whatever reason MinGW Python cannot import functools which is needed in the build process. r=gps
By placing the functools module in the REQUIRED_MODULES list, the environment will not throw an ImportError when the build systemimports functools.

MozReview-Commit-ID: 8DjzXqxvxXd

--HG--
extra : rebase_source : 47ceae1e8b852e0b8bf61f9b34cc953db42e393e
2016-06-02 13:53:10 -07:00
Nathan Hakkakzadeh
57e72ee336 Bug 1100925 - Added flags in virtualenv to differenciate between a native Windows version of Python and a MinGW64 version of Python running in msys2. r=gps
This is going to be necessary in the following commits to ensure that virtualenv has access to native libraries.

MozReview-Commit-ID: FwxOoCWnQMW

--HG--
extra : rebase_source : c4cf829231757b3dc2c5ca821c7248dc3fb0d763
2016-06-02 13:19:28 -07:00
Nathan Hakkakzadeh
9a1951f28d Bug 1100925 - bin_path method of virtualenv.py in mozbuild now accurately detects if virtualenv is in a windows system. r=gps
Before bin_path would detect msys2 as if it were a windows system which would cause a virtualenv problem since the binaries should go in a /bin folder not a /Scripts folder for msys2.

Based on a patch by :vlad 89b21efe93

MozReview-Commit-ID: IyAukszHGmN

--HG--
extra : rebase_source : 9ada9cf61b76c85cf483ad8212c95d17070a7025
2016-06-02 12:26:47 -07:00
Nathan Hakkakzadeh
496b526e30 Bug 1100925 - Added mingw32-make to the list of possible makes. r=gps
Technically, this includes the mingw64 version of make, but it is still called mingw32-make when installed from pacman with msys2.

This is a necessary step to make Firefox build on a pure msys2 environment.

Also, unlike mozmake, because this make is installed from a package manager. It can be automatically updated.

MozReview-Commit-ID: EAN6xmIgYWd

--HG--
extra : rebase_source : 43fe0d4b35e91f1143ce2ea1d20f5f3c5f1f7c86
2016-05-31 15:47:37 -07:00
Nathan Hakkakzadeh
cf3b86a327 Bug 1100925 - Mach now detects msys2. r=gps
Before, mach would only detect MINGW32 (used with msys). Now it also detects MINGW64 (used with msys2).

MozReview-Commit-ID: 6IrNNmkLKgB

--HG--
extra : rebase_source : e84ee16b5bbc1b6b113163ba5b61759f763645c1
2016-05-31 14:44:53 -07:00
Nathan Hakkakzadeh
5aa1fe6bf4 Bug 1177128 - Added bootstrapper for MozillaBuild that installs rustup. r=gps
MozReview-Commit-ID: D4DuE0Z35Cd

--HG--
extra : rebase_source : 8bb18d459a5f60ed7083e5b591558e241a89175c
2016-07-07 16:26:48 -07:00
Wei-Cheng Pan
4d9de45f4d Bug 1283763 - Fix gdb pretty printers for nsTArray. r=tbsaunde
MozReview-Commit-ID: 6ZirDggUeyD

--HG--
extra : transplant_source : %EA%BF%05i%FC%20%BB%0Dq%AC%E7%A7%E9%F7%D0%F4%C3%82O%F6
2016-07-01 14:58:49 +08:00
Mike Hommey
9607db6e29 Bug 1283052 - Remove some of the magic around mozconfig detection. r=gps
The mozconfig detection logic has bitten us on many occasions in the
past. The following changes are made to tentatively improve the
situation:

- The API is modified such that autodetection of the mozconfig has
  to be a conscious decision made by the caller, and not triggered
  any time there is no mozconfig given, which could be a conscious
  decision of the opposite.

- mozinfo.json now stores the actual mozconfig (or lack thereof) used
  during configure.

--HG--
extra : rebase_source : c7a632afd414f25daf7bbe7e1a66c3736c26e039
2016-07-08 08:43:17 +09:00
Gregory Szorc
5030a743a1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 8f5061080a3d56dd484f9be03649fb65f0145f67
2016-07-06 09:01:38 -07:00
Wes Kocher
a425a052c1 Backed out changeset d7f98208809f (bug 1186064) for breaking SM(pkg) jobs a=backout 2016-07-06 10:11:04 -07:00
Gregory Szorc
6e4d0edfbc Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 22ab4f47661ead4995d0c5261104abfb02b82aa2
2016-07-06 09:01:38 -07:00
Andrew Halberstadt
3c8be23f37 Bug 1281899 - [mozlint] Add ability to lint files touched by revisions and/or the working directory, r=smacleod
This adds two parameters, --rev and --workdir. Each works both with mercurial and git (though the syntax for
specifying revisions is different between them). The value is simply forwarded to either |hg log| or |git diff|
so syntax like |mach lint -r .~4::.| or |mach lint -r "HEAD~4 HEAD"| will work as expected.

MozReview-Commit-ID: aOGp2Yrncs

--HG--
extra : rebase_source : d2cb834d4cc1a083171a3551af4e72c8a7d14021
2016-06-24 14:09:58 -04:00
Andrew Halberstadt
482f8a956c Bug 1281899 - [mozlint] Create cli module and move logic from tools/lint/mach_commands.py there, r=smacleod
There is currently no built-in user interface to mozlint. The only existing interface is the
external cli provided by |mach lint|. However, in the future mozlint may need to be used in a
context where mach isn't readily available (i.e version-control-tools). This patch basically
just moves the cli logic out of mach_commands.py, and into mozlint core. That way it can be
re-used in other places without needing to be re-implemented.

The |mach lint setup| subcommand was removed because apparently subcommands don't work with
the parser attribute. Nothing was using it yet anyway, so I removed it for now. It may get
re-added in some form in the future.

MozReview-Commit-ID: aOGp2Yrncs

--HG--
extra : rebase_source : 8f7530de96e5c131d2ed5bfcdd7a159329401e5b
2016-06-24 14:06:22 -04:00
Gijs Kruitbosch
47178e3a6c Bug 1282420 - fix artifact builds so they don't depend on mach being invoked in the topsrcdir, r=chmanchester
MozReview-Commit-ID: BjgxYVI2se0
2016-06-27 14:42:38 +01:00
Carsten "Tomcat" Book
5c90a99952 merge mozilla-inbound to mozilla-central a=merge 2016-06-29 16:13:05 +02:00
Gregory Szorc
d46f71b8c0 Bug 1279564 - Return a 2-tuple from get_state_dir(); r=glandium
This matches the implementation from mach_bootstrap.py.

MozReview-Commit-ID: 8kZCKuIsAMQ

--HG--
extra : rebase_source : 59b1f3d595e1663603363bb712da9cb74c3ba0e0
extra : amend_source : e95774ade1c7d28ba1d880b6b9ef1d64eaa618a8
2016-06-10 09:39:29 -07:00