diff options
author | David Tardon <dtardon@redhat.com> | 2014-06-27 11:36:04 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2014-06-27 11:36:04 +0200 |
commit | 1e735d9394e7154250188046e14b9e21aa99eb09 (patch) | |
tree | 11875008bdbf6c08da681005a6d6133978075ce1 /external | |
parent | e2c0e024d6466c991330a77b20be5334cb31b716 (diff) |
fix build of libpagemaker on windows
Change-Id: Iac9920b9886fda514e6db35dc89facefeebe4d68
Diffstat (limited to 'external')
4 files changed, 104 insertions, 0 deletions
diff --git a/external/libpagemaker/0001-define-M_PI-if-not-available.patch b/external/libpagemaker/0001-define-M_PI-if-not-available.patch new file mode 100644 index 000000000000..0fe043e0b638 --- /dev/null +++ b/external/libpagemaker/0001-define-M_PI-if-not-available.patch @@ -0,0 +1,35 @@ +From ae6e41e1026a2a84641bb42aa7fb89a9a30a9114 Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Fri, 27 Jun 2014 11:30:38 +0200 +Subject: [PATCH 1/3] define M_PI if not available + +--- + src/lib/libpagemaker_utils.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/lib/libpagemaker_utils.h b/src/lib/libpagemaker_utils.h +index fed5f3d..ab070b5 100644 +--- a/src/lib/libpagemaker_utils.h ++++ b/src/lib/libpagemaker_utils.h +@@ -10,6 +10,7 @@ + #ifndef __LIBPAGEMAKER_UTILS_H__ + #define __LIBPAGEMAKER_UTILS_H__ + ++#include <cmath> + #include <cstdio> + + #include <string> +@@ -19,6 +20,10 @@ + #include <librevenge-stream/librevenge-stream.h> + #include <librevenge/librevenge.h> + ++#ifndef M_PI ++#define M_PI 3.14159265358979323846 ++#endif ++ + #ifdef _MSC_VER + + typedef unsigned char uint8_t; +-- +1.9.3 + diff --git a/external/libpagemaker/0002-add-missing-typedef-on-windows.patch b/external/libpagemaker/0002-add-missing-typedef-on-windows.patch new file mode 100644 index 000000000000..7f566b91da84 --- /dev/null +++ b/external/libpagemaker/0002-add-missing-typedef-on-windows.patch @@ -0,0 +1,24 @@ +From 7c9cc06fecd69e88428ee5b0cf5a3a3cf40db44b Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Fri, 27 Jun 2014 11:30:50 +0200 +Subject: [PATCH 2/3] add missing typedef on windows + +--- + src/lib/libpagemaker_utils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/lib/libpagemaker_utils.h b/src/lib/libpagemaker_utils.h +index ab070b5..73d2a59 100644 +--- a/src/lib/libpagemaker_utils.h ++++ b/src/lib/libpagemaker_utils.h +@@ -27,6 +27,7 @@ + #ifdef _MSC_VER + + typedef unsigned char uint8_t; ++typedef signed char int8_t; + typedef unsigned short uint16_t; + typedef short int16_t; + typedef unsigned uint32_t; +-- +1.9.3 + diff --git a/external/libpagemaker/0003-round-is-not-available-on-windows.patch b/external/libpagemaker/0003-round-is-not-available-on-windows.patch new file mode 100644 index 000000000000..e13d7056f15d --- /dev/null +++ b/external/libpagemaker/0003-round-is-not-available-on-windows.patch @@ -0,0 +1,37 @@ +From e5700eff3f09a6c0b78663b397c141f677c5b16b Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Fri, 27 Jun 2014 11:33:09 +0200 +Subject: [PATCH 3/3] round is not available on windows + +--- + src/lib/PMDParser.cpp | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/lib/PMDParser.cpp b/src/lib/PMDParser.cpp +index 7c9ff2d..736ea1c 100644 +--- a/src/lib/PMDParser.cpp ++++ b/src/lib/PMDParser.cpp +@@ -12,7 +12,6 @@ + #include <cassert> + #include <vector> + #include <limits> +-#include <math.h> + #include <librevenge/librevenge.h> + #include <boost/optional.hpp> + #include <boost/shared_ptr.hpp> +@@ -608,9 +607,9 @@ void PMDParser::parseColors(const PMDRecordContainer &container) + + uint16_t max = (std::numeric_limits<uint16_t>::max)(); + +- red = 255* round((1 - std::min(1.0, (double)cyan/max + (double)black/max))); +- green = 255*round((1 - std::min(1.0, (double)magenta/max + (double)black/max))); +- blue = 255*round((1 - std::min(1.0, (double)yellow/max + (double)black/max))); ++ red = 255* std::floor((1 - std::min(1.0, (double)cyan/max + (double)black/max) + 0.5)); ++ green = 255*std::floor((1 - std::min(1.0, (double)magenta/max + (double)black/max) + 0.5)); ++ blue = 255*std::floor((1 - std::min(1.0, (double)yellow/max + (double)black/max) + 0.5)); + } + else if (colorModel == HLS) + { } +-- +1.9.3 + diff --git a/external/libpagemaker/UnpackedTarball_libpagemaker.mk b/external/libpagemaker/UnpackedTarball_libpagemaker.mk index fec1c03871dd..5a66397cd2aa 100644 --- a/external/libpagemaker/UnpackedTarball_libpagemaker.mk +++ b/external/libpagemaker/UnpackedTarball_libpagemaker.mk @@ -11,4 +11,12 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,libpagemaker)) $(eval $(call gb_UnpackedTarball_set_tarball,libpagemaker,$(PAGEMAKER_TARBALL))) +$(eval $(call gb_UnpackedTarball_set_patchlevel,libpagemaker,1)) + +$(eval $(call gb_UnpackedTarball_add_patches,libpagemaker,\ + external/libpagemaker/0001-define-M_PI-if-not-available.patch \ + external/libpagemaker/0002-add-missing-typedef-on-windows.patch \ + external/libpagemaker/0003-round-is-not-available-on-windows.patch \ +)) + # vim: set noet sw=4 ts=4: |