some existing COMPILER lines with arch restrictions etc. In the usual
case this is now using "COMPILER = base-clang ports-gcc base-gcc" on
ports with c++ libraries in WANTLIB.
This is basically intended to be a noop on architectures using clang
as the system compiler, but help with other architectures where we
currently have many ports knocked out due to building with an unsuitable
compiler -
- some ports require c++11/newer so the GCC version in base that is used
on these archirtectures is too old.
- some ports have conflicts where an executable is built with one compiler
(e.g. gcc from base) but a library dependency is built with a different
one (e.g. gcc from ports), resulted in mixing incompatible libraries in the
same address space.
devel/gmp is intentionally skipped as it's on the path to building gcc -
the c++ library there is unused in ports (and not built by default upstream)
so intending to disable building gmpcxx in a future commit.
ok landry@
OpenCSG is a library that does image-based CSG rendering using OpenGL.
OpenCSG is written in C++ and supports most modern graphics hardware.
CSG is short for Constructive Solid Geometry and denotes an approach
to model complex 3D-shapes using simpler ones. I.e., two shapes can be
combined by taking the union of them, by intersecting them, or by
subtracting one shape of the other. The most basic shapes, which are
not result of such a CSG operation, are called primitives. Primitives
must be solid, i.e., they must have a clearly defined interior and
exterior. By construction, a CSG shape is also solid then.
Image-based CSG rendering (also z-buffer CSG rendering) is a term that
denotes algorithms for rendering CSG shapes without an explicit
calculation of the geometric boundary of a CSG shape. Such algorithms
use frame-buffer settings of the graphics hardware, e.g., the depth
and stencil buffer, to compose CSG shapes. OpenCSG implements a
variety of those algorithms, namely the Goldfeather algorithm and the
SCS algorithm, both of them in several variants.