1SNOBOL4SETUP(3) CSNOBOL4 Manual SNOBOL4SETUP(3)
2
3
4
6 snobol4setup - SNOBOL4 Loadable module setup utility
7
9 snobol4 setup.sno command
10
12 The example program below (canonically called setup.sno) can be invoked
13 (portably across different operating systems) with the following
14 commands:
15
17 build
18 Compiles and links a dynamicly loadable executable file named
19 modulename (with the appropriate extension for the local system).
20 modulename.sno will be created from: pre.sno (if it exists),
21 followed by lines from sourcefiles: any instances of LOAD(...)
22 present in * comments, any groups of lines starting with *=pea and
23 ending with *=cut (inclusive), any comment lines bracketed by
24 *=snobol4 and *=cut (exclusive) will be copied without the leading
25 *, and finally funcs.sno (if it exists).
26
27 install
28 installs binary, include and man page files.
29
30 clean
31 cleans up.
32
34 -INCLUDE 'setuputil.sno'
35 t = TABLE()
36 t['module'] = 'modulename'
37 t['sources'] = 'sourcefile.c,othername.c'
38 t['author'] = t['maintainer'] = 'Yourname Here'
39 t['author_email'] = t['maintainer_email'] = 'name@doma.in'
40 t['include_dirs'] = 'list,of,dirs,to,search'
41 t['library_dirs'] = 'list,of,dirs,to,search'
42 t['libraries'] = 'list,of,library,names,to,link,against'
43 t['license'] = 'BSD'
44 setup(t)
45 end
46
47 If LOAD() functions appear as the first thing on a comment line in the
48 source files, they are output to the generated modulename.sno include
49 file so that the module and its functions are loaded when the include
50 file is used.
51
52 snopea(7) directives in comments in the source files will be used to
53 generate man(7) and .html documentation files.
54
56 Inspired by Python setuptools, easyinstall, et.al.
57
59 Philip L. Budne
60
62 Has not been tested with proprietary Un*x native toolchains.
63
65 snobol4(1), snobol4load(3), snopea(7)
66
67
68
69CSNOBOL4B 2.3.1 March 31, 2022 SNOBOL4SETUP(3)