Editing Compiling FileZilla 3 under macOS
From FileZilla Wiki
Jump to navigationJump to searchWarning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
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 | + | This documentation explains how to setup a build environment for [[FileZilla 3]] and how to compile it under Mac OS X using [https://developer.apple.com/TOOLS/xcode/ Xcode]. These directions have been tested under OS X 10.12 on an Intel Mac. Resulting binaries are for OS X 10.9 or later. |
__TOC__ | __TOC__ | ||
Line 9: | Line 9: | ||
mkdir -p "$HOME/prefix" | mkdir -p "$HOME/prefix" | ||
mkdir -p "$HOME/src" | mkdir -p "$HOME/src" | ||
− | export CC="clang -mmacosx-version-min=10. | + | export CC="clang -mmacosx-version-min=10.11" |
− | export CXX="clang++ -std=c++17 -stdlib=libc++ -mmacosx-version-min=10. | + | export CXX="clang++ -std=c++17 -stdlib=libc++ -mmacosx-version-min=10.11" |
− | export OBJC="clang -mmacosx-version-min=10. | + | export OBJC="clang -mmacosx-version-min=10.11" |
− | + | export AS="as -mmacosx-version-min=10.11" | |
− | export AS="as -mmacosx-version-min=10. | + | export LD="ld -macosx_version_min 10.11" |
− | export LD="ld -macosx_version_min 10. | ||
export PATH="$HOME/prefix/bin:$PATH" | export PATH="$HOME/prefix/bin:$PATH" | ||
export CPPFLAGS="-I$HOME/prefix/include" | export CPPFLAGS="-I$HOME/prefix/include" | ||
Line 25: | Line 24: | ||
==pkg-config== | ==pkg-config== | ||
cd ~/src | cd ~/src | ||
− | curl -OL | + | # Note that we cannot use the newer pkg-config 0.29, it doesn't link on OS X. |
− | tar xvf pkg-config-0. | + | curl -OL http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz |
− | cd pkg-config-0. | + | tar xvf pkg-config-0.28.tar.gz |
− | ./configure --prefix="$HOME/prefix" -- | + | cd pkg-config-0.28 |
+ | ./configure --prefix="$HOME/prefix" --disable-shared --with-internal-glib | ||
make | make | ||
make install | make install | ||
Line 34: | Line 34: | ||
==libidn== | ==libidn== | ||
cd ~/src | cd ~/src | ||
− | curl -OL | + | curl -OL http://ftp.gnu.org/gnu/libidn/libidn-1.32.tar.gz |
− | tar xvzf libidn-1. | + | tar xvzf libidn-1.32.tar.gz |
− | cd libidn-1. | + | cd libidn-1.32 |
− | ./configure --prefix="$HOME/prefix" -- | + | ./configure --prefix="$HOME/prefix" --disable-shared |
make | make | ||
make install | make install | ||
Line 43: | Line 43: | ||
==GMP== | ==GMP== | ||
cd ~/src | cd ~/src | ||
− | curl -OL https://gmplib.org/download/gmp/gmp-6. | + | curl -OL https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz |
− | tar xvf gmp-6. | + | tar xvf gmp-6.1.2.tar.xz |
− | cd gmp-6. | + | cd gmp-6.1.2 |
− | ./configure --prefix="$HOME/prefix" -- | + | ./configure --prefix="$HOME/prefix" --disable-shared --enable-fat |
make | make | ||
make install | make install | ||
Line 52: | Line 52: | ||
==Nettle== | ==Nettle== | ||
cd ~/src | cd ~/src | ||
− | curl -OL https://ftp.gnu.org/gnu/nettle/nettle-3. | + | curl -OL https://ftp.gnu.org/gnu/nettle/nettle-3.3.tar.gz |
− | tar xvf nettle-3. | + | tar xvf nettle-3.3.tar.gz |
− | cd nettle-3. | + | cd nettle-3.3 |
− | ./configure --prefix="$HOME/prefix" -- | + | ./configure --prefix="$HOME/prefix" --disable-shared --enable-fat |
make | make | ||
make install | make install | ||
Line 61: | Line 61: | ||
==GnuTLS== | ==GnuTLS== | ||
cd ~/src | cd ~/src | ||
− | curl -OL | + | curl -OL ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-3.5.16.tar.xz |
− | tar xvf gnutls-3. | + | tar xvf gnutls-3.5.16.tar.xz |
− | cd gnutls-3. | + | cd gnutls-3.5.16 |
− | ./configure --prefix="$HOME/prefix" -- | + | ./configure --prefix="$HOME/prefix" --disable-shared --with-included-libtasn1 --without-p11-kit --disable-doc --enable-local-libopts --disable-nls --with-included-unistring |
make | make | ||
make install | make install | ||
Line 70: | Line 70: | ||
==Compile SQLite== | ==Compile SQLite== | ||
cd ~/src | cd ~/src | ||
− | curl -OL | + | curl -OL http://sqlite.org/2017/sqlite-autoconf-3160200.tar.gz |
− | tar xvzf sqlite-autoconf- | + | tar xvzf sqlite-autoconf-3160200.tar.gz |
− | cd sqlite-autoconf- | + | cd sqlite-autoconf-3160200 |
− | ./configure --prefix="$HOME/prefix" -- | + | ./configure --prefix="$HOME/prefix" --disable-shared --disable-dynamic-extensions |
make | make | ||
make install | make install | ||
Line 79: | Line 79: | ||
==gettext== | ==gettext== | ||
cd ~/src | cd ~/src | ||
− | curl -OL | + | curl -OL http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.7.tar.xz |
− | tar xvf gettext-0. | + | tar xvf gettext-0.19.7.tar.xz |
− | cd gettext-0. | + | cd gettext-0.19.7 |
− | ./configure --prefix="$HOME/prefix" -- | + | ./configure --prefix="$HOME/prefix" --disable-shared |
make | make | ||
make install | make install | ||
Line 88: | Line 88: | ||
==Compile wxWidgets== | ==Compile wxWidgets== | ||
cd ~/src | cd ~/src | ||
− | curl -OL https://github.com/wxWidgets/wxWidgets/releases/download/v3. | + | curl -OL https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.4/wxWidgets-3.0.4.tar.bz2 |
− | tar xvf wxWidgets-3. | + | tar xvf wxWidgets-3.0.4.tar.bz2 |
− | cd wxWidgets-3. | + | cd wxWidgets-3.0.4 |
− | ./configure --prefix="$HOME/prefix" -- | + | ./configure --prefix="$HOME/prefix" --disable-shared --disable-webkit --disable-webview --with-macosx-version-min=10.11 |
make | make | ||
make install | make install | ||
Line 97: | Line 97: | ||
==Compile libfilezilla== | ==Compile libfilezilla== | ||
cd ~/src | cd ~/src | ||
− | curl -OL https://download.filezilla-project.org/libfilezilla/libfilezilla-0. | + | curl -OL https://download.filezilla-project.org/libfilezilla/libfilezilla-0.11.1.tar.bz2 |
− | tar xf libfilezilla-0. | + | tar xf libfilezilla-0.11.1.tar.bz2 |
− | cd libfilezilla-0. | + | cd libfilezilla-0.11.1 |
− | ./configure --prefix="$HOME/prefix" -- | + | ./configure --prefix="$HOME/prefix" --disable-shared |
make | make | ||
make install | make install | ||
Line 106: | Line 106: | ||
==Compile FileZilla== | ==Compile FileZilla== | ||
cd ~/src | cd ~/src | ||
− | curl -OL | + | curl -OL http://download.filezilla-project.org/client/FileZilla_3.29.0_src.tar.bz2 |
− | tar xvjf FileZilla_3. | + | tar xvjf FileZilla_3.29.0_src.tar.bz2 |
− | cd filezilla-3. | + | cd filezilla-3.29.0 |
./configure --with-pugixml=builtin | ./configure --with-pugixml=builtin | ||
make | make |