Commit Graph

56 Commits

Author SHA1 Message Date
Sylvestre Ledru
b2210f87b1 bug 1463425 - Fix flake8/pep8 issue by hand in build/ r=gps
MozReview-Commit-ID: AZdcEWyVV6e
2018-05-21 23:58:19 +02:00
Tom Ritter
b1612a4df5 Bug 1458897 Fix svn revert in build-clang so one can re-run it successfully r=glandium
svn revert requires a path, and does not take a revision.  This isn't an
issue on build machines because we do a fresh checkout every time.

But if you're trying to run build-clang locally, with existing checkouts,
it will:
1) successfully svn update
2) run svn revert, saying "Skipped <rev>"
      (except you don't see it because of -q)
3) svn revert returns a successfull eror code
4) patch fails because the file was never reverted and it attempts
   to re-apply the patch

Also I think the revert command needs to come first.

MozReview-Commit-ID: 4OfrJNZwJNU
2018-05-03 09:14:12 -05:00
Ryan VanderMeulen
39911debab Bug 1424281 - Use Visual Studio 2017 15.6.0 for Windows builds. r=froydnj 2018-03-12 19:24:44 -04:00
Jesse Schwartzentruber
855f59b761 Bug 1425406 - Add a linux64 clang 6 (pre) toolchain with the macosx64 native sanitizer dylibs. r=froydnj
MozReview-Commit-ID: Ig9xpBDcjNu
2018-02-08 16:58:12 -05:00
Nathan Froyd
246d18bd6f Bug 1435502 - add AArch64 support to clang builds; r=chmanchester 2018-02-05 14:25:43 -05:00
Andi-Bogdan Postelnicu
4dc16add91 Bug 1429015 - Add clang-format-diff to the clang-tidy build generated by toolchains. r=sylvestre
MozReview-Commit-ID: FjJqef78wa3
2018-01-09 13:27:39 +02:00
David Major
56e77b52b9 Bug 1421404: Add lld to the build-clang task. r=glandium 2017-12-01 11:12:07 -05:00
Marco Castelluccio
4776d5d851 Bug 1415568 - Support applying patches to Windows clang. r=froydnj 2017-11-08 17:23:12 +01:00
Gregory Szorc
40d0844f17 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
2017-11-06 11:45:17 -08:00
David Major
57a32db44f Bug 1412952 - Build clang-cl itself with VS2017. r=froydnj 2017-11-03 12:29:58 -04:00
Sylvestre Ledru
69d68b3c4f 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
2017-10-07 16:45:22 +02:00
Sylvestre Ledru
70ed5b7f7c Bug 1406310 - Also ship clang-format in the clang-tidy build job r=glandium
MozReview-Commit-ID: 4C992sYlMo2
2017-10-06 09:50:48 +02:00
Boris Zbarsky
6dab2eb63c 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
bfef6b987a Bug 1406140 - build-clang.py: flake8 consitency r=andi
MozReview-Commit-ID: 6w1QesvVyyc
2017-10-05 21:03:19 +02:00
Sylvestre Ledru
711d48de35 Bug 1406140 - Simplify a bit the code to have a single call to build_tar_package r=andi
MozReview-Commit-ID: 9yGw8bJhQwR
2017-10-05 21:00:25 +02:00
Andi-Bogdan Postelnicu
3506ac4a96 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
b26dd7ab45 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
2017-08-17 10:36:15 +08:00
Mike Hommey
f55cec3f74 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
a4864c05d9 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
777a5c5252 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
6e00601f68 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
9e439365dc 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
1f83a308ef 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
ee94032ecd 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
e76ca01a99 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
5eeda759b8 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
b6761ec9b3 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
a6bc6c6c50 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
b5474aa66c 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
717965ad0c 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
f6ed9f6b09 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
cba6da1fea Bug 1328184 follow-up: Fix a typo 2017-01-05 00:51:47 -05:00
Ehsan Akhgari
62e8d9c7d8 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
c9d300d301 Bug 1328457 - Link clang statically against the MSVCRT on Windows; r=mystor 2017-01-04 12:25:57 -05:00
Ehsan Akhgari
2cefae9df6 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
f3ad7e62b2 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
2b5ff49d23 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
f9c05d1a2b 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
96002b3fba 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
df1d8087a5 Bug 1316545 part 2 - Enable LLVM_EXPORT_SYMBOLS_FOR_PLUGINS for linking clang plugin on windows. r=ehsan
MozReview-Commit-ID: 5p5oFAlQyri
2016-11-16 14:00:06 +08:00
Ting-Yu Chou
c1d5bad414 Bug 1316537 part 3 - Fix tar package path conversion for local build. r=Ehsan
MozReview-Commit-ID: 6btpeTxouB
2016-11-15 12:22:44 +08:00
Nathan Froyd
13a614f6f6 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
88a67e3cb9 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
422599a971 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
552c2c656a 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
5a788b73f7 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
ea74f356e5 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
4fb8e01e48 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
8b5df0b531 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
f957db8901 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