You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Stein <gs...@lyra.org> on 2000/09/12 22:08:48 UTC

Re: phew!

On Tue, Sep 12, 2000 at 12:06:03PM -0500, Ben Collins-Sussman wrote:
> Wow, this project marks my initial exposure to developing with
> autoconf and automake...  but so much is going on in the land of
> "building", that I feel like I've already lost grasp.  :)
> 
> Greg, can you explain exactly what "maintainer mode" does, when passed
> to ./configure?  

First, I'll point out we have three groups of people:

1) users of prebuilt binaries
2) people configuring and compiling for their system
3) developers of SVN itself

Side note: the ./configure script is generated; this is the primary
difference between (2) and (3) -- the former gets the distribution with a
configure script, while the latter needs to build it from configure.in.

In any case... as developers of the system, we want to see much more
information and warnings from our builds of SVN (compared to (2)). We also
don't mind if SVN builds slightly different, to assist our development and
debugging needs.

The --with-maintainer-mode sets up those extras for us. Specifically:

*) more warning switches to GCC
*) set the SVN_DEBUG macro that SVN can key off of for add'l debug
   functionality
*) set the AP_DEBUG macro (for mod_dav_svn) to pick up similar debug
   features when it includes Apache headers

We also have a --with-debug switch. This is intended for groups (2) and (3).
It turns on the -g switch, turns off -O... (and turns on -Wall if gcc).
--with-maintainer-mode is a superset of --with-debug (e.g. it also sets -g
-Wall).

Since group (3) are the only people to run autogen.sh, that is why I
included the recommendation for using --with-maintainer-mode. We should all
be using it so that we get GCC warnings from the builds. I suspect a few of
the recent "unused variables" or whatever are due to people not using the
maintainer-mode switch.
[ note that we used to always have -Wall in the builds, but that became
  optional when --with-debug and --with-maintainer-mode were added ]

Is there a place to document this better? ... Ah. Note to self: update the
HACKING file.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Re: phew!

Posted by Manoj Kasichainula <ma...@collab.net>.
On Wed, Sep 13, 2000 at 02:07:59PM -0700, Greg Stein wrote:
> On Wed, Sep 13, 2000 at 04:30:54PM +0200, Branko Cibej wrote:
> > BTW, _why_ are these called --with-maintainer-mode and --with-debug?
> 
> I picked them up from APR, but I also tend to agree with you.

This would be my fault, I think, because I made it --with in Apache
2.0. I think this was either because old versions of automake used
--with, or PHP's scripts did.

Sorry. :)

> For the switches to be shared, they needed to be the same. But: I'll look
> into changing APR to use "enable"

It's a trivial change IIRC; I think you just change WITH to ENABLE.

Re: phew!

Posted by Greg Stein <gs...@lyra.org>.
On Wed, Sep 13, 2000 at 04:30:54PM +0200, Branko Cibej wrote:
> Greg Stein wrote:
> > The --with-maintainer-mode sets up those extras for us. Specifically:
> > 
> > *) more warning switches to GCC
> > *) set the SVN_DEBUG macro that SVN can key off of for add'l debug
> >    functionality
> > *) set the AP_DEBUG macro (for mod_dav_svn) to pick up similar debug
> >    features when it includes Apache headers
> > 
> > We also have a --with-debug switch. This is intended for groups (2) and (3).
> > It turns on the -g switch, turns off -O... (and turns on -Wall if gcc).
> > --with-maintainer-mode is a superset of --with-debug (e.g. it also sets -g
> > -Wall).
> 
> BTW, _why_ are these called --with-maintainer-mode and --with-debug?
> I thought "--with-..." was supposed to be used to locate or enable
> packages and tools, and features should be swithced on with
> "--enable-..." (e.g., --with-expat, but --enable-maintainer-mode).

I picked them up from APR, but I also tend to agree with you.

For the switches to be shared, they needed to be the same. But: I'll look
into changing APR to use "enable"

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Re: phew!

Posted by Branko Čibej <br...@hermes.si>.
Greg Stein wrote:
> The --with-maintainer-mode sets up those extras for us. Specifically:
> 
> *) more warning switches to GCC
> *) set the SVN_DEBUG macro that SVN can key off of for add'l debug
>    functionality
> *) set the AP_DEBUG macro (for mod_dav_svn) to pick up similar debug
>    features when it includes Apache headers
> 
> We also have a --with-debug switch. This is intended for groups (2) and (3).
> It turns on the -g switch, turns off -O... (and turns on -Wall if gcc).
> --with-maintainer-mode is a superset of --with-debug (e.g. it also sets -g
> -Wall).

BTW, _why_ are these called --with-maintainer-mode and --with-debug?
I thought "--with-..." was supposed to be used to locate or enable
packages and tools, and features should be swithced on with
"--enable-..." (e.g., --with-expat, but --enable-maintainer-mode).

    Brane

-- 
Branko Čibej                 <br...@hermes.si>
HERMES SoftLab, Litijska 51, 1000 Ljubljana, Slovenia
voice: (+386 1) 586 53 49     fax: (+386 1) 586 52 70

Re: phew!

Posted by Greg Stein <gs...@lyra.org>.
On Wed, Sep 13, 2000 at 08:32:56AM -0500, Ben Collins-Sussman wrote:
> Greg Stein <gs...@lyra.org> writes:
> > Since group (3) are the only people to run autogen.sh, that is why I
> > included the recommendation for using --with-maintainer-mode. We should all
> > be using it so that we get GCC warnings from the builds. I suspect a few of
> > the recent "unused variables" or whatever are due to people not using the
> > maintainer-mode switch.
> 
> Gotcha.  I presume, then, it's safe to use multiple switches:
> 
>   ./configure --with-maintainer-mode --disable-shared
> 
> `--disable-shared' is critical for developers;  otherwise we can't run
> gdb on all the libtool output!

Definitely safe.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Re: phew!

Posted by Ben Collins-Sussman <su...@newton.collab.net>.
Greg Stein <gs...@lyra.org> writes:

> Since group (3) are the only people to run autogen.sh, that is why I
> included the recommendation for using --with-maintainer-mode. We should all
> be using it so that we get GCC warnings from the builds. I suspect a few of
> the recent "unused variables" or whatever are due to people not using the
> maintainer-mode switch.

Gotcha.  I presume, then, it's safe to use multiple switches:

  ./configure --with-maintainer-mode --disable-shared

`--disable-shared' is critical for developers;  otherwise we can't run
gdb on all the libtool output!