From 5c4ce91b93753d92c3b197f43a80ccdae0f13d3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Thu, 6 Feb 1997 16:46:53 -0800
Subject: [PATCH] modified to work with new module system

Rev: src/modules/Makefile.in:1.4
Rev: src/modules/call_out/Makefile.in:1.4
Rev: src/modules/call_out/configure.in:1.3
Rev: src/modules/configure.in:1.3
Rev: src/modules/files/Makefile.in:1.4
Rev: src/modules/files/configure.in:1.14
Rev: src/modules/gdbmmod/Makefile.in:1.4
Rev: src/modules/gdbmmod/configure.in:1.4
Rev: src/modules/gdbmmod/gdbmmod.c:1.6
Rev: src/modules/gmpmod/Makefile.in:1.4
Rev: src/modules/gmpmod/configure.in:1.5
Rev: src/modules/gmpmod/mpz_glue.c:1.14
Rev: src/modules/image/Makefile.in:1.6
Rev: src/modules/image/configure.in:1.7
Rev: src/modules/math/Makefile.in:1.4
Rev: src/modules/math/configure.in:1.3
Rev: src/modules/mysql/Makefile.in:1.3
Rev: src/modules/mysql/configure.in:1.15
Rev: src/modules/pipe/Makefile.in:1.6
Rev: src/modules/pipe/configure.in:1.4
Rev: src/modules/readlinemod/Makefile.in:1.4
Rev: src/modules/readlinemod/configure.in:1.8
Rev: src/modules/regexp/Makefile.in:1.4
Rev: src/modules/regexp/configure.in:1.3
Rev: src/modules/regexp/glue.c:1.2
Rev: src/modules/spider/Makefile.in:1.10
Rev: src/modules/spider/configure.in:1.15
Rev: src/modules/sprintf/Makefile.in:1.4
Rev: src/modules/sprintf/configure.in:1.3
Rev: src/modules/sprintf/sprintf.c:1.9
Rev: src/modules/ssleay/Makefile.in:1.2
Rev: src/modules/ssleay/configure.in:1.8
Rev: src/modules/ssleay/ssleay.c:1.9
Rev: src/modules/system/Makefile.in:1.4
Rev: src/modules/system/configure.in:1.7
Rev: src/modules/system/system.c:1.11
Rev: src/modules/zlibmod/Makefile.in:1.2
Rev: src/modules/zlibmod/configure.in:1.3
Rev: src/modules/zlibmod/zlibmod.c:1.3
---
 src/modules/Makefile.in              | 32 +++++++++++++--------
 src/modules/call_out/Makefile.in     | 13 ++-------
 src/modules/call_out/configure.in    |  8 +-----
 src/modules/configure.in             | 43 +++++++---------------------
 src/modules/files/Makefile.in        | 14 ++-------
 src/modules/files/configure.in       |  8 +-----
 src/modules/gdbmmod/Makefile.in      | 16 ++---------
 src/modules/gdbmmod/configure.in     |  8 +-----
 src/modules/gdbmmod/gdbmmod.c        | 10 +++----
 src/modules/gmpmod/Makefile.in       | 16 ++---------
 src/modules/gmpmod/configure.in      |  8 +-----
 src/modules/gmpmod/mpz_glue.c        | 11 ++++---
 src/modules/image/Makefile.in        | 17 ++++-------
 src/modules/image/configure.in       |  8 ++----
 src/modules/math/Makefile.in         | 15 ++--------
 src/modules/math/configure.in        |  8 +-----
 src/modules/mysql/Makefile.in        | 30 +++----------------
 src/modules/mysql/configure.in       |  8 ++----
 src/modules/pipe/Makefile.in         | 13 ++-------
 src/modules/pipe/configure.in        | 11 +------
 src/modules/readlinemod/Makefile.in  | 37 +++---------------------
 src/modules/readlinemod/configure.in |  7 +----
 src/modules/regexp/Makefile.in       | 13 ++-------
 src/modules/regexp/configure.in      | 10 +------
 src/modules/regexp/glue.c            |  8 ++----
 src/modules/spider/Makefile.in       | 34 ++--------------------
 src/modules/spider/configure.in      |  7 +----
 src/modules/sprintf/Makefile.in      | 12 ++------
 src/modules/sprintf/configure.in     | 11 +------
 src/modules/sprintf/sprintf.c        |  7 ++---
 src/modules/ssleay/Makefile.in       | 28 +++---------------
 src/modules/ssleay/configure.in      |  7 +----
 src/modules/ssleay/ssleay.c          | 20 ++++++-------
 src/modules/system/Makefile.in       | 14 ++-------
 src/modules/system/configure.in      |  8 +-----
 src/modules/system/system.c          | 12 +++-----
 src/modules/zlibmod/Makefile.in      | 15 ++--------
 src/modules/zlibmod/configure.in     |  9 +-----
 src/modules/zlibmod/zlibmod.c        | 11 ++++---
 39 files changed, 125 insertions(+), 442 deletions(-)

diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in
index 54708a8b23..ddd99a4c2d 100644
--- a/src/modules/Makefile.in
+++ b/src/modules/Makefile.in
@@ -1,22 +1,27 @@
 @SET_MAKE@
 
 MODULES=@subdirs@
-MODULE_OBJS=@MODULE_OBJS@
+MODULE_SEGMENTS=@MODULE_SEGMENTS@
+MODULE_LINKOPTS=@MODULE_LINKOPTS@
 
 MAKE_FLAGS = "prefix=$(prefix)" "exec_prefix=$(exec_prefix)" "CC=$(CC)" "OTHERFLAGS=$(OTHERFLAGS)" "TMP_BINDIR=$(TMP_BINDIR)" "TMP_LIBDIR=$(TMP_LIBDIR)" "RUNPIKE=$(RUNPIKE)" "DEFINES=$(DEFINES)"
 
 all: modules
 
 modules:
