Use the gimptool program on Unix, too, instead of the gimptool script.

2007-11-16  Tor Lillqvist  <tml@novell.com>

	Use the gimptool program on Unix, too, instead of the gimptool
	script.

	* configure.in
	* Makefile.am: Drop gimptool script and gimptool-win32.c(.in)

	* tools/gimptool.c
	* tools/Makefile.am: Move gimptool-win32.c.in here and call it
	just gimptool.c. Build and install on all platforms.

	* tools/gimptool.c: Change accordingly.

	* doc/gimptool.1.in: Document the --msvc-syntax option.


svn path=/trunk/; revision=24178
This commit is contained in:
Tor Lillqvist 2007-11-16 21:37:20 +00:00 committed by Tor Lillqvist
parent f6efd04039
commit b96853bc5e
6 changed files with 89 additions and 41 deletions

View file

@ -1,3 +1,19 @@
2007-11-16 Tor Lillqvist <tml@novell.com>
Use the gimptool program on Unix, too, instead of the gimptool
script.
* configure.in
* Makefile.am: Drop gimptool script and gimptool-win32.c(.in)
* tools/gimptool.c
* tools/Makefile.am: Move gimptool-win32.c.in here and call it
just gimptool.c. Build and install on all platforms.
* tools/gimptool.c: Change accordingly.
* doc/gimptool.1.in: Document the --msvc-syntax option.
2007-11-16 Michael Natterer <mitch@gimp.org> 2007-11-16 Michael Natterer <mitch@gimp.org>
* app/gimp-log.[ch]: add HELP log domain. * app/gimp-log.[ch]: add HELP log domain.

View file

@ -29,7 +29,7 @@ SUBDIRS = \
devel-docs \ devel-docs \
docs docs
bin_SCRIPTS = gimptool-@GIMP_TOOL_VERSION@ @GIMPINSTALL@ bin_SCRIPTS = @GIMPINSTALL@
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = \ pkgconfig_DATA = \
@ -70,7 +70,6 @@ EXTRA_DIST = \
config.h.win32 \ config.h.win32 \
gimp-zip.in \ gimp-zip.in \
gimpdefs.msc \ gimpdefs.msc \
gimptool-win32.c.in \
intltool-extract.in \ intltool-extract.in \
intltool-merge.in \ intltool-merge.in \
intltool-update.in \ intltool-update.in \

View file

