X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=README.android;h=808ffec7ff9fab3578a7f6dc5ab7da59c1ea9873;hb=cb1e59cf5e6ac8034ae91abfd320874004a44c88;hp=71a18222cccf7bbad0ce815fb518d500d67925ec;hpb=8b08d68ba789289f1744c7d3724c6c6b118ead44;p=freeglut diff --git a/README.android b/README.android index 71a1822..808ffec 100644 --- a/README.android +++ b/README.android @@ -1,10 +1,16 @@ +Status +====== + +See http://freeglut.sourceforge.net/docs/android.php + + Create a module compatible with the NDK build-system ==================================================== - Use your own cross-compiler for Android, or export the one from the NDK: - /usr/src/android-ndk-r7/build/tools/make-standalone-toolchain.sh \ + /usr/src/android-ndk-r7c/build/tools/make-standalone-toolchain.sh \ --platform=android-9 \ --install-dir=/usr/src/ndk-standalone-9 @@ -12,28 +18,31 @@ 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-gles2/ + cd cross-android-module-gles2/ 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 CMAKE_BUILD_TYPE=Debug \ -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 @@ -42,20 +51,51 @@ Compile FreeGLUT for a traditional cross-compiler environment - Use your own cross-compiler for Android, or export the one from the NDK: - /usr/src/android-ndk-r7/build/tools/make-standalone-toolchain.sh \ + /usr/src/android-ndk-r7c/build/tools/make-standalone-toolchain.sh \ --platform=android-9 \ --install-dir=/usr/src/ndk-standalone-9 - Compile FreeGLUT and install it in your Android cross-compiler path: PATH=/usr/src/ndk-standalone-9/bin:$PATH - ./configure --host=arm-linux-androideabi --prefix=/usr/src/ndk-standalone-9 - make + cd /usr/src/freeglut-3.0.0/ + mkdir cross-android-toolchain-gles2/ + cd cross-android-toolchain-gles2/ + cmake \ + -D CMAKE_TOOLCHAIN_FILE=../android_toolchain.cmake \ + -D CMAKE_INSTALL_PREFIX=/usr/src/ndk-standalone-9/sysroot/usr \ + -D CMAKE_BUILD_TYPE=Debug \ + -D FREEGLUT_GLES2=ON \ + -D FREEGLUT_BUILD_DEMOS=NO \ + .. + make -j4 make install + # Only static for now: + rm -f /usr/src/ndk-standalone-9/sysroot/usr/lib/libfreeglut-gles?.so* + +- Compile your own project. -- Compile your own project, for instance if you use the autotools: +For instance if you use the autotools: PATH=/usr/src/ndk-standalone-9/bin:$PATH + export PKG_CONFIG_PATH=/usr/src/ndk-standalone-9/sysroot/usr/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/sysroot/usr/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 CMAKE_BUILD_TYPE=Debug \ + -D MY_PROG_OPTION=something ... \ + .. + make -j4 + make install