Commit Graph

5359 Commits

Author SHA1 Message Date
Wes Kocher
56b7127be0 Merge fx-team to central, a=merge
MozReview-Commit-ID: 8rupfWq5Wa6
2016-04-01 15:43:36 -07:00
Mike Shal
0bfafd3788 Bug 1259554 - Remove INSTALL/PP_TARGETS from build/Makefile.in; r=ted
The lone remaining INSTALL_TARGETS is for moztt, which relies on
including a Makefile from that repository. We could potentially add a
mozbuild file there instead.


MozReview-Commit-ID: FXJDg3xPW1x
2016-03-21 11:45:03 -04:00
Jan Beich
e04f53ad31 Bug 1248391 - Don't force rust --target on unknown platforms. r=ted
--HG--
extra : transplant_source : %A1%9A%10%DD%60%3C%05%C3%E36%16V%E1%E8%82%28%5B%E2%B2%02
2016-03-24 13:43:38 +00:00
Jan Beich
f5acfcbdc7 Bug 1248391 - Unbreak --enable-rust on BSDs after bug 1177599. r=ted
--HG--
extra : transplant_source : o%1Ei%5D%B1%1C%A5%F4%7BTquGS0%07-t/%B6
2016-03-24 15:10:44 +00:00
Hector Zhao
a408fabf31 Bug 1260427 - Additional nspr/nss related old_configure_options. r=glandium
MozReview-Commit-ID: Bre9H6hPlz5

