Giter Site home page Giter Site logo

grame-cncm / faust Goto Github PK

View Code? Open in Web Editor NEW
2.4K 87.0 306.0 360.85 MB

Functional programming language for signal processing and sound synthesis

Home Page: http://faust.grame.fr

License: Other

Makefile 0.76% C++ 79.60% C 5.76% Objective-C 1.00% Java 1.62% CMake 0.54% CSS 0.04% HTML 0.30% JavaScript 2.70% Batchfile 0.06% Python 0.97% Objective-C++ 1.24% TeX 0.01% Max 1.60% Shell 3.03% QMake 0.01% C# 0.39% Rust 0.27% LLVM 0.04% Emacs Lisp 0.08%
faust dsp audio compiler wasm c cpp llvm functional-programming rust

faust's People

Contributors

agraef avatar bluenote10 avatar bouksimo98 avatar dbraun avatar dfober avatar fr0stbyter avatar giuliomoro avatar gui-yom avatar hatchjaw avatar implicitall avatar jcelerier avatar josmithiii avatar jpcima avatar kaoskorobase avatar khiner avatar mgunyho avatar mikeoliphant avatar mikesol avatar og0 avatar olilarkin avatar orlarey avatar pierreguillot avatar pinbe avatar rmichon avatar rpayami avatar sdenoux avatar sletz avatar thopman avatar timblechmann avatar umlaeute avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

faust's Issues

OSC: root path is 0x00 instead of application name

Hi
I'm following instructions in the tutorial here: http://faust.grame.fr/docs/faust-quick-reference.pdf, on page 52:
$ cat noise.dsp

declare name "noise";
process = library("music.lib").noise*hslider("level", 0, 0, 1, 0.01);

I'm using faust version 3cd7b7c

faust2jaqt -midi -httpd -osc noise.dsp

./noise -xmit 1

If I use oscdump:
$ oscdump 5511
and if I move the slider, I get:

Faust OSC version ssssiii "0.96" "-" "'0x00'" "is running on UDP ports " 5510 5511 5512
/0x00/level f 0.000000
/0x00/level f 0.030000
/0x00/level f 0.054700

With $ oscsend localhost 5510 "/*" s get
I get:

/0x00 si "xmit" 1
/0x00 ss "desthost" "127.0.0.1"
/0x00 si "outport" 5511
/0x00 si "errport" 5512
/0x00/level fff 0.000000 0.000000 1.000000

If I try to send OSC messages with the /noise root path, I get nothing back. but with /0x00, it works:

oscsend localhost 5510 "/noise/level" s get:
nothing

oscsend localhost 5510 "/0x00/level" s get:

/0x00/level fff 0.000000 0.000000 1.000000

The tutorial states that the root OSC path should be 'noise'

Trigonometric simplifications

Hello,

I'm posting this issue -more as an feature request- about trigonometric simplifications.

For some applications, I manipulate trigonometric functions (spherical harmonics) and depending on the algorithm, the output formula could be very complicated.

However, in a lot of cases, trigonometric identities could help to simplify drastically the expressions.

For example, as pointed in this issue:
#56, the algorithm outputs a matrix where all terms are functions which can be simplified in the majority of the cases.
However, the output terms are not given in their simplest form, so far. For example, the term rot(2,1,1) in the algorithm described in the aforementioned issue gives:

rot(2,1,1) = cos(pitch)^2*cos(roll)*cos(yaw) +
 sin(pitch)*(-cos(roll)*cos(yaw)*sin(pitch) + sin(roll)*sin(yaw))

Which, after factorization gives
rot(2,1,1) = cos(roll)*cos(yaw)*(cos(pitch)^2 - sin(pitch)^2)) + sin(pitch)*sin(roll)*sin(yaw)
This latter expression is the output proposed by the compiler.

However, knowing that cos(pitch)^2 - sin(pitch)^2 = cos(2*pitch) the previous expression could be simplified with:
rot(2,1,1) = cos(roll)*cos(yaw)*cos(2*pitch) + sin(pitch)*sin(roll)*sin(yaw)
which is a simpler expression.

Following this example, I'm wondering if it is possible for the compiler to recognize trigonometric identities, typically as given in the following link:
http://artemath.com/artemath/cours/documents/docs/formulaire-trigo.pdf

Thank you !
Pierre

supercollider UGen based on recent faust master uses 3-times more CPU than version from 2011

