Commit Graph

193 Commits

Author SHA1 Message Date
Dan Glastonbury
f1e1b786c6 Bug 1391523 - P5: Compile in audioipc crates. r=kamidphish
MozReview-Commit-ID: 6BC0fu1rrEE

--HG--
extra : rebase_source : b986541c97eee9eaa70bbc54ccfcd63b2d3fa006
2017-08-11 12:41:35 +10:00
Andrew Swan
d48e863d10 Bug 1363897 Switch legacy extensions handling to option() r=glandium
MozReview-Commit-ID: 2DquMSM1ECJ

--HG--
extra : rebase_source : 16ced52d009e55a611155ec0aa7b7dbef7d6a87a
2017-08-17 11:48:44 -07:00
J. Ryan Stinnett
81c85dfb02 Bug 1366050 - Build with Stylo for Linux32. r=gps
Now that various Rust bindgen issues are resolved, we can build with Stylo
support on Linux 32-bit.

MozReview-Commit-ID: H1BHxZkOqky
2017-08-22 14:54:21 -05:00
Nicholas Hurley
d4f64ba24e Bug 1391467 - Remove --enable-necko-protocols. r=gps,valentin
This patch removes the ability to select which protocols you want
included in necko, a wholly untested configuration that is broken in
practice. We have no need of this kind of configurability in necko.

In addition, this removes the final vestiges of rtsp support, which was
originally removed in bug 1295885 but still had some stuff hanging
around behind some ifdefs (that were never true).

MozReview-Commit-ID: KOEaDmit2IL

--HG--
extra : rebase_source : f6c2fdb972aaba46e922cda801252dc953550b94
2017-08-17 17:30:57 -07:00
Chenxia Liu
9c27584fe8 Bug 1386906 - Add Pocket keys to build system. r=chmanchester
MozReview-Commit-ID: 8fjcSkn1P7P

--HG--
extra : rebase_source : bb7d2a561517decdf3b05badaced27ea9e7e2000
2017-08-09 12:11:10 -07:00
Wes Kocher
b6e3e08c6d Backed out changeset 59bc932c44ea (bug 1386906) for breaking single locale fennec builds a=bustage
MozReview-Commit-ID: 4z1nq8Z9gnV
2017-08-11 12:30:22 -07:00
Chenxia Liu
8b3a0e7bc2 Bug 1386906 - Add Pocket keys to build system. r=chmanchester
MozReview-Commit-ID: 8fjcSkn1P7P

--HG--
extra : rebase_source : 42c608d41e1262d0985dd9f59946a0732a971abc
2017-08-09 12:11:10 -07:00
Ricky Chien
7ebc576138 Bug 1382514 - Remove MOZ_PHOTON_PREFERENCES build flag r=jaws
--HG--
extra : rebase_source : e3df3a8ebbecbecfecb561f748a8c3b5f162bf99
2017-08-08 11:44:02 +08:00
Michael Kohler
674e1b96fb Bug 1366555 - Remove MOZ_PHOTON_THEME ifdefs and non-MOZ_PHOTON_THEME code. r=dao
MozReview-Commit-ID: 8w1vfF2yRui

--HG--
extra : rebase_source : 222d8e9d3b9543552ff5b08967375fa46d62b896
2017-08-08 12:09:14 +02:00
Jared Wein
76f886b972 Bug 1385913 - Remove MOZ_PHOTON_ANIMATIONS ifdef. r=Gijs
MozReview-Commit-ID: 40TP43EKPCU

--HG--
extra : rebase_source : 203f7449e8345ed5c779dfc4fd5e9bd515b89da8
2017-08-07 12:37:34 -04:00
Landry Breuil
ea28e9774d Bug 1387510 - Use glob() when looking for libclang.so on OpenBSD. r=froydnj 2017-08-04 12:43:00 -04:00
Axel Hecht
b9f1d30851 bug 1370506, for Nightly builds, automatically clone l10n repos for localized installers, r=glandium
Making more decisions on behalf of developers:

L10NBASEDIR is always defined, if not specified, it's ~/.mozbuild/l10n-central,
or in MOZBUILD_STATE_PATH/l10n-central if the state path in defined in the
environment.
If a locale isn't checked out, do that. The targets for which that works are
merge-%, installers-%, langpack-%

But only do that for Nightly builds, as for Beta and beyond, we have
explicit revisions to use for the builds, and we don't want to break release
builds silently with this.

MozReview-Commit-ID: EhGJPLuiyYO

