Граф коммитов

5483 Коммитов

Автор SHA1 Сообщение Дата
George Wright e75c590407 Revert "Bug 1114647 - Rename "plugin-container" to "firefox-webcontent" and create a new executable target for Win32 called "firefox-plugin-container" r=ted,jhamer" because of widespread breakage due to whitelisted executable names in third parties
This reverts commit a94b5f861bd0d25043a3bb7a0c3128acf8c0b93a.


--HG--
rename : ipc/contentproc/firefox-webcontent.cpp => ipc/contentproc/plugin-container.cpp
2016-04-08 13:34:40 -04:00
George Wright 2f920d9592 Revert "Bug 1261416 - Rename firefox-plugin-container back to plugin-container to satisfy Flash's protected mode checks, and ensure that we launch the correct binary r=ted" because of widespread breakage due to whitelisted executable names in third parties
This reverts commit 2d44e8ffaf63a32292f8e5b8fdd1485d0a462afc.
2016-04-08 13:33:27 -04:00
aleth 82f35c441f Bug 1262567 - Use TOOLTOOL_DIR to set VSPATH. r=glandium
--HG--
extra : rebase_source : a1f7f21b3a6ac1d8356c469af57015a292b8bdfb
2016-04-07 16:02:34 +02:00
Mike Hommey a172eece8b Bug 1261264 - Apply GCC PR64905 to fix miscompilation with -fomit-frame-pointer. r=froydnj
The new GCC tarball was built on
https://tools.taskcluster.net/task-inspector/#ADIOXxgZQ7-9HuqEYZc3mw/0
2016-04-08 06:45:06 +09:00
Edmund Wong 0621281471 bug 1262057 - Copy TOOLTOOL_DIR to mozconfig.linux. r=glandium
--HG--
extra : rebase_source : 6d717c0a6850ff2db90650002cbc9cba10ff9ed7
2016-04-06 08:04:00 +02:00
Mike Hommey 896a6a5ff2 Bug 1262331 - Fix mach valgrind-test logging. r=gps
Valgrind-test's output handler buffers valgrind's output to detect
errors and emit proper messages that are detected by automation log
parsing. When an error is detected, the buffered output is reinjected,
but there was a typo that prevented that from actually happening,
which ate the first lines of stack traces.
2016-04-07 09:10:47 +09:00
Ryan VanderMeulen 76ab6cf240 Bug 1262207 - Add a nightly_build entry to mozinfo. r=ahal
--HG--
extra : rebase_source : 5ce90a4c5ac0dd6efe8eeca61a4ec2b90fe9b569
2016-04-06 12:04:29 -04:00
Mike Hommey c0808e5f6d Bug 1262087 - Make the @checking callback not alter the behavior for bools. r=chmanchester 2016-04-06 07:25:26 +09:00
Mike Hommey 6886f13b7d Bug 1262020 - Move --with-android-ndk, --with-android-toolchain and --with-android-gnu-compiler-version to moz.configure. r=nalexander 2016-04-06 07:25:13 +09:00
Mike Hommey 1d9ff89e0e Bug 1262019 - Make --with-gonk imply --enable-default-toolkit=cairo-gonk. r=chmanchester
This removes the need for a dummy `gonkdir` function for the
build_project != 'b2g' case.
2016-04-06 07:25:06 +09:00
Chris Manchester b5ce5e9f35 Bug 1262231 - Fix handling of ICU for artifact builds. r=nalexander
The data file is required as of bug 1239083.

MozReview-Commit-ID: XhETIoUYH8

--HG--
extra : rebase_source : 2d1200a72dadb3e0e8211fa58d3f07bc2453061f
2016-04-05 13:00:21 -07:00
Mike Shal d285cb5bc1 Bug 1261479 - Remove remaining USE_RCS_MK usage; r=chmanchester
MozReview-Commit-ID: 4T5IVg1SUHk
2016-04-01 14:45:58 -04:00
Ted Mielczarek 58e2e722d0 bug 1239083 - use moz.build files to build ICU. r=glandium,waldo
Also fixes bug 926980 - load ICU data from an archive file.

