Remote compilation
Compiling a same Faust DSP program on different platforms and targets (applications and plugins) can be a tedious task when SDKs have to be installed and configurated, or when the user want to do cross-compilation.
A remote compilation service has been developed to simplify this process. It allows to send DSP source code on a cloud based infrastructure, which hosts a lot of targets and can do cross-compilation. This service is accessible:
-
in several applications like FaustLive, Faust Editor or Faust IDE
-
with a dedicated API explained in more details in the faustservice project and in the FaustWeb client tool
-
with the faustremote script.
faustremote
The faustremote script (part of the Faust distribution), allows you to access the remote compilation service and execute compilation requests:
-
faustremote [<servurl>] [<platform> <arch> <srcfile>]returns the list of platform and arch for each platform. When no<servurl>is defined, the default GRAME Faust URL service is used. Then a given DSP file can be compiled using a command likefaustremote osx coreaudio-qtto return the compiled result as a ZIP file. -
if DSP libraries are needed in the DSP program, a ZIP file containing all required resources can be prepared and sent.
-
the
sourceandanyparameters can be used to produce code for any of the supported backend. The wanted options have to be defined using acompile_optionsmetadata, like for instancedeclare compile_options -lang c -cn foo -doubleto compile with the C backend. By default, the resulting file will have the.txtextension.