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

310 Коммитов

Автор SHA1 Сообщение Дата
David Major 8483a27743 Bug 1443827: Move clang-cl static analysis builds to their own toolchain task. r=froydnj
Note that static analysis was the only remaining user of the 32-bit toolchain, so I've removed win32-clang-cl (or rather, renamed it to win32-clang-cl-st-an).

--HG--
rename : build/build-clang/clang-win32.json => build/build-clang/clang-win32-st-an.json
rename : build/build-clang/clang-win64.json => build/build-clang/clang-win64-st-an.json
rename : taskcluster/scripts/misc/build-clang32-windows.sh => taskcluster/scripts/misc/build-clang32-st-an-windows.sh
rename : taskcluster/scripts/misc/build-clang64-windows.sh => taskcluster/scripts/misc/build-clang64-st-an-windows.sh
2018-03-08 17:25:52 -05:00
Jesse Schwartzentruber 5b70ea834b Bug 1425406 - Add a linux64 clang 6 (pre) toolchain with the macosx64 native sanitizer dylibs. r=froydnj
MozReview-Commit-ID: Ig9xpBDcjNu

--HG--
extra : rebase_source : 278bd4fffb82d12e1bc4eb72458bdac3ba62e11f
2018-02-08 16:58:12 -05:00
Nathan Froyd c887f553f2 Bug 1435502 - add AArch64 support to clang builds; r=chmanchester 2018-02-05 14:25:43 -05:00
Andi-Bogdan Postelnicu 714748cf50 Bug 1430360 - Update the clang svn revision for the clang-tidy build generated by toolchains. r=froydnj
MozReview-Commit-ID: JiHF24Du8By

--HG--
extra : rebase_source : dfd667d30b1e8e0904ffe403afb2689a8f14ebb3
2018-01-19 11:52:54 +02:00
Mike Hommey cab7cc1091 Bug 1431314 - Update clang 3.9 and 5.0 toolchains. r=froydnj
Respectively to 3.9.1 and 5.0.1
2018-01-23 13:48:05 +09:00
Andreea Pavel 79f23484b4 Backed out changeset 16dc5da96ab6 (bug 1430360) for clang-tidy bustages on a CLOSED TREE 2018-01-16 18:49:14 +02:00
Andi-Bogdan Postelnicu 98077bb2ae Bug 1430360 - Update the clang svn revision for the clang-tidy build generated by toolchains. r=froydnj
MozReview-Commit-ID: JiHF24Du8By

--HG--
extra : rebase_source : 5c3fc94da7ee5d7fdad78a3c718be6902eab726e
2018-01-13 14:10:43 +02: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
Mike Hommey 9f6417f045 Bug 1410148 - Backport llvm r289565 to clang 3.9. r=gps
I was able to reproduce the failure to apply llvm-dsymutil on the last
mozilla-central revision before debug info was temporarily disabled for
rust, and validated that the problem was gone in clang 4.

After some bisection, r289565 was identified as having fixed the
problem, which, reading the commit message, makes sense.

It was however not possible to simply cherry-pick, because of multiple
code changes between 3.9 and 4. However, apart from the volume of
conflicting changes, it was more or less straightforward to backport.

Interestingly, the patch for r313872 was relying on changes from
r289565, which is why it required a variant specifically for 3.9, but
now we can use the same patch as for other versions. Well, except
there's a small difference in the context, and build-clang.py doesn't
allow fuzz, so we manually edit the patch to remove that line from the
context.

--HG--
extra : rebase_source : de0ab262d401c37c0e9300b0ef7923a07c009d87
2017-12-28 14:54:51 +09:00
Ciure Andrei 8e754a1049 Backed out 2 changesets (bug 1410148) for bustage failures on python\mozbuild\mozbuild\test\configure\lint.py r=backout a=backout on a CLOSED TREE
Backed out changeset f77f58a060ad (bug 1410148)
Backed out changeset 593515920c7e (bug 1410148)
2017-12-29 22:31:51 +02:00
Mike Hommey 8a6ab5b9ab Bug 1410148 - Backport llvm r289565 to clang 3.9. r=gps
I was able to reproduce the failure to apply llvm-dsymutil on the last
mozilla-central revision before debug info was temporarily disabled for
rust, and validated that the problem was gone in clang 4.

