I am going to forbid plug-ins from being installed directly in the root
of the plug-ins/ directory. They will have to be installed in a
subdirectory named the same as the entry point binary.
This may seem useless for our core plug-ins which are nearly all
self-contained in single binaries, but this is actually a necessary
restriction to eliminate totally the DLL hell issue on Windows. Moving
core plug-ins in subfolders is only a necessary consequence for it.
Last commit caused -xobjective-c to be passed during linking on
Mac, causing object files to be treated as source files. Add a
-xnone flag to AM_LDFLAGS, canceling the effect of -xobjective-c.
Additinally, add a -xobjective-c++ flag to AM_CXXFLAGS, so that we
can use Objective-C in C++ files on Mac, if we ever need to.
On Mac, pass -xobjective-c to the compiler through AM_CFLAGS, not
AM_CPPFLAGS, so that it's only used for C sources, and not C++
sources. In the latter case, it clashes with the -std=... flag,
spewing an error. Thanks, Partha :)
The tinyscheme static library uses math functions, ensure that libm is
linked where necessary (#659586, original patch by Vincent Untz,
modified)
cherry-picked from commit 7df2cb45b3 in
the gimp-2-6 branch.
Add a "check-for-deprecated-procedures-in-script-fu" make target that
looks for usage of deprecated procedures in *.scm files. We currently
use quite a bit of deprecated procedures. When we don't do that
anymore, we should connect this to make check somehow so our nightly
build fails if someone deprecated a procedures without also porting
all clients.
Run it like this from the source root:
make -C plug-ins/script-fu check-for-deprecated-procedures-in-script-fu
Created a resource file for plug-ins and a rule to link it to them.
The application icon file is smaller than the default one, there's no
point in doubling the size of a plug-in executable just for an icon.
If no problems turn up, this will close the bug.
2008-09-17 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-types.h: add struct SFArg which
keeps all a script argument's type, label, value and default
value.
(struct SFScript): replace separate arrays of type, label etc. by
one array of SFArg. Remove array of GimpParamDef because they are
only needed while registering the temp proc.
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-script.[ch]: new files implementing
script_fu_script_new(), script_fu_script_free(),
script_fu_script_register_proc() and
script_fu_script_unregister_proc().
* plug-ins/script-fu/script-fu-scripts.c: remove lots of code now
implemented in script-fu-script.c. Changed stuff according to the
introduction of SFArg. Moved variables to local scopes. Most
changes are in script_fu_add_script(), almost every line changed
and it's hopefully more readable now. Lots of cleanup all over the
place.
* plug-ins/script-fu/script-fu-interface.c: changed stuff
according to the introduction of SFArg
svn path=/trunk/; revision=26978
2008-09-11 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/re/*: removed....
* plug-ins/script-fu/script-fu-regex.[ch]: and replaced with a
few-liner using GRegex. Seems to have some issues that need to be
sorted out.
* plug-ins/script-fu/scheme-wrapper.c: changed accordingly.
svn path=/trunk/; revision=26921
2007-05-25 Kevin Cozens <kcozens@cvs.gnome.org>
* plug-ins/script-fu/Makefile.am: Missed commit of this file.
* plug-ins/script-fu/scheme-wrapper.h:
* plug-ins/script-fu/scheme-wrapper.c (ts_output_string): Updated
to expect a 'const char *' and an int but no file pointer.
* plug-ins/script-fu/tinyscheme/scheme.c:
* plug-ins/script-fu/tinyscheme/scheme.h: Changes due to use of
'const char *' for ts_output_routine.
svn path=/trunk/; revision=22620
2006-11-02 Kevin Cozens <kcozens@cvs.gnome.org>
* plug-ins/script-fu/Makefile.am: Removed USE_STRCASECMP. Use the
setting for USE_STRLWR that is used in TinyScheme.
* plug-ins/script-fu/tinyscheme/Makefile.am: Removed USE_STRCASECMP.
* plug-ins/script-fu/tinyscheme/scheme.c
* plug-ins/script-fu/tinyscheme/scheme.h: Added missing SCHEME_EXPORT
to a couple of function declarations. Eliminated USE_STRCASECMP by
using internal UTF8 string comparison routine.
* plug-ins/script-fu/tinyscheme/scheme-private.h: Stop some compiler
warnings.
2006-10-15 Kevin Cozens <kcozens@cvs.gnome.org>
With this commit we finally say goodbye to SIOD. This large set of
changes updates the Script-Fu plug-in to use the TinyScheme Scheme
interpreter. These changes originated with changes originally made
to Script-Fu which created Tiny-Fu (aka. the gimp-tiny-fu module).
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-scripts.h
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu-text-console.c
* plug-ins/script-fu/script-fu.c: Updated with the changes made to
these files as part of the work on the Tiny-Fu project.
* plug-ins/script-fu/scheme-wrapper.c
* plug-ins/script-fu/scheme-wrapper.h: Renamed from siod-wrapper.[ch]
and updated based on differences to ts-wrapper.[ch] from gimp-tiny-fu.
* plug-ins/script-fu/ftx/*
* plug-ins/script-fu/re/*
* plug-ins/script-fu/tinyscheme/*
* plug-ins/script-fu/scripts/script-fu.init
* plug-ins/script-fu/scripts/script-fu-compat.init
* plug-ins/script-fu/scripts/contactsheet.scm
* plug-ins/script-fu/scripts/script-fu-set-cmap.scm
* plug-ins/script-fu/scripts/script-fu-util-setpt.scm
* plug-ins/script-fu/scripts/ts-helloworld.scm: Added all of these
files and directories from Tiny-Fu. Updated the Makefile.am files
of ftx, re, and tinyscheme now they are in the GIMP source tree.
* plug-ins/script-fu/scripts/*.scm: All scripts have been updated as
needed to ensure they will work with the TinyScheme interpreter. Most
of the files have been reformatted making it easier to see the syntax
of Scheme and making them easier to read.
* plug-ins/script-fu/scripts/Makefile.am: Updated script file lists.
* plug-ins/script-fu/siod-wrapper.c
* plug-ins/script-fu/siod-wrapper.h
* plug-ins/script-fu/siod/*: Removed obsolete files.
* configure.in: Updated list of files in AC_CONFIG_FILES. Changed
--disable-script-fu to --without-script-fu which it should have
been when originally added.
* INSTALL: Updated to show change to --without-script-fu.
2005-05-13 Tor Lillqvist <tml@novell.com>
* configure.in: Don't bother looking for fd_set on Win32, we won't
find it in sys/types.h or (the nonexistent) sys/select.h
anyway. (It's in winsock2.h.)
* plug-ins/common/xpm.c: Include gdkconfig.h for GDK_WINDOWING_WIN32.
* plug-ins/script-fu/script-fu-server.c: Give it a chance to work
on Win32 by covering for the differences between the WinSock and
Unix socket APIs. Use recv() and send() instead of read() and
write() on sockets. On Win32, use closesocket() for sockets
instead of close(). Don't use perror() or look at errno after
socket API errors on Win32. No EINTR failure mode with WinSock 2.
(print_socket_api_error): New function. On Unix, just call
perror(). On Win32, call WSAGetLastError() and produce an
appropriate error message on stderr.
* plug-ins/script-fu/Makefile.am (WINSOCK_LIBS): Link with the
winsock2 library, as we compile with the winsock2 header.
2004-11-17 Manish Singh <yosh@gimp.org>
* plug-ins/dbbrowser/Makefile.am: make libgimpprocbrowser a libtooled
library.
* plug-ins/dbbrowser/gimpprocbrowser.[ch]: add a user_data pointer
for GimpProcBrowserApplyCallback.
* plug-ins/dbbrowser/gimpprocbrowser.c: only convert the name to
scheme style if scheme_names in the proc info pane too.
* plug-ins/dbbrowser/procedure-browser.c
* plug-ins/script-fu/script-fu-console.c: pass NULL as user_data.
* plug-ins/script-fu/Makefile.am: reference libgimpprocbrowser.la.
* plug-ins/pygimp/Makefile.am
* plug-ins/pygimp/procbrowser.c: new module, which wraps
libgimprocbrowser.
* plug-ins/pygimp/gimpmodule.c
* plug-ins/pygimp/pygimp.h
* plug-ins/pygimp/pygimp-pdb.c: export GimpPDBFunction so other
modules can use it.
* plug-ins/pygimp/plug-ins/pdbbrowse.py
* plug-ins/pygimp/plug-ins/gimpcons.py: use gimpprocbrowser.
2004-10-25 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: register some missing enums.
* tools/pdbgen/enumcode.pl: removed code to generate
plug-ins/script-fu/script-fu-constants.c, generate code to
explicitely initialize and query all of libgimp*'s enums
and write it to libgimp/gimpenums.c.tail
* libgimp/gimpenums.h: regenerated.
* libgimp/Makefile.am: append gimpenums.c.tail to gimpenums.c
* libgimp/gimp.c (gimp_main): call g_type_init() and
_gimp_enums_init().
* libgimp/gimp.def: added gimp_enums_get_type_names().
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-constants.[ch]: removed these files.
* plug-ins/script-fu/siod-wrapper.c: dynamically register all
constants using gimp_enums_get_type_names() and introspection.
Also register the built-in unit types.
* plug-ins/script-fu/script-fu.c: changed accordingly.
2004-10-03 Michael Schumacher <schumaml@gmx.de>
* plug-ins/dbbrowser/Makefile.am
* plug-ins/script-fu/Makefile.am: moved the libgimpprocbrowser to
the beginning of LDADD
2004-09-30 Michael Natterer <mitch@gimp.org>
Cleaned up the DB Browser and Plugin Details code and GUI. It's
not perfect yet but at least they don't look like crap any more.
Fixes bug #131490.
* plug-ins/common/plugin-defs.pl
* plug-ins/common/plugindetails.c: removed this plugin.
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am: regenerated.
* plug-ins/dbbrowser/Makefile.am
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/dbbrowser/dbbrowser_utils.[ch]: removed these files.
* plug-ins/dbbrowser/gimpprocbrowser.[ch]
* plug-ins/dbbrowser/gimpprocview.[ch]: new cleaned up files.
* plug-ins/dbbrowser/plugin-browser.c: the former plugindetails.
* plug-ins/dbbrowser/procedure-browser.c: the former dbbrowser.
* plug-ins/script-fu/Makefile.am: link against the new library
libgimpprocbrowser.a
* plug-ins/script-fu/script-fu-console.c: changed #includes
accordingly. Monir cleanup.
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): fixed menu_path
return value. Was broken since the plug-in menu registering
changes.
* app/pdb/plug_in_cmds.c: regenerated.
2004-09-21 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-server.c: enabled build of the
Script-Fu server for the Win32 platform using the winsock API.
* plug-ins/script-fu/Makefile.am: link with -lwsock32 on Win32.
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/siod-wrapper.c: removed Win32 specific code
that isn't needed any longer.
2004-08-31 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.[ch]: removed the GUI code...
Also did some minor cleanups.
* plug-ins/script-fu/script-fu-interface.[ch]: ...and added it here.
* plug-ins/script-fu/script-fu-types.h: new file keeping the
various struct defs needed by both the above files.
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/siod-wrapper.c: changed accordingly.
2004-07-30 Sven Neumann <sven@gimp.org>
Applied a bunch of small changes contributed by Tim Mooney that fix
stack corruption on Tru64 and Aix (bug #129867).
* app/Makefile.am
* plug-ins/script-fu/Makefile.am: changed the dependency order so
that $(REGEXREPL) is linked earlier.
* regexrepl/regex.[ch]: fixed check for __STDC__, merged upstream
fix for re_max_failures value.
2004-01-21 Manish Singh <yosh@gimp.org>
* configure.in: modernized, made a lot of things m4 macros, and made
versioning a lot more finegrained, in anticipation for post-2.0.
* autogen.sh: bumped up libtool and glib minimum requirements to match
reality.
* gimp-2.0.pc.in
* gimpthumb-2.0.pc.in
* gimpui-2.0.pc.in: adapted to new versioning variables, and bring
in RT_LIBS when needed.
* */*/Makefile.am: adapted to new versioning variables.
2002-06-08 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/paint-funcs/Makefile.am: automake-1.6 seems to use yet another
variable to pass flags to the assembler (bug #84514). Define
AM_CCASFLAGS like AM_ASFLAGS to satisfy all versions of automake.
* configure.in
* all Makefiles: removed STRIP_BEGIN and STRIP_END since it's a
GNU make extension that we don't really need and newer versions of
automake don't seem to like it.
2002-05-30 Sven Neumann <sven@gimp.org>
* configure.in: check for extra libraries needed for inet_ntoa() and
socket() and define them as SOCKET_LIBS.
* plug-ins/script-fu/Makefile.am (LDADD): added SOCKET_LIBS.
2002-05-11 Sven Neumann <sven@gimp.org>
* libgimp/stdplugins-intl.h
* plug-ins/script-fu/script-fu-intl.h: use the new function
gimp_locale_directory() instead of LOCALEDIR.
* app/Makefile.am
* plug-ins/*/Makefile.am: removed LOCALEDIR definition.
2001-09-27 Sven Neumann <sven@gimp.org>
* HACKING
* Makefile.am
* acconfig.h
* autogen.sh
* configure.in: use AM_GLIB_GNU_GETTEXT. Since glib and GTK+ rely on
gettext being available, we don't need to ship with the option to use
an included implementation. The intl subdirectory will not be created
anymore. Had to put the old sed hacks back in that create Makefiles
from Makefile.in in the extra po directories.
* almost all Makefile.am: removed $(top_srcdir)/intl from INCLUDES.
* app/main.c
* libgimp/stdplugins-intl.h
* plug-ins/perl/Gimp.xs
* plug-ins/script-fu/script-fu-intl.h: changed package names to
gimp14* so the po files don't clash with gimp12.
2001-07-17 Mathieu Lacage <mathieu@gnome.org>
* app/batch.c: new code to call the script_fuc_text_console pdb function.
* app/main.c: (main): remove batch command code.
* plug-ins/script-fu/Makefile.am: add siod-wrapper.h/c
* plug-ins/script-fu/script-fu-console.c:
(script_fu_cc_key_function),
(script_fu_open_siod_console),
(script_fu_close_siod_console):
* plug-ins/script-fu/script-fu-scripts.h:
* plug-ins/script-fu/script-fu-server.c:
(script_fu_server_quit),
(script_fu_server_get_mode),
(execute_command):
Replace all direct calls to the scheme interpreter with calls to the siod-wrapper.
* plug-ins/script-fu/script-fu-console.h: remove run_eval.
* plug-ins/script-fu/script-fu-server.h:
* plug-ins/script-fu/script-fu-text-console.c:
(script_fu_text_console_run),
(read_command),
(script_fu_text_console_interface):
The actual new text console.
* plug-ins/script-fu/script-fu-text-console.h: header.
* plug-ins/script-fu/script-fu.c:
(script_fu_quit),
(script_fu_query),
(script_fu_run): rename to better words.
move most of the code to siod-wrapper.c/h
* plug-ins/script-fu/siod-wrapper.c:
(siod_get_output_file),
(siod_set_output_file),
(siod_get_verbose_level),
(siod_set_verbose_level),
(siod_print_welcome),
(siod_interpret_string),
(siod_get_error_msg),
(siod_get_success_msg),
(siod_init),
(init_procedures),
(init_constants),
(convert_string),
(sputs_fcn),
(lprin1s),
(marshall_proc_db_call),
(script_fu_register_call),
(script_fu_quit_call):
All the funcitons dealing with the internals of the scheme interpreter.
* plug-ins/script-fu/siod-wrapper.h: the header.
2001-06-07 Michael Natterer <mitch@gimp.org>
* configure.in: added zh_TW.Big5 to ALL_LINGUAS. Added the
STRIP_BEGIN and STRIP_END macros from gtk+.
* app/base/makefile.msc: unmodified copy of app/core/makefile.msc
(just to make "make dist" work).
* */Makefile.am: use @STRIP_BEGIN@ and @STRIP_END@ all over the
place. The Makefiles are a bit uglier now but it makes compiling
output much more readable.
2001-05-21 Michael Natterer <mitch@gimp.org>
* Makefile.am
* configure.in
* gimptool-1.4.in: added new directory libgimpbase/
* app/Makefile.am: link against the new lib.
* app/appenums.h: removed the PDB enums which are in
libgimpbase/gimpbasetypes.h now. They are all "Gimp" prefixed.
* app/apptypes.h: #include "libgimpbase/gimpbasetypes.h"
* app/[lots]
* app/core/[of]
* app/gui/[files]
* app/tools/: changed includes and all PDB types.
* app/pdb/*: regenerated.
* libgimp/Makefile.am: don't build libgimpi.a uglyness any more.
* libgimp/gimpenv.[ch]
* libgimp/gimplimits.[hh]
* libgimp/gimpparasite.[ch]
* libgimp/gimpparasiteio.[ch]
* libgimp/gimpprotocol.[ch]
* libgimp/gimpsignal.[ch]
* libgimp/gimpunit.h
* libgimp/gimputils.[ch]
* libgimp/gimpwire.[ch]: removed...
* libgimpbase/*: ...and added here as new library.
* libgimp/gimp.[ch]
* libgimp/gimpdrawable.[ch]
* libgimp/gimpenums.h
* libgimp/gimpimage.[ch]
* libgimp/gimptile.c
* libgimp/gimptypes.h
* libgimp/gimpunit.c: changed accordingly. Added the
gimp_*_add_new_parasite to gimp.[ch], gimpdrawable.[ch] and
gimpimage.[ch].
* libgimpwidgets/gimppatheditor.c
* libgimpwidgets/gimpquerybox.c
* libgimpwidgets/gimpsizeentry.c
* libgimpwidgets/gimpunitmenu.c
* libgimpwidgets/gimpwidgets.c
* libgimpwidgets/gimpwidgetstypes.h: changed includes accordingly.
* plug-ins/*/Makefile.am
* plug-ins/common/mkgen.pl: link against libgimpbase.
* tools/pdbgen/Makefile.am: scan libgimpbase/gimpbasetypes.h, so
the enums are known to pdbgen...
* tools/pdbgen/enumcode.pl: ...but don't write them out to
libgimp/gimpenums.h
* tools/pdbgen/app.pl: include libgimp/gimpbase.h in all *_cmds.c
files. Added GIMP_ to the type names ganerated in app/.
* tools/pdbgen/enums.pl: regenerated.
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/procedural_db.pdb
* tools/pdbgen/pdb/unit.pdb: changed includes.
2001-05-20 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* plug-ins/script-fu/Makefile.am: put the regex and MMX sources to
EXTRA_DIST so they get distributed unconditionally.
* tools/pdbgen/pdb/layer.pdb: re-enabled the layer_mask procs but
let them use accessors (which don't exist)...
* app/pdb/pdb_glue.h: ... #define the accessors as macros here.
Yes, this is ugly, but I simply don't fully understand pdbgen
yoshcode.
* app/pdb/internal_procs.c
* app/pdb/layer_cmds.c
* libgimp/gimplayer_pdb.[ch]: regenerated with the layer_mask
accessors.
* app/tools/Makefile.am: add the files which are not built to
EXTRA_DIST.
* pixmaps/Makefile.am
* pixmaps/channel.xbm
* pixmaps/eye.xbm
* pixmaps/layer.xbm
* pixmaps/linked.xbm
* pixmaps/mask.xbm: removed.
* plug-ins/Makefile.am: build XJT again because the layer_mask
stuff is back. Perl also seems to build again.
* plug-ins/common/aa.c: explicit casting fixes some warnings.
* plug-ins/script-fu/interp_regex.c: #include "config.h".
2001-02-25 Michael Natterer <mitch@gimp.org>
* app/channel_ops.c
* app/channels_dialog.c
* app/commands.c
* app/floating_sel.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/layer_select.c
* app/layers_dialog.c
* app/undo.c
* app/xcf.c
* app/tools/move.c: remove direct access of gimage->active_layer and
gimage->active_channel. Reading access is of course harmless, but
gimp_image_set_active_blah() will trigger a signal emission soon.
It will probably be neccessary to change the functions to accept
NULL layers and channels to acheive exactly what weird places like
floating_sel.c did before by setting it directly.
* gimptool-1.4.in
* libgimp/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpwidgets/Makefile.am
* plug-ins/libgck/gck/Makefile.am: made linking against stable
GIMP installed in the same prefix work again by renaming all our
libraries explicitly to libgimp<foo>-1.3.* (not as part of the
libtool revision but as part of the library name). Removed the
libtool revision to avoid double versioning. This has to be
hardcoded in the libraries' Makefile.am ...
* app/Makefile.am
* plug-ins/FractalExplorer/Makefile.am
* plug-ins/Lighting/Makefile.am
* plug-ins/MapObject/Makefile.am
* plug-ins/bmp/Makefile.am
* plug-ins/common/Makefile.am
* plug-ins/common/mkgen.pl
* plug-ins/dbbrowser/Makefile.am
* plug-ins/faxg3/Makefile.am
* plug-ins/fits/Makefile.am
* plug-ins/flame/Makefile.am
* plug-ins/fp/Makefile.am
* plug-ins/gap/Makefile.am
* plug-ins/gdyntext/Makefile.am
* plug-ins/gfig/Makefile.am
* plug-ins/gflare/Makefile.am
* plug-ins/gfli/Makefile.am
* plug-ins/gimpressionist/Makefile.am
* plug-ins/helpbrowser/Makefile.am
* plug-ins/ifscompose/Makefile.am
* plug-ins/imagemap/Makefile.am
* plug-ins/maze/Makefile.am
* plug-ins/mosaic/Makefile.am
* plug-ins/pagecurl/Makefile.am
* plug-ins/plugin-helper/Makefile.am
* plug-ins/print/Makefile.am
* plug-ins/rcm/Makefile.am
* plug-ins/script-fu/Makefile.am
* plug-ins/sel2path/Makefile.am
* plug-ins/sgi/Makefile.am
* plug-ins/webbrowser/Makefile.am
* plug-ins/xjt/Makefile.am: ... while all other Makefiles can simply
link against "libgimp<foo>-$(LT_REVISION).la"