Stop invoking ICU's autoconf build system. Instead, have hand-authored
moz.build files under config/external/icu to build what we need. In addition,
we'll commit a pre-built copy of the ICU data file (currently icudt56l.dat)
under config/external/icu/data to avoid having to build ICU host tools to
generate it. config/external/icu/data also contains some assembly files
which can generate an object file containing the ICU data file contents
so that the JS shell (or standalone JS builds) can be linked directly to
the data without having to deal with the external data file. This requires
yasm or GNU as.

Various bits of packaging have been updated to account for the ICU data file.
XPCOM initialization now sets the ICU data directory so ICU can locate its
data file.

The update-icu.sh script has been modified to read the list of C/C++ source
files out of the ICU Makefiles and update `sources.mozbuild` files under
config/external/icu, as well as build a local copy of ICU using its
autoconf build system to generate the ICU data file to be committed in-tree.


MozReview-Commit-ID: 8Pfkzqt6S1W

--HG--
extra : rebase_source : 31426cddddb5543e0191059ba2f2eb069abe7727
2016-04-05 10:09:12 -04:00
Ted Mielczarek 94fa8fd73a bug 1247396 - drop support for MOZ_SHARED_ICU. r=glandium
MozReview-Commit-ID: 54AQdzJqvvA

--HG--
extra : rebase_source : 41c2516bf65ca4594a68084a61d9a737680cfc9f
extra : source : e40580ed0fe6fab50f1d8d23747c2cf423d93016
2016-02-11 08:21:16 -05:00
Mike Hommey e6d52431b6 Bug 1261531 - Remove most obvious cases of useless AC_DEFINEs. r=chmanchester
- HW_THREADS doesn't appear to be doing anything.

- USE_ARM_KUSER is not used since bug 675078. This also removes the configure
  flag that sets it.

- HAVE_SETBUF and HAVE_SNPRINTF are leftover from bug 944935.

- MOZ_MEMORY_GONK is leftover from bug 804303.
2016-04-05 07:16:44 +09:00
Mike Hommey c25921b32d Bug 1261531 - Remove most obvious cases of useless AC_SUBSTs. r=chmanchester
- DEVELOPER_OPTIONS, INTEL_CC, INTEL_CXX, MOZ_ENABLE_QTMOBILITY,
  GTK_CONFIG are or even were never used outside configure.

- MOZ_PROFILELOCKING which gradually became a no-op over the years. This
  also removes the configure flag that sets it.

- XULRUNNER_STUB_NAME is xulrunner-only, and xulrunner is gone. This
  also removes the configure flag that sets it.

- The only use of MOZ_CAN_RUN_PROGRAMS was removed in bug 780561.

- AR_LIST and AR_DELETE have not been used since bug 584474.

- MOZ_COMPONENT_NSPR_LIBS is leftover from bug 1036894.

- MOZ_PNG_ARM_NEON_CHECK is not used since bug 980488.

- MOZ_WEBRTC_LEAKING_TESTS has been no-oped by bug 825510.

- VPX_NEED_OBJ_INT_EXTRACT and NO_INTEGRATED_AS_CFLAGS are not used since
  bug 1151175.

- WCHAR_CFLAGS is not used since bug 904985.
2016-04-05 07:16:44 +09:00
Mike Hommey 03275f034b Bug 1261285 - Properly remove the config.log logging handler before running old-configure. r=ted
Because closing the handler is not enough (it eventually reopens
itself), the dumping of config.log overwrites the file, and confuses
the process of reading it to dump it in the first place, showing
incomplete logs. The intent from the start was that nothing would be
logged in the FileHandler, so on top of closing it, actively remove it.
2016-04-05 07:16:44 +09:00
Mike Hommey 989453a94b Bug 1261263 - Switch from -std=gnu++0x to -std=gnu++11. r=froydnj
All the GCC and clang versions we support support the latter, so let's
use it.
2016-04-05 07:16:44 +09:00
Mike Hommey 99fc89b5e2 Bug 1261263 - Remove test for libstdc++ headers conflict with clang 3.3. r=froydnj
Also remove the hack around it.
2016-04-05 07:16:44 +09:00
Mike Hommey 9599eeb33d Bug 1261263 - Unsupport clang < 3.4. r=froydnj
In bug 1254861, we unsupported clang < 3.3, picking 3.3 essentially
because that's the smallest version we had on automation. Bug 1254854
changed that, and the smallest version on automation is now 3.5.

