From d1d48749df5cbe60bac0a48fc88922f5a7e76d08 Mon Sep 17 00:00:00 2001 From: Steffen Pohle Date: Wed, 25 Jun 2025 00:21:09 +0200 Subject: [PATCH] cross build manual fixed. --- Changelog | 4 ++++ HowTo-Cross-Compile.md | 24 ++++++++++++++++-------- Makefile | 2 +- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/Changelog b/Changelog index 30b454b..cd680b7 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,7 @@ + + +Version 1.0.4 + 2024-11-08: - fixed single coil / word write. Response was not correct. diff --git a/HowTo-Cross-Compile.md b/HowTo-Cross-Compile.md index f93eb17..81b5932 100644 --- a/HowTo-Cross-Compile.md +++ b/HowTo-Cross-Compile.md @@ -27,7 +27,7 @@ This configuration file will be needed on all meson based builds. cpu = 'x86_64' endian = 'little' - [properties] + [built-in options] c_args = [] c_link_args = [] @@ -39,7 +39,7 @@ This configuration file will be needed on all meson based builds. pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' windres = '/usr/bin/x86_64-w64-mingw32-windres' ld = '/usr/bin/x86_64-w64-mingw32-ld' - exe_wrapper = 'wine64' + exe_wrapper = 'wine' ## lib-glib @@ -48,8 +48,8 @@ Compile the library using the following steps. mkdir build cd build - meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini - mseon compile + meson setup --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini + meson compile if an error like `glib/glibconfig.h:65:51: error: missing binary operator before token "("` occures edit the line and delete the **G_GNUC_EXTENSION** expression. @@ -65,7 +65,7 @@ The flags -Dintrospection=false will tell meson to disable some building options mkdir build cd build - PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson --buildtype=release -Dintrospection=false -Ddocs=false --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini + PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson setup --buildtype=release -Dintrospection=false -Ddocs=false --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini meson compile meson install @@ -73,14 +73,22 @@ Copy manualy all compiled `*.dll` files to the destination cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ + ## pango Compile the library using the following steps. This will also download and compile some more librarys like `libpng` and `cairo` librarys. mkdir build cd build - PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini - meson compile + PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson setup --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini + +For some reason the **harfbuzz** library wants to compile with the **HAVE_FT_GET_TRANSFORM** definition set. While this function is not defined in the sources at all. The workaround is to comment out the following line in `build/subprojects/harfbuzz/config.h` file. + + // #define HAVE_FT_GET_TRANSFORM 1 + +Add `#include in file `../pango/pangocairo-dwrite-font.cpp` and start the compilation. + + PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson compile In case of an error with unresolved symbols like undefined reference to '__strcat_chk'. You need to edit the `cross-file.ini` and add the linker flags/option `-lssp` to the `c_link_args` parameters. Remove the build directory and restart configuring and compiling this libraray again. @@ -91,7 +99,7 @@ In case of an error with unresolved symbols like undefined reference to '__strca mkdir build cd build - PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini + PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson setup --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini meson compile meson install cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ diff --git a/Makefile b/Makefile index ea9f43f..89c9846 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ .SILENT: help -VERSION = 1.0.4 +VERSION = 1.0.5 -include Makefile.rules