Commit Graph
35 Commits
Author SHA1 Message Date
Martin Storsjö 86630da230 build-compiler-rt: Stop creating an i386-w64-mingw32 sysroot symlink
This shouldn't be needed any longer since
8bd2722f65cfd7883ed9769f7bad3ff50e4c6905 in llvm-project (March 2021).
2021-08-09 12:08:16 +03:00
Martin Storsjö 056cb22fb5 build-compiler-rt: Stop setting CMAKE_*_COMPILER_WORKS
Since 8368e4d54c459fe173d76277f17c632478e91add in llvm-project (pushed
on March 11 2021), the lib/builtins CMakeLists.txt sets
CMAKE_TRY_COMPILE_TARGET_TYPE to STATIC_LIBRARY, which makes the
compiler tests pass before the toolchain is fully functional, by not
doing linking tests.
2021-08-09 12:08:16 +03:00
Martin Storsjö 98583d7bd9 build-compiler-rt: Do a plain "ninja install" instead of manually copying files
This still requires manually moving the dll files to the arch specific
runtime directory.

This requires building a version of llvm past
8e11bede3a6ac11ebcc05c82fac39899feaf9534 (March 18th 2021)
2021-08-09 12:08:16 +03: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ö 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ö 8e461131cf Clean the build dirs before building, if the env var CLEAN is set 2020-03-25 23:24:31 +02:00
Martin Storsjö 36fc0f6432 build-compiler-rt, build-libcxx: Use ninja for building, if available 2020-03-25 00:29:07 +02:00
Martin Storsjö 92f5caa918 build-compiler-rt: Move CMake generator selection further out in the script 2020-03-25 00:29:07 +02:00
Martin Storsjö c1882530c3 Add copyright and license headers to all shell script files, for clarity 2020-03-05 11:31:31 +02:00
Martin Storsjö bcfb883687 build-compiler-rt.sh: Don't make the i386-w64-mingw32 symlink if not building i686 2019-12-03 23:31:08 +02:00
Martin Storsjö af1099048a Fix building only certain architectures when building on windows
On windows, we rename clang.exe to clang-$MAJOR.exe, and later
install clang.exe as a wrapper for the default architecture. But
if only building certain architectures, and the host architecture
isn't one of them, we shouldn't install any unprefixed clang.exe at
all.
2019-12-03 23:31:01 +02:00
Martin Storsjö 64d39428b6 Quote uses of $PREFIX in the build script, to improve support for installing into a path that contains spaces
For build-mingw-w64.sh to succeed when installing to such a path,
the mingw-w64 version has to be updated to the latest git master.

build-mingw-w64-libraries.sh still fails in this case, as libtool
fails to properly quote $LD in a test for whether the linker is GNU ld.
2019-12-03 21:49:53 +02:00
Martin Storsjö ee555b9013 Fix building when $PATH contains spaces 2019-11-30 10:37:19 +02:00
Martin Storsjö 0f9d9f1986 Check out llvm sources using the new llvm git monorepo
This updates compiler-rt, libunwind, libcxxabi and libcxx to a newer
version, matching the compiler.

This will be the official, canonical repo in the future.

For the non-dev Dockerfile build, this means that all the llvm based
subprojects need to be built in one RUN to avoid storing the llvm
checkout in the docker layers.
2019-09-12 13:14:19 +03:00
Martin Storsjö 0933a30500 Avoid printing an error when rerunning build-compiler-rt.sh on msys2 2019-06-28 00:14:32 +03:00
Martin Storsjö 13d73ee670 Update compiler-rt to a new version
This version fixes undefined symbols in the profiling library.
2019-03-29 23:07:57 +02:00
Martin Storsjö f39d45162e Update compiler-rt to the 8.0 release version
This doesn't fix any particular known issue, but the release branch
should generally be a safe version.
2019-03-19 09:34:19 +02:00
Martin Storsjö a8064cfdb5 Install the sanitizer headers 2019-02-22 22:34:54 +02:00
Martin Storsjö e45e9ab98e Update compiler-rt to a newer version
This fixes building sanitizers natively on windows/msys.
2018-11-30 12:03:09 +02:00
Martin Storsjö fdd0a116ae Try to set "MSYS Makefiles" as cmake generator in mingw environments 2018-11-30 12:03:09 +02:00
Martin Storsjö 53db1c3a4c Resolve $PREFIX to an absolute path at the start of shell scripts
This fixes building/installing into a relative path.
2018-11-23 13:51:05 +02:00
Martin Storsjö 99e2fefc9d Use nproc and sysctl -n hw.cpu for default initializing CORES
This avoids having to pass --build-arg CORES=n when building the
docker images.
2018-11-09 22:20:34 +02:00
Martin Storsjö c1fe94fcef Update compiler-rt to the latest version
This fixes using ubsan with mingw targets.
2018-10-17 22:45:54 +03:00
Martin Storsjö a38e52fff5 Build address sanitizer 2018-10-02 14:53:53 +03:00
Martin Storsjö e26ab372bf Update compiler-rt to the latest version
This version supports building address sanitizer for mingw.
2018-10-02 14:53:53 +03:00
Martin Storsjö 2739421564 Update compiler-rt/libuwnind/libcxxabi/libcxx to the latest version
For compiler-rt and libunwind, this makes them build successfully even
if llvm-config and the llvm cmake files aren't available.

For libcxxabi, this brings in support for using SEH exceptions.

For libcxx, this removes a few build time warnings.
2018-08-03 10:56:49 +03:00
Martin Storsjö 4631869407 Update compiler-rt to the latest version
This adds __chkstk, needed for Windows Store apps for armv7.
2018-07-17 22:22:52 +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ö 3506c70451 Remove a stray unicode nbsp 2018-06-20 00:20:23 +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ö 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ö 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ö e56a519fdc Split the building of the toolchain into individual shellscripts
This simplifies building the toolchain outside of docker.
2018-01-10 10:24:48 +02:00