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

From FileZilla Wiki
Jump to navigationJump to search
(Created page with ' apt-get install -y mingw32 make g\+\+ libtool bzip2 automake gettext wx-common mkdir fz3 cd fz3 wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.13.tar.gz tar zxvf libiconv-…')
 
Line 1: Line 1:
 +
This documentation explains how to setup a build environment for [[FileZilla 3]] '''for Windows''' and how to compile it under [http://debian.org Debian] using [http://www.mingw.org/ MinGW]. It will take less time and simple than [[Compiling FileZilla 3 under Windows]].
 +
 +
== Setting up the build environment ==
 +
Required packages
 
  apt-get install -y mingw32 make g\+\+ libtool bzip2 automake gettext wx-common
 
  apt-get install -y mingw32 make g\+\+ libtool bzip2 automake gettext wx-common
  
 +
Do works as root
 +
su -
 +
 +
Make working directory
 
  mkdir fz3
 
  mkdir fz3
 
  cd fz3
 
  cd fz3
  
 +
== Make libraries ==
 +
 +
=== iconv ===
 
  wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.13.tar.gz
 
  wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.13.tar.gz
 
  tar zxvf libiconv-1.13.tar.gz
 
  tar zxvf libiconv-1.13.tar.gz
Line 11: Line 22:
 
  cd ..
 
  cd ..
  
 +
=== idn ===
 
  wget ftp://alpha.gnu.org/gnu/libidn/libidn-0.6.9.tar.gz
 
  wget ftp://alpha.gnu.org/gnu/libidn/libidn-0.6.9.tar.gz
 
  tar zxvf libidn-0.6.9.tar.gz
 
  tar zxvf libidn-0.6.9.tar.gz
Line 18: Line 30:
 
  cd ..
 
  cd ..
  
 +
=== gpg ===
 
  wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.7.tar.bz2
 
  wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.7.tar.bz2
 
  tar jxvf libgpg-error-1.7.tar.bz2
 
  tar jxvf libgpg-error-1.7.tar.bz2
Line 25: Line 38:
 
  cd ..
 
  cd ..
  
 +
=== gcrypt ===
 
  wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.4.tar.bz2
 
  wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.4.tar.bz2
 
  tar jxvf libgcrypt-1.4.4.tar.bz2
 
  tar jxvf libgcrypt-1.4.4.tar.bz2
Line 32: Line 46:
 
  cd ..
 
  cd ..
  
 +
=== gnutls ===
 
  wget ftp://ftp.gnutls.org/pub/gnutls/gnutls-2.8.3.tar.bz2
 
  wget ftp://ftp.gnutls.org/pub/gnutls/gnutls-2.8.3.tar.bz2
 
  tar jxvf gnutls-2.8.3.tar.bz2
 
  tar jxvf gnutls-2.8.3.tar.bz2
Line 39: Line 54:
 
  cd ..
 
  cd ..
  
  wget http://nchc.dl.sourceforge.net/sourceforge/wxwindows/wxWidgets-2.8.10.tar.bz2
+
=== wxWidget ===
 +
  wget http://downloads.sourceforge.net/wxwindows/wxWidgets-2.8.10.tar.bz2
 
  tar jxvf wxWidgets-2.8.10.tar.bz2
 
  tar jxvf wxWidgets-2.8.10.tar.bz2
 
  cd wxWidgets-2.8.10
 
  cd wxWidgets-2.8.10
Line 48: Line 64:
 
  cd ../..
 
  cd ../..
  
 +
== Compile FileZilla 3 ==
 
  wget http://downloads.sourceforge.net/filezilla/FileZilla_3.2.7.1_src.tar.bz2
 
  wget http://downloads.sourceforge.net/filezilla/FileZilla_3.2.7.1_src.tar.bz2
 
  tar jxvf FileZilla_3.2.7.1_src.tar.bz2
 
  tar jxvf FileZilla_3.2.7.1_src.tar.bz2

Revision as of 14:57, 18 September 2009

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.

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

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 ../..

Compile 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