Skip to content

Instantly share code, notes, and snippets.

@kripken
Created December 13, 2011 05:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kripken/1470674 to your computer and use it in GitHub Desktop.
Save kripken/1470674 to your computer and use it in GitHub Desktop.
patch to get box2d to build for jgw
diff --git a/c/Box2D_v2.2.1/CMakeLists.txt b/c/Box2D_v2.2.1/CMakeLists.txt
index a9dc06c..916dffb 100755
--- a/c/Box2D_v2.2.1/CMakeLists.txt
+++ b/c/Box2D_v2.2.1/CMakeLists.txt
@@ -15,21 +15,10 @@ option(BOX2D_BUILD_STATIC "Build Box2D static libraries" ON)
option(BOX2D_BUILD_EXAMPLES "Build Box2D examples" ON)
set(BOX2D_VERSION 2.1.0)
# The Box2D library.
add_subdirectory(Box2D)
-if(BOX2D_BUILD_EXAMPLES)
- # HelloWorld console example.
- add_subdirectory(HelloWorld)
-
- # Testbed and dependencies.
- find_package(OpenGL REQUIRED)
- add_subdirectory(freeglut)
- add_subdirectory(glui)
- add_subdirectory(Testbed)
-endif(BOX2D_BUILD_EXAMPLES)
-
if(BOX2D_INSTALL_DOC)
install(DIRECTORY Documentation DESTINATION share/doc/Box2D PATTERN ".svn" EXCLUDE)
-endif(BOX2D_INSTALL_DOC)
\ No newline at end of file
+endif(BOX2D_INSTALL_DOC)
diff --git a/c/bench2d.js.mk b/c/bench2d.js.mk
index 0ce0bdc..a5d0fb2 100644
--- a/c/bench2d.js.mk
+++ b/c/bench2d.js.mk
@@ -1,11 +1,22 @@
-EMMAKEN=/Users/jgw/src/emscripten/tools/emmaken.py -IBox2D_v2.2.1
-EMSCRIPTEN=/Users/jgw/src/emscripten/emscripten.py
-LLVM_LINK=/Users/jgw/llvm/bin/llvm-link
-LLVM_OPT=/Users/jgw/llvm/bin/opt
+#
+# Instructions:
+#
+# 1. In the Box2D_v2.2.1 directory, run
+#
+# ~/Dev/emscripten/tools/emconfiguren.py cmake .
+#
+# 2. In this directory, run
+#
+# make -f bench2d.js.mk
+#
+
+EMMAKEN=/home/alon/Dev/emscripten/tools/emmaken.py -IBox2D_v2.2.1
+EMSCRIPTEN=/home/alon/Dev/emscripten/emscripten.py
+LLVM_LINK=/home/alon/Dev/llvm-emscripten/cbuild/bin/llvm-link
# This set of flags has been chosen by the "cargo cult" method -- I picked them
# mostly from the ammo.js build file, and tweaked them until I got the best
# results. It's entirely possible I've missed something important here.
EMSCRIPTEN_FLAGS = \
#-s ASSERTIONS=0 \
#--optimize \
@@ -22,72 +33,71 @@ EMSCRIPTEN_FLAGS = \
#-s CHCK_SIGNS=0 \
#-s CORRECT_SIGNS=0 \
#-s DISABLE_EXCEPTION_CATCHING=1 \
#-s RUNTYPE_TYPE_INFO=0 \
#-s CORRECT_ROUNDINGS=0 \
#-s MICRO_OPTS=0
+COMPILES = Bench2d.o
+
OBJECTS = \
-Bench2d.bc \
-Box2D_v2.2.1/Box2d/Collision/b2BroadPhase.bc \
-Box2D_v2.2.1/Box2d/Collision/b2CollideCircle.bc \
-Box2D_v2.2.1/Box2d/Collision/b2CollideEdge.bc \
-Box2D_v2.2.1/Box2d/Collision/b2CollidePolygon.bc \
-Box2D_v2.2.1/Box2d/Collision/b2Collision.bc \
-Box2D_v2.2.1/Box2d/Collision/b2Distance.bc \
-Box2D_v2.2.1/Box2d/Collision/b2DynamicTree.bc \
-Box2D_v2.2.1/Box2d/Collision/b2TimeOfImpact.bc \
-Box2D_v2.2.1/Box2d/Collision/Shapes/b2ChainShape.bc \
-Box2D_v2.2.1/Box2d/Collision/Shapes/b2CircleShape.bc \
-Box2D_v2.2.1/Box2d/Collision/Shapes/b2EdgeShape.bc \
-Box2D_v2.2.1/Box2d/Collision/Shapes/b2PolygonShape.bc \
-Box2D_v2.2.1/Box2d/Common/b2BlockAllocator.bc \
-Box2D_v2.2.1/Box2d/Common/b2Draw.bc \
-Box2D_v2.2.1/Box2d/Common/b2Math.bc \
-Box2D_v2.2.1/Box2d/Common/b2Settings.bc \
-Box2D_v2.2.1/Box2d/Common/b2StackAllocator.bc \
-Box2D_v2.2.1/Box2d/Common/b2Timer.bc \
-Box2D_v2.2.1/Box2d/Dynamics/b2Body.bc \
-Box2D_v2.2.1/Box2d/Dynamics/b2ContactManager.bc \
-Box2D_v2.2.1/Box2d/Dynamics/b2Fixture.bc \
-Box2D_v2.2.1/Box2d/Dynamics/b2Island.bc \
-Box2D_v2.2.1/Box2d/Dynamics/b2World.bc \
-Box2D_v2.2.1/Box2d/Dynamics/b2WorldCallbacks.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2ChainAndCircleContact.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2ChainAndPolygonContact.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2CircleContact.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2Contact.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2ContactSolver.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2EdgeAndCircleContact.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2PolygonAndCircleContact.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Contacts/b2PolygonContact.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2DistanceJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2FrictionJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2GearJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2Joint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2MouseJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2PrismaticJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2PulleyJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2RevoluteJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2RopeJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2WeldJoint.bc \
-Box2D_v2.2.1/Box2d/Dynamics/Joints/b2WheelJoint.bc \
-Box2D_v2.2.1/Box2d/Rope/b2Rope.bc
+Bench2d.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/b2BroadPhase.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/b2CollideCircle.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/b2CollideEdge.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/b2CollidePolygon.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/b2Collision.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/b2Distance.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/b2DynamicTree.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/b2TimeOfImpact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/Shapes/b2ChainShape.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/Shapes/b2CircleShape.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/Shapes/b2EdgeShape.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Collision/Shapes/b2PolygonShape.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Common/b2BlockAllocator.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Common/b2Draw.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Common/b2Math.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Common/b2Settings.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Common/b2StackAllocator.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Common/b2Timer.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/b2Body.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/b2ContactManager.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/b2Fixture.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/b2Island.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/b2World.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/b2WorldCallbacks.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2ChainAndCircleContact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2ChainAndPolygonContact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2CircleContact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2Contact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2ContactSolver.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2EdgeAndCircleContact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2PolygonAndCircleContact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Contacts/b2PolygonContact.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2DistanceJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2FrictionJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2GearJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2Joint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2MouseJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2PrismaticJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2PulleyJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2RevoluteJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2RopeJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2WeldJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Dynamics/Joints/b2WheelJoint.cpp.o \
+Box2D_v2.2.1/Box2D/CMakeFiles/Box2D.dir/Rope/b2Rope.cpp.o
all: bench2d.js
-%.bc: %.cpp
+%.o: %.cpp
python $(EMMAKEN) $< -o $@
-bench2d.out.bc: $(OBJECTS)
+bench2d.out.bc: $(COMPILES)
$(LLVM_LINK) -o $@ $(OBJECTS)
-bench2d.opt.bc: bench2d.out.bc
- $(LLVM_OPT) $< -o $@
-
-bench2d.js: bench2d.opt.bc
+bench2d.js: bench2d.out.bc
$(EMSCRIPTEN) $(EMSCRIPTEN_FLAGS) $< > $@
clean:
- rm bench2d.js bench2d.out.bc bench2d.opt.bc $(OBJECTS)
+ rm bench2d.js bench2d.out.bc $(OBJECTS)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment