Build system wipes include directory
edgar.klerks at ...9...
Sun Dec 8 14:23:50 CET 2013
I just read the tutorial again and you are right, in the tutorial there
stands that the repository and build dir are separate. It was this what was
unclear to me:
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
I thought the build directory was relative to hello_tutorial, but you are
stating it is not.
The rest of the tutorial was very clear to me.
On Sun, Dec 8, 2013 at 11:06 AM, Norman Feske
<norman.feske at ...1...>wrote:
> 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:
> 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
> 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
> Good luck!
> 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!
> Genode-main mailing list
> Genode-main at lists.sourceforge.net
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the users