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

5558 Коммитов

Автор SHA1 Сообщение Дата
Chris Manchester e62326427f Bug 1276043 - Move ANDROID_SUPPORT_LIBRARY_VERSION and ADNROID_GOOGLE_PLAY_SERVICES_VERSION to Python configure. r=glandium
MozReview-Commit-ID: 2UctER22IGt
2016-05-31 10:14:35 -07:00
Wes Kocher af53901606 Merge m-c to inbound, a=merge 2016-05-13 16:45:32 -07:00
Wes Kocher d3b44c704b Merge inbound to central, a=merge 2016-05-13 16:43:37 -07:00
Gijs Kruitbosch 40ea68f72f Bug 1270144 - fix message from timed out tests to indicate the following crash is caused by us terminating the browser process, r=ahal,RyanVM
MozReview-Commit-ID: Hyr7xkZdbqc

--HG--
extra : rebase_source : 013339bec54f1ecb0123fa1388dbb350258790df
extra : amend_source : 26e6c904d7031e700560ca32057edba65ad1632d
2016-05-10 22:53:17 +01:00
Ben Kelly 8ddb26fdbe Bug 1272748 Expose --enable-sm-promise config setting in mozinfo.json. r=mshal 2016-05-13 13:00:16 -07:00
Mike Shal dbfbbfe42c Bug 1272483 - Remove MOZ_UPDATE_PACKAGING and --enable-update-packaging; r=chmanchester
MozReview-Commit-ID: A3SDJCc5eHH

--HG--
extra : rebase_source : af8d081c349b27ac0e2567b0f5863fbbeb7f98ce
2016-05-12 12:15:58 -04:00
Chris Manchester 4f42fe999c Bug 1257326 - Replace the env_flag configure template with a template that does not permit setting values directly from the environment or a mozconfig. r=glandium
For most cases, this replaces a value that was set in a way that would ignore
an environment variable, so this restores behavior for values that were
set in confvars.sh.

MozReview-Commit-ID: E31hm8uKq4D
2016-05-12 11:55:58 -07:00
Chris Manchester e00bb9ee54 Bug 1267454 - Move java toolchain checks to Python configure. r=glandium
MozReview-Commit-ID: KEDkmJJsaUx
2016-05-12 11:55:57 -07:00
Chris Manchester 463051b415 Bug 1267454 - Add a parameter to find_program and check_prog to allow searching the given paths instead of $PATH. r=glandium
MozReview-Commit-ID: F3lke9Q5rRR
2016-05-12 11:55:57 -07:00
Jonathan Kingston 11a106fd9b Bug 1252068 - Adding in reset prefs button on SSLNetError page. r=gijs
MozReview-Commit-ID: BJQ0cYlrS6O

--HG--
extra : transplant_source : %C7%FA%195%1C%87%1BDp%04%1CZI%A3N%94%F5%1Ch%3B
2016-05-04 17:10:45 +01:00
Mike Shal ee0dfc3298 Bug 1265272 - Generate EME voucher for MacOSX; r=ted
MozReview-Commit-ID: Dct5p9LfkWq
2016-04-21 11:09:52 -04:00
Mike Hommey 3c90aa7923 Bug 1270446 - Make check_compiler() return a namespace instead of a tuple. r=chmanchester 2016-05-06 21:23:34 +09:00
Mike Shal b255386314 Bug 1269787 - Move appini_header.py rule to moz.build; r=glandium
MozReview-Commit-ID: 5tly7JYA2f7
2016-04-29 13:45:07 -04:00
Andrew Halberstadt 0484cb2aa7 Bug 1230962 - Create mach/build system integration for mozlint, r=smacleod
MozReview-Commit-ID: 74ma5uMOphe

--HG--
extra : rebase_source : 3b0594650a364ad598fc12cc38f3e4fd916ca26b
2016-03-18 13:54:07 -04:00
Mike Hommey 7c22cf4c1b Bug 1264609 - Derive HOST_CXX from CXX when it makes sense. r=ted 2016-05-04 06:34:38 +09:00
Ralph Giles f75ac6bcbf Bug 1269790 - Bump default MacOS target to 10.7. r=gps
We no longer support MacOS X versions 10.6-10.8. Bumping the
default MACOSX_DEPLOYMENT_TARGET to 10.7 lets us start landing
changes which are incompatible with earlier SDKs.

