mirror of
https://github.com/QB64Official/qb64.git
synced 2024-09-04 11:10:15 +00:00
105 lines
2.8 KiB
Text
105 lines
2.8 KiB
Text
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
|
|
- ...
|
|
|
|
|
|
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 \
|
|
--platform=android-9 \
|
|
--install-dir=/usr/src/ndk-standalone-9
|
|
|
|
- Build FreeGLUT with a '/freeglut' prefix :
|
|
|
|
PATH=/usr/src/ndk-standalone-9/bin:$PATH
|
|
cd /usr/src/freeglut-3.0.0/
|
|
cmake \
|
|
-D CMAKE_TOOLCHAIN_FILE=android_toolchain.cmake \
|
|
-D CMAKE_INSTALL_PREFIX=/freeglut \
|
|
-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/
|
|
|
|
- Reference this module in your jni/Android.mk:
|
|
|
|
LOCAL_STATIC_LIBRARIES := ... freeglut
|
|
...
|
|
$(call import-module,freeglut)
|
|
|
|
- You now can point your NDK_MODULE_PATH to this module!
|
|
|
|
ndk-build NDK_MODULE_PATH=/usr/src/freeglut-3.0.0/freeglut/
|
|
|
|
|
|
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 \
|
|
--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/
|
|
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:
|
|
|
|
PATH=/usr/src/ndk-standalone-9/bin:$PATH
|
|
./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':
|
|
|
|
cp .../android_toolchain.cmake .
|
|
cmake \
|
|
-D CMAKE_TOOLCHAIN_FILE=android_toolchain.cmake
|
|
-D CMAKE_INSTALL_PREFIX=/somewhere \
|
|
-D MY_PROG_OPTION=something ... \
|
|
.
|
|
make -j4
|
|
make install
|