Latest revision |
Your text |
Line 2: |
Line 2: |
| | | |
| == OS version == | | == OS version == |
− |
| |
− | Any recent Linux should do the trick. For the sake of simplicity, this guide focuses on Debian(-based) distributions.
| |
− |
| |
− | We strongly recommend to use [http://debian.org Debian '''12''' (Bookworkm)] or later ('''recommended''')
| |
| | | |
| == Setting up the build environment == | | == Setting up the build environment == |
− |
| |
− | As root, execute:
| |
− | dpkg --add-architecture i386
| |
− | apt update
| |
− | apt install automake autoconf libtool make gettext lzip xz-utils
| |
− | apt install mingw-w64 pkg-config wx-common wine wine64 wine32 wine-binfmt subversion git
| |
− |
| |
− | Back as normal user, execute:
| |
− | mkdir ~/prefix
| |
− | mkdir ~/src
| |
− | export PATH="$HOME/prefix/bin:$PATH"
| |
− | export LDFLAGS="-L$HOME/prefix/lib:$LDFLAGS"
| |
− | export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
| |
− | export PKG_CONFIG_PATH="$HOME/prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
| |
− | export TARGET_HOST=x86_64-w64-mingw32
| |
− |
| |
− | wine reg add HKCU\\Environment /f /v PATH /d "`x86_64-w64-mingw32-g++ -print-search-dirs | grep ^libraries | sed 's/^libraries: =//' | sed 's/:/;z:/g' | sed 's/^\\//z:\\\\\\\\/' | sed 's/\\//\\\\/g'`"
| |
− |
| |
− | <!--
| |
− | <p style="font-size:150%;color:#ff0000">'''Beware:''' You need to patch your MinGW runtime!</p>
| |
− | Note: This does not affect mingw-w64 >= v4.0.6, mingw-w64 v4.0.6 is available in Ubuntu 16.10.
| |
− |
| |
− | The version of the MinGW runtime ships with Debian based distributions has broken string conversion functions. You need to fetch the source of the mingw-64 packet and apply the following two patches:
| |
− | https://sourceforge.net/p/mingw-w64/mingw-w64/ci/2474f3904a1fbce19d96383a9633e6c2eeb427ea/
| |
− | https://sourceforge.net/p/mingw-w64/mingw-w64/ci/bca09678e3bfd67b2d445127280ee5a1d9d0453a/
| |
− |
| |
− | Without these patches, FileZilla will not work properly and will fail in obscure ways.
| |
− | -->
| |
| | | |
| == GMP == | | == GMP == |
− |
| |
− | cd ~/src
| |
− | wget https://gmplib.org/download/gmp/gmp-6.3.0.tar.lz
| |
− | tar xf gmp-6.3.0.tar.lz
| |
− | cd gmp-6.3.0
| |
− | CC_FOR_BUILD=gcc ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --disable-static --enable-shared --enable-fat
| |
− | make
| |
− | make install
| |
| | | |
| == Nettle == | | == Nettle == |
− |
| |
− | cd ~/src
| |
− | wget https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz
| |
− | tar xf nettle-3.9.1.tar.gz
| |
− | cd nettle-3.9.1
| |
− | ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static --enable-fat
| |
− | make
| |
− | make install
| |
| | | |
| == GnuTLS == | | == GnuTLS == |
− |
| |
− | cd ~/src
| |
− | wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.1.tar.xz
| |
− | tar xvf gnutls-3.8.1.tar.xz
| |
− | cd gnutls-3.8.1
| |
− | ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static --without-p11-kit --with-included-libtasn1 --with-included-unistring --disable-srp-authentication --disable-dtls-srtp-support --disable-heartbeat-support --disable-psk-authentication --disable-anon-authentication --disable-openssl-compatibility --without-tpm --without-brotli --disable-cxx --disable-doc --enable-threads=windows --disable-tools
| |
− | make
| |
− | make install
| |
| | | |
| == Compile SQLite == | | == Compile SQLite == |