X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=README.android;h=c0b43b828ac890c38396f68adbfe973486a5d5ed;hb=b1af5e27b969c29852c07c3badd2d13756b4829d;hp=ecdfa41e3509ac6dae8c2f6f4e442803f4dd9da8;hpb=9c75aad38809be89ff62110b3235da1c3085d3da;p=freeglut diff --git a/README.android b/README.android index ecdfa41..c0b43b8 100644 --- a/README.android +++ b/README.android @@ -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,18 +59,39 @@ 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 -- Compile your own project, for instance if you use the autotools: +- Compile your own project. + +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 + +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_INSTALL_PREFIX=/somewhere \ + -D MY_PROG_OPTION=something ... \ + .. + make -j4 + make install