--HG--
extra : rebase_source : 61a92396920965107a8811679552c1992b29155e
2017-06-15 19:47:28 +02:00
Ralph Giles
c7c885bcbe Bug 1384258 - Build Stylo by default. r=chmanchester
Build Stylo (the styling system from servo) by default in all
builds for win32, win64, macOS and linux64 targets. It was
previously enabled for automation builds, so this just changes
the behaviour for local developer builds.

Note that this introduces a new dependency on libclang for the
binding generator. If you're developing on a tier-1 platform,
run `./mach boostrap` to install a working copy. Otherwise
llvm+libclang 4.0.1 is recommended.

Remove the explicit --enable-stylo=build in mozconfig.stylo
in favour of the configure default.

Add mozconfig.stylo to the hazard and debug-asan mozconfigs
so LLVM_CONFIG is defined properly for those builds.

Based on a patch by Bobby Holly in bug 1356991.

MozReview-Commit-ID: C2wRNl7JHpz

--HG--
extra : rebase_source : 1ed7c36a64e25b235a26864592cd7ea969a4cd25
2017-07-25 14:29:52 -07:00
Jared Wein
6848c874f5 Bug 1380585 - Add MOZ_PHOTON_PREFERENCES build-time flag to help with implementing visual refresh of preferences. r=chmanchester,rickychien
MozReview-Commit-ID: H9vWWeq9d1i

--HG--
extra : rebase_source : 3546ae2c178aa8e6e378f93b3ba2503c09172267
extra : source : 50b7c4e14304b5b788094d1eaead8940d3d73c99
2017-07-12 14:25:05 -04:00
Marco Castelluccio
0f9d4e1985 Bug 1380665 - Define MOZ_CODE_COVERAGE for the entire tree. r=jmaher 2017-07-13 19:12:23 +02:00
Ralph Giles
7c724f8669 Bug 1379341 - Prefer llvm-config from homebrew to mozbuild. r=gps
We've had trouble with crashes and hangs on macOS with
libclang builds from tooltool, so for local developer
builds we prefer the homebrew or macports packages
installed by `mach bootstrap`.

However, we were searching ~/.mozbuild before the homebrew
directory, resulting using the wrong libclang when developers
had run `mach bootstrap` before the switch, or anyone who
had used `mach artifact toolchain` on macOS.

MozReview-Commit-ID: JpLBDNthG6e

--HG--
extra : rebase_source : cca6f2772fd16425bd9b75cdfb4c7b60e4da577f
2017-07-07 19:20:34 -07:00
Gregory Szorc
7c45840cbd Bug 1375231 - Properly compare value for --enable-webrender; r=glandium
"value" here is a PositiveOptionValue, which behaves like a tuple.
Its __eq__ fails if the types of the operands aren't the same. A
string literal isn't a PositiveOptionValue, so the "value == 'build'"
check always fails. This meant that --enable-webrender=build was
always being interpreted as --enable-webrender. Yikes.

MozReview-Commit-ID: 57hWl0VqDmD

--HG--
extra : rebase_source : 44b858a4bbf9002813a16ba29429696005901ccc
2017-06-21 13:04:04 -07:00
Nathan Froyd
48d6d4d603 Bug 1310852 - part 2 - search for Homebrew and MacPorts's llvm-config when appropriate; r=rillian
Since Homebrew doesn't automatically place clang and associated binaries
on PATH, we need to do the task ourselves.  MacPorts does place the
binaries in PATH, but uses yet another name, so we have to add that to
the search list.
2017-07-03 11:13:05 -04:00
Bruce Sun
7946a11af0 Bug 1368948: [6/7] Build freetype when enabling SkiaPDF on Windows. r=glandium
Add the dependency between "MOZ_ENABLE_SKIA_PDF" and "MOZ_TREE_FREETYPE" on Windows:
 - let |tree_freetype| returns true if |skia_pdf| returns true on Windows, and
 - avoid defining "MOZ_ENABLE_CAIRO_FT" on Windows ("cairo-ft-font.c" includes <dlfcn.h>, which only exists on posix platforms)

MozReview-Commit-ID: 6CWVwzIHL1Q
2017-06-29 17:17:46 -07:00
Nathan Froyd
e0674ba40d Bug 1376956 - use find_program to search for clang for bindgen configuration; r=rillian
llvm-config on Windows can return a path for the clang binary which does
not end in ".exe", which then causes failures when attempting to check
for the existence of the file.  Rather than attempting to simply tack
".exe" onto the file if it's not already there, delegate to
moz.configure's `find_program` function, which will take care of that
case and several others besides.
2017-06-28 18:41:52 -04:00
Mike Hommey
0bc3c0dfde Bug 1375798 - Figure out host library/object prefix/suffixes and use them for libclang. r=mshal
The libclang test wants to find a libclang library for use for rust bindgen.
But that's a host process, that needs a host libclang. However, we
currently only have the target library/object prefix/suffixes. This
works fine... except when cross-compiling.

