gimp/README.win32

45 lines
2.2 KiB
Plaintext
Raw Normal View History

For more information about the port or GLib, GTk+ and the GIMP to
native Windows, and pre-built binary packages, see
http://www.gimp.org/win32/ or http://www.iki.fi/tml/gimp/win32/ .
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
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
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.)
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.
The GIMP wants to be built with the GNU "intl" library for
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
references to the gnu-intl library from the makefiles.
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
Library General Public License). We want the LGPL-licensed version of
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.
First, build in the libgimp directory, then in app, plug-ins, and
finally in modules. Check the makefile.mingw files in said
directories.
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
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
--Tor Lillqvist <tml@iki.fi>