Latest revision |
Your text |
Line 1: |
Line 1: |
− | This documentation explains how to setup a build environment for [[FileZilla 3]] and how to compile it under macOS using [https://developer.apple.com/xcode/ Xcode]. These directions have been tested under macOS 12 (Monterey) on an Intel Mac. Resulting binaries are for macOS 10.13 or later.
| + | Shoot, so that's that one spuposes. |
− | __TOC__
| |
− | | |
− | ==Xcode==
| |
− | You need to download and install the latest version of Xcode from https://developer.apple.com/xcode/download/
| |
− | | |
− | ==Build environment==
| |
− | Open a Terminal and type the following:
| |
− | mkdir -p "$HOME/prefix"
| |
− | mkdir -p "$HOME/src"
| |
− | export CC="clang -mmacosx-version-min=10.13"
| |
− | export CXX="clang++ -std=c++17 -stdlib=libc++ -mmacosx-version-min=10.13"
| |
− | export OBJC="clang -mmacosx-version-min=10.13"
| |
− | export OBJCXX="clang++ -std=c++17 -stdlib=libc++ -mmacosx-version-min=10.13"
| |
− | export AS="as -mmacosx-version-min=10.13"
| |
− | export LD="ld -macosx_version_min 10.13"
| |
− | export PATH="$HOME/prefix/bin:$PATH"
| |
− | export CPPFLAGS="-I$HOME/prefix/include"
| |
− | export LDFLAGS="-L$HOME/prefix/lib"
| |
− | export LD_LIBRARY_PATH="$HOME/prefix/lib"
| |
− | export PKG_CONFIG_PATH="$HOME/prefix/lib/pkgconfig"
| |
− | | |
− | If you ever close the terminal and reopen it, repeat the above steps before you continue.
| |
− | | |
− | ==pkg-config==
| |
− | cd ~/src
| |
− | curl -OL https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
| |
− | tar xvf pkg-config-0.29.2.tar.gz
| |
− | cd pkg-config-0.29.2
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --disable-static --with-internal-glib
| |
− | make
| |
− | make install
| |
− | | |
− | ==libidn==
| |
− | cd ~/src
| |
− | curl -OL https://ftp.gnu.org/gnu/libidn/libidn-1.41.tar.gz
| |
− | tar xvzf libidn-1.41.tar.gz
| |
− | cd libidn-1.41
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --disable-static
| |
− | make
| |
− | make install
| |
− | | |
− | ==GMP==
| |
− | cd ~/src
| |
− | curl -OL https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz
| |
− | tar xvf gmp-6.3.0.tar.xz
| |
− | cd gmp-6.3.0
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --disable-static --enable-fat
| |
− | make
| |
− | make install
| |
− | | |
− | ==Nettle==
| |
− | cd ~/src
| |
− | curl -OL https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz
| |
− | tar xvf nettle-3.9.1.tar.gz
| |
− | cd nettle-3.9.1
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --disable-static --enable-fat
| |
− | make
| |
− | make install
| |
− | | |
− | ==GnuTLS==
| |
− | cd ~/src
| |
− | curl -OL https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.4.tar.xz
| |
− | tar xvf gnutls-3.8.4.tar.xz
| |
− | cd gnutls-3.8.4
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --disable-static --with-included-libtasn1 --without-p11-kit --disable-doc --enable-local-libopts --disable-nls --with-included-unistring --disable-guile --disable-cxx --without-brotli
| |
− | make
| |
− | make install
| |
− | | |
− | ==Compile SQLite==
| |
− | cd ~/src
| |
− | curl -OL https://sqlite.org/2024/sqlite-autoconf-3450300.tar.gz
| |
− | tar xvzf sqlite-autoconf-3450300.tar.gz
| |
− | cd sqlite-autoconf-3450300
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --disable-static --disable-dynamic-extensions
| |
− | make
| |
− | make install
| |
− | | |
− | ==gettext==
| |
− | cd ~/src
| |
− | curl -OL https://ftp.gnu.org/pub/gnu/gettext/gettext-0.22.4.tar.xz
| |
− | tar xvf gettext-0.22.4.tar.xz
| |
− | cd gettext-0.22.4
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --disable-static
| |
− | make
| |
− | make install
| |
− | | |
− | ==Compile wxWidgets==
| |
− | cd ~/src
| |
− | curl -OL https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.4/wxWidgets-3.2.4.tar.bz2
| |
− | tar xvf wxWidgets-3.2.4.tar.bz2
| |
− | cd wxWidgets-3.2.4
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --without-libcurl --without-libtiff --with-macosx-version-min=10.13
| |
− | make
| |
− | make install
| |
− | | |
− | ==Compile libfilezilla==
| |
− | cd ~/src
| |
− | curl -OL https://download.filezilla-project.org/libfilezilla/libfilezilla-0.41.1.tar.bz2
| |
− | tar xf libfilezilla-0.41.1.tar.bz2
| |
− | cd libfilezilla-0.41.1
| |
− | ./configure --prefix="$HOME/prefix" --enable-shared --disable-static
| |
− | make
| |
− | make install
| |
− | | |
− | ==Compile FileZilla==
| |
− | cd ~/src
| |
− | curl -OL https://download.filezilla-project.org/client/FileZilla_3.63.2_src.tar.bz2
| |
− | tar xvjf FileZilla_3.63.2_src.tar.bz2
| |
− | cd filezilla-3.63.2
| |
− | ./configure --with-pugixml=builtin
| |
− | make
| |