mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 22:20:24 +00:00
06b4ef6517
2001-10-29 Tor Lillqvist <tml@iki.fi> * README.win32: Updates. * gtk-zip.sh.in: New file, used to build distribution package for Windows. * gdk/gdkglobals.c: Mark gdk_threads_mutex for DLL export when applicable with GDKVAR. * gtk/gtk.def: Update. * gtk/gtkfilesel.c: Include <winsock.h> (if available) for gethostname(). * gtk/gtkmain.c * gtk/gtkrc.c: (Win32) Save actual DLL name for later use in DLL entry function. Avoid hardcoded paths GTK_LIBDIR, GTK_SYSCONFDIR, GTK_DATA_PREFIX and GTK_LOCALEDIR, instead add functions that call g_win32_get_package_installation_subdirectory() with the actual DLL name saved above. Redefine above directory name macros to call these functions. Remove some ifdefs. * gtk/maketypes.awk: Output GTKTYPEBUILTINS_VAR (that marks variable for export on Win32) also to the _vars file. Changes for autoconfiscated build on Win32, and addition of Win32 backend to the related files: * configure.in: Like in GLib, set LT_CURRENT_MINUS_AGE for use when forming DLL name in some files. Set MS_LIB_AVAILABLE is lib.exe is available. Call AC_LIBTOOL_WIN32_DLL. Set PLATFORM_WIN32, OS_WIN32 and USE_WIN32 automake conditionals. Add win32 target, using pangowin32. Don't use the -export-symbols-regex option on Win32, we use .def files to list exported symbols. Check <winsock.h> (for gethostname() in gtkfilesel.c). Enclose nested AC_CHECK_* macros in brackets to prevent premature m4 expansion. * acconfig.h: Add HAVE_WINTAB. * gdk/Makefile.am: Add libgdk-win32-1.3.la target and associated macros and rules. Use -no-undefined on Win32. Use gdk.def file. If MS_LIB_AVAILABLE, build MS import library. Install the import libraries. If HAVE_WINTAB, link with the Wintab library. * gtk/Makefile.am: Add libgtk-win32-1.3.la target and associated macros and rules. Use -no-undefined on Win32. Use gtk-win32.def file. Install import libraries.
63 lines
2.9 KiB
Plaintext
63 lines
2.9 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/win32/ .
|
|
|
|
This (CVS HEAD) version of the Win32 backend does *not* necessarily
|
|
even compile properly. There is a gtk-1-3-win32-production branch that
|
|
was branched off from before the addition of the no-flicker and other
|
|
recent functionality. That 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.)
|
|
|
|
There are two 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.
|
|
|
|
2) Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
|
|
makefile.msc in gdk and gtk.
|
|
|
|
Alternative 1 also generates Microsoft import libraries (.lib), if you
|
|
have lib.exe available. It should also work for cross-compilation from
|
|
Unix.
|
|
|
|
There are hand-written makefiles for mingw (look for makefile.mingw in
|
|
various directories), but those haven't been kept up-to-date, and
|
|
probably won't work without editing. Sorry. If you make them work
|
|
again, by all means do submit patches.
|
|
|
|
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 those makefiles. At times, we disagree a bit, and the
|
|
msc makefiles might not produce compatible or identically named DLLs
|
|
and import libraries as the autoconfiscated makefiles and libtool do.
|
|
|
|
To use GTK+ on Win32, you also need either one of the above mentioned
|
|
compilers. Other compilers might work, but don't count on it. The same
|
|
instructions on how to set up a correct version of gcc should also be
|
|
followed if you want to build applications that use GTk+ with gcc. For
|
|
prebuilt developer packages (DLLs, import libraries, headers), see the
|
|
above website.
|
|
|
|
The tablet support uses the Wintab API. The Wintab development kit can
|
|
be downloaded from http://www.pointing.com. Pass the --with-wintab
|
|
flag to configure if you use that. If you use nmake and you don't care
|
|
for Wintab, undefine HAVE_WINTAB in config.h.win32 and remove
|
|
references to the wntab32x library from the makefile before building.
|
|
|
|
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.
|
|
|
|
--Tor Lillqvist <tml@iki.fi>
|