Martin Storsjö
69348a747d
Build libcxx with threads
...
This is required for e.g. C++ atomics.
This requires all code including libcxx headers to be built with
_WIN32_WINNT >= 0x600.
2017-11-04 22:35:46 +02:00
Martin Storsjö
c34e06a3b4
Update mingw-w64 to a version allowing setting the default win32 version
2017-11-04 22:35:46 +02:00
Martin Storsjö
d8261ac0fb
Don't rely on AR/RANLIB env variables during the toolchain build
...
Instead manually specify the tools to be used in all of these steps.
2017-11-03 16:45:07 +02:00
Martin Storsjö
968e574272
Don't set LD=lld
...
Using lld directly like that doesn't work, and will mess up building
some projects that use autotools.
2017-11-03 16:43:55 +02:00
Martin Storsjö
6eba8f7259
Update all components to their latest version
...
This includes fixes for (among other) issues with dllexport of
function names starting with an underscore (including C++ symbols)
in lld.
2017-10-24 12:06:11 +03:00
Martin Storsjö
f849f47859
Define LIBCXX_USE_COMPILER_RT while building libcxx
...
This makes a lot more libcxx cmake configure tests work as intended,
which makes a lot more -W* options added, resulting in much more build
warnings.
2017-10-19 11:23:43 +03:00
Martin Storsjö
a53599c175
Stop setting -D_LIB*_DISABLE_VISIBILITY_ANNOTATIONS while building user code
...
This actually gets set by default by the installed config headers,
depending on how the libraries were configured.
Also, the -Xclang -flto-visibility-public-std workaround doesn't
seem to be necessary while building these test apps (but it might
potentially be necessary if building more complicated apps).
2017-10-19 11:10:43 +03:00
Martin Storsjö
fe547b6317
Get rid of trailing whitespace
2017-10-19 10:49:35 +03:00
Martin Storsjö
e8a4085954
Stop building libav as test application
...
This works reliably and only adds build time when testing.
2017-10-19 10:29:35 +03:00
Martin Storsjö
8596d83d1a
Set the exceptions option properly for libcxx
...
Apparently this built fine even with the flag set to on even though
it's intended to be disabled though.
2017-10-18 16:57:17 +03:00
Martin Storsjö
f8837d209c
Update to the latest llvm/clang/lld
...
These contain fixes relevant for arm64.
2017-10-12 10:07:06 +03:00
Martin Storsjö
7730f5952e
Enable threads when building libunwind
...
The thread local SjLj context pointers are only flagged properly
as thread local when building with threads enabled.
2017-10-09 22:58:11 +03:00
Martin Storsjö
1c770a278a
Update to the latest version of mingw-w64
2017-10-09 13:43:21 +03:00
Martin Storsjö
2260db1904
Build llvm with assertions
...
This makes sure none of the tested codepaths do anything unexpected;
it's enabled by default in debug builds, but we still want an optimized
build.
2017-10-07 00:12:59 +03:00
Martin Storsjö
1f848ff6d4
Update mingw-w64, compiler-rt, libcxx, libcxxabi and libunwind to the latest versions
2017-10-04 09:34:24 +03:00
Martin Storsjö
ed1d1497a7
Build libunwind, enable exceptions in libcxxabi and libcxx
...
This requires manually enabling sjlj exceptions, since libunwind
doesn't support the other exception handling mechanisms on windows
(yet).
Don't enable exceptions on aarch64 yet, since no exception handling
mechanism is implemented for windows on aarch64 yet.
2017-10-04 09:14:02 +03:00
Martin Storsjö
1767090a94
Update to the latest llvm/clang/lld
...
This version of llvm has got working SjLj exception handling
on x86, x86_64 and arm.
2017-10-04 08:16:47 +03:00
Martin Storsjö
b1a39b7fa4
Drop an old workaround
...
This probably isn't necessary when we now use the proper llvm-dlltool
instead of genlib.
2017-09-25 16:50:09 +03:00
Martin Storsjö
d9347135b6
Update to the latest version of llvm/clang/lld
...
This includes support for a few more mingw lld features.
2017-09-13 10:31:33 +03:00
Martin Storsjö
c571ff004e
Update to the latest version of libcxx
...
This version can do without the two patches we carried locally.
2017-09-13 09:58:00 +03:00
Martin Storsjö
403cbade55
Update to the latest version of llvm/clang/lld
...
This allows getting rid of the local patches to lld.
2017-09-12 14:20:04 +03:00
Martin Storsjö
1d0c75addf
Update to the latest version of mingw-w64
...
This version supports setjmp on arm and arm64.
2017-09-11 15:50:18 +03:00
Martin Storsjö
82dfb17318
Simplify the cmake configuration for llvm
...
Most of these parameters were redundant, or doesn't serve any purpose
as far as I can see.
2017-09-08 11:29:24 +03:00
Martin Storsjö
0dba17c5bf
Clean up some commented out parts
2017-09-08 11:24:26 +03:00
Martin Storsjö
4ec04722ef
Update llvm/clang/lld/mingw-w64/libcxx to newer versions
...
These versions contain fixes relevant to mingw/clang.
Do the svn rebase (only necessary for getting sensible llvm/clang
version numbers in clang --version) before checking out the specific
version, otherwise we always end up at the latest master version.
2017-09-06 14:22:58 +03:00
Martin Storsjö
2d5bf52883
Add || exit 1 for exiting loops immediately on failures
2017-08-31 13:37:15 +03:00
Martin Storsjö
961868b9f2
Update llvm/clang/lld/libcxx to the latest upstream versions
...
llvm and clang have got new patches that are relevant for mingw
and arm64/win.
compiler-rt has changed things, so we can't ask it to build builtins
for i686 any longer, but need to request it for i386 instead - and
clang will expect it to be named i386 even though we're invoking it
with an i686 target.
2017-08-31 13:37:15 +03:00
Martin Storsjö
1feb7a262c
Remove some unnecessarily set build parameters
2017-08-30 23:08:37 +03:00
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ö
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ö
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ö
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ö
f3b034f10a
Clang/LLVM 3.9 is now 3.9.1
2016-10-04 10:41:54 +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ö
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