-=================
-INSTALL for Win32
-=================
+Compiling LyX 1.5 for Win32
+===========================
-Building LyX the first time can appear to be a daunting task, but much of
-that is knowing which packages to download in the first place.
+LyX 1.5 can be compiled with Microsoft Visual C++ 2005 (recommended) or MinGW.
-The instructions below should guide you through the installation of
-the MinGW/MinSYS build environment, together with details on how to
-grab and build the Qt toolkit and how to grab Aspell and LyX.
+Compiling with MSVC 2005
+========================
-Once you've done all that, you should go read the README in
-development/Win32/packaging/ The two scripts in the same directory,
-build_lyxwin.sh and package_lyxwin.sh should automate the entire
-build process. If not and you really can't figure out what to do next,
-then please, please drop a mail to lyx-devel@lists.lyx.org.
+1 Install MSVC 2005 SP1
-Enjoy!
-The LyX Team
+ If you don't have MSVC 2005 installed, download and install the free
+ Express edition from http://msdn.microsoft.com/vstudio/express/visualc/
+ From this page you should also download and install Service Pack 1.
-=============================================================================
-1 MinGW & MSYS
+ A hotfix needs to be installed because of a bug in the compiler.
+ Search for VS80sp1-KB930859-X86-ENU.exe on Google and install it.
-1.1 Download the following packages from http://www.mingw.org/download.shtml:
+2 Install the Windows Platform SDK
- MinGW-3.2.0-rc-3.exe
- binutils-2.15.94-20050118-1.tar.gz
- MSYS-1.0.11-2004.04.30-1.exe
- msysDTK-1.0.1.exe
+ see: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
+ (You don't need to install the IIS, MDAC, and Tablet PC SDK that are
+ delivered with the Platform SDK.)
-1.2 Install MinGW-3.2.0-rc-3.exe in C:\MinGW
+3 Configure MSVC
-1.3 Install MSYS-1.0.11-2004.04.30-1.exe in C:\msys
+ Follow exactly the steps of
+ http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
+ In Step 3 follow also the things noted as alternative.
+ (If you later get an error message that "windows.h" cannot be found,
+ create the global Windows environment variables "INCLUDE" and "LIB".
+ INCLUDE contains the paths to the "include" folders of the installed
+ platform SDK and of MSVC. LIB contains the corresponding "lib" folders.)
-1.4 Install msysDTK-1.0.1 in C:\msys
+4 Install Python
-1.5 Extract binutils-2.15.94-20050118-1.tar.gz in C:\MinGW
- (i.e., overwrite the existing binutils)
+ Get the latest Python 2.5 version at
+ http://www.python.org/download/releases/2.5/
+ Install in C:\Python25 and add this directory to the PATH environment
+ variable (Start > Settings > Control Panel > System > Advanced >
+ Environment Variables).
-2. Gettext & Libiconv
+5 Install SCons
-2.1 Download the following packages from
- http://www.gnu.org/software/gettext/gettext.html:
+ Download and install SCons 0.96.92 (or newer, but not 0.96.1) from http://www.scons.org/download.php
- gettext-tools-0.13.1.bin.woe32.zip
- gettext-runtime-0.13.1.bin.woe32.zip
- libiconv-1.9.1.bin.woe32.zip
+6 Install the dependencies
-2.2 Extract the three packages in C:\MinGW
+ Download ftp://ftp.lyx.org/pub/lyx/contrib/lyx-windows-deps-msvc-qt4.zip
+ and extract in the root directory of your LyX files (so you will get
+ a directory called lyx-windows-deps-msvc-qt4 next to the other directories
+ like src, development etc.).
+7 Compile
+ From MS Visual Studio command prompt (not the regular cmd.exe),
+ run development\Win32\packaging\build_msvc.bat
-3 QT/Win Free Edition
- http://qtwin.sourceforge.net/index.php/QT/Free_from_CVS_with_Mingw
+8 First start of LyX
-3.1 Get the latest CVS version
+ 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:
- Using the cvs executable that is packaged with MinSYS,
- from the MinSYS command prompt:
+ Aiksaurus.dll
+ aspell.dll
+ iconv.dll
+ intl.dll
+ Microsoft.VC80.CRT.manifest
+ msvcp80.dll
+ msvcr80.dll
+ QtCore4.dll
+ QtGui4.dll
- $ cd ~
- $ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/kde-cygwin login
- <return> (no password)
- $ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/kde-cygwin co \
- -r QT_WIN32_3_3_BRANCH -d qt3 qt-3
+ msvcp80.dll and msvcr80.dll are the C Runtime and C++ libraries
+ supplied with MSVC 2005. They are freely redistributable.
+ See http://msdn2.microsoft.com/en-us/library/8kche8ah(VS.80).aspx
+ for details.
- Alternatively, use the TortoiseCVS graphical interface.
+ 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 msvcp80.dll
+ and msvcr80.dll.
-3.2 Compile the QT library
+Compiling with MinGW
+====================
- Create two .bat files, in the top-level directory of the Qt tree,
- my_configure.bat and my_make.bat. Mine are shown below. Obviously,
- you'll have to tweak them ;-)
+ These instructions allow you to create a basic LyX build with MinGW.
+ To be able to use all LyX features, compiling with MSVC 2005 is recommended.
+ Creating an installer for MinGW builds is no longer supported.
- $ cat my_configure.bat
- set QTDIR=J:\MinSys\home\Angus\qt3
- set MINGW=J:\MinGW
- set PATH=J:\MinSys\home\Angus\qt3\bin;J:\MinGW\bin;C:\WINDOWS\system32;C:\WINDOWS
- set QMAKESPEC=win32-g++
- configure.bat -verbose
+1 Install MinGW, and all the gcc-related stuff, and win32api.
- $ cat my_make.bat
- set QTDIR=J:\MinSys\home\Angus\qt3
- set MINGW=J:\MinGW
- set PATH=J:\MinSys\home\Angus\qt3\bin;J:\MinGW\bin;C:\WINDOWS\system32;C:\WINDOWS
- set QMAKESPEC=win32-g++
- mingw32-make symlinks
- mingw32-make src-moc
- mingw32-make sub-src
+2 download qt-win-opensource-4.x.x-mingw.exe and install to c:\qt\4.2.2.
- The first time that you build the Qt sources, run my_configure.bat.
- Thereafter, you should be able to get away with my_make.bat. If it fails,
- you should try my_configure.bat again, but this will overwrite all the
- Qt header files, so you'll end up rebuilding large chunks of LyX as well.
+3 install python and scons as instructed above. Set $path for python
+ to make your life a bit easier.
- $ cmd.exe
- PROMPT> my_configure.bat
+4 Check out lyx svn to c:\lyx-devel\lyx-1.5.x
-4. Aspell
+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.
-4.1 Download aspell-0.50.5.tar.gz from ftp://ftp.gnu.org/gnu/aspell/
- (note: version 0.60.2 does not compile)
- Download dictionaries from ftp://ftp.gnu.org/gnu/aspell/dict/
- Eg: en/aspell-en-0.50-2.tar.bz2
- de/aspell-de-0.50-2.tar.bz2
+6 start a command window, run commands:
+ $ cd c:\lyx-devel\lyx-1.5.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\4.2.2 \
+ DESTDIR=..\lyx-1.5-install \
+ install
-4.2 Extract all files in your MSYS home directory. From the
- MinSYS command prompt:
- $ gunzip aspell-0.50.5.tar.gz
- $ bunzip2 aspell-en-0.50-2.tar.bz2
- $ tar xvf aspell-0.50.5.tar
- $ tar xvf aspell-en-0.50-2.tar
- $ rm -f aspell-0.50.5.tar
- $ rm -f aspell-en-0.50-2.tar
+Creating the Installer
+======================
- There's no need to build Aspell now. The script in
- development/Win32/packaging should do it for you.
+ To create an installer with LyX and all related components, download
+ and install the latest NSIS from http://nsis.sourceforge.net
-5. LyX
+ Open development\Win32\packaging\installer\setttings.user.nsh and modify
+ the settings depending on your build environment.
-5.1 Get the latest CVS version
+ Finally, go to development\Win32\packaging\installer
+ (in a normal Windows Explorer), right-click on lyx.nsi and click
+ "Compile NSIS Script".
- Using the cvs executable that is packaged with MinSYS,
- from the MinSYS command prompt:
+ 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.
- $ cd ~
- $ mkdir lyx && cd lyx
- $ cvs -d:pserver:anoncvs@anoncvs.us.lyx.org:/cvs/lyx login
- (The password is "lyx" (no inverted commas))
- $ cvs -d:pserver:anoncvs@anoncvs.us.lyx.org:/cvs/lyx \
- checkout -r BRANCH_1_3_X -d 13x lyx-devel
-
- Alternatively, use the TortoiseCVS graphical interface.
-
- There's no need to build LyX now. The script in
- development/Win32/packaging should do it for you.
-
-Now go read the README in development/Win32/packaging.
-=============================================================================
+ 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