pango/vairo and atk is back compiling again...

meson/ninja toolchain are not userfriendly at all. I miss the makefile and configure scripts. they where easy to understand, simple to use and they did work. Why do i have to edit alot of files just to add or remove one parameter for the compiler/linker?
master
Steffen Pohle 4 years ago
parent 473b3e0d26
commit 7ce986644e

@ -17,7 +17,7 @@ The following sources are needed:
- [libepoxy](https://github.com/anholt/libepoxy) - [libepoxy](https://github.com/anholt/libepoxy)
- [GTK+](https://www.gtk.org/) - [GTK+](https://www.gtk.org/)
# Prepare the `cross-file.ini` ## Prepare the `cross-file.ini`
This configuration file will be needed on all meson based builds. This configuration file will be needed on all meson based builds.
@ -42,7 +42,7 @@ This configuration file will be needed on all meson based builds.
exe_wrapper = 'wine64' exe_wrapper = 'wine64'
# lib-glib ## lib-glib
Compile the library using the following steps. Compile the library using the following steps.
@ -59,70 +59,71 @@ Because not all compiled `*.dll` files are installed into the destination we nee
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
# atk ## atk
Edit the `meson_options.txt` file and disable the building of the introspection files.
Compile the library using the following steps. Compile the library using the following steps.
mkdir build mkdir build
cd 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 --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini
mseon compile meson compile
meson install meson install
Copy manualy all compiled `*.dll` files to the destination Copy manualy all compiled `*.dll` files to the destination
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
# pango ## pango
Compile the library using the following steps. Compile the library using the following steps. This will also download and compile some more librarys like `libpng` and `cairo` librarys.
mkdir build mkdir build
cd 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 --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini
mseon compile 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.
meson install meson install
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
# gdk-pixbuf ## gdk-pixbuf
mkdir build mkdir build
cd 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 --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini
mseon compile meson compile
meson install meson install
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
# libepoxy ## libepoxy
Compile the library using the following steps.
mkdir build mkdir build
cd 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 --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../../cross-file.ini
mseon compile meson compile
meson install meson install
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
# GTK ## GTK
## preparation beacuse of `wine` ### preparation beacuse of `wine`
Copy all compiled executeble and library files into the wine windows/system folder. Copy all compiled executeble and library files into the wine windows/system folder.
cp /opt/W64-cross-compile/bin/*.exe ~/.wine/drive_c/windows/system32/ cp /opt/W64-cross-compile/bin/*.exe ~/.wine/drive_c/windows/system32/
cp /opt/W64-cross-compile/lib/*.dll ~/.wine/drive_c/windows/system32/ cp /opt/W64-cross-compile/lib/*.dll ~/.wine/drive_c/windows/system32/
## workaround for some issues ### workaround for some issues
edit the file `gdk/win32/gdkprivate-win32.h` and search around line 300 for the following declaration. The compiler is missing the **extern** statement here. edit the file `gdk/win32/gdkprivate-win32.h` and search around line 300 for the following declaration. The compiler is missing the **extern** statement here.
300 /* The singleton selection object pointer */ 300 /* The singleton selection object pointer */
301 extern GdkWin32Selection *_win32_selection; 301 extern GdkWin32Selection *_win32_selection;
## compile first attempt ### compile first attempt
Configure and compile the library. Configure and compile the library.
@ -130,7 +131,7 @@ Configure and compile the library.
PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig make PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig make
make install make install
## fix and install the compilation ### fix and install the compilation
/bin/bash: Zeile 1: ../../gtk/gtk-update-icon-cache.exe: Kann die Binärdatei nicht ausführen: Fehler im Format der Programmdatei /bin/bash: Zeile 1: ../../gtk/gtk-update-icon-cache.exe: Kann die Binärdatei nicht ausführen: Fehler im Format der Programmdatei
make[3]: *** [Makefile:1673: install-update-icon-cache] Fehler 126 make[3]: *** [Makefile:1673: install-update-icon-cache] Fehler 126

Loading…
Cancel
Save