Difference between revisions of "Cross Compiling FileZilla 3 for Windows under Ubuntu or Debian GNU/Linux"

From FileZilla Wiki
Jump to navigationJump to search
Line 14: Line 14:
  
 
== NSIS ==
 
== 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 ==
 
== Compile wxWidgets ==

Revision as of 02:29, 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

Compile SQLite

NSIS

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.