summaryrefslogtreecommitdiff
path: root/docs/development
diff options
context:
space:
mode:
Diffstat (limited to 'docs/development')
-rw-r--r--docs/development/commit_guidelines.rst30
-rw-r--r--docs/development/linux_development.rst201
-rw-r--r--docs/development/macos_development.rst109
-rw-r--r--docs/development/programming_guidelines.rst39
-rw-r--r--docs/development/wince_development.rst262
-rw-r--r--docs/development/windows_development.rst538
6 files changed, 1144 insertions, 35 deletions
diff --git a/docs/development/commit_guidelines.rst b/docs/development/commit_guidelines.rst
index dff76fac2..52fdad8b2 100644
--- a/docs/development/commit_guidelines.rst
+++ b/docs/development/commit_guidelines.rst
@@ -24,29 +24,29 @@ Format of the commit log
Since we are too lazy to maintain a Changelog, we have a script which parses the commit logs and generate a Changelog for us.
-We have agreed about using the following syntax : ` <Action>:<component>:<log message>[|Optional comments]`
+We have agreed about using the following syntax : `<Action>:<component>:<log message>[|Optional comments]`
Examples :
- Fix:Core:Fixed nasty bug in ticket #134
- Fix:GTK:Fixed nasty bug about destination button|Thanks someguy for the patch!
+ * Fix:Core:Fixed nasty bug in ticket #134
+ * Fix:GTK:Fixed nasty bug about destination button|Thanks someguy for the patch!
Action can be something like:
-* Fix (bug fix)
-* Add (new feature)
-* Patch
-* Refactoring (does not change behavior of the program)
+ * Fix (bug fix)
+ * Add (new feature)
+ * Patch
+ * Refactoring (does not change behavior of the program)
It allows the changes to be sorted by categories
The most common components are:
-* core
-* gui/gtk
-* gui/internal
-* graphics/gtk
-* graphics/qt_qpainter
-* graphics/opengl
-* mapdriver
-* tools
+ * core
+ * gui/gtk
+ * gui/internal
+ * graphics/gtk
+ * graphics/qt_qpainter
+ * graphics/opengl
+ * mapdriver
+ * tools
The comment part is optional. Useful for when applying a patch for example, and giving credits.
The part after `|` will not appear in the wiki.
diff --git a/docs/development/linux_development.rst b/docs/development/linux_development.rst
new file mode 100644
index 000000000..20e613acd
--- /dev/null
+++ b/docs/development/linux_development.rst
@@ -0,0 +1,201 @@
+=================
+Linux Development
+=================
+
+Build dependencies
+==================
+
+Note that most dependencies are optional, meaning Navit will build without them, but you may find that you have some crucial features missing such as the GUI.
+
+In general you will need one of `ksvgtopng`, `rsvg-convert` or `Inkscape` to build pre-scaled icons in the xpm directory - the build process will detect if you have one of those installed, and warn you otherwise.
+
+Please see platform specific sections such as Nokia N8x0 for their additional development environment dependencies.
+
+To build with CMake you will need `CMake 2.6` or newer.
+
+OpenSuse dependencies
+---------------------
+
+Compilation tools:
+ * libtool
+ * automake
+ * autoconf
+ * gettext-devel
+ * glib2-devel
+ * gcc
+
+Optionals:
+ - To build maptool:
+ * protobuf-c
+ * libprotobuf-c-devel
+ - GTK Gui:
+ * gtk2-devel
+ - OpenGL Gui:
+ * SDL-devel
+ * cegui-devel (AT LEAST 0.5). 0.5 is in packman repository. One click install for [10.3](http://api.opensuse-community.org/searchservice//YMPs/openSUSE_103/21b23afee0c62d4b5350bff51ac7aa41e2c28522) [10.2](http://packages.opensuse-community.org/aluminium.png)
+ * freeglut-devel
+ * QuesoGLC (at least 0.6) http://www.kazer.org/navit/quesoglc-0.7.0-1.i586.rpm
+ * gcc-c++
+
+Gentoo dependencies
+-------------------
+
+There is a Gentoo ebuild for navit in Gentoo's Bugzilla : http://bugs.gentoo.org/show_bug.cgi?id=176552
+
+If you want, you can vote for it so it gets included in portage :
+http://bugs.gentoo.org/votes.cgi?action=show_user&bug_id=176552#vote_176552
+
+You can also try the ebuild in the overlay : [sunrise overlay](http://www.gentoo.org/proj/en/sunrise/). The ebuild is
+based on the svn to have the latest version of navit.
+
+Debian / Ubuntu dependencies
+-------------------
+
+It compiles flawlessly on a Lenny (5.0) or later and on `Ubuntu 12.04 LTS` (Precise Pangolin) or later, once all dependencies installed.
+
+Note that this section is for build Navit with CMake. These are not ''all'' packages that you need, only the packages that must be installed, i.e. that are not part of the default (desktop) install. If you removed packages after installation, you may have to re-install them.
+
+Absolute minimum requirements:
+
+.. code-block:: bash
+
+ gcc cmake zlib1g-dev libpng12-dev libgtk2.0-dev librsvg2-bin
+
+Note that not all these packages are strictly required (for example, maptool can be built without installing GTK+),
+but this is the smallest practical set of packages if you want to run Navit.
+ * Translations for the user interface: `gettext`
+ * Maptool: `protobuf-c-compiler libprotobuf-c-dev`
+ * GTK+ is included in minimum requirements. `libimlib2-dev` is needed to enable draw_image_warp function which, in turn
+ allows to use raster maps as discussed in [track #1285](http://trac.navit-project.org/ticket/1285)
+ * SDL: `libsdl-image1.2-dev libdevil-dev libglc-dev freeglut3-dev libxmu-dev libfribidi-dev`
+ * OpenGL graphics: `libglc-dev freeglut3-dev libgl1-mesa-dev libxft-dev libglib2.0-dev libfreeimage-dev`
+ * QT: `libqt4-dev` (This package will pull in all the required packages as dependencies.)
+ * gpsd: `gpsd gpsd-clients libgps-dev` (optional, but certainly nice to have)
+ * espeak: `espeak` (optional)
+ * speechd: `libspeechd-dev` (optional, you are better off with using espeak)
+ * dbus: `libdbus-glib-1-dev` (optional, you most likely don't need this.)
+ * python: `python-dev` (optional, you most likely don't need this.)
+ * saxon: `libsaxonb-java` (only required for android)
+
+Everything in one command:
+
+.. code-block:: bash
+
+ sudo apt-get install cmake zlib1g-dev libpng12-dev libgtk2.0-dev librsvg2-bin \
+ g++ gpsd gpsd-clients libgps-dev libdbus-glib-1-dev freeglut3-dev libxft-dev \
+ libglib2.0-dev libfreeimage-dev gettext protobuf-c-compiler libprotobuf-c-dev
+
+Fedora dependencies
+-------------------
+
+Compilation tools:
+ * gettext-devel (provides autopoint)
+ * libtool (will install a bunch of other needed packages)
+ * glib2-devel
+ * cvs
+ * python-devel
+
+OpenGL GUI:
+ * cegui-devel
+ * freeglut-devel
+ * quesoglc-devel
+ * SDL-devel
+ * libXmu-devel
+
+GPSD Support:
+ * gpsd-devel
+
+GTK Gui:
+ * gtk2-devel
+
+Speech support:
+ * speech-dispatcher-devel
+
+Installing all dependencies:
+
+.. code-block:: bash
+
+ sudo yum install gettext-devel libtool glib2-devel cegui-devel freeglut-devel quesoglc-devel SDL-devel libXmu-devel gpsd-devel gtk2-devel speech-dispatcher-devel cvs python-devel saxon-scripts
+
+
+Taking care of dependencies
+===========================
+
+Getting Navit from the GIT repository
+-------------------------------------
+
+First, let's make sure we are in our home directory: this is only for the sake of making this tutorial simple to follow. You can save that directory anywhere you want, but you will have to adapt the rest of the instructions of this guide to your particular case.
+
+.. code-block:: bash
+
+ cd ~
+
+Now, let's grab the code from Git. This assumes that you have git binaries installed.
+
+.. code-block:: bash
+
+ git clone https://github.com/navit-gps/navit.git
+
+Compiling
+---------
+
+GNU autotools was the old method but is removed in favour of CMake.
+
+CMake builds Navit in a separate directory of your choice - this means that the directory in which the Git source was checked out remains untouched.
+
+.. code-block:: bash
+
+ mkdir navit-build
+ cd navit-build
+
+Once inside the build directory just call the following commands:
+
+.. code-block:: bash
+
+ cmake ~/navit
+ make
+
+Note that CMake will autodetect your system configuration on the first run, and cache this information. Therefore installing or removing libraries after the first CMake run may confuse it and cause weird compilation errors (though installing new libraries should be ok). If you install or remove libraries/packages and subsequently run into errors, do a clean CMake run:
+
+.. code-block:: bash
+
+ rm -r ~/navit-build/*
+ cmake ~/navit
+
+Running the compiled binary
+---------------------------
+
+It is advised to just run this binary locally at the moment (i.e. not to install system-wide).
+Note that for this to work, Navit must be run from the directory where it resides (that is, you must first change your working directory, as described above). If Navit is run from another directory, it will not find its plugins and image files, and will not start.
+
+Here, I am skipping the usual `make install` because we don't need to install navit systemwide for this example.
+
+To execute navit, you can simply click on the binary file (if you are sure it is compiled properly) and it should launch. If you prefer to launch it from a terminal, you need to go into the directory containing the binary, first, like so:
+
+.. code-block:: bash
+
+ cd ~/navit/navit/
+ ./navit
+
+Updating the GIT code
+---------------------
+
+You don't need to recompile everything to update navit to the latest code; with `git pull` only the edited files will be downloaded. Just go to the navit directory (e.g. `/home/CHANGEME/navit`) and run:
+
+.. code-block:: bash
+
+ git pull
+
+You then only need to run `make` again from your binary folder ( navit-build in the cmake example, or the current folder when using autotools).
+
+Prebuild binairies
+------------------
+
+[[Download Navit|Prebuilt binaries]] exist for many distributions.
+
+Configuring the beast
+---------------------
+
+This is [Configuration](https://wiki.navit-project.org/index.php/Configuration), young padawan. Good luck :)
+
+You can also check a [post describing a Navit configuration on Ubuntu Jaunty](http://www.len.ro/2009/07/navit-gps-on-a-acer-aspire-one/).
diff --git a/docs/development/macos_development.rst b/docs/development/macos_development.rst
new file mode 100644
index 000000000..b1559c0a5
--- /dev/null
+++ b/docs/development/macos_development.rst
@@ -0,0 +1,109 @@
+=================
+MacOS Development
+=================
+
+Here are some notes about running navit under Apple Mac OSX.
+
+What you will need
+==================
+
+You need Xcode Tools and MacPorts in order to install navit.
+
+MacPorts developers suggest to install Xcode Tools from http://developer.apple.com/tools/xcode/ and not from the Mac OSX install disk.
+See `Mac-How <http://www.mac-how.net/>`_
+
+Make sure you don't have fink installed on your system, it can confuse MacPorts package building and installation.
+
+ * GTK Gui: You should only need gtk2 and glib2 via macPorts
+ * SDL Gui: Untested yet.
+
+Installation instruction
+========================
+
+Download Xcode Tools from http://developer.apple.com/tools/xcode/ and install it with X11 SDK
+
+Download and Install MacPorts from http://www.macports.org/, or update your version
+
+.. code-block:: bash
+
+ sudo port -d selfupdate
+
+Open up a terminal
+
+make sure your PATH variables has `/opt/local/bin` and `/opt/local/sbin` in it:
+
+.. code-block:: bash
+
+ echo $PATH
+
+
+Install automake, wget, libtool, gpsd (if you want gps support), gtk2 and glib2 (for gkt GUI) with
+
+.. code-block:: bash
+
+ sudo port install automake wget gpsd gtk2 glib2 libtool
+
+Download navit or checkout it from Git
+
+.. code-block:: bash
+
+ git clone git@github.com:navit-gps/navit.git
+
+You may also need a header file to handle endian issues (for PPC only)
+
+.. code-block:: bash
+
+ wget https://navit.svn.sourceforge.net/svnroot/navit/tags/R0_1_0/navit/projs/CodeBlocks/Win32Extra/byteswap.h
+
+If you want to install navit along the MacPorts packages, you need to use the /opt/local directory as prefix:
+
+.. code-block:: bash
+
+ ./autogen.sh && ./configure --prefix=/opt/local --disable-binding-python
+
+type `make` to build NavIt, and `sudo make install` to install it.
+
+Then, you may edit and adapt your `navit.xml` file. The XML maptype is not supported, however normal Navit binfile works perfectly.
+
+Speech
+======
+
+If you want (spoken) directions, get espeak from http://espeak.sourceforge.net, install as advised and use the following snippet in your navit.xml:
+
+.. code-block:: xml
+
+ <speech type="cmdline" data="speak -vde+f4 '%s'"/>
+
+This will tell speak to use a female (f) german (de) voice.
+
+
+Using xcode
+===========
+
+Download one of the `Git sources <https://github.com/navit-gps/navit>`_ that don't contain autogen.sh.
+
+Open X-Code and create a new project. Cocoa will suffice
+
+Add in a new target by clicking the triangle next to "Targets" and selected the location of the navit folder. Delete the previous target.
+
+Delete the default files, and add in the navit files.
+
+In a terminal, go into the navit folder.
+
+.. code-block:: bash
+
+ ./configure --disable-binding-python --disable-sample-map --disable-maptool
+
+xcode can now build the navit
+
+
+You can also use CMake.
+
+.. code-block:: bash
+
+ cd navit && cmake -G Xcode .
+
+Something went wrong?
+=====================
+
+Please let us know by filing an issue on Github or reach out on IRC.
diff --git a/docs/development/programming_guidelines.rst b/docs/development/programming_guidelines.rst
index cabfa015a..0232697d8 100644
--- a/docs/development/programming_guidelines.rst
+++ b/docs/development/programming_guidelines.rst
@@ -9,10 +9,10 @@ Coding Style
============
We try to follow those simple rules:
-* indentation is done using 4 spaces
-* the return type of a function is specified on the same line as the function name
-* the open brackets should be at the end of the line (on the same line as the function name or the if/for/while statement)
-* out line length is of 120 characters
+ * indentation is done using 4 spaces
+ * the return type of a function is specified on the same line as the function name
+ * the open brackets should be at the end of the line (on the same line as the function name or the if/for/while statement)
+ * out line length is of 120 characters
To help us keeping a coherent indentation, we use astyle on C, C++ and java files. Usage example:
@@ -36,8 +36,7 @@ C Standard
----------
C95. That means:
-
-* No inline declarations of variables
+ * No inline declarations of variables
Instead of
@@ -58,7 +57,7 @@ use
a=do_something_else();
}
-* No dynamic arrays
+ * No dynamic arrays
Instead of
@@ -76,7 +75,7 @@ use
struct mystruct *x=g_alloca(count*sizeof(struct mystruct));
}
-* No empty initializers
+ * No empty initializers
Instead of
@@ -90,7 +89,7 @@ use
struct mystruct m={0,};
-* Use `/*` and `*/` for comments instead of `//`
+ * Use `/*` and `*/` for comments instead of `//`
.. note::
@@ -100,12 +99,12 @@ use
Use of libraries
----------------
-* Navit uses [GLIB](http://developer.gnome.org/glib/) extensively. In general, code should use GLib's functions in preference to functions from libc.
- For example, use `g_new()` / `g_free()` / `g_realloc()`, rather than `malloc()` / `free()` / `realloc()`, `g_strdup()` rather than `strdup()`, `g_strcmp0()` rather than `strcmp()` etc.
-* Unfortunately, not all platforms that Navit runs on have a native GLib version.
- For these platforms, there is code replacing these libraries under `navit/support/`.
- Take care to only use functions from GLib (or other libraries), that is also present under `navit/support/`.
- If you need something that is not present there, please discuss it on IRC - it may be possible to add it to the support code.
+ * Navit uses `GLIB <http://developer.gnome.org/glib/>`_ extensively. In general, code should use GLib's functions in preference to functions from libc.
+ For example, use `g_new()` / `g_free()` / `g_realloc()`, rather than `malloc()` / `free()` / `realloc()`, `g_strdup()` rather than `strdup()`, `g_strcmp0()` rather than `strcmp()` etc.
+ * Unfortunately, not all platforms that Navit runs on have a native GLib version.
+ For these platforms, there is code replacing these libraries under `navit/support/`.
+ Take care to only use functions from GLib (or other libraries), that is also present under `navit/support/`.
+ If you need something that is not present there, please discuss it on IRC - it may be possible to add it to the support code.
Comments
--------
@@ -113,10 +112,10 @@ Comments
General guidelines
``````````````````
-* Comments for the entire `file` and `classes/structs/methods/functions` is the `'minimum requirement`'. Examples see below.
-* Please comment your code in a significant and reasonable way.
-* A quick description of (complicated) algorithms makes it easier for other developers and helps them to save a lot of time.
-* Please add a doxygen description for all function you should add. You are we1come to add it too to older functions. Doxygen result can be found [there](http://doxygen.navit-project.org)
+ * Comments for the entire `file` and `classes/structs/methods/functions` is the `'minimum requirement`'. Examples see below.
+ * Please comment your code in a significant and reasonable way.
+ * A quick description of (complicated) algorithms makes it easier for other developers and helps them to save a lot of time.
+ * Please add a doxygen description for all function you should add. You are we1come to add it too to older functions. Doxygen result can be found `there <http://doxygen.navit-project.org>`_
Example :
@@ -138,7 +137,7 @@ Example :
Templates
`````````
-This is an example how you could (should) comment your files and functions. If you have any suggestions for improvement, please feel free to [[Talk:Programming_guidelines|discuss]] them with us. These templates should be doxygen-conform - if not, please correct them. A more comprehensive overview of possible documentation can be found [http://www.stack.nl/~dimitri/doxygen/manual.html here].
+This is an example how you could (should) comment your files and functions. If you have any suggestions for improvement, please feel free to [[Talk:Programming_guidelines|discuss]] them with us. These templates should be doxygen-conform - if not, please correct them. A more comprehensive overview of possible documentation can be found `here <http://www.stack.nl/~dimitri/doxygen/manual.html>`_.
Files
'''''
diff --git a/docs/development/wince_development.rst b/docs/development/wince_development.rst
new file mode 100644
index 000000000..d08fbe8ae
--- /dev/null
+++ b/docs/development/wince_development.rst
@@ -0,0 +1,262 @@
+=================
+WinCE Development
+=================
+
+This is a tutorial for Navit on WinCE/WinMobile. If want just want to download a cab file see [[WinCE]].
+
+This page explains how to build Navit for WinCE/WinMobile with `cegcc <http://cegcc.sourceforge.net>`_.
+
+In November 2009 versions compiled using arm-cegcc-gcc (both revision 1214 and release 0.59.1) had problems (threw exception_datatype_misalignment and caused access violations).
+
+Using the variant arm-mingw32ce of CeGCC 0.59.1 it was possible to build a working executable which can be debugged.
+
+The automatic builds from the subversion repository seem to use an adjusted? version arm-wince-mingw32ce (see `build logs <http://download.navit-project.org/logs/navit/wince/svn>`_).
+
+Building using arm-mingw32ce
+============================
+
+Install arm-mingw32ce
+
+.. code-block:: bash
+
+ mkdir -p navit
+ cd navit
+ export NAVIT_PATH=`pwd`
+ wget -c https://sourceforge.net/projects/cegcc/files/cegcc/0.59.1/mingw32ce-0.59.1.tar.bz2/download
+ tar xjf mingw32ce-0.59.1.tar.bz2
+
+Building Navit using Cmake
+
+.. code-block:: bash
+
+ #!/bin/bash
+ export NAVIT_PATH="/usr/src/navit"
+ export MINGW32CE_PATH="/opt/mingw32ce"
+ export PATH=$PATH:$MINGW32CE_PATH/bin
+
+ cd $NAVIT_PATH
+ if [ ! -e build ]; then
+ mkdir build;
+ fi;
+ cd build
+
+ cmake \
+ -DCMAKE_TOOLCHAIN_FILE=$NAVIT_PATH/Toolchain/arm-mingw32ce.cmake \
+ -Dsvg2png_scaling:STRING=0,16 \
+ -Dsvg2png_scaling_nav:STRING=32 \
+ -Dsvg2png_scaling_country:STRING=16 \
+ $NAVIT_PATH
+
+ make
+
+For subsequential builds it is sufficient to issue "make" in the build directory.
+A rerun of cmake is only neccessary if parameters are changed.
+
+Remote Debugging
+================
+
+Download the debugger provided by the CeGCC project:
+
+.. code-block:: bash
+
+ cd $NAVIT_PATH
+ wget -c https://sourceforge.net/projects/cegcc/files/cegcc/0.59.1/gdb-arm-0.59.1.tar.bz2/download
+ tar xjf gdb-arm-0.59.1.tar.bz2
+
+Start navit (from SD card) in debug server at target (using TCP port 9999):
+
+.. code-block:: bash
+
+ gdbserver :9999 "\Mounted Volume\navit\navit.exe"
+
+Execute remote debugger at host, if target's IP address was 192.168.1.112:
+
+.. code-block:: bash
+
+ $NAVIT_PATH/opt/mingw32ce/bin/arm-mingw32ce-gdbtui $NAVIT_PATH/navit/navit.exe -eval-command="target remote 192.168.1.112:9999"
+
+Building using arm-cegcc
+========================
+
+Building cegcc
+--------------
+
+Set the install path to where you want to install `cegcc <http://cegcc.sourceforge.net cegcc>`_:
+
+.. code-block:: bash
+
+ export CEGCC_PATH=/usr/local/cegcc
+ svn co -r 1214 https://cegcc.svn.sourceforge.net/svnroot/cegcc/trunk/cegcc
+ mkdir -p cegcc-builds
+ cd cegcc-builds
+ ../cegcc/src/build-cegcc.sh --prefix=$CEGCC_PATH --components="binutils bootstrap_gcc w32api newlib dummy_cegccdll gcc cegccdll cegccthrddll libstdcppdll profile"
+
+If you get an error like "'makekinfo' is missing on your system" although makeinfo is available (happened with openSUSE 11.2 and Debian Lenny, both 32 bit), add a workaround to the script src/newlib/missing. Insert a new line after the line " makeinfo)":
+
+.. code-block:: bash
+
+ "$@" && exit 0
+
+If you get an error like `arm-cegcc-windres: Can't detect architecture`, apply the patch file you find on http://sourceforge.net/tracker/?func=detail&atid=865516&aid=2574606&group_id=173455
+
+Building libraries
+------------------
+
+November 2009: The libraries below are *not needed* anymore since navit brings its own version of glib.
+
+The libraries require additional (not published or not existing) patches to build. Just skip to section Building Navit.
+
+These are the libraries needed and versions which should work:
+ * zlib-1.2.3
+ * libiconv-1.9.1
+ * gettext-0.17
+ * libpng-1.2.34
+ * tiff-3.8.2
+ * glib-2.18.4
+
+The current versions of these libs don't need many changes, but they all don't know anything about cegcc. Until I found a way to upload the patches, you have to edit the code yourself. Just add `| -cegcc*` to the line containing `-cygwin*` of all files named config.sub. Here is the example for libiconv-1.9.1_cegcc.patch:
+
+.. code-block:: bash
+
+ diff -ur libiconv-1.9.1/autoconf/config.sub libiconv-1.9.1_cegcc/autoconf/config.sub
+ --- libiconv-1.9.1/autoconf/config.sub 2003-05-06 11:36:42.000000000 +0200
+ +++ libiconv-1.9.1_cegcc/autoconf/config.sub 2009-02-06 20:22:14.000000000 +0100
+ @@ -1121,7 +1121,7 @@
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* | -cegcc* \
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ diff -ur libiconv-1.9.1/libcharset/autoconf/config.sub libiconv-1.9.1_cegcc/libcharset/autoconf/config.sub
+ --- libiconv-1.9.1/libcharset/autoconf/config.sub 2003-05-06 11:36:42.000000000 +0200
+ +++ libiconv-1.9.1_cegcc/libcharset/autoconf/config.sub 2009-02-06 20:23:39.000000000 +0100
+ @@ -1121,7 +1121,7 @@
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* | -cegcc* \
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+
+zlib
+''''
+
+.. code-block:: bash
+
+ wget http://www.zlib.net/zlib-1.2.3.tar.gz
+ tar xzf zlib-1.2.3.tar.gz
+ cd zlib-1.2.3
+ export PATH=$CEGCC_PATH/bin:$PATH
+ CC=arm-cegcc-gcc AR="arm-cegcc-ar r" RANLIB=arm--cegcc-ranlib ./configure --prefix=$CEGCC_PATH
+ make
+ make install
+
+libiconv
+''''''''
+
+
+.. code-block:: bash
+
+ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.1.tar.gz
+ tar xzf libiconv-1.9.1.tar.gz
+ patch -d libiconv-1.9.1 -p1 < libiconv-1.9.1_cegcc.patch
+ cd libiconv-1.9.1
+ ./configure --host=arm-cegcc --prefix=$CEGCC_PATH
+ make
+ make install
+
+gettext
+'''''''
+
+workaround for `plural-eval.h:50: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'sigfpe_exit'`
+extend gettext-tools/src/plural-eval.h line 32 to `#if defined _MSC_VER || defined __MINGW32__ || defined __CEGCC__`
+dito for gettext-tools/gnulib-lib/wait-process.c line 31
+
+
+.. code-block:: bash
+
+ wget http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-0.17.tar.gz
+ tar xzf gettext-0.17.tar.gz
+ cd gettext-0.17
+ patch -p1 < ../gettext-0.17_cegcc.patch
+ ./configure --host=arm-cegcc --prefix=$CEGCC_PATH
+ make
+ make install
+
+libpng
+''''''
+
+.. code-block:: bash
+
+ wget http://prdownloads.sourceforge.net/libpng/libpng-1.2.34.tar.gz?download
+ tar xzf libpng-1.2.34.tar.gz
+ cd libpng-1.2.34
+ patch -p1 < ../libpng-1.2.34_cegcc.patch
+ ./configure --host=arm-cegcc --prefix=$CEGCC_PATH
+ CFLAG="-I $C_INCLUDE_PATH" make
+ make install
+
+libtiff
+'''''''
+
+.. code-block:: bash
+
+ libtool: link: CURRENT `' must be a nonnegative integer
+
+
+.. code-block:: bash
+
+ wget http://libtiff.maptools.org/dl/tiff-3.8.2.tar.gz
+ tar xzf tiff-3.8.2.tar.gz
+ cd tiff-3.8.2
+ patch -p1 < ../tiff-3.8.2_cegcc.patch
+ ./configure --host=arm-cegcc --prefix=$CEGCC_PATH
+ make
+ make install
+
+glib
+''''
+
+.. code-block:: bash
+
+ gatomic.c:570: Error: no such instruction: `swp %eax,%eax,[%esi]'
+
+
+.. code-block:: bash
+
+ wget http://ftp.gnome.org/pub/gnome/sources/glib/2.18/glib-2.18.4.tar.bz2
+ tar xjf glib-2.18.4.tar.bz2
+ cd glib-2.18.4
+ patch -p1 < ../glib-2.18.4_cegcc.patch
+ ./configure --host=arm-cegcc --prefix=$CEGCC_PATH
+ make
+ make install
+
+Building Navit
+==============
+
+.. code-block:: bash
+
+ git clone https://github.com/navit-gps/navit.git
+ cd navit/navit
+
+Add `| -cegcc*` to all files named `config.sub` as for the libraries.
+
+.. code-block:: bash
+
+ WINDRES=arm-cegcc-windres ./configure --disable-vehicle-file --host=arm-cegcc --prefix=$CEGCC_PATH 2>&1 | tee configure-cegcc.log
+
+Add to `navit\support\wordexp\glob.h`: `|| defined __CEGCC__`
+
+Change include in `navit\vehicle\wince\vehicle_wince.c`: `#include <sys/io.h>`
+
+Add to `navit\file.c`: `&& !defined __CEGCC__`
+
+.. code-block:: bash
+
+ make -j
diff --git a/docs/development/windows_development.rst b/docs/development/windows_development.rst
new file mode 100644
index 000000000..511f261c1
--- /dev/null
+++ b/docs/development/windows_development.rst
@@ -0,0 +1,538 @@
+===================
+Windows Development
+===================
+
+Compiling using CMake
+=====================
+
+At the moment, compiling with [[CMake]] seems to be the only way to create a runnable binary in Windows.
+
+
+Compiling / debugging using CodeBlocks & mingw compiler
+=======================================================
+
+ Up to and including release 0.0.4 the Win32 builds were supported using the CodeBlocks/mingw development environment,
+ in combination with the glade for win32 GTK devlopment toolkit. For release 0.1.0 and later use native mingw
+ (see below) or cygwin (see below).
+
+Downloads
+---------
+
+In order to compile the win32 version of Navit, you need the following software development tools:
+ * Glade/gtk+ toolkit for win32 from `Glade 3.43 / Gtk 2.12.9 <http://sourceforge.net/project/showfiles.php?group_id=98754>`_
+ and `SourceForgeDownload: Gtk+ 2.10.11 <http://sourceforge.net/project/showfiles.php?group_id=98754&package_id=111411>`_
+ * ming compiler from `Website: mingw <http://www.mingw.org>`_ or `SourceForgeDownload: MinGW <http://sourceforge.net/project/showfiles.php?group_id=2435>`_ (select Automated MinGW installer).
+ * CodeBlocks IDE from `CodeBlocks download page <http://www.codeblocks.org/downloads.shtml>`_ (select recent development snapshot)
+ or `SourceForgeDownload: CodeBlocks <http://sourceforge.net/project/showfiles.php?group_id=126998&package_id=138996>`_
+
+Installation
+------------
+
+Install the packages mentioned above. After everything has been installed you can open the navit.workspace file in CodeBlocks:
+
+.. warning::
+
+ Not up to date! Directory projs\CodeBlocks was deleted in 2009
+
+Compiling
+---------
+
+.. warning::
+
+ Not up to date! Directory projs\CodeBlocks was deleted in 2009
+
+To compile:
+
+ * Start the CodeBlocks application
+ * Open the navit.workspace file (located in projs\CodeBlocks directory)
+ * Set the GTK_DIR enviroment variable in CodeBlocks (Setting/Environment, and select environments variables)
+ * the GTK_DIR should point to where you have installed the Glade/Gtk toolkit package (e.g. d:\gtk)
+
+Now you should be able to build/debug the navit project:
+
+Note:
+
+**ZLIB -lzdll message** `Settings> Compiler and Debugger..> Global compiler settings` In the Linker settings TAB (Add) C:\MinGW\lib\libzdll.a
+
+**SAPI** You need to download and install the `Microsoft Speech SDK 5.1 <http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&displaylang=en>`_ for this project to build.
+
+Running from debugger
+---------------------
+
+In order to run navit from the CodeBlocks debugger, you have to:
+ * Copy the navit.xml file from the source directory into the projs\CodeBlocks directory
+ * Copy the xpm directory from the toplevel directory into the projs\CodeBlocks directory
+ * Modify the navit.xml to set the map (currently only OSM binary files are supported)
+
+Compiling and running using cygwin
+==================================
+
+Download cygwin
+---------------
+
+Download the cygwin setup.exe from http://cygwin.com/setup.exe
+
+.. note::
+ I have been unable to build with cygwin according to these instructions. I suggest you only try it if you are knowledgable
+ and can improve the instructions. --[[User:Nop|Nop]] 13:01, 7 November 2010 (UTC)
+
+Dependencies
+------------
+
+You will probably need the following packages from cygwin :
+
+ * automake
+ * autoconf
+ * gtk2-x11-devel
+ * libQt4Gui-devel
+ * libQtSql4--devel
+ * gcc
+ * g++ (for qt rendered)
+ * gettext-devel
+ * diffutils
+ * pkgconfig
+ * xorg-x11-devel
+ * glib2-devel
+ * pango-devel
+ * atk-devel
+ * libtool
+ * make
+ * rsvg
+ * wget
+ * cvs because of autopoint
+
+Prepare the build
+-----------------
+
+When using cygwin 1.7 you can skip this block and continue at cygwin 1.7
+
+Edit configure.in and add the following to CFLAGS at line 10:
+
+.. code-block:: bash
+
+ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
+
+It should look like this :
+
+.. code-block:: bash
+
+ CFLAGS="$CFLAGS -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include"
+
+Now run `autogen.sh && ./configure`
+
+If you get: `checking for X... no`
+try adding the following parameters to ./configure :
+`--x-libraries=/usr/X11R6/lib --x-include=/usr/X11R6/includes`
+
+Cygwin 1.7
+''''''''''
+
+With cygwin 1.7 is fairly easy to build navit. Install all the required packages(some has diffrent names now).
+Run the autogen script first `./autogen.sh`
+and then configure with the following options: `./configure --disable-binding-python --disable-plugins`
+
+Build navit
+-----------
+
+Skip for cygwin 1.7
+
+Currently, building navit will fail at this point, because we haven't found an implementation of the wordexp function for cygwin.
+
+Here's a message in that thread from an actual competent Cygwin user: http://www.mail-archive.com/cygwin@cygwin.com/msg16750.html
+
+The implication of that is a "C library". A "C library" is an "implementation" of reusable code. It consists of a library file that contains the compiled object code and a header file with the matching declarations that goes along with it. The library is implemented as a static archive at build time and simply linked into the app binary. There's nothing to include in that case -- it's already in there.
+
+
+Cygwin 1.7
+''''''''''
+
+Just type `make` and `make install`. You can use stow for easy install and uninstall stuff without using packagemangement.
+
+Configuration GPS
+-----------------
+
+.. note::
+
+ If this works at all, it's only when running under cygwin. See above for the proper Win32 configuration. --[[User:Nop|Nop]] 13:04, 7 November 2010 (UTC)
+
+If you have a gps cable device which spits out NMEA data, you can configure it like under unix. Beware of the following enumeration:
+ * ComPort1==ttyS0
+ * ComPort2==ttyS1
+ * ...
+
+Example:
+
+.. code-block:: xml
+
+ <vehicle name="GPSOnCom3" profilename="car" enabled="yes" active="1" source="file:/dev/ttyS2" baudrate="38400" color="#0000ff"/>
+
+Running under Cygwin
+--------------------
+
+To run navit under cygwin you need to install the cygwin xorg-server. Than just run navit.
+
+
+
+Make a redistributable package
+------------------------------
+
+
+Please read and understand http://cygwin.com/licensing.html so that you don't infringe Cygwin's intellectual property rights (copyleft) when you distribute the package you've built.
+Then follows: http://cygwin.com/setup.html
+
+Compiling a native binary using mingw
+=====================================
+
+The main advantage of this method is that it will produce a redistributable binary.
+
+Downloads
+---------
+
+In order to compile the win32 version of Navit, you need the following software development tools
+ * GTK+ toolkit for win32 from `SourceForgeDownload: Glade/GTK+ <http://sourceforge.net/project/showfiles.php?group_id=98754>`_ (select gtk+-win32-devel)
+ * MinGW from `SourceForgeDownload: MinGW <http://sourceforge.net/project/showfiles.php?group_id=2435>`_ (select Automated MinGW installer)
+ * MSYS from `SourceForgeDownload: MSYS Base System <http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=2496>`_
+ * msysCORE from `SourceForgeDownload: MSYS Base System <http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963>`_
+ * diffutils from `SourceForgeDownload: MSYS Base System <http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963>`_
+ * autoconf from `SourceForgeDownload: MSYS Supplementary Tools <http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879>`_
+ * autogen from `SourceForgeDownload: MSYS Supplementary Tools <http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879>`_
+ * automake from `SourceForgeDownload: MSYS Supplementary Tools <http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879>`_
+ * gettext from `SourceForgeDownload: MSYS Supplementary Tools <http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879>`_
+ * libtool from `SourceForgeDownload: MSYS Supplementary Tools <http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879>`_
+ * libiconv from `SourceForgeDownload: MSYS Supplementary Tools <http://sourceforge.net/downloads/mingw/MinGW/libiconv>`_
+
+Probably the easiest way to obtain and install all the MSYS packages is to follow the instructions `here <http://www.mingw.org/wiki/msys>`_
+
+For speech support, one option is to use the "cmdline" speech type (refer to [[Configuration]]) and a utility such as a Windows port of `Say <http://krolik.net/wsvn/wsvn/public/Say%2B%2B/>`_
+
+TroubleShooting
+===============
+
+.. code-block::
+
+ /bin/m4: unrecognized option '--gnu'
+
+Wrong version of m4, use 1.4.13
+
+
+.. code-block::
+
+ Can't locate object method "path" via package "Request (perhaps you forgot to load "Request"?)
+
+Wrong version of Autoconf, make sure the latest version is installed, plus the wrapper (version 1.7). Also delete autom4te.cache.
+
+
+.. code-block::
+
+ command PKG_MODULE_EXISTS not recognized
+
+For some reason the necessary file "pkg.m4" containing various macros is missing. Find it and put it in ./m4
+
+Cross-Compiling win32 exe using Linux Ubuntu 14.04.1
+====================================================
+
+This is a quick walk-thru on compiling a win32 exe using Ubuntu as development machine.
+
+Set up Ubuntu to build Linux version
+------------------------------------
+
+First, setup compiling in linux ubuntu explained in https://navit.readthedocs.io/en/trunk/development/linux_development.html
+Here is a quick walk-thru:
+
+Get all the dependencies for Ubuntu in one command:
+
+.. code-block:: bash
+
+ sudo apt-get install cmake zlib1g-dev libpng12-dev libgtk2.0-dev librsvg2-bin \
+ g++ gpsd gpsd-clients libgps-dev libdbus-glib-1-dev freeglut3-dev libxft-dev \
+ libglib2.0-dev libfreeimage-dev gettext
+
+get the latest SVN-source.
+First, cd into root: `cd ~`
+
+Now, let's grab the code from SVN. This assumes that you have subversion installed.
+This will download the latest SVN source and put in in folder "navit-source".
+You can use any location you want for the source, just to keep it simple we place it right in the root.
+`svn co svn://svn.code.sf.net/p/navit/code/trunk/navit/ navit-source`
+
+Create a directory to put the build in and cd into it:
+
+.. code-block:: bash
+
+ mkdir navit-build
+ cd navit-build
+
+Start compiling and build navit: `cmake ~/navit-source && make`
+
+At the end of the process navit is built into navit-build/.
+You can start navit to see if all worked well:
+
+.. code-block:: bash
+
+ cd ~/navit-build/navit/
+ ./navit
+
+Building the win32 exe
+----------------------
+
+Now that we have set up the basic building environment we can build a win32 exe using the next walk-thru.
+
+Install ming32 and the dependencies: `sudo apt-get install mingw32 libsaxonb-java librsvg2-bin mingw32-binutils mingw32-runtime default-jdk`
+
+now cd into the source:
+
+.. code-block:: bash
+
+ cd ~
+ cd navit-source
+
+We are going to place the build directory within the source directory.
+First, make the build directory and cd into it:
+
+.. code-block:: bash
+
+ mkdir build
+ cd build
+
+From within the build directory start compiling and building:
+
+.. code-block:: bash
+
+ cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain/mingw32.cmake ../
+
+And then make the actual build:
+
+.. code-block:: bash
+
+ make -j4
+
+The -j4 part is used to define the amount of processors the process can use.
+So if you have a dual-core pc use -j2
+If -j4 fails, try -j2 and if that fails try "make" alone.
+
+Known "bugs"
+------------
+
+The "locale" folder is generated one level up.
+because of that the languages in navit are not working
+Cut and paste (or move) the "locale" folder to the navit folder.
+This should be investigated anf fixed so the folder is in the correct place after a build.
+So move `navit-source/build/locale/` to `navit-source/build/navit/locale`
+
+You can run `mv navit-source/build/locale/ navit-source/build/navit/`
+
+The country-flags images in the "town" search are not displayed.
+This could be due to a conversion error during build, has to be investigated and solved but doesn't inflict with the use of navit.
+
+There are a lot of empty folders that are not of use.
+Also there are cmake folders and files in every folder.
+You can delete those without any problem.
+
+Windows Mobile/Windows CE
+=========================
+
+[[WinCE_development]] may have details that are relevant for compilation on WindowsCE / Windows Mobile.
+
+You can download now
+[http://download.navit-project.org/navit/wince/svn/ cab or zip file for Windows Mobile and WindowsCE]!
+Highest number is the newest version of NavIt.
+
+Download it and save on your Storage Card. Install it.
+
+Now you have NavIt on your PDA or Mobile Phone.
+
+This is a manual for self compiling (navit.exe)
+
+
+You need to have a Linux (like Ubuntu).
+If you didn´t have Linux, start your Linux on Live-CD.
+
+Compiling navit for wince using http://cegcc.sourceforge.net/.
+Download latest cegcc release and install it.
+
+In November 2009 versions compiled using arm-cegcc-gcc (both revision 1214 and release 0.59.1) had problems (threw exception_datatype_misalignment and caused access violations).<br />
+Using the variant arm-mingw32ce of CeGCC 0.59.1 it was possible to build a working executable which can be debugged (see [[WinCE development]]).
+
+Source [http://www.archlinux.de/?page=PackageDetails;package=4837 cegcc-arm and mingw] (TODO dead link)
+
+Current installs in /opt/cegcc.
+Setup a cross-compile environment:
+
+Example setcegccenv.sh:
+
+.. code-block:: bash
+
+ #! /bin/bash
+ export PATH=$PATH:/opt/cegcc/bin/
+ export CEGCC_PATH=/opt/cegcc
+ export WINCE_PATH=/opt/wince
+ export PATH=$CEGCC_PATH/bin:$PATH
+ export CPPFLAGS="-I$WINCE_PATH/include"
+ export LDFLAGS="-L$WINCE_PATH/lib -L$CEGCC_PATH/lib"
+ export LD_LIBRARY_PATH="$WINCE_PATH/bin"
+ export PKG_CONFIG_PATH="$WINCE_PATH/lib/pkgconfig"
+ export PKG_CONFIG_LIBDIR="$WINCE_PATH/lib/pkgconfig"
+
+
+For installation, compiling and configuring please see manual for NavIt on Linux.
+
+Then autogen.sh and configure navit. Example configure for wince:
+
+.. code-block:: bash
+
+ ./configure \
+ RANLIB=arm-cegcc-ranlib \
+ CXX=arm-cegcc-g++ \
+ CC=arm-cegcc-gcc \
+ --host=arm-pe-wince \
+ --disable-readline \
+ --disable-dynamic-extensions \
+ --disable-largefile \
+ --enable-tempstore \
+ CFLAGS="-I/opt/wince/include -mwin32 -DWIN32 -D_WIN32_WCE=0x0400 -D_WIN32_IE=0x0400 -Wl,--enable-auto-import" \
+ LDFLAGS="-L/opt/wince/lib" \
+ --prefix=/opt/wince/ \
+ WINDRES=arm-cegcc-windres \
+ --disable-vehicle-demo \
+ --disable-vehicle-file \
+ --disable-speech-cmdline \
+ --disable-speech-speech-dispatcher \
+ --disable-postgresql \
+ --disable-plugins \
+ --prefix=/opt/wince \
+ --disable-graphics-qt-qpainter \
+ --disable-gui-sdl \
+ --disable-samplemap \
+ --disable-gui-gtk \
+ --disable-gui-internal \
+ --disable-vehicle-gypsy \
+ --disable-vehicle-file \
+ --disable-vehicle-demo \
+ --disable-binding-dbus \
+ --enable-avoid-unaligned \
+ --enable-avoid-float
+
+If example did not run, do this:
+
+.. code-block:: bash
+
+ ./configure \
+ RANLIB=arm-mingw32ce-ranlib \
+ CXX=arm-mingw32ce-g++ \
+ CC=arm-mingw32ce-gcc \
+ --host=arm-pe-wince \
+ --disable-readline \
+ --disable-dynamic-extensions \
+ --disable-largefile \
+ --enable-tempstore ¸\
+ CFLAGS="-mwin32 -DWIN32 -D_WIN32_WCE=0x0400 -D_WIN32_IE=0x0400 -Wl,\
+ --enable-auto-import" WINDRES=arm-mingw32ce-windres \
+ --disable-vehicle-demo \
+ --disable-vehicle-file \
+ --disable-speech-cmdline \
+ --disable-speech-speech-dispatcher \
+ --disable-postgresql \
+ --disable-plugins \
+ --prefix=/opt/wince \
+ --disable-graphics-qt-qpainter \
+ --disable-gui-sdl \
+ --disable-samplemap \
+ --disable-gui-gtk \
+ --disable-gui-internal \
+ --disable-vehicle-gypsy \
+ --disable-vehicle-file \
+ --disable-vehicle-demo \
+ --disable-binding-dbus \
+ --enable-avoid-unaligned \
+ --enable-avoid-float \
+ --enable-support-libc \
+ PKG_CONFIG=arm-mingw32ce-pkgconfig
+
+
+This is basic just to view the maps. Then: `make`
+As usual, osm2navit.exe will fail to compile. `cd navit && make navit.exe`
+You find navit.exe under (your directory)/navit/navit/navit.exe
+
+Install sync on your system.
+
+
+----
+
+For installation you need packages librapi, liprapi2, pyrapi2, libsync.
+Package synce-0.9.0-1 contains librapi and libsync.
+You do not need to install it again!
+
+Sources: [http://sourceforge.net/project/showfiles.php?group_id=30550 Sync] If link is crashed, use this: [http://rpmfind.net/linux/rpm2html/search.php?query=librapi.so.2 Sync Link2]
+libsync: [http://sourceforge.net/project/mirror_picker.php?height=350&width=300&group_id=30550&use_mirror=puzzle&filesize=&filename=libsynce-0.12.tar.gz&abmode= libsync]
+pyrapi2: [http://rpmfind.net/linux/rpm2html/search.php?query=pyrapi2.so pyrapi2]
+librapi2 [http://repository.slacky.eu/slackware-12.0/libraries/synce-librapi/0.11.0/src/ librapi2]
+
+Once you have navit.exe ready, copy `/opt/cegcc/arm-cegcc/lib/device/*.dll` on your device.
+
+For Debian use:
+
+.. code-block::
+
+ synce-pcp /opt/cegcc/arm-cegcc/lib/device/cegcc.dll ":/windows/cegcc.dll"
+ synce-pcp /opt/cegcc/arm-cegcc/lib/device/cegccthrd.dll ":/windows/cegccthrd.dll"
+
+All other Linux/Unix systems use:
+
+.. code-block::
+
+ pcp /opt/cegcc/arm-cegcc/lib/device/cegcc.dll ":/windows/cegcc.dll"
+ pcp /opt/cegcc/arm-cegcc/lib/device/cegccthrd.dll ":/windows/cegccthrd.dll"
+
+
+Synchronisation with a grahic surface, if connection to device failed:
+
+Packages RAKI and RAPIP you can use.
+
+RAKI you have in packages synce-kde (see Synce).
+
+RAKI is like Active Sync, RAPIP is a little bit like fish:// under Konquerror.
+
+Under SuSE Linux you can run kitchensync (not for all PDA).
+
+For synchronisation you can also use kpilot under Suse Linux (runs not with all PDA) or Microsoft Active Sync under Windows (free download at Microsoft homepage).
+
+You can put your memory card in card reader and copy data. Over console you must type in `sync` before you remove memory card.
+
+Install navit.exe.
+
+Debian:
+
+.. code-block::
+
+ synce-pcp navit.exe ":/Storage Card/navit.exe"
+
+All other:
+
+.. code-block::
+
+ pcp navit.exe ":/Storage Card/navit.exe"
+
+
+Prepare a navit.xml.wince
+
+Change gui to win32 and graphics to win32.
+
+Fix the paths to your maps "/Storage Card/binfilemap.bin"
+
+Debian:
+
+.. code-block::
+
+ synce-pcp binfilemap.bin ":/Storage Card/binfilemap.bin"
+ synce-pcp navit.xml.wince ":/Storage Card/navit.xml"
+
+All other:
+
+.. code-block::
+
+ pcp binfilemap.bin ":/Storage Card/binfilemap.bin"
+ pcp navit.xml.wince ":/Storage Card/navit.xml"
+
+
+For a start best use the samplemap.
+Now you can launch navit.exe on the device.