交叉编译FileZilla

不太好看:)还是去原地址看吧:

http://wiki.filezilla-project.org/Cross_Compiling_FileZilla_3_for_Windows_under_Debian_GNU/Linux

maybe you should build sqlite:

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

Cross Compiling FileZilla 3 for Windows under Ubuntu or Debian GNU/Linux

(Redirected from 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 Ubuntu or Debian using MinGW. It will take less time and simple than Compiling FileZilla 3 under Windows.

Contents

[hide]
  • 1 OS version
  • 2 Setting up the build environment
    • 2.1 Ubuntu
    • 2.2 Debian
  • 3 Patch mingw32-runtime (only Debian)
    • 3.1 Get source package
    • 3.2 Patch snprintf bug
    • 3.3 Build & Install
    • 3.4 Copy new library
  • 4 Make libraries
    • 4.1 Make working & install directory
    • 4.2 Setting up environment variables
    • 4.3 iconv
    • 4.4 libidn
    • 4.5 libgpg-error
    • 4.6 libgcrypt
    • 4.7 GnuTLS
    • 4.8 wxWidgets
  • 5 Compiling FileZilla 3

[edit] OS version

  • Ubuntu 10.4 (recommended)
  • Debian 5.0.3
  • coLinux with Debian-5.0r2-lenny

[edit] Setting up the build environment

[edit] Ubuntu

Required packages

sudo apt-get install -y mingw32 make g++ libtool bzip2 automake gettext wx-common

[edit] Debian

Do works as root

su -

Required packages

apt-get install -y mingw32 make g++ libtool bzip2 automake gettext wx-common

[edit] 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 broken - Thanks CodeSquid, patch mingw32-runtime package.

[edit] 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

[edit] 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

[edit] Build & Install

debian/rules build
debian/rules install

[edit] 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/

[edit] Make libraries

Do works as normal user in Debian.

exit

[edit] Make working & install directory

Check available space of storage.

mkdir ~/mingw32
mkdir /tmp/fz3
cd /tmp/fz3

[edit] Setting up environment variables

export CFGPRE=~/mingw32
export CFGOPT="--prefix=$CFGPRE --host=i586-mingw32msvc --disable-shared --enable-static"

[edit] iconv

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

[edit] libidn

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

[edit] libgpg-error

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

[edit] libgcrypt

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

[edit] GnuTLS

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

[edit] wxWidgets

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

[edit] Compiling FileZilla 3

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

你可能感兴趣的:(职场,FileZilla,休闲,交叉编译)