In the remaining document when referring to non-absolute directories, these are local to hello_tutorial. Now we tell the Genode build system, that there is a new repository. Therefore we add the path to our new repository to 'build/etc/build.conf':
I thought the build directory was relative to hello_tutorial, but you are stating it is not.Hello Edgar,
thanks for giving Genode a try and welcome to the list!
it looks like you somehow got the meaning of source and build
> 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?
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?
You can use most of the standard C++ library by taking the following steps:
> 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.
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
--
Dr.-Ing. Norman Feske
Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
Genode-main mailing list
Genode-main@...12...ceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main