summaryrefslogtreecommitdiff
path: root/pango/Makefile.am
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2010-02-10 15:30:12 +0200
committerTor Lillqvist <tml@iki.fi>2010-03-15 23:25:26 +0200
commitb68d520e9ff526be4301f6db09c0faa077cd864a (patch)
tree2a5d959733f966f72b0b128799fa35b184b0ddf4 /pango/Makefile.am
parent6118d5891fee776a087855c335a73c79fdaf036c (diff)
downloadpango-b68d520e9ff526be4301f6db09c0faa077cd864a.tar.gz
Add solution and project files for Visual Studio builds
The VS files are kept in build/win32/vs9, the same relative location as in GLib, mostly for historical reasons. Update README.win32 to reflect the VS possibility. Include the VS solution and project files in the tarball when doing a release. To avoid having to list source files in several locations, generate files listing source files at "make dist" time in the corresponding source directories. Use the C preprocessor to preprocess .vcprojin files that include said list files into the actual .vcproj project files. Provide a rc file for the pangocairo DLL, too. Construct and provide in the tarball a pregenerated config.h.win32 which can be used as config.h when building with Visual C without running any configure script. Provide pregenerarated module-defs.h.win32, module-defs-lang.c.win32 files too. Define PANGO_MODULE_PREFIX appropriately in the relevant module source files if not available from the compilation command line. Update module-defs-fc.c.win32 and module-defs-win32.c.win32 to match what the configure script provides.
Diffstat (limited to 'pango/Makefile.am')
-rw-r--r--pango/Makefile.am55
1 files changed, 49 insertions, 6 deletions
diff --git a/pango/Makefile.am b/pango/Makefile.am
index cef644f1..ce3d0b77 100644
--- a/pango/Makefile.am
+++ b/pango/Makefile.am
@@ -14,8 +14,6 @@ if HAVE_FREETYPE
OPENTYPE_SUBDIR=opentype
endif
-EXTRA_DIST =
-
FRIBIDI_SUBDIR=mini-fribidi
SUBDIRS = $(OPENTYPE_SUBDIR) $(FRIBIDI_SUBDIR)
@@ -350,18 +348,23 @@ libpangocairo_1_0_la_LIBADD = \
$(libm)
libpangocairo_1_0_la_DEPENDENCIES = \
libpango-$(PANGO_API_VERSION).la
-libpangocairo_1_0_la_SOURCES = \
+pangocairo_core_sources = \
pangocairo-context.c \
pangocairo-font.c \
pangocairo-fontmap.c \
pangocairo-render.c \
pangocairo-private.h
+libpangocairo_1_0_la_SOURCES = $(pangocairo_core_sources)
+
if HAVE_CAIRO_WIN32
if PLATFORM_WIN32
-libpangocairo_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangocairo.def
-libpangocairo_1_0_la_DEPENDENCIES += pangocairo.def
+libpangocairo_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangocairo.def -Wl,pangocairo-win32-res.o
+libpangocairo_1_0_la_DEPENDENCIES += pangocairo-win32-res.o pangocairo.def
endif
+pangocairo-win32-res.o: pangocairo.rc
+ $(AM_V_GEN) $(WINDRES) $< $@
+
libpangocairo_1_0_la_LIBADD += libpangowin32-$(PANGO_API_VERSION).la $(WIN32_LIBS)
libpangocairo_1_0_la_DEPENDENCIES += libpangowin32-$(PANGO_API_VERSION).la
@@ -556,9 +559,11 @@ pango_querymodules_LDADD += libpangowin32-$(PANGO_API_VERSION).la
endif
pango_querymodules_LDADD += libpango-$(PANGO_API_VERSION).la $(GLIB_LIBS)
-EXTRA_DIST += \
+EXTRA_DIST = \
pango-enum-types.h \
module-defs.h \
+ module-defs.h.win32 \
+ module-defs-lang.c.win32 \
module-defs-fc.c.win32 \
module-defs-win32.c.win32 \
pango.def \
@@ -573,6 +578,8 @@ EXTRA_DIST += \
pangoft2.rc.in \
pangowin32.rc \
pangowin32.rc.in \
+ pangocairo.rc \
+ pangocairo.rc.in \
pangox.rc \
pangox.rc.in \
pangoxft.rc \
@@ -630,4 +637,40 @@ uninstall-local: uninstall-ms-lib uninstall-def-files
TESTS = check.defs
+dist-hook: \
+ ../build/win32/vs9/pango.vcproj \
+ ../build/win32/vs9/pangoft2.vcproj \
+ ../build/win32/vs9/pangocairo.vcproj
+
+# pangowin32.vcproj is not automatically built, it is not being changed
+
+../build/win32/vs9/pango.vcproj: $(top_srcdir)/build/win32/vs9/pango.vcprojin mini-fribidi/libmini-fribidi.sourcefiles
+ for F in $(libpango_1_0_la_SOURCES); do \
+ case $$F in \
+ *.c) echo ' <File RelativePath="..\..\..\pango\'$$F'" />' \
+ ;; \
+ esac; \
+ done >libpango.sourcefiles
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs9/pango.vcprojin >$@
+
+../build/win32/vs9/pangoft2.vcproj: $(top_srcdir)/build/win32/vs9/pangoft2.vcprojin opentype/libharfbuzz.sourcefiles
+ for F in $(libpangoft2_1_0_la_SOURCES); do \
+ case $$F in \
+ *.c) echo ' <File RelativePath="..\..\..\pango\'$$F'" />' \
+ ;; \
+ esac; \
+ done >libpangoft2.sourcefiles
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs9/pangoft2.vcprojin >$@
+
+../build/win32/vs9/pangocairo.vcproj: $(top_srcdir)/build/win32/vs9/pangocairo.vcprojin
+# Backend-specific sources for the libpangocairo DLL are explicitly
+# listed in the vcprojin file
+ for F in $(pangocairo_core_sources); do \
+ case $$F in \
+ *.c) echo ' <File RelativePath="..\..\..\pango\'$$F'" />' \
+ ;; \
+ esac; \
+ done >libpangocairo.sourcefiles
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs9/pangocairo.vcprojin >$@
+
-include $(top_srcdir)/git.mk