| From ea2a03e983acf34a1320b460dcad43b7e0b0b14f Mon Sep 17 00:00:00 2001 |
| Message-Id: <ea2a03e983acf34a1320b460dcad43b7e0b0b14f.1397134306.git.baruch@tkos.co.il> |
| From: Baruch Siach <baruch@tkos.co.il> |
| Date: Thu, 10 Apr 2014 15:49:13 +0300 |
| Subject: [PATCH] gd_bmp: fix build with uClibc |
| |
| Some architectures (like ARM) don't have the long double variants of math |
| functions under uClibc. Add a local ceill definition in this case. |
| |
| Patch status: reported upstream, |
| https://bitbucket.org/libgd/gd-libgd/issue/123/build-failure-agains-uclibc-arm |
| |
| Signed-off-by: Baruch Siach <baruch@tkos.co.il> |
| --- |
| src/gd_bmp.c | 12 ++++++++++++ |
| 1 file changed, 12 insertions(+) |
| |
| diff --git a/src/gd_bmp.c b/src/gd_bmp.c |
| index 0fc021909f1b..11b3ec1baa01 100644 |
| --- a/src/gd_bmp.c |
| +++ b/src/gd_bmp.c |
| @@ -25,6 +25,11 @@ |
| #include "gdhelpers.h" |
| #include "bmp.h" |
| |
| +#include <features.h> |
| +#if defined (__UCLIBC__) && !defined(__UCLIBC_HAS_LONG_DOUBLE_MATH__) |
| +#define NO_LONG_DOUBLE |
| +#endif |
| + |
| static int compress_row(unsigned char *uncompressed_row, int length); |
| static int build_rle_packet(unsigned char *row, int packet_type, int length, unsigned char *data); |
| |
| @@ -42,6 +47,13 @@ static int bmp_read_rle(gdImagePtr im, gdIOCtxPtr infile, bmp_info_t *info); |
| |
| #define BMP_DEBUG(s) |
| |
| +#ifdef NO_LONG_DOUBLE |
| +long double ceill(long double x) |
| +{ |
| + return (long double) ceil((double) x); |
| +} |
| +#endif |
| + |
| static int gdBMPPutWord(gdIOCtx *out, int w) |
| { |
| /* Byte order is little-endian */ |
| -- |
| 1.9.1 |
| |