Currently we build on 10.7, so moving to 10.9 must wait until
our infrastructure is reconfigured to run build jobs on more
recent MacOS versions.

MozReview-Commit-ID: B0CcWVOnnv3
2016-05-03 10:22:01 -07:00
Jan Beich 38fac9d91b Bug 1267901 - Fix --disable-replace-malloc on Nightly after bug 1257448. r=glandium
MozReview-Commit-ID: HbsrH0M6wLE

--HG--
extra : transplant_source : %F9f%CC%18%5B%AB%80u%F5%C9U%24%9Bn%B2S%11/%DBU
2016-04-27 02:53:17 +00:00
Nicholas Nethercote a5c843fe5f Bug 1267550 (part 1) - Rename MOZ_MUST_USE as MOZ_MUST_USE_TYPE. r=ehsan.
This will allow MOZ_MUST_USE to be used for a different and more common case.

MozReview-Commit-ID: 4dQsdWjJfc6

--HG--
extra : rebase_source : 390ab56ef83d71eb6d28759a0195a79a78b153bd
2016-04-27 08:22:10 +10:00
Kim Moir 54248e8cea Bug 1186522 - force per checkin and release desktop firefox builds to require signed add-ons on beta 47 r=mshal 2016-04-27 12:46:52 -04:00
Andrew McCreight d32f8a4e5c Bug 1227347, part 1 - Remove IPC-related LSan suppressions. r=erahm
It seems like these were fixed by making graphics IPC shut down
properly.
2016-04-26 11:46:28 -07:00
Vlad Ciobancai eba5401caa Bug 1265799 - Disable b2g-inbound. r=Callek
MozReview-Commit-ID: GYzymyiPz1D
2016-04-25 06:40:55 -04:00
Mike Hommey e720762c60 Bug 1266620 - Move MACOSX_DEPLOYMENT_TARGET to moz.configure. r=chmanchester 2016-04-23 08:13:26 +09:00
Gregory Szorc 79133e3755 Bug 1259782 - Fix version number of "Tools" in Visual Studio install docs
Thanks to gkw for pointing this out.

DONTBUILD (NPOTB)

MozReview-Commit-ID: 4Hd3Nse2VCP

--HG--
extra : rebase_source : f50253b8eb28306ecd62635f292fb3f2b65574c8
2016-04-22 15:50:36 -07:00
Chris Manchester c2a2f2b51f Bug 1257958 - Move MOZ_ANDROID_APZ to Python configure. r=nalexander
MozReview-Commit-ID: EPhThmQjKXF
2016-04-22 13:01:22 -07:00
Chris Manchester 303634f7fa Bug 1257958 - Move MOZ_ANDROID_GCM to Python configure. r=nalexander
MozReview-Commit-ID: 90vbYKB8rHJ
2016-04-22 13:01:21 -07:00
Chris Manchester ef201688a8 Bug 1257958 - Add a template to construct an environment-set option that sets the corresponding variable. r=glandium
MozReview-Commit-ID: 2ufoFdwCdDk
2016-04-22 13:01:21 -07:00
Gregory Szorc d66e0376ba Bug 1259782 - Build with Visual Studio 2015 Update 2; r=ted
Should be a drop-in replacement for VS2015u1.

MozReview-Commit-ID: HSmdikYPR0j

--HG--
extra : rebase_source : 30a63dd245cbab99de849004f975b9104272dbfc
2016-04-22 12:51:23 -07:00
Gregory Szorc c5b33d0cbb Bug 1259782 - Define zip archive path prefix argument; r=ted
To support generating zip archives with more flexibility.

MozReview-Commit-ID: LmAgAXUfn3x

--HG--
extra : rebase_source : 2b9ddbda0c3dab2a498b2fc217e728a9cfefc134
2016-04-22 11:37:14 -07:00
Mike Hommey 11908ff843 Bug 1266343 - Add unit tests for the toolchain checks. r=chmanchester 2016-04-22 09:04:05 +09:00
Mike Hommey 11b8ab106b Bug 1266343 - Add CONFIG_SHELL to allow to set a POSIX shell that is not sh. r=chmanchester
This allows unit tests to override the shell check, and is compatible with what
autoconf actually does.
2016-04-22 09:03:33 +09:00
dimi fec77d99d5 Bug 1264829 - test_classifier.html doesn't really test unwanted.example.com. r=francois
MozReview-Commit-ID: HUdtm5s4dNP

