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.
This commit is contained in:
Tor Lillqvist
2001-10-29 07:06:37 +00:00
committed by Tor Lillqvist
parent a53f14a6e3
commit 06b4ef6517
24 changed files with 1018 additions and 153 deletions

View File

@ -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:

View File

@ -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 */

View File

@ -1,3 +1,7 @@
####
#### Out of order! Use autoconfiscation.
####
## Makefile for building the GDK DLL with gcc on Win32
## Use: make -f makefile.mingw