Scroll to navigation

TP-MAGIC-CONFIG(1) tp-magic-config TP-MAGIC-CONFIG(1)

NAME

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

SYNOPSIS

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

Outputs the version of the Tux Paint 'Magic' tool plugin API that the installed copy of Tux Paint supports. (For API compatibility testing.)
Outputs the version of Tux Paint that tp-magic-config corresponds to.
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.)
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")
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")
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.
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.
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. <bill@newbreedsoftware.com>

SEE ALSO

tuxpaint(1),

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

07 August 2007 2007.08.07