diff --git a/.how_to_create_modules b/.how_to_create_modules index dac8f0f0534a43e4f966b23a53046544f3348b61..6f7259591381755d94f69fcbd920f0d44e70931c 100644 --- a/.how_to_create_modules +++ b/.how_to_create_modules @@ -1,23 +1,28 @@ +How to create Pike modules +========================== + o You need a name for your module, for our purposes, let us assume you want to create the module "modulen". o Create the dir src/modules/modulen -o Copy the Makefile.src from src/modules/files and modify it. - The Makefile.src need not contain any dependencies. +o Copy the Makefile.in from src/modules/Gz and modify it. + Set the macro OBJS to all objectfiles in your module. + Set the macro MODULE_LDFLAGS to all needed -L<libdir> -R<libdir> + options followed by all needed -l<lib> options. + If you want your module to always be linked statically, modify + @dynamic_module_makefile@ to @static_module_makefile@. + The Makefile.in need not contain any dependencies. o You need a testsuite.in, even if it is just an empty one. -o You want a doc dir with BMML or HTML documenation. - o You need a configure.in Your configure.in should test for ALL features you need. + Your configure.in should contain the line + sinclude(../module_configure.in) Do not trust the global configure tests to do things for you. -o All c/c++ files should include "global.h" - -o The makefile should create a file called linker_options in the build dir - that contains the needed -l<lib> directives. +o All C/C++ files should include "global.h" as the first included file. o When building the your module the first time you need to: 1) run autoconf