|
|
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://ubuntu.com Ubuntu] or [http://debian.org Debian] using [http://www.mingw.org/ MinGW]. It will take less time and simple than [[Compiling FileZilla 3 under Windows]].
| + | ini lokasi finyela ada di hostmonster ato di gedung UM sendiri?kalo di hostmonster berarti kan US dan downloadnya lumayan lama ya?kalo di gedung UM sendiri kan bisa dapat koneksi lebih cepat pake IIX. (thinking) |
− | | |
− | == OS version ==
| |
− | * [http://ubuntu.com Ubuntu] 10.04 ('''recommended''')
| |
− | * [http://debian.org Debian] 5.0.3
| |
− | * [http://colinux.org coLinux] with [http://sourceforge.net/projects/colinux/files/Images%202.6.x%20Debian/Debian%205.0%20Lenny/Debian-5.0r2-lenny.7z/download Debian-5.0r2-lenny]
| |
− | | |
− | == Setting up the build environment ==
| |
− | | |
− | === Ubuntu ===
| |
− | | |
− | Required packages
| |
− | sudo apt-get install -y mingw32 make g++ libtool bzip2 automake gettext wx-common
| |
− | | |
− | === Debian ===
| |
− | | |
− | Do works as root
| |
− | su -
| |
− | | |
− | Required packages
| |
− | apt-get install -y mingw32 make g++ libtool bzip2 automake gettext wx-common
| |
− | | |
− | == Patch mingw32-runtime (only Debian) ==
| |
− | | |
− | 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 [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=452977 broken] - Thanks [[CodeSquid]], patch mingw32-runtime package.
| |
− | | |
− | === Get source package ===
| |
− | cd /tmp
| |
− | apt-get install dpkg-dev debhelper
| |
− | apt-get source mingw32-runtime
| |
− | cd mingw32-runtime-3.13/
| |
− | debian/rules unpack-stamp
| |
− | | |
− | === Patch snprintf bug ===
| |
− | 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
| |
− | | |
− | === Build & Install ===
| |
− | debian/rules build
| |
− | debian/rules install
| |
− | | |
− | === Copy new library ===
| |
− | 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/
| |
− | | |
− | == Make libraries ==
| |
− | Do works as normal user in Debian.
| |
− | exit
| |
− | | |
− | === Make working & install directory ===
| |
− | Check available space of storage.
| |
− | mkdir ~/mingw32
| |
− | mkdir /tmp/fz3
| |
− | cd /tmp/fz3
| |
− | | |
− | === Setting up environment variables ===
| |
− | export CFGPRE=~/mingw32
| |
− | export CFGOPT="--prefix=$CFGPRE --host=i586-mingw32msvc --disable-shared --enable-static"
| |
− | | |
− | === iconv ===
| |
− | wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
| |
− | tar zxvf libiconv-1.14.tar.gz
| |
− | cd libiconv-1.14
| |
− | ./configure $CFGOPT
| |
− | make install clean
| |
− | cd ..
| |
− | | |
− | === libidn ===
| |
− | wget ftp://alpha.gnu.org/gnu/libidn/libidn2-0.8.tar.gz
| |
− | tar zxvf libidn2-0.8.tar.gz
| |
− | cd libidn2-0.8
| |
− | ./configure $CFGOPT
| |
− | make install clean
| |
− | cd ..
| |
− | | |
− | === libgpg-error ===
| |
− | wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.10.tar.bz2
| |
− | tar jxvf libgpg-error-1.10.tar.bz2
| |
− | cd libgpg-error-1.10
| |
− | ./configure $CFGOPT --disable-nls
| |
− | make install clean
| |
− | cd ..
| |
− | | |
− | === libgcrypt ===
| |
− | wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2
| |
− | tar jxvf libgcrypt-1.5.0.tar.bz2
| |
− | cd libgcrypt-1.5.0
| |
− | ./configure $CFGOPT --disable-nls --disable-asm --with-gpg-error-prefix=$CFGPRE
| |
− | make install clean
| |
− | cd ..
| |
− | | |
− | === GnuTLS ===
| |
− | wget ftp://ftp.gnu.org/pub/gnu/gnutls/gnutls-3.0.19.tar.xz
| |
− | tar Jxvf gnutls-3.0.19.tar.xz
| |
− | cd gnutls-3.0.19
| |
− | ./configure $CFGOPT --disable-nls --disable-cxx --disable-guile --with-libgcrypt-prefix=$CFGPRE
| |
− | make install clean
| |
− | cd ..
| |
− | | |
− | === wxWidgets ===
| |
− | wget http://downloads.sourceforge.net/wxwindows/wxWidgets-2.8.12.tar.bz2
| |
− | tar jxvf wxWidgets-2.8.12.tar.bz2
| |
− | cd wxWidgets-2.8.12
| |
− | mkdir compile
| |
− | cd compile
| |
− | ../configure $CFGOPT --enable-unicode
| |
− | make install clean
| |
− | cd ../..
| |
− | | |
− | == Compiling FileZilla 3 ==
| |
− | wget http://downloads.sourceforge.net/filezilla/FileZilla_3.5.3_src.tar.bz2
| |
− | tar jxvf FileZilla_3.5.3_src.tar.bz2
| |
− |
| |
− | cd filezilla-3.5.3
| |
− | ./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
| |