1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-30 05:40:06 +00:00

devel/ode: fix and optionize building demos, other minor improvements

- Optionize building demos
- Fix depends (only depend on GL for demos, fix configure dependency
  detection by using USES=localbase and pkgconfig)
- Fix build of demo code (use older compatible C++ standard and
  patch some bits)
- Use native OPTIONS feature to make options mutually exclusive

PR:		254898
Approved by:	acm (maintainer)
This commit is contained in:
Dmitry Marakasov 2021-04-09 02:35:52 +03:00
parent 3304bfbb07
commit 96b5f3c1c9
4 changed files with 43 additions and 11 deletions

View File

@ -13,28 +13,27 @@ COMMENT= Articulated rigid body dynamics library
LICENSE= LGPL21 BSD3CLAUSE
LICENSE_COMB= dual
USES= gl tar:bzip2 libtool pathfix
USE_GL= yes
USES= tar:bzip2 libtool pathfix
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-shared
TEST_TARGET= check
USE_CXXSTD= c++03
OPTIONS_DEFINE= GIMPACT DOUBLE OU
OPTIONS_DEFINE= GIMPACT DOUBLE OU DEMOS
GIMPACT_DESC= Enable gimpact instead of opcode support
DOUBLE_DESC= Enable double precision (BROKEN with GIMPACT)
OU_DESC= Enable Thread-local storage (Experimental)
DEMOS_DESC= Build demos (not installed)
GIMPACT_PREVENTS= DOUBLE
GIMPACT_CONFIGURE_ON= --with-trimesh=gimpact
GIMPACT_CONFIGURE_OFF= --with-trimesh=opcode
DOUBLE_CONFIGURE_ENABLE= double-precision
OU_CONFIGURE_ENABLE= ou
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MGIMPACT} && ${PORT_OPTIONS:MDOUBLE}
IGNORE= currently double precision is not supported by gimpact
.endif
DOUBLE_CONFIGURE_ENABLE=double-precision
OU_CONFIGURE_ENABLE= ou
DEMOS_CONFIGURE_ENABLE= demos
DEMOS_USES= gl localbase pkgconfig
DEMOS_USE= GL=gl,glu
post-patch:
@${REINPLACE_CMD} -e '/if test/ s|==|=|' -e 's|^\( *CFLAGS=\)|#\1|;' \

View File

@ -0,0 +1,11 @@
--- ode/demo/demo_jointPR.cpp.orig 2013-08-19 17:48:05 UTC
+++ ode/demo/demo_jointPR.cpp
@@ -329,7 +329,7 @@ int main (int argc, char **argv)
{
int j = i+1;
if ( j+1 > argc || // Check if we have enough arguments
- argv[j] == '\0' || // We should have a path here
+ argv[j][0] == '\0' || // We should have a path here
argv[j][0] == '-' ) // We should have a path not a command line
Help(argv);
else

View File

@ -0,0 +1,11 @@
--- ode/demo/demo_jointPU.cpp.orig 2013-12-06 21:52:14 UTC
+++ ode/demo/demo_jointPU.cpp
@@ -579,7 +579,7 @@ int main (int argc, char **argv)
if (0 == strcmp ("-t", argv[i]) || 0 == strcmp ("--texture-path", argv[i]) ) {
int j = i+1;
if ( j+1 > argc || // Check if we have enough arguments
- argv[j] == '\0' || // We should have a path here
+ argv[j][0] == '\0' || // We should have a path here
argv[j][0] == '-' ) // We should have a path not a command line
Help (argv);
else

View File

@ -0,0 +1,11 @@
--- ode/demo/demo_piston.cpp.orig 2013-08-19 17:48:05 UTC
+++ ode/demo/demo_piston.cpp
@@ -659,7 +659,7 @@ int main (int argc, char **argv)
{
int j = i+1;
if ( j+1 > argc || // Check if we have enough arguments
- argv[j] == '\0' || // We should have a path here
+ argv[j][0] == '\0' || // We should have a path here
argv[j][0] == '-' ) // We should have a path not a command line
Help (argv);
else