Commit Graph

5426 Commits

Author SHA1 Message Date
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