Compiling LyX 1.6 for Win32
===========================

LyX 1.6 can be compiled with Microsoft Visual C++ 2008 (recommended) or MinGW.

Compiling with MSVC 2008
========================

1	Install MSVC 2008

	If you don't have MSVC 2008 installed, download and install the free
	Express edition from http://www.microsoft.com/express/vc/

2	Install Python

	Get the latest Python 2.5 version at
	http://www.python.org/download/

	Install in C:\Python25 and add this directory to the PATH environment
	variable (Start > Settings > Control Panel > System > Advanced >
	Environment Variables).

3	Install SCons

	Download the latest SCons version from http://www.scons.org/download.php

4	Install the dependencies

	Download ftp://ftp.lyx.org/pub/lyx/contrib/lyx-windows-deps-msvc2008.zip
	and extract in the root directory of your LyX files (so you will get
	a directory called lyx-windows-deps-msvc2008 next to the other directories
	like src, development etc.).

5	Compile

	Start a Visual Studio command prompt (Start > Programs >
	Microsoft Visual C++ 9.0 Express Edition > Visual Studio Tools >
	Visual Studio 2008 Command Prompt) and run:

	cd <lyx root directory>\development\Win32\packaging
	build_msvc.bat

6	First start of LyX

	To start the just compiled lyx.exe, it is necessary to copy the following
	files to the folder where the just compiled "lyx.exe" is:

	Aiksaurus.dll
	aspell.dll
	iconv.dll
	intl.dll
	Microsoft.VC90.CRT.manifest
	msvcp90.dll
	msvcr90.dll
	QtCore4.dll
	QtGui4.dll

	msvcp90.dll and msvcr90.dll are the C Runtime and C++ libraries
	supplied with MSVC 2008. They are freely redistributable.
	See http://msdn2.microsoft.com/en-us/library/8kche8ah.aspx
	for details.

	All of the other .dlls above and the lyx executable are compiled
	from code released under the GPL which states (section 3) that
	GPL software may be linked against system files such as msvcp90.dll
	and msvcr90.dll.

Compiling with MinGW
====================

	These instructions allow you to create a basic LyX build with MinGW.
	To be able to use all LyX features, compiling with MSVC 2008 is recommended.
	Creating an installer for MinGW builds is no longer supported.

1	Install MinGW, and all the gcc-related stuff, and win32api. 

2	download qt-win-opensource-4.x.x-mingw.exe and install to c:\qt.

3	install python and scons as instructed above. Set $path for python
	   to make your life a bit easier.

4	Check out lyx svn to c:\lyx-devel\lyx-1.6.x

5	Download zlib binaries and developer files (zlib-1.2.3-bin.zip and
	   zlib-1.2.3-lib.zip) from http://gnuwin32.sourceforge.net/packages/zlib.htm
	   libiconv from http://gnuwin32.sourceforge.net/packages/libiconv.htm
	   gettext  from http://gnuwin32.sourceforge.net/packages/gettext.htm
	   unpack all of them to the same directory c:\lyx-devel\mingw_deps.

6	start a command window, run commands:
	   $ cd c:\lyx-devel\lyx-1.6.x
	   $ scons -f development\scons\SConstruct \
	       extra_lib_path=..\mingw_deps\lib  \
		   extra_inc_path=..\mingw_deps\include \
		   extra_bin_path=..\mingw_deps\bin \
		   qt_dir=c:\qt \
		   DESTDIR=..\lyx-1.6-install \
		   install


Creating the Installer
======================

	To create an installer with LyX and all related components, download
	and install the latest NSIS from http://nsis.sourceforge.net

	Open development\Win32\packaging\installer\setttings.user.nsh and modify
	the settings depending on your build environment.

	Finally, go to development\Win32\packaging\installer
	(in a normal Windows Explorer), right-click on lyx.nsi and click
	"Compile NSIS Script".

	You can also use the installer target of scons. Namely, use a command like
	   $ scons -f development\scons\SConscript installer
	This will create $BUILDDIR\lyx-version-timestamp-Installer.exe for a devel version,
	and $BUILDDIR\lyx-version-Install.exe for a released version of lyx.

	If you also want to generate bundled installer, download 
	lyx-windows-bundle-deps.zip from http://www.lyx.org/~bpeng, unpack
	to lyx-windows-bundle-deps under the top source directory, and run
	  $ scons -f development\scons\SConstruct installer bundle=1
	If you prefer to use another directory, you can use option bundle_dir like
	  $ scons -f development\scons\SConstruct installer bundle=1 bundle_dir=c:\bundle