Minor improvements. Don't use "-freg-struct-return" if compiling on

the Alpha. This probably won't fix the recent problems in the bulk
builds.  Install "libstalin.a" in ${PREFIX}/lib/stalin instead of
${PREFIX}/lib.
This commit is contained in:
jtb 2001-01-21 02:04:56 +00:00
parent 778c32c173
commit 02f0c14ae4
16 changed files with 104 additions and 98 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.2 2000/12/10 12:20:47 jtb Exp $
# $NetBSD: Makefile,v 1.3 2001/01/21 02:04:56 jtb Exp $
DISTNAME= stalin
PKGNAME= stalin-0.8
@ -21,44 +21,44 @@ ALL_TARGET= all-alpha
ALL_TARGET= all-32
.endif
STALIN="${PREFIX}/bin/stalin -I ${PREFIX}/lib/stalin -I ${PREFIX}/include -I ${PREFIX}/lib -I ${GC_PREFIX}/include -I ${GC_PREFIX}/lib"
post-extract:
@${MKDIR} ${WRKSRC}/scripts
post-patch:
@${RM} -f ${WRKSRC}/benchmarks/*.orig
@for i in stalin.sc stalin-32.c stalin-alpha.c stalin.1 \
stalinc benchmarks/make-define-application-example \
benchmarks/benchmark benchmarks/compile-and-run-stalin-benchmark \
@for i in stalin.sc stalin-32.c stalin-alpha.c \
stalinc stalin.1 benchmarks/benchmark \
benchmarks/compile-and-run-stalin-benchmark \
benchmarks/compile-stalin-benchmark \
benchmarks/make-define-application-example \
benchmarks/make-hello benchmarks/make-xhello ; do \
${SED} -e 's:%%PREFIX%%:'${PREFIX}':g' \
-e 's:%%GC_PREFIX%%:'${GC_PREFIX}':g' \
-e 's:%%MESA_PREFIX%%:'${MESA_PREFIX}':g' \
-e 's:%%X11BASE%%:'${X11BASE}':g' \
-e 's:%%STALIN%%:'${STALIN}':g' < ${WRKSRC}/$$i > \
${WRKSRC}/$$i.tmp && ${MV} -f ${WRKSRC}/$$i.tmp ${WRKSRC}/$$i ; done
benchmarks/make-hello benchmarks/make-xhello; do \
${SED} -e 's:@PREFIX@:'${PREFIX}':g' \
-e 's:@GC_PREFIX@:'${GC_PREFIX}':g' \
-e 's:@MESA_PREFIX@:'${MESA_PREFIX}':g' \
-e 's:@X11BASE@:'${X11BASE}':g' < ${WRKSRC}/$$i > \
${WRKSRC}/$$i.tmp && ${MV} ${WRKSRC}/$$i.tmp ${WRKSRC}/$$i ; done
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/stalin ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/stalin ${PREFIX}/bin/stalin
${INSTALL_SCRIPT} ${WRKSRC}/stalinc ${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/libstalin.a ${PREFIX}/lib
${INSTALL_DATA_DIR} ${PREFIX}/lib/stalin
${INSTALL_DATA} ${WRKSRC}/gl-c.o ${WRKSRC}/xlib-c.o \
${PREFIX}/lib/stalin
${INSTALL_DATA} ${WRKSRC}/include/*.sc ${PREFIX}/lib/stalin
${INSTALL_DATA} ${WRKSRC}/libstalin.a ${PREFIX}/lib/stalin
${INSTALL_DATA} ${WRKSRC}/gl-c.o ${PREFIX}/lib/stalin
${INSTALL_DATA} ${WRKSRC}/xlib-c.o ${PREFIX}/lib/stalin
@for s in ${WRKSRC}/include/*.sc; do \
c="${INSTALL_DATA} $$s ${PREFIX}/lib/stalin/"; \
${ECHO} $$c; $$c; \
done
${INSTALL_MAN} ${WRKSRC}/stalin.1 ${PREFIX}/man/man1
${INSTALL_DATA_DIR} ${PREFIX}/share/stalin
@for f in ANNOUNCEMENT COPYING README stalin.el ; do \
${INSTALL_DATA} ${WRKSRC}/$$f ${PREFIX}/share/stalin ; done
c="${INSTALL_DATA} ${WRKSRC}/$$f ${PREFIX}/share/stalin/"; \
${ECHO} $$c; $$c; \
done
${INSTALL_DATA_DIR} ${PREFIX}/share/stalin/benchmarks
${INSTALL_DATA} ${WRKSRC}/benchmarks/*.sc \
${WRKSRC}/benchmarks/*.sed ${WRKSRC}/benchmarks/*.sed \
${WRKSRC}/benchmarks/*.tst ${WRKSRC}/benchmarks/*.pgm \
${WRKSRC}/benchmarks/*.cform ${WRKSRC}/benchmarks/*.c \
${PREFIX}/share/stalin/benchmarks
${INSTALL_SCRIPT} ${WRKSRC}/benchmarks/compile-* \
${WRKSRC}/benchmarks/benchmark \
${WRKSRC}/benchmarks/make-* ${WRKSRC}/benchmarks/run-* \
${PREFIX}/share/stalin/benchmarks
@for b in ${WRKSRC}/benchmarks/*; do \
c="${INSTALL_DATA} $$b ${PREFIX}/share/stalin/benchmarks/"; \
${ECHO} $$c; $$c; \
done
.include "../../mk/bsd.pkg.mk"

View file

@ -1,14 +1,14 @@
$NetBSD: patch-sum,v 1.2 2000/12/10 12:20:48 jtb Exp $
$NetBSD: patch-sum,v 1.3 2001/01/21 02:04:56 jtb Exp $
MD5 (patch-aa) = a32b936cbdf5d43b488c02a94f03adbb
MD5 (patch-ab) = 91dd8e6d4cdd7981b94ea08b4856a673
MD5 (patch-ac) = a9c31188a607592daaf4070e0a5a3d3d
MD5 (patch-ad) = da3af68b63d7c2a85e47f8d8cb8e9969
MD5 (patch-ae) = 6567f7bdb71f21e862fadabf45aaeebe
MD5 (patch-af) = 711362fb6f2adf9f7267488e7b0a5e30
MD5 (patch-ag) = 83d57490e738a24b56d3d47c9a803f25
MD5 (patch-ah) = 21d9b16e8420e383ea131891ba79164b
MD5 (patch-ai) = d4a306b0e878c09e06866358ba5be0c8
MD5 (patch-aj) = eae4c928bd48b61368685446b62bf823
MD5 (patch-ak) = b395bee6e823cc29359208e5d573c4cf
MD5 (patch-al) = d88b83585111f55675e32c1fa6387265
MD5 (patch-aa) = 2e511330b7138d8d1729624d01b9f2ab
MD5 (patch-ab) = 5d6e0d504e0020bbe6344c70eedc4ce0
MD5 (patch-ac) = 3c0ab0b0002e29314d1ee26b3da093ad
MD5 (patch-ad) = d6dcb639f9131a8ee69b8f73c8b4051a
MD5 (patch-ae) = 4aabe01c45615772594c84e9781670e8
MD5 (patch-af) = 76364ff06c95a7eb4e8d65afab85c4a4
MD5 (patch-ag) = 2fcb9f12da7d4e29d6728624eed27e48
MD5 (patch-ah) = 3c7ecca9dd845a9b434d2e82ea219794
MD5 (patch-ai) = a22ac0f588295a67c601350d5af8c34c
MD5 (patch-aj) = d3b8caa43225acd9a1368df79eea76b9
MD5 (patch-ak) = d760d3688446f3f4228878c646ab4e6a
MD5 (patch-al) = 13c50b13e4cda0aedb289afbe806ca17

View file

@ -1,9 +1,10 @@
$NetBSD: patch-aa,v 1.1.1.1 2000/12/10 11:07:34 jtb Exp $
$NetBSD: patch-aa,v 1.2 2001/01/21 02:04:56 jtb Exp $
--- /dev/null Sun Dec 10 10:00:27 2000
--- /dev/null Sun Jan 21 00:09:25 2001
+++ Makefile
@@ -0,0 +1,30 @@
+CFLAGS = -O2 -fomit-frame-pointer -freg-struct-return
+CFLAGS_ALPHA= -O2 -fomit-frame-pointer
+INCLUDES= -I${GC_PREFIX}/include -I${X11BASE}/include -I${MESA_PREFIX}/include
+LDFLAGS = -L${GC_PREFIX}/lib -L${X11BASE}/lib -L${MESA_PREFIX}/lib
+LIBS = -lgc -lm
@ -12,24 +13,23 @@ $NetBSD: patch-aa,v 1.1.1.1 2000/12/10 11:07:34 jtb Exp $
+
+all-alpha: stalin-alpha libstalin.a
+
+OPTIONS = -I ./include -On -du -dI -t -c -db \
+ -clone-size-limit 0 -split-even-if-no-widening \
+ -do-not-align-strings \
+ -treat-all-symbols-as-external \
+ -do-not-index-constant-structure-types-by-expression \
+ -do-not-index-allocated-structure-types-by-expression
+
+stalin-32: stalin-32.o
+ $(CC) -O -o stalin $@.o $(LDFLAGS) $(LIBS)
+ $(CC) $(CFLAGS) -o stalin $@.o $(LDFLAGS) $(LIBS)
+
+stalin-alpha: stalin-alpha.o
+ $(CC) -O -o stalin $@.o $(LDFLAGS) $(LIBS)
+ $(CC) $(CFLAGS_ALPHA) -o stalin $@.o $(LDFLAGS) $(LIBS)
+
+LIBOBJS = xlib-c.o gl-c.o
+
+libstalin.a: include/xlib-c.o include/gl-c.o
+ $(AR) cru $@ $(LIBOBJS)
+ $(AR) $(ARFLAGS) $@ $(LIBOBJS)
+ $(RANLIB) $@
+
+stalin-32.o:
+ $(CC) $(CFLAGS) $(INCLUDES) -c stalin-32.c
+
+stalin-alpha.o:
+ $(CC) $(CFLAGS_ALPHA) $(INCLUDES) -c stalin-alpha.c
+
+.c.o:
+ $(CC) $(CFLAGS) $(INCLUDES) -c $<

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ab,v 1.1.1.1 2000/12/10 11:07:34 jtb Exp $
$NetBSD: patch-ab,v 1.2 2001/01/21 02:04:56 jtb Exp $
--- stalin.sc.orig Sat Nov 18 18:48:05 2000
+++ stalin.sc
@ -7,7 +7,7 @@ $NetBSD: patch-ab,v 1.1.1.1 2000/12/10 11:07:34 jtb Exp $
(initialize-stalin!)
(set! *include-path*
- (append '(".") include-path '("/usr/local/stalin/include")))
+ (append '(".") include-path '("%%PREFIX%%/lib/stalin")))
+ (append '(".") include-path '("@PREFIX@/lib/stalin")))
(set! *bounds-checks?* (not disable-bounds-checks?))
(set! *memory-checks?* (not disable-memory-checks?))
(set! *overflow-checks?* (not disable-overflow-checks?))

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ac,v 1.1.1.1 2000/12/10 11:07:34 jtb Exp $
$NetBSD: patch-ac,v 1.2 2001/01/21 02:04:56 jtb Exp $
--- stalin-32.c.orig Sat May 15 22:34:50 1999
+++ stalin-32.c
@ -15,7 +15,7 @@ $NetBSD: patch-ac,v 1.1.1.1 2000/12/10 11:07:34 jtb Exp $
t80266.s1.tag = NULL_TYPE;
t80267.s0.tag = STRING_TYPE;
- t80267.s0.value.string_type = "/usr/local/stalin/include";
+ t80267.s0.value.string_type = "%%PREFIX%%/lib/stalin";
+ t80267.s0.value.string_type = "@PREFIX@/lib/stalin";
t80267.s1.tag = NULL_TYPE;
t80305.s0.tag = EXTERNAL_SYMBOL_TYPE;
t80305.s0.value.external_symbol_type = q82;

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ad,v 1.1.1.1 2000/12/10 11:07:34 jtb Exp $
$NetBSD: patch-ad,v 1.2 2001/01/21 02:04:56 jtb Exp $
--- stalin-alpha.c.orig Sat Nov 18 18:47:17 2000
+++ stalin-alpha.c
@ -15,7 +15,7 @@ $NetBSD: patch-ad,v 1.1.1.1 2000/12/10 11:07:34 jtb Exp $
t80266.s1.tag = NULL_TYPE;
t80267.s0.tag = STRING_TYPE;
- t80267.s0.value.string_type = "/usr/local/stalin/include";
+ t80267.s0.value.string_type = "%%PREFIX%%/lib/stalin";
+ t80267.s0.value.string_type = "@PREFIX@/lib/stalin";
t80267.s1.tag = NULL_TYPE;
t80305.s0.tag = EXTERNAL_SYMBOL_TYPE;
t80305.s0.value.external_symbol_type = q82;

View file

@ -1,8 +1,17 @@
$NetBSD: patch-ae,v 1.2 2000/12/10 12:20:48 jtb Exp $
$NetBSD: patch-ae,v 1.3 2001/01/21 02:04:56 jtb Exp $
--- /dev/null Sun Dec 10 09:45:42 2000
--- /dev/null Sun Dec 10 08:43:45 2000
+++ stalinc
@@ -0,0 +1,3 @@
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+exec %%PREFIX%%/bin/stalin -I %%PREFIX%%/lib/stalin -I %%PREFIX%%/include -I %%PREFIX%%/lib -I %%GC_PREFIX%%/include -I %%GC_PREFIX%%/lib -Ob -Om -On -Or -Ot -d -d1 -du -dI -k -copt -O2 -copt -fomit-frame-pointer -copt -freg-struct-return $@
+STALIN_INCLUDES=-I @PREFIX@/lib/stalin -I @PREFIX@/include \
+ -I @PREFIX@/lib -I @GC_PREFIX@/include -I @GC_PREFIX@/lib \
+ -I @X11BASE@/lib -I @X11BASE@/include \
+ -I @MESA_PREFIX@/lib -I @MESA_PREFIX@/include
+
+STALIN_OPTIONS= -Ob -Om -On -Or -Ot -d -d1 -du -dI -k \
+ -copt -O2 -copt -fomit-frame-pointer \
+ -copt -freg-struct-return
+
+exec @PREFIX@/bin/stalin $STALIN_INCLUDES $STALIN_OPTIONS $@

View file

@ -1,4 +1,4 @@
$NetBSD: patch-af,v 1.1.1.1 2000/12/10 11:07:35 jtb Exp $
$NetBSD: patch-af,v 1.2 2001/01/21 02:04:56 jtb Exp $
--- stalin.1.orig Sun Dec 10 08:53:20 2000
+++ stalin.1
@ -7,35 +7,35 @@ $NetBSD: patch-af,v 1.1.1.1 2000/12/10 11:07:35 jtb Exp $
compiler.
.SH FILES
-.I /usr/local/stalin/include/
+.I %%PREFIX%%/lib/stalin/
+.I @PREFIX@/lib/stalin/
default directory for Scheme include files and library archive files
.br
-.I /usr/local/stalin/include/Scheme-to-C-compatibility.sc
+.I %%PREFIX%%/lib/stalin/Scheme-to-C-compatibility.sc
+.I @PREFIX@/lib/stalin/Scheme-to-C-compatibility.sc
include file for Scheme->C compatibility
.br
-.I /usr/local/stalin/include/QobiScheme.sc
+.I %%PREFIX%%/lib/stalin/QobiScheme.sc
+.I @PREFIX@/lib/stalin/QobiScheme.sc
include file for QobiScheme
.br
-.I /usr/local/stalin/include/xlib.sc
+.I %%PREFIX%%/lib/stalin/xlib.sc
+.I @PREFIX@/lib/stalin/xlib.sc
include file for Xlib FPI
.br
-.I /usr/local/stalin/include/xlib-original.sc
+.I %%PREFIX%%/lib/stalin/xlib-original.sc
+.I @PREFIX@/lib/stalin/xlib-original.sc
include file for Xlib FPI
.br
-.I /usr/local/stalin/include/libstalin.a
+.I %%PREFIX%%/lib/libstalin.a
+.I @PREFIX@/lib/stalin/libstalin.a
library archive for Xlib FPI
.br
-.I /usr/local/stalin/include/gc.h
+.I %%GC_PREFIX%%/include/gc.h
+.I @GC_PREFIX@/include/gc.h
include file for the Boehm conservative garbage collector
.br
-.I /usr/local/stalin/include/libgc.a
+.I %%GC_PREFIX%%/lib/libgc.a
+.I @GC_PREFIX@/lib/libgc.a
library archive for the Boehm conservative garbage collector
.SH SEE\ ALSO
.BR sci "(2), " scc "(2), " gcc "(1), " ld "(1), " alloca "(3), " gc (8)

View file

@ -1,12 +1,12 @@
$NetBSD: patch-ag,v 1.2 2000/12/10 12:20:48 jtb Exp $
$NetBSD: patch-ag,v 1.3 2001/01/21 02:04:56 jtb Exp $
--- benchmarks/benchmark.orig Wed May 19 15:50:11 1999
--- benchmarks/benchmark.orig Sun Dec 10 09:09:13 2000
+++ benchmarks/benchmark
@@ -1,6 +1,6 @@
#!/bin/sh
gcc -o unbuff unbuff.c
-../stalin -q -On -db benchmarks-to-latex
+%%STALIN%% -q -On -db benchmarks-to-latex
+@PREFIX@/bin/stalin -I @PREFIX@/lib/stalin -I @PREFIX@/include -I @PREFIX@/lib -I @GC_PREFIX@/include -I @GC_PREFIX@/lib -q -On -db benchmarks-to-latex
./compile-benchmarks
./run-benchmarks
./benchmarks-to-latex

View file

@ -1,12 +1,12 @@
$NetBSD: patch-ah,v 1.2 2000/12/10 12:20:48 jtb Exp $
$NetBSD: patch-ah,v 1.3 2001/01/21 02:04:56 jtb Exp $
--- benchmarks/compile-and-run-stalin-benchmark.orig Mon Apr 26 20:40:00 1999
--- benchmarks/compile-and-run-stalin-benchmark.orig Sun Dec 10 09:10:17 2000
+++ benchmarks/compile-and-run-stalin-benchmark
@@ -12,6 +12,6 @@
o="$s $c"
echo compile $1
sed -f stalin.sed $1.sc >$1-stalin.sc
-time ../stalin $o $2 $1-stalin
+time %%STALIN%% $o $2 $1-stalin
+time @PREFIX@/bin/stalin -I @PREFIX@/lib/stalin -I @PREFIX@/include -I @PREFIX@/lib -I @GC_PREFIX@/include -I @GC_PREFIX@/lib $o $2 $1-stalin
echo run $1
time ./$1-stalin >/dev/null

View file

@ -1,10 +1,10 @@
$NetBSD: patch-ai,v 1.2 2000/12/10 12:20:48 jtb Exp $
$NetBSD: patch-ai,v 1.3 2001/01/21 02:04:56 jtb Exp $
--- benchmarks/compile-stalin-benchmark.orig Mon Apr 26 20:40:11 1999
--- benchmarks/compile-stalin-benchmark.orig Sun Dec 10 09:09:25 2000
+++ benchmarks/compile-stalin-benchmark
@@ -12,4 +12,4 @@
o="$s $c"
echo compile $1
sed -f stalin.sed $1.sc >$1-stalin.sc
-time ../stalin $o $2 $1-stalin
+time %%STALIN%% $o $2 $1-stalin
+time @PREFIX@/bin/stalin -I @PREFIX@/lib/stalin -I @PREFIX@/include -I @PREFIX@/lib -I @GC_PREFIX@/include -I @GC_PREFIX@/lib $o $2 $1-stalin

View file

@ -1,15 +1,13 @@
$NetBSD: patch-aj,v 1.2 2000/12/10 12:20:48 jtb Exp $
$NetBSD: patch-aj,v 1.3 2001/01/21 02:04:57 jtb Exp $
--- benchmarks/make-define-application-example.orig Mon Apr 26 20:40:26 1999
--- benchmarks/make-define-application-example.orig Sun Dec 10 09:09:35 2000
+++ benchmarks/make-define-application-example
@@ -1,7 +1,8 @@
@@ -1,7 +1,7 @@
#!/bin/sh
ulimit -s unlimited
ulimit -c 0
-../stalin -d0 -d1 -d5 -d6 -On -du -dI -q -no-escaping-continuations\
+%%STALIN%% -d0 -d1 -d5 -d6 -On -du -dI -q \
+ -no-escaping-continuations \
+@PREFIX@/bin/stalin -I @PREFIX@/lib/stalin -I @PREFIX@/include -I @PREFIX@/lib -I @GC_PREFIX@/include -I @GC_PREFIX@/lib -d0 -d1 -d5 -d6 -On -du -dI -q -no-escaping-continuations\
-copt -O2 -copt -fomit-frame-pointer -copt -Wall -copt -freg-struct-return\
- -copt -L/usr/X11/lib -copt -lX11\
+ -copt -L%%X11BASE%%/lib -copt -lX11\
-copt -L/usr/X11/lib -copt -lX11\
define-application-example

View file

@ -1,12 +1,12 @@
$NetBSD: patch-ak,v 1.2 2000/12/10 12:20:48 jtb Exp $
$NetBSD: patch-ak,v 1.3 2001/01/21 02:04:57 jtb Exp $
--- benchmarks/make-hello.orig Sun Dec 10 10:21:03 2000
--- benchmarks/make-hello.orig Sun Dec 10 09:08:56 2000
+++ benchmarks/make-hello
@@ -1,6 +1,6 @@
#!/bin/sh
ulimit -s unlimited
ulimit -c 0
-../stalin -d0 -d1 -d5 -d6 -On -du -dI\
+%%STALIN%% -d0 -d1 -d5 -d6 -On -du -dI\
+@PREFIX@/bin/stalin -I @PREFIX@/lib/stalin -I @PREFIX@/include -I @PREFIX@/lib -I @GC_PREFIX@/include -I @GC_PREFIX@/lib -d0 -d1 -d5 -d6 -On -du -dI\
-copt -O2 -copt -fomit-frame-pointer -copt -Wall -copt -freg-struct-return\
hello

View file

@ -1,14 +1,13 @@
$NetBSD: patch-al,v 1.2 2000/12/10 12:20:48 jtb Exp $
$NetBSD: patch-al,v 1.3 2001/01/21 02:04:57 jtb Exp $
--- benchmarks/make-xhello.orig Sun Dec 10 10:21:10 2000
--- benchmarks/make-xhello.orig Sun Dec 10 09:09:05 2000
+++ benchmarks/make-xhello
@@ -1,7 +1,7 @@
#!/bin/sh
ulimit -s unlimited
ulimit -c 0
-../stalin -d0 -d1 -d5 -d6 -On -du -dI\
+%%STALIN%% -d0 -d1 -d5 -d6 -On -du -dI\
+@PREFIX@/bin/stalin -I @PREFIX@/lib/stalin -I @PREFIX@/include -I @PREFIX@/lib -I @GC_PREFIX@/include -I @GC_PREFIX@/lib -d0 -d1 -d5 -d6 -On -du -dI\
-copt -O2 -copt -fomit-frame-pointer -copt -Wall -copt -freg-struct-return\
- -copt -L/usr/X11/lib -copt -lX11\
+ -copt -L%%X11BASE%%/lib -copt -lX11\
-copt -L/usr/X11/lib -copt -lX11\
xhello

View file

@ -7,7 +7,7 @@ unboxing, and flow-directed program-specific and
program-point-specific low-level representation selection and code
generation.
Stalin is now self hosting (ie. compiles itself). The distributed
Stalin is now self hosting (ie. can compile itself). The distributed
code is self-compiled. Scheme->C is no longer used or needed to build
Stalin.

View file

@ -1,11 +1,11 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2000/12/10 11:07:32 jtb Exp $
@comment $NetBSD: PLIST,v 1.2 2001/01/21 02:04:57 jtb Exp $
bin/stalin
bin/stalinc
lib/libstalin.a
lib/stalin/QobiScheme.sc
lib/stalin/Scheme-to-C-compatibility.sc
lib/stalin/gl-c.o
lib/stalin/gl.sc
lib/stalin/libstalin.a
lib/stalin/xlib-c.o
lib/stalin/xlib-original.sc
lib/stalin/xlib.sc