Branch: master

e199b0f7 2017-05-26 18:14:30 Slávek Banko
Fix FTBFS on fmin redefinition

Signed-off-by: Slávek Banko <slavek.banko@...>
M config.h.cmake
M kviewshell/plugins/djvu/libdjvu/ConfigureChecks.cmake
M kviewshell/plugins/djvu/libdjvu/DjVuPalette.cpp
diff --git a/config.h.cmake b/config.h.cmake
index e6d1fd2..3e51ef6 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -39,6 +39,7 @@
     #define HAS_MBSTATE 1
   #endif
 #endif
+#cmakedefine HAVE_FMIN 1
 
 // kmrml
 #cmakedefine HAVE_STDLIB_H 1
diff --git a/kviewshell/plugins/djvu/libdjvu/ConfigureChecks.cmake b/kviewshell/plugins/djvu/libdjvu/ConfigureChecks.cmake
index 50f708f..aa63d2f 100644
--- a/kviewshell/plugins/djvu/libdjvu/ConfigureChecks.cmake
+++ b/kviewshell/plugins/djvu/libdjvu/ConfigureChecks.cmake
@@ -10,6 +10,7 @@
 #################################################
 
 include( CheckFunctionExists )
+include( CheckCXXSourceCompiles )
 
 check_type_size( wchar_t WCHAR_T )
 
@@ -23,3 +24,14 @@
     check_function_exists( wcrtomb HAVE_WCRTOMB )
   endif( )
 endif( )
+
+check_cxx_source_compiles(
+  "
+   #include <cmath>
+   int main(int, char*[]) {
+     float res = fmin(0, 1);
+     return 0;
+   }
+  "
+  HAVE_FMIN
+)
diff --git a/kviewshell/plugins/djvu/libdjvu/DjVuPalette.cpp b/kviewshell/plugins/djvu/libdjvu/DjVuPalette.cpp
index 9817515..0b8fa61 100644
--- a/kviewshell/plugins/djvu/libdjvu/DjVuPalette.cpp
+++ b/kviewshell/plugins/djvu/libdjvu/DjVuPalette.cpp
@@ -97,10 +97,11 @@
 umin(unsigned char a, unsigned char b) 
 { return (a>b) ? b : a; }
 
+#if !defined(HAVE_FMIN)
 inline float 
 fmin(float a, float b) 
 { return (a>b) ? b : a; }
-
+#endif
 
 
 // ------- DJVUPALETTE