Now, the motivation to unsupport an old version of clang again is that
recent versions don't have the problem with __float128 used in libstdc++
headers (bug 654493). In fact, starting with clang 3.4, the hack we have
in place is not necessary.

So let's just drop support for clang 3.3 instead of keeping that hack
around longer.

As mentioned in bug 1254854, Ubuntu 12.04 LTS has clang 3.4 packages.
2016-04-05 07:16:44 +09:00
Mike Hommey 8155d8f286 Bug 1261235 - Handle non-ascii in configure logging. r=ted
When reading config.log, with old-configure output, we may get non-ascii
strings, but that currently fails because we're using plain open() to
read it. So use encoded_open() instead (which does the same job for
other files in the same script).

Because the build system can be encapsulated in mach, python configure
can have a pipe as stdout/stderr, and in that case, sys.stdout/stderr
have an ascii encoding, failing to print out anything that doesn't
fit in ascii, consequently failing to print the things we've read from
config.log. So reopen stdout and stderr with the right encoding in
the configure output handler.
2016-04-05 07:16:44 +09:00
George Wright 50500e36f3 Bug 1261416 - Rename firefox-plugin-container back to plugin-container to satisfy Flash's protected mode checks, and ensure that we launch the correct binary r=ted 2016-04-04 18:03:33 -04:00
Chris Manchester a7138cfc10 Bug 1242051 - Install test files to the objdir lazily rather than with each invocation of mach. r=gps
This moves test installation for test files out of the monolithic install
manifest for $objdir/_tests, and determines the test and support files
to install based on the object derived from all-tests.json. Additionally,
the files resulting from TEST_HARNESS_FILES are installed, as some tests
will depend on them.

As a result, the time to install tests when invoking the test runner will
scale with the number of tests requested to run rather than the entire set
of tests in the tree, resulting in significantly less overhead.

MozReview-Commit-ID: LeIrUVh1yD4
2016-04-04 14:56:52 -07:00
Ralph Giles 40394ef9d9 Bug 1261503 - Update win32 rustc to support i586-pc-windows-msvc. r=mshal
Update win32 builds to use a Repack of today's (2016 April 1)
rustc nightly for i686-pc-windows-msvc host and
i586-pc-windows-msvc target.

This should properly support machines without sse2 instructions.
2016-04-04 10:09:46 -07:00
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
Mike Hommey 2ee885572e Bug 1258785 - Return a None value when check_prog doesn't find a program. r=ted 2016-03-23 13:24:49 +09:00
Mike Hommey aec687f13d Bug 1258618 - Use True instead of '1' for add_old_configure_assignment. r=nalexander 2016-03-23 09:24:53 +09:00
Mike Hommey 9b54a468a9 Bug 1258618 - Use True instead of '1' for set_define. r=nalexander 2016-03-23 09:24:51 +09:00
Mike Hommey 521861c0e2 Bug 1258618 - Use True instead of '1' for set_config. r=nalexander 2016-03-23 09:24:50 +09:00
Mike Hommey b43aae42ec Bug 1258618 - Allow to use bools as values given to add_old_configure_assignment. r=nalexander 2016-03-23 09:24:49 +09:00
Wes Kocher 1922ce7aa8 Merge m-c to inbound, a=merge CLOSED TREE
MozReview-Commit-ID: KCev5FqbsuD
2016-03-22 16:57:35 -07:00
Nick Alexander 1783c859f3 Bug 1258760 - Pre: Document how to produce Android Gradle dependencies. r=gps
MozReview-Commit-ID: 8hwuQWG98DE

