Difference between revisions of "Apertium on Windows"

From Apertium
Jump to navigation Jump to search
Line 69: Line 69:
== Building lttoolbox ==
== Building lttoolbox ==


Before you can build lttoolbox, you need to tell CMake where to find the libxml files (under Linux, CMake will use pkg-config to find where the packages are installed). Open lttoolbox-unicode\CMakeLists.txt and modify the lines
Before you can build lttoolbox, you need to tell CMake where to find the libxml files (under Linux, CMake will use pkg-config to find where the packages are installed). Open <code>lttoolbox-unicode\CMakeLists.txt</code> and modify the lines
<pre>
<pre>
SET(LIBXML2_INCLUDE_DIR E:\\home\\wynand\\libxml2-2.6.30.win32\\include)
SET(LIBXML2_INCLUDE_DIR C:/Program\ Files/LibXML/include)
SET(LIBXML2_LIBRARIES E:\\home\\wynand\\libxml2-2.6.30.win32\\lib\\libxml2.lib)
SET(LIBXML2_LIBRARIES C:/Program\ Files/LibXML/libxml2.lib)
</pre>
to match your installtion. If you have followed the previous instructions, you would likely change these to:
<pre>
SET(LIBXML2_INCLUDE_DIR C:\\Program\ Files\\libxml2\\include)
SET(LIBXML2_LIBRARIES C:\\Program\ Files\\libxml2\\lib\\libxml2.lib)
</pre>
</pre>
to match your installtion.


Now, in the Visual Studio command prompt change the directory to lttoolbox-unicode and execute
Now, in the Visual Studio command prompt (the "DOS box") change the directory to lttoolbox-unicode and execute
<pre>
<pre>
cmakesetup .
cmakesetup .
</pre>
</pre>


Click on the configure button. As with libpcre, CMake will ask you to choose the type of build file to generate. Again, choose "Nmake". If you get an error message about LIBXML, then it means that <code>LIBXML2_INCLUDE_DIR</code> or <code>LIBXML2_LIBRARIES</code> in <code>lttoolbox-unicode\CMakeLists.txt</code> has an incorrect value.
Click on the configure button. Then click OK. If all is well, CMake should generate NMake files. To compile, simply execute:

If everything completes without errors after the first time that you clicked the "Configure" button, you will again see a few lines in the appear in the cmakesetup window. They should be highlighted with red. You have the opportunity to change the installation directory of lttoolbox by modifying the build variable <code>CMAKE_INSATLL_PREFIX</code>. To continue, click "Configure" again; if everything is correct, then everything that was highlighted with red should now be highlighted with gray.

Next, click OK; CMake should generate NMake files. To compile, simply execute:
<pre>
<pre>
nmake
nmake
</pre>
</pre>


To install lttoolbox, run:

<pre>
nmake install
</pre>


[[Category:Installation]]
[[Category:Installation]]

Revision as of 12:49, 11 January 2008

We are in the process of porting Apertium to Windows. Lttoolbox has already been compiled successfully, but has not been tested extensively. We are now working on porting Apertium.

Getting the code

The Windows branch is currently in the unofficial GIT repository under the "windows" branch. To contribute, first follow the steps on Using the Apertium GIT repository. Now, we'll create a branch called "windows", which will track the "windows" branch in the remote repository:

  git branch --track windows origin/windows

To switch to the "windows" branch, issue:

  git checkout windows

Dependencies

You will need to get Windows versions of the following tools and libraries to compile the code under Windows:

  • Microsoft's C++ compiler - the compiler is part of Visual Studio 2008 Express, which is available free of charge.
  • CMake - a cross platform build tool
  • libxml - the Windows binaries are at http://xmlsoft.org/sources/win32/; you will need:
    • libxml2
    • zlib
    • libiconv
    • libxslt
  • libpcre - there are no Windows binaries available and you will have to build this from the source code.
  • flex for Windows - it's probably easiest if you just download the Windows installer version.

Setting up the required tools and libraries

Installing Visual Studio

Be sure to start downloading Visual Studio 2008 first, since it is a fairly big download.

Installing CMake

Next, download and install the Windows version of CMake. Let the installer place CMake in your path, since it will be much easier to run CMake from the command line if you do this.

Installing the libxml libraries

The zip files of libxml2, zlib, libiconv and libxslt all have the familiar UNIX layout:

|- bin
|- include
|- lib
|- share

Unzip each of these archives and copy the bin, include, lib and share directories in each package into a common directory (the Windows branch in the GIT repository assumes C:\Program Files\LibXML as a default).

Building and installing libpcre

Now, unzip the libpcre archive to a temporary folder. To compile libpcre, you will need have Visual Studio AND CMake already installed on your system. Now, open the Visual Studio 8.0 Command Prompt (Start -> Visual C++ 9.0 Express Edition -> Visual Studio Tools -> Visual Studio 8.0 Command Prompt). In this command prompt, go to the directory where you unpacked libpcre. Execute:

cmakesetup .

Click the button labelled "Configure". CMake will prompt you with a dialog box where you must choose the kind of make files it will output; select NMake. Normally, after the first time you click "Configure", CMake will show you a number of build variables, all highlighted in red. Click "Configure" once more; if those variables are highlighted in gray, you can click "Ok".

To compile libpcre, run:

nmake

After the compilation has succeeded, run:

nmake install

By default, libpcre installs to C:\Program Files\PCRE. You can change this in the cmakesetup by modifying the build variable CMAKE_INSATLL_PREFIX.

Installing flex

If you have downloaded the binary archive, unzip them into something like C:\Program Files\Flex. If you downloaded the Windows installer, then just follow the installation wizard :).

Building lttoolbox

Before you can build lttoolbox, you need to tell CMake where to find the libxml files (under Linux, CMake will use pkg-config to find where the packages are installed). Open lttoolbox-unicode\CMakeLists.txt and modify the lines

SET(LIBXML2_INCLUDE_DIR C:/Program\ Files/LibXML/include)
SET(LIBXML2_LIBRARIES C:/Program\ Files/LibXML/libxml2.lib)

to match your installtion.

Now, in the Visual Studio command prompt (the "DOS box") change the directory to lttoolbox-unicode and execute

cmakesetup .

Click on the configure button. As with libpcre, CMake will ask you to choose the type of build file to generate. Again, choose "Nmake". If you get an error message about LIBXML, then it means that LIBXML2_INCLUDE_DIR or LIBXML2_LIBRARIES in lttoolbox-unicode\CMakeLists.txt has an incorrect value.

If everything completes without errors after the first time that you clicked the "Configure" button, you will again see a few lines in the appear in the cmakesetup window. They should be highlighted with red. You have the opportunity to change the installation directory of lttoolbox by modifying the build variable CMAKE_INSATLL_PREFIX. To continue, click "Configure" again; if everything is correct, then everything that was highlighted with red should now be highlighted with gray.

Next, click OK; CMake should generate NMake files. To compile, simply execute:

nmake

To install lttoolbox, run:

nmake install