tp-magic-config - Helps creating 'Magic' tool plugins for Tux Paint(1)

NAME  SYNOPSYS  DESCRIPTION  OPTIONS  SYSTEM-WIDE SHELL EXAMPLES  LOCAL SHELL EXAMPLES  SYSTEM-WIDE MAKEFILE EXAMPLE  AUTHOR  SEE ALSO 

NAME

tp-magic-config -- Helps creating ’Magic’ tool plugins for Tux Paint(1)

SYNOPSYS

tp-magic-config [−−apiversion | −−version | −−cflags | −−pluginprefix |
−−plugindocprefix | −−dataprefix | −−localpluginprefix |
−−localdataprefix]

DESCRIPTION

tp-magic-config is a simple shell script that responds with various pieces of information about the currently-installed version of Tux Paint(1) that are useful when building ’Magic’ tool plugins.

OPTIONS

−−apiversion

Outputs the version of the Tux Paint ’Magic’ tool plugin API that the installed copy of Tux Paint supports. (For API compatibility testing.)

−−version

Outputs the version of Tux Paint that tp-magic-config corresponds to.

−−cflags

Outputs the compiler flags that Tux Paint ’Magic’ tool plugins should be compiled with. (For example, a "−I" include path option that tells the compiler where it can find the plugin API header file, "tp_magic_config.h", that plugins must #include.)

−−pluginprefix

Outputs the system directory where the installed copy of Tux Paint expects to find ’Magic’ tool plugins (".so" shared objects). (e.g., "/usr/share/tuxpaint/plugins")

−−localpluginprefix

Outputs the user directory where the installed copy of Tux Paint expects to find ’Magic’ tool plugins (".so" shared objects). (e.g., "/home/username/.tuxpaint/plugins")

−−plugindocprefix

Outputs the directory where the installed copy of Tux Paint expects to find documentation for ’Magic’ tool plugins (".html" and ".txt" files). Tux Paint’s main documentation includes a link to this directory under the section on "Magic" tools.

−−dataprefix

Outputs the system directory where the installed copy of Tux Paint keeps its global data files (e.g., "/usr/share/tuxpaint/"). This is the same value that plugins installed system-wide will receive in the "data_directory" string within the "magic_api" structure sent to the plugins’ functions.

−−localdataprefix

Outputs the user directory where the installed copy of Tux Paint expects plugins to install their local data files. (e.g., "/home/username/.tuxpaint/plugins/data"). This is the same value that plugins installed locally will receive in the "data_directory" string within the "magic_api" structure sent to the plugins’ functions.

SYSTEM-WIDE SHELL EXAMPLES

$ gcc -shared ‘tp-magic-config --cflags‘ my_plugin.c -o my_plugin.so
# cp my_plugin.so ‘tp-magic-config −−pluginprefix‘
# cp my_plugin_icon.png ‘tp-magic-config −−dataprefix‘/images/magic
# cp my_plugin.html ‘tp-magic-config −−plugindocrefix‘/html
# cp my_plugin.txt ‘tp-magic-config −−plugindocrefix‘

LOCAL SHELL EXAMPLES

$ gcc -shared ‘tp-magic-config --cflags‘ my_plugin.c -o my_plugin.so
$ mkdir -p ‘tp-magic-config −−localpluginprefix‘
$ cp my_plugin.so ‘tp-magic-config −−localpluginprefix‘
$ mkdir -p ‘tp-magic-config −−localdataprefix‘/images/magic
$ cp my_plugin_icon.png ‘tp-magic-config −−localdataprefix‘/images/magic

SYSTEM-WIDE MAKEFILE EXAMPLE

MAGIC_CFLAGS=$(shell tp-magic-config --cflags)
MAGIC_PREFIX=$(shell tp-magic-config --pluginprefix)
MAGIC_DOC_PREFIX=$(shell tp-magic-config --plugindocprefix)
DATA_PREFIX=$(shell tp-magic-config --dataprefix)

all: my_plugin.so

my_plugin.so: my_plugin.c

install: install-so install-data install-docs

install-so:

mkdir -p $(MAGIC_PREFIX)

cp my_plugin.so $(MAGIC_PREFIX)/

chmod 644 $(MAGIC_PREFIX)/my_plugin.so

install-data:

mkdir -p $(DATA_PREFIX)

cp icons/my_plugin_icon.png $(DATA_PREFIX)/images/magic/

chmod 644 $(DATA_PREFIX)/images/magic/my_plugin_icon.png

install-docs:

mkdir -p $(MAGIC_DOC_PREFIX)

cp docs/my_plugin.html $(MAGIC_DOC_PREFIX)/html/

chmod 644 $(MAGIC_DOC_PREFIX)/html/my_plugin.html

cp docs/my_plugin.txt $(MAGIC_DOC_PREFIX)/

chmod 644 $(MAGIC_DOC_PREFIX)/my_plugin.txt

AUTHOR

Bill Kendrick. <[email protected]>

SEE ALSO

tuxpaint(1),

And documentation within /usr/[local/]share/doc/tuxpaint/.


Updated 2024-01-29 - jenkler.se | uex.se