Martin Storsjö
173ac732e9
readme: Rewrite the section on installing prebuilt toolchains
...
Explain what the different download options are, and prioritize the
downloadable toolchain packages over docker images.
2021-04-23 14:43:46 +03:00
Martin Storsjö
133c93aee4
Dockerfile.cross: Include the tag and architecture in the directory name within the zip
2021-04-23 10:58:42 +03:00
Martin Storsjö
f066446b06
build-mingw-w64: Switch to another github mirror
...
This one seems to (currently) be a bit more up to date.
2021-04-23 10:58:42 +03:00
Martin Storsjö
3a9264f1fd
build-mingw-w64: Build to the latest version from today
2021-04-23 10:58:42 +03:00
Martin Storsjö
7730c71209
release: Append the architecture to the cross compiler package
2021-04-23 10:58:42 +03:00
Martin Storsjö
869b038152
release: Add an option for only building a native toolchain
2021-04-23 10:58:42 +03:00
Martin Storsjö
2094638569
patches: Patch the llvm 12.x release to include support for std::filesystem in libcxx
2021-04-23 10:58:42 +03:00
Martin Storsjö
e1f30312e9
Dockerfile: Update the installed version of CMake, install an arch specific version
...
This fixes building the dockerfiles on aarch64.
2021-04-23 10:54:07 +03:00
Martin Storsjö
f061215ebf
strip-llvm: Remove libLTO.dll
...
In LLVM 12, it no longer ends up called LTO.dll, but libLTO.dll.
2021-04-15 11:37:11 +03:00
Martin Storsjö
7e55d4df92
strip-llvm: Remove the new ld64.lld.darwinnew in newer llvm versions
2021-04-15 11:37:11 +03:00
Martin Storsjö
bbbdab6e27
test: Add an option for triggering a breakpoint with hello-exception.cpp
2021-04-15 11:37:11 +03:00
Martin Storsjö
33fe419247
build-mingw-w64: Bump to the latest git master version
2021-04-15 11:37:05 +03:00
Martin Storsjö
e45fe5b5f6
build-libcxx: Switch to have libcxxabi provide new/delete operators
...
This matches how it is set by default in current master versions.
This requires building a version that includes
https://reviews.llvm.org/D89863 , otherwise the new/delete operators
aren't properly weak.
2021-04-15 11:36:20 +03:00
Martin Storsjö
0200472671
test: Add a testcase for cleanup of C++ destructors while doing longjmp
...
For x86_64 and aarch64, this requires https://reviews.llvm.org/D89231 .
The C++ destructors aren't executed while doing the longjmp (contrary
to how it works MSVC's C++ exceptions), but it no longer crashes.
2021-04-15 11:36:20 +03:00
Martin Storsjö
2a323ac869
build-llvm: Bump to the LLVM 12.0.0
...
Notable changes in this release:
- Implicitly add the .exe suffix, even when cross compiling (matching
a behaviour change in GCC since GCC 8)
- Enable the dynamicbase flag by default in LLD
- Implemented the -wrap option in LLD
- Optimized the generated unwind data for aarch64, reducing the size
of the unwind data by around 60%
- Error out of LLD if trying to create a DLL with too many exports
2021-04-15 11:29:57 +03:00
Martin Storsjö
547927e1d3
dockerfile: Install the zip tool in the base image
...
This is needed when packaging the cross built toolchains anyway.
2021-04-14 09:37:18 +03:00
Martin Storsjö
9494c9c2a9
dockerfile: Switch vim to vim-tiny in the docker images
2021-04-14 09:37:18 +03:00
Martin Storsjö
be89715b8b
dockerfile: Install python3
...
This is required by LLVM 12.
2021-04-14 09:37:18 +03:00
Martin Storsjö
82a540877d
dockerfile: Install a newer version of CMake
...
This is required if building the master version of LLVM, past the
11 release branch.
2021-04-14 09:37:18 +03:00
Martin Storsjö
b34e1cd82b
windres-wrapper: Don't leave the .preproc.rc behind if producing .res
2021-04-09 13:42:29 +03:00
Martin Storsjö
4012843f3e
built-llvm: Add options for doing a stage2 build, and for building with LTO
2021-03-22 14:07:49 +02:00
Martin Storsjö
84fc501cf8
build-compiler-rt: Tolerate cases where the output libs already have normalized arch names
...
This is needed since 8bd2722f65cfd7883ed9769f7bad3ff50e4c6905
(and 8e11bede3a6ac11ebcc05c82fac39899feaf9534) in llvm-project
(past the 12.x release branch), which will allow us to get rid of the
whole arch renaming part (once we can assume we're building a version
newer than that).
2021-03-22 14:06:11 +02:00
Martin Storsjö
c3529a6b9b
windres-wrapper: Implement support for the --preprocessor option
2021-03-10 10:22:06 +02:00
Martin Storsjö
1db63b8682
build-all: Switch to requiring curl instead of wget
...
The dockerfiles install both tools, and the scripts that use them
(build-make.sh and build-libssp.sh) can make do with either curl
or wget, but e.g. macOS ships with curl but not wget.
2021-03-08 09:09:07 +02:00
Martin Storsjö
790bc40855
test: Add a testcase for throwing/catching C++ exceptions across DLLs
2021-02-19 16:19:47 +02:00
Long Nguyen
c0596d3170
Unset CC before building to prevent env pollution
2021-02-10 14:42:34 +02:00
Martin Storsjö
cc0055bc96
Fix the help printouts in scripts
...
Printing '<triple>' causes the shell to try to read a file named
triple. One could either quote it, or just remove the angle brackets;
removing the brackets for simplicity.
2021-02-09 13:54:16 +02:00
Long Nguyen
ee0585ae9e
build-mingw-w64.sh: Switch to github mirror
2021-02-03 11:49:25 +02:00
Martin Storsjö
5533a5ad53
run-tests: Fix running with a relative path to the toolchain
...
This fixes github issue #181 .
2021-01-25 14:45:34 +02:00
Martin Storsjö
4b063063f2
build-llvm: Don't explicitly disable LLDB's dependencies
...
They are supposed to be autodetected these days, and the build
shouldn't fail if they aren't available.
2021-01-25 10:44:39 +02:00
Long Nguyen
8a7dcd4ef1
build-cross-tools: Quote the path
2020-11-22 10:44:54 +02:00
Martin Storsjö
e5612ac52e
crt-test: Add a few more log2 tests for negative outputs with exact inputs
2020-11-21 21:34:50 +02:00
Martin Storsjö
d5cda17953
wrappers: Return 0 when printing help in the windres wrapper
2020-11-21 21:34:50 +02:00
Russell Haley
5497454d16
Update windres-wrapper --version to return 0
...
modified: wrappers/windres-wrapper.c - print_version now passes 0 to
exit function.
2020-11-21 21:33:14 +02:00
Martin Storsjö
22ef268489
build-libssp: Allow downloading with either wget or curl
2020-11-11 12:51:27 +02:00
Orgad Shaneh
959f14a1c1
libssp: Download directory from gitlab instead of svn
...
svn is typically blocked on corporate firewalls.
2020-11-11 12:48:15 +02:00
Martin Storsjö
93e0b63f3c
build-openmp: Stop setting CMAKE_C_COMPILER_WORKS
...
This wasn't ever needed for building the OpenMP runtime.
2020-11-11 12:21:11 +02:00
Martin Storsjö
87648b3ada
build-libcxx: Remove superfluous cmake settings
2020-11-11 12:21:11 +02:00
Martin Storsjö
92bb096468
build-libcxx: Avoid warnings when building latest libcxxabi
2020-11-11 10:57:39 +02:00
Martin Storsjö
10ac7a59dd
build-libcxx: Don't explicitly disable libc++ std::filesystem
...
It's currently disabled by default for windows targets; rely on this.
If it's enabled automatically upstream later, take it into use.
2020-11-11 10:57:40 +02:00
Martin Storsjö
d334f83671
docker: Install curl and less in the base test images
...
Having less available should make debugging in the docker images a bit
more accessible.
Curl is a nice-to-have at the moment, while we also have wget available
from before.
2020-11-03 14:04:21 +02:00
Martin Storsjö
2af44c5a56
Use -n "$()" instead of "$()" != ""
2020-11-03 14:00:45 +02:00
Martin Storsjö
fcafcacc58
build-compiler-rt: Signal that sanitizers should use libc++ for the cxxabi parts
...
This fixes building with the latest master version of compiler-rt,
that uses the itanium cxxabi bits for resolving type info.
2020-11-03 11:16:38 +02:00
Martin Storsjö
f231314da7
build-libcxx: Remove some hardcoded flags for libcxxabi
...
These are included properly from libcxx's __config (or __config_site)
now.
2020-10-23 13:13:02 +03:00
Martin Storsjö
ea3ff51d2c
build-libcxx: Configure libcxx and generate headers before building libcxxabi
...
This fixes building with the latest versions, where the headers
strictly need __config_site to be available.
2020-10-23 12:22:13 +03:00
Martin Storsjö
2377f1a839
test: Explicitly test linking the C++ runtime statically
2020-10-23 12:17:35 +03:00
Martin Storsjö
0e3600182d
build-mingw-w64: Update to the latest master version
...
This version includes a few minor fixes on top of the v8.0.0 release.
2020-10-20 23:01:13 +03:00
Martin Storsjö
f91258a722
build-libcxx: Explicitly enable LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS
...
This used to be the default before, but has changed in the
latest master version of libcxx.
Previously, both libcxx and libcxxabi enabled it by default, but
we used to explicitly disable it on the libcxxabi side (and rely
on the default for libcxx). Instead explicitly set the intended
configuration state for both parts.
2020-10-20 23:01:13 +03:00
Orgad Shaneh
06883c79ad
build-all: Verify that git and svn are installed
2020-10-16 15:48:46 +03:00
Orgad Shaneh
a83473f6e2
build-mingw-w64: Clone on https instead of git protocol
...
git port is typically blocked by outbound corporate firewalls.
2020-10-16 15:16:33 +03:00