( still on the JPverb issue... (see #31 ) )

As stated by several people, the current .dsp>>.cpp compilation of JPVerb for supercollider results in an increase of factor 3 for cpu usage. Being formerly in the range of 10%, this means a rather substantial 30% now...
We do not have any idea on how to fix this, maybe someone here has an idea?

The files to compare are here:
https://github.com/supercollider/sc3-plugins/pull/143/files

Fixes I made in JPVerbRaw.dsp and GreyholeRaw.dsp are:

  • replaced import("stdfaust.lib"); in favour for individual libs, added namespaces to lib-function calls
  • remove include of jprev.h by defining the prime table as a waveform/rdtable (I reverted this change, it does not affect the cpu-hungriness)

compiled with current faust master a302793 instead of the version from 2011. Unfortunately, I did not know about submodules back then (and still don't), so all I know is that the faust includes in https://github.com/supercollider/sc3-plugins/tree/master/source/DEINDUGens/include/faust were the ones originally used back then. Maybe we can find out which faust commit it was based on?


related sc3-plugins thread: supercollider/sc3-plugins#143

Qt

I currently care the language bindings page on the qt.wiki.io and like to know, if you think that your project fits there?

faust2bela -- old paths, how to adapt?

the faust2bela script seems to be ancient...
first, the (hardcoded) directory for the BELA sources points to beagleRT (should be bela nowadays), second, even if the cross-compiler is installed, I seem to be missing libraries.
How am I supposed to compile this? from the BBB itself?

@giuliomoro, maybe you could have a look ?

thanks in advance!

ffunction() doesn't work with local headers

When trying to compile piano.dsp with faust2lv2 (or faust2jack) I get:
/tmp/faust2lv2.GppFe0/piano.cpp:12:19: schwerwiegender Fehler: piano.h: Datei oder Verzeichnis nicht gefunden #include <piano.h>
It's not related to the brackets instead of quotes. If you change
ffunction(float getValueDryTapAmpT60(float), <piano.h>,"");
to
ffunction(float getValueDryTapAmpT60(float), "piano.h","");
there is #include "piano.h" in the generated c++ code. But the buildroot is in a new created tmp dir and there is no piano.h.

Prominent link to GitHub from website

I just discovered about this project through a tweet on twitter linking to the website, and I immediately wanted to discover the GitHub project to check the most obvious things, such as since when it is active, is it still actively developed, how many collaborators are there, how many people starred the project, and I also wanted to star the project myself in order to bookmark it, etc etc.

However, in contradiction with this very first expectation of mine, interestingly the GitHub project isn't linked anywhere (at least that I saw after a first browse across the website). It is only mentioned in some git clone commands, and so to access it I just googled "github faust".

I think it would make sense to add a very prominent "GitHub" link to the website navigation headers, similarly as to what is done on basically the majority of other websites about a modern open-source library.

location of pd.dll when cross-compiling

are you really promoting to install the pd.dll required for compiling Pd-externals for W32 into /usr/include/pd/ when cross-compiling?

a more appropriate (default) location would be /usr/lib/i686-w64-mingw32/ (when using i686-w64-mingw32-gcc as cross-compiler). at least on a Debian system this is the designated are for "foreign arch" libraries (other distros may vary)

How to deal faust with Openframeworks(duplicate symbol)

Hi, I'm trying to make a smooth workflow of faust inside openframeworks.
There's also ofaudio-dsp.h, and I'm working on integration with ofxGUI which generates faust UI in app automatically and it's near to finish ;).

The main problem is a external math function such as mydsp_faustpower2_f.
Usually, in OF, all headers are included or some class definitions are made at ofApp.h.
ofApp.h is included by both of ofApp.cpp(which implements actual application) and ofMain.h (which have main function).
So if we have mydsp_faustpower2_f function in ofApp.h, the linker gets error as below.

duplicate symbol __Z19mydsp_faustpower2_ff in:
    /Users/Tomoya/Library/Developer/Xcode/DerivedData/ofxFaust_firstexample-ejvplekuippoikdmapalgmheskym/Build/Intermediates/ofxFaust_firstexample.build/Debug/ofxFaust_firstexample.build/Objects-normal/x86_64/main.o
    /Users/Tomoya/Library/Developer/Xcode/DerivedData/ofxFaust_firstexample-ejvplekuippoikdmapalgmheskym/Build/Intermediates/ofxFaust_firstexample.build/Debug/ofxFaust_firstexample.build/Objects-normal/x86_64/ofApp.o
ld: 1 duplicate symbol for architecture x86_64

I tried to change mydsp_faustpower2_f into static function by hand and it got success.

Can't they be changed to the static function or move inside mydsp?

Envelope issue compiling to AU

I discovered today while compiling the same Faust-code with faust2vsti and faust2au, that the the release does not work on asr and adsr (just tried these two) if it is an AU. It does however work fine in faustLive and the compiled VST works as well.

Custom Memory Allocator Questions

Hello,

as always, first and foremost thank you very much for creating and participating in Faust!

Let me know if i should repost this question at a more appropriate place.

In the Faust architecture/supercollider.cpp, initState is currently called from the library load hook.

I would like to move initState to the UGen constructor hook to adhere to SuperCollider convention and to initialize with the correct server sample rate, which is unavailable at library load time. This requires realtime safe code, chiefly for memory allocation.

(1) If I use the new custom memory allocation (-mem mode) with SuperCollider's realtime safe memory allocation, is all memory allocation performed using the custom allocator, including the Faust class *new and *delete operators? Or do I need to manually overload *new and *delete as well?

(2) Are there any other non-realtime-safe operations that Faust code may perform that I may need to consider?

Thanks and have a great time, Carlo

Noise reduction

This is great! Any plans for a noise reduction algorithm?

Running make on faust2 branch failing

I'm trying to get faust setup on the faust2 branch. I've installed libsndfile, and have just installed llvm-3.8 via MacPorts with the +universal flag set. Make is failing for me with the following error and I'm not sure what it means. Any help is greatly appreciated!

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C compiler -f Makefile.unix prefix=/usr/local
c++ -O3 -std=c++11 -Wall -Wuninitialized -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -DINSTALL_PREFIX='"/usr/local"' -std=gnu++11 -O3 -stdlib=libc++ -Wall -Wuninitialized -fvisibility=hidden -Wno-overloaded-virtual -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -DINSTALL_PREFIX='"/usr/local"' -I`/opt/local/bin/llvm-config-mp-3.8 --includedir` -I../architecture -DLLVM_38 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -arch i386 -arch x86_64 -DASMJS_BUILD -DC_BUILD -DCPP_BUILD -DFIR_BUILD -DINTERP_BUILD -DJAVA_BUILD -DJS_BUILD -DLLVM_BUILD -DWASM_BUILD  ../libraries/loki/SafeFormat.o boxes/boxcomplexity.o boxes/boxes.o boxes/boxtype.o boxes/ppbox.o documentator/doc.o documentator/doc_Text.o documentator/doc_autodoc.o documentator/doc_compile.o documentator/doc_lang.o documentator/doc_metadatas.o documentator/doc_notice.o documentator/doc_sharing.o documentator/lateq.o draw/device/PSDev.o draw/device/SVGDev.o draw/drawschema.o draw/schema/blockSchema.o draw/schema/cableSchema.o draw/schema/collector.o draw/schema/connectorSchema.o draw/schema/cutSchema.o draw/schema/decorateSchema.o draw/schema/enlargedSchema.o draw/schema/inverterSchema.o draw/schema/mergeSchema.o draw/schema/parSchema.o draw/schema/recSchema.o draw/schema/seqSchema.o draw/schema/splitSchema.o draw/schema/topSchema.o draw/sigToGraph.o errors/errormsg.o errors/timing.o evaluate/environment.o evaluate/eval.o evaluate/loopDetector.o extended/xtended.o generator/Text.o generator/code_container.o generator/contextor.o generator/dag_instructions_compiler.o generator/description.o generator/dsp_aux.o generator/export.o generator/fir_to_fir.o generator/floats.o generator/instructions.o generator/instructions_compiler.o generator/occurences.o generator/omp_code_container.o generator/tools.o generator/uitree.o generator/vec_code_container.o generator/wss_code_container.o normalize/aterm.o normalize/mterm.o normalize/normalize.o normalize/privatise.o normalize/simplify.o parallelize/code_loop.o parallelize/colorize.o parser/enrobage.o parser/faustlexer.o parser/faustparser.o parser/sourcefetcher.o parser/sourcereader.o patternmatcher/patternmatcher.o propagate/labels.o propagate/propagate.o signals/binop.o signals/ppsig.o signals/prim2.o signals/recursivness.o signals/signals.o signals/sigorderrules.o signals/sigprint.o signals/sigtype.o signals/sigtyperules.o signals/sigvisitor.o signals/subsignals.o tlib/compatibility.o tlib/list.o tlib/node.o tlib/occurrences.o tlib/recursive-tree.o tlib/shlysis.o tlib/symbol.o tlib/tree.o utils/files.o utils/names.o libcode.o global.o generator/asmjs/asmjs_code_container.o generator/asmjs/asmjs_dsp_aux.o generator/c/c_code_container.o generator/cpp/cpp_code_container.o generator/cpp/cpp_gpu_code_container.o generator/fir/fir_code_container.o generator/interpreter/interpreter_code_container.o generator/interpreter/interpreter_dsp_aux.o generator/java/java_code_container.o generator/js/js_code_container.o generator/llvm/clang_code_container.o generator/llvm/llvm_code_container.o generator/llvm/llvm_dsp_aux.o generator/wasm/wasm_code_container.o generator/wasm/wasm_dsp_aux.o generator/wasm/wast_code_container.o main.o `/opt/local/bin/llvm-config-mp-3.8 --ldflags` -lLLVMLTO -lLLVMObjCARCOpts -lLLVMSymbolize -lLLVMDebugInfoPDB -lLLVMDebugInfoDWARF -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen -lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMXCoreAsmPrinter -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen -lLLVMSystemZAsmParser -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSystemZAsmPrinter -lLLVMSparcDisassembler -lLLVMSparcCodeGen -lLLVMSparcAsmParser -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMSparcAsmPrinter -lLLVMPowerPCDisassembler -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser -lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPrinter -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMNVPTXAsmPrinter -lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter -lLLVMMipsDisassembler -lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo -lLLVMMipsAsmPrinter -lLLVMHexagonDisassembler -lLLVMHexagonCodeGen -lLLVMHexagonAsmParser -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo -lLLVMBPFCodeGen -lLLVMBPFDesc -lLLVMBPFInfo -lLLVMBPFAsmPrinter -lLLVMARMDisassembler -lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter -lLLVMAMDGPUCodeGen -lLLVMAMDGPUAsmParser -lLLVMAMDGPUDesc -lLLVMAMDGPUUtils -lLLVMAMDGPUInfo -lLLVMAMDGPUAsmPrinter -lLLVMAArch64Disassembler -lLLVMAArch64CodeGen -lLLVMAArch64AsmParser -lLLVMAArch64Desc -lLLVMAArch64Info -lLLVMAArch64AsmPrinter -lLLVMAArch64Utils -lLLVMMIRParser -lLLVMLibDriver -lLLVMOption -lLLVMTableGen -lLLVMLineEditor -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMMCDisassembler -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMMCJIT -lLLVMPasses -lLLVMipo -lLLVMVectorize -lLLVMLinker -lLLVMIRReader -lLLVMAsmParser -lLLVMDebugInfoCodeView -lLLVMInterpreter -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine -lLLVMInstrumentation -lLLVMProfileData -lLLVMBitWriter -lLLVMOrcJIT -lLLVMTransformUtils -lLLVMExecutionEngine -lLLVMTarget -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMObject -lLLVMMCParser -lLLVMBitReader -lLLVMMC -lLLVMCore -lLLVMSupport -lcurses -lpthread -lz -lm -lpthread  `pkg-config --libs libcrypto` -o faust
Undefined symbols for architecture i386:
  "llvm::DisableABIBreakingChecks", referenced from:
      llvm::VerifyDisableABIBreakingChecks in binop.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [faust] Error 1
make: *** [all] Error 2

python2isms in scripts

a quick glance at faust2md revealed that it is riddled by Python2 constructs (making it incompatible with Python3), starting with:

 print "---"

OSC with alsaconsole app

Hi, sorry my english
i compile alsa-console app with osc support
run it -> send "hello" string message and catch echo, all working
i kill app
run it -> send "hello" string message and ... nothing... (any get/set messages, hello) .. pure silence
what i do not understand???
when recompile white new widget names everything working again

thanks for any help

faust2 compile errors on Trusty (Ubuntu 14.04)

Using the latest git sources of Faust2, I'm getting the following build errors on Ubuntu 14.04:

g++ -O3 -std=c++11 -Wall -Wuninitialized -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -Igenerator/rust -DINSTALL_PREFIX='"/usr"' -std=gnu++11 -O1 -fPIC -D__USE_MINGW_ANSI_STDIO -Wall -Wuninitialized -fvisibility=hidden -Wno-overloaded-virtual -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -Igenerator/rust -DINSTALL_PREFIX='"/usr"' -I`/usr/bin/llvm-config-3.5 --includedir` -I../architecture -DLLVM_35 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS  -DASMJS_BUILD -DC_BUILD -DCPP_BUILD -DFIR_BUILD -DINTERP_BUILD -DJAVA_BUILD -DJS_BUILD -DLLVM_BUILD -DRUST_BUILD -DWASM_BUILD   -c -o libcode.o libcode.cpp
In file included from generator/interpreter/interpreter_dsp_aux.hh:37:0,
                 from generator/interpreter/interpreter_code_container.hh:26,
                 from generator/interpreter/interpreter_code_container.cpp:26,
                 from libcode.cpp:79:
generator/interpreter/fir_interpreter.hh:502:13: warning: multi-line comment [-Wcomment]
             //#define dispatch_next() { (*it)->write(&std::cout); std::cout << "int_stack_index " << int_stack_index << " real_stack_index " << real_stack_index << std::endl; \
             ^
generator/interpreter/fir_interpreter.hh: In member function ‘void FIRInterpreter<T>::ExecuteBlock(FIRBlockInstruction<T>*)’:
generator/interpreter/fir_interpreter.hh:813:65: error: there are no arguments to ‘__builtin_sadd_overflow’ that depend on a template parameter, so a declaration of ‘__builtin_sadd_overflow’ must be available [-fpermissive]
                         if (__builtin_sadd_overflow(v1, v2, &res)) {
                                                                 ^
generator/interpreter/fir_interpreter.hh:813:65: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
generator/interpreter/fir_interpreter.hh:837:65: error: there are no arguments to ‘__builtin_ssub_overflow’ that depend on a template parameter, so a declaration of ‘__builtin_ssub_overflow’ must be available [-fpermissive]
                         if (__builtin_ssub_overflow(v1, v2, &res)) {
                                                                 ^
generator/interpreter/fir_interpreter.hh:861:65: error: there are no arguments to ‘__builtin_smul_overflow’ that depend on a template parameter, so a declaration of ‘__builtin_smul_overflow’ must be available [-fpermissive]
                         if (__builtin_smul_overflow(v1, v2, &res)) {
                                                                 ^
generator/interpreter/fir_interpreter.hh: In instantiation of ‘void FIRInterpreter<T>::ExecuteBlock(FIRBlockInstruction<T>*) [with T = double]’:
generator/interpreter/interpreter_dsp_aux.hh:768:13:   required from ‘void interpreter_dsp_aux<T>::instanceConstants(int) [with T = double]’
/usr/lib/llvm-3.5/include/llvm/IR/Instructions.h:152:7:   required from here
generator/interpreter/fir_interpreter.hh:813:65: error: ‘__builtin_sadd_overflow’ was not declared in this scope
                         if (__builtin_sadd_overflow(v1, v2, &res)) {
                                                                 ^
generator/interpreter/fir_interpreter.hh:837:65: error: ‘__builtin_ssub_overflow’ was not declared in this scope
                         if (__builtin_ssub_overflow(v1, v2, &res)) {
                                                                 ^
generator/interpreter/fir_interpreter.hh:861:65: error: ‘__builtin_smul_overflow’ was not declared in this scope
                         if (__builtin_smul_overflow(v1, v2, &res)) {
                                                                 ^
generator/interpreter/fir_interpreter.hh: In instantiation of ‘void FIRInterpreter<T>::ExecuteBlock(FIRBlockInstruction<T>*) [with T = float]’:
generator/interpreter/interpreter_dsp_aux.hh:768:13:   required from ‘void interpreter_dsp_aux<T>::instanceConstants(int) [with T = float]’
/usr/lib/llvm-3.5/include/llvm/IR/Instructions.h:152:7:   required from here
generator/interpreter/fir_interpreter.hh:813:65: error: ‘__builtin_sadd_overflow’ was not declared in this scope
                         if (__builtin_sadd_overflow(v1, v2, &res)) {
                                                                 ^
generator/interpreter/fir_interpreter.hh:837:65: error: ‘__builtin_ssub_overflow’ was not declared in this scope
                         if (__builtin_ssub_overflow(v1, v2, &res)) {
                                                                 ^
generator/interpreter/fir_interpreter.hh:861:65: error: ‘__builtin_smul_overflow’ was not declared in this scope
                         if (__builtin_smul_overflow(v1, v2, &res)) {
                                                                 ^

The full buildlog is here: https://launchpad.net/~dr-graef/+archive/ubuntu/pure-lang.trusty/+build/13138750/+files/buildlog_ubuntu-trusty-amd64.faust2_2.3.4+git20170724+8989-1_BUILDING.txt.gz

The same source builds fine on both Ubuntu 16.04 and 17.04 (as well as on current Arch Linux). I think that the LLVM version should be the same (LLVM 3.5) in either case, but Trusty might well have an older version of gcc and C/C++ library. (My last known good build on Trusty was rev. eabc2b5 from 2017-06-02.)

Any clues? Looks like the conditional code there has been in there for more than a year, so I suspect that gcc is to blame here -- maybe a recent gcc update on Trusty broke it. We could try to add -fpermissive to the compiler options as suggested in the error message, but I'm not sure whether that might break other things.

faust2: LLVM 4.0 compilation issues

Compiling with LLVM 4.0.0 on Arch, I'm getting these compilation errors:

make -C compiler -f Makefile.unix prefix=/usr/local
make[1]: Entering directory '/home/ag/Sources/github/faust2/compiler'
g++ -O3 -std=c++11 -Wall -Wuninitialized -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -DINSTALL_PREFIX='"/usr/local"' -std=gnu++11 -O1 -fPIC -D__USE_MINGW_ANSI_STDIO -Wall -Wuninitialized -fvisibility=hidden -Wno-overloaded-virtual -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -DINSTALL_PREFIX='"/usr/local"' -I`/usr/bin/llvm-config --includedir` -I../architecture -DLLVM_40 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS  -DASMJS_BUILD -DC_BUILD -DCPP_BUILD -DFIR_BUILD -DINTERP_BUILD -DJAVA_BUILD -DJS_BUILD -DLLVM_BUILD -DWASM_BUILD   -c -o libcode.o libcode.cpp
In file included from generator/interpreter/interpreter_dsp_aux.hh:37:0,
                 from generator/interpreter/interpreter_code_container.hh:26,
                 from generator/interpreter/interpreter_code_container.cpp:26,
                 from libcode.cpp:79:
generator/interpreter/fir_interpreter.hh:434:13: warning: multi-line comment [-Wcomment]
             //#define dispatch_next() { (*it)->write(&std::cout); std::cout << "int_stack_index " << int_stack_index << " real_stack_index " << real_stack_index << std::endl; \
             ^
In file included from libcode.cpp:91:0:
generator/llvm/llvm_code_container.hh: In member function ‘llvm::Value* LLVMCodeContainer::genFloat(const string&)’:
generator/llvm/llvm_code_container.hh:132:85: error: no matching function for call to ‘llvm::APFloat::APFloat(const llvm::fltSemantics& (&)(), const string&)’
             return ConstantFP::get(getContext(), APFloat(APFloat::IEEEsingle, number));
                                                                                     ^
In file included from /usr/include/llvm/IR/Type.h:18:0,
                 from /usr/include/llvm/IR/DerivedTypes.h:23,
                 from generator/llvm/llvm_instructions.hh:38,
                 from generator/llvm/llvm_code_container.hh:26,
                 from libcode.cpp:91:
/usr/include/llvm/ADT/APFloat.h:826:3: note: candidate: llvm::APFloat::APFloat(llvm::APFloat&&)
   APFloat(APFloat &&RHS) = default;
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:826:3: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:825:3: note: candidate: llvm::APFloat::APFloat(const llvm::APFloat&)
   APFloat(const APFloat &RHS) = default;
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:825:3: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:824:12: note: candidate: llvm::APFloat::APFloat(float)
   explicit APFloat(float f) : U(IEEEFloat(f), IEEEsingle()) {}
            ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:824:12: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:823:12: note: candidate: llvm::APFloat::APFloat(double)
   explicit APFloat(double d) : U(IEEEFloat(d), IEEEdouble()) {}
            ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:823:12: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:822:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&, const llvm::APInt&)
   APFloat(const fltSemantics &Semantics, const APInt &I) : U(Semantics, I) {}
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:822:3: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘const llvm::fltSemantics&’
/usr/include/llvm/ADT/APFloat.h:820:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&, llvm::APFloatBase::uninitializedTag)
   APFloat(const fltSemantics &Semantics, uninitializedTag)
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:820:3: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘const llvm::fltSemantics&’
/usr/include/llvm/ADT/APFloat.h:818:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&, llvm::integerPart)
   APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {}
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:818:3: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘const llvm::fltSemantics&’
/usr/include/llvm/ADT/APFloat.h:817:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&, llvm::StringRef)
   APFloat(const fltSemantics &Semantics, StringRef S);
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:817:3: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘const llvm::fltSemantics&’
/usr/include/llvm/ADT/APFloat.h:816:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&)
   APFloat(const fltSemantics &Semantics) : U(Semantics) {}
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:816:3: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:803:12: note: candidate: llvm::APFloat::APFloat(llvm::APFloat::DoubleAPFloat, const llvm::fltSemantics&)
   explicit APFloat(DoubleAPFloat F, const fltSemantics &S)
            ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:803:12: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘llvm::APFloat::DoubleAPFloat {aka llvm::detail::DoubleAPFloat}’
/usr/include/llvm/ADT/APFloat.h:802:12: note: candidate: llvm::APFloat::APFloat(llvm::APFloat::IEEEFloat, const llvm::fltSemantics&)
   explicit APFloat(IEEEFloat F, const fltSemantics &S) : U(std::move(F), S) {}
            ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:802:12: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘llvm::APFloat::IEEEFloat {aka llvm::detail::IEEEFloat}’
/usr/include/llvm/ADT/APFloat.h:798:3: note: candidate: llvm::APFloat::APFloat()
   APFloat() : U(IEEEdouble()) {
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:798:3: note:   candidate expects 0 arguments, 2 provided
make[1]: *** [<builtin>: libcode.o] Error 1
g++ -O3 -std=c++11 -Wall -Wuninitialized -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -DINSTALL_PREFIX='"/usr/local"' -std=gnu++11 -O1 -fPIC -D__USE_MINGW_ANSI_STDIO -Wall -Wuninitialized -fvisibility=hidden -Wno-overloaded-virtual -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -DINSTALL_PREFIX='"/usr/local"' -I`/usr/bin/llvm-config --includedir` -I../architecture -DLLVM_40 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS  -DASMJS_BUILD -DC_BUILD -DCPP_BUILD -DFIR_BUILD -DINTERP_BUILD -DJAVA_BUILD -DJS_BUILD -DLLVM_BUILD -DWASM_BUILD   -c -o generator/llvm/llvm_code_container.o generator/llvm/llvm_code_container.cpp
In file included from generator/llvm/llvm_code_container.cpp:23:0:
generator/llvm/llvm_code_container.hh: In member function ‘llvm::Value* LLVMCodeContainer::genFloat(const string&)’:
generator/llvm/llvm_code_container.hh:132:85: error: no matching function for call to ‘llvm::APFloat::APFloat(const llvm::fltSemantics& (&)(), const string&)’
             return ConstantFP::get(getContext(), APFloat(APFloat::IEEEsingle, number));
                                                                                     ^
In file included from /usr/include/llvm/IR/Type.h:18:0,
                 from /usr/include/llvm/IR/DerivedTypes.h:23,
                 from generator/llvm/llvm_instructions.hh:38,
                 from generator/llvm/llvm_code_container.hh:26,
                 from generator/llvm/llvm_code_container.cpp:23:
/usr/include/llvm/ADT/APFloat.h:826:3: note: candidate: llvm::APFloat::APFloat(llvm::APFloat&&)
   APFloat(APFloat &&RHS) = default;
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:826:3: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:825:3: note: candidate: llvm::APFloat::APFloat(const llvm::APFloat&)
   APFloat(const APFloat &RHS) = default;
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:825:3: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:824:12: note: candidate: llvm::APFloat::APFloat(float)
   explicit APFloat(float f) : U(IEEEFloat(f), IEEEsingle()) {}
            ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:824:12: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:823:12: note: candidate: llvm::APFloat::APFloat(double)
   explicit APFloat(double d) : U(IEEEFloat(d), IEEEdouble()) {}
            ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:823:12: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:822:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&, const llvm::APInt&)
   APFloat(const fltSemantics &Semantics, const APInt &I) : U(Semantics, I) {}
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:822:3: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘const llvm::fltSemantics&’
/usr/include/llvm/ADT/APFloat.h:820:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&, llvm::APFloatBase::uninitializedTag)
   APFloat(const fltSemantics &Semantics, uninitializedTag)
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:820:3: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘const llvm::fltSemantics&’
/usr/include/llvm/ADT/APFloat.h:818:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&, llvm::integerPart)
   APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {}
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:818:3: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘const llvm::fltSemantics&’
/usr/include/llvm/ADT/APFloat.h:817:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&, llvm::StringRef)
   APFloat(const fltSemantics &Semantics, StringRef S);
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:817:3: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘const llvm::fltSemantics&’
/usr/include/llvm/ADT/APFloat.h:816:3: note: candidate: llvm::APFloat::APFloat(const llvm::fltSemantics&)
   APFloat(const fltSemantics &Semantics) : U(Semantics) {}
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:816:3: note:   candidate expects 1 argument, 2 provided
/usr/include/llvm/ADT/APFloat.h:803:12: note: candidate: llvm::APFloat::APFloat(llvm::APFloat::DoubleAPFloat, const llvm::fltSemantics&)
   explicit APFloat(DoubleAPFloat F, const fltSemantics &S)
            ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:803:12: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘llvm::APFloat::DoubleAPFloat {aka llvm::detail::DoubleAPFloat}’
/usr/include/llvm/ADT/APFloat.h:802:12: note: candidate: llvm::APFloat::APFloat(llvm::APFloat::IEEEFloat, const llvm::fltSemantics&)
   explicit APFloat(IEEEFloat F, const fltSemantics &S) : U(std::move(F), S) {}
            ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:802:12: note:   no known conversion for argument 1 from ‘const llvm::fltSemantics&()’ to ‘llvm::APFloat::IEEEFloat {aka llvm::detail::IEEEFloat}’
/usr/include/llvm/ADT/APFloat.h:798:3: note: candidate: llvm::APFloat::APFloat()
   APFloat() : U(IEEEdouble()) {
   ^~~~~~~
/usr/include/llvm/ADT/APFloat.h:798:3: note:   candidate expects 0 arguments, 2 provided
make[1]: *** [<builtin>: generator/llvm/llvm_code_container.o] Error 1
g++ -O3 -std=c++11 -Wall -Wuninitialized -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -DINSTALL_PREFIX='"/usr/local"' -std=gnu++11 -O1 -fPIC -D__USE_MINGW_ANSI_STDIO -Wall -Wuninitialized -fvisibility=hidden -Wno-overloaded-virtual -Wno-parentheses -I. -Iboxes -Ierrors -Ievaluate -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -I../libraries -Igenerator -Igenerator/asmjs -Igenerator/c -Igenerator/cpp -Igenerator/java -Igenerator/js -Igenerator/llvm -Igenerator/fir -Igenerator/wasm -Igenerator/interpreter -DINSTALL_PREFIX='"/usr/local"' -I`/usr/bin/llvm-config --includedir` -I../architecture -DLLVM_40 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS  -DASMJS_BUILD -DC_BUILD -DCPP_BUILD -DFIR_BUILD -DINTERP_BUILD -DJAVA_BUILD -DJS_BUILD -DLLVM_BUILD -DWASM_BUILD   -c -o generator/llvm/llvm_dsp_aux.o generator/llvm/llvm_dsp_aux.cpp
generator/llvm/llvm_dsp_aux.cpp: In function ‘llvm::Module* ParseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, std::__cxx11::string*)’:
generator/llvm/llvm_dsp_aux.cpp:309:63: error: conversion from ‘llvm::Expected<std::unique_ptr<llvm::Module> >’ to non-scalar type ‘llvm::ErrorOr<std::unique_ptr<llvm::Module> >’ requested
     ErrorOr<unique_ptr<Module>> ModuleOrErr = parseBitcodeFile(Buffer, Context);
                                               ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
generator/llvm/llvm_dsp_aux.cpp: In function ‘void AddOptimizationPasses(llvm::legacy::PassManagerBase&, llvm::legacy::FunctionPassManager&, unsigned int, unsigned int)’:
generator/llvm/llvm_dsp_aux.cpp:582:51: error: ‘createAlwaysInlinerPass’ was not declared in this scope
         Builder.Inliner = createAlwaysInlinerPass();
                                                   ^
make[1]: *** [<builtin>: generator/llvm/llvm_dsp_aux.o] Error 1
make[1]: Target 'all' not remade because of errors.
make[1]: Leaving directory '/home/ag/Sources/github/faust2/compiler'
make: *** [Makefile:44: all] Error 2

Setting libraries/architecture paths in prefixed installation (working without root)

I'm trying to use Faust in a situation where I don't have root access on Linux (so no sudo make install possible, neither installation from repositories or docker). So I'm using a prefixed installation obtained from:

make PREFIX=~/bin/faust
make install PREFIX=~/bin/faust

I have figured out that I can work with the compiler itself by passing the libraries path via -I and by specifying the complete path of an architecture file.

However to really get productive I would have to make use of the faust2... scripts. How are they supposed to work in a non-root installation?

I'm facing multiple issues:

  • Just running e.g. ~/bin/faust/bin/faust2alsa fails with line 12: faustpath: No such file or directory. I could solve this by adding ~/bin/faust/bin to my $PATH.

  • The next error is ERROR : unable to open file stdfaust.lib. The faustpath script can't figure out the proper library path. I figured out that I can get past this by hacking line 22 of faustpath as follows:

      PREFIX_PATH=`readlink -f \`dirname $0\`/..`
      FPATH="$FAUST_INSTALL $PREFIX_PATH /usr/local /usr /opt /opt/local"; # <- where to search
    

    Now the $FAUSTLIB and $FAUSTINC variables evaluate to:

      /home/<user>/bin/faust/share/faust
      /home/<user>/bin/faust/include/
    

    However, these variables are not used in faust2alsa at all, so Faust still can't find the standard libraries.

  • I started patching the scripts like faust2alsa by adding -I $FAUSTLIB to the Faust command line. This gets me past the library error, but now I'm stuck with ERROR : can't open architecture file alsa-gtk.cpp. Apparently Faust also can't locate the proper search path for the architecture files. Hacking faust2alsa further, I could get past this error by replacing the architecture argument by -a $FAUSTLIB/alsa-gtk.cpp.

  • The next error I'm getting is NOT FOUND faust/dsp/poly-dsp.h. Still looking for a solution to that... Simply passing -I $FAUSTINC to either faust or gcc is not enough unfortunately.

This feels like I'm on the wrong path. How can I tell Faust in general where to look for the library/architecture files? Or is there something broken about how the search paths for the standard libraries or the architecture files is inferred? I also tried to export FAUST_INSTALL=${HOME}/bin/faust, but this also did not help.

faust2 segfaults with LLVM 3.5

faust2 compiled with LLVM 3.5 on Arch Linux. Here's what I get if I try to compile examples/reverb/freeverb.dsp to bitcode:

$ faust -double -lang llvm freeverb.dsp -o freeverb.bc
Segmentation fault (core dumped)

gdb backtrace:

#0  0x000000000058f986 in llvm::DataLayout::isLittleEndian (this=0x0)
    at /usr/include/llvm/IR/DataLayout.h:209
#1  llvm::DataLayout::operator= (DL=..., this=0x1b17d70)
    at /usr/include/llvm/IR/DataLayout.h:191
#2  llvm::DataLayout::DataLayout (DL=..., this=0x1b17d70)
    at /usr/include/llvm/IR/DataLayout.h:187
#3  LLVMTypeInstVisitor::LLVMTypeInstVisitor (prefix=..., 
    module=<optimized out>, 
    __vtt_parm=0x947ff0 <VTT for LLVMTypeInstVisitor1+8>, this=0x7fffffffdb50, 
    __in_chrg=<optimized out>) at generator/llvm/llvm_instructions.hh:586
#4  LLVMTypeInstVisitor1::LLVMTypeInstVisitor1 (prefix=..., 
    module=<optimized out>, this=0x7fffffffdb50, __in_chrg=<optimized out>, 
    __vtt_parm=<optimized out>) at generator/llvm/llvm_instructions.hh:766
#5  LLVMCodeContainer::produceFactory (this=0x199f1f0)
    at generator/llvm/llvm_code_container.cpp:721
#6  0x000000000067dab3 in generateCode (generate=true, 
    numOutputs=<optimized out>, numInputs=<optimized out>, 
    signals=0x7fffec5d77f0, this=<optimized out>) at libcode.cpp:974
#7  compile_faust_internal (argc=argc@entry=7, argv=argv@entry=0x7fffffffe7b8, 
    name=name@entry=0x6bdec2 "FaustDSP", dsp_content=dsp_content@entry=0x0, 
    generate=generate@entry=true) at libcode.cpp:1188
