[haiku-development] Re: question on planned build system feature -- 'generated' folder naming scheme

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 30 Jan 2009 22:39:05 +0100

On 2009-01-30 at 18:43:44 [+0100], Matt Madia <mattmadia@xxxxxxxxx> wrote:
> On Fri, Jan 30, 2009 at 11:36 AM, Ingo Weinhold <ingo_weinhold@xxxxxx> 
> wrote:
> 
> > Regarding the naming of the default name of the output directory. If you
> > encode target architecture and gcc version into the directory name, as is
> > jamming from the source tree won't be possible anymore. The build system
> > would have to find the output directory by trying all architecture and gcc
> > version combinations. Which might not result in the desired behavior, if 
> > one
> > has several output directories.
> >
> Could configure modify trunk/Jamrules's HAIKU_OUTPUT_DIR, so as to
> point to the correct location?
> 
> If so, then the user would just need to re-run configure when
> switching target or gcc versions, right?
> 
> If not, could you give me a rough idea of an acceptable solution that
> can be integrated in the build system?   I'm more than willing to put
> the time and effort into doing the changes.

That's nice, though I don't quite understand what problem you intend to 
solve. You can have as many output directories as you want -- each with a 
different target architecture, gcc version, and other build settings -- and 
you can run jam in any output directory to build something there (even 
concurrently, if you want). So there's in general no need to switch target 
architecture and gcc version.

The only inconvenience I see is if you prefer to jam in the source tree, but 
don't use (only) the default "generated" output directory. In this case 
setting the HAIKU_OUTPUT_DIR environment variable allows you to "switch" 
between output directories. If you want to do that more permanently, you can 
set it in your .profile/.bashrc/whatever or use François' method and symlink 
to "generated".

So what is the use case you're aiming at?

CU, Ingo

Other related posts: