| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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
|