On Thu, Dec 30 2021, Pascal Stumpf <pascal@stumpf.co> wrote:
> Here's an update for games/irrlamb, which now no longer uses
> devel/bullet. It has an internal copy of Irrlicht, but working around
> this to use the version from ports seems to not create any issues.
This breaks on !(amd64) for various reasons.
1. -msse -mfpmath=sse should only be used on amd64, see Makefile and
patches/patch-CMakeLists_txt below.
2. src/ode/odeconfig.h is a pile of ifdef kludges. I added a hack in the
second part of the diff below but I really suggest not using it as is.
Maybe this should only be built on amd64. And arm64. *argh*.
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/irrlamb/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- Makefile 30 Dec 2021 22:13:47 -0000 1.13
+++ Makefile 2 Jan 2022 21:34:11 -0000
@@ -30,6 +30,13 @@ WRKDIST = ${WRKDIR}/irrlamb-$Vr613
NO_TEST = Yes
+.if ${MACHINE_ARCH} == "amd64"
+SSE_FLAGS = -msse -mfpmath=sse
+.else
+SSE_FLAGS =
+.endif
+SUBST_VARS += SSE_FLAGS
+
post-extract:
rm -rf ${WRKSRC}/src/irrlicht
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/games/irrlamb/patches/patch-CMakeLists_txt,v
retrieving revision 1.1
diff -u -p -r1.1 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt 30 Dec 2021 22:13:47 -0000 1.1
+++ patches/patch-CMakeLists_txt 2 Jan 2022 21:34:11 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-CMakeLists_txt,v 1.1 202
Index: CMakeLists.txt
--- CMakeLists.txt.orig
+++ CMakeLists.txt
-@@ -29,7 +29,6 @@ if(WIN32)
+@@ -29,11 +29,10 @@ if(WIN32)
elseif(UNIX)
add_definitions(-DPLATFORM=0)
add_definitions(-DLUA_USE_LINUX)
@@ -11,6 +11,11 @@ Index: CMakeLists.txt
endif()
# compiler flags
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-deprecated-declarations -pedantic -std=gnu++11 -msse -mfpmath=sse")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-deprecated-declarations -pedantic -std=gnu++11 ${SSE_FLAGS}")
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DdNODEBUG -s")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DdNODEBUG -s")
+
@@ -72,7 +71,7 @@ find_package(Threads REQUIRED)
# include paths
Index: patches/patch-src_ode_odeconfig_h
===================================================================
RCS file: patches/patch-src_ode_odeconfig_h
diff -N patches/patch-src_ode_odeconfig_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_ode_odeconfig_h 3 Jan 2022 02:02:25 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Hack to build this on riscv64.
+
+Index: src/ode/odeconfig.h
+--- src/ode/odeconfig.h.orig
++++ src/ode/odeconfig.h
+@@ -81,7 +81,7 @@
+
+
+ /* Well-defined common data types...need to define for 64 bit systems */
+-#if defined(__aarch64__)
++#if defined(__aarch64__) || (defined(__riscv) && __riscv_xlen == 64)
+ #include <stdint.h>
+ typedef int64_t dint64;
+ typedef uint64_t duint64;
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
No comments:
Post a Comment