libccd is library for collision detection between two convex shapes.
libccd implements variation on Gilbert-Johnson-Keerthi (GJK) algorithm + Expand
Polytope Algorithm (EPA). It also implements Minkowski Portal Refinement (MPR,
a.k.a. XenoCollide) algorithm as published in Game Programming Gems 7. libccd
is the only available open source library of my knowledge that include MPR
algorithm working in 3-D space.
However, there is a library called mpr2d, implemented in D programming
language, that works in 2-D space.

For a summary on how to use the package collection, see the
README.html. robotpkg is designed to
permit easy installation from source - particularly useful if the
latest binary package is not available for your chosen platform.