summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2017-07-22 08:17:38 (GMT)
committerGitHub <noreply@github.com>2017-07-22 08:17:38 (GMT)
commit5f1ba371415b8e554bc4703f7328522795abb712 (patch)
treef2949c0ac484c1d1f5e997bca5c9b43805b1c35e /src
parent72e622caa63af999823bb22bd770f33e7167f627 (diff)
parentc8770bd85ff6249670eb265b31370b3bd7fa4caf (diff)
downloadmxe-5f1ba371415b8e554bc4703f7328522795abb712.zip
mxe-5f1ba371415b8e554bc4703f7328522795abb712.tar.gz
mxe-5f1ba371415b8e554bc4703f7328522795abb712.tar.bz2
Merge pull request #1839 from tonytheodore/muellni-update_libharu
libharu: update
Diffstat (limited to 'src')
-rw-r--r--src/libharu-1-fixes.patch406
-rw-r--r--src/libharu.mk38
2 files changed, 16 insertions, 428 deletions
diff --git a/src/libharu-1-fixes.patch b/src/libharu-1-fixes.patch
deleted file mode 100644
index a27ebdc..0000000
--- a/src/libharu-1-fixes.patch
+++ /dev/null
@@ -1,406 +0,0 @@
-# This file is part of MXE. See LICENSE.md for licensing information.
-
-From 531d2a9af8c51ad8badc32bc9ba43bb3b87b0e9f Mon Sep 17 00:00:00 2001
-From: Antony Dovgal <tony@daylessday.org>
-Date: Mon, 10 Jan 2011 01:22:14 +0300
-Subject: [PATCH] fix build with libpng 1.5.0 (reported by Tamas Tevesz)
- (cherry picked from commit
- e5bf8b01f6c3d5e3fe0e26ac5345e0da10c03934)
-
-Conflicts:
-
- CHANGES
----
- src/hpdf_image_png.c | 109 +++++++++++++++++++++++++++-----------------------
- 1 files changed, 59 insertions(+), 50 deletions(-)
-
-diff --git a/src/hpdf_image_png.c b/src/hpdf_image_png.c
-index b8f831e..6057424 100644
---- a/src/hpdf_image_png.c
-+++ b/src/hpdf_image_png.c
-@@ -109,14 +109,15 @@ ReadPngData_Interlaced (HPDF_Dict image,
- png_infop info_ptr)
- {
- png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
-+ png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
- png_bytep* row_pointers = HPDF_GetMem (image->mmgr,
-- info_ptr->height * sizeof (png_bytep));
-+ height * sizeof (png_bytep));
-
- if (row_pointers) {
- HPDF_UINT i;
-
-- HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep));
-- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
-+ HPDF_MemSet (row_pointers, 0, height * sizeof (png_bytep));
-+ for (i = 0; i < (HPDF_UINT)height; i++) {
- row_pointers[i] = HPDF_GetMem (image->mmgr, len);
-
- if (image->error->error_no != HPDF_OK)
-@@ -126,7 +127,7 @@ ReadPngData_Interlaced (HPDF_Dict image,
- if (image->error->error_no == HPDF_OK) {
- png_read_image(png_ptr, row_pointers);
- if (image->error->error_no == HPDF_OK) { /* add this line */
-- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
-+ for (i = 0; i < (HPDF_UINT)height; i++) {
- if (HPDF_Stream_Write (image->stream, row_pointers[i], len) !=
- HPDF_OK)
- break;
-@@ -135,7 +136,7 @@ ReadPngData_Interlaced (HPDF_Dict image,
- }
-
- /* clean up */
-- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
-+ for (i = 0; i < (HPDF_UINT)height; i++) {
- HPDF_FreeMem (image->mmgr, row_pointers[i]);
- }
-
-@@ -151,12 +152,13 @@ ReadPngData (HPDF_Dict image,
- png_infop info_ptr)
- {
- png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
-+ png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
- png_bytep buf_ptr = HPDF_GetMem (image->mmgr, len);
-
- if (buf_ptr) {
- HPDF_UINT i;
-
-- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
-+ for (i = 0; i < (HPDF_UINT)height; i++) {
- png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1);
- if (image->error->error_no != HPDF_OK)
- break;
-@@ -182,14 +184,16 @@ ReadTransparentPaletteData (HPDF_Dict image,
- HPDF_STATUS ret = HPDF_OK;
- HPDF_UINT i, j;
- png_bytep *row_ptr;
-+ png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
-+ png_uint_32 width = png_get_image_width(png_ptr, info_ptr);
-
-- row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
-+ row_ptr = HPDF_GetMem (image->mmgr, height * sizeof(png_bytep));
- if (!row_ptr) {
- return HPDF_FAILD_TO_ALLOC_MEM;
- } else {
- png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
-
-- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
-+ for (i = 0; i < (HPDF_UINT)height; i++) {
- row_ptr[i] = HPDF_GetMem(image->mmgr, len);
- if (!row_ptr[i]) {
- for (; i >= 0; i--) {
-@@ -207,19 +211,19 @@ ReadTransparentPaletteData (HPDF_Dict image,
- goto Error;
- }
-
-- for (j = 0; j < info_ptr->height; j++) {
-- for (i = 0; i < info_ptr->width; i++) {
-- smask_data[info_ptr->width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
-+ for (j = 0; j < height; j++) {
-+ for (i = 0; i < width; i++) {
-+ smask_data[width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
- }
-
-- if (HPDF_Stream_Write (image->stream, row_ptr[j], info_ptr->width) != HPDF_OK) {
-+ if (HPDF_Stream_Write (image->stream, row_ptr[j], width) != HPDF_OK) {
- ret = HPDF_FILE_IO_ERROR;
- goto Error;
- }
- }
-
- Error:
-- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
-+ for (i = 0; i < (HPDF_UINT)height; i++) {
- HPDF_FreeMem (image->mmgr, row_ptr[i]);
- }
-
-@@ -238,6 +242,8 @@ ReadTransparentPngData (HPDF_Dict image,
- HPDF_UINT i, j;
- png_bytep *row_ptr, row;
- png_byte color_type;
-+ png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
-+ png_uint_32 width = png_get_image_width(png_ptr, info_ptr);
-
- color_type = png_get_color_type(png_ptr, info_ptr);
-
-@@ -245,13 +251,13 @@ ReadTransparentPngData (HPDF_Dict image,
- return HPDF_INVALID_PNG_IMAGE;
- }
-
-- row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep));
-+ row_ptr = HPDF_GetMem (image->mmgr, height * sizeof(png_bytep));
- if (!row_ptr) {
- return HPDF_FAILD_TO_ALLOC_MEM;
- } else {
- png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr);
-
-- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
-+ for (i = 0; i < (HPDF_UINT)height; i++) {
- row_ptr[i] = HPDF_GetMem(image->mmgr, len);
- if (!row_ptr[i]) {
- for (; i >= 0; i--) {
-@@ -271,12 +277,12 @@ ReadTransparentPngData (HPDF_Dict image,
-
- switch (color_type) {
- case PNG_COLOR_TYPE_RGB_ALPHA:
-- row_len = 3 * info_ptr->width * sizeof(png_byte);
-- for (j = 0; j < info_ptr->height; j++) {
-- for (i = 0; i < info_ptr->width; i++) {
-+ row_len = 3 * width * sizeof(png_byte);
-+ for (j = 0; j < height; j++) {
-+ for (i = 0; i < width; i++) {
- row = row_ptr[j];
- memmove(row + (3 * i), row + (4*i), 3);
-- smask_data[info_ptr->width * j + i] = row[4 * i + 3];
-+ smask_data[width * j + i] = row[4 * i + 3];
- }
-
- if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
-@@ -286,12 +292,12 @@ ReadTransparentPngData (HPDF_Dict image,
- }
- break;
- case PNG_COLOR_TYPE_GRAY_ALPHA:
-- row_len = info_ptr->width * sizeof(png_byte);
-- for (j = 0; j < info_ptr->height; j++) {
-- for (i = 0; i < info_ptr->width; i++) {
-+ row_len = width * sizeof(png_byte);
-+ for (j = 0; j < height; j++) {
-+ for (i = 0; i < width; i++) {
- row = row_ptr[j];
- row[i] = row[2 * i];
-- smask_data[info_ptr->width * j + i] = row[2 * i + 1];
-+ smask_data[width * j + i] = row[2 * i + 1];
- }
-
- if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) {
-@@ -306,7 +312,7 @@ ReadTransparentPngData (HPDF_Dict image,
- }
-
- Error:
-- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
-+ for (i = 0; i < (HPDF_UINT)height; i++) {
- HPDF_FreeMem (image->mmgr, row_ptr[i]);
- }
-
-@@ -415,7 +421,8 @@ LoadPngData (HPDF_Dict image,
-
- {
- HPDF_STATUS ret = HPDF_OK;
--
-+ png_uint_32 width, height;
-+ int bit_depth, color_type;
- png_structp png_ptr = NULL;
- png_infop info_ptr = NULL;
-
-@@ -447,8 +454,10 @@ LoadPngData (HPDF_Dict image,
- goto Exit;
- }
-
-+ png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, NULL, NULL, NULL);
-+
- /* 16bit images are not supported. */
-- if (info_ptr->bit_depth == 16) {
-+ if (bit_depth == 16) {
- png_set_strip_16(png_ptr);
- }
-
-@@ -458,7 +467,7 @@ LoadPngData (HPDF_Dict image,
- }
-
- /* check palette-based images for transparent areas and load them immediately if found */
-- if (xref && PNG_COLOR_TYPE_PALETTE & info_ptr->color_type) {
-+ if (xref && PNG_COLOR_TYPE_PALETTE & color_type) {
- png_bytep trans;
- int num_trans;
- HPDF_Dict smask;
-@@ -478,10 +487,10 @@ LoadPngData (HPDF_Dict image,
- smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
- ret = HPDF_Dict_AddName (smask, "Type", "XObject");
- ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
-- ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
-- ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
-+ ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)width);
-+ ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)height);
- ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
-- ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
-+ ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)bit_depth);
-
- if (ret != HPDF_OK) {
- HPDF_Dict_Free(smask);
-@@ -489,7 +498,7 @@ LoadPngData (HPDF_Dict image,
- goto Exit;
- }
-
-- smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
-+ smask_data = HPDF_GetMem(image->mmgr, width * height);
- if (!smask_data) {
- HPDF_Dict_Free(smask);
- ret = HPDF_FAILD_TO_ALLOC_MEM;
-@@ -503,7 +512,7 @@ LoadPngData (HPDF_Dict image,
- goto Exit;
- }
-
-- if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
-+ if (HPDF_Stream_Write(smask->stream, smask_data, width * height) != HPDF_OK) {
- HPDF_FreeMem(image->mmgr, smask_data);
- HPDF_Dict_Free(smask);
- ret = HPDF_FILE_IO_ERROR;
-@@ -513,9 +522,9 @@ LoadPngData (HPDF_Dict image,
-
-
- ret += CreatePallet(image, png_ptr, info_ptr);
-- ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
-- ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
-- ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
-+ ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width);
-+ ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height);
-+ ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)bit_depth);
- ret += HPDF_Dict_Add (image, "SMask", smask);
-
- png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
-@@ -526,7 +535,7 @@ no_transparent_color_in_palette:
-
- /* read images with alpha channel right away
- we have to do this because image transparent mask must be added to the Xref */
-- if (xref && PNG_COLOR_MASK_ALPHA & info_ptr->color_type) {
-+ if (xref && PNG_COLOR_MASK_ALPHA & color_type) {
- HPDF_Dict smask;
- png_bytep smask_data;
-
-@@ -539,10 +548,10 @@ no_transparent_color_in_palette:
- smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT;
- ret = HPDF_Dict_AddName (smask, "Type", "XObject");
- ret += HPDF_Dict_AddName (smask, "Subtype", "Image");
-- ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width);
-- ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height);
-+ ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)width);
-+ ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)height);
- ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray");
-- ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
-+ ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)bit_depth);
-
- if (ret != HPDF_OK) {
- HPDF_Dict_Free(smask);
-@@ -550,7 +559,7 @@ no_transparent_color_in_palette:
- goto Exit;
- }
-
-- smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height);
-+ smask_data = HPDF_GetMem(image->mmgr, width * height);
- if (!smask_data) {
- HPDF_Dict_Free(smask);
- ret = HPDF_FAILD_TO_ALLOC_MEM;
-@@ -564,7 +573,7 @@ no_transparent_color_in_palette:
- goto Exit;
- }
-
-- if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) {
-+ if (HPDF_Stream_Write(smask->stream, smask_data, width * height) != HPDF_OK) {
- HPDF_FreeMem(image->mmgr, smask_data);
- HPDF_Dict_Free(smask);
- ret = HPDF_FILE_IO_ERROR;
-@@ -572,14 +581,14 @@ no_transparent_color_in_palette:
- }
- HPDF_FreeMem(image->mmgr, smask_data);
-
-- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
-+ if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
- ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
- } else {
- ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
- }
-- ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width);
-- ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height);
-- ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth);
-+ ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width);
-+ ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height);
-+ ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)bit_depth);
- ret += HPDF_Dict_Add (image, "SMask", smask);
-
- png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
-@@ -589,9 +598,9 @@ no_transparent_color_in_palette:
- /* if the image has color palette, copy the pallet of the image to
- * create color map.
- */
-- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
-+ if (color_type == PNG_COLOR_TYPE_PALETTE)
- ret = CreatePallet(image, png_ptr, info_ptr);
-- else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY)
-+ else if (color_type == PNG_COLOR_TYPE_GRAY)
- ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray");
- else
- ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB");
-@@ -617,16 +626,16 @@ no_transparent_color_in_palette:
- }
-
- /* setting the info of the image. */
-- if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width)
-+ if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)width)
- != HPDF_OK)
- goto Exit;
-
-- if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height)
-+ if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)height)
- != HPDF_OK)
- goto Exit;
-
- if (HPDF_Dict_AddNumber (image, "BitsPerComponent",
-- (HPDF_UINT)info_ptr->bit_depth) != HPDF_OK)
-+ (HPDF_UINT)bit_depth) != HPDF_OK)
- goto Exit;
-
- /* clean up */
---
-1.7.8.3
-
-Wt requires the following patch for libHaru to render arcs correctly.
-This patch has been tested against libhar 2.1.0 and 2.2.0.
-(see http://redmine.webtoolkit.eu/projects/wt/wiki/LibHaru)
-
-diff -ur a/src/hpdf_page_operator.c b/src/hpdf_page_operator.c
---- a/src/hpdf_page_operator.c 2010-02-01 07:26:13.000000000 -0300
-+++ b/src/hpdf_page_operator.c 2012-03-10 18:12:41.347028623 -0300
-@@ -2192,7 +2192,7 @@
-
- HPDF_PTRACE ((" HPDF_Page_Arc\n"));
-
-- if (ang1 >= ang2 || (ang2 - ang1) >= 360)
-+ if (fabs(ang2 - ang1) >= 360)
- HPDF_RaiseError (page->error, HPDF_PAGE_OUT_OF_RANGE, 0);
-
- if (ret != HPDF_OK)
-@@ -2205,10 +2205,10 @@
-
-
- for (;;) {
-- if (ang2 - ang1 <= 90)
-+ if (fabs(ang2 - ang1) <= 90)
- return InternalArc (page, x, y, ray, ang1, ang2, cont_flg);
- else {
-- HPDF_REAL tmp_ang = ang1 + 90;
-+ HPDF_REAL tmp_ang = (ang2 > ang1 ? ang1 + 90 : ang1 - 90);
-
- if ((ret = InternalArc (page, x, y, ray, ang1, tmp_ang, cont_flg))
- != HPDF_OK)
-@@ -2217,7 +2217,7 @@
- ang1 = tmp_ang;
- }
-
-- if (ang1 >= ang2)
-+ if (fabs(ang1 - ang2) < 0.1)
- break;
-
- cont_flg = HPDF_TRUE;
-@@ -2280,7 +2280,11 @@
- pbuf = HPDF_FToA (pbuf, (HPDF_REAL)x0, eptr);
- *pbuf++ = ' ';
- pbuf = HPDF_FToA (pbuf, (HPDF_REAL)y0, eptr);
-- pbuf = (char *)HPDF_StrCpy (pbuf, " m\012", eptr);
-+
-+ if (attr->gmode == HPDF_GMODE_PATH_OBJECT)
-+ pbuf = (char *)HPDF_StrCpy (pbuf, " l\012", eptr);
-+ else
-+ pbuf = (char *)HPDF_StrCpy (pbuf, " m\012", eptr);
- }
-
- pbuf = HPDF_FToA (pbuf, (HPDF_REAL)x1, eptr);
diff --git a/src/libharu.mk b/src/libharu.mk
index a405240..63d55a4 100644
--- a/src/libharu.mk
+++ b/src/libharu.mk
@@ -3,29 +3,23 @@
PKG := libharu
$(PKG)_WEBSITE := http://libharu.org/
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 2.2.1
-$(PKG)_CHECKSUM := 45fd57044042c0e290ad0f11fc19eeb31b50c4b9edadf9d89dd5a7d9ae4865a7
-$(PKG)_SUBDIR := libharu-$($(PKG)_VERSION)
-$(PKG)_FILE := libharu-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL := http://libharu.org/files/$($(PKG)_FILE)
+$(PKG)_VERSION := 2.3.0
+$(PKG)_CHECKSUM := 8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2
+$(PKG)_GH_CONF := libharu/libharu,RELEASE_,,,_
$(PKG)_DEPS := gcc libpng zlib
-define $(PKG)_UPDATE
- $(WGET) -q -O- 'https://github.com/libharu/libharu/tags' | \
- $(SED) -n 's,.*/archive/RELEASE_\([0-9][^"]*\)\.tar.*,\1,p' | \
- $(SED) 's,_,.,g' | \
- grep -v 'RC' | \
- head -1
-endef
-
define $(PKG)_BUILD
- cd '$(1)' && ./configure \
- --host='$(TARGET)' \
- --prefix='$(PREFIX)/$(TARGET)' \
- --disable-shared \
- --with-zlib='$(PREFIX)/$(TARGET)' \
- --with-png='$(PREFIX)/$(TARGET)'
- $(MAKE) -C '$(1)' -j '$(JOBS)' install
-endef
+ cd '$(BUILD_DIR)' && '$(TARGET)-cmake' '$(SOURCE_DIR)' \
+ -DCMAKE_C_FLAGS=$(if $(BUILD_STATIC),,-DHPDF_DLL_MAKE) \
+ -DLIBHPDF_SHARED=$(CMAKE_SHARED_BOOL) \
+ -DLIBHPDF_STATIC=$(CMAKE_STATIC_BOOL) \
+ -DDEVPAK=ON
+ $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' VERBOSE=1
+ $(MAKE) -C '$(BUILD_DIR)' -j 1 install VERBOSE=1
-$(PKG)_BUILD_SHARED =
+ $(TARGET)-gcc -o $(PREFIX)/$(TARGET)/bin/test-$(PKG).exe \
+ $(if $(BUILD_STATIC),,-DHPDF_DLL) \
+ '$(1)/demo/slide_show_demo.c' \
+ $(if $(BUILD_STATIC),'-lhpdfs','-lhpdf') \
+ `$(TARGET)-pkg-config libpng zlib --libs`
+endef