--HG--
extra : rebase_source : 8e8251b8fe5011175b3340338fab1abc6d014d8b
extra : histedit_source : c8756944eae77377a15fb31411b094645a90b5ad
2016-03-21 21:07:41 -07:00
Nick Alexander 40132bc444 Bug 1256995 - Move --with-gradle to mobile/android/moz.configure. r=glandium
This also adds a GRADLE_FLAGS environment variable for use in
automation.

Manually tested.

MozReview-Commit-ID: 8nDkqz2VnJn

--HG--
extra : rebase_source : 32626a7dc0c0a6a440e300d92c31670f14319325
extra : amend_source : fe134e25f079851b4c648b53a7a485ee20c15c18
2016-03-17 11:04:08 -07:00
Carsten "Tomcat" Book 5d83e31d04 merge mozilla-inbound to mozilla-central a=merge 2016-03-22 12:14:15 +01:00
Mike Hommey b93503b5e7 Bug 1257468 - Move JS_STANDALONE to moz.configure. r=nalexander 2016-03-22 11:09:43 +09:00
Mike Hommey cec6eb6fbb Bug 1257468 - Replace tests on BUILDING_JS with tests on MOZ_BUILD_APP==js. r=nalexander
Now that MOZ_BUILD_APP is set to js when building js/src, we can
distinguish those builds with MOZ_BUILD_APP==js instead of BUILDING_JS.
Consequently, remove BUILDING_JS.
2016-03-22 11:09:42 +09:00
Mike Hommey 8f7c8ceafe Bug 1257468 - Move setting MOZ_BUILD_APP subst and define to moz.configure. r=nalexander
This has the side effect of making the variable available in js/src,
which it was not in the past.
2016-03-22 11:09:40 +09:00
Mike Hommey 41706c08fe Bug 1257468 - Add --enable-project=js when calling configure for js/src from subconfigure.py. r=gps
subconfigure.py shortcuts js/src/configure to avoid a msys transition
breaking the environment. But js/src/configure passes an extra
--enable-project=js that subconfigure.py currently doesn't pass.

And because in some cases, MOZ_BUILD_APP is set in the environment
(notably, in OSX universal builds, through client.mk), we need to
unset it before calling the subconfigure.
2016-03-22 11:09:32 +09:00
Mike Hommey d8e5f51dde Bug 1257445 - Move some platform-specific defines to moz.configure. r=gps 2016-03-22 09:25:48 +09:00
Mike Hommey 9a0f2f15ea Backout changeset 136f541c4406 (bug 1257445) for Android bustage on a CLOSED TREE 2016-03-22 08:40:37 +09:00
Mike Hommey 0ea268dc18 Backout changesets f5090987b7c6, 48a94777837d and a63437a74f7a (bug 1257468) for SM bustage on a CLOSED TREE 2016-03-22 08:27:28 +09:00
Mike Hommey a74a4e5dde Bug 1257468 - Move JS_STANDALONE to moz.configure. r=nalexander 2016-03-22 08:05:00 +09:00
Mike Hommey 37d7b30422 Bug 1257468 - Replace tests on BUILDING_JS with tests on MOZ_BUILD_APP==js. r=nalexander
Now that MOZ_BUILD_APP is set to js when building js/src, we can
distinguish those builds with MOZ_BUILD_APP==js instead of BUILDING_JS.
Consequently, remove BUILDING_JS.
2016-03-22 08:05:00 +09:00
Mike Hommey dff9555828 Bug 1257468 - Move setting MOZ_BUILD_APP subst and define to moz.configure. r=nalexander
This has the side effect of making the variable available in js/src,
which it was not in the past.
2016-03-22 08:05:00 +09:00
Mike Hommey 9116f85e0e Bug 1257445 - Move some platform-specific defines to moz.configure. r=gps 2016-03-22 08:05:00 +09:00
Nick Alexander e90bd4aabb Bug 1256401 - Part 2: Remove references to b2gdroid. r=fabrice
MozReview-Commit-ID: 63yJGdgPbhe