So we need to figure out the proper ones for the host, and use those
instead. For that, we templatize library_name_info in order to get a
separate set of library/object prefix/suffixes for the host and the
target.

And we use the host set for the libclang check.

Ideally, the build system would also use the host set for host tools
builds, but we'll leave that to a followup.

--HG--
extra : rebase_source : 1970791d6d5f9b3f79fbe34b7e3d05dd4b5c3f7b
2017-06-23 15:12:04 +09:00
Mike Hommey
2b86683647 Bug 1375798 - Reorganize the library_name_info function. r=mshal
The function as it currently is matches how things were done in
old-configure.in. However, that's just confusing and hard to follow. In
fact, the unit test failing numerous times while writing this patch
pretty much highlights the problem.

So instead of a confusing set of overrides to the prefixes and suffixes,
spell out the whole set for each set of platforms. This also happens to
make the function shorter. Win/win.

At the same time, we normalize the function output as a nested
namespace, where we get, for each of dll, lib, import_lib, etc. a
prefix/suffix pair. Further down the road, we can imagine changing those
to class instances with a method allowing to format file names based on
those prefix/suffixes.

--HG--
extra : rebase_source : c18520d4df54feeea0a7f9588bc3cf8346793aaf
2017-06-23 15:05:06 +09:00
Ralph Giles
f079cebc09 Bug 1369932 - Enable av1 playback in nightly Windows builds. r=froydnj
Enable for Windows targets now that they're building.

MozReview-Commit-ID: HTitN5FKV7F

--HG--
extra : rebase_source : 06dbfbd99fe21ee6a14c9ece69c343172356a974
2017-06-02 14:42:17 -07:00
Nicholas Nethercote
784f6f2ee9 Bug 1374908 - Remove --enable-systrace. r=glandium.
This option causes MOZ_USE_SYSTRACE to be defined. The only use of that is in
GeckoProfiler.h where it causes the PROFILER_PLATFORM_TRACING macro to set
android::ScopedTrace. But android::ScopedTrace was defined in widget/gonk/
which was recently removed, so this won't work any more.

Furthermore, all that android::ScopedTrace did was to do a pair of
atrace_{begin,end}() calls, which doesn't seem that useful.
2017-06-21 14:06:22 +10:00
Nathan Froyd
2bc177cc76 Bug 1375168 - check for llvm-config where mach bootstrap would install it; r=rillian
For ease of use, we want to make checks for llvm-config automatically
examine the directory where `mach bootstrap` would install things, so
users don't necessarily have to have a mozconfig when building stylo.
Since the computation of this value is non-trivial, we pull out the
whole list of possible names for llvm-config into a @depends function,
and insert the computed value into that list when necessary.
2017-06-22 17:15:59 -04:00
Brian Birtles (:birtles)
3ea6292651 Bug 1363655 - Unwrap (lib)clang_path before passing it to os.path.* methods; r=froydnj
It seems like when we get (lib)clang_path from a --with-(lib)clang-path option
it has type PositiveOptionValue. If we pass that directly to os.path.exists or
os.path.isdir we will get:

  TypeError: coercing to Unicode: need string or buffer, PositiveOptionValue found

