[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version.
From: |
Rob Browning |
Subject: |
Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version. |
Date: |
Thu, 01 Aug 2002 17:40:31 -0500 |
User-agent: |
Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2 (i386-pc-linux-gnu) |
Rob Browning <address@hidden> writes:
> 1.5.7 was ready to go. However since I'm waiting to upload anyway
> I'll go see how extensive the changes to fix it might be.
OK, after looking in to it, it seems like we probably need a number of
changes to get things "right". One of the main questions is how do
you generate a header that can be included in the install tree
containing info based on configure's results, but doesn't refer to any
of those results (at least not to the generic names). After poking
around a bit I propose the following solution:
* change our configure generated header to be config.h via
config.h.in as per the normal autoconf expectations and put it in
the normal place ./config.h.in. This will now be a completely
private header, not installed, and not included by anything but .c
files.
* change all *.c occurrences of #include ?libguile/scmconfig.h?" to
"#include <config.h>" except for the include in __scm.h. That one
will be left alone.
* add a rule to libguile/Makefile.am like this:
scmconfig.h: ${builddir}/scmconfig-generate
${builddir}/scmconfig-generate > scmconfig.h.tmp
mv scmconfig.h.tmp scmconfig.h
* write libguile/scmconfig-generate.c to use the values in
<config.h> to generate a config.h independent header like this:
#include <config.h>
#include <stdio.h>
int
main (int argc, char *argv[])
{
printf(
"/* libguile/scmconfig.h -*-c-*-
This file contains bits that were determined automatically, but
should be included in the guile public header install
This file is generated automatically from
libguile/scmconfig-generate. Please make changes there.
*/\n\n");
#ifdef HAVE_LONG_LONGS
printf("#define SCM_HAVE_LONG_LONGS");
#endif
/* etc. */
return 0;
}
This allows us to autogenerate the file from the contents of
config.h without having to do anything too fancy with
sed/config.status, etc.
* go through and add items to scmconfig-generate.c as needed, but
leave as much as possible in <config.h> -- where it'll be private.
For example, I'm guessing that most of the HAVE_FOO macros won't
be public, and the ones that must be public (i.e. in scmconfig.h)
should be renamed to SCM_HAVE_FOO, or similar.
But this looks like a non-trivial amount of work. I've already done
all the steps but the last in a test tree, but that's the big one.
So the question is, does this have to be done before 1.6.1?
Also while poking around I noticed that there are at least several
#defines in __scm.h that appear to serve no purpose -- they're not
referred to anywhere else. I'm wondering if these can be dropped.
For example, TICKS isn't used anywhere, and it looks like ENGNOT could
be moved to numbers.c without problems.
--
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG=1C58 8B2C FB5E 3F64 EA5C 64AE 78FE E5FE F0CB A0AD
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., (continued)
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Sergey Poznyakoff, 2002/08/01
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Rob Browning, 2002/08/01
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Sergey Poznyakoff, 2002/08/02
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Rob Browning, 2002/08/02
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Sergey Poznyakoff, 2002/08/02
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Bruce Korb, 2002/08/02
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Rob Browning, 2002/08/02
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Sergey Poznyakoff, 2002/08/03
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Bruce Korb, 2002/08/04
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Sergey Poznyakoff, 2002/08/04
Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version.,
Rob Browning <=
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., rm, 2002/08/02
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., rm, 2002/08/02
- Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Rob Browning, 2002/08/02
Re: Release Guile, now ;-) [was:] Re: GC rewrite, first version., Rob Browning, 2002/08/02