You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
5.5 KiB
207 lines
5.5 KiB
Cross Compile
|
|
===============================================================================
|
|
|
|
needed:
|
|
wine
|
|
wine64
|
|
mingw-w64
|
|
mingw-w64-tools
|
|
|
|
|
|
=
|
|
= lib-glib
|
|
===============================================================================
|
|
|
|
cross-file.ini
|
|
|
|
[host_machine]
|
|
system = 'windows'
|
|
cpu_family = 'x86_64'
|
|
cpu = 'x86_64'
|
|
endian = 'little'
|
|
|
|
[properties]
|
|
c_args = []
|
|
c_link_args = []
|
|
|
|
[binaries]
|
|
c = '/usr/bin/x86_64-w64-mingw32-gcc'
|
|
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
|
|
ar = '/usr/bin/x86_64-w64-mingw32-ar'
|
|
strip = '/usr/bin/x86_64-w64-mingw32-strip'
|
|
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'
|
|
|
|
mkdir build
|
|
cd build
|
|
meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../cross-file.ini
|
|
mseon compile
|
|
meson install
|
|
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
|
|
|
|
|
|
=
|
|
= atk
|
|
===============================================================================
|
|
|
|
cross-file.ini
|
|
|
|
[host_machine]
|
|
system = 'windows'
|
|
cpu_family = 'x86_64'
|
|
cpu = 'x86_64'
|
|
endian = 'little'
|
|
|
|
[properties]
|
|
c_args = []
|
|
c_link_args = []
|
|
|
|
[binaries]
|
|
c = '/usr/bin/x86_64-w64-mingw32-gcc'
|
|
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
|
|
ar = '/usr/bin/x86_64-w64-mingw32-ar'
|
|
strip = '/usr/bin/x86_64-w64-mingw32-strip'
|
|
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'
|
|
|
|
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
|
|
mseon compile
|
|
meson install
|
|
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
|
|
|
|
=
|
|
= pango
|
|
===============================================================================
|
|
|
|
cross-file.ini
|
|
|
|
[host_machine]
|
|
system = 'windows'
|
|
cpu_family = 'x86_64'
|
|
cpu = 'x86_64'
|
|
endian = 'little'
|
|
|
|
[properties]
|
|
c_args = []
|
|
c_link_args = []
|
|
|
|
[binaries]
|
|
c = '/usr/bin/x86_64-w64-mingw32-gcc'
|
|
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
|
|
ar = '/usr/bin/x86_64-w64-mingw32-ar'
|
|
strip = '/usr/bin/x86_64-w64-mingw32-strip'
|
|
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'
|
|
|
|
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
|
|
mseon compile
|
|
meson install
|
|
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
|
|
|
|
|
|
=
|
|
= gdk-pixbuf
|
|
===============================================================================
|
|
|
|
cross-file.ini
|
|
|
|
[host_machine]
|
|
system = 'windows'
|
|
cpu_family = 'x86_64'
|
|
cpu = 'x86_64'
|
|
endian = 'little'
|
|
|
|
[properties]
|
|
c_args = []
|
|
c_link_args = []
|
|
|
|
[binaries]
|
|
c = '/usr/bin/x86_64-w64-mingw32-gcc'
|
|
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
|
|
ar = '/usr/bin/x86_64-w64-mingw32-ar'
|
|
strip = '/usr/bin/x86_64-w64-mingw32-strip'
|
|
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'
|
|
|
|
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
|
|
mseon compile
|
|
meson install
|
|
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
|
|
|
|
|
|
=
|
|
= libepoxy
|
|
===============================================================================
|
|
|
|
cross-file.ini
|
|
|
|
[host_machine]
|
|
system = 'windows'
|
|
cpu_family = 'x86_64'
|
|
cpu = 'x86_64'
|
|
endian = 'little'
|
|
|
|
[properties]
|
|
c_args = []
|
|
c_link_args = []
|
|
|
|
[binaries]
|
|
c = '/usr/bin/x86_64-w64-mingw32-gcc'
|
|
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
|
|
ar = '/usr/bin/x86_64-w64-mingw32-ar'
|
|
strip = '/usr/bin/x86_64-w64-mingw32-strip'
|
|
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'
|
|
|
|
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
|
|
mseon compile
|
|
meson install
|
|
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
|
|
|
|
|
|
|
|
=
|
|
= GTK
|
|
===============================================================================
|
|
cp /opt/W64-cross-compile/bin/*.exe ~/.wine/drive_c/windows/system32/
|
|
cp /opt/W64-cross-compile/lib/*.dll ~/.wine/drive_c/windows/system32/
|
|
|
|
vim gdk/win32/gdkprivate-win32.h ....
|
|
search around line 300.. and add the extern expression
|
|
300 /* The singleton selection object pointer */
|
|
301 extern GdkWin32Selection *_win32_selection;
|
|
|
|
PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig ./configure --prefix=/opt/W64-cross-compile/ --host=x86_64-w64-mingw32
|
|
PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig make
|
|
make install
|
|
|
|
will fail with
|
|
/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
|
|
edit the Makefile in demos/gtk-demos and add in line the wine prefix.
|
|
the same we do for
|
|
/bin/bash: Zeile 1: ../../gtk/gtk-update-icon-cache.exe: Kann die Binärdatei nicht ausführen: Fehler im Format der Programmdatei
|
|
make[5]: *** [Makefile:1184: install-update-icon-cache] Fehler 126
|
|
make[5]: Verzeichnis „/home/steffen/gtkcrosscompile/gtk+-3.24.0/demos/widget-factory“ wird verlassen
|
|
make install
|
|
cp `find -name "*.dll"` /opt/W64-cross-compile/lib/
|
|
|