--HG--
extra : rebase_source : 2256e0a12588703a83f4cba06971231ac3c64592
extra : amend_source : 1f35a04191f37225986bd7ff4d0b6b2c34a71b05
extra : histedit_source : 82d351700936c8e1297eeca91ce00f96340e2f2c
2016-03-18 14:41:51 -07:00
Chris Manchester d91718bd8c Bug 1256966 - Move NIGHTLY_BUILD and RELEASE_BUILD to Python configure. r=glandium
MozReview-Commit-ID: 2Z3XMO2n681
2016-03-18 11:24:11 -07:00
Chris Manchester a05901fd6c Bug 1257685 - Always read a mozconfig when printing help from python configure. r=glandium
This restores help for project specific options.

MozReview-Commit-ID: 3n0TBnUb0K7
2016-03-18 11:24:11 -07:00
Ted Mielczarek 5986418419 bug 1257607 - Add Version type to moz.configure. r=glandium
This change adds a `Version` type to moz.configure which is a small
wrapper around `distutils.version.Version`. It's suitable for wrapping
version numbers in configure checks and doing equality or greater-than
less-than comparisons in a sensible way.

MozReview-Commit-ID: BOL6yvemulG

--HG--
extra : rebase_source : 3b463eac0499086f8acffda0d01418b6ab17f3d6
extra : amend_source : aebd6e40c408d9f868623b2f53fcdf7455e2fff5
2016-03-17 11:52:18 -04:00
Ted Mielczarek 8f2baa8e8b bug 1257542 - check_prog template should sanity check that progs is not a string. r=glandium
In Python parens around an expression without a trailing comma is not a tuple,
so ('foo') == 'foo'. This is really easy to screw up with check_progs, which
coerces progs to a list and would give you ['f','o','o'] in this case. This
patch enforces that the progs argument is a tuple or list and errors if it
is not.

MozReview-Commit-ID: 7BJZuF9B8D5

