- 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
PATH=/usr/src/ndk-standalone-9/bin:$PATH
cd /usr/src/freeglut-3.0.0/
- mkdir cross-android-module/
- cd cross-android-module/
+ 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_INSTALL_PREFIX=/freeglut-gles2 \
+ -D CMAKE_BUILD_TYPE=Debug \
-D FREEGLUT_GLES2=ON \
-D FREEGLUT_BUILD_DEMOS=NO \
..
- 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
- 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
cd /usr/src/freeglut-3.0.0/
- mkdir cross-android-toolchain/
- cd cross-android-toolchain/
+ 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 \
+ -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.
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
+ export PKG_CONFIG_PATH=/usr/src/ndk-standalone-9/sysroot/usr/share/pkgconfig
./configure --host=arm-linux-androideabi --prefix=/somewhere
make
make install
'android_toolchain.cmake':
PATH=/usr/src/ndk-standalone-9/bin:$PATH
- export PKG_CONFIG_PATH=/usr/src/ndk-standalone-9/share/pkgconfig
+ 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