Commit Graph
221 Commits
Author SHA1 Message Date
Martin Storsjö 2372dc03e8 Update to the latest versions of libunwind/libcxxabi/libcxx
These updates help in building these projects on windows in msys.
2018-06-21 11:52:14 +03:00
Martin Storsjö 3506c70451 Remove a stray unicode nbsp 2018-06-20 00:20:23 +03:00
Martin Storsjö 1d3f223d29 Don't error out in install-wrappers.sh if some binary tools are missing
If installing on top of a prebuilt win32 release of llvm instead of
building from source, the nm and strings executables are missing,
and MSYS2 errors out when creating a symlink to a file that doesn't
exist (since it does a copy instead of making an actual symlink).
2018-06-19 09:31:57 +03:00
Martin Storsjö 9990dc49f1 Don't error out if unable to create the i386->i686 symlink in build-compiler-rt.sh
If running in MSYS2, this symlink will fail unless the i686-w64-mingw32
directory actually exists.
2018-06-19 09:31:45 +03:00
Martin Storsjö 951796aeb7 extract-docker: Remove leading slashes when removing an earlier copy
If extracting from an absolute path within the image, like
/opt/llvm-mingw, it will still be extracted into opt/llvm-mingw in
the local directory.
2018-06-12 10:04:55 +03:00
Martin Storsjö 86cc330999 Expand the help text in extract-docker.sh 2018-06-10 23:26:44 +03:00
Martin Storsjö 3b3924e4b1 test: Add a testcase for setjmp 2018-06-05 23:40:25 +03:00
Martin Storsjö 024d125611 test: Test the now fixed copysignl function on x86_64 as well 2018-06-04 10:08:47 +03:00
Martin Storsjö fe08750026 test: Test building crt-test.c with -fno-builtin as well 2018-06-04 10:08:47 +03:00
Martin Storsjö 6a3080fa58 test: More clearly print errors in the NAN tests 2018-06-04 10:08:47 +03:00
Martin Storsjö 0e86b1ed49 test: Extend the intrinsics tests 2018-06-04 10:08:47 +03:00
Martin Storsjö 4fe1cb9aad Update mingw-w64 to the latest version
This fixes interlocked intrinsics for arm and arm64, and fixes
the copysignl function for x86_64.
2018-06-04 10:08:47 +03:00
Martin Storsjö b73785af3b Fix a typo in the readme about PDB output 2018-06-02 23:03:42 +03:00
Martin Storsjö 1c73ae0fd1 Mention PDB support in the readme 2018-05-21 14:39:00 +03:00
Martin Storsjö 66d79fd7fe Update to the latest versions of llvm/clang/lld
This fixes an issue with code generation for functions that needed
a stack probe on armv7, improves llvm-rc and adds a few more options
to the mingw lld frontend.
2018-05-16 09:10:01 +03:00
Martin Storsjö cc2d414ea3 windres: Add the input file directory as include path
This fixes building resource files that refer to external files
relative to the source directory, without specifying any directory
via include flags to windres itself. This is needed since llvm-rc
doesn't see the original source file but only sees the preprocessed
one in a temporary directory.