-	for a in $(MODULES) ; do ( cd $$a ; $(MAKE) $(MAKE_FLAGS) ) ; done
-	$(MAKE) linker_options lib_dirs
+	for a in $(MODULES) ; do ( cd $$a ; $(MAKE) $(MAKE_FLAGS) MODNAME=$$a) ; done
+	$(MAKE) linker_options lib_dirs modlist.h modlist_headers.h
 
-linker_options: $(MODULE_OBJS)
-	( for a in $(MODULES) ; do echo modules/$$a/$$a.a ; \
-	if test -f $$a/linker_options ; then cat $$a/linker_options ; else : ; fi ; \
-	done ; ) >linker_options
+modlist.h: $(MODULE_SEGMENTS)
+	( for a in $(MODULES) ; do cat $$a/modlist_segment ; done ; ) >modlist.h
 
-lib_dirs: $(MODULE_OBJS)
+modlist_headers.h: $(MODULE_SEGMENTS)
+	( for a in $(MODULES) ; do cat $$a/modlist_segment; done ) | sed -e 's/^.*{.*,\(.*\),\(.*\).*}.*$$/void \1(void),\2(void);/' >modlist_headers.h
+
+linker_options: $(MODULE_LINKOPTS)
+	( for a in $(MODULES) ; do cat $$a/linker_options ; done ; ) >linker_options
+
+lib_dirs: $(MODULE_LINKOPTS)
 	( ( if test -f master_lib_dirs; then cat master_lib_dirs; else :; fi; \
             for a in $(MODULES) ; do \
 	      if test -f $$a/lib_dirs ; then cat $$a/lib_dirs ; else : ; fi ; \
@@ -24,15 +29,18 @@ lib_dirs: $(MODULE_OBJS)
 	sed -e 's/:$$//' -e 's/^/-R/' -e 's/^-R$$//' >lib_dirs
 
 depend:
-	for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) depend ) ; done
+	for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) MODNAME=$$a depend ) ; done
+
+install:
+	for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) MODNAME=$$a install ) ; done
 
 clean:
-	for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) clean ) ; done
+	for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) MODNAME=$$a clean ) ; done
 
 verify:
-	for a in $(MODULES) ; do ( cd $$a ; echo verifying $$a ; ${MAKE} $(MAKE_FLAGS) verify ) ; done
+	for a in $(MODULES) ; do ( cd $$a ; echo verifying $$a ; ${MAKE} $(MAKE_FLAGS) MODNAME=$$a verify ) ; done
 
 verbose_verify:
-	for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) verbose_verify ) ; done
+	for a in $(MODULES) ; do ( cd $$a ; ${MAKE} $(MAKE_FLAGS) MODNAME=$$a verbose_verify ) ; done
 
 @dependencies@
diff --git a/src/modules/call_out/Makefile.in b/src/modules/call_out/Makefile.in
index 588de186c7..d31956b240 100644
--- a/src/modules/call_out/Makefile.in
+++ b/src/modules/call_out/Makefile.in
@@ -1,14 +1,7 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-FILES=call_out.o
-
-all: call_out.a
-
-@module_makefile@
-
-call_out.a: $(FILES)
-	-rm -f call_out.a
-	ar cq call_out.a $(FILES)
-	-@RANLIB@ call_out.a
+OBJS=call_out.o
+MODULE_LDFLAGS=@LIBS@
 
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/call_out/configure.in b/src/modules/call_out/configure.in
index a6e609d9dd..0a9bb62770 100644
--- a/src/modules/call_out/configure.in
+++ b/src/modules/call_out/configure.in
@@ -1,12 +1,6 @@
 AC_INIT(call_out.c)
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
+sinclude(../module_configure.in)
 
 AC_OUTPUT(Makefile,echo FOO >stamp-h )
 
diff --git a/src/modules/configure.in b/src/modules/configure.in
index e8ded21a05..9e4229fd53 100644
--- a/src/modules/configure.in
+++ b/src/modules/configure.in
@@ -1,52 +1,29 @@
-AC_INIT(module_makefile)
+AC_INIT(dynamic_module_makefile.in)
 
 AC_SET_MAKE
 
 dirs=
-MODULE_OBJS=
-module_names=
+MODULE_LINKOBJS=
+MODULE_SEGMENTS=
+
 for a in `(cd $srcdir ; echo *)`
 do
   if test "$a" != "CVS" -a "$a" != "RCS" ; then
     if test -d "$srcdir/$a" ; then
       dirs="$dirs $a"
-      MODULE_OBJS="$MODULE_OBJS $a/$a.a"
+      MODULE_LINKOPTS="$MODULE_LINKOPTS $a/linker_options"
+      MODULE_SEGMENTS="$MODULE_SEGMENTS $a/modlist_headers"
       module_names="$module_names $a"
     fi
   fi
 done
 
-AC_SUBST(MODULE_OBJS)
+AC_SUBST(MODULE_LINKOPTS)
+AC_SUBST(MODULE_SEGMENTS)
+
 AC_SUBST_FILE(dependencies)
 dependencies=$srcdir/dependencies
 AC_CONFIG_SUBDIRS($dirs)
 
