Difference between revisions of "Cross Compiling FileZilla 3 for Windows under Ubuntu or Debian GNU/Linux"
From FileZilla Wiki
Jump to navigationJump to search (→GMP) |
(→Nettle) |
||
Line 8: | Line 8: | ||
== Nettle == | == Nettle == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== GnuTLS == | == GnuTLS == |
Revision as of 02:28, 12 October 2023
This documentation explains how to setup a build environment for FileZilla 3 for Windows and how to compile it under Debian using Mingw-w64. It will take less time and is more simple than Compiling FileZilla 3 under Windows.
OS version
Setting up the build environment
GMP
Nettle
GnuTLS
cd ~/src wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.1.tar.xz tar xvf gnutls-3.8.1.tar.xz cd gnutls-3.8.1 ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static --without-p11-kit --with-included-libtasn1 --with-included-unistring --disable-srp-authentication --disable-dtls-srtp-support --disable-heartbeat-support --disable-psk-authentication --disable-anon-authentication --disable-openssl-compatibility --without-tpm --without-brotli --disable-cxx --disable-doc --enable-threads=windows --disable-tools make make install
Compile SQLite
cd ~/src wget https://sqlite.org/2018/sqlite-autoconf-32600-00.tar.gz tar xvzf sqlite-autoconf-3260000.tar.gz cd sqlite-autoconf-3260000 ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static --disable-dynamic-extensions make make install
NSIS
cd ~/src wget https://prdownloads.sourceforge.net/nsis/nsis-3.09-setup.exe wine nsis-3.09-setup.exe /S
The above may print a lot of errors and warnings. Ignore them, check for success this way:
[ -f "$HOME/.wine/drive_c/Program Files/NSIS/makensis.exe" ] && echo "Success!"
Compile wxWidgets
cd ~/src git clone --branch WX_3_0_BRANCH --single-branch https://github.com/wxWidgets/wxWidgets.git wx3 cd wx3 ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static make make install cp $HOME/prefix/lib/wx*.dll $HOME/prefix/bin
Compile libfilezilla
cd ~/src svn co https://svn.filezilla-project.org/svn/libfilezilla/tags/0.33.0 lfz cd lfz autoreconf -i ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static make make install
Compile FileZilla
cd ~/src svn co https://svn.filezilla-project.org/svn/FileZilla3/tags/3.56.0/ fz cd fz autoreconf -i ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static --with-pugixml=builtin make # strip debug symbols $TARGET_HOST-strip src/interface/.libs/filezilla.exe $TARGET_HOST-strip src/putty/.libs/fzsftp.exe $TARGET_HOST-strip src/putty/.libs/fzputtygen.exe $TARGET_HOST-strip src/fzshellext/64/.libs/libfzshellext-0.dll $TARGET_HOST-strip src/fzshellext/32/.libs/libfzshellext-0.dll $TARGET_HOST-strip data/dlls/*.dll cd data wine "$HOME/.wine/drive_c/Program Files/NSIS/makensis.exe" install.nsi
Voila, there's now FileZilla_3_setup.exe in the current directory.