diff options
author | Tor Lillqvist <tml@iki.fi> | 2010-02-10 15:30:12 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2010-03-15 23:25:26 +0200 |
commit | b68d520e9ff526be4301f6db09c0faa077cd864a (patch) | |
tree | 2a5d959733f966f72b0b128799fa35b184b0ddf4 /pango/Makefile.am | |
parent | 6118d5891fee776a087855c335a73c79fdaf036c (diff) | |
download | pango-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.am | 55 |
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 |