#8  0x000000000067ef81 in compile_faust_factory (argc=7, argv=0x7fffffffe7b8, 
    name=name@entry=0x6bdec2 "FaustDSP", dsp_content=dsp_content@entry=0x0, 
    error_msg="", generate=generate@entry=true) at libcode.cpp:1205
#9  0x0000000000674aa9 in main (argc=<optimized out>, argv=<optimized out>)
    at main.cpp:35

This example still works with LLVM 3.5 using an old snapshot (rev. 33009c4) of faust2 from sf2 git, so this is most likely a regression that recently got introduced with all the latest changes.

Note that the latest faust2 also compiles this file ok when using LLVM 3.9. But for compatibility with Pure I really need this to work with LLVM 3.5 as well. Pure is still stuck at this version right now, since LLVM 3.5 is the last version that still has the old (non-MC) JIT.

duplicate (and different) version of gradle included

both architecture/android/ (for faust2android) and architecture/smartKeyboard/android/ (for faust2smartkeyb contain a verbatim copy of gradle

  • the verbatim copies contain binaries (for the JVM). are you sure you want that in git?

  • afaiu, gradle is really a build-system. are you sure you want to include a build-system in the faust repository (rather than the input for a build-system; e.g. you have Makefiles in your repo, but you usually don't include make itself)

  • since there is no separate license for the included copies of gradle, one must really assume that this is © GRAME and GPL-2+; since you are distributing GPL binaries, you also should (well: must) distribute the source code as well.

  • should the two gradle-wrappers be the same? Both gradle-wrapper.properties mention https://services.gradle.org/distributions/gradle-2.14.1-all.zip as the distribution but the jar-files do not match with the one that can be downloaded from that URL (and are different from each other as well). It's totally unclear what these jar-files contain (which brings us back to: please provide the sources)

From my naive point of view, I would prefer if gradle was not included at all, and instead the README.md (of faust2android and faust2smartkeyb) would contain instructions on how to get it from upstream (there's already a lengthy prerequisites section in the READMEs).

I have to admit that I don't know much about gradle and it might well be, that the only way to use it is to include the gradle-wrapper. If this is indeed the case, please add full license and copyright information (and if the license requires it, the source code).
If possible use the same versions for both faust2android and faust2smartkeyb (ideally don't duplicate but use only one copy for both architectures).

faust2 fails to compile, can't find CInterface.h

./dsp_factory.hh:32:10: fatal error: 'faust/gui/CInterface.h' file not found
#include "faust/gui/CInterface.h"

This is on the latest commit, when running make dynamic

OS X 10.12.6

Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

llvm: stable 4.0.1 (bottled), HEAD [keg-only]

missing sources for PDFs

the following files (published under the GPL) are missing source files:

  • documentation/misc/Faust_tutorial2.pdf
  • documentation/misc/faust-den-haag-april-2006-v6.pdf
  • documentation/misc/faust-rewriting.pdf
  • documentation/misc/faust-soft-computing.pdf
  • documentation/misc/faust_SMC2009.pdf
  • documentation/misc/faust_tutorial.pdf
  • documentation/misc/lac06.pdf
  • documentation/misc/lac07_graef.pdf
  • documentation/misc/lac07_slides_graef.pdf

also these older versions of using-faust-with-ros are missing sources:

  • documentation/misc/using-faust-with-ros-src/pdf_versions/using-faust-with-ros-0.0.05.pdf
  • documentation/misc/using-faust-with-ros-src/pdf_versions/using-faust-with-ros-0.0.06.pdf
  • documentation/misc/using-faust-with-ros-src/pdf_versions/using-faust-with-ros-0.0.07.pdf
  • documentation/misc/using-faust-with-ros-src/pdf_versions/using-faust-with-ros-0.0.08.pdf
  • documentation/misc/using-faust-with-ros-src/pdf_versions/using-faust-with-ros_0.0.01.pdf
  • documentation/misc/using-faust-with-ros-src/pdf_versions/using-faust-with-ros_0.0.02.pdf
  • documentation/misc/using-faust-with-ros-src/pdf_versions/using-faust-with-ros_0.0.03.pdf
  • documentation/misc/using-faust-with-ros-src/pdf_versions/using-faust-with-ros_0.0.04.pdf

I'm not sure what value three is in keeping 8 outdated versions of a PDF under version-control.
using-faust-with-ros_0.0.09.pdf is identical with using-faust-with-ros.pdf (both are just the newest version). i guess the pdf_versions/ folder could go altogether.

AR envelope behaves unexpectedly since recent change

Ever since 1f116ca en.ar behaves what i believe to be unintuitively

this change means that the envelope will go to 0 when the trigger goes to 0. This means, that to use the envelope, you have to keep the trigger at 1 for at least attTime + relTime

I have absolutely no idea why this could be wanted, but if it's intentional, don't mind me.

feature request: ability to compile from stdin

For example, I'd like to be able to do this:

faust < cat ./example.dsp

A bit of background:

  • I want to set up a REST server for generating SVG diagrams for Faust code
  • I want to use Docker for no-fuss deployments of the faust executable

At present the only way to read a file is to specify one or more files with file paths (in the current filesystem). Docker makes this awkward as by default it only has access to the container's filesystem (not the host's, where the file you want to compile will reside).

It can be done, but it is awkward. Eg:

docker run -v /home/:/home/ mbylstra/faust /home/michael/code/current/faust-docker/test.dsp

What this does is mount the host's /home/ directory as /home in the container. You then need to use full paths for the file you want to compile (~ or . won't work).

With stdin, you'd be able to do the following, which is nicer:

docker run mbylstra/faust < cat ./test.dsp

Has this been considered?

faust2: faustremote compile error on Linux

Here's what I get when I try to run make remote on Linux (Arch):

make[1]: Entering directory '/home/ag/Sources/github/faust2/embedded/faustremote/RemoteServer'
g++  -o RemoteServer remote_server.o main.o utilities.o  ../../../compiler/libfaust.a -ljacknet -lOSCFaust -lHTTPDFaust -ljack -lmicrohttpd -lpthread -lcrypto `/usr/bin/llvm-config --ldflags` `/usr/bin/llvm-config --libs` -lz -lncurses -ldl -llo
remote_server.o: In function `DSPServer::answerGet(MHD_Connection*, char const*)':
remote_server.cpp:(.text+0x1095): undefined reference to `pathToContent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: RemoteServer] Error 1

Any idea what's going wrong there?

faust2 places FAUSTFLOAT define too early in cpp output

faust1 has this in the proper location (right before <<includeclass>>) so that architectures like csound.cpp and pure.cpp can override the #define without getting silly warnings about FAUSTFLOAT being redefined.

faust2 places it near the beginning of the output file, so that there's no chance in hell to have it defined by the architecture first (which also makes the #ifndef FAUSTFLOAT in the generated code rather pointless). Adding insult to injury, it's not possible to make this work with faust2 (using an #ifdef in the architecture) without breaking faust1 compilation.

faust1 does this right IMHO, so faust2 should follow suit.

Problems compiling faust2 on linux

I'm having some problems compiling current faust2 branch on Linux.

For starters I have to add --std=c++11 to CXXFLAGS, which I do with
CXXFLAGS="-O3 -Wall -Wuninitialized --std=c++11" make

Then a typo error comes up in compiler/generator/llvm/llvm_dsp_aux.cpp, here's my patch:

index c4e9075..b0c0914 100644
--- a/compiler/generator/llvm/llvm_dsp_aux.cpp
+++ b/compiler/generator/llvm/llvm_dsp_aux.cpp
@@ -420,7 +420,7 @@ void llvm_dsp_factory_aux::startLLVMLibrary()
 #endif
 #if (!defined(LLVM_35) && !defined(LLVM_36) && !defined(LLVM_37) && !defined(LLVM_38) && !d
         if (!llvm_start_multithreaded()) {
-            std::cerr << "llvm_start_multithreaded error...\n");
+            std::cerr << "llvm_start_multithreaded error...\n";
         }
 #endif
     }

