1999-03-08 00:24:44 +08:00
|
|
|
For more information about the port or GLib, GTk+ and the GIMP to
|
|
|
|
native Windows, and pre-built binary packages, see
|
2000-11-03 04:08:20 +08:00
|
|
|
http://www.gimp.org/win32/ or http://www.iki.fi/tml/gimp/win32/ .
|
1999-03-08 00:24:44 +08:00
|
|
|
|
2000-08-25 01:53:43 +08:00
|
|
|
To build the GIMP on Win32, you can use either gcc or Microsoft Visual
|
|
|
|
C++. The gcc to use should be for a mingw configuration (producing
|
2000-11-03 04:08:20 +08:00
|
|
|
executables that don't use the cygwin dll). For more information about
|
|
|
|
the preparation necessary for building with gcc, what version you want
|
|
|
|
and where to get it, etc, read README.win32 in GLib 1.3 (or
|
2000-05-11 03:39:03 +08:00
|
|
|
later). (GLib 1.3 is the developer version and thus isn't distributed
|
|
|
|
per se, but available from CVS, and especially for Windows in zipfiles
|
|
|
|
from the web pages mentioned above.)
|
1999-03-08 00:24:44 +08:00
|
|
|
|
2000-08-25 01:53:43 +08:00
|
|
|
Unfortunately the makefiles for MSVC aren't quite up-to-date. You will
|
|
|
|
have to modify them a bit if you want to use MSVC. But quite possibly
|
|
|
|
by the time you read this somebody might have contributes new
|
|
|
|
makefiles, or even project files.
|
|
|
|
|
1999-08-16 12:59:48 +08:00
|
|
|
The GIMP wants to be built with the GNU "intl" library for
|
2000-05-11 03:39:03 +08:00
|
|
|
internationalisation (i18n). Get the version ported to Win32 from the
|
|
|
|
web site mentioned above. We build the "intl" library to a DLL called
|
|
|
|
gnu-intl.dll to reduce name clash risks. If you don't want any i18n
|
|
|
|
stuff, undefine ENABLE_NLS in the config.h.win32 file, and remove
|
2000-01-02 19:56:56 +08:00
|
|
|
references to the gnu-intl library from the makefiles.
|
1999-08-16 12:59:48 +08:00
|
|
|
|
2000-01-19 04:52:16 +08:00
|
|
|
Note that while the GNU gettext package is under the GPL (GNU General
|
|
|
|
Public License), the "intl" library part as distributed with GNU libc
|
|
|
|
is under the LGPL (GNU Lesser General Public License, a.k.a. GNU
|
2000-05-11 03:39:03 +08:00
|
|
|
Library General Public License). We want the LGPL-licensed version of
|
2000-08-25 01:53:43 +08:00
|
|
|
the intl library, even if they are the same source code, more or
|
|
|
|
less. It doesn't matter for the GIMP which itself is licensed under
|
|
|
|
the GPL, but it does matter for GTk+, which is licensed under the
|
|
|
|
LGPL.
|
1999-06-15 06:18:02 +08:00
|
|
|
|
2000-01-19 04:52:16 +08:00
|
|
|
First, build in the libgimp directory, then in app, plug-ins, and
|
2000-08-25 01:53:43 +08:00
|
|
|
finally in modules. Check the makefile.mingw files in said
|
|
|
|
directories.
|
1999-03-08 00:24:44 +08:00
|
|
|
|
Win32 portability changes:
* config.h.win32, README.win32: Small changes.
* tools/pdbgen/pdb/*.pdb: Include <string.h>.
* app/*_cmds.c: Autogenerated files reflect above changes.
* libgimp/makefile.msc app/makefile.msc: Various updates,
including new object files. Gtk+ directory now should be called
gtk+ (not gtk-plus). Use win32-specific gdk subdir. Glib directory
now should be called just glib.
* libgimp/gimp.def: Updates.
* libgimp/gimpfeatures.h.win32: Made current with
gimpfeatures.h.in.
* libgimp/gimpfileselection.c: Define S_ISDIR and S_ISREG if
necessary.
* tools/pdbgen/pdb/fileops.pdb: Must have a
statement (even an empty one) after a label.
* app/fileops_cmds.c: Autogenerated file reflects above changes.
* app/crop.c: Include <string.h>.
* app/{app_procs,batch,fileops,datafiles,errorconsole,general,
plug_in,temp_buf,tile_swap}.c: Test NATIVE_WIN32, not
_MSC_VER. (NATIVE_WIN32 means we are using the Microsoft C
runtime, even if we might be compiling with gcc.)
* app/fileops.c: Don't include <process.h> here.
* app/fileops.h: Do include <process.h> here.
* app/gimpparasite.c: Include config.h, guard inclusion of
<unistd.h>. (Is the inclusion of unistd.h in source files all over
the place really necessary?)
* app/ink.c: MSC doesn't handle conversion from unsigned __int64
to double, so cast to signed.
* app/lut_funcs.c: Include config.h, and define rint() if necessary.
* app/pixel_processor.c: Include config.h without "..", like in
all the other places. Include <string.h>
* app/text_tool.c: Guard the "POINTS" identifier that clashes with
<windows.h>, sigh.
1999-05-05 05:32:17 +08:00
|
|
|
The current build setup for Windows is a mess, with complex
|
2000-08-25 01:53:43 +08:00
|
|
|
hand-maintained makefiles. I know. On the other hand, I don't think
|
|
|
|
using the Unix style configuration mechanism to generate mingw EXEs
|
|
|
|
and DLLs is quite feasible, either. I would love to be proved wrong.
|
Win32 portability changes:
* config.h.win32, README.win32: Small changes.
* tools/pdbgen/pdb/*.pdb: Include <string.h>.
* app/*_cmds.c: Autogenerated files reflect above changes.
* libgimp/makefile.msc app/makefile.msc: Various updates,
including new object files. Gtk+ directory now should be called
gtk+ (not gtk-plus). Use win32-specific gdk subdir. Glib directory
now should be called just glib.
* libgimp/gimp.def: Updates.
* libgimp/gimpfeatures.h.win32: Made current with
gimpfeatures.h.in.
* libgimp/gimpfileselection.c: Define S_ISDIR and S_ISREG if
necessary.
* tools/pdbgen/pdb/fileops.pdb: Must have a
statement (even an empty one) after a label.
* app/fileops_cmds.c: Autogenerated file reflects above changes.
* app/crop.c: Include <string.h>.
* app/{app_procs,batch,fileops,datafiles,errorconsole,general,
plug_in,temp_buf,tile_swap}.c: Test NATIVE_WIN32, not
_MSC_VER. (NATIVE_WIN32 means we are using the Microsoft C
runtime, even if we might be compiling with gcc.)
* app/fileops.c: Don't include <process.h> here.
* app/fileops.h: Do include <process.h> here.
* app/gimpparasite.c: Include config.h, guard inclusion of
<unistd.h>. (Is the inclusion of unistd.h in source files all over
the place really necessary?)
* app/ink.c: MSC doesn't handle conversion from unsigned __int64
to double, so cast to signed.
* app/lut_funcs.c: Include config.h, and define rint() if necessary.
* app/pixel_processor.c: Include config.h without "..", like in
all the other places. Include <string.h>
* app/text_tool.c: Guard the "POINTS" identifier that clashes with
<windows.h>, sigh.
1999-05-05 05:32:17 +08:00
|
|
|
|
1999-03-08 00:24:44 +08:00
|
|
|
--Tor Lillqvist <tml@iki.fi>
|