libs/libxx: add patch to remove mach/mach_time.h inclusion

Inclusion of mach/mach_time.h by libcxx/src/chrono.cpp breaks
the build on latest MACOS dues to https://forums.developer.apple.com/forums/thread/746737
The interface from mach/mach_time.h is not referenced in chrono.cpp
so it is safe to remove it

Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
This commit is contained in:
Petro Karashchenko 2024-02-16 14:22:07 +01:00 committed by Xiang Xiao
parent 940f1bace0
commit 5495ff4d78
3 changed files with 17 additions and 1 deletions

View File

@ -0,0 +1,13 @@
--- libcxx/src/chrono.cpp
+++ libcxx/src/chrono.cpp
@@ -48,10 +48,6 @@
# include <zircon/syscalls.h>
#endif
-#if __has_include(<mach/mach_time.h>)
-# include <mach/mach_time.h>
-#endif
-
#if defined(__ELF__) && defined(_LIBCPP_LINK_RT_LIB)
# pragma comment(lib, "rt")
#endif

View File

@ -43,7 +43,9 @@ if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/libcxx)
patch -p1 -d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
${CMAKE_CURRENT_LIST_DIR}/0001_fix_stdatomic_h_miss_typedef.patch && patch
-p3 -d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
${CMAKE_CURRENT_LIST_DIR}/mbstate_t.patch
${CMAKE_CURRENT_LIST_DIR}/mbstate_t.patch && patch -p1 -d
${CMAKE_CURRENT_LIST_DIR}/libcxx <
${CMAKE_CURRENT_LIST_DIR}/0001-libcxx-remove-mach-time-h.patch
DOWNLOAD_NO_PROGRESS true
TIMEOUT 30)

View File

@ -30,6 +30,7 @@ libcxx: libcxx-$(LIBCXX_VERSION).src.tar.xz
--exclude libcxx-$(LIBCXX_VERSION).src/test/std/pstl
$(Q) mv libcxx-$(LIBCXX_VERSION).src libcxx
$(Q) patch -p2 < mbstate_t.patch
$(Q) patch -p0 < 0001-libcxx-remove-mach-time-h.patch
$(Q) touch $@
endif