--HG--
extra : rebase_source : 5db9a6b4bb9ef7195c2513407810093bff5e9174
extra : amend_source : f67ab46c2ac00a2a95cfc67e9763ac12b690ac14
2016-03-17 11:04:12 -04:00
Mike Hommey 03219400f6 Bug 1257434 - Move --enable-vtune and --enable-profiling to moz.configure. r=ted
old-configure and js/src/old-configure interestingly didn't handle both
the same way. But vtune support is only actually implemented in js/src,
so only the rules from js/src/old-configure matter (nothing was
enforcing the decistion from old-configure to js/src/old-configure), and
this is what is implemented here.
2016-03-18 09:05:53 +09:00
Mike Hommey f701be5ac8 Bug 1257434 - Move --enable-dmd to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 8e033edefa Bug 1257434 - Move --enable-callgrind to moz.configure. r=ted
Remove the unused DEFINES set in js/xpconnect/shell/moz.build,
subsequently making the MOZ_CALLGRIND subst unused, so don't add a
set_config for it.
2016-03-18 09:05:53 +09:00
Mike Hommey 89cb71ad55 Bug 1257434 - Move --enable-instruments to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 58397bd671 Bug 1257434 - Move --enable-jprof to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 9589ff306f Bug 1257434 - Move --enable-systrace to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey dfd9a1b64b Bug 1257648 - Always filter target/host triplets with config.sub. r=nalexander
Until we stop relying on the raw_cpu and raw_os values from target and
host, we need to keep normalizing them like old-configure.in did, which
involves filtering them through config.sub.
2016-03-18 09:05:53 +09:00
Mike Hommey fe53ffa77b Bug 1257416 - Move MOZTTDIR to moz.configure. r=gps 2016-03-18 09:05:53 +09:00
Mike Hommey 50e9df2a3d Bug 1257415 - Move --with-l10n-base to moz.configure. r=gps 2016-03-18 09:05:53 +09:00
Carsten "Tomcat" Book 0153b4e56c Backed out changeset 818165fa787b (bug 1257415) for breaking l10n nightly's 2016-03-17 16:03:55 +01:00
Carsten "Tomcat" Book 7f34f4c017 Backed out changeset 8e9ad372486b (bug 1257416) 2016-03-17 16:03:32 +01:00
Mike Hommey 686509e193 Bug 1257416 - Move MOZTTDIR to moz.configure. r=gps 2016-03-17 14:08:12 +09:00
Mike Hommey 48107a932f Bug 1257415 - Move --with-l10n-base to moz.configure. r=gps 2016-03-17 14:08:04 +09:00
Mike Hommey c82492a724 Bug 1257414 - Remove --with-libxul-sdk. r=gps
Bug 1038639 removed the option, but since autoconf doesn't barf for
unknown options, the option MOZ_ARG_WITH_STRING was kept to emit a
AC_MSG_ERROR. This is not necessary anymore.
2016-03-17 14:07:39 +09:00
Mike Hommey b7f92d8834 Bug 1257413 - Fix check_prog() to properly fail when program is missing after bug 1256568. r=gps 2016-03-17 14:07:27 +09:00
Mike Hommey 3d0e3c4c8e Bug 1257104 - Move --enable-eme to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey d5fe73840f Bug 1257104 - Move --disable-fmp4 to moz.configure. r=ted
Note the imply_option from --enable-ffmpeg replaces the explicit check from
old-configure.in and triggers an error in the same circumstances.
2016-03-17 07:21:37 +09:00
Mike Hommey 294a1dd5b6 Bug 1257104 - Move --disable-ffmpeg to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey 0a286dbf9a Bug 1257104 - Move --disable-wmf to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey d750b89c8d Bug 1256988 - Move USE_FC_FREETYPE to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 42022dc1f2 Bug 1256988 - Move MOZ_INSTRUMENT_EVENT_LOOP to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 44442bc4fe Bug 1256988 - Move --with-gl-provider to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 2743bd43bd Bug 1256988 - Move X11 and MOZ_WIDGET_TOOLKIT-related things to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey b6f701b9e1 Bug 1256988 - Move MOZ_WIDGET_TOOLKIT to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 0366070f0d Bug 1256988 - Move --with-gonk to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey b9c63e7503 Bug 1257051 - Use separate target triplets for iOS and OSX. r=ted
This aligns with the triplets used by clang/llvm. Technically, this
won't break iOS builds still using -darwin triplets until we move
MOZ_IOS_SDK to moz.configure and actively reject non iOS targets with
the iOS sdk.

Also allow to distinguish iOS and OSX with target.os.
2016-03-17 06:49:44 +09:00
Gregory Szorc 432a47934a Bug 1253707 - Script to generate visual studio toolchain archive; r=ted
Previously, Windows toolchains and related dependencies (SDKs, etc)
were installed on Windows builders by people responsible for
maintaining those machines.

This commit takes a step in a new direction. We introduce a
script (complete with documentation) that can produce a zip
archive (or any archive format if people want to implement
support) of the toolchain files. Basically, you install
Visual Studio 2015 Community, run the script, and produce
a self-contained zip file containing everything from Microsoft
you need to build Firefox. With a copy of this archive and
an installation of MozillaBuild, it is possible to build
Firefox on a fresh Windows installation. No time-consuming
Visual Studio installation needed.

The goal is to upload these archives to tooltool and have
our Windows builders download and extract them at run-time.
At which time, we can remove all the other Visual Studio
and SDK files from builders because they don't need to be
baked into the image.

We may find tooltool's caching isn't good enough and we have
to more aggressively caching the standalone toolchain files.
But that is a problem for another day. Whatever happens,
we'll need the functionality in this script to produce
a self-contained archive of the toolchain.

There are certainly files in the produced archive that aren't
needed. I think perfect is the enemy of done and we can prune
the archive over time, if wanted.

MozReview-Commit-ID: EckEK1a6vA3