Then I get

generator/llvm/llvm_dsp_aux.cpp:682:82: error: operands to ?: have different types ‘std::string {aka std::basic_string<char>}’ and ‘llvm::StringRef’
         builder.setMCPU((cpu == "") ? llvm::sys::getHostCPUName() : StringRef(cpu));
                                                                                  ^

I'm using a fairly ancient version of Ubuntu as my build machine, and trying to compile with gcc. That would be the problem, I guess.

Is the master branch functionally equivalent to faust2, in respect of supported language features? Will faust2 become the new master branch at some point?

I am happy to either stick to master/faust1, or switch to faust2 and build on a more modern machine, unless I'm missing something and this should actually work.

faust2jack doesn't check jack version

When running faust2jack with any of the released jack versions, you get:
'jack_midi_reset_buffer' was not declared in this scope

The solution is to build jack2 from git, as explained by @sletz here.

It would be nice if faust could check for an appropriate version of jack and give a warning/error if it's not there.

On a related note: a jack2 release would be great too, but that is already being worked on by @falkTX.

.h files NOT FOUND by faust-git

When I compile any dsp with faust2jack or faust2jaqt from git, either faust 1 or 2, I get:

NOT FOUND faust/dsp/timed-dsp.h
NOT FOUND faust/gui/PathBuilder.h
NOT FOUND faust/gui/FUI.h
NOT FOUND faust/gui/JSONUI.h
NOT FOUND faust/misc.h
NOT FOUND faust/gui/faustqt.h
NOT FOUND faust/audio/jack-dsp.h
NOT FOUND faust/gui/OSCUI.h
NOT FOUND faust/gui/httpdUI.h
NOT FOUND faust/gui/MidiUI.h
NOT FOUND faust/midi/rt-midi.h
NOT FOUND faust/midi/RtMidi.cpp
NOT FOUND faust/dsp/poly-dsp.h
NOT FOUND faust/dsp/dsp-combiner.h

