


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


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 compat-
               ibility testing.)

       --version
               Outputs  the  version  of Tux Paint that tp-magic-config corre-
               sponds 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/tux-
               paint/"). 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.



2007.08.07                07 August 2007                        1





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


       --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     --localdatapre-
       fix`/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)/



2007.08.07                07 August 2007                        2





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


            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/.













































2007.08.07                07 August 2007                        3