--HG--
extra : rebase_source : c328be792b2bfb4b3cb8acb50e4868277cb59974
extra : source : 4c980771e574e899a1b05319ad11fb6cffb00087
2016-03-11 15:00:02 -08:00
Mike Hommey 896fa3fd26 Followup for bug 1256568 - Improve the help message for options check_prog adds. r=gps 2016-03-16 10:55:10 +09:00
Mike Hommey 9015326e32 Bug 1256990 - Move tar detection to moz.configure. r=chmanchester 2016-03-16 08:26:47 +09:00
Mike Hommey 8c8c40342a Bug 1256622 - Allow to build spidermonkey from the top-level configure. r=gps 2016-03-16 08:26:47 +09:00
Mike Hommey a3db813ef1 Bug 1256528 - Pass AUTOCONF down to old-configure. r=gps 2016-03-16 08:26:47 +09:00
Mike Hommey 377f0ec95c Bug 1256512 - Move TARGET_CPU and TARGET_OS to moz.configure. r=chmanchester
And remove the unused TARGET_VENDOR
2016-03-16 07:12:53 +09:00
Mike Hommey 68c5ab1790 Bug 1258615 - Remove the "magic" that sets a result from set_config() in @depends functions. r=chmanchester
Currently, if a @depends function doesn't have a return statement or
return None, a result is automatically set from all the set_config()
called from the function.

As we're going to move set_config to the global namespace, and as this
feature is only used once, and it's only used for something that was
written before ReadOnlyNamespace was exposed to the sandbox, we can
"safely" get rid of it.
2016-03-23 06:51:10 +09:00
Ted Mielczarek 509c7d11f9 bug 1257689 - move YASM check to moz.configure. r=mshal
MozReview-Commit-ID: KU3eSCsykPl

--HG--
extra : rebase_source : 4ec8256a4c772b61497ad442620aacb39f3b9ade
extra : amend_source : 258380912dcbcdb4dee2ac6737d71aa5328d12a7
extra : histedit_source : 9cabff8c5ba88ce541ea9881d9147dc4fb3a5692%2Cb1a74d8d449ebbbf5727a9665542043a5b122af7
2016-03-17 19:15:01 -04:00
Geoff Brown 52509fd074 Bug 1255527 - Remove sutagent/watcher; r=jmaher 2016-03-15 08:21:30 -06:00
Ted Mielczarek 7b1faa29bc bug 1255479 - make `mach python-tests` use TestResolver for discovery, make `mach test` work for python tests. r=nalexander
MozReview-Commit-ID: CK2Vh6gdnb0

--HG--
extra : rebase_source : 2b1b05224ade41ad500dc66116beb3b091db9cde
extra : amend_source : 349f7cc876383d873acb1c73c0118d394f39284d
extra : histedit_source : 6d1d44188bb3a4fc69da2900e8118ce2a88a5fd7
2016-03-10 12:30:10 -05:00
Mike Hommey 986945d9e4 Bug 1256568 - Move doxygen, zip, unzip, xargs, rpmbuild, genisoimage and dsymutil detection to moz.configure. r=gps 2016-03-15 16:40:15 +09:00
Mike Hommey 254313370d Bug 1256568 - Move perl detection to moz.configure. r=gps 2016-03-15 16:40:15 +09:00
Mike Hommey 7aad9030cf Bug 1256568 - Move awk detection to moz.configure. r=gps 2016-03-15 16:40:15 +09:00
Mike Hommey dedfa183e2 Bug 1256568 - Inject some variables set in mozconfig into moz.configure. r=gps
Because some of the existing mozconfigs may be setting some variables,
we need to inject those that are handled by moz.configure now. It likely
doesn't matter for the variables currently in moz.configure, but it will
soon become important when more things are moved to moz.configure.

In fact, it is necessary for GENISOIMAGE and DSYMUTIL that we're going
to move in this bug, set in automation mozconfigs.

