Editing Compiling FileZilla 3 under Windows
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 Windows using [http://msys2.github.io/ msys2]. Msys2 is a cygwin environment | + | This documentation explains how to setup a build environment for [[FileZilla 3]] and how to compile it under Windows using [http://msys2.github.io/ msys2]. Msys2 is a cygwin environment. |
It will take some time to get everything working, but you will be able to use the build environment for other programs too. | It will take some time to get everything working, but you will be able to use the build environment for other programs too. | ||
− | |||
− | |||
'''Note to wiki contributors: Do not change version numbers on your own. The build process is somewhat fragile and does break if you change things''' | '''Note to wiki contributors: Do not change version numbers on your own. The build process is somewhat fragile and does break if you change things''' | ||
__TOC__ | __TOC__ | ||
+ | |||
=Installing the MSYS2 environment= | =Installing the MSYS2 environment= | ||
− | + | [http://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-x86_64-20150202.exe msys2-x86_64-20150202.exe] | |
+ | |||
+ | Install this to '''c:\msys64''' or '''D:\msys64''' depending on how you installed msys2 | ||
=Installing the compiler toolchain= | =Installing the compiler toolchain= | ||
Line 20: | Line 21: | ||
===First update=== | ===First update=== | ||
− | + | start MSYS2 shell | |
pacman -Syu | pacman -Syu | ||
− | close | + | close MSYS shell,and maybe you will need rebase(Google for details,just run a autorebase.bat in C:\msys64). |
− | === | + | ===install tools and complie toolchain=== |
+ | start MSYS2 shell, execute the following command: | ||
− | + | pacman -Syu | |
+ | pacman -S base-devel msys2-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain | ||
+ | pacman -S svn git curl wget | ||
+ | pacman -S ca-certificates | ||
− | + | =Downloading dependencies= | |
− | + | ==download GMP== | |
− | + | cd ~ | |
− | + | curl -O https://gmplib.org/download/gmp/gmp-6.0.0a.tar.xz | |
− | |||
− | == | + | ==Download Nettle== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
cd ~ | cd ~ | ||
− | + | wget http://www.lysator.liu.se/~nisse/archive/nettle-2.7.1.tar.gz | |
− | |||
− | |||
− | |||
− | |||
− | == | + | ==Download GnuTLS== |
cd ~ | cd ~ | ||
− | wget | + | wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.13.tar.xz |
− | |||
− | |||
− | |||
− | |||
− | == | + | ==Download SQLite== |
cd ~ | cd ~ | ||
− | wget | + | wget http://sqlite.org/2015/sqlite-autoconf-3080803.tar.gz |
− | |||
− | |||
− | |||
− | |||
− | == | + | ==Download wxWidgets== |
cd ~ | cd ~ | ||
− | + | svn co https://github.com/wxWidgets/wxWidgets/branches/WX_3_0_BRANCH wx3 | |
− | |||
− | |||
− | |||
− | |||
− | == | + | ==Download FileZilla== |
cd ~ | cd ~ | ||
− | + | svn co https://svn.filezilla-project.org/svn/FileZilla3/trunk filezilla | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | =Build Filezilla= | |
− | |||
− | |||
− | |||
− | |||
− | == | + | ==Fetch patch and build script== |
− | + | git clone https://github.com/rexdf/build_filezilla_on_msys2.git | |
− | + | cp build_filezilla_on_msys2/*.patch ~ | |
− | + | cp build_filezilla_on_msys2/build.sh ~ | |
− | |||
− | . | ||
− | |||
− | = | + | ==Build a static only zlib== |
− | + | git clone https://github.com/Alexpux/MINGW-packages.git | |
+ | cd MINGW-packages | ||
+ | git apply ../mingw-w64-zlib.patch | ||
+ | cd mingw-w64-zlib | ||
+ | makepkg-mingw -sLf | ||
+ | cp mingw-w64-i686-zlib-1.2.8-6-any.pkg.tar.xz ~/ | ||
− | + | ==Build dependencies and filezilla== | |
− | |||
− | == | + | ===Build=== |
− | + | start '''MinGW-w64 Win32 Shell''' shell | |
− | |||
− | |||
− | |||
− | + | ./build.sh | |
− | + | === Generate installer === | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | ==== Installing NSIS ==== |
− | + | Download and install Unicode NSIS from http://www.scratchpaper.com | |
− | + | Make sure you get the Unicode version and not the ANSI one. | |
− | === Compile the installer script === | + | ==== Compile the installer script ==== |
− | Right click data/install.nsi in Explorer and use "Compile NSIS Script" from context menu. | + | Right click compile/data/install.nsi in Explorer and use "Compile NSIS Script" from context menu. |
− | = Troubleshooting = | + | == Troubleshooting == |
If you run into problems, please make sure you've followed each step exactly how it is explained and that you haven't missed any steps along the way. | If you run into problems, please make sure you've followed each step exactly how it is explained and that you haven't missed any steps along the way. |