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 \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