-AC_OUTPUT(Makefile,
-[
-echo creating modlist.h
-(
-echo "void init_main_efuns(void);"
-echo "void init_main_programs(void);"
-echo "void exit_main(void);"
-
-for a in $dirs
-do
-  echo "void init_"$a"_efuns(void);"
-  echo "void init_"$a"_programs(void);"
-  echo "void exit_"$a"(void);"
-done
-echo ""
-echo "struct module module_list UGLY_WORKAROUND={"
-
-echo "  { \"main\", init_main_efuns, init_main_programs, exit_main, 0 }"
-for a in $dirs
-do
-  echo " ,{ \"$a\", init_"$a"_efuns, init_"$a"_programs, exit_"$a", 0 }"
-done
-echo "};" 
-) > ../modlist.h
-]
-,
-dirs="$module_names"
-)
+AC_OUTPUT(Makefile,[],dirs="$module_names")
 
diff --git a/src/modules/files/Makefile.in b/src/modules/files/Makefile.in
index e654c89368..fbb34967a2 100644
--- a/src/modules/files/Makefile.in
+++ b/src/modules/files/Makefile.in
@@ -1,15 +1,7 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-FILES=file.o efuns.o socket.o
-
-all: files.a
-
-@module_makefile@
-
-files.a: $(FILES)
-	-rm -f files.a
-	ar cq files.a $(FILES)
-	-@RANLIB@ files.a
-	echo >linker_options @LIBS@
+OBJS=file.o efuns.o socket.o
+MODULE_LDFLAGS=@LIBS@
 
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/files/configure.in b/src/modules/files/configure.in
index 0f4f5b6193..5f0033be19 100644
--- a/src/modules/files/configure.in
+++ b/src/modules/files/configure.in
@@ -1,13 +1,7 @@
 AC_INIT(file.c)
 AC_CONFIG_HEADER(file_machine.h)
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
+sinclude(../module_configure.in)
 
 AC_HAVE_HEADERS(arpa/inet.h sys/socketvar.h netinet/in.h \
  sys/stream.h sys/protosw.h netdb.h)
diff --git a/src/modules/gdbmmod/Makefile.in b/src/modules/gdbmmod/Makefile.in
index 83310b82bc..75379bf80d 100644
--- a/src/modules/gdbmmod/Makefile.in
+++ b/src/modules/gdbmmod/Makefile.in
@@ -1,17 +1,7 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
+MODULE_LDFLAGS=@LIBS@
+OBJS=gdbmmod.o
 
-FILES=gdbmmod.o
-LIB=gdbmmod.a
-
-all: $(LIB)
-
-@module_makefile@
-
-$(LIB): $(FILES)
-	-rm -f $(LIB)
-	ar cq $(LIB) $(FILES)
-	-@RANLIB@ $(LIB)
-	echo >linker_options @LIBS@
-
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/gdbmmod/configure.in b/src/modules/gdbmmod/configure.in
index 6619e71f5e..1ae3ef7fa6 100644
--- a/src/modules/gdbmmod/configure.in
+++ b/src/modules/gdbmmod/configure.in
@@ -3,13 +3,7 @@ AC_CONFIG_HEADER(gdbm_machine.h)
 
 AC_ARG_WITH(gdbm,    [  --with(out)-gdbm       GNU database manager support ],[],[with_gdbm=yes])
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
+sinclude(../module_configure.in)
 
 if test x$with_gdbm = xyes; then
   AC_CHECK_HEADERS(gdbm.h)
diff --git a/src/modules/gdbmmod/gdbmmod.c b/src/modules/gdbmmod/gdbmmod.c
index 0333d3b44f..287eb8231d 100644
--- a/src/modules/gdbmmod/gdbmmod.c
+++ b/src/modules/gdbmmod/gdbmmod.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: gdbmmod.c,v 1.5 1997/01/18 22:01:26 hubbe Exp $");
+RCSID("$Id: gdbmmod.c,v 1.6 1997/02/07 00:42:11 hubbe Exp $");
 #include "gdbm_machine.h"
 #include "types.h"
 #include "threads.h"
@@ -329,10 +329,9 @@ static void exit_gdbm_glue(struct object *o)
 
 #endif
 
-void init_gdbmmod_efuns(void) {}
-void exit_gdbmmod(void) {}
+void pike_module_exit(void) {}
 
-void init_gdbmmod_programs(void)
+void pike_module_init(void)
 {
 #if defined(HAVE_GDBM_H) && defined(HAVE_LIBGDBM)
   start_new_program();
@@ -353,8 +352,7 @@ void init_gdbmmod_programs(void)
 
   set_init_callback(init_gdbm_glue);
   set_exit_callback(exit_gdbm_glue);
-
-  end_c_program("/precompiled/gdbm");
+  end_class("gdbm");
 #endif
 }
 
diff --git a/src/modules/gmpmod/Makefile.in b/src/modules/gmpmod/Makefile.in
index 7f875d752c..a7c8bf3359 100644
--- a/src/modules/gmpmod/Makefile.in
+++ b/src/modules/gmpmod/Makefile.in
@@ -1,17 +1,7 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
+MODULE_LDFLAGS=@LIBS@
+OBJS=mpz_glue.o
 
-FILES=mpz_glue.o
-LIB=gmpmod.a
-
-all: $(LIB)
-
-@module_makefile@
-
-$(LIB): $(FILES)
-	-rm -f $(LIB)
-	ar cq $(LIB) $(FILES)
-	-@RANLIB@ $(LIB)
-	echo >linker_options @LIBS@
-
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/gmpmod/configure.in b/src/modules/gmpmod/configure.in
index d68e301ed2..0df3eec924 100644
--- a/src/modules/gmpmod/configure.in
+++ b/src/modules/gmpmod/configure.in
@@ -2,13 +2,7 @@ AC_INIT(mpz_glue.c)
 AC_CONFIG_HEADER(gmp_machine.h)
 AC_ARG_WITH(gmp,     [  --with(out)-gmp        Support bignums],[],[with_gmp=yes])
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
+sinclude(../module_configure.in)
 
 if test x$with_gmp = xyes ; then
   AC_CHECK_HEADERS(gmp.h)
