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

Reply via email to