snobol4setup - SNOBOL4 Loadable module setup utility
snobol4 setup.sno command
The example program below (canonically called setup.sno) can be invoked
(portably across different operating systems) with the following commands:
- build
- Compiles and links a dynamicly loadable executable file named
modulename (with the appropriate extension for the local system).
modulename.sno will be created from: pre.sno (if it
exists), followed by lines from sourcefiles: any instances of
LOAD(...) present in * comments, any groups of lines
starting with *=pea and ending with *=cut (inclusive), any
comment lines bracketed by *=snobol4 and *=cut (exclusive)
will be copied without the leading *, and finally funcs.sno
(if it exists).
- install
- installs binary, include and man page files.
- clean
- cleans up.
-INCLUDE 'setuputil.sno'
t = TABLE()
t['module'] = 'modulename'
t['sources'] = 'sourcefile.c,othername.c'
t['author'] = t['maintainer'] = 'Yourname Here'
t['author_email'] = t['maintainer_email'] = 'name@doma.in'
t['include_dirs'] = 'list,of,dirs,to,search'
t['library_dirs'] = 'list,of,dirs,to,search'
t['libraries'] = 'list,of,library,names,to,link,against'
t['license'] = 'BSD'
setup(t)
end
If LOAD() functions appear as the first thing on a comment
line in the source files, they are output to the generated
modulename.sno include file so that the module and its functions are
loaded when the include file is used.
snopea(7) directives in comments in the source files will
be used to generate man(7) and .html documentation files.
Inspired by Python setuptools, easyinstall, et.al.
Has not been tested with proprietary Un*x native toolchains.
snobol4(1), snobol4load(3), snopea(7)