--HG--
extra : transplant_source : %A7PE%AFh%A1%AA%7B%F8%B4%A0%08XA%1C%B6%AC1%CD%D9
2016-03-29 21:57:03 +08:00
Carsten "Tomcat" Book
e873a45f68 Merge mozilla-central to fx-team 2016-04-01 11:49:37 +02:00
Mike Hommey
81010d54a2 Bug 1260996 - Don't set HOST_{C,CXX,LD}FLAGS from {C,CXX,LD}FLAGS on cross compiles. r=nalexander
The only cross compiles we actively support were pre-setting those
values to avoid it anyways, so it wasn't doing anything useful.
2016-04-01 09:43:26 +09:00
Mike Hommey
0bf3308f26 Bug 1260605 - Remove hack from bug 967556. r=nalexander
The hack was supposed to avoid clobbers when landing bug 967556, which
might have worked somehow back then, but doesn't do anything useful
anymore. In fact, it now breaks the display of some results in
old-configure.
2016-04-01 09:43:26 +09:00
Mike Hommey
c12b02c70d Bug 1260647 - Unify cross-compilation setup, while moving some of it to moz.configure. r=ted
Gonk, Android, and the generic cross-compilation setup all were using a
different yet similar way to prefix the toolchain. The latter was even
wrong, since the target and target alias usually don't match actual
toolchain prefixes (which don't include the machine part of the target).
2016-04-01 09:43:26 +09:00
Mike Hommey
08b4bd78d9 Bug 1260639 - Log more information before starting old-configure. r=ted 2016-04-01 09:43:26 +09:00
Mike Hommey
74de434e68 Bug 1260636 - Add endianness to host and target information. r=ted
While in the vicinity, add support for sparc64.
2016-04-01 09:43:26 +09:00
Mike Hommey
1f729885a7 Bug 1260624 - Move CROSS_COMPILE to moz.configure. r=ted
Note that this removes force-setting cross_compiling to yes in
old-configure, which wasn't working because every AC_TRY_COMPILE
resets it with $ac_cv_prog_cc_cross or $ac_cv_prog_cxx_cross.
2016-04-01 09:43:26 +09:00
Mike Hommey
a3b5d6520b Bug 1260622 - Refresh config.guess and config.sub from upstream. r=ted
Recent config.sub better handles all the broken android triplets (which
would have worked around bug 1257793), and added the -ios variant that
we've been relying on since bug 1257051, but that bug 1257648 broke by
using config.sub, which didn't support it)

The new config.guess interestingly now returns pc instead of unknown as
maching type on linux, which will, unfortunately, make objdir names
change when they are not manually set.
2016-04-01 09:43:26 +09:00
George Wright
5c454494ce Bug 1114647 - Rename "plugin-container" to "firefox-webcontent" and create a new executable target for Win32 called "firefox-plugin-container" r=ted,jhamer
--HG--
rename : ipc/app/module.ver => ipc/app/plugin-container/module.ver
rename : ipc/contentproc/plugin-container.cpp => ipc/contentproc/firefox-webcontent.cpp
2016-04-01 02:12:59 -04:00
Nick Alexander
cb149b9b74 Bug 1260241 - Post: Document how to run Android single-locale repacks. r=me
MozReview-Commit-ID: 4BwhyNwrtjJ

--HG--
extra : rebase_source : 224a9472aef3e3f1f1d275b7f24c54e0b3cf82f8
2016-03-31 17:25:17 -07:00
Wes Kocher
7b9ea8afc5 Merge inbound to central, a=merge
MozReview-Commit-ID: FSnrOgtIFer
2016-03-31 13:04:19 -07:00
Eric Rahm
f23e86d3d6 Bug 1181142 - Part 2: Make the minimum jemalloc4 allocation size 16 bytes on Windows 64. r=glandium 2016-03-24 16:26:29 -07:00
Nick Alexander
6a068eb98f Bug 1063966 - Stop building and uploading gecko-unsigned-unaligned.apk. r=nthomas
This is still referenced out of tree, but only to optionally (!) find
it or to ignore it:

http://mxr.mozilla.org/build/search?string=unsigned-unaligned&find=&findi=&filter=%5E%5B%5E%5C0%5D*%24&hitlimit=&tree=build

MozReview-Commit-ID: Hq0TPVDzWOy

--HG--
extra : rebase_source : 2e3dcfc516a6bcc5fd0517ca8bd98a4df7358251
extra : amend_source : f65baf2789517f5bd38384db89c6d2ea3d84676f
extra : histedit_source : b901d25f4cbbf8bcecdf464a6042b5a44d51bea8
2016-03-24 13:53:41 -07:00
Mike Hommey
f215c4d869 Bug 1259620 - Add @checking to host and target to display the triplets. r=gps 2016-03-26 07:17:58 +09:00
Mike Hommey
3b84619fff Bug 1259620 - Add an optional formatting callback to @checking. r=gps 2016-03-26 07:17:51 +09:00
Mike Hommey
f1ed025e8b Bug 1260066 - Don't allow to use sandbox primitives from anywhere but global scope and templates. r=nalexander
The initial goal of templates was to provide a way to write shorter
constructs for some generic tasks during configure. But the limitations
of the sandbox and the properties of templates made them used for more
general functions.

Consequently, this led to templates having to be available from
anywhere, which, in turn, led to difficult to introspect constructs.
With bug 1257823, we've made almost everything use set_config and
similar functions from the global scope, but we don't enforce that
those primitives are only used at the global scope.

This change does that: it enforces that primitives are only used at
the global scope. Or in templates.

Now, since templates were used for other purposes than generic uses
of other primitives, we now allow non-template functions to be declared.
Those can be used everywhere, but don't have access to the sandbox
primitives.
2016-03-30 07:08:00 +09:00
Mike Hommey
a2652b3b0b Bug 1260066 - Move add_old_configure_arg to the global scope. r=nalexander
We've done this for set_config, set_define, imply_option, and
add_old_configure_assignment. Do it for add_old_configure_arg as well.
2016-03-30 07:07:57 +09:00
Mike Hommey
9bf72e6993 Bug 1256573 - Switch moz.configure to use @imports instead of @advanced. r=nalexander 2016-03-30 07:07:53 +09:00
Mike Hommey
edcd74a9d7 Bug 1259381 - Move --with-ccache and --with-compiler-wrapper to moz.configure. r=chmanchester 2016-03-30 07:07:45 +09:00
Mike Hommey
78ec73cc58 Bug 1259381 - Don't add --with-ccache in mozconfigs doing --disable-compile-environment or --enable-artifact-builds. r=chmanchester
While moving the ccache flag, we're going to make it disappear when the
compiler environment is not enabled, so adding --with-ccache will fail.
2016-03-30 07:07:44 +09:00
Mike Hommey
6eee113ee8 Bug 1259960 - Make check_prog more flexible about the list of programs it will check. r=chmanchester 2016-03-30 07:07:42 +09:00
Mike Hommey
028ebf69ff Bug 1259960 - Make check_prog more flexible about the input it receives. r=chmanchester 2016-03-30 07:07:40 +09:00
Mike Hommey
18a002cd83 Bug 1259960 - Allow to pass a string to check_prog to describe what is being looked for. r=chmanchester
So far, we've been using the lowercase of the variable name, but it's
not enough for some special cases. Those special cases could do their
own business, but then, they'd have to duplicate 90% of check_prog,
which is less desirable.
2016-03-30 07:07:38 +09:00
Mike Hommey
29c3394b1b Bug 1259960 - s/DummyFunction/DependsFunction/. r=chmanchester
While DummyFunction is descriptive of what the instances are (and they
can't even be called), the various uses of isintance(obj, DummyFunction)
are kind of confusing, especially when they are in moz.configure land
(and this bug is about to add another one).
2016-03-30 07:07:37 +09:00
Mike Hommey
2baf0d3dc1 Bug 1257516 - Handle outputting the tail of config.log for old-configure failures from moz.configure. r=ted 2016-03-30 07:07:30 +09:00
Mike Hommey
cbf367717b Bug 1257516 - Make check_prog opt-in to the queued debug log messages. r=ted 2016-03-30 07:07:13 +09:00
Mike Hommey
a2c9191daf Bug 1257516 - Add a unit test for check_prog(). r=ted
At the same time, shell quote the result it prints if it needs to be.
2016-03-30 07:00:22 +09:00
Mike Hommey
e8721f0397 Bug 1257516 - Use the logger for virtualenv manager output. r=ted 2016-03-30 07:00:17 +09:00
Mike Hommey
ba80937ba0 Bug 1257516 - Send the debug output from our logger to config.log. r=ted
And since the file is also used for old-configure, close our handle on
the file before spawning old-configure, and make old-configure append
there instead of truncating the file.
2016-03-30 07:00:07 +09:00
Mike Hommey
47d916d8f0 Bug 1257516 - Expose a sandboxed logger to moz.configure and use it. r=ted
This removes the warn() function and makes the die() function use the logger
instead of print.
2016-03-30 07:00:03 +09:00
Mike Hommey
96b6664c24 Bug 1257516 - Rename error() to die() and make it take arguments like the logging module. r=ted 2016-03-30 06:59:44 +09:00
Wes Kocher
a7fbcdcca6 Backed out changeset e40580ed0fe6 (bug 1247396) for Windows builds failing to find sicudt.lib
MozReview-Commit-ID: GxVMNWcjdBY
2016-03-25 10:38:54 -07:00
Ted Mielczarek
4aa24eba02 bug 1247396 - drop support for MOZ_SHARED_ICU. r=glandium
MozReview-Commit-ID: 54AQdzJqvvA

--HG--
extra : rebase_source : 55a702b7f134a7c760397f83b1fd1e6044404d7e
extra : amend_source : 1654150e6ebc2bd3a3ff162d486685871640c635
extra : histedit_source : a59866a9ccc244c415ffeb7c7fe685d00b25753d
2016-02-11 08:21:16 -05:00
Mike Hommey
78d9b6ffa4 Bug 1259354 - Avoid "checking yasm version" being written out when yasm was not found. r=ted
The reason the "checking" string always appears is that @depends
functions are always called, regardless of the value of the dependency.

This introduces a new decorator @depends_true, which works like
@depends, but the decorated function is not called unless one of the
dependency value resolves to True.

The new decorator can also be used to replace many cases where we do
@depends(foo)
def bar(foo):
    if foo:
        ...
2016-03-25 06:54:35 +09:00
Mike Hommey
8a90d1c8e4 Bug 1259352 - Always fail check_prog if an explicit value was given on the command line or environment. r=ted 2016-03-25 06:54:35 +09:00
Mike Hommey
b5c2226dba Bug 1259346 - Make delayed_getattr more resilient to failure. r=nalexander 2016-03-25 06:54:35 +09:00
Gregory Szorc
7ca3e9dc57 Bug 1186060 - Build with Visual Studio 2015 Update 1; r=ted, ehsan
This commit switches Windows builds from Visual Studio 2013
to Visual Studio 2015 Update 1.

Previously, Visual Studio was installed on the builders as part
of the base system image. Starting with this commit, we obtain
Visual Studio from a pre-generated, self-contained archive
containing the executables, Windows SDK, and other support
files. This means that new Windows toolchains can be installed
without having to modify configuration of machines in automation!

The mozconfigs for Visual Studio 2015 are a bit different from
existing mozconfigs.

Because it appears to be completely redundant and not necessary,
the LIBPATH variable has been dropped.

The order of paths in PATH, LIB, and INCLUDE has changed. The new
order more accurately reflects what would be defined by
vcvarsall.bat.

As part of switching to Visual Studio 2015, the Universal CRT is
now required. So, the 2015 mozconfigs export WIN_UCRT_REDIST_DIR
to define the location to those files.

The switch to Visual Studio 2015 also involves the switch from
the Windows 8.1 SDK to the Windows 10 SDK. However, we still
target an old version of Windows, so this hopefully shouldn't
have any significant fallout.

It's worth noting that switching to Visual Studio 2015 makes
builds - especially PGO builds - significantly faster. Our
PGO build times in automation are ~1 hour faster. Our regular
builds appear to be a few minutes faster.

MozReview-Commit-ID: Pa5GW8V87Q

--HG--
extra : rebase_source : bff4fad17f781d8d21bdb941bdd500955d1e9f08
extra : amend_source : faa3038c290fdf5cdd3e24a45ba2a37490f68c17
extra : source : 56b27306d3257445f70374aa78fc5bd42ef300ce
2016-03-24 09:12:19 -07:00
Mike Hommey
81936f844d Bug 1259275 - Don't check for yasm when building with --disable-compile-environment. r=ted 2016-03-24 14:34:46 +09:00
Mike Hommey
90692a1ac0 Bug 1257823 - Move add_old_configure_assignment() to the global scope. r=nalexander
Similar to set_config, set_define and imply_option, but this is a
sandboxed function that stays sandboxed.
2016-03-24 09:04:28 +09:00
Mike Hommey
6a8ed3e4a8 Bug 1257823 - Move imply_option() to the global scope. r=nalexander
Like set_config and set_define, we move imply_option to the global
scope.
2016-03-24 09:04:28 +09:00
Mike Hommey
e5cde501da Bug 1257823 - Move set_define() to the global scope. r=nalexander
For the same reasons as set_config is being moved to the global scope,
we're moving set_define to the global scope here. An additional change
is that set_define is now part of the sandbox itself instead of being
defined within the sandbox, which makes it share the implementation
details with set_config.
2016-03-24 09:04:28 +09:00
Mike Hommey
7cd6c430c1 Bug 1257823 - Move set_config() to the global scope. r=nalexander
The way set_config is set currently makes it difficult to introspect
moz.configure files to know what configuration items are being set,
because they're hidden in the control flow of functions.

This makes some of the moz.configure more convoluted, but this is why
there are templates, and we can improve the recurring cases afterwards.
2016-03-24 09:04:28 +09:00
Mike Hommey
ed5e2c39f5 Bug 1257823 - Move set_define() to the sandbox. r=nalexander
In order to make the transition to global set_define easier, move its
current definition from inside the sandbox to the sandbox itself.
2016-03-24 09:04:28 +09:00
Chris Peterson
b22c76c625 Bug 1258175 - Remove broken -Wunreachable-code-return and -Wunreachable-code-aggressive checks. r=glandium
compiler-opts.m4's check for `MOZ_CXX_SUPPORTS_WARNING(-W, unreachable-code-return, ac_cxx_has_wunreachable_code_return)` is broken. The C/C++ code that configure emits for MOZ_CXX_SUPPORTS_WARNING() actually contains a -Wunreachable-code-return warning and, thus, doesn't actually detect that clang supports the -Wunreachable-code-return flag.

This configure code in MOZ_CXX_SUPPORTS_WARNING():

  AC_TRY_COMPILE([],
                 [return(0);],
                 $3="yes",
                 $3="no")

generates something like:

  int main() {
  return(0);
  ; return 0; }

where the second return, automatically emitted by configure, is unreachable and causes a -Wunreachable-code-return warning.

The fix is to remove the redundant return(0) from MOZ_CXX_SUPPORTS_WARNING(). This allows clang's -Wunreachable-code-return flag to be detected, but then -Wunreachable-code-return breaks other configure checks, including third-party libraries' configure checks (in particular jemalloc) that also have redundant `return(0)`. So all the third-party libraries' configure checks would need to be fixed upstream, which seems like more hassle than the value of the -Wunreachable-code-return warnings.
2016-03-19 00:10:37 -07:00
Mike Hommey
a8db2a2c62 Bug 1258619 - Properly sandbox functions inside a template. r=chmanchester
The way functions are being sandboxed in moz.configure land is that
their global namespace is being replaced with a limited and identifiable
dict. And we avoid re-wrapping a function that already received this
treatment.

The problem is that template functions have their global namespace
replaced, and any function that is defined within the template inherits
that global namespace. So when it comes time to wrap those functions
defined in templates with e.g. depends, we detect that they're already
wrapped although they are not, because we look if their global namespace
is of the recognizable type we use when replacing it.

So instead of looking at the global namespace type, keep track of all
functions that are wrapped.
2016-03-23 13:24:54 +09:00