Thien-Thi Nguyen | 2 Nov 2003 18:48

cov

the cov script lives in doc/ref/ for guile-1.4.x.  doc/groupings.alist
makes use of the output of cov to test `docinfo' membership, like so:

 ;; excerpt from doc/groupings.alist
 (docinfo
  (description "documented in the info manual")
  (grok () (let ((all #f))
             (lambda (x)
               (or all (set! all (let ((f "doc/ref/doc-coverage"))
                                   (if (file-exists? f)
                                       (let* ((p (open-input-file f))
                                              (ls (read p)))
                                         (close-port p)
                                         ls)
                                       0))))	;; known unavailable
               (and (pair? all)
                    (memq x all))))))

we use `docinfo' instead of the more succinct `doc' to allow for the
possibility of other doc* groups in the future.

for guile-1.6.x, i see that scripts/scan-api was deleted for some
reason (why?).  you can get the latest from 1.4.x in any case.

thi

______________________________________________________________
# cov --- list documented Scheme and C elements
#
# Usage: cov > doc-coverage
(Continue reading)

Jeff Read | 2 Nov 2003 23:32

Guileconf 0.1 available

Hi all,

(Is this offtopic for guile-devel? Please let me know.)

I have packaged and made available for download Guileconf 0.1, the initial release of a Guile-based
autoconfigurator tool. The aim here is to be an alternative to Autoconf, and not a drop-in replacement.
Guileconf generates configurator shell scripts like Autoconf; however, its design inherently lacks
two important Autoconf features: bloat and complexity. This makes it suited for smaller packages where
Autoconf and friends sometimes seem to hinder more than help.

I dream of one day seeing Guileconf used for Guile itself (thus helping to ameliorate the autotool hassles I
once encountered when attempting to build Guile from CVS). But that day is far off if ever and besides, in an
ideal world, Guile would bootstrap its own build process the way SCM does today.

Savannah project page is here:

http://savannah.nongnu.org/projects/guileconf/

Sorry, no web site yet. Feel free to send improvements, patches, etc. my way. If you're brave, you might want
to use it in a project of your own and give it some real world burn-in.
--

-- 
Jeffrey T. Read
"I fight not for me but the blind babe Justice!" --Galford

_______________________________________________
Guile-devel mailing list
Guile-devel <at> gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel

(Continue reading)

Thien-Thi Nguyen | 4 Nov 2003 03:11

fspec2c 1.0