diff --git a/src/modules/gmpmod/mpz_glue.c b/src/modules/gmpmod/mpz_glue.c
index 7b70fbfcd6..d444a288bd 100644
--- a/src/modules/gmpmod/mpz_glue.c
+++ b/src/modules/gmpmod/mpz_glue.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: mpz_glue.c,v 1.13 1996/12/12 17:15:35 grubba Exp $");
+RCSID("$Id: mpz_glue.c,v 1.14 1997/02/07 00:42:42 hubbe Exp $");
 #include "gmp_machine.h"
 #include "types.h"
 
@@ -578,8 +578,7 @@ static void exit_mpz_glue(struct object *o)
 }
 #endif
 
-void init_gmpmod_efuns(void) {}
-void exit_gmpmod(void)
+void pike_module_exit(void)
 {
 #ifdef HAVE_GMP_H
   if(temporary) free_object(temporary);
@@ -587,7 +586,7 @@ void exit_gmpmod(void)
 #endif
 }
 
-void init_gmpmod_programs(void)
+void pike_module_init(void)
 {
 #ifdef HAVE_GMP_H
   start_new_program();
@@ -660,8 +659,8 @@ void init_gmpmod_programs(void)
   set_init_callback(init_mpz_glue);
   set_exit_callback(exit_mpz_glue);
 
-  mpzmod_program=end_c_program("/precompiled/mpz");
-  mpzmod_program->refs++;
+  mpzmod_program=end_program();
+  add_program_constant("mpz",mpzmod_program,0);
 #endif
 }
 
diff --git a/src/modules/image/Makefile.in b/src/modules/image/Makefile.in
index 389cb503ab..b28ff0d6bf 100644
--- a/src/modules/image/Makefile.in
+++ b/src/modules/image/Makefile.in
@@ -1,22 +1,15 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-
-all: image.a
-
-@module_makefile@
-
-FILES =	image.o font.o quant.o lzw.o togif.o matrix.o pnm.o blit.o \
+OBJS = image.o font.o quant.o lzw.o togif.o matrix.o pnm.o blit.o \
 	pattern.o dct.o operator.o
+MODNAME=image
 
-image.a: $(FILES)
-	-rm -f image.a
-	ar cq image.a $(FILES)
-	-@RANLIB@ image.a
+@dynamic_module_makefile@
 
-pike: image.a
+pike: all
 	cd ../..; make
 
-pure: image.a
+pure: all
 	cd ../..; make pure
 
 
diff --git a/src/modules/image/configure.in b/src/modules/image/configure.in
index 750eb58c58..4df99cce8c 100644
--- a/src/modules/image/configure.in
+++ b/src/modules/image/configure.in
@@ -1,13 +1,9 @@
 AC_INIT(image.c)
 AC_CONFIG_HEADER(config.h)
 
-AC_PROG_CC
-AC_PROG_RANLIB
+sinclude(../module_configure.in)
+
 AC_FUNC_MMAP
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
 
 AC_CHECK_HEADERS(sys/fcntl.h fcntl.h stdlib.h)
 
diff --git a/src/modules/math/Makefile.in b/src/modules/math/Makefile.in
index 669fb7a76a..71853f100c 100644
--- a/src/modules/math/Makefile.in
+++ b/src/modules/math/Makefile.in
@@ -1,16 +1,7 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
+MODULE_LDFLAGS=@LIBS@
+OBJS=math.o
 
-FILES=math.o
-
-all: math.a
-
-@module_makefile@
-
-math.a: $(FILES)
-	-rm -f math.a
-	ar cq math.a $(FILES)
-	-@RANLIB@ math.a
-	echo >linker_options @LIBS@
-
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/math/configure.in b/src/modules/math/configure.in
index bcd847a278..3795e0c145 100644
--- a/src/modules/math/configure.in
+++ b/src/modules/math/configure.in
@@ -1,7 +1,6 @@
 AC_INIT(math.c)
 
-AC_PROG_CC
-AC_PROG_RANLIB
+sinclude(../module_configure.in)
 
 AC_CHECK_LIB(m, floor)
 if test "${ac_cv_lib_m}" = "no" -a "${pike_cv_sys_os}" = "Linux"; then
@@ -9,11 +8,6 @@ if test "${ac_cv_lib_m}" = "no" -a "${pike_cv_sys_os}" = "Linux"; then
   LIBS="${LIBS} -lc -lm"
 fi
 
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
 
 AC_OUTPUT(Makefile,echo FOO >stamp-h )
 
diff --git a/src/modules/mysql/Makefile.in b/src/modules/mysql/Makefile.in
index 9993327a5a..ee236764a8 100644
--- a/src/modules/mysql/Makefile.in
+++ b/src/modules/mysql/Makefile.in
@@ -1,34 +1,12 @@
 #
-# $Id: Makefile.in,v 1.2 1997/01/30 22:07:43 grubba Exp $
+# $Id: Makefile.in,v 1.3 1997/02/07 00:43:32 hubbe Exp $
 #
 
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-PREFLAGS=$(DEFINES) @DEFS@ -I. -I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. @CPPFLAGS@
-
-CFLAGS=$(PREFLAGS) $(OTHERFLAGS)
-
+MODULE_CPPFLAGS=@DEFS@ @CPPFLAGS@
 OBJS=mysql.o result.o
