running from build dir

Derek Atkins warlord at MIT.EDU
Wed Dec 22 12:07:40 EST 2004


Chris Shoemaker <c.shoemaker at cox.net> writes:

>> I just "make install" every time.  Note that if you only change
>> source files (not headers) then you only need to make install
>> in the directories you've changed rather than "make install" in
>> the full source tree.  If nothing else it saves a bit of time.
>
> I see.  That's a good tip.  I've been working as if this is also true
> for "make".  Is that so?  I definitely need to find ways to save time.
> Even on my fastest machine, compile/install cycles take almost 10
> minutes.  :(  If it's possible, I'd like to improve this situation.

Yes, this is true for "make" as well.  So long as you only change .c
files you can just type 'make' and 'make install' in the directories
you've changed.  If you only change .scm files then you only need
'make install.'  HOWEVER if you change ANY .h files then you must
recompile the whole tree.

> I completely abandoned gnucash developement a few months ago because my
> machine (300Mhz) just wasn't up to it.  It was like watching grass grow.  Now,
> I have a much faster machine,(2GHz!) and I'd like to start back up,
> but I'd still like to decrease cycle times.  (Maybe I'm just impatient :)

I'd vote for impatient.  OTOH 300MHz is like 5-year-old technology, so
I'm surprised you could even get a modern-enough OS to run modern
gnucash!

> I like the idea of running out of my build dir, to avoid "make
> install".  I guess it kind of works the way I have it.  Other than the
> obvious limitation on CWD, do you think this is a reasonable devel
> setup?  It _seems_ to work.

I'm not against it, but it could run into problems with load-path
issues.

>>  Unfortunately, due to the way Scheme works, there's little we can
>> do to completely solve this problem.  Gnucash needs to find its
>> scheme files, so it needs to know where to look.
>
> I'd like to understand this better.  I recognize the need to find the
> guile executable, and have the environment all setup, but that's all
> standard install issues.  Are there some subtle or unique
> directory-finding requirements once the Scheme is being interpreted?
> (My Scheme is rusty, but it's coming back to me.  I don't remember
> ever before dealing with scripts running from multiple files - only
> single file scheme scripts.)

It's a load-path issue.  The scheme files need to be able to load each
other in the runtime environment, which means the runtime needs to
know where to look.

> -chris

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list