Date: Sat, 28 May 2005 17:51:55 -0700 (PDT) From: Jonathan Hanna <jhanna@pangolin-systems.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/81610: [PATCH] devel/ode: add option to support trimesh Message-ID: <200505290051.j4T0ptci006912@cub.pangolin-systems.com> Resent-Message-ID: <200505290100.j4T10DrN009311@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 81610 >Category: ports >Synopsis: [PATCH] devel/ode: add option to support trimesh >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun May 29 01:00:13 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Jonathan Hanna >Release: FreeBSD 5.4-STABLE i386 >Organization: >Environment: >Description: The ode distribution includes an "OPCODE" library that is required to support triangle mesh objects. It is not currently enabled in the port. This patch: - adds an option (on by default) to use OPCODE, enabling trimesh - changes the header include order so as not to pick up installed includes before local ones - suppresses the unneeded use of values.h - works around an inlining limitation in g++ >How-To-Repeat: >Fix: diff -urPN --exclude=CVS ode.orig/Makefile ode/Makefile --- ode.orig/Makefile Fri Jul 23 01:44:18 2004 +++ ode/Makefile Mon May 23 20:55:28 2005 @@ -21,6 +21,8 @@ USE_GMAKE= yes USE_REINPLACE= yes +OPTIONS= OPCODE "Enable code required by TriList (trimesh) class" on + .include <bsd.port.pre.mk> .if ${ARCH} == "amd64" @@ -42,6 +44,15 @@ s|-fno-rtti||; \ s|-ffast-math|${CXXFLAGS} -I${X11BASE}/include|' \ ${WRKSRC}/config/makefile.unix-gcc +.if !defined(WITHOUT_OPCODE) + @${REINPLACE_CMD} -e \ + 's/^#OPCODE_DIRECTORY/OPCODE_DIRECTORY/' \ + ${WRKSRC}/config/user-settings +.endif + +do-configure: + cd ${WRKSRC} ; ${GMAKE} configure + @${REINPLACE_CMD} -e '/include.*values.h/d' ${WRKSRC}/include/ode/config.h do-install: @${INSTALL_DATA} ${WRKSRC}/lib/libode.a ${PREFIX}/lib diff -urPN --exclude=CVS ode.orig/files/patch-Makefile ode/files/patch-Makefile --- ode.orig/files/patch-Makefile Sat Jun 26 11:36:17 2004 +++ ode/files/patch-Makefile Mon May 23 21:00:04 2005 @@ -5,11 +5,11 @@ %$(OBJ): %.c - $(CC) $(C_FLAGS) $(C_INC)$(INCPATH) $(DEFINES) $(C_OPT)1 $(C_OUT)$@ $< -+ $(CC) $(C_FLAGS) $(C_INC)$(INCPATH) $(DEFINES) $(C_OUT)$@ $< ++ $(CC) $(C_INC)$(INCPATH) $(C_FLAGS) $(DEFINES) $(C_OUT)$@ $< %$(OBJ): %.cpp - $(CC) $(C_FLAGS) $(C_INC)$(INCPATH) $(INC_OPCODE) $(DEFINES) $(C_OPT)$(OPT) $(C_OUT)$@ $< -+ $(CC) $(C_FLAGS) $(C_INC)$(INCPATH) $(INC_OPCODE) $(DEFINES) $(C_OUT)$@ $< ++ $(CC) $(C_INC)$(INCPATH) $(C_FLAGS) $(INC_OPCODE) $(DEFINES) $(C_OUT)$@ $< %.exe: %$(OBJ) - $(CC) $(C_EXEOUT)$@ $< $(ODE_LIB) $(DRAWSTUFF_LIB) $(RESOURCE_FILE) $(LINK_OPENGL) $(LINK_MATH) diff -urPN --exclude=CVS ode.orig/files/patch-OPC_TreeCollider.h ode/files/patch-OPC_TreeCollider.h --- ode.orig/files/patch-OPC_TreeCollider.h Wed Dec 31 16:00:00 1969 +++ ode/files/patch-OPC_TreeCollider.h Mon May 23 20:17:42 2005 @@ -0,0 +1,30 @@ +--- OPCODE/OPC_TreeCollider.h.orig Mon May 23 20:11:48 2005 ++++ OPCODE/OPC_TreeCollider.h Mon May 23 20:16:16 2005 +@@ -28,6 +28,13 @@ + //! even entering the recursive collision code. + struct OPCODE_API BVTCache : Pair + { ++ inline_ void ResetCountDown() ++ { ++#ifdef __MESHMERIZER_H__ // Collision hulls only supported within ICE ! ++ CountDown = 50; ++#endif // __MESHMERIZER_H__ ++ } ++ + //! Constructor + inline_ BVTCache() + { +@@ -46,13 +53,6 @@ + SepVector.pid = 0; + SepVector.qid = 0; + SepVector.SV = Point(1.0f, 0.0f, 0.0f); +-#endif // __MESHMERIZER_H__ +- } +- +- inline_ void ResetCountDown() +- { +-#ifdef __MESHMERIZER_H__ // Collision hulls only supported within ICE ! +- CountDown = 50; + #endif // __MESHMERIZER_H__ + } + >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505290051.j4T0ptci006912>