This patch makes us unwrap those values before passing them.
2017-06-22 14:29:50 -04:00
Wes Kocher
d0eddcaa44 Merge m-c to autoland a=merge
MozReview-Commit-ID: 5D2HzsGopzc
2017-06-21 18:13:41 -07:00
Nathan Froyd
622cba0919 Bug 1363655 - part 8 - check for the existence of a libclang bindgen will use; r=rillian
Ideally this check will alert people that something is wrong with their
configuration.  This check shouldn't normally be firing with our `mach
boostrap` setup, but if somebody chooses to install distribution
packages for some reason, this will at least prevent some problems.
2017-06-21 13:28:37 -04:00
Nathan Froyd
608a0616fe Bug 1363655 - part 7 - make stylo bindgen bits depend on a compile environment; r=rillian
People building without a compilation environment (artifact builds, l10n
builds) won't have a compiler available, let alone the bits to build
bindgen.  We should limit our checks for bindgen-y things accordingly.
2017-06-21 13:28:37 -04:00
Nathan Froyd
2382b9da09 Bug 1363655 - part 6 - remove the stylo configure function; r=rillian
After the previous set of patches, it's just a bloated wrapper for
bindgen_config_paths.
2017-06-21 13:28:37 -04:00
Nathan Froyd
a230d5cae9 Bug 1363655 - part 5 - make things properly depend on stylo bindgen building; r=rillian
Prior to this patch, we had a not-so-great hack in place: the bit of
configure that determined bindgen config paths *and* the bit of
configure that returned various pieces of information about Stylo were
both guarded on --enable-stylo-build-bindgen.  We should really only
have one place that depends on --enable-stylo-build-bindgen, and this
patch puts us in a place to do that, by making bindgen_config_paths
properly use a when= argument to determine when it needs to run.

This commit makes the `stylo` function entirely redundant, and said
function will be removed in the next patch.
2017-06-21 13:28:37 -04:00
Nathan Froyd
c0ebcb333b Bug 1363655 - part 4 - remove bindgen_enabled key from namespace returned from stylo; r=rillian
We can get this information directly from --enable-stylo-build-bindgen.
2017-06-21 13:28:37 -04:00
Nathan Froyd
70ed6d3da5 Bug 1363655 - part 3 - remove stylo.build key in favor of stylo_config.build; r=rillian
stylo.build is just a copy of stylo_config.build, so we should use the
former to limit the number of duplicate concepts we have.  Using
stylo_config consistently enables us to separate out what artifact
builds need vs. non-artifact builds.
2017-06-21 13:28:37 -04:00
Nathan Froyd
6acf66edca Bug 1363655 - part 2 - check for existence of paths returned by llvm-config; r=rillian
On some systems, llvm-config may be installed, but not the files to
which it needs to refer.  We should ensure that the values returned
actually make some sense.
2017-06-21 13:28:37 -04:00
Nathan Froyd
dbd4e424b9 Bug 1363655 - part 1 - clarify the required values for stylo bindgen options; r=rillian
--with-libclang-path is supposed to be a directory, and
--with-clang-path is supposed to be a file, but it was easy to pass a
directory for the latter, and it was easy to misinterpret the
documentation for --with-libclang-path as pointing to one of the
libraries themselves.  Clearer documentation and additional checks
should help with this situation.
2017-06-21 13:28:37 -04:00
Gregory Szorc
d34a0c3506 Bug 1374824 - Fix --enable-stylo value processing; r=froydnj
The argument passed to the function is a PositiveOptionValue,
which represents its option values as a tuple. The __eq__ for
this type first compares type() of the operands. Since the
previous code compared a PositiveOptionValue to a string
literal, this always failed. There's possibly room to
improve the behavior of PositiveOptionValue. But for now,
let's rewrite stylo_config() so it works.

MozReview-Commit-ID: B4vkYwCDHrb

--HG--
extra : rebase_source : 639711bde7b96749405905825aae37a7908554a8
2017-06-21 12:17:37 -07:00
Nathan Froyd
fc95670240 Bug 1374432 - enable stylo attribute for tests only if stylo is enabled; r=jgraham
If we don't do this, various bits of test infrastructure will turn on
when stylo is merely built, not enabled, which will cause no end of
orange and unhappiness.
2017-06-20 11:34:37 -04:00
Chris Manchester
814dae1db3 Bug 1370535 - Provide a useful error message when passing --enable-geckodriver in artifact bulds. r=froydnj
MozReview-Commit-ID: 88TlmFAdOuf

--HG--
extra : rebase_source : 663ebb22aeafb85a0b2adb163b12b4d08b6d19a0
2017-06-19 08:57:43 -07:00
Henri Sivonen
4c0760dcf9 Bug 1261841 part 6 - Make --enable-rust-simd a no-op on CPU architectures other than aarch64, x86 and x86_64. r=froydnj.
MozReview-Commit-ID: JZ2iwvJXUB7
2017-06-13 13:25:15 +03:00
Henri Sivonen
763d66dd51 Bug 1261841 part 4 - Add a configuration option for enabling explicit SIMD in Rust. r=froydnj.
MozReview-Commit-ID: ICifcJ9499a
2017-06-13 13:24:19 +03:00
Ralph Giles
fd50a8af60 Bug 1370978 - Enable av1 decoding in Nightly on macOS and Linux. r=froydnj,gerald
Enable av1 decoding with the aom reference library on nightly
build except on Windows and Android where it's not working yet.

This codec is under development and subject to incompatible
changes. We're supporting a specific encoder revision for
testing with website authors to get early feedback.

See media/libaom/README_MOZILLA for the specific codec commit
hash our decoder expects.

MozReview-Commit-ID: JCPiVFg3geC

--HG--
extra : rebase_source : c7b9de67415d885ada64658f8f938b4091b468e3
2017-06-07 10:29:59 -07:00
Andreas Tolfsen
e721ebada1 Bug 1368035 - Enable geckodriver building in automation; r=ted
geckodriver compilation was disabled by default in
https://bugzilla.mozilla.org/show_bug.cgi?id=1368084 due to issues
building it locally on Windows.

This re-enables building of geckodriver in automation, but gives
developers an option, --enable-geckodriver, to opt-in to building
it locally.

geckodriver is implied on supported platforms when MOZ_AUTOMATION is
set, but we also provide the option for developers to use.  This means
geckodriver will be built in CI by default, but not in developers'
local environments.

MozReview-Commit-ID: ACkO97ekVsi

--HG--
extra : rebase_source : 067e25911f72d80a54e662f24cc71dedde53a4e1
2017-05-27 18:51:40 +01:00
Andreas Tolfsen
b082609c14 Bug 1368035 - Correct description of Marionette in toolkit configure; r=automatedtester
MozReview-Commit-ID: B16umNXSOZ

--HG--
extra : rebase_source : d1ff4ba220784c4dc86353b6f91117709a45a214
2017-05-26 16:27:07 +01:00
Nick Alexander
b6fef5fc95 Bug 1365089 - Add MOZ_ANDROID_MMA and --with-leanplum-sdk-keyfile to configure. r=chmanchester
This is the equivalent of MOZ_INSTALL_TRACKING, but for MMA (Mobile
Marketing Automation) using the Leanplum SDK.

To test this locally, add lines like:

export MOZ_ANDROID_MMA=1
ac_add_options --with-adjust-sdk-keyfile=/path/to/adjust-sdk-developer.token

MOZ_ANDROID_MMA depends on MOZ_NATIVE_DEVICES and MOZ_ANDROID_GCM,
since Leanplum requires Google Play Services library that those flags
are a proxy for and enable, respectiviely.

We want to enable MOZ_ANDROID_MMA in Nightly, but only for
MOZILLA_OFFICIAL builds.  Since MOZILLA_OFFICIAL is still defined in
old-configure.in, we can't interrogate it in
mobile/android/moz.configure, and therefore we enable using the
automation mozconfigs.

MozReview-Commit-ID: 1tiToeyH5Hx

--HG--
extra : rebase_source : f85706c5a0911c7d2edc109d8c47ecc1c1bc6ffc
2017-05-26 12:31:20 -07:00
Sebastian Hengst
66d9eb3103 Backed out changeset 9c7688e54e92 (bug 1365089) for breaking Android L10n nightlies. r=backout a=backout
MozReview-Commit-ID: FxH7nBskSNj
2017-05-28 16:53:10 +02:00
Nick Alexander
0a0a08ec4c Bug 1365089 - Add MOZ_ANDROID_MMA and --with-leanplum-sdk-keyfile to configure. r=chmanchester
This is the equivalent of MOZ_INSTALL_TRACKING, but for MMA (Mobile
Marketing Automation) using the Leanplum SDK.

To test this locally, add lines like:

export MOZ_ANDROID_MMA=1
ac_add_options --with-adjust-sdk-keyfile=/path/to/adjust-sdk-developer.token

MOZ_ANDROID_MMA depends on MOZ_NATIVE_DEVICES and MOZ_ANDROID_GCM,
since Leanplum requires Google Play Services library that those flags
are a proxy for and enable, respectiviely.

We want to enable MOZ_ANDROID_MMA in Nightly, but only for
MOZILLA_OFFICIAL builds.  Since MOZILLA_OFFICIAL is still defined in
old-configure.in, we can't interrogate it in
mobile/android/moz.configure, and therefore we enable using the
automation mozconfigs.

MozReview-Commit-ID: 1tiToeyH5Hx

--HG--
extra : rebase_source : 5390cf8c5c2eb7ffe675757b372debbb639bc900
2017-05-26 12:31:20 -07:00
Andrew Swan
403ece85aa Bug 1359203 Part 2 Add build-time constant for allowing legacy extensions
MozReview-Commit-ID: GhluEfupIrL

--HG--
extra : source : 510bb3d21711c04700b250e484b616a2a1d552ec
2017-05-12 21:28:14 -07:00
Ryan VanderMeulen
acb2f518fc Merge inbound to m-c. a=merge 2017-05-19 11:46:56 -04:00
Mike Hommey
282a2bc3b8 Bug 1363811 - Replace is_nightly with milestone.is_nightly. r=cmanchester+432261
And remove is_nightly.
2017-05-19 07:05:05 +09:00
Mike Hommey
f10295dbae Bug 1363811 - Replace all uses of delayed_getattr(a, 'b') with a.b. r=cmanchester+432261
And remove delayed_getattr.
2017-05-19 07:03:40 +09:00