--HG--
extra : rebase_source : 6fc3fed0c0447f6403160b239e076b86ab9b05a3
2016-04-19 09:07:35 +08:00
Ted Mielczarek 38f0f05268 bug 1266046 - remove NSPR_CONFIGURE_ARGS. r=glandium
MozReview-Commit-ID: 4lwouR4LVit

--HG--
extra : rebase_source : 6103e3ab1ff077efc3109b412e4f3bbcb53c8f5f
2016-04-20 08:37:39 -04:00
Mike Hommey 3b7f3b9e75 Bug 1265627 - Prettify the MSVC version. r=ted 2016-04-20 07:51:55 +09:00
Mike Hommey 4cad8671dc Bug 1265627 - Force clang-cl MSVC emulation from moz.configure. r=ted 2016-04-20 07:51:55 +09:00
Mike Hommey b80757a0cb Bug 1265627 - Remove now useless version-related assignments from old-configure. r=ted
Also simplify things around some remaining compiler version checks.
2016-04-20 07:51:55 +09:00
Mike Hommey 5192eab0d6 Bug 1265627 - Move compiler version checks to moz.configure. r=ted 2016-04-20 07:51:55 +09:00
Mike Hommey 45d327c752 Bug 1265627 - Check that using the compiler flags we add does what they are intended to do. r=ted
While this is not immediately useful, it will be with the next changes.
2016-04-20 07:51:55 +09:00
Jeff Gilbert 8728cc55d6 Bug 1264499 - s/mozconfig.vs2013/mozconfig.vs2015/ where not yet updated. - r=gps,sfink 2016-04-19 11:51:24 -07:00
Mike Hommey 8990bb15dd Bug 1264482 - Move adding -std=gnu99 and -std=gnu++11 to moz.configure. r=ted
We were unconditionally adding them, now actually check what the
compilers default to and add the flags if they are necessary.
This will, in the future, allow finer grained policy changes, where
we can decide that C++11 and C++14 are fine, downgrading compilers
that do C++17, etc.
2016-04-19 15:09:37 +09:00
Mike Hommey bb5463199c Bug 1264482 - Move compiler invocation for preprocessing to a separate function. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey 66ab5aca5c Bug 1264482 - Use the EnumString type for the different values we get out of split_triplet. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey 3b84e5ed68 Bug 1264482 - Use the EnumString type for the compiler type. r=ted 2016-04-19 15:09:37 +09:00
Mike Hommey fb65986e09 Bug 1264482 - Fake an arbitrary __name__ in sandboxed global. r=ted 2016-04-19 15:09:37 +09:00
Ehsan Akhgari 09ce2152c7 Bug 1264827 - Part 2: Add a static analysis to help check Rust wrapped C++ classes for members which are unsafe to memmove; r=mystor 2016-04-18 15:43:46 -04:00
Ehsan Akhgari 18c66f1103 Bug 1264827 - Part 1: Rename the existing code to make it clear it's checking for template args; r=mystor 2016-04-18 15:43:44 -04:00
Mike Hommey 6c9ed7d3ec Bug 1264831 - Use @imports in find_program. r=gps
This removes the last use of complete configure sandbox unlocking.
2016-04-15 18:56:08 +09:00
Mike Hommey 5ac7830115 Bug 1264831 - Add a few presumably harmless builtins to the sandbox. r=gps
as well as os.path.normcase.
2016-04-15 18:56:08 +09:00
Mike Hommey a032db835b Bug 1264132 - Use `$gcc_dir/bin/gcc -print-libgcc-file-name` to find the libraries and headers to copy in the clang package. r=ehsan 2016-04-15 08:17:43 +09:00
Mike Hommey f3054520af Bug 1260327 - Expose a MOZ_CONFIGURE_OPTIONS variable containing configure options. r=chmanchester 2016-04-15 08:14:05 +09:00
Mike Hommey 197084b5a7 Bug 1257448 - Move --enable-replace-malloc to moz.configure. r=nalexander 2016-04-15 08:14:05 +09:00
Mike Hommey cb8bf91611 Bug 1257448 - Move MOZ_MEMORY_* defines to moz.configure. r=nalexander 2016-04-15 08:14:05 +09:00
Mike Hommey d685556de0 Bug 1257448 - Move --enable-jemalloc and MOZ_JEMALLOC4 to moz.configure. r=nalexander
At the same time, allow to enable jemalloc 4 with --enable-jemalloc=4.
MOZ_JEMALLOC4 will be deprecated later.

