Files
haikuports/sci-electronics/ngspice/patches/ngspice-43.patchset
Gerasim Troeglazov dbc553064c ngspice: add recipe
2024-12-26 18:48:46 +10:00

126 lines
3.9 KiB
Plaintext

From ebf3944dcaab384a642ee78eee578a8650fc1514 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 26 Dec 2024 18:01:05 +1000
Subject: fix build
diff --git a/src/frontend/get_avail_mem_size.c b/src/frontend/get_avail_mem_size.c
index ebec4fd..9b4ec7e 100644
--- a/src/frontend/get_avail_mem_size.c
+++ b/src/frontend/get_avail_mem_size.c
@@ -11,6 +11,9 @@
#undef BOOLEAN
#include <windows.h>
+#elif defined(__HAIKU__)
+#include <kernel/OS.h>
+
#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__))
#include <unistd.h>
#include <sys/types.h>
@@ -64,6 +67,15 @@ unsigned long long getAvailableMemorySize(void)
GlobalMemoryStatusEx( &status );
return status.ullAvailPhys;
+#elif defined (__HAIKU__)
+ system_info info;
+ get_system_info(&info);
+ uint32 ignored = (info.ignored_pages*B_PAGE_SIZE)/(1024*1024);
+ uint32 max = (info.max_pages*B_PAGE_SIZE)/(1024*1024);
+ uint32 used = (info.used_pages*B_PAGE_SIZE)/(1024*1024);
+
+return ((max+ignored)-used);
+
#elif defined(__APPLE__) && defined(__MACH__)
mach_port_t host_port;
diff --git a/src/frontend/get_phys_mem_size.c b/src/frontend/get_phys_mem_size.c
index c40e5a3..a23547d 100644
--- a/src/frontend/get_phys_mem_size.c
+++ b/src/frontend/get_phys_mem_size.c
@@ -13,6 +13,9 @@
#undef BOOLEAN
#include <windows.h>
+#elif defined(__HAIKU__)
+#include <kernel/OS.h>
+
#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__))
#include <unistd.h>
#include <sys/types.h>
@@ -114,6 +117,14 @@ unsigned long long getMemorySize(void)
return 0L; /* Failed? */
#endif /* sysctl and sysconf variants */
+#elif defined (__HAIKU__)
+ system_info info;
+ get_system_info(&info);
+ uint32 ignored = (info.ignored_pages*B_PAGE_SIZE)/(1024*1024);
+ uint32 max = (info.max_pages*B_PAGE_SIZE)/(1024*1024);
+
+return ((max+ignored));
+
#else
return 0L; /* Unknown OS. */
#endif
diff --git a/src/frontend/get_resident_set_size.c b/src/frontend/get_resident_set_size.c
index aeff605..3c5dd72 100644
--- a/src/frontend/get_resident_set_size.c
+++ b/src/frontend/get_resident_set_size.c
@@ -14,7 +14,7 @@
#include <windows.h>
#include <psapi.h>
-#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__))
+#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__)) || defined(__HAIKU__)
#include <unistd.h>
#include <sys/resource.h>
@@ -133,6 +133,9 @@ unsigned long long getCurrentRSS(void)
fclose( fp );
return rss * (unsigned long long) sysconf(_SC_PAGESIZE);
+#elif defined (__HAIKU__)
+ return 0L;
+
#else
/* AIX, BSD, Solaris, and Unknown OS ------------------------ */
return (unsigned long long) 0L; /* Unsupported. */
--
2.45.2
From 58db81008e0e956c273364ea1e41c863aee7e455 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 26 Dec 2024 18:01:20 +1000
Subject: Remove libdl for Haiku
diff --git a/configure.ac b/configure.ac
index 7488033..c44e9ee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1108,7 +1108,7 @@ if test "x$enable_xspice" = xno; then
XSPICEINIT="*"
if test "x$enable_osdi" = xyes || test "x$enable_osdi" = x ; then\
case $host_os in
- *mingw* | *msys* | *cygwin* | *solaris* )
+ *mingw* | *msys* | *cygwin* | *solaris* | *haiku* )
XSPICEDLLIBS=""
;;
* )
@@ -1137,6 +1137,10 @@ else
AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.])
XSPICEDLLIBS="-ldl"
;;
+ *haiku* )
+ AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.])
+ XSPICEDLLIBS=""
+ ;;
*solaris* )
AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.])
XSPICEDLLIBS=""
--
2.45.2