diff options
author | Martin Nowack <m.nowack@imperial.ac.uk> | 2020-01-23 15:29:24 +0000 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2020-02-13 17:39:21 +0000 |
commit | 1eddf2d847d609df991859625571e2abf96fe580 (patch) | |
tree | f77c234412c990a56d815558621428d8fd7082ad | |
parent | 2e8d6aed747a988871b6836012301708950a74ef (diff) | |
download | klee-1eddf2d847d609df991859625571e2abf96fe580.tar.gz |
Add patch support for libcxx
Building older LLVM/libcxx versions under Ubuntu 18.04 requirer patches
-rw-r--r-- | scripts/build/p-libcxx.inc | 8 | ||||
-rw-r--r-- | scripts/build/patches/libcxx38.patch | 11 | ||||
-rw-r--r-- | scripts/build/patches/libcxx39.patch | 11 | ||||
-rw-r--r-- | scripts/build/patches/libcxx40.patch | 11 |
4 files changed, 40 insertions, 1 deletions
diff --git a/scripts/build/p-libcxx.inc b/scripts/build/p-libcxx.inc index 41ca4cc4..f803080a 100644 --- a/scripts/build/p-libcxx.inc +++ b/scripts/build/p-libcxx.inc @@ -17,7 +17,13 @@ download_libcxx() { git clone --single-branch --branch "${version}" --depth 1 "https://github.com/llvm/llvm-project.git" "${LIBCXX_SRC}" - + + # Apply existing patches if needed + if [ -f "${DIR}/patches/libcxx${LLVM_VERSION_SHORT}.patch" ]; then + cd "${LIBCXX_SRC}" || (echo "Directory does not exist"; exit 1) + patch -p1 --follow-symlinks -i "${DIR}/patches/libcxx${LLVM_VERSION_SHORT}.patch" || return 1 + fi + # Prepare LLVM subprojects for older LLVM versions cd "${LIBCXX_SRC}/llvm/projects" ln -s ../../libcxx . diff --git a/scripts/build/patches/libcxx38.patch b/scripts/build/patches/libcxx38.patch new file mode 100644 index 00000000..382db544 --- /dev/null +++ b/scripts/build/patches/libcxx38.patch @@ -0,0 +1,11 @@ +--- a/libcxx/include/__locale ++++ b/libcxx/include/__locale +@@ -34,7 +34,7 @@ + # include <support/solaris/xlocale.h> + #elif defined(_NEWLIB_VERSION) + # include <support/newlib/xlocale.h> +-#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) \ ++#elif (defined(__APPLE__) || defined(__FreeBSD__) \ + || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)) + # include <xlocale.h> + #elif defined(_LIBCPP_HAS_MUSL_LIBC) diff --git a/scripts/build/patches/libcxx39.patch b/scripts/build/patches/libcxx39.patch new file mode 100644 index 00000000..382db544 --- /dev/null +++ b/scripts/build/patches/libcxx39.patch @@ -0,0 +1,11 @@ +--- a/libcxx/include/__locale ++++ b/libcxx/include/__locale +@@ -34,7 +34,7 @@ + # include <support/solaris/xlocale.h> + #elif defined(_NEWLIB_VERSION) + # include <support/newlib/xlocale.h> +-#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) \ ++#elif (defined(__APPLE__) || defined(__FreeBSD__) \ + || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)) + # include <xlocale.h> + #elif defined(_LIBCPP_HAS_MUSL_LIBC) diff --git a/scripts/build/patches/libcxx40.patch b/scripts/build/patches/libcxx40.patch new file mode 100644 index 00000000..382db544 --- /dev/null +++ b/scripts/build/patches/libcxx40.patch @@ -0,0 +1,11 @@ +--- a/libcxx/include/__locale ++++ b/libcxx/include/__locale +@@ -34,7 +34,7 @@ + # include <support/solaris/xlocale.h> + #elif defined(_NEWLIB_VERSION) + # include <support/newlib/xlocale.h> +-#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) \ ++#elif (defined(__APPLE__) || defined(__FreeBSD__) \ + || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)) + # include <xlocale.h> + #elif defined(_LIBCPP_HAS_MUSL_LIBC) |