presumably from compiler/parser/enrobage.cpp.

The release versions do not have this problem.

sound2faust Install Error (Mac)

make
c++ -O3 sound2faust.cpp -I../../architecture `pkg-config --cflags --static --libs sndfile` -o sound2faust
/bin/sh: pkg-config: command not found
sound2faust.cpp:9:10: fatal error: 'sndfile.h' file not found
#include <sndfile.h>
         ^
1 error generated.
make: *** [sound2faust] Error 1
Model Name:	MacBook Pro
  Model Identifier:	MacBookPro11,5
  Processor Name:	Intel Core i7
  Processor Speed:	2.5 GHz
  Number of Processors:	1
  Total Number of Cores:	4
  L2 Cache (per Core):	256 KB
  L3 Cache:	6 MB
  Memory:	16 GB

OSX El Capitan (10.11.6)

Juce VSTs state isn't kept when closing and reopening GUI

Hi there,

I'm using faust2juce a lot these days, and so far it works pretty well.
I've noticed an annoying bug on compiled VSTs: the state of the plugin controls are lost each time I reopen the plugin GUI in a DAW. All controls are setted back to the default values.

I can reproduce this bug on Linux with Carla host or on Windows 7 with the last version of Reaper.
I'm using the master-dev branch.

I'm not really sure what's happening, but it looks like the uiSlider components are always recreated with the default value, without taking care of the current value.