The implementation is cumbersome and quite horrible. We could do better
by changing the execution model in mozbuild.configure, which is probably
necessary for other reasons as well, but that requires more work and
testing.
2016-03-15 16:40:15 +09:00
Mike Hommey 84027af8da Bug 1256507 - Remove --enable-xterm-updates. r=gps
It's an opt-in flag that allows to display where the build is in
terminal window titles. The fact that it's opt-in and likely unknown
makes it very low-value, and the fact that it was added in an era where
builds were not very well parallelized made it have a meaning, but now
that builds are parallelized, its meaningfulness is diminished.

Let's just remove it.
2016-03-15 16:40:15 +09:00
Mike Hommey d464f29e5f Bug 1255813 - Remove build system support for Solaris, HPUX and AIX. r=ted 2016-03-15 07:34:50 +09:00
Mike Hommey d33300555c Bug 1255305 - Move --host and --target to moz.configure. r=chmanchester
With all the things that still depend on all the variables derived from
--host and --target in both old-configure and moz.build, we still need
to keep variables such as OS_ARCH, OS_TARGET, CPU_ARCH, OS_TEST, etc.

Eventually, we'd settle on the output of split_triplet.

This /tries/ to preserve the current values for all these variables,
while also trying to make things a little more consistent. It also
effectively rejects OSes such as HPUX or AIX, because it is unclear
the decades old accumulated scripts related to them still do anything
useful, and we might as well have them start again from scratch, which,
in the coming weeks, will be even easier.
2016-03-15 07:34:50 +09:00
Mike Hommey 6278d4028c Bug 1255305 - Generalize adding arguments to old-configure. r=chmanchester 2016-03-15 07:34:50 +09:00
Mike Hommey 43c7636a88 Bug 1255305 - Move the function finding a shell from old.configure to init.configure. r=chmanchester 2016-03-15 07:34:50 +09:00
Mike Hommey a768dba8e1 Bug 1255305 - Uniformize CPU_ARCH between old-configure.in and js/src/old-configure.in. r=chmanchester 2016-03-15 07:34:50 +09:00
Blake Winton 36e4a6bd80 Bug 1256355 - Look for homebrew's autoconf213, and fix a typo. r=gps.
MozReview-Commit-ID: yt9fKDzZ9g

--HG--
extra : rebase_source : f5693c673a929267dc10394c9f3a42b3d074639b
2016-03-14 11:06:53 -04:00
Nicolas B. Pierron cf925792db Bug 1245860 - Add --with-nspr-prefix to the list of old configure options. r=ted 2016-03-14 14:41:08 +00:00
Ted Mielczarek 68bd5e8c4d bug 1244743 - Replace MOZ_NATIVE_X with MOZ_SYSTEM_X. r=gps
MozReview-Commit-ID: 9ip3qeAXFEe

--HG--
extra : commitid : H6aEkHprVyX
extra : rebase_source : e20d5f4b297caf66711c72cd55dd76f7f9ef9d9c
extra : histedit_source : 47545e0ea61eb66f16545f70e6d3792a389bedb1
2016-02-01 10:49:34 -05:00
Mike Hommey ad56d4e463 Bug 1255433 - Store old-configure.vars as utf-8 or mbcs. r=gps
The data we get out of mozconfig can be unicode, and needs to be in a
form the shell used to run old-configure will be able to recognize,
which is likely utf-8 on UNIX (that's what we settled on), and mbcs on
Windows.
2016-03-12 09:16:56 +09:00
Mike Hommey 80f68ac7a4 Bug 1255312 - Limit the options we pass down to old-configure. r=chmanchester
So far, we've been passing down all configure_args from mozconfig as
well as every flag appearing on sys.argv. This is overly broad and
causes problems for some options, like --enable-application.

However, we don't need all these options to be passed.

For the top-level old-configure, we need to pass the flags it can
handle, as well as the flags that we want passed down to
js/src/configure.

For js/src/old-configure, we only need to pass the flags it can handle.

The flags an old-configure can handle is defined by the list of flags
in @old_configure_options. The list of flags to pass down to
js/src/configure is defined by extra_old_configure_args.

And since the mozconfig configure_args are being injected into python
configure processing, the list of values we get in old_configure includes
the mozconfig configure_args.
2016-03-12 09:16:48 +09:00