[plt-scheme] doc.txt and collects

From: Neil W. Van Dyke (neil at neilvandyke.org)
Date: Wed Mar 17 10:30:25 EST 2004

John Kozak <jk at xylema.org> writes at 11:40 17-Mar-2004 +0000:
> Is there any decent documentation for the .plt build process?

I think I used the documentation from Chapter 6 of "mzc: MzScheme
Compiler Manual":


> Having actually gone to the trouble of writing a doc.txt, I'm a bit
> miffed that it's not getting into my .plt, and having looked at
> various examples of info.ss, I can't work out what I'm supposed to
> kick to make it do it!

I think that the "mzc --collection-plt" way of building a ".plt" file
will take everything from within the collection directory, including the
"doc.txt" file.

Just for the curious who are makefile-savvy, below are the "info.ss" and
makefiles I use to build one of my packages, "uriframe.plt".  To ensure
that only intended files get into the ".plt" file, the makefiles
actually create a temporary fake collection and copy the intended files
to it using "tar", then build the ".plt" from the fake collection.
Eventually I'll probably get rid of the makefiles and use pure PLT
tools, but this works for me for now.

By the way, if you use Emacs, Quack will let you inspect ".plt" files to
see what exactly is in them.  http://www.neilvandyke.org/quack/

---------- Begin File collects/uriframe/info.ss ----------
;; $Id: info.ss,v 1.6 2003/06/23 07:05:30 neil Exp $
;; $Source: /home/neil/cvsroot/collects/uriframe/info.ss,v $
;; http://www.neilvandyke.org/uriframe/

(module info (lib "infotab.ss" "setup")
  (define name               "UriFrame")
  (define help-desk-message  "(require (lib \"uriframe.ss\" \"uriframe\"))")
  (define compile-omit-files (list "test.ss")))
---------- End File collects/uriframe/info.ss ----------

---------- Begin File collects/uriframe/Makefile ----------
# $Id: Makefile,v 1.44 2003/06/06 15:19:06 neil Exp $
# $Source: /home/neil/cvsroot/collects/uriframe/Makefile,v $

PKG       = uriframe

SCM_FILES = uriframe.ss uriframe-sig.ss uriframe-unit.ss \
            uriframe-plturl.ss test.ss

PLT_FILES = info.ss doc.txt $(SCM_FILES)

include ../M-package
include ../M-funcelit

---------- End File collects/uriframe/Makefile ----------

---------- Begin File collects/M-package ----------
# -*- makefile -*-
# $Id: M-package,v 1.7 2003/06/06 15:25:54 neil Exp $
# $Source: /home/neil/cvsroot/collects/M-package,v $

PLT = $(PKG).plt

DIR = /home/neil/collects/$(PKG)

.PHONY:: all clean compile plt

all:: compile

	setup-plt -l $(PKG)

	rm -f *~ core $(PLT)
	rm -rf compiled

#setup-plt -c -l $(PKG)

plt: $(PLT)

	if [ -e collects ];then echo REMOVE `pwd`/collects;false;else true;fi
	mkdir collects collects/$(PKG)
	tar cf - $^ | (cd collects/$(PKG) && tar xvf -)
	PLTCOLLECTS=$(DIR)/collects: mzc --collection-plt $@ $(PKG)
	rm -rf collects

---------- End File collects/M-package ----------


Posted on the users mailing list.