Ting-Yu Chou
998c531581
Bug 1335991 part 1 - Bump to clang r293859 to fix a crash at nsZipArchive::GetItem on 64-bit clang-cl builds. r=Ehsan
...
MozReview-Commit-ID: 8ZO4sSmvZRG
--HG--
extra : rebase_source : 31e196ffe69614e699e6e1f6269fad1678df96f0
2017-02-15 09:23:49 +08:00
Ehsan Akhgari
345db1efc9
Bug 1340650 - Update clang-tidy to LLVM r295482; r=mystor
...
This revision includes the upstream fixes that we need for the
./mach static-analysis command.
2017-02-17 14:49:50 -05:00
Ehsan Akhgari
159c817948
Bug 1337233 - Part 2: Update cross-compile OS X builds to clang 3.9; r=froydnj
2017-02-08 09:48:28 -05:00
Ehsan Akhgari
6ca044975f
Bug 1336149 - Clean up the patches section in build-clang.py config files; r=froydnj
...
These config files don't need to declare patches for other platforms.
Therefore, this patch makes "patches" a simple array of patches to be
applied.
2017-02-03 10:21:25 -05:00
Ehsan Akhgari
4b3bdfeff3
Bug 1331957 - Part 11: Specify the path to the cross-compiler toolchain libtool for OS X static analysis builds; r=froydnj
2017-02-03 10:19:44 -05:00
Ehsan Akhgari
9ae48af89b
Bug 1331957 - Part 9: Upgrade cctools used for building clang on OS X for ld 264.3.102; r=froydnj
2017-02-03 10:19:33 -05:00
Ehsan Akhgari
6606a301b5
Bug 1331957 - Part 7: Reapply LLVM r285657 to work around bug 1291397 on clang 3.9; r=froydnj
2017-02-03 10:19:23 -05:00
Ehsan Akhgari
39988b4058
Bug 1331957 - Part 6: Reapply LLVM r277806 since our clang-plugin depends on it; r=froydnj
2017-02-03 10:19:17 -05:00
Ehsan Akhgari
792b5995ec
Bug 1331957 - Part 5: Add `-target x86_64-apple-darwin10' to the compiler-rt overridden CFLAGS; r=froydnj
2017-02-03 10:19:11 -05:00
Ehsan Akhgari
3faecaeefd
Bug 1331957 - Part 4: Allow specifying a custom assembler and pass the right flags to it when cross-compiling; r=froydnj
2017-02-03 10:19:06 -05:00
Ehsan Akhgari
2deb4fad8f
Bug 1331957 - Part 3: Delete some unused patches; r=froydnj
2017-02-03 10:19:01 -05:00
Ehsan Akhgari
12021be5bd
Bug 1331957 - Part 1: Update the clang OSX build config file for cross-compile builds on the infrastructure; r=froydnj
2017-02-03 10:18:50 -05:00
Iris Hsiao
e7d1ec1886
Backed out 14 changesets (bug 1331957, bug 1336149) for OS X 10.7 debug static analysis build bustage
...
Backed out changeset a01bead75258 (bug 1336149)
Backed out changeset 9a64d3102f6b (bug 1331957)
Backed out changeset a10f7732a754 (bug 1331957)
Backed out changeset 82c98214febe (bug 1331957)
Backed out changeset f74c7a543525 (bug 1331957)
Backed out changeset 6631f3582920 (bug 1331957)
Backed out changeset ccefeba51cf6 (bug 1331957)
Backed out changeset a84b26a07369 (bug 1331957)
Backed out changeset fc0b3a0ad1e5 (bug 1331957)
Backed out changeset bbcae89fd7c2 (bug 1331957)
Backed out changeset ffd70d960b9f (bug 1331957)
Backed out changeset a53ecc295eae (bug 1331957)
Backed out changeset d44a0be29686 (bug 1331957)
Backed out changeset a01a373da6a8 (bug 1331957)
2017-02-03 11:16:08 +08:00
Ehsan Akhgari
3938b1321e
Bug 1336149 - Clean up the patches section in build-clang.py config files; r=froydnj
...
These config files don't need to declare patches for other platforms.
Therefore, this patch makes "patches" a simple array of patches to be
applied.
2017-02-02 20:21:02 -05:00
Ehsan Akhgari
47962cad64
Bug 1331957 - Part 11: Specify the path to the cross-compiler toolchain libtool for OS X static analysis builds; r=froydnj
2017-02-02 20:20:58 -05:00
Ehsan Akhgari
740beab0d8
Bug 1331957 - Part 9: Upgrade cctools used for building clang on OS X for ld 264.3.102; r=froydnj
2017-02-02 20:20:56 -05:00
Ehsan Akhgari
21066a440f
Bug 1331957 - Part 7: Reapply LLVM r285657 to work around bug 1291397 on clang 3.9; r=froydnj
2017-02-02 20:20:53 -05:00
Ehsan Akhgari
ec0c764072
Bug 1331957 - Part 6: Reapply LLVM r277806 since our clang-plugin depends on it; r=froydnj
2017-02-02 20:20:52 -05:00
Ehsan Akhgari
1c6291e811
Bug 1331957 - Part 5: Add `-target x86_64-apple-darwin10' to the compiler-rt overridden CFLAGS; r=froydnj
2017-02-02 20:20:50 -05:00
Ehsan Akhgari
d3f77a78f9
Bug 1331957 - Part 4: Allow specifying a custom assembler and pass the right flags to it when cross-compiling; r=froydnj
2017-02-02 20:20:49 -05:00
Ehsan Akhgari
8fe64fa5ab
Bug 1331957 - Part 3: Delete some unused patches; r=froydnj
2017-02-02 20:20:47 -05:00
Ehsan Akhgari
111d9ba040
Bug 1331957 - Part 1: Update the clang OSX build config file for cross-compile builds on the infrastructure; r=froydnj
2017-02-02 20:20:45 -05:00
Nathan Froyd
54a6797cde
Bug 1331012 - follow-up - delete trailng comma in JSON file; r=me
2017-01-20 13:42:07 -05:00
Nathan Froyd
9f03bf3c53
Bug 1330082 - factor out a checkout_or_update function for build-clang.py; r=ehsan
...
It's just silly to have the same code repeated multiple times; this is
the sort of thing functions were invented for.
2017-01-20 12:54:56 -05:00
Nathan Froyd
bfdd6c88f4
Bug 1331012 - update building clang for linux to version 3.9; r=ehsan
...
The return-empty-string-non-mangled.patch apparently landed in r249437
upstream, so we don't need to carry around our own version. The patch
is still nominally used for building clang on Mac, so I have not removed
it from version control.
2017-01-20 12:54:56 -05:00
Ehsan Akhgari
9d0fe5c3d4
Bug 1332022 - Part 2: Update clang-tidy config files to LLVM r292415; r=mystor
...
This revision includes the changes needed in run-clang-tidy.py
(https://reviews.llvm.org/D28334 ).
2017-01-18 23:04:11 -05:00
Ehsan Akhgari
9e44ebaa16
Bug 1332022 - Part 1: Use the libc++ headers from the libc++ project being built; r=mystor
...
LLVM relies on new libc++ features that may not be present in
the system headers.
2017-01-18 23:04:10 -05:00
Wes Kocher
1d57cf3099
Backed out changeset bfcc3984fa6c (bug 1332022) for Clang-Tidy bustage a=backout
...
MozReview-Commit-ID: 42w843ZSidA
2017-01-18 13:27:01 -08:00
Ehsan Akhgari
4178bf325e
Bug 1332022 - Update clang-tidy config files to LLVM r292415; r=mystor
...
This revision includes the changes needed in run-clang-tidy.py
(https://reviews.llvm.org/D28334 ).
2017-01-18 13:12:02 -05:00
Ehsan Akhgari
b8b6926a81
Bug 1329307 - Only package the clang-tidy binaries for the clang-tidy builds; r=mystor
2017-01-06 16:02:23 -05:00
Ehsan Akhgari
b212e8e44a
Bug 1329306 - Also clobber the CMakeFiles directory; r=mystor
...
This directory can include variables for the toolchain path names,
for example, which are different from run to run on Windows TaskCluster
workers.
2017-01-06 16:02:23 -05:00
Ehsan Akhgari
1393c469d1
Bug 1328184 follow-up: Fix a typo
2017-01-05 00:51:47 -05:00
Ehsan Akhgari
f0a8a24920
Bug 1328199 - Part 2: Add a TaskCluster job to build clang-tidy for OSX on Linux; r=dustin
2017-01-04 16:50:09 -05:00
Ehsan Akhgari
38f9ae4b7f
Bug 1328199 - Part 1: Add support for cross-compiling clang for OS X on Linux; r=mystor
2017-01-04 16:50:08 -05:00
Ehsan Akhgari
e877f28154
Bug 1324488 - Add a TaskCluster job to build clang-tidy on Linux; r=dustin
2017-01-04 16:50:08 -05:00
Ehsan Akhgari
2ffc60ec46
Bug 1328457 - Link clang statically against the MSVCRT on Windows; r=mystor
2017-01-04 12:25:57 -05:00
Ehsan Akhgari
56683af3e7
Bug 1328200 - Add TaskCluster jobs to build clang-tidy for Win32 and Win64; r=dustin
2017-01-03 17:04:29 -05:00
Ehsan Akhgari
d8db8fb565
Bug 1328184 - Part 2: Deal better with an existing build directory being found; r=mystor
...
Instead of relying on the assumption that a previous run of CMake was
using the same arguments, remove the CMake cache file and re-run it.
This way the script is robust no matter what kind of build directory
existed from before.
2017-01-03 16:59:56 -05:00
Ehsan Akhgari
b27938cfd1
Bug 1328184 - Part 1: Deal better with an existing source checkout; r=mystor
...
Since individual config files have different source repos declared,
it's better to deal with each individual source directory separately.
Also make sure to revert any of the existing changes in each directory
so that attempts to apply patches to the source directory or import
our static analysis checks into clang-tidy are guaranteed to always
succeed.
2017-01-03 16:59:56 -05:00
Phil Ringnalda
f26dcf9b33
Backed out changeset b12680f82f7a (bug 1324488) since the thing it depended on was backed out
...
MozReview-Commit-ID: 9Z36fqcH5v6
2016-12-31 08:55:47 -08:00
Ehsan Akhgari
9a3fcec28c
Bug 1324488 - Add a TaskCluster job to build clang-tidy on Linux; r=dustin
2016-12-30 11:51:00 -05:00
Ehsan Akhgari
ed92149615
Bug 1324315 - Add support for building clang-tidy with Mozilla static analysis checks to build-clang.py; r=mystor
2016-12-28 20:47:49 -05:00
Ryan VanderMeulen
946e064ee8
Bug 1319901 - Enforce Visual Studio 2015 Update 3 as the minimum supported compiler version for Windows builds. r=ted
2016-12-15 19:27:03 -05:00
Ting-Yu Chou
01b3c26302
Bug 1316545 part 7 - Install also the import library of clang.exe. r=ehsan
2016-12-09 17:02:06 +08:00
Ting-Yu Chou
d1254c6058
Bug 1316545 part 2 - Enable LLVM_EXPORT_SYMBOLS_FOR_PLUGINS for linking clang plugin on windows. r=ehsan
...
MozReview-Commit-ID: 5p5oFAlQyri
--HG--
extra : histedit_source : b1bb3860cd5d2f717c0862eb4a3ff052f7bf5b79
2016-11-16 14:00:06 +08:00
Nathan Froyd
ed250a190d
Bug 1321334 - bump clang-cl build version to r286542; r=dmajor
...
This revision fixes a clang devirtualization bug and also includes
support for -fbuiltin-module-map, which is useful in making ffmpeg
compile correctly.
2016-11-30 12:06:20 -05:00
Ting-Yu Chou
4b4ca8bc3b
Bug 1316537 part 3 - Fix tar package path conversion for local build. r=Ehsan
...
MozReview-Commit-ID: 6btpeTxouB
--HG--
extra : rebase_source : efe870a8e0e3ff261dcb9cffaf66707585fb9465
2016-11-15 12:22:44 +08:00
Ting-Yu Chou
0e9c286577
Bug 1316537 part 2 - Update 64-bit clang build configuration for the changes in bug 1306650. r=Ehsan
...
MozReview-Commit-ID: 79QRz4FUFRe
--HG--
extra : rebase_source : eeecb26bcae896929ee6af91a6b8bba2f4225944
2016-11-15 09:11:46 +08:00
Nathan Froyd
d4c390f1b6
Bug 1306650 - part 14 - correct tar package substitution for new taskcluster scheme; r=ehsan
...
Taskcluster builds live in a different place than our buildbot builds did.
2016-10-26 16:18:23 -04:00
Nathan Froyd
18f9b40c4a
Bug 1306650 - part 13 - update clang-cl revision to something that builds OK with ASan and MSVC2015u3; r=ehsan
...
Newer clang-cl is more better.
2016-10-26 16:18:23 -04:00
Nathan Froyd
c807e45845
Bug 1306650 - part 12 - explicitly select MSVC version for clang-cl to emulate in stage 2+; r=ehsan
...
clang-cl would normally derive its MSVC emulation bits from the
installed MSVC version, but we don't have an installed MSVC in this
scenario, so we have to use command-line options instead. We use
similar options for Gecko builds.
2016-10-26 16:18:23 -04:00
Nathan Froyd
a892fb7aa8
Bug 1306650 - part 11 - use a relative path for the build directory on windows; r=ehsan
...
In a taskcluster world, we cannot used fixed directories, since we don't
know the absolute path of the directory we're building in ahead of time.
(We could pass it in to the build script, or discover it in the script
itself, but that wouldn't really solve the next problem.) This change
does make the builds not reproducible, but as we're using clang-cl
purely for secondary purposes on Windows, rather than for shipping
Firefox binaries (as we would on Mac, say), I don't feel bad about
punting the reproducibility issue down the road a bit.
2016-10-26 16:18:23 -04:00
Nathan Froyd
fbd004815c
Bug 1306650 - part 10 - slashify paths for cmake; r=ehsan
...
Due to CMake oddities, we need to escape whatever paths we pass in here.
2016-10-26 16:18:23 -04:00
Nathan Froyd
4fac2b0c3c
Bug 1306650 - part 9 - add CMAKE_ASM_COMPILER to cmake invocation; r=ehsan
...
CMake is unhappy if we don't provide this piece of information.
2016-10-26 16:18:23 -04:00
Nathan Froyd
e50de2e11f
Bug 1306650 - part 8 - run svn {co,up} with the -q flag; r=ehsan
...
This change makes the build somewhat less noisy and somewhat faster, by
virtue of not having to print out all the status messages.
2016-10-26 16:18:23 -04:00
Nathan Froyd
27dc2c9c56
Bug 1306650 - part 5 - modify clang-cl toolchain config to look for just cl.exe; r=ehsan
...
We cannot depend on a fixed location for cl.exe in a taskcluster world.
We therefore need to make our build-clang.py script accomodate relative
path names for cc/cxx and assume those are binaries that should be
looked up on PATH.
We also need to modify the Linux build script so that the virtualenv is
used to look up the new 'which' package.
2016-10-26 16:18:24 -04:00
Wander Lairson Costa
29ec9b1378
Bug 1273981 part 1: Add libc++ to clang. r=glandium
...
We need to rebuild clang with libc++ to get compatible headers for cross
builds. libc++abi is a dependency of libc++, as the build instructions
says [0].
[0] http://libcxx.llvm.org/docs/BuildingLibcxx.html
2016-08-05 10:46:38 -03:00
Mike Hommey
8b0e723ab3
Bug 1278718 - Build clang 3.8 with static libstdc++. r=froydnj
...
Use the resulting clang everywhere we are currently using clang 3.8.
2016-06-15 12:22:54 +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
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
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
Ehsan Akhgari
2e63ae11f7
Bug 1251936 - Part 6: Update clang-cl to LLVM r262971
2016-03-10 17:35:19 -05:00
Ehsan Akhgari
1c924b8602
Bug 1042132 - Part 1: Port build-clang.py to Windows; r=rail
...
This is useful for deploying clang-cl to the infrastructure.
--HG--
rename : build/unix/build-clang/clang-static-analysis-linux64-centos6.json => build/build-clang/clang-static-analysis-linux64-centos6.json
rename : build/unix/build-clang/clang-static-analysis-linux64.json => build/build-clang/clang-static-analysis-linux64.json
rename : build/unix/build-clang/clang-static-analysis-macosx64.json => build/build-clang/clang-static-analysis-macosx64.json
rename : build/unix/build-clang/llvm-debug-frame.patch => build/build-clang/llvm-debug-frame.patch
rename : build/unix/build-clang/query-selector-visibility.patch => build/build-clang/query-selector-visibility.patch
rename : build/unix/build-clang/return-empty-string-non-mangled.patch => build/build-clang/return-empty-string-non-mangled.patch
2016-02-08 14:55:27 -05:00