After some bisection, r289565 was identified as having fixed the
problem, which, reading the commit message, makes sense.

It was however not possible to simply cherry-pick, because of multiple
code changes between 3.9 and 4. However, apart from the volume of
conflicting changes, it was more or less straightforward to backport.

Interestingly, the patch for r313872 was relying on changes from
r289565, which is why it required a variant specifically for 3.9, but
now we can use the same patch as for other versions. Well, except
there's a small difference in the context, and build-clang.py doesn't
allow fuzz, so we manually edit the patch to remove that line from the
context.

--HG--
extra : rebase_source : cda077132ee499a8ffdc4c88a1160cfa5fd86a97
2017-12-28 14:54:51 +09:00
Ryan VanderMeulen 5426c586b0 Bug 1425984 - Backport LLVM revision 318309 to fix clang-cl bustage with VS2017 15.5. r=dmajor 2017-12-19 14:16:31 -05:00
Ryan VanderMeulen ecad46fcc0 Bug 1423307 - Update clang-cl builds to LLVM revision 317840. r=ted
--HG--
extra : histedit_source : 17e273e956a29232fd7b6e262df8ae939216f668
2017-12-06 20:37:13 -05: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 a51c72b439 Bug 1421692 - Apply compiler-rt patch to flush gcda files before unlocking them. r=glandium 2017-11-29 13:18:22 +00:00
Marco Castelluccio a3836b3113 Bug 1401230 - Apply compiler-rt patch to hide gcda symbols on Windows too. r=glandium 2017-11-23 20:32:50 +00:00
Christian Holler 107b880d6a Bug 1415689 - Add Clang 6 (pre) and use it for ASan builds. r=froydnj
MozReview-Commit-ID: 34rcG7gEswz
2017-11-10 10:14:26 +01:00
Marco Castelluccio dbb30b1c50 Bug 1415699 - Apply LLVM patches needed to support code coverage on Windows. r=froydnj
--HG--
extra : rebase_source : 29b388ad96123b824f0502a740040a24b54b3e88
2017-11-08 22:44:15 +01: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
Mike Hommey 29f92851a1 Bug 1409267 - Patch compiler-rt to always use prctl(PR_SET_PTRACER). r=froydnj
--HG--
extra : rebase_source : 0fc0e184df96905632500d70c05dfb8421b8771c
2017-11-07 15:07:30 +09: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
David Major d250e3678b Bug 1412952: We want a HostX64 linker even with 32-bit clang-cl.exe. r=froydnj
32-bit clang-cl.exe was looking specifically for HostX86\x86\link.exe, which doesn't exist in our automation package. Make it look in HostX64\x86 instead.

This is an ugly hack and it would be preferable to just use a 64-bit compiler (bug 1414287).
2017-11-03 12:29:58 -04:00
David Major b7a86dd2b5 Bug 1412952 - Loosen clang's MSVC detection to accept our automation's fake paths. r=froydnj
In a proper VS install, the path to cl.exe looks like:
...\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe

In our automation, the path is just:
...\VC\bin\HostX64\x64\cl.exe

Clang tries to do some sanity-checking to make sure that the cl.exe it finds is the Microsoft compiler and not some other program. But the checks are a little too strict for us, so just look for "bin\Host*\*\cl.exe".
2017-11-03 12:29:58 -04:00
Mike Hommey cfff009a09 Bug 1408277 - Add a toolchain job for clang 5.0. r=froydnj
--HG--
extra : rebase_source : 6a5a3e1db7b8a754181468914712a38f162d0f0d
2017-10-13 13:22:41 +09:00
Mike Hommey e0a1996b7e Bug 1381043 - Backport llvm r313872 to 3.9 to avoid llvm-dsymutil crashing on bad rust DWARF data. r=froydnj
Ideally, we'd backport it to the clang 4 toolchain too, but that results
in silently(!) missing crash symbols for libxul.