Thanks for your help.

Manipulation of voice recordings

Apologies for this basic question, but I haven't figured out if/how Faust can import recordings such as a set of mp3 files, do some transformations on them, then both export the result to a new file as well as play it in place?

I would like to stitch together various recorded voice instructions with varying amounts of silence and bell recordings between them in order to construct guided meditations of varying lengths. I would like the user to be able to dynamically choose how much silence there should be, which bells should play when, etc.

To give a background on my requirements, I aim first to allow doing this through a web app, and if necessary later on, generalize to Android/iOS (but maybe it would be possible to cater to all main platforms through the web using webassembly etc?). The web app should work across Chrome, Firefox, Safari and Edge, and should work even if the smartphone screen gets locked, even on iOS.

Thank you for sharing this project, and than you for having taken the time to read this 🙂

Faust won't make because of libtool

When trying to make Faust I receive the error message:
libtool: error: you must specify a MODE
make[1]: *** [libOSCFaust.a] Error 1
make: *** [all] Error 2

In the osclib folder makefile no mode is specified but I'm not sure what is supposed to be there.

osx Sierra 10.12.2
Xcode 8.2.1
Jaiden

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C compiler -f Makefile.unix prefix=/usr/local
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o boxes/boxcomplexity.o boxes/boxcomplexity.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o boxes/boxes.o boxes/boxes.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o boxes/boxtype.o boxes/boxtype.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o boxes/ppbox.o boxes/ppbox.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/doc.o documentator/doc.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/doc_Text.o documentator/doc_Text.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/doc_autodoc.o documentator/doc_autodoc.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/doc_compile.o documentator/doc_compile.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/doc_lang.o documentator/doc_lang.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/doc_metadatas.o documentator/doc_metadatas.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/doc_notice.o documentator/doc_notice.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/doc_sharing.o documentator/doc_sharing.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o documentator/lateq.o documentator/lateq.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/device/PSDev.o draw/device/PSDev.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/device/SVGDev.o draw/device/SVGDev.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/drawschema.o draw/drawschema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/blockSchema.o draw/schema/blockSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/cableSchema.o draw/schema/cableSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/collector.o draw/schema/collector.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/connectorSchema.o draw/schema/connectorSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/cutSchema.o draw/schema/cutSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/decorateSchema.o draw/schema/decorateSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/enlargedSchema.o draw/schema/enlargedSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/inverterSchema.o draw/schema/inverterSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/mergeSchema.o draw/schema/mergeSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/parSchema.o draw/schema/parSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/recSchema.o draw/schema/recSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/seqSchema.o draw/schema/seqSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/splitSchema.o draw/schema/splitSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/schema/topSchema.o draw/schema/topSchema.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o draw/sigToGraph.o draw/sigToGraph.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o errors/errormsg.o errors/errormsg.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o errors/timing.o errors/timing.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o evaluate/environment.o evaluate/environment.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o evaluate/eval.o evaluate/eval.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o evaluate/loopDetector.o evaluate/loopDetector.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/absprim.o extended/absprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/acosprim.o extended/acosprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/asinprim.o extended/asinprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/atan2prim.o extended/atan2prim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/atanprim.o extended/atanprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/ceilprim.o extended/ceilprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/cosprim.o extended/cosprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/expprim.o extended/expprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/floorprim.o extended/floorprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/fmodprim.o extended/fmodprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/log10prim.o extended/log10prim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/logprim.o extended/logprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/maxprim.o extended/maxprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/minprim.o extended/minprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/powprim.o extended/powprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/remainderprim.o extended/remainderprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/rintprim.o extended/rintprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/sinprim.o extended/sinprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/sqrtprim.o extended/sqrtprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o extended/tanprim.o extended/tanprim.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/Text.o generator/Text.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/compile.o generator/compile.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/compile_scal.o generator/compile_scal.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/compile_sched.o generator/compile_sched.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/compile_vect.o generator/compile_vect.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/contextor.o generator/contextor.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/description.o generator/description.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/floats.o generator/floats.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/klass.o generator/klass.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/occurences.o generator/occurences.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/sharing.o generator/sharing.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o generator/uitree.o generator/uitree.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o main.o main.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o normalize/aterm.o normalize/aterm.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o normalize/mterm.o normalize/mterm.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o normalize/normalize.o normalize/normalize.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o normalize/privatise.o normalize/privatise.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o normalize/simplify.o normalize/simplify.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o parallelize/colorize.o parallelize/colorize.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o parallelize/graphSorting.o parallelize/graphSorting.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o parallelize/loop.o parallelize/loop.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o parser/enrobage.o parser/enrobage.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o parser/faustlexer.o parser/faustlexer.cpp
parser/faustlexer.cpp:2187:16: warning: function 'yyinput' is not needed and
will not be emitted [-Wunneeded-internal-declaration]
static int yyinput (void)
^
1 warning generated.
parser/faustlexer.cpp:2187:16: warning: function 'yyinput' is not needed and
will not be emitted [-Wunneeded-internal-declaration]
static int yyinput (void)
^
1 warning generated.
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o parser/faustparser.o parser/faustparser.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o parser/sourcefetcher.o parser/sourcefetcher.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o parser/sourcereader.o parser/sourcereader.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o patternmatcher/patternmatcher.o patternmatcher/patternmatcher.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o propagate/labels.o propagate/labels.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o propagate/propagate.o propagate/propagate.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/binop.o signals/binop.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/ppsig.o signals/ppsig.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/prim2.o signals/prim2.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/recursivness.o signals/recursivness.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/signals.o signals/signals.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/sigorderrules.o signals/sigorderrules.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/sigprint.o signals/sigprint.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/sigtype.o signals/sigtype.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/sigtyperules.o signals/sigtyperules.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/sigvisitor.o signals/sigvisitor.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o signals/subsignals.o signals/subsignals.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o tlib/compatibility.o tlib/compatibility.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o tlib/list.o tlib/list.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o tlib/node.o tlib/node.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o tlib/occurrences.o tlib/occurrences.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o tlib/recursive-tree.o tlib/recursive-tree.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o tlib/shlysis.o tlib/shlysis.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o tlib/symbol.o tlib/symbol.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o tlib/tree.o tlib/tree.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o utils/files.o utils/files.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC -c -o utils/names.o utils/names.cpp
c++ -O3 -std=c++11 -Wall -Wuninitialized -arch i386 -arch x86_64 -Wno-parentheses -Iboxes -Ierrors -Ievaluate -Igenerator -Inormalize -Iparser -Ipropagate -Iparallelize -Isignals -Itlib -Idraw -Idraw/device -Idraw/schema -Iextended -Ipatternmatcher -Idocumentator -Iutils -DINSTALL_PREFIX='"/usr/local"' -I../architecture -fPIC boxes/boxcomplexity.o boxes/boxes.o boxes/boxtype.o boxes/ppbox.o documentator/doc.o documentator/doc_Text.o documentator/doc_autodoc.o documentator/doc_compile.o documentator/doc_lang.o documentator/doc_metadatas.o documentator/doc_notice.o documentator/doc_sharing.o documentator/lateq.o draw/device/PSDev.o draw/device/SVGDev.o draw/drawschema.o draw/schema/blockSchema.o draw/schema/cableSchema.o draw/schema/collector.o draw/schema/connectorSchema.o draw/schema/cutSchema.o draw/schema/decorateSchema.o draw/schema/enlargedSchema.o draw/schema/inverterSchema.o draw/schema/mergeSchema.o draw/schema/parSchema.o draw/schema/recSchema.o draw/schema/seqSchema.o draw/schema/splitSchema.o draw/schema/topSchema.o draw/sigToGraph.o errors/errormsg.o errors/timing.o evaluate/environment.o evaluate/eval.o evaluate/loopDetector.o extended/absprim.o extended/acosprim.o extended/asinprim.o extended/atan2prim.o extended/atanprim.o extended/ceilprim.o extended/cosprim.o extended/expprim.o extended/floorprim.o extended/fmodprim.o extended/log10prim.o extended/logprim.o extended/maxprim.o extended/minprim.o extended/powprim.o extended/remainderprim.o extended/rintprim.o extended/sinprim.o extended/sqrtprim.o extended/tanprim.o generator/Text.o generator/compile.o generator/compile_scal.o generator/compile_sched.o generator/compile_vect.o generator/contextor.o generator/description.o generator/floats.o generator/klass.o generator/occurences.o generator/sharing.o generator/uitree.o main.o normalize/aterm.o normalize/mterm.o normalize/normalize.o normalize/privatise.o normalize/simplify.o parallelize/colorize.o parallelize/graphSorting.o parallelize/loop.o parser/enrobage.o parser/faustlexer.o parser/faustparser.o parser/sourcefetcher.o parser/sourcereader.o patternmatcher/patternmatcher.o propagate/labels.o propagate/propagate.o signals/binop.o signals/ppsig.o signals/prim2.o signals/recursivness.o signals/signals.o signals/sigorderrules.o signals/sigprint.o signals/sigtype.o signals/sigtyperules.o signals/sigvisitor.o signals/subsignals.o tlib/compatibility.o tlib/list.o tlib/node.o tlib/occurrences.o tlib/recursive-tree.o tlib/shlysis.o tlib/symbol.o tlib/tree.o utils/files.o utils/names.o -o faust
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C architecture/osclib
make -C oscpack
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I. -Iip -Iip/posix -Iosc -mmacosx-version-min=10.9 -c -o ip/IpEndpointName.o ip/IpEndpointName.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I. -Iip -Iip/posix -Iosc -mmacosx-version-min=10.9 -c -o ip/posix/NetworkingUtils.o ip/posix/NetworkingUtils.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I. -Iip -Iip/posix -Iosc -mmacosx-version-min=10.9 -c -o ip/posix/UdpSocket.o ip/posix/UdpSocket.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I. -Iip -Iip/posix -Iosc -mmacosx-version-min=10.9 -c -o osc/OscOutboundPacketStream.o osc/OscOutboundPacketStream.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I. -Iip -Iip/posix -Iosc -mmacosx-version-min=10.9 -c -o osc/OscPrintReceivedElements.o osc/OscPrintReceivedElements.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I. -Iip -Iip/posix -Iosc -mmacosx-version-min=10.9 -c -o osc/OscReceivedElements.o osc/OscReceivedElements.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I. -Iip -Iip/posix -Iosc -mmacosx-version-min=10.9 -c -o osc/OscTypes.o osc/OscTypes.cpp
rm -f liboscpack.a
ar cq liboscpack.a ip/IpEndpointName.o ip/posix/NetworkingUtils.o ip/posix/UdpSocket.o osc/OscOutboundPacketStream.o osc/OscPrintReceivedElements.o osc/OscReceivedElements.o osc/OscTypes.o
ranlib liboscpack.a
cp oscpack/liboscpack.a liboscpack.a
make -C faust
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/OSCControler.o src/OSCControler.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/lib/OSCFError.o src/lib/OSCFError.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/lib/OSCRegexp.o src/lib/OSCRegexp.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/msg/Message.o src/msg/Message.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/nodes/FaustFactory.o src/nodes/FaustFactory.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/nodes/FaustNode.o src/nodes/FaustNode.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/nodes/MessageDriven.o src/nodes/MessageDriven.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/nodes/RootNode.o src/nodes/RootNode.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/osc/OSCAddress.o src/osc/OSCAddress.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/osc/OSCIO.o src/osc/OSCIO.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/osc/OSCListener.o src/osc/OSCListener.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/osc/OSCSetup.o src/osc/OSCSetup.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/osc/OSCStream.o src/osc/OSCStream.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/threads/pthreads_impl.o src/threads/pthreads_impl.cpp
c++ -O3 -Wall -Wuninitialized -Wno-parentheses -I../oscpack -I../oscpack/osc -I. -Isrc -Isrc/lib -Isrc/msg -Isrc/nodes -Isrc/osc -Isrc/threads -I../.. -DINSTALL_PREFIX='""' -mmacosx-version-min=10.9 -c -o src/threads/winthreads_impl.o src/threads/winthreads_impl.cpp
rm -f libOSCFaust.a
ar cq libOSCFaust.a src/OSCControler.o src/lib/OSCFError.o src/lib/OSCRegexp.o src/msg/Message.o src/nodes/FaustFactory.o src/nodes/FaustNode.o src/nodes/MessageDriven.o src/nodes/RootNode.o src/osc/OSCAddress.o src/osc/OSCIO.o src/osc/OSCListener.o src/osc/OSCSetup.o src/osc/OSCStream.o src/threads/pthreads_impl.o src/threads/winthreads_impl.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libOSCFaust.a(winthreads_impl.o) has no symbols
ranlib libOSCFaust.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libOSCFaust.a(winthreads_impl.o) has no symbols
cp faust/libOSCFaust.a libOSCFaust.a
libtool libOSCFaust.a liboscpack.a -o tmp.a && rm -f libOSCFaust.a && mv tmp.a libOSCFaust.a
Usage: /usr/local/bin/libtool [OPTION]... [MODE-ARG]...
Try 'libtool --help' for more information.
libtool: error: you must specify a MODE
make[1]: *** [libOSCFaust.a] Error 1
make: *** [all] Error 2

