Difference between revisions of "Cross Compiling FileZilla 3 for Windows under Ubuntu or Debian GNU/Linux"
From FileZilla Wiki
Jump to navigationJump to search (→Nettle) |
|||
Line 42: | Line 42: | ||
tar xvf nettle-2.7.1.tar.gz | tar xvf nettle-2.7.1.tar.gz | ||
cd nettle-2.7.1 | cd nettle-2.7.1 | ||
− | ./configure --host=i686-w64-mingw32 --prefix="$HOME/prefix-win32" --disable-shared | + | ./configure --host=i686-w64-mingw32 --prefix="$HOME/prefix-win32" --disable-shared --enable-fat |
make | make | ||
make install | make install |
Revision as of 15:28, 8 January 2016
This documentation explains how to setup a build environment for FileZilla 3 for Windows and how to compile it under Ubuntu or Debian using Mingw-w64. It will take less time and is more simple than Compiling FileZilla 3 under Windows.
OS version
Any recent Linux should do the trick. For the sake of simplicity, this guide focuses on Debian(-based) distributions.
Known-good Debian(-based) distributions:
- Debian 8 (Jessie) or later (recommended)
- Ubuntu 14.04 LTS or later
Setting up the build environment
As root, execute:
dpkg --add-architecture i386 # If using a 64bit distribution (64bit is recommended) apt-get update apt-get install bzip2 ca-certificates gcc gettext lzip m4 mingw-w64 pkg-config wx-common wine wine32
If you want to work with wxWidgets and FileZilla development sources, also execute this as root:
apt-get install autoconf libtool subversion
Back as normal user, execute:
export PATH="$HOME/prefix-win32/bin:$PATH" export CPPFLAGS="-I$HOME/prefix-win32/include" export LDFLAGS="-L$HOME/prefix-win32/lib" export PKG_CONFIG_PATH="$HOME/prefix-win32/lib/pkgconfig"
GMP
cd ~/src wget https://gmplib.org/download/gmp/gmp-6.1.0.tar.lz tar xvf gmp-6.1.0.tar.lz cd gmp-6.1.0 ./configure --host=i686-w64-mingw32 --prefix="$HOME/prefix-win32" --disable-shared --enable-fat make make install
Nettle
cd ~/src wget https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz tar xvf nettle-2.7.1.tar.gz cd nettle-2.7.1 ./configure --host=i686-w64-mingw32 --prefix="$HOME/prefix-win32" --disable-shared --enable-fat make make install
GnuTLS
cd ~/src wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/gnutls-3.2.17.tar.lz tar xvf gnutls-3.2.17.tar.lz cd gnutls-3.2.17 ./configure --host=i686-w64-mingw32 --prefix="$HOME/prefix-win32" --disable-shared make make install
Compile SQLite
cd ~/src wget http://sqlite.org/2016/sqlite-autoconf-3100000.tar.gz tar xvzf sqlite-autoconf-3100000.tar.gz cd sqlite-autoconf-3100000 ./configure --host=i686-w64-mingw32 --prefix="$HOME/prefix-win32" --disable-shared --disable-dynamic-extensions make make install
NSIS
cd ~/src wget https://unsis.googlecode.com/files/nsis-2.46.5-Unicode-setup.exe wine nsis-2.46.5-Unicode-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/Unicode/makensis.exe" ] && echo "Success!"
Compile wxWidgets
cd ~/src wget http://sourceforge.net/projects/wxwindows/files/3.0.1/wxWidgets-3.0.1.tar.bz2 tar xvjf wxWidgets-3.0.1.tar.bz2 cd wxWidgets-3.0.1 ./configure --host=i686-w64-mingw32 --prefix="$HOME/prefix-win32" --disable-shared make make install
Compile FileZilla
cd ~/src wget http://download.filezilla-project.org/client/FileZilla_3.9.0.5_src.tar.bz2 tar xvjf FileZilla_3.9.0.5_src.tar.bz2 cd filezilla-3.9.0.5 ./configure --host=i686-w64-mingw32 make cd data wine "$HOME/.wine/drive_c/Program Files/NSIS/Unicode/makensis.exe" install.nsi
Voila, there's now FileZilla_3_setup.exe in the current directory.