+MODULE_LDFLAGS=@LDFLAGS@ @MYSQL_LIBS@
 
-all: mysql.a linker_options
-
-mysql.a: $(OBJS)
-	-rm -f mysql.a
-	ar cq mysql.a $(OBJS)
-	-@RANLIB@ mysql.a
-
-linker_options: Makefile
-	echo >linker_options "@LDFLAGS@ @MYSQL_LIBS@"
-
-verify:
-	@echo No tests for the mysql-module.
-
-verbose_verify: verify
-
-clean:
-	-rm -f *.o *.a
-
-depend:
-	gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(TMP_BINDIR)/fixdepends.sh $(SRCDIR)
-
+@dynamic_module_makefile@
 @dependencies@
\ No newline at end of file
diff --git a/src/modules/mysql/configure.in b/src/modules/mysql/configure.in
index 1d0fad69ae..14acbf07f7 100644
--- a/src/modules/mysql/configure.in
+++ b/src/modules/mysql/configure.in
@@ -1,5 +1,5 @@
 #
-# $Id: configure.in,v 1.14 1997/02/01 14:44:37 grubba Exp $
+# $Id: configure.in,v 1.15 1997/02/07 00:43:33 hubbe Exp $
 #
 # Configure script for the mysql-module
 #
@@ -20,11 +20,7 @@
 AC_INIT(mysql.c)
 AC_CONFIG_HEADER(config.h)
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
+sinclude(../module_configure.in)
 
 OLD_LIBS=$LIBS
 OLD_LDFLAGS=$LDFLAGS
diff --git a/src/modules/pipe/Makefile.in b/src/modules/pipe/Makefile.in
index 9184af8ceb..2f114663c7 100644
--- a/src/modules/pipe/Makefile.in
+++ b/src/modules/pipe/Makefile.in
@@ -1,15 +1,6 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
+OBJS=pipe.o
 
-FILES=pipe.o
-
-all: pipe.a
-
-@module_makefile@
-
-pipe.a: $(FILES)
-	-rm -f pipe.a
-	ar cq pipe.a $(FILES)
-	-@RANLIB@ pipe.a
-
+@dynamic_module_makefile@
 @dependencies@
diff --git a/src/modules/pipe/configure.in b/src/modules/pipe/configure.in
index 00033f8fde..84dd753063 100644
--- a/src/modules/pipe/configure.in
+++ b/src/modules/pipe/configure.in
@@ -1,16 +1,7 @@
 AC_INIT(pipe.c)
 AC_CONFIG_HEADER(config.h)
 
-AC_PROG_CC
-AC_PROG_RANLIB
-
-AC_SUBST(RANLIB)
-
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
+sinclude(../module_configure.in)
 
 AC_HAVE_HEADERS(sys/mman.h linux/mman.h)
 AC_HAVE_FUNCS(mmap munmap)
diff --git a/src/modules/readlinemod/Makefile.in b/src/modules/readlinemod/Makefile.in
index c3def860f3..e678eb017c 100644
--- a/src/modules/readlinemod/Makefile.in
+++ b/src/modules/readlinemod/Makefile.in
@@ -1,37 +1,8 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-PREFLAGS=$(DEFINES) -I. -I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. @CPPFLAGS@
-CFLAGS=$(PREFLAGS) $(OTHERFLAGS)
-
-FILES=readlinemod.o
-LIB=readlinemod.a
-
-$(LIB): $(FILES)
-	-rm -f $(LIB)
-	ar cq $(LIB) $(FILES)
-	-@RANLIB@ $(LIB)
-	echo >linker_options @LIBS@
-
-clean:
-	-rm -f *.o *.a
-
-depend:
-	gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(TMP_BINDIR)/fixdepends.sh $(SRCDIR)
-
-#verify / debug
-module_testsuite: $(SRCDIR)/testsuite.in
-	$(TMP_BINDIR)/mktestsuite $(SRCDIR)/testsuite.in >module_testsuite
-
-verify: module_testsuite
-	$(RUNPIKE) $(TMP_BINDIR)/test_pike.pike module_testsuite
-
-verbose_verify: module_testsuite
-	$(RUNPIKE) $(TMP_BINDIR)/test_pike.pike module_testsuite --verbose
-
-gdb_verify: module_testsuite
-	@echo >.gdbinit handle SIGUSR1 nostop noprint pass
-	@echo >>.gdbinit run -m @srcdir@/../../../lib/master.pike $(PIKEOPTS) @srcdir@/../../../bin/test_pike.pike module_testsuite -v -v -f
-	gdb ../../pike
-	@rm .gdbinit
+MODULE_CPPFLAGS=@CPPFLAGS@
+MODULE_LDFLAGS=@LIBS@
+OBJS=readlinemod.o
 
+@dynamic_module_makefile@
 @dependencies@
diff --git a/src/modules/readlinemod/configure.in b/src/modules/readlinemod/configure.in
index 2c6dcf2e59..2d27610c9c 100644
--- a/src/modules/readlinemod/configure.in
+++ b/src/modules/readlinemod/configure.in
@@ -2,12 +2,7 @@ AC_INIT(readlinemod.c)
 AC_CONFIG_HEADER(readline_machine.h)
 AC_ARG_WITH(readline,[  --with(out)-readline   support command line editing],[],[with_readline=yes])
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
+sinclude(../module_configure.in)
 
 if test x$with_readline = xyes ; then
   AC_MSG_CHECKING(Checking for GNU directory)