`make uninstall` leaves files installed

at least the faustbench executable is not removed when doing a make uninstall.

steps to reproduce

$ git clone --branch faust2 https://github.com/grame-cncm/faust
$ cd faust
$ make
$ make install DESTDIR=/tmp/faustinstall
$ make uninstall DESTDIR=/tmp/faustinstall
$ find /tmp/faustinstall -type f
/tmp/faustinstall/usr/local/bin/faustbench
$

Wrong license in architecture/faust/gui/meta.h

Header architecture/faust/gui/meta.h is licensed under plain GPL v3 without exception and is a part of faust UI architecture required to actually compile Faust files.

While the header is small enough to allow fair use replacement to work, this is still a minor licensing problem as it means non-GPL3 projects cannot directly include it and in the future it might change alongside code generated by the compiler.

Can't compile Juce project with Visual Studio 2015

Hi there,
First, thank you for your work. I'm enjoying faust a lot on my dsp learning journey.
I'm playing with the new faust2juce script. Works great with linux makefile export target.

Now, I'm trying to compile a vst for Windows 64bit with Visual Studio 2015, and I have a bunch of errors. I use the master-dev branch. Sorry if it lacks of details, I'm a newbie in C++, especially under Windows.

First, I have syntax errors with std::max and std::min functions. I was able to fix them replacing:

