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

Reply via email to