Hello Edgar,
thanks for giving Genode a try and welcome to the list!
I thought no problem, thus I did a make clean. This wasn't helpful. Then I did a make cleanall, but now it wiped out the whole build/include directory.
Is this intended behaviour or should I not put things there? At this stage it is just annoying, but I think this is a bug, because the tutorial puts the headers, which define the RPC interfaces. Can I prevent this behaviour?
it looks like you somehow got the meaning of source and build directories mixed up. Genode's build system builds out of tree, that is, it keeps source codes separated from build output. From what you write, it seems that you placed your source code right into the build directory. That is not supposed to work. Instead, I recommend to place your code into one of the existing souce-code repositories or create a new source-code repository for your project. (outside the build directory) For more details of how a source-code repository is structured, let me refer you to the build-system documentation:
http://genode.org/documentation/developer-resources/build_system
Your build directly obtains the list of the source-code repositories to use from the '<build-dir>/etc/build.conf' file. This is the place where you can add additional repositories such as your project's one.
Your post hints at a problem with the current version of the tutorial. Is does not seem to make perfectly clear where to place the source code. So you have a suggestion where and how to include this information in a good way?
And I want to use c++ features like Strings instead of char *. How can I enable this? I recognize I need a library for this, but I can't find it in base.
You can use most of the standard C++ library by taking the following steps:
1. Download the standard C++ library into the Genode source tree by issuing the following command from within the 'libports/' repository:
make prepare PKG=stdcxx
For stdcxx to work, you will also need the C runtime, which you can obtain via the following command:
make prepare PKG=libc
2. Add the 'libports/' repository to the list of 'REPOSITORIES' in your '<build-dir>/etc/build.conf' file. (just uncomment the corresponding line)
3. Specify the 'stdcxx' library in your 'target.mk' file by adding the following declaration:
LIBS += stdcxx
Now you should be able to include the usual C++ headers for strings and containers.
Good luck!
Norman