diff --git a/ports/llvm/build.sh b/ports/llvm/build.sh index 30b63820..d8daf13d 100755 --- a/ports/llvm/build.sh +++ b/ports/llvm/build.sh @@ -29,6 +29,17 @@ build() { install() { # This port only contains llvm libraries used optionally by - # mesa port. There is no need to install and fill the disk :D - : + # mesa port. There is no need to install to sysroot :D + + local pkg_dir="../llvm-banan_os-$VERSION-$BANAN_ARCH" + + rm -rf "$pkg_dir" + + mkdir -p "$pkg_dir/include" || exit 1 + cp -r 'llvm/include/llvm' "$pkg_dir/include/" || exit 1 + cp -r 'llvm/include/llvm-c' "$pkg_dir/include/" || exit 1 + cp -r 'build/include/llvm' "$pkg_dir/include/" || exit 1 + + mkdir -p "$pkg_dir/lib" || exit 1 + cp 'build/lib/'*.a "$pkg_dir/lib/" || exit 1 } diff --git a/ports/llvm/patches/0001-add-banan_os-support.patch b/ports/llvm/patches/0001-add-banan_os-support.patch index 681e9cd2..f31b5227 100644 --- a/ports/llvm/patches/0001-add-banan_os-support.patch +++ b/ports/llvm/patches/0001-add-banan_os-support.patch @@ -1,6 +1,6 @@ diff -ruN llvm-22.1.8/llvm/include/llvm/ADT/bit.h llvm-22.1.8-banan_os/llvm/include/llvm/ADT/bit.h --- llvm-22.1.8/llvm/include/llvm/ADT/bit.h 2026-06-16 01:33:53.000000000 +0300 -+++ llvm-22.1.8-banan_os/llvm/include/llvm/ADT/bit.h 2026-06-26 20:05:01.569826765 +0300 ++++ llvm-22.1.8-banan_os/llvm/include/llvm/ADT/bit.h 2026-07-07 10:03:36.848199127 +0300 @@ -30,7 +30,8 @@ #if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) || \ @@ -13,7 +13,7 @@ diff -ruN llvm-22.1.8/llvm/include/llvm/ADT/bit.h llvm-22.1.8-banan_os/llvm/incl #include diff -ruN llvm-22.1.8/llvm/include/llvm/Support/ExitCodes.h llvm-22.1.8-banan_os/llvm/include/llvm/Support/ExitCodes.h --- llvm-22.1.8/llvm/include/llvm/Support/ExitCodes.h 2026-06-16 01:33:53.000000000 +0300 -+++ llvm-22.1.8-banan_os/llvm/include/llvm/Support/ExitCodes.h 2026-06-26 20:05:11.472186824 +0300 ++++ llvm-22.1.8-banan_os/llvm/include/llvm/Support/ExitCodes.h 2026-07-07 10:03:36.965344890 +0300 @@ -20,7 +20,7 @@ #if HAVE_SYSEXITS_H @@ -25,7 +25,7 @@ diff -ruN llvm-22.1.8/llvm/include/llvm/Support/ExitCodes.h llvm-22.1.8-banan_os // Define the macro with its usual value from BSD systems, which is chosen to diff -ruN llvm-22.1.8/llvm/lib/Support/Unix/Path.inc llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Path.inc --- llvm-22.1.8/llvm/lib/Support/Unix/Path.inc 2026-06-16 01:33:53.000000000 +0300 -+++ llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Path.inc 2026-06-26 20:22:57.780776278 +0300 ++++ llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Path.inc 2026-07-07 10:03:36.987545022 +0300 @@ -111,7 +111,7 @@ #endif @@ -68,7 +68,7 @@ diff -ruN llvm-22.1.8/llvm/lib/Support/Unix/Path.inc llvm-22.1.8-banan_os/llvm/l // target diff -ruN llvm-22.1.8/llvm/lib/Support/Unix/Process.inc llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Process.inc --- llvm-22.1.8/llvm/lib/Support/Unix/Process.inc 2026-06-16 01:33:53.000000000 +0300 -+++ llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Process.inc 2026-06-26 20:19:55.915545542 +0300 ++++ llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Process.inc 2026-07-07 10:03:37.017664239 +0300 @@ -37,6 +37,9 @@ #ifdef HAVE_SYS_IOCTL_H #include @@ -81,7 +81,7 @@ diff -ruN llvm-22.1.8/llvm/lib/Support/Unix/Process.inc llvm-22.1.8-banan_os/llv //=== WARNING: Implementation here must contain only generic UNIX code that diff -ruN llvm-22.1.8/llvm/lib/Support/Unix/Program.inc llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Program.inc --- llvm-22.1.8/llvm/lib/Support/Unix/Program.inc 2026-06-16 01:33:53.000000000 +0300 -+++ llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Program.inc 2026-06-26 20:05:22.461478923 +0300 ++++ llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Program.inc 2026-07-07 10:03:37.031901635 +0300 @@ -334,7 +334,7 @@ namespace llvm { namespace sys { @@ -106,8 +106,19 @@ diff -ruN llvm-22.1.8/llvm/lib/Support/Unix/Program.inc llvm-22.1.8-banan_os/llv ProcessInfo llvm::sys::Wait(const ProcessInfo &PI, diff -ruN llvm-22.1.8/llvm/lib/Support/Unix/Threading.inc llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Threading.inc --- llvm-22.1.8/llvm/lib/Support/Unix/Threading.inc 2026-06-16 01:33:53.000000000 +0300 -+++ llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Threading.inc 2026-06-26 20:10:24.025022264 +0300 -@@ -121,7 +121,7 @@ ++++ llvm-22.1.8-banan_os/llvm/lib/Support/Unix/Threading.inc 2026-07-07 10:03:37.256828558 +0300 +@@ -70,6 +70,10 @@ + #include // For B_OS_NAME_LENGTH + #endif + ++#if defined(__banan_os__) ++#include // For sysconf() ++#endif ++ + namespace llvm { + pthread_t + llvm_execute_on_thread_impl(void *(*ThreadFunc)(void *), void *Arg, +@@ -121,7 +125,7 @@ pthread_t llvm_thread_get_id_impl(pthread_t Thread) { return Thread; } @@ -116,3 +127,30 @@ diff -ruN llvm-22.1.8/llvm/lib/Support/Unix/Threading.inc llvm-22.1.8-banan_os/l } // namespace llvm +@@ -148,6 +152,8 @@ + return uint64_t(syscall(__NR_gettid)); + #elif defined(_AIX) + return uint64_t(thread_self()); ++#elif defined(__banan_os__) ++ return uint64_t(pthread_self()->id); + #else + return uint64_t(pthread_self()); + #endif +@@ -171,6 +177,8 @@ + return 24; + #elif defined(__CYGWIN__) + return 16; ++#elif defined(__banan_os__) ++ return sizeof(uthread::name); + #else + return 0; + #endif +@@ -393,7 +401,7 @@ + } + return CPU_COUNT(&Enabled); + } +-#elif (defined(__linux__) && defined(__s390x__)) || defined(_AIX) ++#elif (defined(__linux__) && defined(__s390x__)) || defined(_AIX) || defined(__banan_os__) + static int computeHostNumPhysicalCores() { + return sysconf(_SC_NPROCESSORS_ONLN); + }