Tor Lillqvist (tml)
GIMP Pages --
Windows port
|
Redistribution on other web sites, CD-ROM etc
You are welcome to redistribute the GIMP on other web sites, CD-ROM,
and other media. You don't have to ask for permission. That's one of
the points of Free Software. One important thing that the GNU license
requires is that you must also redistribute the source
code. This means the gettext, GIMP, GLib, and GTK+ (1.3.0 or 2.2.4)
sources from this site (ftp.gtk.org is the same site as this).
Installer
There is a GIMP installer that contains the appropriate stuff from
these zipfiles (or relatevely fresh previous versions) at http://www2.arnes.si/~sopjsimo/gimp/.
That installer is created by Jernej Simoncic, so
please ask him about problems with it.
Prebuilt binary packages, developer packages, and source
These packages are for experienced GIMP and Windows users, and for
people who develop software that use GLib and/or GTK. The binaries
(DLLs and executables) in these packages are not for the Cygwin
environment. They use the MSVCRT runtime. The files included in
these zip archives are not compatible with, or drop-in replacements
for, the stuff used in the GIMP for Windows from December 2000.
(For Cygwin builds of GTK etc, check out Masahiro Sakai's
site.)
Below are runtime and developer packages. The runtime packages
include DLLs, auxiliary executables, and configuration files needed at
runtime. The developer packages include import libraries, headers,
developer tool executables, pkg-config files, and documentation.
Unzip those of the files below that you need into some directory of
your choice. Let's call that directory top. Then add
top\bin and top\lib to your PATH. How
to do this depends on your Windows version. For NT and 2k, use the
Control Panel's System tool.
Install in a fresh location!
Because many of the DLLs now install in a different location (in the
bin subdirectory instead of lib, because of changes
in GNU libtool), in order to avoid much confusion, it is best to
install the stuff from the zipfiles below in a totally new
directory. Remove the old installation location's bin and
lib directories from your PATH.
pkg-config
pkg-config is a replacement for the glib-config and gtk-config
scripts that previously were used on Unix. (No such scripts were
included in my Windows port, though.)
You can use the pkg-config command in your makefiles like this:
GLIB_CFLAGS=`pkg-config --cflags glib-2.0`
GLIB_LIBS=`pkg-config --libs glib-2.0`
...
foobar.exe : $(FOOBAR_OBJS)
$(CC) -o $@ $(FOOBAR_OBJS) $(GLIB_LIBS)
Etc. That only works with a Unixish Make and especially with a
command interpreter (shell) that understands backquotes. (I hope you
notice those backquotes in the above Makefile snippet, and understand
what they mean. If you don't, educate yourself.)
I advise not to use a directory with spaces or other funny
character in the name as top. Otherwise you will get problems
when using pkg-config output in makefiles.
If you are a MSVC user and use nmake, it's a bit more
complicated. nmake (or the standard Windows command interpreter it
uses, command.com or cmd.exe) doesn't support backquotes. You must run
pkg-config manually with the switch --msvc-syntax, and paste
its output into your nmake makefile.
On NT/2k/XP, it is possible to have nmake create temporary files
containing the output from pkg-config, and use those in a nmake
makefile like this:
foobar.exe: foobar.obj __gtk_libs.mak
cl -MD foobar.obj @__gtk_libs.mak
@del __gtk_libs.mak
foobar.obj: foobar.c __gtk_cflags.mak
cl -MD -c @__gtk_cflags.mak foobar.c
@del __gtk_cflags.mak
__gtk_cflags.mak:
pkg-config --msvc-syntax --cflags gtk+-2.0 >$@
__gtk_libs.mak:
for /F "delims==" %i in ('pkg-config --msvc-syntax --libs gtk+-2.0') \
do echo /link %i >$@
Note in the above makefile fragment that the
__gtk_libs.mak file is created using the for /F
syntax available only in the cmd.exe command interpreter on
NT/2k/XP. These obscure acrobatics are needed because we want
__gtk_libs.mak to contain a line that starts with
/link, but pkg-config cannot output the /link flag
itself as a cl command line might contain several invokations of
pkg-config --libs. We cannot put the /link on the cl command
line that links foobar.exe either, as cl then gets confused
and runs the linker with a command file that on one line has
@__gtk_libs.mak, and link.exe doesn't like that. Sigh.
Downloadable files
Here is a list of the files downloadable from this site, and links
to dependencies downloadable from other sites.
GNU
libiconv for Win32. Both runtime and developer files. GNU Libiconv
is an implementation of iconv.
GLib uses libiconv, so you will need this. To install, unzip
in the top directory.
libiconv-1.9.1.tar.gz.
Corresponding sources. (Identical as on the GNU ftp
site.)
gettext-runtime-0.13.1.zip.
GNU gettext runtime for Win32, containing the GNU
internationalisation library (libintl) and support files. GLib
uses libintl, so you will need this. Unzip in the
top directory.
gettext-tools-0.13.1.zip. GNU
gettext tools for Win32, containing the msgfmt program and
others. Msgfmt is needed if you want to recompile message
catalogs. The other commands can be used to manipulate message
catalogs in other ways.
gettext-0.13.1.tar.gz.
Sources for GNU gettext (both -runtime and -tools). (On this
site, to satisfy strict interpretation of GPL
requires. Identical as on the GNU sites.)
glib-2.2.3-20040116.zip.
Runtime package for a GLib snapshot from 2004-01-16. I
distribute this snapshot version because it contains some
important bug fixes, and it seems that there won't be an
GLib 2.2.4 release anytime soon. Requires
libiconv and gettext-runtime.
glib-dev-2.2.3-20040116.zip.
Corresponding developer package, i.e. headers, import
libraries and documentation.
glib-src-2.2.3-20040116.zip.
Corresponding sources.
pkgconfig-0.15.zip. Pkg-config
is a neat program that is useful in makefiles etc. It manages
compile and link flags. Requires GLib 2.x.
Sources for
pkg-config (On this site, to satisfy strict interpretation
of GPL requirements. The same file as available from www.freedesktop.org)
gtk+-1.3.0-20030717.zip
. Runtime package. This is the gtk-1-3-win32-production
branch of GTK+. The GTK+ version is 1.3.0, which is quite
old. The GTK+ API had not yet changed much at that time, it is
still mostly like GTK+ 1.2.7. Requires GLib 2.x.
gtk+-dev-1.3.0-20030115.zip.
Corresponding developer package.
The source for this GTK+ version is in gtk+-1.3.0-20030717-src.zip.
There is no other distribution of the source to this GTK+
branch. You can get it from (anynymous) CVS, though, use the
gtk-1-3-win32-production branch of the gtk+ module.
dirent.zip. The public domain
<dirent.h> implementation from mingw, separately
packaged for MSVC users. Not directly related to GLib, but
here for the convenience of MSVC users, as there used to be a
dirent wrapper using #defines in earlier GLib versions for
Win32. Needed only by developers that use MSVC.
gimp-1.2.5-20030729.zip. GIMP
1.2.5 plus one small patch. Requires GLib 2.x and GTK+
1.3.0. Some plug-ins require zlib, libpng, libjpeg, libtiff
and freetype.
gimp-dev-1.2.5.zip.
Corresponding developer package, i.e. libraries and headers
for developing and building GIMP plug-ins.
GIMP
sources. If you redistribute the GIMP executables, you
must also redistribute this file.
Sources to the
unofficial plug-ins included in the GIMP zipfile.
Zlib 1.1.4-1, libpng 1.2.4-1,
libjpeg 6b-1,
libtiff 3.5.7
and FreeType2 2.1.4.
As ported and packaged for Windows by the GnuWin32 people.
These are used both by GIMP, and by GTK+ 2 below (except
FreeType2, which is used just by GIMP's freetype plug-in and
Pango's PangoFT2 engine). The "bin" packages are the runtime
ones, the "lib" packages are the ones needed by
developers.
Note that the previous binary builds of GIMP and GTK 2.x
used an older version of the GnuWin32 zlib, libjpeg and
freetype ports, so you need to download the current ones from
the link above.
At least those versions of the GnuWin32 packages available
when writing this are inconsistent in their use of each
other's DLLs. For instance, libpng.dll wants zlib.dll, while
the zlib package actually provides zlib-1.dll. Similarily,
libtiff.dll wants libjpeg.dll, while the libjpeg package
provides jpeg-62.dll. Just copying zlib.dll to zlib-1.dll, and
jpeg-62.dll to libjpeg.dll seems to work fine.
gimp-gif-1.2.5.zip. The
gif plug-in. Covered by the Unisys LZW patent, so don't
download this if you live in a country where the patent is
still valid and you don't have a license!
xpm-nox-4.0.3-20020617.zip
A version of the Xpm library that does not use X. Used by the
xpm plug-in in GIMP.
xpm-nox-dev-4.0.3-20020112.zip,
corresponding developer package.
gimp-pspi-1.0.2-src.zip. Sources
for the pspi plug-in.
The packages below are GTK+ 2.2.x and its dependents. GIMP 1.2.x
does not use these.
gtk+-2.2.4.zip
GTK+ 2.2.4. Requires glib, atk, pango, zlib, libpng,
libjpeg and libtiff.
gtk+-dev-2.2.4.zip,
corresponding developer package.
gtk+-2.2.4.tar.gz,
corresponding sources.
atk-1.4.0.zip, pango-1.2.5.zip. Atk and Pango are
used by GTK+ 2. Pango is also used by GIMP 1.3.x.
atk-dev-1.4.0.zip,
pango-dev-1.2.5.zip.
Corresponding developer packages.
atk-1.4.0.tar.gz,
pango-1.2.5.tar.gz.
Corresponding sources.
fontconfig-2.2.1-tml-20040201.zip. Fontconfig is used by
the FreeType2 backend in Pango (pangoft2) and by
GIMP 2. Contrary to what many seem to think, fontconfig
is in no way dependent on X11, so it does make some sense to
use it on Windows. GTK+ does not use pangoft2, so you probably
will not need this unless for GIMP 2. This version has a
small patch to prevent GIMP from crashing if there is no HOME
or USERPROFILE environment variable (typical on
Win9x).
fontconfig-dev-2.2.1.zip.
Corresponding developer package (Import library, headers,
documentation).
fontconfig-2.2.1.tar.gz.
Source (not on this site).
fontconfig-2.2.1-tml-20040201.diff. Patch
mentioned above.
Fontconfig uses the expat
library. Download expat.zip and put the xmlparse.dll in your
PATH.
The packages below are used by GIMP 2. GIMP 1.2.x does not use
these.
|