@ -1858,7 +1858,6 @@ _______EOF
]) ])
AC_CONFIG_FILES([ AC_CONFIG_FILES([
gimptool-win32.c
tools/Makefile tools/Makefile
tools/pdbgen/Makefile tools/pdbgen/Makefile
libgimp/Makefile libgimp/Makefile

View file

@ -8,7 +8,8 @@ gimptool\-2.0 - script to perform various GIMPy functions
.B gimptool\-2.0 .B gimptool\-2.0
[\-\-prefix\fI[=DIR]\fP] [\-\-exec\-prefix\fI[=DIR]\fP] [\-\-version] [\-\-prefix\fI[=DIR]\fP] [\-\-exec\-prefix\fI[=DIR]\fP] [\-\-version]
[\-\-help] [\-\-quiet] [\-\-silent] [\-n] [\-\-just-print] [\-\-dry-run] [\-\-help] [\-\-quiet] [\-\-silent] [\-n] [\-\-just-print] [\-\-dry-run]
[\-\-recon] [\-\-bindir] [\-\-sbindir] [\-\-libexecdir] [\-\-datadir] [\-\-recon] [\-\-msvc-syntax]
[\-\-bindir] [\-\-sbindir] [\-\-libexecdir] [\-\-datadir]
[\-\-sysconfdir] [\-\-sharedstatedir] [\-\-localstatedir] [-\-libdir] [\-\-sysconfdir] [\-\-sharedstatedir] [\-\-localstatedir] [-\-libdir]
[\-\-infodir] [\-\-mandir] [\-\-includedir] [\-\-gimpplugindir] [\-\-infodir] [\-\-mandir] [\-\-includedir] [\-\-gimpplugindir]
[\-\-gimpdatadir] [\-\-libs] [\-\-libs-noui] [\-\-cflags] [\-\-cflags-noi] [\-\-gimpdatadir] [\-\-libs] [\-\-libs-noui] [\-\-cflags] [\-\-cflags-noi]
@ -67,6 +68,11 @@ Test mode. Print the commands but don't actually execute them. Same as \-n.
.B \-\-recon .B \-\-recon
Test mode. Print the commands but don't actually execute them. Same as \-n. Test mode. Print the commands but don't actually execute them. Same as \-n.
.TP 8 .TP 8
.B \-\-msvc-syntax
Useful on Windows. Outputs the compiler and linker flags in the syntax
used by Microsoft's toolchain. Passed to the pkg-config command that
does most of \fIgimptool\-2.0\fP's work.
.TP 8
.B \-\-bindir .B \-\-bindir
Outputs the bindir used to install the \fIGIMP\fP. Outputs the bindir used to install the \fIGIMP\fP.
.TP 8 .TP 8

View file

@ -8,7 +8,7 @@ endif
SUBDIRS = $(D_pdbgen) SUBDIRS = $(D_pdbgen)
bin_PROGRAMS = $(GIMP_REMOTE) bin_PROGRAMS = $(GIMP_REMOTE) gimptool-2.0
noinst_PROGRAMS = test-clipboard noinst_PROGRAMS = test-clipboard
@ -25,6 +25,12 @@ gimp_remote_2_5_LDADD = \
$(GTK_LIBS) \ $(GTK_LIBS) \
$(LIBXMU) $(LIBXMU)
gimptool_2_0_SOURCES = \
gimptool.c
gimptool_2_0_LDADD = \
$(GTK_LIBS)
kernelgen_SOURCES = kernelgen.c kernelgen_SOURCES = kernelgen.c
test_clipboard_SOURCES = test-clipboard.c test_clipboard_SOURCES = test-clipboard.c
@ -34,7 +40,25 @@ test_clipboard_LDADD = \
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DGIMP_APP_VERSION=\"@GIMP_APP_VERSION@\" \ -DGIMP_APP_VERSION=\"@GIMP_APP_VERSION@\" \
-DLOCALEDIR=\""$(gimplocaledir)"\" -DLOCALEDIR=\""$(gimplocaledir)"\" \
-DPREFIX=\""$(prefix)"\" \
-DEXEC_PREFIX=\""$(exec_prefix)"\" \
-DBINDIR=\""$(bindir)"\" \
-DSBINDIR=\""$(sbindir)"\" \
-DLIBEXECDIR=\""$(libexecdir)"\" \
-DDATADIR=\""$(datadir)"\" \
-DDATAROOTDIR=\""$(datarootdir)"\" \
-DSYSCONFDIR=\""$(sysconfdir)"\" \
-DSHAREDSTATEDIR=\""$(sharedstatedir)"\" \
-DLOCALSTATEDIR=\""$(localstatedir)"\" \
-DLIBDIR=\""$(libdir)"\" \
-DINFODIR=\""$(infodir)"\" \
-DMANDIR=\""$(mandir)"\" \
-DGIMPPLUGINDIR=\""$(gimpplugindir)"\" \
-DGIMPDATADIR=\""$(gimpdatadir)"\" \
-DCC=\""$(CC)"\" \
-DGIMPDIR=\""$(gimpdir)"\" \
-DGIMP_PLUGIN_VERSION=\""$(GIMP_PLUGIN_VERSION)"\"
INCLUDES = \ INCLUDES = \
-I$(top_srcdir) \ -I$(top_srcdir) \

View file

@ -1,5 +1,5 @@
/* gimptool in C /* gimptool in C
* Copyright (C) 2001--2005 Tor Lillqvist * Copyright (C) 2001--2007 Tor Lillqvist
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -17,9 +17,11 @@
*/ */
/* /*
* Gimptool rewritten in C, primarily for Win32, where end-users who might * Gimptool rewritten in C, originally for Win32, where end-users who
* want to build and install a plug-in from source don't necessarily have * might want to build and install a plug-in from source don't
* any Bourne-compatible shell to run the gimptool script in. * necessarily have any Bourne-compatible shell to run the gimptool
* script in. Later fixed up to replace the gimptool script on all
* platforms.
* *
* Yes, this program leaks dynamically allocated strings without * Yes, this program leaks dynamically allocated strings without
* hesitation. So what, it runs only for a minimal time. * hesitation. So what, it runs only for a minimal time.
@ -31,6 +33,8 @@
#include <glib.h> #include <glib.h>
#include "libgimpbase/gimpversion.h"
static gboolean silent = FALSE; static gboolean silent = FALSE;
static gboolean dry_run = FALSE; static gboolean dry_run = FALSE;
static gchar *prefix; static gchar *prefix;
@ -60,27 +64,27 @@ static struct {
gchar *option; gchar *option;
gchar *value; gchar *value;
} dirs[] = { } dirs[] = {
{ "prefix", "@prefix@" }, { "prefix", PREFIX },
{ "exec-prefix", "@exec_prefix@" }, { "exec-prefix", EXEC_PREFIX },
{ "bindir", "@bindir@" }, { "bindir", BINDIR },
{ "sbindir", "@sbindir@" }, { "sbindir", SBINDIR },
{ "libexecdir", "@libexecdir@" }, { "libexecdir", LIBEXECDIR },
{ "datadir", "@datadir@" }, { "datadir", DATADIR },
{ "datarootdir", "@datarootdir@" }, { "datarootdir", DATAROOTDIR },
{ "sysconfdir", "@sysconfdir@" }, { "sysconfdir", SYSCONFDIR },
{ "sharedstatedir", "@sharedstatedir@" }, { "sharedstatedir", SHAREDSTATEDIR },
{ "localstatedir", "@localstatedir@" }, { "localstatedir", LOCALSTATEDIR },
{ "libdir", "@libdir@" }, { "libdir", LIBDIR },
{ "infodir", "@infodir@" }, { "infodir", INFODIR },
{ "mandir", "@mandir@" }, { "mandir", MANDIR },
#if 0 #if 0
/* For --includedir we want the includedir of the developer package, /* For --includedir we want the includedir of the developer package,
* not an includedir under the runtime installation prefix. * not an includedir under the runtime installation prefix.
*/ */
{ "includedir", "@includedir@" }, { "includedir", INCLUDEDIR },
#endif #endif
{ "gimpplugindir", "@gimpplugindir@" }, { "gimpplugindir", GIMPPLUGINDIR },
{ "gimpdatadir", "@gimpdatadir@" } { "gimpdatadir", GIMPDATADIR }
}; };
#ifdef G_OS_WIN32 #ifdef G_OS_WIN32
@ -160,7 +164,7 @@ get_runtime_prefix (gchar slash)
gchar *path; gchar *path;
char *p, *r; char *p, *r;
path = g_find_program_in_path ("gimp-@GIMP_APP_VERSION@.exe"); path = g_find_program_in_path ("gimp-" GIMP_APP_VERSION ".exe");
if (path == NULL) if (path == NULL)
path = g_find_program_in_path ("gimp.exe"); path = g_find_program_in_path ("gimp.exe");
@ -189,7 +193,7 @@ get_runtime_prefix (gchar slash)
} }
} }
fprintf (stderr, "Cannot determine GIMP @GIMP_APP_VERSION@ installation location\n"); fprintf (stderr, "Cannot determine GIMP " GIMP_APP_VERSION " installation location\n");
exit (1); exit (1);
#else #else
/* On Unix assume the executable package is in the same prefix as the developer stuff */ /* On Unix assume the executable package is in the same prefix as the developer stuff */
@ -210,7 +214,7 @@ get_exec_prefix (gchar slash)
*/ */
return (exec_prefix = get_runtime_prefix (slash)); return (exec_prefix = get_runtime_prefix (slash));
#else #else
return "@exec_prefix@"; return EXEC_PREFIX;
#endif #endif
} }
@ -218,14 +222,14 @@ static gchar *
expand_and_munge (gchar *value) expand_and_munge (gchar *value)
{ {
if (starts_with_dir (value, "${prefix}")) if (starts_with_dir (value, "${prefix}"))
value = g_strconcat ("@prefix@", value + strlen ("${prefix}"), NULL); value = g_strconcat (PREFIX, value + strlen ("${prefix}"), NULL);
else if (starts_with_dir (value, "${exec_prefix}")) else if (starts_with_dir (value, "${exec_prefix}"))
value = g_strconcat ("@exec_prefix@", value + strlen ("${exec_prefix}"), NULL); value = g_strconcat (EXEC_PREFIX, value + strlen ("${exec_prefix}"), NULL);
if (starts_with_dir (value, "@exec_prefix@")) if (starts_with_dir (value, EXEC_PREFIX))
value = g_strconcat (get_exec_prefix ('/'), value + strlen ("@exec_prefix@"), NULL); value = g_strconcat (get_exec_prefix ('/'), value + strlen (EXEC_PREFIX), NULL);
if (starts_with_dir (value, "@prefix@")) if (starts_with_dir (value, PREFIX))
value = g_strconcat (get_runtime_prefix ('/'), value + strlen ("@prefix@"), NULL); value = g_strconcat (get_runtime_prefix ('/'), value + strlen (PREFIX), NULL);
return value; return value;
} }
@ -240,7 +244,7 @@ find_out_env_flags (void)
else if (msvc_syntax) else if (msvc_syntax)
env_cc = "cl -MD"; env_cc = "cl -MD";
else else
env_cc = "@CC@"; env_cc = CC;
if (g_ascii_strncasecmp (env_cc, "cl", 2) == 0) if (g_ascii_strncasecmp (env_cc, "cl", 2) == 0)
msvc_syntax = TRUE; msvc_syntax = TRUE;
@ -512,7 +516,7 @@ get_user_plugin_dir (gboolean forward_slashes)
const gchar slash = '/'; const gchar slash = '/';
#endif #endif
return g_strdup_printf ("%s%c@gimpdir@%cplug-ins", return g_strdup_printf ("%s%c" GIMPDIR "%cplug-ins",
g_get_home_dir (), slash, slash); g_get_home_dir (), slash, slash);
} }
@ -543,7 +547,7 @@ get_sys_plugin_dir (gboolean forward_slashes)
const gchar slash = '/'; const gchar slash = '/';
#endif #endif
return g_strdup_printf ("%s%clib%cgimp%c@GIMP_PLUGIN_VERSION@%cplug-ins", return g_strdup_printf ("%s%clib%cgimp%c" GIMP_PLUGIN_VERSION "%cplug-ins",
get_runtime_prefix (slash), get_runtime_prefix (slash),
slash, slash, slash, slash); slash, slash, slash, slash);
} }
@ -626,7 +630,7 @@ get_user_script_dir (gboolean forward_slashes)
const gchar slash = '/'; const gchar slash = '/';
#endif #endif
return g_strdup_printf ("%s%c@gimpdir@%cscripts", return g_strdup_printf ("%s%c" GIMPDIR "%cscripts",
g_get_home_dir (), slash, slash); g_get_home_dir (), slash, slash);
} }
@ -648,7 +652,7 @@ get_sys_script_dir (gboolean forward_slashes)
return g_strdup_printf ("%s%cshare%cgimp%c%d.%d%cscripts", return g_strdup_printf ("%s%cshare%cgimp%c%d.%d%cscripts",
get_runtime_prefix (slash), get_runtime_prefix (slash),
slash, slash, slash, slash, slash, slash,
@GIMP_MAJOR_VERSION@, @GIMP_MINOR_VERSION@, GIMP_MAJOR_VERSION, GIMP_MINOR_VERSION,
slash); slash);
} }
@ -717,7 +721,7 @@ main (int argc,
silent = TRUE; silent = TRUE;
else if (strcmp (argv[argi], "--version") == 0) else if (strcmp (argv[argi], "--version") == 0)
{ {
printf ("%d.%d.%d\n", @GIMP_MAJOR_VERSION@, @GIMP_MINOR_VERSION@, @GIMP_MICRO_VERSION@); printf ("%d.%d.%d\n", GIMP_MAJOR_VERSION, GIMP_MINOR_VERSION, GIMP_MICRO_VERSION);
exit (0); exit (0);
} }
else if (strcmp (argv[argi], "-n") == 0 || else if (strcmp (argv[argi], "-n") == 0 ||