Oh, forgot to mention. I've also had to make some minor changes to the Faust Source Code & CMake Files in order to support Android. I've just opened a Pull Request with those changes here : https://github.com/grame-cncm/faust/pull/335
On Fri, Jun 21, 2019 at 5:33 PM Justin Giannone <[email protected]> wrote: > Fantastic progress! Functional build script for Faust for Android : > https://github.com/Jman420/faust_for_android > > I haven't tested it out with any of the examples yet because the shared > library is huge (almost 800mb) which is just too big. I just modified the > build scripts for Faust & LLVM to use 'MinSizeRel' as its build type to > hopefully reduce the sizes. Running those builds now... > > On Mon, Jun 17, 2019 at 6:01 PM Stéphane Letz <[email protected]> wrote: > >> Depending of the platform (especially OS X and Linux) we have various >> positive and negative experiences using either static libraries or dynamic >> one… ((-; For example right now FaustLive (which used libfaust) has to be >> linked with the dynamic libfaust library. But we produce OS X faustgen~ >> version (also using libfaust) with the static version. >> >> So the best is just to try... >> >> Stéphane >> >> >> > Le 17 juin 2019 à 20:43, Justin Giannone <[email protected]> a >> écrit : >> > >> > I've made some progress and have gotten LLVM static libraries built >> using Android NDK. My scripts with instructions can be found here : >> https://github.com/Jman420/llvm_for_android >> > >> > Unfortunately I haven't been able to get LLVM to compile as a shared >> library though. I'm wondering if that is even necessary though since >> libfaust should still be able to link against them. >> > >> > On Thu, Jun 13, 2019 at 9:33 AM <[email protected]> wrote: >> > Search for cross-compile LLVM for Android, like for instance: >> https://gist.github.com/syoyo/9acc46554723db14d3a5 (although a but old..) >> > >> > Stéphane >> > >> > > Le 13 juin 2019 à 15:30, Justin Giannone <[email protected]> a >> écrit : >> > > >> > > Hey Stéphane, >> > > >> > > Yeah... no responses coming in on the LLVM mailing list. I'll likely >> try to rephrase my question and bump my post over there to see if I can get >> any support. >> > > >> > > Thanks for all your feedback! Glad to hear I've been going down the >> right path so far since I've been trying to use the Android NDK chains to >> compile LLVM for Android. >> > > >> > > I had a thought last night that it may be that LLVM is trying to >> compile some host executables that it wants to leverage in order to >> cross-compile the target binaries... obviously that wouldn't work using the >> NDK chains, but I think there are Build Options to specify paths to the >> host executables. >> > > >> > > On Thu, Jun 13, 2019 at 2:36 AM Stéphane Letz <[email protected]> wrote: >> > > Hi Justin, >> > > >> > > I’ve seen your question about compilation of LLVM on Android on the >> LLVM mailing list, with basically… 0 answer right !? ))-; >> > > >> > > The LLVM compilation chain is used in the LLVM backend (see the code >> here >> https://github.com/grame-cncm/faust/tree/master-dev/compiler/generator/llvm). >> Basically the Faust internal FIR (Faust Imperative Representation) is >> traduced in LLVM IR, then the LLVM JIT component is used to compile LLVM IR >> to the actual machine code for the target processor. So only a « subpart » >> of the complete LLVM compilation chain is actually needed. The front-end >> (which is used to go from source language like C/C++/Swift to LLVM IR) is >> not needed in our case since the LLVM IR is directly generated. >> > > >> > > Basically what you need is : >> > > >> > > - cross-compile the LLVM compilation chain for Android (the same way >> other C/C++ libraries are compiled with the NDK chain to target Android >> devices) >> > > >> > > - compile libfaust with the LLVM backend (using the « make developer >> » target at the upper level in the Faust directory). This should end u >> linking wth the LLVM libraries that would have been compiled in the first >> step. >> > > >> > > - look at the libfaust API defined in the public llvm-dsp.h header >> (see >> https://github.com/grame-cncm/faust/blob/master-dev/architecture/faust/dsp/llvm-dsp.h >> ) >> > > >> > > - test some of the simple examples that use libfaust API (see >> https://github.com/grame-cncm/faust/tree/master-dev/tests/llvm-tests) >> > > >> > > Stéphane >> > > >> > > >> > > > Le 12 juin 2019 à 22:10, Justin Giannone <[email protected]> >> a écrit : >> > > > >> > > > Hey Guys, >> > > > >> > > > I'm trying to compile libfaust in order to use the JIT Compiler in >> a Java & C++ Android App. Specifically having a Frontend App written in >> Java which the User leverages in order to tune a Backend AudioFlinger >> Module written in C++. The Backend Module is where the audio processing >> will take place, although some processing may take place in the Frontend to >> provide feedback to the User as well. >> > > > >> > > > I'm trying to understand how I will need to include LLVM for >> libfaust to function. Here are the questions I've come up with : >> > > > - Does libfaust expect a full compiled installation of LLVM to be >> present (meaning shared libs, headers, executables, etc)? Or just a subset >> of those files? I expect that it just needs necessary libs since the JIT >> Compiler is all in-memory. >> > > > - Should I use Android NDK Toolchains to compile LLVM for Android >> Architectures? Since Android NDK uses LLVM to compile Android Apps I'm not >> sure that it makes sense to use it to try to compile LLVM to run in Android. >> > > > >> > > > Currently the issue that I run into when trying to use the Android >> NDK to build LLVM is that cmake tries to compile and execute a sample app, >> but since my Dev Machine is Windows the sample app can't run. >> > > > _______________________________________________ >> > > > Faudiostream-devel mailing list >> > > > [email protected] >> > > > https://lists.sourceforge.net/lists/listinfo/faudiostream-devel >> > > >> > >> >>
_______________________________________________ Faudiostream-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/faudiostream-devel
