File: pup.html

package info (click to toggle)
pcb-rnd 3.1.7b-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,108 kB
  • sloc: ansic: 213,400; yacc: 6,241; sh: 4,698; awk: 3,016; makefile: 2,254; lex: 1,166; python: 519; xml: 261; lisp: 154; tcl: 67; perl: 34; javascript: 6; ruby: 5
file content (38 lines) | stat: -rw-r--r-- 3,044 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
<body>
<h1> pcb-rnd hacking - plugin .pup fields </h1>
<p>
The pup file holds all metadata for a plugin that is required for
./configure and for puplug to load the plugin run-time. Fields starting
with $ are pcb-rnd-specific fields, the rest are common puplug fields that
will behave the same in other puplug modularized projects as well.
<p>
Each field is a single-line and can not contain semicolon (';').
<p>
The fields in use for pcb-rnd plugins:
<p>
<ul>
	<li> <i>$class</i> the same as the plugin name prefix (see <a href="naming.html"> conventions. </a>) or <b>(feature)</b> for feature plugins; it's redundant but is kept for supporting external plugins - see <a href="../mods3/post.html">mods3</a> for a short list of all classes
	<li> <i>$short</i> short description - should be less than 32 characters; this shows up in the configure summary
	<li> <i>$long</i> long description - used for documentation; no length limitation, but must be a single line
	<li> <i>$state</i> <b>works</b>, <b>WIP</b>, <b>abandoned</b> or <b>deprecated</b> - see <a href="../mods3/post.html">mods3</a> for explanation
	<li> <i>$lstate</i> [optional] a chance to explain why the value of default is what it is; e.g. why a plugin is disabled
	<li> <i>$package</i> when pcb-rnd is packaged for a distribution or OS, which package this plugin should end up in (see also: <a href="../packaging/">packaging howto</a>)
	<li> <i>$fmt-native</i> only for io_ plugins: whether this format is considered native (see also: io_lihata's pup)
	<li> <i>$fmt-feature-r</i> only for io_ plugins: a read/load feature supported by the plugin (multiple entries of this should be added; see also: io_lihata's pup)
	<li> <i>$fmt-feature-w</i> only for io_ plugins: a write/save feature supported by the plugin (multiple entries of this should be added; see also: io_lihata's pup)
	<li> <i>default</i> <b>disable-all</b> or <b>disable</b> or <b>buildin</b> or <b>plugin</b>; see below
	<li> <i>dep</i> [optional] a single plugin name on which <i>plg</i> depends; multiple dep lines can be added
	<li> <i>conflict</i> [optional] a single plugin name on which <i>plg</i> conflicts with; multiple dep lines can be added
	<li> <i>autoload</i> [optional] when 1, the plugin is automatically loaded and initialized (when not disabled); do not set this on libs and other code that are accessible only as a dependency of other plugins; set this 1 on HID, io, import, export, feature plugins
</ul>
<p> Values of <i>default</i>:
<ul>
	<li> buildin - unless the user requests otherwise, your plugin is linked into the executable
	<li> plugin - unless the user requests otherwise, your plugin is dynamically linked; not recommended: the policy is to let users explicitly request dynamic linking
	<li> disable - unless the user requests otherwise, your plugin is not compiled (recommended until the plugin gets some user testing)
	<li> disable-all - the plugin stays disabled even with ./configure --all=* and the only way to enable it is to explicitly name it
</ul>

</body>
</html>