diff --git a/src/modules/regexp/Makefile.in b/src/modules/regexp/Makefile.in
index 9330113b65..21853b9fc4 100644
--- a/src/modules/regexp/Makefile.in
+++ b/src/modules/regexp/Makefile.in
@@ -1,15 +1,6 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
+OBJS=regexp.o glue.o
 
-FILES=regexp.o glue.o
-
-all: regexp.a
-
-@module_makefile@
-
-regexp.a: $(FILES)
-	-rm -f regexp.a
-	ar cq regexp.a $(FILES)
-	-@RANLIB@ regexp.a
-
+@dynamic_module_makefile@
 @dependencies@
\ No newline at end of file
diff --git a/src/modules/regexp/configure.in b/src/modules/regexp/configure.in
index 657933265f..ed3283c8ee 100644
--- a/src/modules/regexp/configure.in
+++ b/src/modules/regexp/configure.in
@@ -1,14 +1,6 @@
 AC_INIT(regexp.c)
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
+sinclude(../module_configure.in)
 
 
 AC_OUTPUT(Makefile,echo FOO >stamp-h )
diff --git a/src/modules/regexp/glue.c b/src/modules/regexp/glue.c
index 72f6ae956d..04cf266c25 100644
--- a/src/modules/regexp/glue.c
+++ b/src/modules/regexp/glue.c
@@ -103,12 +103,10 @@ static void exit_regexp_glue(struct object *o)
 }
 
 
-void init_regexp_efuns(void) {}
-void exit_regexp(void) {}
+void pike_module_exit(void) {}
 
-void init_regexp_programs(void)
+void pike_module_init(void)
 {
-  start_new_program();
   add_storage(sizeof(struct regexp_glue));
   
   add_function("create",regexp_create,"function(void|string:void)",0);
@@ -117,6 +115,4 @@ void init_regexp_programs(void)
 
   set_init_callback(init_regexp_glue);
   set_exit_callback(exit_regexp_glue);
-
-  end_c_program("/precompiled/regexp");
 }
diff --git a/src/modules/spider/Makefile.in b/src/modules/spider/Makefile.in
index 0baa99c21c..986ef29a8f 100644
--- a/src/modules/spider/Makefile.in
+++ b/src/modules/spider/Makefile.in
@@ -1,36 +1,6 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-PREFLAGS=$(DEFINES) -I. -I$(SRCDIR) -I$(SRCDIR)/../.. -I../..
-CFLAGS=$(PREFLAGS) $(OTHERFLAGS)
-
-FILES=spider.o discdate.o stardate.o dumudp.o streamed_parser.o accesseddb.o
-
-spider.a: $(FILES)
-	-rm -f spider.a
-	ar cq spider.a $(FILES)
-	-@RANLIB@ spider.a
-
-clean:
-	-rm -f *.o *.a
-
-depend:
-	gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(TMP_BINDIR)/fixdepends.sh $(SRCDIR)
-
-#verify / debug
-module_testsuite: $(SRCDIR)/testsuite.in
-	$(TMP_BINDIR)/mktestsuite $(SRCDIR)/testsuite.in >module_testsuite
-
-verify: module_testsuite
-	$(RUNPIKE) $(TMP_BINDIR)/test_pike.pike module_testsuite
-
-verbose_verify: module_testsuite
-	$(RUNPIKE) $(TMP_BINDIR)/test_pike.pike module_testsuite --verbose
-
-
-gdb_verify: module_testsuite
-	@echo >.gdbinit handle SIGUSR1 nostop noprint pass
-	@echo >>.gdbinit run -m @srcdir@/../../../lib/master.pike $(PIKEOPTS) @srcdir@/../../../bin/test_pike.pike module_testsuite -v -v -f
-	gdb ../../pike
-	@rm .gdbinit
+OBJS=spider.o discdate.o stardate.o dumudp.o streamed_parser.o accesseddb.o
 
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/spider/configure.in b/src/modules/spider/configure.in
index de6c15a1ce..b52caee5b7 100644
--- a/src/modules/spider/configure.in
+++ b/src/modules/spider/configure.in
@@ -1,8 +1,7 @@
 AC_INIT(spider.c)
 AC_CONFIG_HEADER(config.h)
 
-AC_PROG_CC
-AC_PROG_RANLIB
+sinclude(../module_configure.in)
 
 AC_CHECK_LIB(socket, socket)
 AC_CHECK_LIB(nsl, gethostbyname)
@@ -18,10 +17,6 @@ AC_HAVE_FUNCS(perror strdup sendmsg)
 
 AC_CHECK_TYPE(time_t, long)
 
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-
 AC_MSG_CHECKING(how to find timezone)
 
 AC_CACHE_VAL(pike_cv_timezone,
diff --git a/src/modules/sprintf/Makefile.in b/src/modules/sprintf/Makefile.in
index fde69de030..10842a53e1 100644
--- a/src/modules/sprintf/Makefile.in
+++ b/src/modules/sprintf/Makefile.in
@@ -1,14 +1,6 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-FILES=sprintf.o
-
-all: sprintf.a
-
-@module_makefile@
-
-sprintf.a: $(FILES)
-	-rm -f sprintf.a
-	ar cq sprintf.a $(FILES)
-	-@RANLIB@ sprintf.a
+OBJS=sprintf.o
 
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/sprintf/configure.in b/src/modules/sprintf/configure.in
index f85c2e17cc..a1593a9c61 100644
--- a/src/modules/sprintf/configure.in
+++ b/src/modules/sprintf/configure.in
@@ -1,15 +1,6 @@
 AC_INIT(sprintf.c)
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
-
+sinclude(../module_configure.in)
 
 AC_OUTPUT(Makefile,echo FOO >stamp-h )
 
diff --git a/src/modules/sprintf/sprintf.c b/src/modules/sprintf/sprintf.c
index 688808018d..eaf8952630 100644
--- a/src/modules/sprintf/sprintf.c
+++ b/src/modules/sprintf/sprintf.c
@@ -96,7 +96,7 @@
 */
 
 #include "global.h"
-RCSID("$Id: sprintf.c,v 1.8 1996/12/07 03:13:27 hubbe Exp $");
+RCSID("$Id: sprintf.c,v 1.9 1997/02/07 00:45:06 hubbe Exp $");
 #include "error.h"
 #include "array.h"
 #include "svalue.h"
@@ -852,14 +852,13 @@ static void f_sprintf(INT32 num_arg)
   push_string(ret);
 }
 
