-=================
-INSTALL for Win32
-=================
+Compiling LyX 1.6 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.6 can be compiled with Microsoft Visual C++ 2008 (recommended) or MinGW.
+Note that you should not have spaces in the path of the source code.
-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 2008
+========================
-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 2008
-Enjoy!
-The LyX Team
+ If you don't have MSVC 2008 installed, download and install the free
+ Express edition from http://www.microsoft.com/express/vc/
-=============================================================================
-1 MinGW & MSYS
+2 Install Python
-1.1 Download the following packages from http://www.mingw.org/download.shtml:
+ Get the latest Python 2.6 version at
+ http://www.python.org/download/
- 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
+ Install in C:\Python26 and add this directory to the PATH environment
+ variable (Start > Settings > Control Panel > System > Advanced >
+ Environment Variables).
-1.2 Install MinGW-3.2.0-rc-3.exe in C:\MinGW
+3 Install SCons
-1.3 Install MSYS-1.0.11-2004.04.30-1.exe in C:\msys
+ Download the latest SCons version from http://www.scons.org/download.php
-1.4 Install msysDTK-1.0.1 in C:\msys
+4 Install the dependencies
-1.5 Extract binutils-2.15.94-20050118-1.tar.gz in C:\MinGW
- (i.e., overwrite the existing binutils)
+ 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
-2. Gettext & Libiconv
+ 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:
-2.1 Download the following packages from
- http://www.gnu.org/software/gettext/gettext.html:
+ cd <lyx root directory>\development\Win32\packaging
+ build_msvc.bat
- gettext-tools-0.13.1.bin.woe32.zip
- gettext-runtime-0.13.1.bin.woe32.zip
- libiconv-1.9.1.bin.woe32.zip
+6 First start of LyX
-2.2 Extract the three packages in C:\MinGW
+ 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.
-3 QT/Win Free Edition
- http://qtwin.sourceforge.net/index.php/QT/Free_from_CVS_with_Mingw
+ 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.
-3.1 Get the latest CVS version
+Compiling with MinGW
+====================
- Using the cvs executable that is packaged with MinSYS,
- from the MinSYS command prompt:
+ 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.
- $ 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
+1 Install MinGW, and all the gcc-related stuff, and win32api.
- Alternatively, use the TortoiseCVS graphical interface.
+2 download qt-win-opensource-4.x.x-mingw.exe and install to c:\qt.
-3.2 Compile the QT library
+3 install python and scons as instructed above. Set $path for python
+ to make your life a bit easier.
- 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 ;-)
+4 Check out lyx svn to c:\lyx-devel\lyx-1.6.x
- $ 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
+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.
- $ 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
+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
- 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.
- $ cmd.exe
- PROMPT> my_configure.bat
+Creating the Installer
+======================
-4. Aspell
+ To create an installer with LyX and all related components, download
+ and install the latest NSIS from http://nsis.sourceforge.net
-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
+ Open development\Win32\packaging\installer\setttings.user.nsh and modify
+ the settings depending on your build environment.
-4.2 Extract all files in your MSYS home directory. From the
- MinSYS command prompt:
+ Finally, go to development\Win32\packaging\installer
+ (in a normal Windows Explorer), right-click on lyx.nsi and click
+ "Compile NSIS Script".
- $ 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
+ 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.
- There's no need to build Aspell now. The script in
- development/Win32/packaging should do it for you.
-
-5. LyX
-
-5.1 Get the latest CVS version
-
- Using the cvs executable that is packaged with MinSYS,
- from the MinSYS command prompt:
-
- $ 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