Make, make test and make doc

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Make, make test and make doc

Trevor D-2
As I'm fairly new to LilyPond development I'm still learning how
best to use some of the basic tools.  In particular, make with
various targets takes ages to run, but it is essential for checking
if your mods are going to cause any un-anticipated problems.  I am
wondering if there are any short-cuts to speed up the process.

For example, make [default] has to be used frequently during code
development just to check for C++ compile and linkage errors.
Granted this takes only a few minutes to run, but it is still
annoying to see it visiting all the Documentation directories to
check no snippet has been changed when I know none of them has been
touched.  I've found temporarily renaming the Documentation folder
short-circuits some of this, but is there a better way?

The most time-consuming is make doc after make doc-clean.  To check
whether your mods have changed anything all we really need to do is
make sure all the snippets compile without error and the Internals
Reference builds correctly.  There's no need to generate html and
pdf versions of all the manuals in several languages, and since they
generate so many errors anyway picking up any new error is quite
impossible.  Can this process be short-circuited in any way?

Trevor
 



---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Make, make test and make doc

Graham Percival
On Mon, Dec 14, 2009 at 04:09:38PM -0000, Trevor Daniels wrote:
> For example, make [default] has to be used frequently during code  
> development just to check for C++ compile and linkage errors. Granted
> this takes only a few minutes to run, but it is still annoying to see it
> visiting all the Documentation directories to check no snippet has been
> changed when I know none of them has been touched.  

Make generates info files.  This is sufficiently useful for
catching any texinfo mistakes, so I doubt this will change.  That
said, I'm willing to re-evaluate this if and when we start
changing to waf.

> The most time-consuming is make doc after make doc-clean.  To check  
> whether your mods have changed anything all we really need to do is make
> sure all the snippets compile without error and the Internals Reference
> builds correctly.

That's not required.  If the regtests compile and look good, then
(as a programmer) you're fine.  You've done your due dilligence.

I check builds from scratch on a fairly regular basis; if
something breaks, I'll let people know.  There's no way to guard
against every unexpected occurrence.

Cheers,
- Graham

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Make, make test and make doc

Carl Sorensen



On 12/14/09 9:21 AM, "Graham Percival" <[hidden email]> wrote:

> On Mon, Dec 14, 2009 at 04:09:38PM -0000, Trevor Daniels wrote:
>> For example, make [default] has to be used frequently during code
>> development just to check for C++ compile and linkage errors. Granted
>> this takes only a few minutes to run, but it is still annoying to see it
>> visiting all the Documentation directories to check no snippet has been
>> changed when I know none of them has been touched.
>
> Make generates info files.  This is sufficiently useful for
> catching any texinfo mistakes, so I doubt this will change.  That
> said, I'm willing to re-evaluate this if and when we start
> changing to waf.
>
>> The most time-consuming is make doc after make doc-clean.  To check
>> whether your mods have changed anything all we really need to do is make
>> sure all the snippets compile without error and the Internals Reference
>> builds correctly.
>
> That's not required.  If the regtests compile and look good, then
> (as a programmer) you're fine.  You've done your due dilligence.

Just to clarify, this means make & make check.

When I'm compiling, I rum make, and once we get into the info documentation
I hit Ctrl-C to kill the make job.  Once I'm satisfied things are right,
I'll allow make to run to completion to make sure things run OK.

It's important to run make check, not just the particular regression tests
on which you're working, because your fix can break something else (like I
did last week when working on script-columns).

HTH,

Carl




---
----
Join the Frogs!