[haiku-development] Re: Haiku build continuous intergration server

  • From: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 22 Sep 2013 01:47:02 -0500

On Sat, 21 Sep 2013 22:12:26 +0200
Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
> On 09/21/2013 09:01 PM, Alexander von Gluck IV wrote:
> > On Sat, 21 Sep 2013 20:49:51 +0200
> > Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
> >
> >> On 09/21/2013 07:13 AM, Alexander von Gluck IV wrote:
> >>>     * The "generated/cross-tools" directory is moved to a
> >>>       tempory directory in /tmp/haiku-crosstools
> >>
> >> That is not supported. You generally cannot move gcc/binutils from their
> >> installation location to a different place and expect them to work.
> >
> > It actually does work for everything except the gcc2 images. It's kind
> > of the same process you use for compiling Haiku under Haiku, you have to
> > specify the gcc prefix path.
> 
> The prefix path you specify simply tells our configure which tools to 
> use. It isn't related to gcc's built-in paths at all.

Understood.. most of this seems to be due to gcc2 not being smart enough
to adjust it's program and library search paths. (as per one of my previous
emails mentioned.. gcc4 adjusts it's search paths, gcc2 just uses the
pre-configured static destination... as you said)

> > Cross compiling for architectures means moving around gcc environments and
> > really isn't too far out of the norm. (If you've used linux form scratch,
> > this kind of compiler prefix shenanigans is pretty common).  It's why things
> > lik GCC_EXEC_PREFIX and COMPILER_PATH exist.
> > (http://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html)
> 
> AFAIK those don't exist for gcc 2.

I do get changes while using GCC_EXEC_PREFIX on gcc2... however it acts
really strangely. (it always cuts off the last '/' of the path and you
end up with paths like -bingcc/.. vs -bin/gcc/..

> Why do you move the tools directory anyway? Why not create it somewhere 
> and leave it there?

The overall goal is to build the buildtools seperately from the OS. This way
we can build every commit without much work (building arm, ppc, and x86 takes
~30 minutes with this layout on a Intel i3 processor)

Bamboo likes having clean build directories. Compiling the buildtools only
if needed, then having the OS builds use the pre-generated buildtools seemed
like a no-brainer.

I went with copying just the cross-tools generated directory out into /tmp
as it seemed like the cleanest way to handle things.

 -- Alex

Other related posts: