diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in index 54708a8b23e45db92a4a94d07361b51ed07f7b97..ddd99a4c2d3011572d31a1d4887b890b19872a45 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 588de186c7795eec7bf2cd672dcdb5616179f2d1..d31956b2403f38fed257d814b0ca34e43baf9399 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 a6e609d9ddbf225246fdf547fad659fdab2c9ba7..0a9bb6277064a7a46912c7b57bd7c9cee9828a0d 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 e8ded21a05e3a21fffd0a8ad48ebf5c038923955..9e4229fd530ed76265be60f7646623ab4079c666 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 e654c893686aad3c4be5701b662fd20fb511b6e7..fbb34967a25835019bb4500675503a4debe9e8c7 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 0f4f5b61930f07a4581445bda74b0ee6a12cd50f..5f0033be194e0968c529f64f94f5a256f62ec795 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 83310b82bc6134a27060a0b3924a07918c0f981a..75379bf80d5b3cbf7a69e307678bdd626a7ca047 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 6619e71f5e3aba3d21746951e122e5cae7fc41bd..1ae3ef7fa67fc824d10a947fd5ab2b5b480c017e 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 0333d3b44fb80bcf79bbb748a3526aedda0eb6ce..287eb8231d4b86cf9f8cf5c60d6a5cf1b6aef797 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 7f875d752cb8a9b5208852428a73a863e47cf0f2..a7c8bf3359a841d71cd7ba63701fc2cfdb09843c 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 d68e301ed273fe0c12621bf5d86ca0a05e6b9a6a..0df3eec9246412a615eb05ac4a7721ec12630c80 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 7b70fbfcd66f2ff61b9a3a43dd5d19ca341eaadf..d444a288bd94fb5eeb4e73c1e90e6fcd8de62bc3 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 389cb503ab03a6a6ac4c301edc5d567c646615df..b28ff0d6bfbe5515768107fb5d5e380598a2ac1b 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 750eb58c58537d128a500c140be0852185b0dbef..4df99cce8ce80f712f8a1b3dc45eefb9111abc27 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 669fb7a76a75405761e78732977d5d88245f4b11..71853f100c9e20ffb739b909e007d0de4c59151c 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 bcd847a2787a3289e84734ad5806b09ace37cdb4..3795e0c145795474a692f8ceb9088acf2fcf425a 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 9993327a5ae911bd78c6361222a8502bb6e69e0c..ee236764a8d0eecd00bfa1928a0cc69cd362082e 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 1d0fad69ae0f3251dc85e2da9091f2ceccc302cd..14acbf07f78ce57a357fe046890b71c6b64f4d16 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 9184af8ceb3d39be27945004451471d248d18591..2f114663c728caf7b6e11bb301fe8a705f77db0e 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 00033f8fde5c6cf9895b1b867681567c2a66d697..84dd753063f827919780d8d80eb1b3967a264fdf 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 c3def860f319249ab23d1082b6090cb1c2360aa6..e678eb017c229e583888648a72a67196be1b8116 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 2c6dcf2e591abb49bac59282b113502a072a1e89..2d27610c9c5ff16709debbe3e480da6bd5f4ae60 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 9330113b6564a295fa8ed7dcf15b62a3833d36b4..21853b9fc4c4f4ec9110cbd08caed4824af78aa6 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 657933265f4bb35247b34e89a7ea73a86292b7d9..ed3283c8eec415697210f9591f054dac166c5e4c 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 72f6ae956df43cbc613be5f815b9cc90bd430264..04cf266c257b4c2ef523bbf11179e346823adbf5 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 0baa99c21c3f499fbfe289dd9909caa386116d27..986ef29a8fb3f4525e345ce92d4f6ca5f45aa611 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 de6c15a1ce5360217d421f2577eebb6a1ad504d8..b52caee5b716bca8e9335a03e5ee68cffb4b893e 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 fde69de030141464ed04562332a8e7ed6e5cc1e7..10842a53e155a16abcd0c1c36fc1662c272299ec 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 f85c2e17cc66301445eba2f9009956dcf41c7957..a1593a9c61187726adce4e8064ae6c156d4c9e38 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 688808018d5697f79370b0a2ad2ec772e93eda20..eaf8952630f6808e6558949ccff04aa389699436 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 1f33e415f90dbc97fa68394540511f5bcbdc50a3..03ef9ccd3254f8908ade770b9461f417c89c36b6 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 c9db0cefb608b1566c47f740e10bf5e927f41364..dedd922090f9bce519a760d803e963ca3327c34a 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 d4ca450b77b4221d7692d0c3b2a63c35cd0970a1..6c9bc50da078ea4188dc32d8ae869a6c0d4d91a6 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 4bee07b23689212f91a63fceb619a99b1bb945df..d1c6888a9ce9c7e3e81a3ed418eeab0da3ff8bb5 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 c515b7e9c3afe05865dfd7551ad25f8f379ceae1..ecc8c4ee2707b17c7e782e1968cbbbf32891f75f 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 b0ebf6f4290bd70b8fed5d6bfc91cab7ddedb43f..1c1a8df6edc9eec5a9b47f519db0e988a1d76db2 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 c0d39f77c059883d92ed5f7b85333826781c569d..77326ae1469f9fd62b7ee2669ea147482d594afc 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 d0c2063019511f1f934a5eeb54e49beb58b9f37a..4576722861dd7696625c27fd835ae06a51a20b63 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 00eae602cf9ad641001480698f3ef0cac34d74a1..d1e557d1c732096c9593264d27438dee36c49967 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 }