I'm not sure which interpreter is actually used, but I'm certain that
libfaust requires LLVM now.
This is how my build/backends/most.cmake file looks like:
"
set ( C_BACKEND OFF STATIC DYNAMIC CACHE STRING
"Include C backend" FORCE )
set ( CPP_BACKEND COMPILER STATIC CACHE STRING
"Include CPP backend" FORCE )
set ( FIR_BACKEND OFF STATIC DYNAMIC CACHE STRING
"Include FIR backend" FORCE )
set ( INTERP_BACKEND STATIC CACHE STRING
"Include INTERPRETER backend" FORCE )
set ( JAVA_BACKEND OFF STATIC DYNAMIC CACHE STRING
"Include JAVA backend" FORCE )
set ( LLVM_BACKEND OFF STATIC DYNAMIC CACHE STRING
"Include LLVM backend" FORCE )
set ( OLDCPP_BACKEND OFF STATIC DYNAMIC CACHE STRING
"Include old CPP backend" FORCE )
set ( RUST_BACKEND OFF STATIC DYNAMIC CACHE STRING
"Include RUST backend" FORCE )
set ( SOUL_BACKEND OFF STATIC DYNAMIC CACHE STRING
"Include SOUL backend" FORCE )
set ( WASM_BACKEND OFF STATIC DYNAMIC WASM CACHE STRING
"Include WASM backend" FORCE )
set ( DLANG_BACKEND OFF STATIC DYNAMIC CACHE STRING
"Include DLANG backend" FORCE )
"
And this is how I'm compiling faust:
"
VERBOSE=1 CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS"
CMAKEOPT="-DCMAKE_BUILD_TYPE=Release -DSELF_CONTAINED_LIBRARY=on
-DCMAKE_CXX_COMPILER=`which $DASCXX` -DCMAKE_C_COMPILER=`which
$DASCC`" make most
"
If I apply this patch first:
"
kjetil@tt:~/radium/bin/packages/faust$ diff -u
compiler/generator/interpreter/fbc_compiler.hh~
compiler/generator/interpreter/fbc_compiler.hh
--- compiler/generator/interpreter/fbc_compiler.hh~ 2020-12-23
22:09:06.000000000 +0100
+++ compiler/generator/interpreter/fbc_compiler.hh 2020-12-27
14:55:16.891257924 +0100
@@ -28,6 +28,7 @@
#ifdef MIR_BUILD
#include "fbc_mir_compiler.hh"
#elif LLVM_BUILD
+#error "LLVM_BUILD"
#include "fbc_llvm_compiler.hh"
#endif
"
I get this error message:
"
[ 7%] Building CXX object
CMakeFiles/staticlib.dir/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_dsp_aux.cpp.o
/usr/bin/g++ -DCPP_BUILD -DC_BUILD -DDLANG_BUILD
-DFAUST_SELF_CONTAINED_LIB -DFIR_BUILD -DINTERP_BUILD -DJAVA_BUILD
-DLIBDIR=\"lib\" -DLLVM_100 -DLLVM_BUILD -DLLVM_VERSION=\"10.0.1\"
-DOCPP_BUILD -DRUST_BUILD -DSOUL_BUILD -DWASM_BUILD
-I/home/kjetil/radium/bin/packages/faust/compiler
-I/home/kjetil/radium/bin/packages/faust/compiler/boxes
-I/home/kjetil/radium/bin/packages/faust/compiler/documentator
-I/home/kjetil/radium/bin/packages/faust/compiler/draw
-I/home/kjetil/radium/bin/packages/faust/compiler/errors
-I/home/kjetil/radium/bin/packages/faust/compiler/evaluate
-I/home/kjetil/radium/bin/packages/faust/compiler/extended
-I/home/kjetil/radium/bin/packages/faust/compiler/generator
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/fir
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/rust
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/soul
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/dlang
-I/home/kjetil/radium/bin/packages/faust/compiler/normalize
-I/home/kjetil/radium/bin/packages/faust/compiler/parallelize
-I/home/kjetil/radium/bin/packages/faust/compiler/parser
-I/home/kjetil/radium/bin/packages/faust/compiler/patternmatcher
-I/home/kjetil/radium/bin/packages/faust/compiler/propagate
-I/home/kjetil/radium/bin/packages/faust/compiler/signals
-I/home/kjetil/radium/bin/packages/faust/compiler/tlib
-I/home/kjetil/radium/bin/packages/faust/compiler/transform
-I/home/kjetil/radium/bin/packages/faust/compiler/utils
-I/home/kjetil/radium/bin/packages/faust/compiler/draw/device
-I/home/kjetil/radium/bin/packages/faust/compiler/draw/schema
-I/home/kjetil/radium/bin/packages/faust/compiler/../architecture
-I/usr/local/include
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/c
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/cpp
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/java
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/wasm
-I/home/kjetil/radium/bin/packages/faust/compiler/generator/llvm
-I/home/kjetil/site_clang10/include -mtune=generic -msse2
-mfpmath=sse -fPIC -fno-strict-aliasing -fmax-errors=5
-I/home/kjetil/site_clang10/include -O3 -Wall -Wextra
-Wno-unused-parameter -Wno-unused-function -Wno-overloaded-virtual
-fPIC -DFAUST_LIB -std=gnu++14 -o
CMakeFiles/staticlib.dir/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_dsp_aux.cpp.o
-c
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_dsp_aux.cpp
In file included from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_comp_dsp_aux.hh:26:0,
from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_dsp.hh:25,
from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_dsp_aux.cpp:22:
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/fbc_compiler.hh:31:2:
error: #error "LLVM_BUILD"
#error "LLVM_BUILD"
^~~~~
In file included from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_comp_dsp_aux.hh:26:0,
from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_dsp.hh:25,
from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_code_container.hh:28,
from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_code_container.cpp:28:
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/fbc_compiler.hh:31:2:
error: #error "LLVM_BUILD"
#error "LLVM_BUILD"
^~~~~
In file included from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_comp_dsp_aux.hh:26:0,
from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_dsp.hh:25,
from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_code_container.hh:28,
from
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/interpreter_code_container.cpp:28,
from
/home/kjetil/radium/bin/packages/faust/compiler/libcode.cpp:81:
/home/kjetil/radium/bin/packages/faust/compiler/generator/interpreter/fbc_compiler.hh:31:2:
error: #error "LLVM_BUILD"
#error "LLVM_BUILD"
^~~~~
"
Is there anything else I need to do to get rid of LLVM? It's so
cumbersome editing cmake files that I don't really know where to
start.
On Sun, Dec 27, 2020 at 10:51 AM Kjetil Matheussen
<[email protected]> wrote:
>
> Thank you. I haven't tried HEAD yet, but in 2.27.2 the LLVM
> interpreter was compiled in when I tried.
>
> These lines are in
> compiler/generator/interpreter/interpreter_dsp_aux.hh in 2.27.2:
> "
> #ifdef MACHINE
> #include "fbc_cpp_compiler.hh"
> #include "fbc_llvm_compiler.hh"
> #endif
> "
>
> And this line is in /build/interp/CMakeList.txt:
> "
> set( MACHINEDEFS -DMACHINE -D${LLVM_VERSION})
> "
>
> I don't see the lines in
> compiler/generator/interpreter/interpreter_dsp_aux.hh in HEAD though,
> so hopefully it's been fixed.
>
> On Sun, Dec 27, 2020 at 10:16 AM Stéphane Letz <[email protected]> wrote:
> >
> > The LLVM code in the Interp backend is not activated by default, so you
> > should be able to compile a version of libfaust using Interp backend with
> > no LLVM dependency.
> >
> > Stéphane
> >
> > > Le 26 déc. 2020 à 15:56, Kjetil Matheussen <[email protected]> a
> > > écrit :
> > >
> > > Hi,
> > >
> > > Seems like the interpreter in libfaust 2.27.2 requires LLVM. Is this
> > > how it's going to be in the future, or would it be safe to enable the
> > > old non-LLVM interpreter? (I saw there was a hardcoded c-macro that
> > > perhaps can be used to get the old version back.)
> > >
> > > The main reason I don't want LLVM is because it didn't work to include
> > > LLVM binaries last time I tried (incompatible ABM between linux
> > > distributions), plus that LLVM crashes on windows32. I haven't checked
> > > yet if these problems are there for the LLVM interpreter though.
> > >
> > > Also, a big advantage for the interpreter is the low "compilation"
> > > time. Is the latency equally low for the LLVM interpreter?
> > >
> > >
> > > _______________________________________________
> > > 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