Cross Compiling FileZilla 3 for Windows under Ubuntu or Debian GNU/Linux
From FileZilla Wiki
Revision as of 15:25, 18 September 2009 by Bugiii (talk | contribs) (moved Compiling FileZilla 3 for Windows under Debian to Cross Compiling FileZilla 3 for Windows under Debian GNU/Linux: .)
This documentation explains how to setup a build environment for FileZilla 3 for Windows and how to compile it under Debian using MinGW. It will take less time and simple than Compiling FileZilla 3 under Windows.
Debian version
- Debian 5.0.3
- coLinux with Debian-5.0r2-lenny
Setting up the build environment
Required packages
apt-get install -y mingw32 make g\+\+ libtool bzip2 automake gettext wx-common
Do works as root
su -
Make working directory
mkdir fz3 cd fz3
Make libraries
iconv
wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.13.tar.gz tar zxvf libiconv-1.13.tar.gz cd libiconv-1.13 ./configure --prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --disable-shared --enable-static make install clean cd ..
idn
wget ftp://alpha.gnu.org/gnu/libidn/libidn-0.6.9.tar.gz tar zxvf libidn-0.6.9.tar.gz cd libidn-0.6.9 ./configure --prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --disable-shared --enable-static make install clean cd ..
gpg-error
wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.7.tar.bz2 tar jxvf libgpg-error-1.7.tar.bz2 cd libgpg-error-1.7 ./configure --prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --disable-shared --enable-static --disable-nls make install clean cd ..
gcrypt
wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.4.tar.bz2 tar jxvf libgcrypt-1.4.4.tar.bz2 cd libgcrypt-1.4.4 ./configure --prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --disable-shared --enable-static --disable-nls --disable-asm --with-gpg-error-prefix=/usr/i586-mingw32msvc make install clean cd ..
gnutls
wget ftp://ftp.gnutls.org/pub/gnutls/gnutls-2.8.3.tar.bz2 tar jxvf gnutls-2.8.3.tar.bz2 cd gnutls-2.8.3 ./configure --prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --disable-shared --enable-static --disable-nls --disable-cxx --with-libgcrypt-prefix=/usr/i586-mingw32msvc make install clean cd ..
wxWidget
wget http://downloads.sourceforge.net/wxwindows/wxWidgets-2.8.10.tar.bz2 tar jxvf wxWidgets-2.8.10.tar.bz2 cd wxWidgets-2.8.10 mkdir compile cd compile ../configure --prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --disable-shared --enable-static --enable-unicode make install clean cd ../..
Compiling FileZilla 3
wget http://downloads.sourceforge.net/filezilla/FileZilla_3.2.7.1_src.tar.bz2 tar jxvf FileZilla_3.2.7.1_src.tar.bz2 cd filezilla-3.2.7.1 ./autogen.sh
mkdir compile cd compile
cat << EOF > /usr/i586-mingw32msvc/bin/libgnutls-config #!/bin/sh echo "-L/usr/i586-mingw32msvc/lib -lgnutls -lgcrypt -lgpg-error" EOF chmod +x /usr/i586-mingw32msvc/bin/libgnutls-config
../configure --prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --disable-shared --enable-static --with-wx-prefix=/usr/i586-mingw32msvc --with-libgnutls-prefix=/usr/i586-mingw32msvc make strip src/interface/filezilla.exe strip src/putty/fzsftp.exe