This also changes the semantics for freebsd, where the system jemalloc
is used, relying on MOZ_MEMORY being unset (default on freebsd) and
MOZ_JEMALLOC4 to be set. In this new setup, MOZ_JEMALLOC4 implies
--enable-jemalloc=4, which still works because of the corresponding
changes to old-configure.
2016-04-15 08:14:05 +09:00
Mike Hommey f9f9e3be56 Bug 1264527 - Remove wanted_mozconfig_variables. r=nalexander
While forgetting about it was warned about, having to add every new
environment option to wanted_mozconfig_variables is cumbersome. It turns
out there is a hackish way to make things work without that list, which,
all things considered, is not worse than the hacks around the
wanted_mozconfig_variables function, and are certainly an improvement as
it doesn't require an ever growing list of environment options.
2016-04-15 08:14:05 +09:00
Jeff Gilbert 0b554f96bd Bug 982928 - Remove mozconfig.vs2010. - r=gps,sfink sr=ted.mielczarek 2016-04-14 13:37:27 -07:00
Chris Manchester 6a21a3345a Bug 1256979 - Move MOZ_CHROME_FILE_FORMAT to Python configure. r=glandium
The config variable is re-named to avoid confusion, because it is not set by
--enable-chrome-format.

MozReview-Commit-ID: 37gvjGGSkRc
2016-04-14 12:26:38 -07:00
Mike Hommey 341ebd8679 Bug 1259382 - Move CC/CXX/HOST_CC/HOST_CXX to moz.configure. r=ted
At the same time, we improve things slightly by deriving HOST_CC from CC
in a smarter way, as well as CXX from CC, which we weren't doing
previously.

Many related things are not moved at the same time to keep the patch
somehow "small".
2016-04-14 13:21:29 +09:00
Mike Hommey 6978958707 Bug 1259382 - Get a full path to the compiler wrapper. r=ted
In the near future, we are going to try running the compiler wrapper
from python code, and that will work better if we have the full path
to it.
2016-04-14 13:16:31 +09:00
Mike Hommey 3098248f0e Bug 1256571 - Change the execution model of python configure. r=chmanchester
So far, everything was essentially executed at "declaration". This
made the sandbox code simpler, but to improve on the tooling around
python configure (for tests and introspection), we need to have more
flexibility, which executing everything at declaration doesn't give.

With this change, only @depends functions depending on --help, as
well as templates, are executed at the moment the moz.configure
files are included in the sandbox. The remainder is executed at the
end.
2016-04-14 07:29:42 +09:00
Mike Hommey 441c1e30d4 Bug 1259382 - Make add_old_configure_assignment work like set_config, accepting both @depends functions and literal values for both arguments it takes. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey 19f78b2dd2 Bug 1259382 - Remove support for Intel C/C++ compiler. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey 6684d3c1ee Bug 1259382 - Make mozbuild.shellutil.quote more useful for e.g. creating printable command lines. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey 2c621f97c8 Bug 1264129 - Add verbosity for the shell and autoconf checks in moz.configure. r=gps
Also get an absolute path for the shell.
2016-04-13 10:06:52 +09:00
Mike Hommey 4c7112f60f Followup for bug 1262781: change ASTMatcher check name to force override config.cache on a CLOSED TREE. r=me 2016-04-13 07:17:06 +09:00
Mike Hommey 3cf7cce79c Bug 1262781 - Update to clang 3.8 final. r=froydnj
Ideally, we'd use the tarballs from
http://llvm.org/releases/download.html but I didn't feel like modifying
the script more than I already did to make it work at all (bug 1262735).

The new tarball for Linux was built on
https://tools.taskcluster.net/task-inspector/#LCUn8aEgTBeRJ11a3qTlDQ/0