--HG--
extra : rebase_source : a3024abf720ea6e9dc0e3271a5aa2ebfae9bebee
2017-10-12 17:54:31 +09: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
Marco Castelluccio 587fb629ee Bug 1401230 - Apply compiler-rt patch to avoid crashes on shutdown when unloading shared libraries. r=glandium
--HG--
extra : rebase_source : f0f45488881d10c0c00bebe4f5dd2d3d36d0b25e
2017-09-20 22:52:15 +02:00
Wander Lairson Costa 6332ed5b0a Bug 1338651 part 1: Change docker image home dir to /build. r=dustin,mshal
Using /home/worker is the build directory has a 30% talos performance
loss, because test machines has a /home mount directory.

MozReview-Commit-ID: 554IPMRWgzK

--HG--
extra : rebase_source : 00827d3f6bd705419bc801eb05b543af1ddc274f
2017-08-28 08:44:51 -03:00
Ting-Yu Chou 62922025c8 Bug 1373562 - Bump to clang r311608 to fix the errors running ASan on Windows 10 1703. r=Ehsan
MozReview-Commit-ID: CpiUizahZrj

--HG--
extra : rebase_source : 2182fe0f335fbcad7abacf7cb9a43bbc276ba656
2017-06-20 10:33:41 +08: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
Mike Hommey cf23b5a7fa Bug 1386588 - Add a toolchain job for Clang 4. r=gps 2017-08-03 08:13:07 +09:00
Mike Hommey c15ef2edff Bug 1386588 - Rename the linux64-clang and linux64-gcc jobs to include a version number. r=gps
We're soon going to build multiple versions of clang and gcc for linux,
and we need to differentiate them. Furthermore, there is a need for the
base-toolchains builds to use a fixed version of clang and gcc. So
rename the clang and gcc toolchain jobs to include their version, add
aliases to satisfy all existing jobs, and adjust the base-toolchains
jobs to use the explicit version.


--HG--
rename : build/build-clang/clang-linux64.json => build/build-clang/clang-3.9-linux64.json
rename : taskcluster/scripts/misc/build-gcc-linux.sh => taskcluster/scripts/misc/build-gcc-4.9-linux.sh
2017-08-03 08:12:43 +09:00
Mike Hommey ee6de1e835 Bug 1386588 - Rename the clang build manifests. r=gps
The clang toolchains have not been static-analysis-specific for a while.


--HG--
rename : build/build-clang/clang-static-analysis-linux64.json => build/build-clang/clang-linux64.json
rename : build/build-clang/clang-static-analysis-macosx64.json => build/build-clang/clang-macosx64.json
rename : build/build-clang/clang-static-analysis-win32.json => build/build-clang/clang-win32.json
rename : build/build-clang/clang-static-analysis-win64.json => build/build-clang/clang-win64.json
2017-08-03 08:12:29 +09:00
Wes Kocher 62d8e4f4fa Backed out changeset f8a62747c51c (bug 1338651) for valgrind issues a=backout 2017-06-30 14:45:26 -07:00
Wander Lairson Costa c0abc737f5 Bug 1338651: Change docker image home dir to /build. r=dustin,mshal a=hopefullyavoidingmergebustagelater
Using /home/worker is the build directory has a 30% talos performance
loss, because test machines has a /home mount directory.

MozReview-Commit-ID: zehcGJrUQX

--HG--
extra : source : feedcde68c2a54da210f03eb287ab5c862fc982b
extra : intermediate-source : 485d1af7805ad9fa0e701c3571fc1291fbfc6850
2017-06-29 15:45:01 -07:00
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