Skip to content
Snippets Groups Projects
Commit 9ac1fe58 authored by Henrik (Grubba) Grubbström's avatar Henrik (Grubba) Grubbström
Browse files

Updated somewhat.

Rev: .how_to_create_modules:1.2
parent c679f627
No related branches found
No related tags found
No related merge requests found
How to create Pike modules
==========================
o You need a name for your module, for our purposes, let us assume you o You need a name for your module, for our purposes, let us assume you
want to create the module "modulen". want to create the module "modulen".
o Create the dir src/modules/modulen o Create the dir src/modules/modulen
o Copy the Makefile.src from src/modules/files and modify it. o Copy the Makefile.in from src/modules/Gz and modify it.
The Makefile.src need not contain any dependencies. 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 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 o You need a configure.in
Your configure.in should test for ALL features you need. 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. Do not trust the global configure tests to do things for you.
o All c/c++ files should include "global.h" o All C/C++ files should include "global.h" as the first included file.
o The makefile should create a file called linker_options in the build dir
that contains the needed -l<lib> directives.
o When building the your module the first time you need to: o When building the your module the first time you need to:
1) run autoconf 1) run autoconf
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment