Compiling FreeFileSync
----------------------

Windows with Microsoft Visual Studio
------------------------------------
1. Download wxWidgets 2.8.11 sources (wxMSW or wxAll): http://www.wxwidgets.org/downloads/

2. Compile wxWidgets in Unicode build:
	- open 'build\msw\wx.dsw' with Visual C++ and import all projects
	- set Konfiguration to "Unicode Release", Platform to "Win32"
	- select all projects and choose static runtime library "Multithreaded (/MT)" under C++/Code Generation
	- build complete project folder (F7)

3. Download Boost: http://www.boost.org/users/download/ and enter via commandline:
		cd <Boost-directory>
		bootstrap.bat
		bjam toolset=msvc --build-type=complete --with-thread --with-date_time

4. Go to the directory containing the FreeFileSync sources. Open 'FreeFileSync.vcxproj' with a text editor or
	directly within Visual Studio and adapt compiler and linker paths to the directories containing wxWidgets and Boost.
	Then load the file and start compilation (F7).

	
Windows with MinGW
------------------
1. Download and install MinGW:
        http://www.mingw.org
        http://sourceforge.net/project/showfiles.php?group_id=2435

	You can use the 'Automated MinGW Installer' for a quick installation or download the required components manually:
		http://www.mingw.org/wiki/Getting_Started

2. Download wxWidgets 2.8.11 sources (wxMSW or wxAll): http://www.wxwidgets.org/downloads/

3. Compile wxWidgets with static runtime and Unicode:
	cd <wxWidgets-directory>\build\msw
	mingw32-make -f makefile.gcc BUILD=release UNICODE=1

4. Download Boost: http://www.boost.org/users/download/

5. Extract the Boost archive to a folder and make sure to have MinGW/Bin visible in PATH environment variable. 
	Then enter via commandline:
		cd <Boost-directory>
		bjam toolset=gcc --build-type=complete --with-thread
	
6. Open 'FreeFileSync.cbp' with a text editor or directly within Code::Blocks (www.codeblocks.org) and adapt compiler and 
	linker paths to the directories containing MinGW, wxWidgets and Boost. Then load the file and start compilation.


Linux with GCC
--------------
(0. A prebuilt package for Ubuntu is available at: http://launchpad.net/freefilesync)

1. Download and install package 'build-essential':
		sudo apt-get install build-essential

2. Download and install the GTKMM development package 'libgtkmm-2.4-dev':
		sudo apt-get install libgtkmm-2.4-dev

3. Download wxWidgets 2.8.11 sources (wxGTK or wxAll): http://www.wxwidgets.org/downloads/

   Extract the wxWidgets source files and compile in Unicode build:
		./configure --with-gtk --disable-debug --enable-unicode
		make
		sudo make install
		sudo ldconfig /usr/local/lib
		
	Note: Multiple configurations of wxWidgets (ANSI/UNICODE) can be installed and used in parallel!

4. Download Boost (Preferably the .tar.gz archive): http://www.boost.org/users/download/
	Extract the archive and enter via commandline:
		./bootstrap.sh --prefix=/usr/local/ --with-libraries=thread	
		sudo ./bjam --clean install                    -> Important, clean up old Boost installation!
		sudo ./bjam install

5. Support for SELinux - optional!
		sudo apt-get install libselinux1-dev
		
6. Build FreeFileSync: Go to the directory containing the FreeFileSync sources and type:
		make
		sudo make install
	
7. Build RealtimeSync (optional):
		cd RealtimeSync
		make
		sudo make install