The new tarball for Mac was built on a loaner, after installing cmake
and ninja, as well as building ld64 127.2 from source because the
installed version would assert while building clang. The latter required
manually adding some missing headers to /usr/include. TSAN was also
disabled because it requires APIs that are not available on the OSX
version on the build slaves (e.g. pthread_introspection_hook_install).
Building clang also required using a mac clang from tooltool, the system
one lacking support for atomics.
2016-04-13 06:54:22 +09:00
Mike Hommey 101f79b100 Bug 1262781 - Use the host compiler for the ASTMatcher check. r=froydnj
The check is for the clang plugin, which is a host library. It is especially
important to use the host compiler for this check on OSX-on-Linux cross builds.
2016-04-13 06:54:22 +09:00
Mike Hommey 912e358711 Bug 1262735 - Merge both clang-static-analysis-linux64*.json files. r=ehsan
Both point to the same path for cc and cxx, but not for gcc_dir, which
makes no sense. That's the only significant difference between both, so
just merge them both, and use the merged file in the taskcluster build
script.
2016-04-13 06:54:22 +09:00
Mike Hommey f10f72597f Bug 1262735 - Don't pass --gcc-toolchain to build clang. r=ehsan
Instead, copy libgcc from the GCC used to build clang at each stage.
When passing --gcc-toolchain, the flag ends up appearing in the output
of llvm-config, and completely defeats the purpose of copying libgcc in
clang/lib/gcc.
2016-04-13 06:54:22 +09:00
Mike Hommey 7edc21159a Bug 1262735 - Copy libgcc from the GCC used to build clang instead of building a new GCC. r=ehsan
Since build-clang.py requires a gcc_dir to be set, and we're using GCC
from there to build clang, we might as well copy libgcc from there
instead of building a fresh GCC. On the taskcluster job building clang,
GCC comes from a tooltool package that is already the result of
build-gcc anyways.
2016-04-13 06:54:22 +09:00
Mike Hommey 6e2de1e7c9 Bug 1262735 - Fix the path to build-gcc used by build-clang. r=ehsan 2016-04-13 06:54:22 +09:00
Mike Hommey 7a2fda7780 Bug 1262735 - Separate compiler and flags when passing them to CMake. r=ehsan
When passing -DCMAKE_C_COMPILER="gcc -flags" to CMake, ninja then tries
to literally call "gcc -flags", not "gcc" "-flags", and a "gcc -flags"
file obviously doesn't exist, so the build fails.

This fixes a regression from bug 1042132. Hopefully, this also doesn't
regress bug 1042132 itself.
2016-04-13 06:54:22 +09:00
Mike Hommey f2ba91d434 Bug 1262735 - Change the clang paths in patches added in bug 1210154. r=ehsan 2016-04-13 06:54:22 +09:00
Mike Shal a88d164819 Bug 1245701 - Port build/win32 install rules to moz.build; r=glandium
MozReview-Commit-ID: 8FY0F6reO1g

--HG--
extra : rebase_source : 7caa74f3627ffa99982f4502fd3a0c98077d7270
2016-04-07 12:39:40 -04:00
Andrew Halberstadt fbc37fe116 Bug 1255450 - [mach] Enable runtime configuration files, r=gps
Runtime configs have been implemented for awhile, but disabled. This patch
enables configuration. Config files will be loaded in the following order
(later files override earlier ones):

1a. $MACHRC
1b. $MOZBUILD_STATE_PATH/machrc (if $MACHRC is unset)
2. topsrcdir/machrc
3. CLI via --settings

Note: .machrc may be used instead of machrc if desired.

MozReview-Commit-ID: IntONAZLGML

--HG--
extra : rebase_source : ff79b129eaea7cca5064d30fa6ddc76fceb9669b
2016-03-28 11:18:24 -04:00
Kim Moir 55fb66e771 revert Bug 1186522 - force per checkin and release desktop firefox builds to require signed add-ons on beta 45 r=mshal 2016-04-11 12:16:51 -04:00
Kim Moir 331a5db94d Bug 1186522 - force per checkin and release desktop firefox builds to require signed add-ons on beta 45 r=mshal 2016-04-11 09:15:12 -04:00
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