summaryrefslogtreecommitdiff
path: root/gdk/Makefile.am
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 /gdk/Makefile.am
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.
Diffstat (limited to 'gdk/Makefile.am')
-rw-r--r--gdk/Makefile.am57
1 files changed, 56 insertions, 1 deletions
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: