Nathan Froyd
c887f553f2
Bug 1435502 - add AArch64 support to clang builds; r=chmanchester
2018-02-05 14:25:43 -05:00
Andi-Bogdan Postelnicu
b41605bc5e
Bug 1429015 - Add clang-format-diff to the clang-tidy build generated by toolchains. r=sylvestre
...
MozReview-Commit-ID: FjJqef78wa3
--HG--
extra : rebase_source : ef0682f66f681f7c069fe6ad31baeb78d54c14ea
2018-01-09 13:27:39 +02:00
David Major
252f0cf0c6
Bug 1421404: Add lld to the build-clang task. r=glandium
...
--HG--
extra : rebase_source : a41a386965056afdc359f117972f6d5078d83453
2017-12-01 11:12:07 -05:00
Marco Castelluccio
14a1047ffd
Bug 1415568 - Support applying patches to Windows clang. r=froydnj
...
--HG--
extra : rebase_source : ed53f564166f6c26ed4f7fc0dabcc4582116ddbf
2017-11-08 17:23:12 +01:00
Gregory Szorc
4783c071f3
Bug 1414558 - Build Clang toolchain on a Docker volume; r=froydnj
...
Before, the build root was not in a Docker cache or volume. With
current Docker works, that meant AUFS. We know AUFS is slow under
I/O load and can cause random failures due to missing data after
writes.
This commit changes the build root to a known Docker volume, which
will be backed by EXT4 and won't have the problems of AUFS.
MozReview-Commit-ID: 6WOH0yednAv
--HG--
extra : rebase_source : bbff0f00f55acdbe068fdf617a7903b8a303c397
2017-11-06 11:45:17 -08:00
David Major
2d71b41c6f
Bug 1412952 - Build clang-cl itself with VS2017. r=froydnj
2017-11-03 12:29:58 -04:00
Sylvestre Ledru
358507fde2
Bug 1406650 - Make build/*.py and a few other files flake8 compatible and add them to the list of files to check r=chmanchester
...
MozReview-Commit-ID: icmFJtbWdN
--HG--
extra : rebase_source : 7b2ef783822bcad7f955bad8cbd6cea6df588f92
2017-10-07 16:45:22 +02:00
Sylvestre Ledru
83284b8853
Bug 1406310 - Also ship clang-format in the clang-tidy build job r=glandium
...
MozReview-Commit-ID: 4C992sYlMo2
--HG--
extra : rebase_source : 818c9c4a73e66db7d60b55caf462d23fd352eec5
2017-10-06 09:50:48 +02:00
Boris Zbarsky
9a669f71b3
Bug 1406140 followup. Fix the formatting so the CLOSED TREE is less red.
...
MozReview-Commit-ID: LAskse3XmLN
2017-10-06 09:54:31 -04:00
Sylvestre Ledru
772b9c6088
Bug 1406140 - build-clang.py: flake8 consitency r=andi
...
MozReview-Commit-ID: 6w1QesvVyyc
--HG--
extra : rebase_source : 759fb035a3ffe7c9e8963f9861548d917acb695e
2017-10-05 21:03:19 +02:00
Sylvestre Ledru
fbc1ec3b7d
Bug 1406140 - Simplify a bit the code to have a single call to build_tar_package r=andi
...
MozReview-Commit-ID: 9yGw8bJhQwR
--HG--
extra : rebase_source : e3ed5144a8bbdd6e3bba27d97decd6935904e3cb
2017-10-05 21:00:25 +02:00
Andi-Bogdan Postelnicu
9ba9d1c984
Bug 1405602 - Add clang-apply-replacements to the clang-tidy build generated by toolchains. r=ehsan
...
MozReview-Commit-ID: 1BT2ukzLoC3
2017-10-04 18:27:02 +03:00
Ting-Yu Chou
33c6c355d6
Bug 1385743 - Use copy_tree() to copy directory recursively instead. r=Ehsan
...
shutil.copy2() will fail if the destination directory doesn't exist.
Switch to copy_tree() instead so we don't need to worry about the
error cases of copy2() and copytree().
MozReview-Commit-ID: 3kHfgL57KfX
--HG--
extra : rebase_source : c7335b0c2854d53699dda0f0d2bd9d17b57c4e5d
2017-08-17 10:36:15 +08:00
Mike Hommey
f548b4a8d4
Bug 1386588 - Always print out the commands run by the clang build job. r=gps,a=KWierso
...
Not doing so makes debugging harder, for no added value.
2017-08-03 08:14:02 +09: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
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
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
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
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
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
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
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
2ffc60ec46
Bug 1328457 - Link clang statically against the MSVCRT on Windows; r=mystor
2017-01-04 12:25:57 -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
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
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
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
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
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