running from build dir
Neil Williams
linux at codehelp.co.uk
Wed Dec 22 12:05:29 EST 2004
On Wednesday 22 December 2004 11:48 am, Chris Shoemaker wrote:
> > 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?
Better to skip the make and go for make install from the directory where you
made your changes. I even skip between directories and run two or three make
installs in gnucash/src/engine and gnucash/src/gnome in less time than it
takes to do a full make install from gnucash/. I also cheat - I edit the
local Makefile.am to remove test files in directories beneath the current one
from the build until I actually need to test. (top tip: remember to put them
back!)
So I use Shift+F9 from Anjuta to build within the IDE according to the
relevant Makefile relating to the file being edited. That makes sure I
haven't made some stupid typo. Then in a terminal (within Anjuta or
separate), a quick make install, cd /opt/gnucash/local/bin and ./gnucash - or
usually ./gnucash --nofile after a tip from Derek.
> 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.
It shouldn't take more than 30 seconds to a minute for a make install in a sub
directory of src/. No need to do make either, just go straight for make
install.
I then leave cron to do the magic of a full make install overnight, each
night.
> I like the idea of running out of my build dir, to avoid "make
> install".
No need, run make install from a sub-dir and it'll update the previous make
install. You run make install once (after an autogen.sh) and then start
editing.
> 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.
There are installation quirks that could catch you out - especially if you
need to read external files. You need to be sure those are being installed,
updated and are available to your code.
> 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?
Yes. e.g. the hierarchy druid loads it's example account files from a location
determined from the --prefix and therefore set in the rest of the build.
Changes in things like that mean that only a make install will tell you if
your changes will work.
--
Neil Williams
=============
http://www.dclug.org.uk/
http://www.nosoftwarepatents.com/
http://sourceforge.net/projects/isbnsearch/
http://www.williamsleesmill.me.uk/
http://www.biglumber.com/x/web?qs=0x8801094A28BCB3E3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20041222/1c2bace9/attachment.bin
More information about the gnucash-devel
mailing list