-void init_sprintf_efuns(void)
+void pike_module_init(void)
 {
   add_efun("sprintf", f_sprintf,"function(string, mixed ... : string)",
 	   OPT_TRY_OPTIMIZE);
 }
-void init_sprintf_programs(void) {}
 
-void exit_sprintf(void)
+void pike_module_exit(void)
 {
   free_sprintf_strings();
 }
diff --git a/src/modules/ssleay/Makefile.in b/src/modules/ssleay/Makefile.in
index 1f33e415f9..03ef9ccd32 100644
--- a/src/modules/ssleay/Makefile.in
+++ b/src/modules/ssleay/Makefile.in
@@ -1,29 +1,9 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-PREFLAGS=$(DEFINES) @DEFS@ -I. -I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. @CPPFLAGS@
-
-CFLAGS=$(PREFLAGS) $(OTHERFLAGS)
-
+MODULE_CLAGS=@DEFS@ @CPPFLAGS@
 OBJS=ssleay.o
+MODULE_LDFLAGS=@LDFLAGS@ @LIBS@
 
-ssleay.a: $(OBJS)
-	-rm -f ssleay.a
-	ar cq ssleay.a $(OBJS)
-	-@RANLIB@ ssleay.a
-	echo >linker_options "@LDFLAGS@ @LIBS@"
-
-linker_options: Makefile
-	echo >linker_options "@LDFLAGS@ @LIBS@"
-
-verify:
-	@echo No tests for the ssleay-module.
-
-verbose_verify: verify
-
-clean:
-	-rm -f *.o *.a
-
-depend:
-	gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | $(TMP_BINDIR)/fixdepends.sh $(SRCDIR)
+@dynamic_module_makefile@
+@dependencies@
 
-@dependencies@
\ No newline at end of file
diff --git a/src/modules/ssleay/configure.in b/src/modules/ssleay/configure.in
index c9db0cefb6..dedd922090 100644
--- a/src/modules/ssleay/configure.in
+++ b/src/modules/ssleay/configure.in
@@ -1,11 +1,6 @@
 AC_INIT(ssleay.c)
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-
+sinclude(../module_configure.in)
 
 AC_ARG_WITH(ssleay,  [  --without-ssleay       no support for the secure socket protocol],[],[with_ssleay=yes])
 
diff --git a/src/modules/ssleay/ssleay.c b/src/modules/ssleay/ssleay.c
index d4ca450b77..6c9bc50da0 100644
--- a/src/modules/ssleay/ssleay.c
+++ b/src/modules/ssleay/ssleay.c
@@ -5,7 +5,7 @@
 \*/
 
 #include "global.h"
-RCSID("$Id: ssleay.c,v 1.8 1996/12/15 17:40:00 nisse Exp $");
+RCSID("$Id: ssleay.c,v 1.9 1997/02/07 00:45:45 hubbe Exp $");
 #include "types.h"
 #include "interpret.h"
 #include "svalue.h"
@@ -260,19 +260,17 @@ void exit_connection(struct object *o)
 
 #endif /* HAVE_SSLEAY */
 
-void init_ssleay_efuns(void)
-{
-}
-
-void exit_ssleay()
+void pike_module_exit()
 {
 #ifdef HAVE_SSLEAY
   free_program(ssleay_connection_program);
   free_program(ssleay_program);
+  ssleay_connection_program=0;
+  ssleay_program=0;
 #endif
 }
 
-void init_ssleay_programs(void)
+void pike_module_init(void)
 {
 #ifdef HAVE_SSLEAY
   ERR_load_ERR_strings();
@@ -292,8 +290,8 @@ void init_ssleay_programs(void)
   set_init_callback(init_context);
   set_exit_callback(exit_context);
 
-  ssleay_program=end_c_program("/precompiled/ssleay");
-  ssleay_program->refs++;
+  ssleay_program=end_program();
+  add_program_constant("ssleay",ssleay_program);
   
   start_new_program();
   add_storage(sizeof(struct ssleay_connection));
@@ -307,8 +305,8 @@ void init_ssleay_programs(void)
   set_init_callback(init_connection);
   set_exit_callback(exit_connection);
 
-  ssleay_connection_program=end_c_program("/precompiled/ssleay_connection");
-  ssleay_connection_program->refs++;
+  ssleay_connection_program=end_program();
+  add_program_constant("connection",ssleay_program);
 #endif /* HAVE_SSLEAY */
 }
 
