]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
add LINK_TO_ODE to link against system libode
authorSimon McVittie <smcv@debian.org>
Wed, 6 Jul 2011 08:33:19 +0000 (09:33 +0100)
committernyov <nyov@nexnode.net>
Thu, 27 Nov 2014 09:41:54 +0000 (09:41 +0000)
In Debian we want library dependencies to work in the conventional way,
since many tools expect that and use it to generate package
dependencies.

Origin: vendor, Debian

makefile
makefile.inc
world.c
world.h

index e24aa4817d6df47db5ab858704735b4dee1ef8e3..e7c7cf50455a256c4934486d41777c0a6d07705e 100644 (file)
--- a/makefile
+++ b/makefile
@@ -317,6 +317,11 @@ CFLAGS_SND_MODPLUG=-DLINK_TO_MODPLUG `pkg-config --cflags libmodplug`
 LIB_SND_MODPLUG=`pkg-config --libs libmodplug`
 endif
 
+ifdef LINK_TO_ODE
+CFLAGS_ODE=-DLINK_TO_ODE `pkg-config --cflags ode`
+LIB_ODE=`pkg-config --libs ode`
+endif
+
 ifdef LINK_TO_ZLIB
 CFLAGS_ZLIB=-DLINK_TO_ZLIB
 LIB_ZLIB=-lz
index 35ae3c411d7895a5c1cecc4fb05c175c1d5a26aa..84ff115ceaad91ad969b46040755091785917aee 100644 (file)
@@ -26,8 +26,8 @@ CPUOPTIMIZATIONS?=-fno-math-errno -ffinite-math-only -fno-rounding-math -fno-sig
 # NOTE: *never* *ever* use the -ffast-math or -funsafe-math-optimizations flag
 
 # Additional stuff for libode
-LIB_ODE=`[ -n "$(DP_ODE_STATIC_LIBDIR)" ] && "$(DP_ODE_STATIC_LIBDIR)/../bin/ode-config" --libs` `[ -n "$(DP_ODE_STATIC_LIBDIR)" ] && echo -lstdc++`
-CFLAGS_ODE=`[ -n "$(DP_ODE_STATIC_LIBDIR)" ] && "$(DP_ODE_STATIC_LIBDIR)/../bin/ode-config" --cflags || { [ -n "$(DP_ODE_DYNAMIC)" ] && echo \ -DODE_DYNAMIC; }` `[ -n "$(DP_ODE_STATIC_LIBDIR)" ] && echo -DODE_STATIC`
+LIB_ODE?=`[ -n "$(DP_ODE_STATIC_LIBDIR)" ] && "$(DP_ODE_STATIC_LIBDIR)/../bin/ode-config" --libs` `[ -n "$(DP_ODE_STATIC_LIBDIR)" ] && echo -lstdc++`
+CFLAGS_ODE?=`[ -n "$(DP_ODE_STATIC_LIBDIR)" ] && "$(DP_ODE_STATIC_LIBDIR)/../bin/ode-config" --cflags || { [ -n "$(DP_ODE_DYNAMIC)" ] && echo \ -DODE_DYNAMIC; }` `[ -n "$(DP_ODE_STATIC_LIBDIR)" ] && echo -DODE_STATIC`
 
 
 SDL_CONFIG?=sdl-config
diff --git a/world.c b/world.c
index abacf51d2ee614111f26d68ee9ea2cd02e08724d..1f96eae5b6ba8d684f8caff819505a336499b70c 100644 (file)
--- a/world.c
+++ b/world.c
@@ -330,6 +330,19 @@ void World_LinkEdict(world_t *world, prvm_edict_t *ent, const vec3_t mins, const
 // physics engine support
 //============================================================================
 
+// backwards compat
+#ifdef ODE_STATIC
+# define LINK_TO_ODE 1
+#endif
+
+#ifndef LINK_TO_ODE
+# define ODE_DYNAMIC 1
+#endif
+
+#if defined(LINK_TO_ODE) || defined(ODE_DYNAMIC)
+#define USEODE 1
+#endif
+
 #ifdef USEODE
 cvar_t physics_ode_quadtree_depth = {0, "physics_ode_quadtree_depth","5", "desired subdivision level of quadtree culling space"};
 cvar_t physics_ode_allowconvex = {0, "physics_ode_allowconvex", "0", "allow usage of Convex Hull primitive type on trimeshes that have custom 'collisionconvex' mesh. If disabled, trimesh primitive type are used."};
@@ -365,7 +378,7 @@ cvar_t physics_ode = {0, "physics_ode", "0", "run ODE physics (VERY experimental
 // LordHavoc: this large chunk of definitions comes from the ODE library
 // include files.
 
-#ifdef ODE_STATIC
+#ifdef LINK_TO_ODE
 #include "ode/ode.h"
 #else
 #ifdef WINAPI
diff --git a/world.h b/world.h
index 18e9b00155b1bac6dec53d99449c2de3974c4ae8..e43ebd142c6ffc99f7fcfa01a5badb0baa86966d 100644 (file)
--- a/world.h
+++ b/world.h
@@ -119,15 +119,6 @@ int World_EntitiesInBox(world_t *world, const vec3_t mins, const vec3_t maxs, in
 void World_Start(world_t *world);
 void World_End(world_t *world);
 
-// physics macros
-#ifndef ODE_STATIC
-# define ODE_DYNAMIC 1
-#endif
-
-#if defined(ODE_STATIC) || defined(ODE_DYNAMIC)
-# define USEODE 1
-#endif
-
 // update physics
 // this is called by SV_Physics
 void World_Physics_Frame(world_t *world, double frametime, double gravity);