mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-02-26 09:05:24 +00:00
* configure script to build libprojectM with NDK Allows to cross compile libprojectM library using Android's toolchain for an arm target. Tested on Ubuntu. * Android-NDK: Build .so as well as .a * Adjust CPPFLAGS to make the .so actually usable * WIP: crashes in trying to link egl * Add libEGL to linking flags, so that libprojectM.so depends on libEGL.so * configure-ndk: set install paths By setting prefix, libdir and datarootdir it's possible to simply do $ ./autogen.sh $ ./configure-ndk $ make -j`nproc` && make install-strip to build the library, copy it and headers to the right place, and install all presets as Android assets for inclusion in the apk. * Let gradle include libc++_shared.so No need to include this manually, better to let gradle pull in the version from the NDK toolchain in use. * Load jniwrapper Get boring UnsatisfiedLinkError otherwise. * Extract and use embedded preset assets Now ProjectM will cycle through all available presets based on default settings. * Add precompiled preset assets * Don't leak existing instance when creating new one * A few minor Android build changes: use GLESv3 instead, do not try to build SDL under NDK * Mark GLESv3 as required. On some rockchip devices I tested on - only v2 is supported. projectM fails on glGetSampler calls, since those are not implemented. * Make Activity full screen * Android: - hook up basic audio - start on a random preset - switch presets on touch * Android package rename * Android: do not story a copy of all presets inside android app After building the android app's dependecies using NDK, `make install-strip` copies over the prebuilt libraries as well as all the presets. Since they are stored in this git repo, no need to store a copy. I leave a few test presests in the app, in case someone wants to try building the app without rebuilding the dependencies.