Nicolas,
Yes, things like CreateExecutable and CreateLibrary are supported
pi@raspberry-wri2 ~ $ wolfram
Wolfram Language (Raspberry Pi Pilot Release)
Copyright 1988-2013 Wolfram Research
Information & help: wolfram.com/raspi
In[1]:= Needs["CCompilerDriver`"]
In[2]:= hello = CreateExecutable["
#include <stdio.h>
int main () { printf(\"hello\"); }",
"hello"]
Out[2]= /home/pi/.Mathematica/SystemFiles/LibraryResources/Linux-ARM/hello
In[3]:= Import["!"<>QuoteFile[hello],"Text"]
Out[3]= hello
and:
In[4]:= add1src = "
#include \"WolframLibrary.h\"
DLLEXPORT mint WolframLibrary_getVersion(){
return WolframLibraryVersion;
}
DLLEXPORT int WolframLibrary_initialize( WolframLibraryData \
libData) {
return 0;
}
DLLEXPORT void WolframLibrary_uninitialize( WolframLibraryData \
libData) {
return;
}
DLLEXPORT int constantzero(WolframLibraryData libData, mint Argc, \
MArgument *Args, MArgument Res){
MArgument_setInteger(Res, 0);
return LIBRARY_NO_ERROR;
}
DLLEXPORT int add1(WolframLibraryData libData,
mint Argc, MArgument *Args, MArgument Res) {
mint I0;
mint I1;
I0 = MArgument_getInteger(Args[0]);
I1 = I0 + 1;
MArgument_setInteger(Res, I1);
return LIBRARY_NO_ERROR;
}
";
In[5]:= add1lib = CreateLibrary[add1src, "add1"]
Out[5]= /home/pi/.Mathematica/SystemFiles/LibraryResources/Linux-ARM/add1.so
In[6]:= add1 = LibraryFunctionLoad[add1lib, "add1", {Integer}, Integer]
Out[6]= LibraryFunction[<>, add1, {Integer}, Integer]
In[7]:= Map[add1, {0, 1, 2, 99, 1023}]
Out[7]= {1, 2, 3, 100, 1024}