Files
gtk/README.win32
Tor Lillqvist afed946500 Mention multi-thread problems.
2001-11-09  Tor Lillqvist  <tml@iki.fi>

	* README.win32: Mention multi-thread problems.

	* gtk/gtkrc.ja: Add MS Gothic.
2001-11-08 23:10:13 +00:00

95 lines
3.8 KiB
Plaintext

The Win32 port of GTK is a work in progress, and not as stable or
correct as the Unix/X11 version. For more information about the Win32
port, see http://www.gimp.org/tml/gimp/win32/ or
http://www.iki.fi/tml/gimp/win32/ .
The current (CVS HEAD) version of the Win32 backend does not
necessarily work properly. The code here is the
gtk-1-3-win32-production branch that was branched off from before the
addition of the no-flicker and other recent functionality. This is
what should be used by "production" code until the CVS HEAD version is
useable. (But note, the Win32 backend has never been claimed to be
"production quality", although it works surprisingly well for the
GIMP.)
Building GTK+ on Win32
======================
There are three ways to build gtk for win32:
1) Use the autoconf-generated configure script, and the resulting
Makefiles (which use libtool and gcc to do the compilation). I use
this myself, but it might be hell to setup correctly.
Personally I run configure like this:
CC='gcc -mpentium -fnative-struct' CPPFLAGS='-I/target/include' CFLAGS=-O2 LDFLAGS='-L/target/lib' ./configure --disable-static --prefix=/target --with-wintab=/src/wtkit126 --with-ie55=/src/workshop/ie55_lib --host=i386-pc-mingw32 --enable-maintainer-mode
2) Use gcc from mingw, or gcc -mno-cygwin from Cygwin. Say make -f
makefile.mingw in gdk and gtk.
3) Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk.
Alternatives 1 and 2 also generate Microsoft import libraries (.lib),
if you have lib.exe available. They should also work for
cross-compilations from Unix, as long as you pass the correct compiler
name.
Note that I use mainly gcc myself, and thus the build setup for
Microsoft's nmake and cl might be a bit rusty. Hans Breuer has been
taking care of them. At times, I and he disagree a bit, and the gcc
and msc makefiles might not produce compatible or identically named
DLLs and import libraries.
Using GTK+ on Win32
===================
To use GTK on Win32, you also need either gcc or MSVC. Other compilers
might work, but don't count on it. Note that if you use gcc, in order
to use the prebuilt DLLs, you *must* compile your code with gcc
-mno-cygwin -fnative-struct.
Multi-threaded use of GTK+ on Win32
===================================
Multi-threaded GTK+ programs might work in special simple cases, but
not in general. Sorry. If you have all GTK+ and GDK calls in the same
thread, it might work. Otherwise, probably not at all. Possible ways
to fix this are being investigated.
Wintab
======
The tablet support uses the Wintab API. The Wintab development kit can
be downloaded from http://www.pointing.com. If you don't care for
that, undefine HAVE_WINTAB_H in config.h.win32 and remove references to
the wntab32x library from the makefile before building.
Libintl
=======
GTK wants to be built with the GNU "intl" library for
internationalisation (i18n). Get the version ported to Win32 (not a
very big deal) from the web site mentioned above. The "intl" library
as gets built as a DLL called libintl-1.dll. If you don't want any
i18n stuff, undefine ENABLE_NLS, HAVE_GETTEXT and HAVE_LIBINTL in the
config.h.win32 file, and remove references to the intl library from
the makefiles.
Note that while the GNU gettext package is under the GPL, the "intl"
part of it is under the LGPL (like GTK or GLib), as of
gettext-0.10.40.
ActiveIMM
=========
If you want to build a GTK+ that supports ActiveIMM (the Input Method
Manager for non-EastAsia locales that can be used on Win9x/NT4), you
need the dimm.h header file. That is somewhat difficult to find, but
http://msdn.microsoft.com/downloads/samples/internet/wizard/ seems to
be a good place to look nowadays. If you use autoconfiscated build,
pass the --with-ie55 flag to configure specifyin the location of the
ie55_lib directory created by downloading the IE5.5 headers and libs
from the above URL.