Martin Storsjö
7194894b4a
Build C++ things for arm64 as well
...
This requires updating to the latest version of mingw-w64.
2017-08-28 23:02:36 +03:00
Martin Storsjö
3fc98d9d8a
Remove a leftover --depth=1
...
That obviously doesn't work when wanting to check out a specific,
possibly older, revision.
2017-08-28 13:50:52 +03:00
Martin Storsjö
f3c9eabe72
Build libcxx and hello-cpp for x86_64 and i686 as well
2017-08-26 23:23:25 +03:00
Martin Storsjö
2a6f7a0715
Remove setting of an unnecessary cmake flag
2017-08-26 23:13:04 +03:00
Martin Storsjö
6417a74596
Factorize code for building mingw-w64-crt and compiler-rt for multiple archs
2017-08-26 23:10:58 +03:00
Martin Storsjö
728046d5ea
Add a lld patch that makes more cmake tests with lld pass
2017-08-25 23:59:18 +03:00
Martin Storsjö
9dcdca1563
Update to the latest version of mingw-w64 with the local patches merged
2017-08-25 23:59:18 +03:00
Martin Storsjö
ed96326423
Build libcxx and libcxxabi statically for armv7 and test building a C++ hello world
2017-08-25 14:21:45 +03:00
Martin Storsjö
43906e77d6
Stop autoreconfiguring mingw-w64-crt
...
We don't patch the makefiles at the moment.
2017-08-25 14:16:53 +03:00
Martin Storsjö
f672db193b
Adjust cmake invocations for building compiler-rt
...
This fixes cross-building for i686.
2017-08-25 14:01:16 +03:00
Martin Storsjö
3e1dfb2e79
Initialize the llvm/clang checkouts with git-svn
...
This produces more sensible version numbers in the clang --version
output.
2017-08-23 12:54:08 +03:00
Martin Storsjö
72ec9880c8
Update to the latest version of mingw-w64 where the clang ctors patch is merged
2017-08-22 23:19:17 +03:00
Martin Storsjö
bf656d77e7
Update to a LLVM 5.0-ish version from trunk
...
Using the 5.0 release branch should work equally well except for
aarch64/win support.
2017-08-22 14:10:08 +03:00
Martin Storsjö
9fe9a5e2e4
Comment out c++ related parts of the build, the libcxx parts aren't rebased for 4.0 yet
2017-04-03 16:18:52 +03:00
Martin Storsjö
9f6a9c9510
Renumber the clang/llvm patches
...
This is done in two steps to help git make sensible diffs.
2017-04-03 14:48:28 +03:00
Martin Storsjö
2504fdbd88
Update to the LLVM 4.0 release branch
2017-04-03 14:42:55 +03:00
Martin Storsjö
423f5a656a
Make the git clone commands consistent
2017-04-03 13:10:37 +03:00
Martin Storsjö
935d8f40ad
Add a comment about a patch that now has been upstreamed
2016-11-19 23:45:12 +02:00
Martin Storsjö
1957272cd5
Remove the compiler-rt mingw/arm patch
...
This has now been committed upstream in the master branch (we
check out the master branch of compiler-rt, not the 3.9 branch),
in SVN rev 287465 (git mirror commit 8134888c4d01).
2016-11-19 23:34:12 +02:00
Martin Storsjö
701bc94b8f
Update the compiler-rt patches for building for arm/mingw
...
The second one, for msvc mode (which vlc doesn't need anyway), isn't
necessary now that llvm has been patched to emit calls properly using
the msvc helper function names.
2016-11-01 11:16:30 +02:00
Martin Storsjö
be1357f467
Backport more llvm patches from current master
...
This fixes up handling of divisions on ARM/Windows, and consistently
does calls to helper functions using the windows/msvc names, instead
of the libgcc naming.
2016-11-01 11:13:50 +02:00
Martin Storsjö
f3b034f10a
Clang/LLVM 3.9 is now 3.9.1
2016-10-04 10:41:54 +03:00
Martin Storsjö
26be2e70cc
Remove mingw patches that now have been merged upstream (in a different form)
2016-10-04 10:41:31 +03:00
Martin Storsjö
b6fcf6e89d
Test building a C++ hello world
2016-08-31 12:25:08 +03:00
Martin Storsjö
a4359b6e2d
Try building libav with the newly built toolchain
2016-08-31 12:25:08 +03:00
Martin Storsjö
82ce4550d4
Try building a hello world example
2016-08-31 12:25:08 +03:00
Martin Storsjö
c1e32c9587
Updated libunwind, libcxx and libcxx patches and build commands
...
Build libcxx and libcxxabi (succeeding) and libunwind (patch rebased
but build not working).
2016-08-31 12:25:08 +03:00
Martin Storsjö
0e847128ef
Add mingw patches for fixing math functions
2016-08-27 22:48:15 +03:00
Martin Storsjö
d71fab8802
Add a patch for adding open/read/write/close/setmode aliases to the arm msvcrt
...
This requires using llvm-dlltool, since genlib currently doesn't
support aliases.
2016-08-27 22:48:15 +03:00
Martin Storsjö
e22accd247
Build compiler-rt using cmake, add arm division and float/int64 conversion routines
...
Build using the master branch instead of 3.9.
By building using cmake, we don't need to build the files that
require an upper case Windows.h.
2016-08-27 22:48:15 +03:00
Martin Storsjö
8afb6e784f
Clone and patch mingw after building llvm
...
This avoids having to rebuild llvm when adjusting mingw patches.
2016-08-27 22:48:15 +03:00
Martin Storsjö
9dd4e7318c
Use llvm-dlltool instead of genlib
2016-08-27 22:48:15 +03:00
Martin Storsjö
b3fdc5c4e9
Update clang patches for mingw target defaults
2016-08-27 22:48:11 +03:00
Martin Storsjö
ffff621129
Add patches for llvm-dlltool
2016-08-24 23:36:44 +03:00
Martin Storsjö
4de5f192a6
Add a clang patch for adding support for __declspec(selectany)
2016-08-24 23:36:44 +03:00
Martin Storsjö
77e76bea00
Force using llvm-ranlib and llvm-ar when building the builtins
...
This avoids having to manually call ranlib later.
2016-08-24 23:26:32 +03:00
Martin Storsjö
8b36ede40d
Update the mingw patch for ctors
2016-08-24 23:25:01 +03:00
Martin Storsjö
7638232b38
Only copy the patches right before they will be applied
...
This avoids having to rebuild things, whose patches haven't
changed.
2016-08-11 21:06:47 +03:00
Martin Storsjö
00b9d91251
Build the full llvm/clang
...
The target CppBackend doesn't seem to exist in 3.9
2016-08-11 21:06:47 +03:00
Martin Storsjö
0010386360
Fix an issue with lld and llvm-ar 3.9 vs genlib
2016-08-11 21:06:47 +03:00
Martin Storsjö
362538a9a4
Explain more why the Windows.h symlink is needed
2016-08-10 14:52:16 +03:00
Martin Storsjö
4449d80c05
Patch compiler-rt to fix "make clang_mingw" with the 3.9 branch
2016-08-10 14:52:16 +03:00
Martin Storsjö
9e44ca1b07
Switch from the 3.8 branch to 3.9
...
The 3.8 branch produces broken code for divisions on arm/windows.
The brokenness can appear as incorrect behaviour or crashes.
The 3.9 branch isn't released yet, but is probably a better target
to base any work on at the moment.
2016-08-10 14:52:16 +03:00
Martin Storsjö
93a77a441a
Update patches for lld 3.9
...
The previously existing patch needed some modifications to fit
on top of lld 3.9.
Patch 2 makes sure that one still can use the lld built in this
way for linking in MSVC mode.
Patch 3 fixes linking binaries larger than 4 MB or so (previously
the binaries linked fine but didn't work).
Patch 4 makes sure to error out if the relocations are too far
away (instead of producing a broken binary), which happens after
16 MB.
Patch 5 fixes relocations that have an offset, which probably
happens in hand-written assembly (in libav).
2016-08-10 14:52:16 +03:00
Martin Storsjö
3eb63bea3d
Apply patches for LLVM 3.9
...
Patches 1 and 2 fix a bug (that has been present in 3.7 and 3.8)
where it can use the wrong instruction in some cases (libav
with inline assembly disabled), causing rounding errors in
integer audio dct's there.
Patch 3 allows building inline assembly with clang/llvm in MSVC mode.
2016-08-10 14:52:16 +03:00
Martin Storsjö
feac2f56ba
Update patches for clang 3.9
...
Patches 1-2 are just rebased from the earlier version for clang
3.8, no changes in surrounding code there.
Patch 3 is necessary to fix a regression in assembling standalone
assembly files in 3.9.
Patch 4 makes clang work in MSVC mode with the MSVC SDK for ARM
(to simplify testing of the toolchain in that mode).
2016-08-10 00:02:09 +03:00
Martin Storsjö
5e1fbce075
Disable fetching/building of C++ specific things
2016-08-10 00:02:07 +03:00
Martin Storsjö
aa65ed4547
Fetch a non-ancient version of gas-preprocessor.pl
2016-08-09 23:56:31 +03:00
Martin Storsjö
9dc7babfc1
Comment out building libunwind
...
This failed building for me, so skip it for now.
2016-08-09 23:56:31 +03:00
Martin Storsjö
40563566f8
Base the build on Ubuntu 16.04, to ease using the built binaries outside of docker
2016-08-09 23:56:31 +03:00