diff --git a/openvdb/openvdb/math/Half.h b/openvdb/openvdb/math/Half.h index 85c792aac4..b8045ba441 100644 --- a/openvdb/openvdb/math/Half.h +++ b/openvdb/openvdb/math/Half.h @@ -200,6 +200,15 @@ namespace OPENVDB_VERSION_NAME { namespace math { namespace internal { +// Use of lookup table is explicitly suppressed and the generation of +// a lookup table is suppressed. This is required because we namespace +// our type, but the lookup table is extern "C" and lacks a namespace. +// Thus any attempt to link two versions of OpenVDB with different +// namespaces will clash due to redefinition with a new type. +// The default was not to use a lookup table. +#undef IMATH_HALF_USE_LOOKUP_TABLE +#define IMATH_HALF_NO_LOOKUP_TABLE + //------------------------------------------------------------------------- // Limits // diff --git a/pendingchanges/remove_half_lut.txt b/pendingchanges/remove_half_lut.txt new file mode 100644 index 0000000000..39d65a2803 --- /dev/null +++ b/pendingchanges/remove_half_lut.txt @@ -0,0 +1,5 @@ +Fixes: + - The Half.h is no longer built with an internal lookup table, but + explicilty selects the non-lut version and disables creation of + a lut. This is required to avoid symbol conflicts with + different namespaced OpenVDB builds.