Martin Storsjö
e9975fabab
Squash all build steps in the dockerfile, producing a much smaller image
...
Keep the old dockerfile with a different file name, for easier
testing/debugging (where later steps can be tweaked without
rebuilding everything).
2018-04-02 16:00:27 +03:00
Martin Storsjö
f856480113
Clean up properly after installing packages
2018-04-01 23:30:12 +03:00
Martin Storsjö
d3ff718bd1
Remove unnecessary llvm files at the end
...
This doesn't help reduce the docker image size since it's done
in a separate RUN step than the one that added the files. (compiler-rt
and libunwind currently fail to build after stripping the llvm
installation though.)
2018-04-01 23:27:21 +03:00
Martin Storsjö
60af9e29e1
Strip the built widl
2018-04-01 22:45:30 +03:00
Martin Storsjö
172b2974dd
Strip llvm on install
2018-04-01 22:45:30 +03:00
Martin Storsjö
93e7810749
Share one include directory between all archs
2018-04-01 22:45:30 +03:00
Martin Storsjö
511222e6b5
Skip a redundant subdirectory in the docker image
2018-04-01 22:45:30 +03:00
Martin Storsjö
166a2bab65
Install the toolchain to /opt/llvm-mingw, in the docker image
2018-04-01 22:45:30 +03:00
Martin Storsjö
6dc488eca7
Remove an unnecessary command from the end of a step in the dockerfile
2018-04-01 22:45:30 +03:00
Martin Storsjö
cacdf723fa
Add ISC licenses to the test programs
2018-03-21 11:09:55 +02:00
Martin Storsjö
7297bb65a5
Add a more thorough test case, testing various CRT features
...
Simplify building of the test cases at the same time; stop building
hello-cpp with -fno-exceptions.
2018-03-20 12:00:56 +02:00
Martin Storsjö
421b7f671c
Rename hello.cpp to hello-cpp.cpp
2018-03-20 11:51:33 +02:00
Martin Storsjö
d7d80f084a
Rename the hello subdirectory to test
2018-03-20 11:08:32 +02:00
Martin Storsjö
ee480fec72
Update to the latest version of mingw-w64
...
This version compeletes some aarch64 specific structs in winnt.h
and provides libodbc32.a for aarch64.
2018-03-20 10:55:56 +02:00
Martin Storsjö
28ac526c42
Update to the latest version of llvm/clang/lld
...
This version fixes issues with long double math functions on x86_64
(and some mingw-w64 float/double math functions are implemented with
a long double function internally), and adds support for the --kill-at
flag in lld.
2018-03-20 09:57:21 +02:00
Martin Storsjö
7c069cf6b1
Allow running tests remotely for armv7/aarch64
2018-03-17 23:17:28 +02:00
Martin Storsjö
010854bb20
Update to the latest version of mingw-w64
...
This fixes a few issues with math functions on i686.
2018-03-14 18:00:41 +02:00
Martin Storsjö
f175276aa7
Use native TLS on aarch64
2018-03-14 14:17:48 +02:00
Martin Storsjö
363be40cca
Update to the latest versions of llvm/clang/lld
...
This adds support for native TLS on aarch64, and fixes an issue
with stack probing on x86_64 when using dwarf exceptions.
2018-03-14 14:17:41 +02:00
Martin Storsjö
681071d08b
Update to the latest version of llvm/clang/lld
...
This fixes issues with -mms-bitfields together with "long double"
on i686, and allows using the -static flag while building DLLs
(to link dependent libraries statically), and implements stack
probing for alloca calls on aarch64.
2018-02-27 21:59:04 +02:00
Martin Storsjö
5348f86a3f
Provide dlltool via a shell script wrapper that sets the default architecture
2018-02-27 13:42:34 +02:00
Martin Storsjö
71e3239442
Allow setting CCACHE=1 to wrap all llvm-mingw building in ccache
2018-02-26 12:50:11 +02:00
Martin Storsjö
1c31677a64
Use 4 spaces for indentation in test applications
2018-02-26 12:49:15 +02:00
Martin Storsjö
3e61dc4908
Consistently use 4 spaces for indentation in shell scripts
2018-02-26 12:48:18 +02:00
Martin Storsjö
9167841f5c
Update to the latest version of mingw-w64
...
This avoids some warnings about gnu printf format attributes.
2018-02-21 13:53:09 +02:00
Martin Storsjö
48af4af2c3
Update to the latest version of libunwind
...
This fixes issues with building libunwind as a DLL with SJLJ
exception handling. (We currently don't build it as a DLL though.)
2018-02-02 09:44:29 +02:00
Martin Storsjö
35e104301f
Update to the latest version of llvm/clang/lld
...
This fixes issues with dllimport of variables in -O0 for aarch64
and fixes an issue with RTTI in C++ for classes exported from DLLs.
2018-02-02 09:42:54 +02:00
Martin Storsjö
5d202dfe4f
Update to the latest version of libcxx
...
This version avoids polluting the namespace of users of the <thread>
header with windows.h.
2018-01-24 12:25:49 +02:00
Martin Storsjö
9c3636a676
Check out the right versions of libunwind/libcxxabi/libcxx before building at all
...
This makes sure that libunwind and libcxxabi actually get built
against the same headers that are checked out later.
2018-01-24 12:25:21 +02:00
Martin Storsjö
4e201bd42f
Update to the latest version of llvm/clang/lld
...
This version fixes a bug with -O3 optimization for arm.
2018-01-24 10:08:30 +02:00
Martin Storsjö
53be941850
Mention a few more known issues
2018-01-23 11:22:48 +02:00
Martin Storsjö
17ce2b2a05
Update compiler-rt to the latest version
...
This version fixes the __clear_cache function on aarch64 windows.
2018-01-19 09:36:41 +02:00
Martin Storsjö
592495bb7b
Build compiler-rt with optimization enabled
2018-01-18 10:00:05 +02:00
Martin Storsjö
098f6750d7
Automatically extract the clang version number when installing compiler-rt
2018-01-18 10:00:01 +02:00
Martin Storsjö
2e994e681c
Add a script for building the test applications and running them
2018-01-15 10:57:02 +02:00
Martin Storsjö
fa5b73dc01
Speed up hello-tls.c by running fewer iterations and threads
...
Also improve a printout.
2018-01-15 10:56:25 +02:00
Martin Storsjö
41370320a6
Use "install -C" in mingw-w64-headers
...
This avoids touching the target file if the new file to install
matches the previous one. This avoids rebuilding other files later
needlessly, when upgrading an installation.
2018-01-15 10:31:50 +02:00
Martin Storsjö
8c15cb4544
Allow syncing the source to the pinned version by setting SYNC=1 when running the build scripts
...
This should allow updating an existing build to the desired, pinned
version.
2018-01-15 10:31:50 +02:00
Martin Storsjö
266c2fae6d
Pass variables to mingw-w64's configure as parameters instead of inherited via the environment
...
This makes sure they are remembered if automatically reconfiguring
e.g. due to updated autotools source files.
2018-01-10 14:22:09 +02:00
Martin Storsjö
583baaa612
Make windres output in res format instead of in coff
...
This makes the output architecture independent, allowing
the x86_64 GNU binutils binary to be used for other
architectures as well, including arm/arm64 which aren't supported
by binutils.
2018-01-10 10:53:02 +02:00
Martin Storsjö
41985ce12e
Cheat and pull windres from the normal binutils packages
...
LLVM does have llvm-rc, which almost does what is needed.
Currently missing features:
- It doesn't run the C preprocessor (which can be wrapped with
a shellscript easily if necessary)
- It chokes on C structs/typedefs normally found in included
C headers
2018-01-10 10:53:02 +02:00
Martin Storsjö
55e8aef024
Provide <triplet>-<tool> wrappers and links to many llvm tools
...
Provide wrappers named <triplet>-gcc and <triplet>-g++ as well,
to ease cross compilation with e.g. autotools, to allow just
specifying --host=<triplet>.
Provide wrappers for objdump and ld that provide specific output
that autotools look for.
Provide <triplet>-strip as a symlink to /bin/true, since there is
no strip tool available yet (and llvm-objcopy doesn't support
COFF yet).
2018-01-10 10:53:02 +02:00
Martin Storsjö
f67075c23c
Build the C test apps earlier
...
This gives easier to read error messages if a simple C program
fails to link.
2018-01-10 10:53:02 +02:00
Martin Storsjö
3eec5baf58
Build widl
2018-01-10 10:53:02 +02:00
Martin Storsjö
9fd181b332
Build mingw defaulting to ucrtbase
2018-01-10 10:53:02 +02:00
Martin Storsjö
58ba889792
Build llvm with ninja, if available
...
This speeds up incremental builds.
2018-01-10 10:53:02 +02:00
Martin Storsjö
7ae7b57d00
Remove an extra newline at EOF
2018-01-10 10:53:02 +02:00
Martin Storsjö
672182424e
Move the test apps to a subdirectory
2018-01-10 10:53:02 +02:00
Martin Storsjö
9925666790
Rename the wrapper script, for consistency
2018-01-10 10:53:02 +02:00
Martin Storsjö
f79e7158c9
Rename merge_archives.sh for consistency
2018-01-10 10:53:02 +02:00