diff --git a/src/modules/system/Makefile.in b/src/modules/system/Makefile.in
index 4bee07b236..d1c6888a9c 100644
--- a/src/modules/system/Makefile.in
+++ b/src/modules/system/Makefile.in
@@ -1,15 +1,7 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-FILES=system.o syslog.o passwords.o
-
-all: system.a
-
-@module_makefile@
-
-system.a: $(FILES)
-	-rm -f system.a
-	ar cq system.a $(FILES)
-	-@RANLIB@ system.a
-	echo >linker_options @LIBS@
+OBJS=system.o syslog.o passwords.o
+MODULE_LDFLAGS=@LIBS@
 
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/system/configure.in b/src/modules/system/configure.in
index c515b7e9c3..ecc8c4ee27 100644
--- a/src/modules/system/configure.in
+++ b/src/modules/system/configure.in
@@ -1,13 +1,7 @@
 AC_INIT(system.c)
 AC_CONFIG_HEADER(system_machine.h)
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
+sinclude(../module_configure.in)
 
 AC_CHECK_LIB(socket, socket)
 AC_CHECK_LIB(nsl, gethostbyname)
diff --git a/src/modules/system/system.c b/src/modules/system/system.c
index b0ebf6f429..1c1a8df6ed 100644
--- a/src/modules/system/system.c
+++ b/src/modules/system/system.c
@@ -1,5 +1,5 @@
 /*
- * $Id: system.c,v 1.10 1997/02/05 01:22:55 neotron Exp $
+ * $Id: system.c,v 1.11 1997/02/07 00:46:26 hubbe Exp $
  *
  * System-call module for Pike
  *
@@ -14,7 +14,7 @@
 #include "system.h"
 
 #include <global.h>
-RCSID("$Id: system.c,v 1.10 1997/02/05 01:22:55 neotron Exp $");
+RCSID("$Id: system.c,v 1.11 1997/02/07 00:46:26 hubbe Exp $");
 #include <module_support.h>
 #include <las.h>
 #include <interpret.h>
@@ -691,7 +691,7 @@ void f_gethostbyname(INT32 args)
  * Module linkage
  */
 
-void init_system_efuns(void)
+void pike_module_init(void)
 {
   /*
    * From this file:
@@ -776,10 +776,6 @@ void init_system_efuns(void)
 
 }
 
-void init_system_programs(void)
-{
-}
-
-void exit_system(void)
+void pike_module_exit(void)
 {
 }
diff --git a/src/modules/zlibmod/Makefile.in b/src/modules/zlibmod/Makefile.in
index c0d39f77c0..77326ae146 100644
--- a/src/modules/zlibmod/Makefile.in
+++ b/src/modules/zlibmod/Makefile.in
@@ -1,16 +1,7 @@
 SRCDIR=@srcdir@
 VPATH=@srcdir@:@srcdir@/../..:../..
-FILES=zlibmod.o
-LIB=zlibmod.a
-
-all:$(LIB)
-
-@module_makefile@
-
-$(LIB): $(FILES)
-	-rm -f $(LIB)
-	ar cq $(LIB) $(FILES)
-	-@RANLIB@ $(LIB)
-	echo >linker_options @LIBS@
+OBJS=zlibmod.o
+MODULE_LDFLAGS=@LIBS@
 
+@static_module_makefile@
 @dependencies@
diff --git a/src/modules/zlibmod/configure.in b/src/modules/zlibmod/configure.in
index d0c2063019..4576722861 100644
--- a/src/modules/zlibmod/configure.in
+++ b/src/modules/zlibmod/configure.in
@@ -2,14 +2,7 @@ AC_INIT(zlibmod.c)
 AC_CONFIG_HEADER(zlib_machine.h)
 AC_ARG_WITH(zlib,     [  --with(out)-zlib       Support gzip compression],[],[with_zlib=yes])
 
-AC_PROG_CC
-AC_PROG_RANLIB
-AC_SUBST(RANLIB)
-AC_SUBST_FILE(dependencies)
-dependencies=$srcdir/dependencies
-
-AC_SUBST_FILE(module_makefile)
-module_makefile=$srcdir/../module_makefile
+sinclude(../module_configure.in)
 
 if test x$with_zlib = xyes ; then
   AC_CHECK_HEADERS(zlib.h)
diff --git a/src/modules/zlibmod/zlibmod.c b/src/modules/zlibmod/zlibmod.c
index 00eae602cf..d1e557d1c7 100644
--- a/src/modules/zlibmod/zlibmod.c
+++ b/src/modules/zlibmod/zlibmod.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: zlibmod.c,v 1.2 1996/11/23 00:09:58 hubbe Exp $");
+RCSID("$Id: zlibmod.c,v 1.3 1997/02/07 00:46:53 hubbe Exp $");
 
 #include "zlib_machine.h"
 #include "types.h"
@@ -332,10 +332,9 @@ static void exit_gz_inflate(struct object *o)
 
 #endif
 
-void init_zlibmod_efuns(void) {}
-void exit_zlibmod(void) { }
+void pike_module_exit(void) {}
 
-void init_zlibmod_programs(void)
+void pike_module_init(void)
 {
 #ifdef HAVE_ZLIB_H
   start_new_program();
@@ -352,7 +351,7 @@ void init_zlibmod_programs(void)
   set_init_callback(init_gz_deflate);
   set_exit_callback(exit_gz_deflate);
 
-  end_c_program("/precompiled/gz_deflate");
+  end_class("deflate");
 
   start_new_program();
   add_storage(sizeof(struct zipper));
@@ -368,7 +367,7 @@ void init_zlibmod_programs(void)
   set_init_callback(init_gz_inflate);
   set_exit_callback(exit_gz_inflate);
 
-  end_c_program("/precompiled/gz_inflate");
+  end_class("inflate");
 #endif
 }
 
-- 
GitLab