summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2001-10-29 07:06:37 +0000
committerTor Lillqvist <tml@src.gnome.org>2001-10-29 07:06:37 +0000
commit06b4ef65174e56e766e4bde06e08e34c08788272 (patch)
treefb33492b545ea2f73cd901c6ccbbf2d86111dee0
parenta53f14a6e3574e397d712f42638adb79a8b72104 (diff)
downloadgdk-pixbuf-06b4ef65174e56e766e4bde06e08e34c08788272.tar.gz
Updates.
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.
-rw-r--r--ChangeLog86
-rw-r--r--ChangeLog.pre-2-086
-rw-r--r--ChangeLog.pre-2-1086
-rw-r--r--ChangeLog.pre-2-286
-rw-r--r--ChangeLog.pre-2-486
-rw-r--r--ChangeLog.pre-2-686
-rw-r--r--ChangeLog.pre-2-886
-rw-r--r--Makefile.am1
-rw-r--r--README.win3278
-rw-r--r--acconfig.h1
-rw-r--r--configure.in151
-rw-r--r--gdk/Makefile.am57
-rw-r--r--gdk/gdkglobals.c2
-rw-r--r--gdk/makefile.mingw.in4
-rwxr-xr-xgtk-zip.sh.in30
-rw-r--r--gtk/Makefile.am55
-rw-r--r--gtk/gtk-win32.rc.in8
-rwxr-xr-xgtk/gtk.def32
-rw-r--r--gtk/gtkfilesel.c3
-rw-r--r--gtk/gtkmain.c73
-rw-r--r--gtk/gtkprivate.h19
-rw-r--r--gtk/gtkrc.c39
-rw-r--r--gtk/makefile.mingw.in16
-rw-r--r--gtk/maketypes.awk2
24 files changed, 1019 insertions, 154 deletions
diff --git a/ChangeLog b/ChangeLog
index 681980af3..9a4d3894f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,89 @@
+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.
+
+ * gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
+ Wintab library.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
+ X11 headers better, and to enable gdkwin32.h to be installed and
+ included from applications, but not the *-win32.h headers.
+
+ * gdk/win32/*.c: Corresponding small changes, simplifications of
+ #includes.
+
+ * gdk/win32/gdkregion-win32.c: Remove.
+
+ * gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
+
+ * gdk/win32/gdkfont-win32.c
+ * gdk/win32/gdkgeometry-win32.c: Remove unused variables.
+
+ * gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
+ GDK_NONE values into hash table.
+
+ * 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.
+
+ * gdk/win32/Makefile.am: Actually enable building the win32
+ objects here, not just list all files in EXTRA_DIST. Link in the
+ compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
+ copy the Wintab library into the .libs directory.
+
+ * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
+ name of the GDK DLL when fetching the icon. Use the HMODULE saved
+ in gdk_dll_hinstance by DllMain.
+
+ * gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
+ build/win32/lt-compile-resource script.
+
+ * gdk/win32/rc/gdk.rc.in
+ * gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
+
+ * 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.
+
2001-10-29 Anders Carlsson <andersca@gnu.org>
* gtk/gtkiconfactory.c (get_default_icons): Fix build.
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 681980af3..9a4d3894f 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,89 @@
+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.
+
+ * gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
+ Wintab library.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
+ X11 headers better, and to enable gdkwin32.h to be installed and
+ included from applications, but not the *-win32.h headers.
+
+ * gdk/win32/*.c: Corresponding small changes, simplifications of
+ #includes.
+
+ * gdk/win32/gdkregion-win32.c: Remove.
+
+ * gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
+
+ * gdk/win32/gdkfont-win32.c
+ * gdk/win32/gdkgeometry-win32.c: Remove unused variables.
+
+ * gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
+ GDK_NONE values into hash table.
+
+ * 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.
+
+ * gdk/win32/Makefile.am: Actually enable building the win32
+ objects here, not just list all files in EXTRA_DIST. Link in the
+ compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
+ copy the Wintab library into the .libs directory.
+
+ * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
+ name of the GDK DLL when fetching the icon. Use the HMODULE saved
+ in gdk_dll_hinstance by DllMain.
+
+ * gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
+ build/win32/lt-compile-resource script.
+
+ * gdk/win32/rc/gdk.rc.in
+ * gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
+
+ * 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.
+
2001-10-29 Anders Carlsson <andersca@gnu.org>
* gtk/gtkiconfactory.c (get_default_icons): Fix build.
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 681980af3..9a4d3894f 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,89 @@
+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.
+
+ * gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
+ Wintab library.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
+ X11 headers better, and to enable gdkwin32.h to be installed and
+ included from applications, but not the *-win32.h headers.
+
+ * gdk/win32/*.c: Corresponding small changes, simplifications of
+ #includes.
+
+ * gdk/win32/gdkregion-win32.c: Remove.
+
+ * gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
+
+ * gdk/win32/gdkfont-win32.c
+ * gdk/win32/gdkgeometry-win32.c: Remove unused variables.
+
+ * gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
+ GDK_NONE values into hash table.
+
+ * 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.
+
+ * gdk/win32/Makefile.am: Actually enable building the win32
+ objects here, not just list all files in EXTRA_DIST. Link in the
+ compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
+ copy the Wintab library into the .libs directory.
+
+ * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
+ name of the GDK DLL when fetching the icon. Use the HMODULE saved
+ in gdk_dll_hinstance by DllMain.
+
+ * gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
+ build/win32/lt-compile-resource script.
+
+ * gdk/win32/rc/gdk.rc.in
+ * gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
+
+ * 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.
+
2001-10-29 Anders Carlsson <andersca@gnu.org>
* gtk/gtkiconfactory.c (get_default_icons): Fix build.
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 681980af3..9a4d3894f 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,89 @@
+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.
+
+ * gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
+ Wintab library.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
+ X11 headers better, and to enable gdkwin32.h to be installed and
+ included from applications, but not the *-win32.h headers.
+
+ * gdk/win32/*.c: Corresponding small changes, simplifications of
+ #includes.
+
+ * gdk/win32/gdkregion-win32.c: Remove.
+
+ * gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
+
+ * gdk/win32/gdkfont-win32.c
+ * gdk/win32/gdkgeometry-win32.c: Remove unused variables.
+
+ * gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
+ GDK_NONE values into hash table.
+
+ * 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.
+
+ * gdk/win32/Makefile.am: Actually enable building the win32
+ objects here, not just list all files in EXTRA_DIST. Link in the
+ compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
+ copy the Wintab library into the .libs directory.
+
+ * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
+ name of the GDK DLL when fetching the icon. Use the HMODULE saved
+ in gdk_dll_hinstance by DllMain.
+
+ * gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
+ build/win32/lt-compile-resource script.
+
+ * gdk/win32/rc/gdk.rc.in
+ * gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
+
+ * 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.
+
2001-10-29 Anders Carlsson <andersca@gnu.org>
* gtk/gtkiconfactory.c (get_default_icons): Fix build.
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 681980af3..9a4d3894f 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,89 @@
+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.
+
+ * gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
+ Wintab library.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
+ X11 headers better, and to enable gdkwin32.h to be installed and
+ included from applications, but not the *-win32.h headers.
+
+ * gdk/win32/*.c: Corresponding small changes, simplifications of
+ #includes.
+
+ * gdk/win32/gdkregion-win32.c: Remove.
+
+ * gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
+
+ * gdk/win32/gdkfont-win32.c
+ * gdk/win32/gdkgeometry-win32.c: Remove unused variables.
+
+ * gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
+ GDK_NONE values into hash table.
+
+ * 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.
+
+ * gdk/win32/Makefile.am: Actually enable building the win32
+ objects here, not just list all files in EXTRA_DIST. Link in the
+ compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
+ copy the Wintab library into the .libs directory.
+
+ * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
+ name of the GDK DLL when fetching the icon. Use the HMODULE saved
+ in gdk_dll_hinstance by DllMain.
+
+ * gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
+ build/win32/lt-compile-resource script.
+
+ * gdk/win32/rc/gdk.rc.in
+ * gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
+
+ * 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.
+
2001-10-29 Anders Carlsson <andersca@gnu.org>
* gtk/gtkiconfactory.c (get_default_icons): Fix build.
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 681980af3..9a4d3894f 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,89 @@
+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.
+
+ * gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
+ Wintab library.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
+ X11 headers better, and to enable gdkwin32.h to be installed and
+ included from applications, but not the *-win32.h headers.
+
+ * gdk/win32/*.c: Corresponding small changes, simplifications of
+ #includes.
+
+ * gdk/win32/gdkregion-win32.c: Remove.
+
+ * gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
+
+ * gdk/win32/gdkfont-win32.c
+ * gdk/win32/gdkgeometry-win32.c: Remove unused variables.
+
+ * gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
+ GDK_NONE values into hash table.
+
+ * 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.
+
+ * gdk/win32/Makefile.am: Actually enable building the win32
+ objects here, not just list all files in EXTRA_DIST. Link in the
+ compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
+ copy the Wintab library into the .libs directory.
+
+ * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
+ name of the GDK DLL when fetching the icon. Use the HMODULE saved
+ in gdk_dll_hinstance by DllMain.
+
+ * gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
+ build/win32/lt-compile-resource script.
+
+ * gdk/win32/rc/gdk.rc.in
+ * gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
+
+ * 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.
+
2001-10-29 Anders Carlsson <andersca@gnu.org>
* gtk/gtkiconfactory.c (get_default_icons): Fix build.
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 681980af3..9a4d3894f 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,89 @@
+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.
+
+ * gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
+ Wintab library.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
+ X11 headers better, and to enable gdkwin32.h to be installed and
+ included from applications, but not the *-win32.h headers.
+
+ * gdk/win32/*.c: Corresponding small changes, simplifications of
+ #includes.
+
+ * gdk/win32/gdkregion-win32.c: Remove.
+
+ * gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
+
+ * gdk/win32/gdkfont-win32.c
+ * gdk/win32/gdkgeometry-win32.c: Remove unused variables.
+
+ * gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
+ GDK_NONE values into hash table.
+
+ * 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.
+
+ * gdk/win32/Makefile.am: Actually enable building the win32
+ objects here, not just list all files in EXTRA_DIST. Link in the
+ compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
+ copy the Wintab library into the .libs directory.
+
+ * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
+ name of the GDK DLL when fetching the icon. Use the HMODULE saved
+ in gdk_dll_hinstance by DllMain.
+
+ * gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
+ build/win32/lt-compile-resource script.
+
+ * gdk/win32/rc/gdk.rc.in
+ * gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
+
+ * 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.
+
2001-10-29 Anders Carlsson <andersca@gnu.org>
* gtk/gtkiconfactory.c (get_default_icons): Fix build.
diff --git a/Makefile.am b/Makefile.am
index adbb7c912..4dac8bafe 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,6 +19,7 @@ EXTRA_DIST = \
README.win32 \
README.nanox \
config.h.win32 \
+ gtk-zip.sh \
po/README.tools \
po/README.translators \
po/desk.pl \
diff --git a/README.win32 b/README.win32
index 63803e3d2..0c527f01a 100644
--- a/README.win32
+++ b/README.win32
@@ -1,7 +1,6 @@
-The Win32 port of GTk+ is a work in progress, and not as stable or
+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/ or
-http://www.iki.fi/tml/gimp/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
@@ -11,38 +10,53 @@ 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.)
-To build GTk+ on Win32, you need either gcc-2.95 or later, or the
-Microsoft compiler and tools. The mingw setup of gcc is preferred, but
-you can run gcc also under cygwin-b20.1 or later. Compile in
-gdk\win32, gdk and gtk with `make -f makefile.mingw` (gcc) or `nmake
--f makefile.msc` (MSVC). The name makefile.mingw needs an explanation:
-It refers to the target, not the build environment. As build
-envíronment, only cygwin is tested. GNU Make is definitely needed.
+There are two ways to build GTK+ for win32:
-See the README.win32 file in the GLib distribution for instructions
-how to build with gcc.
+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.
-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.
+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. If you don't care for
-that, undefine HAVE_WINTAB in config.h.win32 and remove references to
-the wntab32x library from the makefile before building.
+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
+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 tml's web site mentioned above. We build the
-"intl" library as a DLL called gnu-intl.dll (the "gnu" prefix is used
-to reduce name clash risks). 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 gnu-intl library
-from the makefiles.
-
-Note that while the GNU gettext package is under the GPL license, the
-"intl" part of it is also distributed as part of the GNU C library
-(glibc) where it is under the LGPL license (as is GTk+ or GLib). We
-want the LGPL licensed version. The code is more or less the same.
+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>
diff --git a/acconfig.h b/acconfig.h
index 37cd31587..17b47293d 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -31,6 +31,7 @@
#undef HAVE_SHAPE_EXT
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
+#undef HAVE_WINTAB
#undef HAVE_XCONVERTCASE
#undef HAVE_XFT
diff --git a/configure.in b/configure.in
index 59370a7ae..051877e2a 100644
--- a/configure.in
+++ b/configure.in
@@ -53,10 +53,12 @@ LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
LT_REVISION=$GTK_INTERFACE_AGE
LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
+LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
+AC_SUBST(LT_CURRENT_MINUS_AGE)
# Define a string for the earliest version that this release has
# binary compatibility with. This is used for module locations.
@@ -100,6 +102,7 @@ AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
AM_CONFIG_HEADER(config.h)
dnl Initialize libtool
+AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
dnl Set AS and ASFLAGS so that automake 1.5 will be happy
@@ -113,6 +116,35 @@ AM_MAINTAINER_MODE
AC_CANONICAL_HOST
+AC_MSG_CHECKING([for some Win32 platform])
+case "$host" in
+ *-*-mingw*|*-*-cygwin*)
+ platform_win32=yes
+ ;;
+ *)
+ platform_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$os_win32])
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+
+if test "$os_win32" = "yes"; then
+ AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
+fi
+AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
+
dnl figure debugging default, prior to $ac_help setup
dnl
GLIB_AC_DIVERT_BEFORE_HELP([
@@ -139,18 +171,29 @@ AC_ARG_ENABLE(rebuilds, [ --disable-rebuilds disable all source autogenera
AC_ARG_WITH(xinput, [ --with-xinput=[no/gxi/xfree] support XInput ])
-gdktarget=x11
-gdktargetlib=libgdk-x11-1.3.la
-gtktargetlib=libgtk-x11-1.3.la
-AC_ARG_WITH(gdktarget, [ --with-gdktarget=[x11/linux-fb] select GDK target [default=x11] ],
+AC_ARG_WITH(wintab, [ --with-wintab=DIRECTORY use Wintab API with win32 backend])
+
+if test "$platform_win32" = yes; then
+ gdktarget=win32
+else
+ gdktarget=x11
+fi
+
+AC_ARG_WITH(gdktarget, [ --with-gdktarget=[x11/linux-fb/win32] select GDK target [default=$gdktarget]],
gdktarget=$with_gdktarget)
AC_SUBST(gdktarget)
case $gdktarget in
- x11|linux-fb) ;;
- *) AC_MSG_ERROR([Invalid target for GDK: use x11 or linux-fb.]);;
+ x11|linux-fb|win32) ;;
+ *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
esac
+gdktargetlib=libgdk-$gdktarget-1.3.la
+gtktargetlib=libgtk-$gdktarget-1.3.la
+
+AC_SUBST(gdktargetlib)
+AC_SUBST(gtktargetlib)
+
AC_ARG_ENABLE(shadowfb, [ --disable-shadowfb disable shadowfb support for linux-fb],,enable_shadowfb=yes)
AC_ARG_ENABLE(fbmanager, [ --enable-fbmanager enable framebuffer manager support (GtkFB)],enable_fbmanager=yes,enable_fbmanager=no)
@@ -197,6 +240,13 @@ if test "x$GCC" = "xyes"; then
*) CFLAGS="$CFLAGS -pedantic" ;;
esac
fi
+
+ if test "$os_win32" = "yes"; then
+ case "$CC $CFLAGS " in
+ *[[\ \ ]]-fnative-struct[[\ \ ]]*) ;;
+ *) CFLAGS="$CFLAGS -fnative-struct" ;;
+ esac
+ fi
fi
changequote([,])dnl
@@ -211,9 +261,14 @@ ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
## annoying to construct
PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION atk >= $ATK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION)
-# libtool option to control which symbols are exported
-# right now, symbols starting with _ are not exported
-LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
+if test "$os_win32" != yes; then
+ # libtool option to control which symbols are exported
+ # right now, symbols starting with _ are not exported
+ LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
+else
+ # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
+ LIBTOOL_EXPORT_OPTIONS=
+fi
AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
# define a MAINT-like variable REBUILD which is set if Perl
@@ -325,6 +380,29 @@ AC_CHECK_HEADERS(dirent.h, AC_DEFINE(HAVE_DIRENT_H))
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
+AC_CHECK_HEADERS(winsock.h, AC_DEFINE(HAVE_WINSOCK_H))
+AC_CHECK_HEADERS(dimm.h, AC_DEFINE(HAVE_DIMM_H))
+
+if test ${with_wintab+set} = set && test $with_wintab != no; then
+ AC_MSG_CHECKING([for wintab.h])
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -I$with_wintab/include"
+ AC_TRY_COMPILE([#include <windows.h>
+#include <wintab.h>],
+ [],
+ [AC_MSG_RESULT(yes)
+ AC_CHECK_FILE([$with_wintab/lib/i386/wntab32x.lib],
+ [have_wintab=yes
+ AC_DEFINE(HAVE_WINTAB)
+ WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
+ AC_SUBST(WINTAB_LIB)],
+ [have_wintab=no])
+ ],
+ [AC_MSG_RESULT(no)
+ have_wintab=no])
+ CFLAGS="$saved_cflags"
+fi
+AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
saved_cflags="$CFLAGS"
saved_ldflags="$LDFLAGS"
@@ -461,18 +539,18 @@ fi
dnl Test for libtiff
if test -z "$LIBTIFF"; then
AC_CHECK_LIB(tiff, TIFFReadScanline,
- AC_CHECK_HEADER(tiffio.h,
+ [AC_CHECK_HEADER(tiffio.h,
TIFF='tiff'; LIBTIFF='-ltiff',
- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
- AC_CHECK_LIB(tiff, TIFFWriteScanline,
- AC_CHECK_HEADER(tiffio.h,
+ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+ [AC_CHECK_LIB(tiff, TIFFWriteScanline,
+ [AC_CHECK_HEADER(tiffio.h,
TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
- AC_CHECK_LIB(tiff34, TIFFFlushData,
- AC_CHECK_HEADER(tiffio.h,
+ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+ [AC_CHECK_LIB(tiff34, TIFFFlushData,
+ [AC_CHECK_HEADER(tiffio.h,
TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
- AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
- AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm), -ljpeg -lz -lm), -lm)
+ AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+ AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
fi
dnl Test for libjpeg
@@ -505,9 +583,9 @@ dnl Test for libjpeg
dnl Test for libpng
if test -z "$LIBPNG"; then
AC_CHECK_LIB(png, png_read_info,
- AC_CHECK_HEADER(png.h,
+ [AC_CHECK_HEADER(png.h,
png_ok=yes,
- png_ok=no),
+ png_ok=no)],
AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
if test "$png_ok" = yes; then
AC_MSG_CHECKING([for png_structp in png.h])
@@ -828,15 +906,28 @@ if test "x$gdktarget" = "xx11"; then
GDK_EXTRA_CFLAGS=
GDK_EXTRA_LIBS="$x_extra_libs"
- # these are already defined above
- #gdktargetlib = "libgdk-x11-1.3.la"
- #gtktargetlib = "libgtk-x11-1.3.la"
-
AM_CONDITIONAL(USE_X11, true)
else
AM_CONDITIONAL(USE_X11, false)
fi
+if test "x$gdktarget" = "xwin32"; then
+ # We start off with the libraries from Pango
+
+ ## be sure we also have Pango built with win32 support
+ PANGO_PACKAGES="pangowin32"
+
+ if test x$have_wintab = xyes; then
+ GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
+ AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
+ fi
+
+ GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -luuid"
+ AM_CONDITIONAL(USE_WIN32, true)
+else
+ AM_CONDITIONAL(USE_WIN32, false)
+fi
+
AC_SUBST(xinput_progs)
GDK_PIXBUF_XLIB_PACKAGES=
@@ -850,9 +941,6 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
if test "x$gdktarget" = "xlinux-fb"; then
- gdktargetlib="libgdk-linux-fb-1.3.la"
- gtktargetlib="libgtk-linux-fb-1.3.la"
-
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
if test x$FREETYPE_CONFIG = xno ; then
AC_MSG_ERROR([*** freetype-config not found])
@@ -882,9 +970,6 @@ else
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
fi
-AC_SUBST(gdktargetlib)
-AC_SUBST(gtktargetlib)
-
#
# Pick correct Pango packages to use
#
@@ -895,6 +980,8 @@ if test "x$gdktarget" = "xx11"; then
else
PANGO_PACKAGES=pangox
fi
+elif test "x$gdktarget" = "xwin32"; then
+ PANGO_PACKAGES=pangowin32
elif test "x$gdktarget" = "xlinux-fb"; then
PANGO_PACKAGES=pangoft2
else
@@ -1099,6 +1186,9 @@ esac
if test "x$gdktarget" = "xx11" ; then
gdk_windowing='
#define GDK_WINDOWING_X11'
+elif test "x$gdktarget" = "xwin32" ; then
+ gdk_windowing='
+#define GDK_WINDOWING_WIN32'
elif test "x$gdktarget" = "xlinux-fb" ; then
gdk_windowing='
#define GDK_WINDOWING_FB
@@ -1126,6 +1216,7 @@ AM_CONDITIONAL(HAVE_SGML2HTML, ! test x$SGML2HTML = xno)
AC_OUTPUT([
config.h.win32
+gtk-zip.sh
gtk+.spec
Makefile
gdk-pixbuf-2.0.pc
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index a36f36afc..debc9860e 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -18,11 +18,48 @@ common_includes = @STRIP_BEGIN@ \
-I$(top_srcdir)/gdk-pixbuf \
@GTK_DEBUG_FLAGS@ \
@GDK_DEP_CFLAGS@ \
+ -DGDK_COMPILATION \
@STRIP_END@
INCLUDES = $(common_includes)
gtarget=@gdktarget@
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+
+if HAVE_WINTAB
+wintab_lib = -Lwin32 -lwntab32x
+endif
+endif
+
+if OS_WIN32
+gdk_win32_symbols = -export-symbols gdk.def
+
+install-libtool-import-lib:
+ $(INSTALL) .libs/libgdk-win32-1.3.dll.a $(DESTDIR)$(libdir)
+uninstall-libtool-import-lib:
+ -rm $(DESTDIR)$(libdir)/libdk-win32-1.3.dll.a
+else
+install-libtool-import-lib:
+uninstall-libtool-import-lib:
+endif
+
+if MS_LIB_AVAILABLE
+noinst_DATA = gdk-win32-1.3.lib
+
+gdk-win32-1.3.lib: libgdk-win32-1.3.la gdk.def
+ lib -name:libgdk-win32-1.3-@LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@
+
+install-ms-lib:
+ $(INSTALL) gdk-win32-1.3.lib $(DESTDIR)$(libdir)
+
+uninstall-ms-lib:
+ -rm $(DESTDIR)$(libdir)/gdk-win32-1.3.lib
+else
+install-ms-lib:
+uninstall-ms-lib:
+endif
+
# libtool stuff: set version and export symbols for resolving
# since automake doesn't support conditionalized libsomething_la_LDFLAGS
# we use the general approach here
@@ -30,6 +67,7 @@ LDFLAGS = @STRIP_BEGIN@ \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic \
-rpath @prefix@/lib \
+ $(no_undefined) \
@LIBTOOL_EXPORT_OPTIONS@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
@GDK_DEP_LIBS@ \
@@ -127,10 +165,23 @@ libgdk_linux_fb_include_HEADERS = $(gdk_headers)
libgdk_linux_fb_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
endif
+if USE_WIN32
+libgdk_win32_includedir = $(includedir)/gtk-2.0/gdk
+
+libgdk_win32_1_3_la_LIBADD = \
+ $(gtarget)/libgdk-$(gtarget).la $(wintab_lib)
+
+libgdk_win32_include_HEADERS = $(gdk_headers)
+libgdk_win32_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
+
+libgdk_win32_1_3_la_LDFLAGS = $(gdk_win32_symbols)
+
+endif
+
# now define the real one to workaround automake's mishandling
lib_LTLIBRARIES = $(extra)
-EXTRA_LTLIBRARIES = libgdk-x11-1.3.la libgdk-linux-fb-1.3.la
+EXTRA_LTLIBRARIES = libgdk-x11-1.3.la libgdk-linux-fb-1.3.la libgdk-win32-1.3.la
MAINTAINERCLEANFILES =
EXTRA_HEADERS =
@@ -177,6 +228,10 @@ stamp-gc-h: ../config.status
cd .. && CONFIG_FILES= CONFIG_HEADERS= CONFIG_OTHER=gdk/gdkconfig.h ./config.status
echo timestamp > stamp-gc-h
+install-data-local: install-ms-lib install-libtool-import-lib
+
+uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
+
.PHONY: files
files:
diff --git a/gdk/gdkglobals.c b/gdk/gdkglobals.c
index e30d17197..563d626e8 100644
--- a/gdk/gdkglobals.c
+++ b/gdk/gdkglobals.c
@@ -38,5 +38,5 @@ GList *_gdk_default_filters = NULL;
GList *_gdk_queued_events = NULL;
GList *_gdk_queued_tail = NULL;
-GMutex *gdk_threads_mutex = NULL; /* Global GDK lock */
+GDKVAR GMutex *gdk_threads_mutex = NULL; /* Global GDK lock */
diff --git a/gdk/makefile.mingw.in b/gdk/makefile.mingw.in
index 020d44fef..8bb2daf98 100644
--- a/gdk/makefile.mingw.in
+++ b/gdk/makefile.mingw.in
@@ -1,3 +1,7 @@
+####
+#### Out of order! Use autoconfiscation.
+####
+
## Makefile for building the GDK DLL with gcc on Win32
## Use: make -f makefile.mingw
diff --git a/gtk-zip.sh.in b/gtk-zip.sh.in
new file mode 100755
index 000000000..97935b3f3
--- /dev/null
+++ b/gtk-zip.sh.in
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# Build zipfile for GTK on Win32: both runtime and developer stuff
+
+# These two directory paths are obviously system-dependent.
+# These are what tml@iki.fi uses, change as appropriate.
+ZIP=/g/tmp/gtk+-@GTK_VERSION@-`date +%Y%m%d`.zip
+cd /target
+
+rm $ZIP
+zip -r $ZIP -@ <<EOF
+COPYING.LIB-2
+etc/gtk-2.0
+include/gtk-2.0
+lib/libgdk_pixbuf-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
+lib/libgdk_pixbuf-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.dll.a
+lib/gdk_pixbuf-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.lib
+lib/libgdk-win32-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
+lib/libgdk-win32.dll.a
+lib/gdk-win32.lib
+lib/libgtk-win32-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
+lib/libgtk-win32.dll.a
+lib/gtk-win32.lib
+lib/gtk-2.0
+lib/pkgconfig/gdk-pixbuf-2.0.pc
+lib/pkgconfig/gdk-2.0.pc
+lib/pkgconfig/gtk+-2.0.pc
+EOF
+
+zip -r $ZIP lib/locale/*/LC_MESSAGES/gtk20.mo
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 242fc689a..f80b6e58e 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -11,6 +11,7 @@ INCLUDES = @STRIP_BEGIN@ \
-DGTK_VERSION=\"@GTK_VERSION@\" \
-DGTK_BINARY_VERSION=\"@GTK_BINARY_VERSION@\" \
-DTESTGTK_RCFILE=\"`pwd`/$(srcdir)/testgtkrc\" \
+ -DGTK_COMPILATION \
-I$(top_builddir)/gtk \
-I$(top_srcdir) -I../gdk \
-I$(top_srcdir)/gdk \
@@ -21,6 +22,44 @@ INCLUDES = @STRIP_BEGIN@ \
gtarget=@gdktarget@
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+endif
+
+if OS_WIN32
+gtk_def = gtk.def
+gtk_win32_symbols = -export-symbols $(gtk_def)
+
+gtk_win32res_lo = gtk-win32res.lo
+
+gtk-win32res.lo : gtk-win32.rc
+ $(top_srcdir)/build/win32/lt-compile-resource gtk-win32.rc gtk-win32res.lo
+
+install-libtool-import-lib:
+ $(INSTALL) .libs/libgtk-win32-1.3.dll.a $(DESTDIR)$(libdir)
+uninstall-libtool-import-lib:
+ -rm $(DESTDIR)$(libdir)/libtk-win32-1.3.dll.a
+else
+install-libtool-import-lib:
+uninstall-libtool-import-lib:
+endif
+
+if MS_LIB_AVAILABLE
+noinst_DATA = gtk-win32-1.3.lib
+
+gtk-win32-1.3.lib: libgtk-win32-1.3.la gtk.def
+ lib -name:libgtk-win32-1.3-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
+
+install-ms-lib:
+ $(INSTALL) gtk-win32-1.3.lib $(DESTDIR)$(libdir)
+
+uninstall-ms-lib:
+ -rm $(DESTDIR)$(libdir)/gtk-win32-1.3.lib
+else
+install-ms-lib:
+uninstall-ms-lib:
+endif
+
# libtool stuff: set version and export symbols for resolving
# since automake doesn't support conditionalized libsomething_la_LDFLAGS
# we use the general approach here
@@ -29,6 +68,7 @@ LDFLAGS = @STRIP_BEGIN@ \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic \
-rpath @prefix@/lib \
+ $(no_undefined) \
@LIBTOOL_EXPORT_OPTIONS@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
@@ -394,7 +434,6 @@ gtk_extra_sources = @STRIP_BEGIN@ \
gtkmarshal.list \
@STRIP_END@
-
#
# setup GTK+ sources and their dependancies
#
@@ -504,15 +543,25 @@ libgtk_linux_fb_includedir = $(includedir)/gtk-2.0/gtk
libgtk_linux_fb_include_HEADERS = $(gtk_target_headers)
libgtk_linux_fb_1_3_la_SOURCES = $(gtk_target_sources)
endif
-EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-linux-fb-1.3.la
+if USE_WIN32
+libgtk_win32_includedir = $(includedir)/gtk-2.0/gtk
+libgtk_win32_include_HEADERS = $(gtk_target_headers)
+libgtk_win32_1_3_la_SOURCES = $(gtk_target_sources)
+libgtk_win32_1_3_la_LDFLAGS = $(gtk_win32_symbols) -lwsock32
+libgtk_win32_1_3_la_LIBADD = $(gtk_win32res_lo)
+libgtk_win32_1_3_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
+endif
+EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-linux-fb-1.3.la libgtk-win32-1.3.la
# We create a dummy theme for the default GTK+ theme
-install-data-local:
+install-data-local: install-ms-lib install-libtool-import-lib
$(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
echo "# Empty gtkrc for default theme" > $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
+uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
+
DEPS = @gtktargetlib@ $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la $(top_builddir)/gdk/@gdktargetlib@
TEST_DEPS = $(DEPS) gtk.immodules
diff --git a/gtk/gtk-win32.rc.in b/gtk/gtk-win32.rc.in
index 871fe05a5..fda5c6842 100644
--- a/gtk/gtk-win32.rc.in
+++ b/gtk/gtk-win32.rc.in
@@ -13,13 +13,13 @@ VS_VERSION_INFO VERSIONINFO
BEGIN
BLOCK "040904B0"
BEGIN
- VALUE "CompanyName", "The GTK+ developer community"
+ VALUE "CompanyName", "The GTK developer community"
VALUE "FileDescription", "GIMP Toolkit"
VALUE "FileVersion", "@GTK_VERSION@.BUILDNUMBER"
- VALUE "InternalName", "gtk-win32-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@"
+ VALUE "InternalName", "libgtk-win32-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@"
VALUE "LegalCopyright", "Copyright © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. Modified by the GTK+ Team and others 1997-2000."
- VALUE "OriginalFilename", "gtk-win32-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.dll"
- VALUE "ProductName", "GTK+"
+ VALUE "OriginalFilename", "libgtk-win32-@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@-@LT_CURRENT_MINUS_AGE@.dll"
+ VALUE "ProductName", "GTK"
VALUE "ProductVersion", "@GTK_VERSION@"
END
END
diff --git a/gtk/gtk.def b/gtk/gtk.def
index 13202007a..259e0e17a 100755
--- a/gtk/gtk.def
+++ b/gtk/gtk.def
@@ -4,10 +4,12 @@ EXPORTS
GTK_TYPE_ARG_FLAGS
GTK_TYPE_ARROW_TYPE
GTK_TYPE_ATTACH_OPTIONS
+ GTK_TYPE_BORDER
GTK_TYPE_BUTTONS_TYPE
GTK_TYPE_BUTTON_ACTION
GTK_TYPE_BUTTON_BOX_STYLE
GTK_TYPE_CALENDAR_DISPLAY_OPTIONS
+ GTK_TYPE_CELL_RENDERER_MODE
GTK_TYPE_CELL_RENDERER_STATE
GTK_TYPE_CELL_TYPE
GTK_TYPE_CLIST_DRAG_POS
@@ -22,7 +24,8 @@ EXPORTS
GTK_TYPE_DEST_DEFAULTS
GTK_TYPE_DIALOG_FLAGS
GTK_TYPE_DIRECTION_TYPE
- GTK_TYPE_FUNDAMENTAL_TYPE
+ GTK_TYPE_EXPANDER_STYLE
+ GTK_TYPE_ICON_SET
GTK_TYPE_ICON_SIZE
GTK_TYPE_IMAGE_TYPE
GTK_TYPE_JUSTIFICATION
@@ -31,6 +34,7 @@ EXPORTS
GTK_TYPE_MESSAGE_TYPE
GTK_TYPE_METRIC_TYPE
GTK_TYPE_MOVEMENT_STEP
+ GTK_TYPE_NOTEBOOK_TAB
GTK_TYPE_OBJECT_FLAGS
GTK_TYPE_ORIENTATION
GTK_TYPE_PACK_TYPE
@@ -45,6 +49,7 @@ EXPORTS
GTK_TYPE_RC_FLAGS
GTK_TYPE_RC_TOKEN_TYPE
GTK_TYPE_RELIEF_STYLE
+ GTK_TYPE_REQUISITION
GTK_TYPE_RESIZE_MODE
GTK_TYPE_RESPONSE_TYPE
GTK_TYPE_SCROLL_TYPE
@@ -53,6 +58,7 @@ EXPORTS
GTK_TYPE_SHADOW_TYPE
GTK_TYPE_SIDE_TYPE
GTK_TYPE_SIGNAL_RUN_TYPE
+ GTK_TYPE_SIZE_GROUP_MODE
GTK_TYPE_SORT_TYPE
GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY
GTK_TYPE_SPIN_TYPE
@@ -76,6 +82,7 @@ EXPORTS
GTK_TYPE_UPDATE_TYPE
GTK_TYPE_VISIBILITY
GTK_TYPE_WIDGET_FLAGS
+ GTK_TYPE_WIDGET_HELP_TYPE
GTK_TYPE_WINDOW_POSITION
GTK_TYPE_WINDOW_TYPE
GTK_TYPE_WRAP_MODE
@@ -214,7 +221,6 @@ EXPORTS
gtk_cell_renderer_text_get_type
gtk_cell_renderer_text_new
gtk_cell_renderer_text_set_fixed_height_from_font
- gtk_cell_renderer_toggle_get_active
gtk_cell_renderer_toggle_get_radio
gtk_cell_renderer_toggle_get_type
gtk_cell_renderer_toggle_new
@@ -1095,10 +1101,10 @@ EXPORTS
gtk_pixmap_new
gtk_pixmap_set
gtk_pixmap_set_build_insensitive
- gtk_plug_construct
- gtk_plug_get_id
- gtk_plug_get_type
- gtk_plug_new
+; gtk_plug_construct
+; gtk_plug_get_id
+; gtk_plug_get_type
+; gtk_plug_new
gtk_preview_draw_row
gtk_preview_get_cmap
gtk_preview_get_info
@@ -1290,11 +1296,11 @@ EXPORTS
gtk_size_group_new
gtk_size_group_remove_widget
gtk_size_group_set_mode
- gtk_socket_add_id
- gtk_socket_get_id
- gtk_socket_get_type
- gtk_socket_new
- gtk_socket_steal
+; gtk_socket_add_id
+; gtk_socket_get_id
+; gtk_socket_get_type
+; gtk_socket_new
+; gtk_socket_steal
gtk_spin_button_configure
gtk_spin_button_get_adjustment
gtk_spin_button_get_digits
@@ -1859,6 +1865,7 @@ EXPORTS
gtk_tree_view_column_get_min_width
gtk_tree_view_column_get_reorderable
gtk_tree_view_column_get_sizing
+ gtk_tree_view_column_get_sizing
gtk_tree_view_column_get_sort_column_id
gtk_tree_view_column_get_sort_indicator
gtk_tree_view_column_get_sort_order
@@ -2168,6 +2175,3 @@ EXPORTS
gtk_window_stick
gtk_window_unmaximize
gtk_window_unstick
-
-
-
diff --git a/gtk/gtkfilesel.c b/gtk/gtkfilesel.c
index fa330d0cc..902272b14 100644
--- a/gtk/gtkfilesel.c
+++ b/gtk/gtkfilesel.c
@@ -44,6 +44,9 @@
#ifdef HAVE_PWD_H
#include <pwd.h>
#endif
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h> /* For gethostname */
+#endif
#include "fnmatch.h"
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 450f3741a..2b46a4027 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -39,6 +39,11 @@
#ifdef G_OS_UNIX
#include <unistd.h>
#endif
+#ifdef G_OS_WIN32
+#define STRICT
+#include <windows.h>
+#undef STRICT
+#endif
#include <pango/pango-utils.h> /* For pango_split_file_list */
@@ -224,6 +229,56 @@ check_setugid (void)
return TRUE;
}
+#ifdef G_OS_WIN32
+
+G_WIN32_DLLMAIN_FOR_DLL_NAME(static, dll_name)
+
+const gchar *
+_gtk_get_libdir (void)
+{
+ static char *gtk_libdir = NULL;
+ if (gtk_libdir == NULL)
+ gtk_libdir = g_win32_get_package_installation_subdirectory
+ (GETTEXT_PACKAGE, dll_name, "lib");
+
+ return gtk_libdir;
+}
+
+const gchar *
+_gtk_get_localedir (void)
+{
+ static char *gtk_localedir = NULL;
+ if (gtk_localedir == NULL)
+ gtk_localedir = g_win32_get_package_installation_subdirectory
+ (GETTEXT_PACKAGE, dll_name, "lib\\locale");
+
+ return gtk_localedir;
+}
+
+const gchar *
+_gtk_get_sysconfdir (void)
+{
+ static char *gtk_sysconfdir = NULL;
+ if (gtk_sysconfdir == NULL)
+ gtk_sysconfdir = g_win32_get_package_installation_subdirectory
+ (GETTEXT_PACKAGE, dll_name, "etc");
+
+ return gtk_sysconfdir;
+}
+
+const gchar *
+_gtk_get_data_prefix (void)
+{
+ static char *gtk_data_prefix = NULL;
+ if (gtk_data_prefix == NULL)
+ gtk_data_prefix = g_win32_get_package_installation_directory
+ (GETTEXT_PACKAGE, dll_name);
+
+ return gtk_data_prefix;
+}
+
+#endif /* G_OS_WIN32 */
+
static gchar **
get_module_path (void)
{
@@ -236,13 +291,8 @@ get_module_path (void)
if (exe_prefix)
default_dir = g_build_filename (exe_prefix, "lib", "gtk-2.0", "modules", NULL);
else
- {
-#ifndef G_OS_WIN32
- default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", "modules", NULL);
-#else
- default_dir = g_build_filename (get_gtk_win32_directory (""), "modules", NULL);
-#endif
- }
+ default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", "modules", NULL);
+
module_path = g_strconcat (module_path_env ? module_path_env : "",
module_path_env ? G_SEARCHPATH_SEPARATOR_S : "",
default_dir, NULL);
@@ -548,19 +598,10 @@ gtk_init_check (int *argc,
}
#ifdef ENABLE_NLS
-# ifndef G_OS_WIN32
bindtextdomain (GETTEXT_PACKAGE, GTK_LOCALEDIR);
# ifdef HAVE_BIND_TEXTDOMAIN_CODESET
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
# endif
-# else /* !G_OS_WIN32 */
- {
- bindtextdomain (GETTEXT_PACKAGE,
- g_win32_get_package_installation_subdirectory (GETTEXT_PACKAGE,
- g_strdup_printf ("gtk-win32-%d.%d.dll", GTK_MAJOR_VERSION, GTK_MINOR_VERSION),
- "locale"));
- }
-#endif
#endif
{
diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h
index 66943590c..0de6707cf 100644
--- a/gtk/gtkprivate.h
+++ b/gtk/gtkprivate.h
@@ -74,9 +74,26 @@ typedef enum
#define GTK_PRIVATE_SET_FLAG(wid,flag) G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) |= (PRIVATE_ ## flag)); }G_STMT_END
#define GTK_PRIVATE_UNSET_FLAG(wid,flag) G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) &= ~(PRIVATE_ ## flag)); }G_STMT_END
+#ifdef G_OS_WIN32
+
+const gchar *_gtk_get_libdir ();
+const gchar *_gtk_get_sysconfdir ();
+const gchar *_gtk_get_localedir ();
+const gchar *_gtk_get_data_prefix ();
+
+#undef GTK_LIBDIR
+#define GTK_LIBDIR _gtk_get_libdir ()
+#undef GTK_LOCALEDIR
+#define GTK_LOCALEDIR _gtk_get_localedir ()
+#undef GTK_SYSCONFDIR
+#define GTK_SYSCONFDIR _gtk_get_sysconfdir ()
+#undef GTK_DATA_PREFIX
+#define GTK_DATA_PREFIX _gtk_get_data_prefix ()
+
+#endif /* G_OS_WIN32 */
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
-
#endif /* __GTK_PRIVATE_H__ */
diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c
index b8d27f29f..204eb8214 100644
--- a/gtk/gtkrc.c
+++ b/gtk/gtkrc.c
@@ -295,39 +295,16 @@ static GSList *rc_dir_stack = NULL;
/* RC file handling */
-#ifdef G_OS_WIN32
-gchar *
-get_gtk_win32_directory (gchar *subdir)
-{
- static gchar *gtk_dll = NULL;
-
- if (!gtk_dll)
- gtk_dll = g_strdup_printf ("gtk-win32-%d.%d.dll", GTK_MAJOR_VERSION, GTK_MINOR_VERSION);
-
- if (subdir && strlen(subdir) > 0)
- return g_win32_get_package_installation_subdirectory (GETTEXT_PACKAGE,
- gtk_dll,
- subdir);
- else
- return g_win32_get_package_installation_directory (GETTEXT_PACKAGE,
- gtk_dll);
-}
-#endif /* G_OS_WIN32 */
-
static gchar *
gtk_rc_make_default_dir (const gchar *type)
{
gchar *var, *path;
-#ifndef G_OS_WIN32
var = getenv("GTK_EXE_PREFIX");
if (var)
path = g_build_filename (var, "lib", "gtk-2.0", type, GTK_BINARY_VERSION, NULL);
else
path = g_build_filename (GTK_LIBDIR, "gtk-2.0,", type, GTK_BINARY_VERSION, NULL);
-#else
- path = g_build_filename (get_gtk_win32_directory (""), type, NULL);
-#endif
return path;
}
@@ -358,11 +335,7 @@ gtk_rc_get_im_module_file (void)
if (im_module_file)
result = g_strdup (im_module_file);
else
-#ifndef G_OS_WIN32
result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
-#else
- result = g_build_filename (get_gtk_win32_directory ("gtk-2.0"), "gtk.immodules", NULL);
-#endif
}
return result;
@@ -373,15 +346,11 @@ gtk_rc_get_theme_dir(void)
{
gchar *var, *path;
-#ifndef G_OS_WIN32
var = getenv("GTK_DATA_PREFIX");
if (var)
path = g_build_filename (var, "share", "themes", NULL);
else
path = g_build_filename (GTK_DATA_PREFIX, "share", "themes", NULL);
-#else
- path = g_build_filename (get_gtk_win32_directory (""), "themes", NULL);
-#endif
return path;
}
@@ -403,15 +372,11 @@ gtk_rc_append_default_module_path(void)
if (n >= GTK_RC_MAX_MODULE_PATHS - 1)
return;
-#ifndef G_OS_WIN32
var = getenv("GTK_EXE_PREFIX");
if (var)
path = g_build_filename (var, "lib", "gtk-2.0", GTK_VERSION, "engines", NULL);
else
path = g_build_filename (GTK_LIBDIR, "gtk-2.0", GTK_VERSION, "engines", NULL);
-#else
- path = g_build_filename (get_gtk_win32_directory ("gtk-2.0"), GTK_VERSION, "engines", NULL);
-#endif
module_path[n++] = path;
var = g_get_home_dir ();
@@ -452,11 +417,7 @@ gtk_rc_add_initial_default_files (void)
}
else
{
-#ifndef G_OS_WIN32
str = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtkrc", NULL);
-#else
- str = g_build_filename (get_gtk_win32_directory (""), "gtkrc", NULL);
-#endif
gtk_rc_add_default_file (str);
g_free (str);
diff --git a/gtk/makefile.mingw.in b/gtk/makefile.mingw.in
index 6501bee21..c2770cdd8 100644
--- a/gtk/makefile.mingw.in
+++ b/gtk/makefile.mingw.in
@@ -1,15 +1,13 @@
+####
+#### Out of order! Use autoconfiscation.
+####
+
## Makefile for building the GTK DLL with gcc on Win32
## Use: make -f makefile.mingw
## There is no install target, you have to decide where and
## how to install for yourself.
-# This is the location of pthreads for Win32,
-# see http://sourceware.cygnus.com/pthreads-win32/
-PTHREADS = ../../pthreads-snap-1999-05-30
-PTHREAD_LIB = -L $(PTHREADS) -lpthread
-PTHREAD_INC = -I $(PTHREADS)
-
OPTIMIZE = -g
TOP = ../..
@@ -459,12 +457,6 @@ testtextbuffer.exe : testtextbuffer.o
testtextbuffer.o : testtextbuffer.c
$(CC) $(CFLAGS) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testtextbuffer\" testtextbuffer.c
-testthreads.exe : testthreads.o
- $(CC) $(CFLAGS) -o $@ testthreads.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(PTHREAD_LIB) $(LDFLAGS)
-
-testthreads.o : testthreads.c
- $(CC) $(CFLAGS) -I$(PTHREAD_INC) -UGTK_COMPILATION -c -DG_LOG_DOMAIN=\"testthreads\" -DUSE_PTHREADS=1 testthreads.c
-
simple.exe : simple.o
$(CC) $(CFLAGS) -o $@ simple.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
diff --git a/gtk/maketypes.awk b/gtk/maketypes.awk
index 8826c40ae..2a88f4549 100644
--- a/gtk/maketypes.awk
+++ b/gtk/maketypes.awk
@@ -83,7 +83,7 @@ function generate (generate_what)
}
if (gen_vars)
{
- printf ("GtkType %s = 0;\n", type_macro);
+ printf ("GTKTYPEBUILTINS_VAR GtkType %s = 0;\n", type_macro);
}
}