Commit Graph
230 Commits
Author SHA1 Message Date
Martin Storsjö af4e0b0021 readme: Remove the issue about libunwind vs WinRT
libwinstorecompat now provides a reimplementation of EnumProcessModules,
making libunwind compatible with WinRT.
2018-07-16 23:30:54 +03:00
Martin Storsjö 3c1c81f321 Build the winstorecompat library from mingw-w64-libraries 2018-07-16 23:30:54 +03:00
Martin Storsjö 4981924170 Update mingw-w64 to the latest version
This version has improvements for building for WinRT/UWP.
2018-07-16 23:30:54 +03:00
Martin Storsjö 6e4478b778 Fix overwriting symlinks to directories
This avoids extra misplaced symlinks if rerunning the build scripts.
2018-07-16 23:02:38 +03:00
Martin Storsjö 158b65f7c0 Set LIBUNWIND_STANDALONE_BUILD while building
This avoids accidentally finding an extra copy of libcxc outside
of the source tree.
2018-07-16 14:42:53 +03:00
Martin Herkt 2aef445b89 windres-wrapper.sh: actually implement -U 2018-07-11 16:14:22 +02:00
Martin Storsjö 00d67c0479 Don't set DLLTOOL when building winpthreads
This tool isn't usee while building winpthreads.
2018-07-07 23:59:50 +03:00
Martin Storsjö d12ee1543e Use the windows api sets version of the universal crt 2018-06-28 11:48:39 +03:00
Martin Storsjö 6ba6ac5c52 Upgrade to the latest version of mingw-w64
This version includes the windows api sets version of the universal
crt, fixes a few other functions when used with the universal crt,
and fixes the widl tool when running on macos.
2018-06-28 11:47:55 +03:00
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