this may make it into the guile 1.4.x scripts collection if i can
generalize it enough.  "flag"-specific because enum values tend to be
linear so simpler methods are indicated for reverse-mapping them.  at
least, this is true for /usr/include/SDL/*.h enums and flags.  who knows
for other header domains?  what a mess, the terminology of programmers!

if any gperf hackers are reading this: thanks for writing gperf.
it was worth installing g++ to compile 3.0.1, for "--output-file".

i will post a sample FSPEC file next.

thi

______________________________________________________________________________
#!/bin/sh
exec ${GUILE-guile} -e "(guile-sdl scripts fspec2c)" -s $0 "$ <at> " # -*-scheme-*-
!#
;;; fspec2c --- translate flag spec to C code

;;	Copyright (C) 2003 Thien-Thi Nguyen
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation; either version 2, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;; General Public License for more details.
(Continue reading)

Thien-Thi Nguyen | 9 Nov 2003 13:58

fspec2c 1.1

see this script in action!  guile-sdl cvs instructions:

 http://www.glug.org/people/ttn/software/guile-sdl/ANONCVS

checkout using tag "ok-1" (to be safe).  the makefiles therein respect
env var "fspec2c", so you can save this to /tmp (and chmod +x) and do
something like:

 sh -x autogen.sh    # NB: read comments for auto* tool version reqs
 ./configure
 make fspec2c='/tmp/fspec2c'

you will, of course, need to install a version of gperf that supports
option "--output-file" (or alternatively hack fspec2c to work around
those versions of gperf that don't -- patches welcome), not to mention
SDL libs and headers...

in related news, guile-sdl "ok-1" passes "make && make check" so only
"make dist" issues gate a release.  (still alpha, though, so don't get
your hopes up...)

thi

______________________________________________________________________
#!/bin/sh
exec ${GUILE-guile} -e '(scripts fspec2c)' -s $0 "$ <at> " # -*-scheme -*-
!#
;;; fspec2c --- translate flag spec to C code

;;	Copyright (C) 2003 Free Software Foundation, Inc.
(Continue reading)

Thien-Thi Nguyen | 11 Nov 2003 17:34

guile-gdbm 0.2.1 available

NEWS excerpt below.  tarball in:

  http://www.glug.org/people/ttn/software/guile-gdbm/

thi

__________________________________________
 - guile-gdbm 0.2.1 (released 2003-11-11)

   - CPPFLAGS initialization

 	The CPPFLAGS used for compilation now include those found by the
 	autoconf macro GUILE_FLAGS and set in AC_SUBST var GUILE_CFLAGS.
 	This better supports using non-standard installation directories.

   - minor doc tweaks

[excerpt ends here]

_______________________________________________
Guile-user mailing list
Guile-user <at> gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user

Thien-Thi Nguyen | 13 Nov 2003 22:55

cmod-play 1 available + modsup.h additions

folks,

libtool modules cannot depend on other libtool modules (according to the
documentation on libltdl), so we can't co-opt that strategy if we want
to design compiled modules that depend on other modules.  sure, we can
throw up our hands and relegate everything to the system linker/loader,
but why pass up a thorny question for others to play with?  i mean, to
do system programming you need to grab control of the system, and to do
module system programming you need to grab control of the module system.

so, this message actually presents two pieces of source code: (1) a
pointer to the documented exploratory process:

  http://www.glug.org/people/ttn/software/cmod-play/

and (2) a request for comments on the tentative conclusions of the above
exploration, as expressed by the additional <guile/modsup.h> interface
elements excerpted below.  if All Goes Well, they will appear in guile
1.4.1.97.

in other news, i will be using this new support immediately for
guile-sdl compiled modules (the motivation for all this, you see), so to
spare everyone the agony guile-sdl will not be released until 1.4.1.97
is out.  (however, everything works swimmingly from cvs, if you are
feeling adventurous. :-)

thi

_____________________________________________________________
/*:Return the  <at> var{obj} given, but marked as "permanent".
(Continue reading)

Ludovic Courtès | 14 Nov 2003 09:26
Picon
Picon
Favicon

Re: cmod-play 1 available + modsup.h additions

Hi,

The naming style of the macros in modsup.h doesn't seem to be very
consistent with the rest of the API.  In particular, macros are not
defined in the SCM_ namespace and their name are pretty concise
(abbreviations, no underscores in between words, etc.).  Am I missing
something?

Also, will this be part of Guile 1.6.x too?

Thanks,
Ludovic.

Yesterday, 10 hours, 25 minutes, 3 seconds ago, Thien-Thi Nguyen wrote:
> folks,
> 
> libtool modules cannot depend on other libtool modules (according to the
> documentation on libltdl), so we can't co-opt that strategy if we want
> to design compiled modules that depend on other modules.  sure, we can
> throw up our hands and relegate everything to the system linker/loader,
> but why pass up a thorny question for others to play with?  i mean, to
> do system programming you need to grab control of the system, and to do
> module system programming you need to grab control of the module system.
> 
> so, this message actually presents two pieces of source code: (1) a
> pointer to the documented exploratory process:
> 
>   http://www.glug.org/people/ttn/software/cmod-play/
> 
> and (2) a request for comments on the tentative conclusions of the above
(Continue reading)

Thien-Thi Nguyen | 19 Nov 2003 13:36

guile 1.4.1.97 available

new NEWS excerpt below.  tarball in:

  http://www.glug.org/alt/

usual bugfixes and small improvements.  the big deal is modsup.h
integration (first two NEWS excerpt items).  here's a quick example:

  #include <guile/modsup.h>

  GH_USE_MODULES (mod_cl, "(ice-9 common-list)");
  GH_SELECT_MODULE_VAR (setdiff, mod_cl, "set-difference");
  GH_CALLER2_FROM_VAR (setdiff_proc, setdiff)

  GH_DEFPROC (yasd, "yet-another-set-difference", 2, 0, 0,
              (SCM ls1, SCM ls2), "thou art the less symbolic")
  { return setdiff_proc (ls1, ls2); }

  static void
  init_module (void)
  {
  #include "my-stuff.h"
  }

  GH_NEEDY_MODULE_LINK_FUNC
    ("my stuff", my_stuff, init_module,
     GH_UPSTREAM_MODULE_REFS1 (mod_cl))

the "guile-tools make-module-catalog" program now scans compiled
modules for special GH_USE_MODULES string artifacts, so that (in
this case) the generated entry includes upstream info:
(Continue reading)

Thien-Thi Nguyen | 19 Nov 2003 16:02

guile-gdbm 0.2.2 available

NEWS excerpt:

  - guile-gdbm 0.2.2 (released 2003-11-19)

	Maintenance release; no user-visible changes.

tarball in:

  http://www.glug.org/people/ttn/software/guile-gdbm/

this ends the 0.2.x line of development feature-wise (bugfix releases
may occur as needed).  0.3.x will focus on moving the maintenance effort
from munging C code to munging a schemish interface interpretation spec
(reading C headers) and developing methodology and tools that will feed
other tools (notably SWIG and g-wrap) to produce C code w/o programmer
intervention.  0.4.x will probably avoid C code altogether if possible.

at some point guile-1.4.x, x>2 will be released as "pure GPL" (sans
exception clause), allowing guile-gdbm to be integrated by "./configure
--enable-gnu-gdbm" and/or by using some to-be-written guile-tools
program.  guile-gdbm as a standalone package will then be retired; only
gdbm.h will be required to install and use the `(database gdbm)' module.

probably there will never be a guile-gdbm 1.0 release.

thi

_______________________________________________
Guile-user mailing list
Guile-user <at> gnu.org
(Continue reading)

Thien-Thi Nguyen | 21 Nov 2003 13:57

guile-sdl 0.2.0 available

NEWS excerpt below.  tarball and friends in dir:

  http://www.glug.org/people/ttn/software/guile-sdl/

(if it's not there yet, just wait an hour or so -- i'm posting this a
bit early because it's nap time now.)

note that there are two top-level entries in the NEWS excerpt, the
latter a short blurb about maintainership transfer (thanks Alex Shinn!).
also, audio procs have not been tested because i don't have that kind of
hardware in my computer.  however, other things seem to work ok.  bug
reports and other feedback welcome (see TODO if you want to help).

thi

_______________________________________________
- guile-sdl 0.2.0 (released 2003-11-21)

  - installation change: scheme wrappers for most modules eliminated

        Previously, the modules (sdl mixer), (sdl ttf) and (sdl gfx)
        were implemented as a combination of a small piece of Scheme
        code that dlopened a libtool-created shared object library in
        ${libdir}.  Since Guile can recognize certain shared object
        libraries as modules and load them directly, these Scheme code
        wrappers are not required and thus are now no longer distributed.
        Instead, "make install" places the shared object libraries for
        these modules and their support files in directory:

                ${GUILE_LIBSITE}/sdl/
(Continue reading)


Gmane