This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Removing things from numbers.h


On 11 May 2000, Michael Livshin wrote:

> in general, I think that things should be made configure options if
> they add nontrivial amount of stuff to the compiled image, or are just 
> genuinely optional, or aren't nesessary applicable to user's platform, 

Agreed.

> or help debug Guile itself.

Not agreed :-)

I think, whoever is about to debug guile can be asked to touch certain
header files to change debug options, or at least to do a 
"make -Dsomeoption".  Debugging options should be a help for those people
who are not expected to change guile's own code.  I'm thinking of
configure as an installation help for non-experts.

Thus, I think that options like --enable-debug are actually not
necessary, since they do not provide help for non-experts, and experts 
can do better than using configure options.  (On the other hand, these
options do no harm, so there is no need to remove them.)

It's not that I think that we should provide --enable-deprecated as an
option.  But, I think that --enable-deprecated _would_ make more sense
than --enable-debug, since --enable-deprecated helps developers of
extensions, while --enable-debug mostly helps guile's developers.

However, I also think that authors of extensions to guile have enough
expertise to not depend on configure to turn on debugging
aids.  Therefore, since Clark and Michael both said it does not make sense
to have that configure option, I will add SCM_DEBIG_DEPRECATED only to
__scm.h, immediately after the inclusion of libguil/scmconfig.h:


/* {Debugging Options}
 *
 * These compile time options determine whether to include code that is
 * only useful for debugging guile itself or C level extensions to guile.
 * Note:  Not all of these options are settable at configure time.
 */


/* If SCM_DEBUG_DEPRECATED is set to 1, deprecated code is not compiled.  This
 * can be used by developers to get rid of references to deprecated code.
 */
#ifndef SCM_DEBUG_DEPRECATED
#define SCM_DEBUG_DEPRECATED 0
#endif


(By using the #ifndef test, we allow 'make -DSCM_DEBUG_DEPRECATED=1'.)

Best regards
Dirk Herrmann


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]