From 1431a56f3371270f08d20ca2e46a28418ac7ecd9 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 14 Oct 2014 23:25:10 +0200 Subject: [PATCH] Temporary build fix for OpenEXR. * It seems hex floats are not allowed in C++. * I will fix this more cleanly, but it needs another rebuild of the gcc2 package. Until then, this lets haiku compile. --- src/add-ons/translators/exr/openexr/imath/ImathLimits.h | 4 ++++ src/add-ons/translators/exr/openexr/imath/Jamfile | 1 + src/add-ons/translators/exr/openexr/imath/gcc2fix.c | 3 +++ 3 files changed, 8 insertions(+) create mode 100644 src/add-ons/translators/exr/openexr/imath/gcc2fix.c diff --git a/src/add-ons/translators/exr/openexr/imath/ImathLimits.h b/src/add-ons/translators/exr/openexr/imath/ImathLimits.h index 683e990c0a..ab2e9f59c5 100644 --- a/src/add-ons/translators/exr/openexr/imath/ImathLimits.h +++ b/src/add-ons/translators/exr/openexr/imath/ImathLimits.h @@ -46,6 +46,10 @@ #include #undef LDBL_EPSILON #define LDBL_EPSILON 2.2204460492503131e-16L +#undef LDBL_MAX +#undef LDBL_MIN +extern "C" long double LDBL_MAX; +extern "C" long double LDBL_MIN; #include //------------------------------------------ diff --git a/src/add-ons/translators/exr/openexr/imath/Jamfile b/src/add-ons/translators/exr/openexr/imath/Jamfile index 3ae13ada58..1480d422a0 100644 --- a/src/add-ons/translators/exr/openexr/imath/Jamfile +++ b/src/add-ons/translators/exr/openexr/imath/Jamfile @@ -19,6 +19,7 @@ for architectureObject in [ MultiArchSubDirSetup ] { ImathRandom.cpp ImathShear.cpp ImathVec.cpp + gcc2fix.c ; } } diff --git a/src/add-ons/translators/exr/openexr/imath/gcc2fix.c b/src/add-ons/translators/exr/openexr/imath/gcc2fix.c new file mode 100644 index 0000000000..1345b67efe --- /dev/null +++ b/src/add-ons/translators/exr/openexr/imath/gcc2fix.c @@ -0,0 +1,3 @@ +// C++ doesn't handle hex floats properly... +long double LDBL_MAX = 0xfffffffffffffffp16320l; +long double LDBL_MIN = 0x1p-16382l;