http://wiki.filezilla-project.org/Cross_Compiling_FileZilla_3_for_Windows_under_Debian_GNU/Linux
download sqlite-autoconf-3070603.tar.gz, and then tar zxvf sqlite-autoconf-3070603.tar.gz cd sqlite-autoconf-3070603 ./configure $CFGOPT make install clean cd ..
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. It will take less time and simple than Compiling FileZilla 3 under Windows.
Contents[hide]
|
Required packages
sudo apt-get install -y mingw32 make g++ libtool bzip2 automake gettext wx-common
Do works as root
su -
Required packages
apt-get install -y mingw32 make g++ libtool bzip2 automake gettext wx-common
If you are using Ubuntu, go to the next #Make libraries section. In Ubuntu, the patch is applied.
Because the version of mingw32-runtime in Debian 5 is broken - Thanks CodeSquid, patch mingw32-runtime package.
cd /tmp apt-get install dpkg-dev debhelper apt-get source mingw32-runtime cd mingw32-runtime-3.13/ debian/rules unpack-stamp
pushd build_dir/src/mingw-runtime-3.13-20070825-1/mingwex/gdtoa/ diff -u mingw_snprintf.c.org mingw_snprintf.c --- mingw_snprintf.c.org 2009-09-21 02:41:31.000000000 +0000 +++ mingw_snprintf.c 2009-09-21 02:41:54.000000000 +0000 @@ -465,7 +465,7 @@ len = LEN_LL; } else - len = LEN_LL; + len = LEN_L; goto fmtloop; case 'L': flag_ld++; @@ -617,6 +617,7 @@ break; case LEN_S: *(short*)ip = c; + break; case LEN_LL: *(long long*) ip = c; break; popd
debian/rules build debian/rules install
mv $/usr/i586-mingw32msvc/lib/libmingwex.a $/usr/i586-mingw32msvc/lib/libmingwex.a.old cp debian/mingw32-runtime/usr/i586-mingw32msvc/lib/libmingwex.a $/usr/i586-mingw32msvc/lib/
Do works as normal user in Debian.
exit
Check available space of storage.
mkdir ~/mingw32 mkdir /tmp/fz3 cd /tmp/fz3
export CFGPRE=~/mingw32 export CFGOPT="--prefix=$CFGPRE --host=i586-mingw32msvc --disable-shared --enable-static"
wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz tar zxvf libiconv-1.13.1.tar.gz cd libiconv-1.13.1 ./configure $CFGOPT make install clean cd ..
wget ftp://alpha.gnu.org/gnu/libidn/libidn-1.17.tar.gz tar zxvf libidn-1.17.tar.gz cd libidn-1.17 ./configure $CFGOPT make install clean cd ..
wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.9.tar.bz2 tar jxvf libgpg-error-1.9.tar.bz2 cd libgpg-error-1.9 ./configure $CFGOPT --disable-nls make install clean cd ..
wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.6.tar.bz2 tar jxvf libgcrypt-1.4.6.tar.bz2 cd libgcrypt-1.4.6 ./configure $CFGOPT --disable-nls --disable-asm --with-gpg-error-prefix=$CFGPRE make install clean cd ..
wget ftp://ftp.gnutls.org/pub/gnutls/gnutls-2.8.6.tar.bz2 tar jxvf gnutls-2.8.6.tar.bz2 cd gnutls-2.8.6 ./configure $CFGOPT --disable-nls --disable-cxx --disable-guile --with-libgcrypt-prefix=$CFGPRE make install clean cd ..
wget http://downloads.sourceforge.net/wxwindows/wxWidgets-2.8.11.tar.bz2 tar jxvf wxWidgets-2.8.11.tar.bz2 cd wxWidgets-2.8.11 mkdir compile cd compile ../configure $CFGOPT --enable-unicode make install clean cd ../..
wget http://downloads.sourceforge.net/filezilla/FileZilla_3.3.4.1_src.tar.bz2 tar jxvf FileZilla_3.3.4.1_src.tar.bz2 cd filezilla-3.3.4.1 ./autogen.sh
mkdir compile cd compile
autogen.sh of FileZilla 3 use old libgnutls-config. GnuTLS does not use libgnutls-config anymore.
Dowload http://filezilla-project.org/codesquid/libgnutls-config to $CFGPRE/bin. Edit prefix value.
wget -O $CFGPRE/bin/libgnutls-config http://filezilla-project.org/codesquid/libgnutls-config echo $CFGPRE /home/fz/mingw32 # remember the path vi $CFGPRE/bin/libgnutls-config prefix=/home/fz/mingw32 # edit this line. chmod +x $CFGPRE/bin/libgnutls-config
Configure and builld.
CFLAGS="-I$CFGPRE/include" CXXFLAGS="-I$CFGPRE/include" LDFLAGS="-L$CFGPRE/lib" ../configure $CFGOPT --with-wx-prefix=$CFGPRE --with-libgnutls-prefix=$CFGPRE make strip src/interface/filezilla.exe