Use different names for GLES1 and GLES2 libraries, to allow parallel install
[freeglut] / README.android
index d3770bb..c0b43b8 100644 (file)
@@ -1,24 +1,7 @@
 Status
 ======
 
-Done:
-- Initialize context with EGL
-- Keyboard support
-- Mouse support
-- Virtual keypad (on touchscreen)
-- Extract assets in cache dir on start-up
-
-TODO:
-- Open new windows (if that's possible)
-- Joystick support (xperia play...)
-- Display translucent keys on virtual keypad
-- API to detect touchscreen presence
-- API to disable assets extract
-- GLES2 support for geometry and menus
-  (possibly also GLES1)
-- Generate freeglut_std.h with GLES1 or GLES2 or non-ES headers
-- Make EGL support reusable by Mesa X11
-- ...
+See http://freeglut.sourceforge.net/docs/android.php
 
 
 Create a module compatible with the NDK build-system
@@ -35,28 +18,30 @@ Create a module compatible with the NDK build-system
 
   PATH=/usr/src/ndk-standalone-9/bin:$PATH
   cd /usr/src/freeglut-3.0.0/
+  mkdir cross-android-module/
+  cd cross-android-module/
   cmake \
-    -D CMAKE_TOOLCHAIN_FILE=android_toolchain.cmake \
-    -D CMAKE_INSTALL_PREFIX=/freeglut \
+    -D CMAKE_TOOLCHAIN_FILE=../android_toolchain.cmake \
+    -D CMAKE_INSTALL_PREFIX=/freeglut-gles2 \
     -D FREEGLUT_GLES2=ON \
     -D FREEGLUT_BUILD_DEMOS=NO \
-    .
+    ..
   make -j4
   make install DESTDIR=$(pwd)
 
 - Copy Android.mk in the new 'freeglut/' directory :
 
-  cp android/Android.mk freeglut/
+  cp ../android/gles2/Android.mk freeglut-gles2/
 
 - Reference this module in your jni/Android.mk:
 
-  LOCAL_STATIC_LIBRARIES := ... freeglut
+  LOCAL_STATIC_LIBRARIES := ... freeglut-gles2
   ...
-  $(call import-module,freeglut)
+  $(call import-module,freeglut-gles2)
 
 - You now can point your NDK_MODULE_PATH to this module!
 
-  ndk-build NDK_MODULE_PATH=/usr/src/freeglut-3.0.0/freeglut/
+  ndk-build NDK_MODULE_PATH=/usr/src/freeglut-3.0.0/cross-android-module/freeglut-gles2/
 
 
 Compile FreeGLUT for a traditional cross-compiler environment
@@ -74,12 +59,14 @@ Compile FreeGLUT for a traditional cross-compiler environment
 
   PATH=/usr/src/ndk-standalone-9/bin:$PATH
   cd /usr/src/freeglut-3.0.0/
+  mkdir cross-android-toolchain/
+  cd cross-android-toolchain/
   cmake \
-    -D CMAKE_TOOLCHAIN_FILE=android_toolchain.cmake \
+    -D CMAKE_TOOLCHAIN_FILE=../android_toolchain.cmake \
     -D CMAKE_INSTALL_PREFIX=/usr/src/ndk-standalone-9 \
     -D FREEGLUT_GLES2=ON \
     -D FREEGLUT_BUILD_DEMOS=NO \
-    .
+    ..
   make -j4
   make install
 
@@ -88,6 +75,7 @@ Compile FreeGLUT for a traditional cross-compiler environment
 For instance if you use the autotools:
 
   PATH=/usr/src/ndk-standalone-9/bin:$PATH
+  export PKG_CONFIG_PATH=/usr/src/ndk-standalone-9/share/pkgconfig
   ./configure --host=arm-linux-androideabi --prefix=/somewhere
   make
   make install
@@ -95,11 +83,15 @@ For instance if you use the autotools:
 If you use CMake, you may want to copy our Android toolchain
 'android_toolchain.cmake':
 
+  PATH=/usr/src/ndk-standalone-9/bin:$PATH
+  export PKG_CONFIG_PATH=/usr/src/ndk-standalone-9/share/pkgconfig
   cp .../android_toolchain.cmake .
+  mkdir cross-android/
+  cd cross-android/
   cmake \
-    -D CMAKE_TOOLCHAIN_FILE=android_toolchain.cmake
+    -D CMAKE_TOOLCHAIN_FILE=../android_toolchain.cmake \
     -D CMAKE_INSTALL_PREFIX=/somewhere \
     -D MY_PROG_OPTION=something ... \
-    .
+    ..
   make -j4
   make install