Task/(De)Serialiser: save and restore the keyhole inner radius
[xcsoar.git] / README
blob8c55c93e692efb46aa59c99e852be36ea5b1c37a
1 XCSoar README
2 =============
4 XCSoar is a tactical glide computer for Android, Linux, Mac OS X,
5 Windows and Windows CE/Mobile.
7 This file is aimed at developers.  Users should read the manual which
8 can be found on the XCSoar home page (http://www.xcsoar.org/).
11 Getting the source
12 ------------------
14 The XCSoar source code is managed with git (http://git-scm.com/).  It
15 can be downloaded with the following command:
17  git clone git://git.xcsoar.org/xcsoar/master/xcsoar.git
19 To update your repository, type:
21  git pull
23 For more information, please refer to the git documentation.
26 Compiling from source
27 ---------------------
29 To compile from source, you need:
31 - GNU make
32 - GNU compiler collection (gcc), version 4.6.2 or later
33   or clang/LLVM 3.1 (with "make CLANG=y")
34 - GNU gettext
35 - rsvg (http://librsvg.sourceforge.net/)
36 - ImageMagick 6.4 (http://www.imagemagick.org/)
37 - xsltproc (http://xmlsoft.org/XSLT/xsltproc2.html)
38 - Perl and XML::Parser
40 To cross-compile to (desktop) Windows, you need the mingw-w64 version of gcc:
42  http://mingw-w64.sourceforge.net/
44 For Pocket PC / Windows CE / Windows Mobile, you need mingw32ce:
46  http://max.kellermann.name/download/xcsoar/devel/cegcc/
48 For Linux/Unix, you need:
50 - Boost (http://www.boost.org/)
51 - zlib (http://www.zlib.net/)
52 - CURL (http://curl.haxx.se/)
53 - SDL (http://www.libsdl.org/)
54 - SDL_ttf (http://www.libsdl.org/projects/SDL_ttf/)
55 - libpng (http://www.libpng.org/)
56 - libjpeg (http://libjpeg.sourceforge.net/)
57 - OpenGL
58 - to run XCSoar, you need one of the following fonts (Debian package):
59   DejaVu (ttf-dejavu), Droid (ttf-droid), Freefont (ttf-freefont)
61 On Debian, you may install these using the following command:
63  apt-get install make g++ \
64    libboost-dev zlib1g-dev \
65    libsdl1.2-dev libsdl-ttf2.0-dev \
66    libpng-dev libjpeg-dev \
67    libcurl4-openssl-dev \
68    libxml-parser-perl \
69    librsvg2-bin xsltproc \
70    imagemagick gettext \
71    ttf-dejavu
73 For Android, you need:
75 - Android SDK level 16 (http://developer.android.com/sdk/)
76 - Android NDK r8e (http://developer.android.com/sdk/ndk/)
77 - Ogg Vorbis (http://www.vorbis.com/)
78 - Apache Ant (http://ant.apache.org/)
80 For Mac OS X, you need:
81 - GCC 4.6.2 or newer (http://hpc.sourceforge.net/, or homebrew, or Macports)
82 - Boost (http://www.boost.org/)
83 - zlib (http://www.zlib.net/)
84 - CURL (http://curl.haxx.se/)
85 - SDL (http://www.libsdl.org/)
86 - SDL_ttf (http://www.libsdl.org/projects/SDL_ttf/)
87 - libpng (http://www.libpng.org/)
88 - libjpeg (http://libjpeg.sourceforge.net/)
89 - libicns (http://icns.sourceforge.net/)
91 To compile, run:
93  make TARGET=<target>
95 To compile on a Unix-like system (Linux, Mac), you may run the
96 unofficial configure script to detect the build toolchain (optional
97 and unsupported, not recommended):
99  ./build/contrib/configure
100  make
102 Supported targets:
104  PC: desktop Windows (32 bit)
106  WIN64: desktop Windows (64 bit)
108  PPC2000, PPC2003: Pocket PC (for PPC2002 devices, use PPC2000 target)
110  WM5: Windows Mobile 5.0 and later
112  WM5X, PPC2003X: same as above with code optimised for XScale CPUs
114  ALTAIR: Triadis Altair
116  UNIX: Linux and other UNIX-like operating systems, including Mac OS X
118  UNIX32, UNIX64: like UNIX, but explicitly choose 32 or 64 bit build
120  OPT: alias for UNIX with optimisation and no debugging
122  PI: cross-compiling for the Raspberry Pi
124  KOBO: cross-compiling for Kobo Mini and others (experimental)
126  ANDROID: Android with ARMv6 CPU
128  ANDROID7: Android with ARMv7 CPU
130  ANDROID7NEON: Android with ARMv7 CPU and NEON extension
132  ANDROID86: Android with x86 CPU
134  ANDROIDMIPS: Android with MIPS CPU
136  ANDROIDFAT: "fat" Android package for all supported CPUs
138  CYGWIN: desktop Windows with Cygwin (experimental)
140  WINE: WineLib (experimental)
143 Submitting patches
144 ------------------
146 Subscribe to the XCSoar developer mailing list:
148  https://lists.sourceforge.net/lists/listinfo/xcsoar-devel
149  xcsoar-devel@lists.sourceforge.net
151 Use this mailing list to submit patches or "git pull" requests.
153 - patches should be self-contained
154 - patches should be self-documenting (add a good description on what
155   is changed, and why you are changing it)
156 - write one patch for one change