std::min(0., 1.)

by:

(std::min)(0., 1.)

on all occurrences.

Second, I have errors with the Rectangle class ("Rectancle" is ambiguous). I was able to fix them by adding juce:: namespace to the class like this:

juce::Rectangle<int>(0, 0, 640., 480.)

Third, I have errors with the FAUSTFLOAT type ("FAUSTFLOAT is undefined"). Replacing all the occurrences of FAUSTFLOAT by float and removing the definition of the type seems to be ok with the compiler, but I'm unsure it would work at the end.

Finally, I have a last error, which I'm unable to fix: '_InterlockedDecrement': ambiguous call to overloaded function.

I'm really not sure if it's a configuration problem on my side, or if it's related to the faust generated juce project.

Thanks for helping!

Recurrence formula

Hello,
I'm having some trouble to compile a matrix where the terms are computed with a recurrence formula.
The code is attached at the end of this report

This code compute a rotation matrix of size (M+1)^2 x (M+1)^2 to rotate a HOA soundscape described at order M.

Each term of the matrix is computed with a recurrence formula starting with rotation matrix of order M=1.

The recurrence formula are a bit complex and taken from ref [1]
[1] Ivanic, J., & Ruedenberg, K. (1996). Rotation matrices for real spherical harmonics. Direct determination by recursion. The Journal of Physical Chemistry, 100(15), 6342–6347.

In the code, a term of the rotation matrix at order M is given by:

rot(M,n1,n2) with -M <= n1,n2 <= M

So far, everything compiles up to order M=3. However as soon as the order is set as M=4 or higher, faust never finish the compilation.

In order to have more clues on this, I can ask as output only on term of the matrix, for example

process = rot(M,M,M) // bottom right term of the matrix at order M

In the same vein, I can ask a whole line of the matrix:

process = row(M,i) // where 0 <= i <= (M+1)^2-1

For M=4, all the terms compile separately, as well as all the line of the matrix. However, as soon as I ask the whole matrix, it doesn't compile anymore..

Any ideas ?

Thanks,
Pierre

declare name "HOA Rotator";
declare version "1.0";
declare author      "Pierre Lecomte";
declare license     "GPL";
declare copyright   "(c) Pierre Lecomte 2016";

import("stdfaust.lib");


// Description: This tool rotates the HOA scene around the x-axis (roll angle), y-axis (pitch angle), and z-axis (yaw angle). Driven with OSC from head-tracking, this tool can compensate the head rotations. Implementation according to [1] with corrections.

// References: 
//[1] J. Ivanic and K. Ruedenberg, “Rotation matrices for real spherical harmonics. Direct determination by recursion,” J. Phys. Chem., vol. 100, no. 15, pp. 6342–6347, 1996.
// In TABLE 2 of this paper, from the corrections, the formulas for the term V(l,m,m') should be taken from the original paper...

// Inputs: (M+1)^2
// Outputs: (M+1)^2

// Bus with gain
buswg(c) = R(c) with {
  R((c,cl)) = R(c),R(cl);
  R(1)      = _;
  //R(0)      = !;
  R(0)      = !:0;
  R(float(0)) = R(0);
  R(float(1)) = R(1);
  R(c)      = *(c);
};

// Sliders
yaw     =   hslider("Yaw[osc:/yaw 0 360]", 0, 0, 360, 0.01)*ma.PI/180; // Slider with yaw rotation angle
pitch   =   hslider("Pitch[osc:/picth 0 360]", 0, 0, 360, 0.01)*ma.PI/180; // Slider with pitch rotation angle
roll    =   hslider("Roll[osc:/roll 0 360]", 0, 0, 360, 0.01)*ma.PI/180; // Slider with roll rotation angle

// Maximum required order
M	=	4;

ins =   (M+1)^2;

// Zero-th order
rot(0,m,n) = 1;

// First order rotation matrix (n1, n2)
rot(1,-1,-1)    =   cos(roll)*cos(yaw) - sin(pitch)*sin(roll)*sin(yaw);
rot(1,-1,0)     =   -1*cos(pitch)*sin(roll);
rot(1,-1,1)     =   cos(yaw)*sin(pitch)*sin(roll) + cos(roll)*sin(yaw);
rot(1,0,-1)     =   cos(yaw)*sin(roll) + cos(roll)*sin(pitch)*sin(yaw);
rot(1,0,0)      =   cos(pitch)*cos(roll);
rot(1,0,1)      =   -1*cos(roll)*cos(yaw)*sin(pitch) + sin(roll)*sin(yaw);
rot(1,1,-1)     =   -1*cos(pitch)*sin(yaw);
rot(1,1,0)      =   sin(pitch);
rot(1,1,1)      =   cos(pitch)*cos(yaw);
rot(1,m,n)      =   0; // other cases for 1st order.

// Recurrence computation for higher-orders
denom(m,n2)     =   ba.if(abs(n2)<m,(m+n2)*(m-n2),2*m*(2*m-1));
u(m,n1,n2)      =   sqrt((m+n1)*(m-n1)/denom(m,n2));
v(m,n1,n2)      =   1/2*sqrt((1+(n1==0))*(m+abs(n1)-1)*(m+abs(n1))/denom(m,n2))*(1-2*(n1==0));
w(m,n1,n2)      =   -1/2*sqrt((m-abs(n1)-1)*(m-abs(n1))/denom(m,n2))*(1-(n1==0));

U(m,n1,n2)      =   ba.if(n1==0,P(0,m,0,n2),P(0,m,n1,n2));

V(m,n1,n2)      =   case{
                    (1,0,0)     =>P(1,m,1,n2)+P(-1,m,-1,n2);
                    (0,1,0)     =>P(1,m,n1-1,n2)*sqrt(1+(n1==1))-P(-1,m,-n1+1,n2)*(1-(n1==1));
                    (0,0,1)     =>P(1,m,n1+1,n2)*(1-(n1==-1))+P(-1,m,-n1-1,n2)*sqrt(1+(n1==-1)); // sqrt(1+(n1==1)) is right, in the correction of the paper it's sqrt(1-(n1==1))
                    }(n1==0,n1>0,n1<0);
                    
W(m,n1,n2)      =   case{
                    (1,0,0)     => 0; // Shouldn't be defined but covers some pattern matching cases.
                    (0,1,0)     => P(1,m,n1+1,n2)+P(-1,m,-n1-1,n2);
                    (0,0,1)     => P(1,m,n1-1,n2)-P(-1,m,-n1+1,n2);
                    }(n1==0,n1>0,n1<0);

P(i,m,mu,n2)    =   case{
                    (1,0,0)     => rot(1,i,0)*rot(m-1,mu,n2);
                    (0,1,0)     => rot(1,i,1)*rot(m-1,mu,m-1)-rot(1,i,-1)*rot(m-1,mu,-m+1);
                    (0,0,1)     => rot(1,i,1)*rot(m-1,mu,-m+1)+rot(1,i,-1)*rot(m-1,mu,m-1);
                    }(abs(n2)<m,n2==m,n2==-m);

// Other cases
rot(m,n1,n2)    =   u(m,n1,n2)*U(m,n1,n2)+v(m,n1,n2)*V(m,n1,n2)+w(m,n1,n2)*W(m,n1,n2);

// Main-matrix row			
row(M,i)	=	par(m,M+1,
			  par(j,2*m+1,term 
			    with{term = ba.if((i >= m^2) & (i< (m+1)^2),rot(m,int(i-m^2)-m,j-m),0);}
			    )
			    );

// Matrix multiplication
// n = number of inputs
// m = number of outputs
matrix(n,m) = par(i,n,_) <: par(i,m,buswg(row(M,i)):>_);

//process = rot(M,-2,-1);
//process =   row(M,0);
process = matrix(ins,ins);

being new to faust 2 - page 20 tutorial fails

http://faust.grame.fr/images/faust-tutorial2.pdf page 20 has wrong imports and should be updated

magnetophon told me about this fix replacing the first lines.

From library pdf I tried adding my own imports, but compilation failed at .cpp stage with a warning (it did run though).

    import("stdfaust.lib");

    t = hslider("interpolation time", 0.001, 0, 0.01, 0.0001);
    c = hslider("pan", 0.05, 0, 1, 0.01): si.smooth(ba.tau2pole(t));

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.