Alternatively, the preprocessed file could be placed in the same
directory as the source file, but when building e.g. outside of the
source tree, writing files (even temporary ones) inside the source
tree isn't generally expected.
2018-05-11 09:48:07 +03:00
Martin Storsjö ecdb6647b7 windres: Remove the rc filtering in the wrapper shell script
llvm-rc does this filtering internally now.
2018-05-11 09:48:07 +03:00
Martin Storsjö da4d3df5da Update to the latest version of llvm/clang/lld
This version improves llvm-rc to support more rc script features
and features built-in filtering of CPP output in llvm-rc. It also
improves the handling of some def features in llvm-dlltool, allows
producing codeview debug information when targeting mingw and adds
handling of a few more ARM64 relocations in lld.
2018-05-11 09:48:07 +03:00
Martin Storsjö d3d57c2890 Fix conversion from res to coff in the new windres wrapper 2018-05-08 12:44:39 +03:00
Martin Storsjö 5899f4f536 Add the installation bin directory to the path internally in wrapper scripts
This allows invoking the script frontends via an explicit path,
without adding the directory to the PATH environment variable before
calling them.
2018-05-07 10:24:24 +03:00
Martin Storsjö fa08e722ed Don't use bashisms for finding the script directory
Posix sh and $0 should be good enough in most cases.
2018-05-07 09:49:48 +03:00
Martin Storsjö ce282cdf5d Use --driver-mode=g++ instead of invoking clang++
This avoids needing the clang++ symlink. On platforms without symlinks
(i.e. windows), clang.exe and clang++.exe are two separate but identical
executables. This allows getting rid of the latter, saving size.
2018-05-07 09:49:34 +03:00
Josh de Kock 69b81a6d01 Build the mingw winpthreads library 2018-05-07 09:46:10 +03:00
Martin Storsjö fd71e83e2d Update to the latest version of mingw-w64
This version includes fixes for building winpthreads for arm and arm64.
2018-05-07 09:45:38 +03:00
Martin Storsjö decfd0030b Update README.md about using llvm-rc instead of GNU binutils windres 2018-05-07 09:44:41 +03:00
Josh de Kock 08224169fd Add windres wrapper for LLVM tools 2018-05-05 00:14:45 +03:00
Martin Storsjö 37e0a35aa5 Update to the latest version of llvm/clang/lld
This version contains improvements and fixes for llvm-rc and llvm-cvtres.
2018-05-03 14:51:26 +03:00
Martin Storsjö 35c2028e50 Define _LIBCPP_HAS_THREAD_API_WIN32 while building libcxxabi
When building libcxx, this is also already enabled via the cmake
option -DLIBCXX_HAS_WIN32_THREAD_API=ON.

This fixes building libcxxabi if pthreads are available.
2018-05-03 14:50:43 +03:00
Martin Storsjö ef5cbfd947 Use "which" to find the location of the dummy "true" executable
On macOS, this is in /usr/bin instead of in /bin.
2018-04-27 09:29:17 +03:00
Martin Storsjö f018ca81fe Add libssp to dockerignore as well 2018-04-26 16:18:40 +03:00
Martin Storsjö 579aa616b4 Fix strip-llvm.sh after updating to the latest version of clang
In this version, the binary actually is named clang-7 instead of
clang-7.0. This requires extending the test a little for keeping such
binaries but removing other clang-foo tools.
2018-04-26 13:15:53 +03:00
Martin Storsjö c9db1e06b5 Build libssp from gcc
gcc/libssp's configure script runs checks for flags that clang doesn't
implement. We actually just need to set a few HAVE defines and compile
the .c sources, so just check out this subdirectory using svn and build
it using a custom makefile.
2018-04-23 00:26:05 +03:00
Martin Storsjö 61eaf3a0de Stop manually setting the sysroot
Since clang SVN r330244, the one next to clang is preferred, even
if a similar mingw gcc exists in the path.
2018-04-19 00:52:35 +03:00
Martin Storsjö 6b5651a4a3 Stop adding the toplevel c++ include symlink
As long as we pass --sysroot explicitly in clang-target-wrapper.sh,
this isn't necessary. And since clang SVN r329946. it's no longer
necessary when not specifying the sysroot (and having it is in
fact harmful).
2018-04-19 00:35:45 +03:00
Martin Storsjö f13e8da487 Update to the latest version of llvm/clang/lld
This version improves the handling of mingw cross sysroots
and the libc++ include paths.
2018-04-18 20:44:22 +03:00
Martin Storsjö c47bc66093 Update to the latest version of mingw-w64
This version fixes a few issues for arm and arm64.
2018-04-15 23:21:58 +03:00
Martin Storsjö e2c1dcac2b Mention strip-llvm.sh in the readme 2018-04-02 16:40:21 +03:00
Martin Storsjö 9557db98f9 Remove a few unnecessary sentences of the readme 2018-04-02 16:40:21 +03:00
Martin Storsjö e835141ce2 Tweak the wording in the readme 2018-04-02 16:40:21 +03:00
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