aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/plplot/portfile.cmake1
-rw-r--r--ports/plplot/use-math-h-nan.patch28
2 files changed, 29 insertions, 0 deletions
diff --git a/ports/plplot/portfile.cmake b/ports/plplot/portfile.cmake
index c98c8253b..1efd8f5a4 100644
--- a/ports/plplot/portfile.cmake
+++ b/ports/plplot/portfile.cmake
@@ -17,6 +17,7 @@ vcpkg_extract_source_archive_ex(
"${CMAKE_CURRENT_LIST_DIR}/0001-findwxwidgets-fixes.patch"
"${CMAKE_CURRENT_LIST_DIR}/0002-wxwidgets-dev-fixes.patch"
"${CMAKE_CURRENT_LIST_DIR}/install-interface-include-directories.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/use-math-h-nan.patch"
)
set(BUILD_with_wxwidgets OFF)
diff --git a/ports/plplot/use-math-h-nan.patch b/ports/plplot/use-math-h-nan.patch
new file mode 100644
index 000000000..1f3987730
--- /dev/null
+++ b/ports/plplot/use-math-h-nan.patch
@@ -0,0 +1,28 @@
+diff --git "a/lib/csa/nan.h" "b/lib/csa/nan.h"
+index 29fd3d2f..7f16e8c8 100644
+--- "a/lib/csa/nan.h"
++++ "b/lib/csa/nan.h"
+@@ -19,6 +19,16 @@
+ #if !defined ( _NAN_H )
+ #define _NAN_H
+
++// Try to use the implementation-provided NAN constant:
++
++#include <math.h>
++
++#if defined(NAN)
++
++#define NaN ((double)NAN)
++
++#else // ^^^ implementation provides NAN // implementation does not provide NAN vvv
++
+ #if ( defined ( __GNUC__ ) && !defined ( __ICC ) ) || defined ( __BORLANDC__ )
+
+ static const double NaN = 0.0 / 0.0;
+@@ -63,4 +73,6 @@ static const long long lNaN = ( (unsigned long long) 1 << 63 ) - 1;
+
+ #endif
+
++#endif // defined(NAN)
++
+ #endif