Add development progress status for Android
[freeglut] / README.android
1 Status
2 ======
3
4 Done:
5 - Initialize context with EGL
6 - Keyboard support
7 - Mouse support
8 - Virtual keypad (on touchscreen)
9 - Extract assets in cache dir on start-up
10
11 TODO:
12 - Open new windows (if that's possible)
13 - Joystick support (xperia play...)
14 - Display translucent keys on virtual keypad
15 - API to detect touchscreen presence
16 - API to disable assets extract
17 - GLES2 support for geometry and menus
18   (possibly also GLES1)
19 - Generate freeglut_std.h with GLES1 or GLES2 or non-ES headers
20 - Make EGL support reusable by Mesa X11
21 - ...
22
23
24 Create a module compatible with the NDK build-system
25 ====================================================
26
27 - Use your own cross-compiler for Android, or export the one from the
28   NDK:
29
30   /usr/src/android-ndk-r7/build/tools/make-standalone-toolchain.sh \
31     --platform=android-9 \
32     --install-dir=/usr/src/ndk-standalone-9
33
34 - Build FreeGLUT with a '/freeglut' prefix :
35
36   PATH=/usr/src/ndk-standalone-9/bin:$PATH
37   cd /usr/src/freeglut-3.0.0/
38   cmake \
39     -D CMAKE_TOOLCHAIN_FILE=android_toolchain.cmake \
40     -D CMAKE_INSTALL_PREFIX=/freeglut \
41     -D FREEGLUT_GLES2=ON \
42     -D FREEGLUT_BUILD_DEMOS=NO \
43     .
44   make -j4
45   make install DESTDIR=$(pwd)
46
47 - Copy Android.mk in the new 'freeglut/' directory :
48
49   cp android/Android.mk freeglut/
50
51 - Reference this module in your jni/Android.mk:
52
53   LOCAL_STATIC_LIBRARIES := ... freeglut
54   ...
55   $(call import-module,freeglut)
56
57 - You now can point your NDK_MODULE_PATH to this module!
58
59   ndk-build NDK_MODULE_PATH=/usr/src/freeglut-3.0.0/freeglut/
60
61
62 Compile FreeGLUT for a traditional cross-compiler environment
63 =============================================================
64
65 - Use your own cross-compiler for Android, or export the one from the
66   NDK:
67
68   /usr/src/android-ndk-r7/build/tools/make-standalone-toolchain.sh \
69     --platform=android-9 \
70     --install-dir=/usr/src/ndk-standalone-9
71
72 - Compile FreeGLUT and install it in your Android cross-compiler path:
73
74
75   PATH=/usr/src/ndk-standalone-9/bin:$PATH
76   cd /usr/src/freeglut-3.0.0/
77   cmake \
78     -D CMAKE_TOOLCHAIN_FILE=android_toolchain.cmake \
79     -D CMAKE_INSTALL_PREFIX=/usr/src/ndk-standalone-9 \
80     -D FREEGLUT_GLES2=ON \
81     -D FREEGLUT_BUILD_DEMOS=NO \
82     .
83   make -j4
84   make install
85
86 - Compile your own project, for instance if you use the autotools:
87
88   PATH=/usr/src/ndk-standalone-9/bin:$PATH
89   ./configure --host=arm-linux-androideabi --prefix=/somewhere
90   make
91   make install