You can make a .o file by typing

make cgi-module.o

then copy the .o file to the directory slsh/ in your slang source
distribution, copy slsh.c to slsh_cgi.c, apply the patch

--- slsh.c	Sun Mar 23 08:06:40 2003
+++ slsh_cgi.c	Mon Sep 27 01:00:15 2004
@@ -364,6 +364,7 @@
    char *file = NULL;
    char *init_file = USER_SLSHRC;
    char *init_file_dir;
+   int init_cgi_module_ns(char *);
 
    if (SLang_Version < SLANG_VERSION)
      {
@@ -375,7 +376,8 @@
    if ((-1 == SLang_init_all ())
        || (-1 == SLang_init_array_extra ())
        || (-1 == SLang_init_import ()) /* dynamic linking */
-       || (-1 == SLadd_intrin_fun_table (Intrinsics, NULL)))
+       || (-1 == SLadd_intrin_fun_table (Intrinsics, NULL))
+       || (-1 == init_cgi_module_ns(NULL)))
      {
 	fprintf(stderr, "Unable to initialize S-Lang.\n");
 	return 1;

add some lines to the Make file

slsh_cgi: slsh_cgi.o  cgi-module.o config.h
	$(CC) $(CFLAGS) $(DEFS) slsh_cgi.o cgi-module.o -o slsh_cgi \
	$(SLANG_INC) \
	$(LDFLAGS) $(LIBS) -lcgi
slsh_cgi.o: slsh_cgi.c
	$(CC) $(CFLAGS) $(DEFS) -c slsh_cgi.c -o slsh_cgi.o 

and type

make slsh_cgi

to make a slsh with the cgilib module statically linked. This start a few
microseconds faster, and is easier to debug.
