diff options
author | Tor Lillqvist <tml@iki.fi> | 2001-10-28 22:54:14 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2001-10-28 22:54:14 +0000 |
commit | 53570e37a04c11518dc99c1b6357cff8182c1980 (patch) | |
tree | 6f8a9b437da29b7f2c951e812fba5fc9b4707b51 | |
parent | f5527477d469cf50063bad41de22138806748520 (diff) | |
download | pango-53570e37a04c11518dc99c1b6357cff8182c1980.tar.gz |
New file, used to build distribution package for Windows.
2001-10-29 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: New file, used to build distribution package
for Windows.
* Makefile.am (EXTRA_DIST): Add pango-zip.sh.
* configure.in: Check for lib.exe, set MS_LIB_AVAILABLE. Generate
pango-zip.sh.
* README.win32: Mention the ways to build Pango on Windows.
* modules/Makefile.am
* examples/Makefile.am: Se SOSUFFIX to so on Unix, dll on Windows.
* pango/Makefile.am: Add rules to create MSVC import library if
MS_LIB_AVAILABLE. Add rules to install and uninstall mingw and
MSVC import libraries.
* tests/Makefile.am: Link with libpangox.la only on Unix.
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | ChangeLog.pre-1-0 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-1-10 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-1-2 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-1-4 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-1-6 | 21 | ||||
-rw-r--r-- | ChangeLog.pre-1-8 | 21 | ||||
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | README.win32 | 9 | ||||
-rw-r--r-- | configure.in | 6 | ||||
-rw-r--r-- | modules/Makefile.am | 10 | ||||
-rwxr-xr-x | pango-zip.sh.in | 26 | ||||
-rw-r--r-- | pango/Makefile.am | 47 | ||||
-rw-r--r-- | pango/makefile.mingw.in | 2 | ||||
-rw-r--r-- | tests/Makefile.am | 8 |
15 files changed, 253 insertions, 5 deletions
@@ -1,3 +1,24 @@ +2001-10-29 Tor Lillqvist <tml@iki.fi> + + * pango-zip.sh.in: New file, used to build distribution package + for Windows. + + * Makefile.am (EXTRA_DIST): Add pango-zip.sh. + + * configure.in: Check for lib.exe, set MS_LIB_AVAILABLE. Generate + pango-zip.sh. + + * README.win32: Mention the ways to build Pango on Windows. + + * modules/Makefile.am + * examples/Makefile.am: Se SOSUFFIX to so on Unix, dll on Windows. + + * pango/Makefile.am: Add rules to create MSVC import library if + MS_LIB_AVAILABLE. Add rules to install and uninstall mingw and + MSVC import libraries. + + * tests/Makefile.am: Link with libpangox.la only on Unix. + 2001-10-27 Matthias Clasen <matthiasc@poet.de> * pango/modules.c: Typo fix. diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0 index 0a93d76e..01e0dff9 100644 --- a/ChangeLog.pre-1-0 +++ b/ChangeLog.pre-1-0 @@ -1,3 +1,24 @@ +2001-10-29 Tor Lillqvist <tml@iki.fi> + + * pango-zip.sh.in: New file, used to build distribution package + for Windows. + + * Makefile.am (EXTRA_DIST): Add pango-zip.sh. + + * configure.in: Check for lib.exe, set MS_LIB_AVAILABLE. Generate + pango-zip.sh. + + * README.win32: Mention the ways to build Pango on Windows. + + * modules/Makefile.am + * examples/Makefile.am: Se SOSUFFIX to so on Unix, dll on Windows. + + * pango/Makefile.am: Add rules to create MSVC import library if + MS_LIB_AVAILABLE. Add rules to install and uninstall mingw and + MSVC import libraries. + + * tests/Makefile.am: Link with libpangox.la only on Unix. + 2001-10-27 Matthias Clasen <matthiasc@poet.de> * pango/modules.c: Typo fix. diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index 0a93d76e..01e0dff9 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,24 @@ +2001-10-29 Tor Lillqvist <tml@iki.fi> + + * pango-zip.sh.in: New file, used to build distribution package + for Windows. + + * Makefile.am (EXTRA_DIST): Add pango-zip.sh. + + * configure.in: Check for lib.exe, set MS_LIB_AVAILABLE. Generate + pango-zip.sh. + + * README.win32: Mention the ways to build Pango on Windows. + + * modules/Makefile.am + * examples/Makefile.am: Se SOSUFFIX to so on Unix, dll on Windows. + + * pango/Makefile.am: Add rules to create MSVC import library if + MS_LIB_AVAILABLE. Add rules to install and uninstall mingw and + MSVC import libraries. + + * tests/Makefile.am: Link with libpangox.la only on Unix. + 2001-10-27 Matthias Clasen <matthiasc@poet.de> * pango/modules.c: Typo fix. diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2 index 0a93d76e..01e0dff9 100644 --- a/ChangeLog.pre-1-2 +++ b/ChangeLog.pre-1-2 @@ -1,3 +1,24 @@ +2001-10-29 Tor Lillqvist <tml@iki.fi> + + * pango-zip.sh.in: New file, used to build distribution package + for Windows. + + * Makefile.am (EXTRA_DIST): Add pango-zip.sh. + + * configure.in: Check for lib.exe, set MS_LIB_AVAILABLE. Generate + pango-zip.sh. + + * README.win32: Mention the ways to build Pango on Windows. + + * modules/Makefile.am + * examples/Makefile.am: Se SOSUFFIX to so on Unix, dll on Windows. + + * pango/Makefile.am: Add rules to create MSVC import library if + MS_LIB_AVAILABLE. Add rules to install and uninstall mingw and + MSVC import libraries. + + * tests/Makefile.am: Link with libpangox.la only on Unix. + 2001-10-27 Matthias Clasen <matthiasc@poet.de> * pango/modules.c: Typo fix. diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4 index 0a93d76e..01e0dff9 100644 --- a/ChangeLog.pre-1-4 +++ b/ChangeLog.pre-1-4 @@ -1,3 +1,24 @@ +2001-10-29 Tor Lillqvist <tml@iki.fi> + + * pango-zip.sh.in: New file, used to build distribution package + for Windows. + + * Makefile.am (EXTRA_DIST): Add pango-zip.sh. + + * configure.in: Check for lib.exe, set MS_LIB_AVAILABLE. Generate + pango-zip.sh. + + * README.win32: Mention the ways to build Pango on Windows. + + * modules/Makefile.am + * examples/Makefile.am: Se SOSUFFIX to so on Unix, dll on Windows. + + * pango/Makefile.am: Add rules to create MSVC import library if + MS_LIB_AVAILABLE. Add rules to install and uninstall mingw and + MSVC import libraries. + + * tests/Makefile.am: Link with libpangox.la only on Unix. + 2001-10-27 Matthias Clasen <matthiasc@poet.de> * pango/modules.c: Typo fix. diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6 index 0a93d76e..01e0dff9 100644 --- a/ChangeLog.pre-1-6 +++ b/ChangeLog.pre-1-6 @@ -1,3 +1,24 @@ +2001-10-29 Tor Lillqvist <tml@iki.fi> + + * pango-zip.sh.in: New file, used to build distribution package + for Windows. + + * Makefile.am (EXTRA_DIST): Add pango-zip.sh. + + * configure.in: Check for lib.exe, set MS_LIB_AVAILABLE. Generate + pango-zip.sh. + + * README.win32: Mention the ways to build Pango on Windows. + + * modules/Makefile.am + * examples/Makefile.am: Se SOSUFFIX to so on Unix, dll on Windows. + + * pango/Makefile.am: Add rules to create MSVC import library if + MS_LIB_AVAILABLE. Add rules to install and uninstall mingw and + MSVC import libraries. + + * tests/Makefile.am: Link with libpangox.la only on Unix. + 2001-10-27 Matthias Clasen <matthiasc@poet.de> * pango/modules.c: Typo fix. diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8 index 0a93d76e..01e0dff9 100644 --- a/ChangeLog.pre-1-8 +++ b/ChangeLog.pre-1-8 @@ -1,3 +1,24 @@ +2001-10-29 Tor Lillqvist <tml@iki.fi> + + * pango-zip.sh.in: New file, used to build distribution package + for Windows. + + * Makefile.am (EXTRA_DIST): Add pango-zip.sh. + + * configure.in: Check for lib.exe, set MS_LIB_AVAILABLE. Generate + pango-zip.sh. + + * README.win32: Mention the ways to build Pango on Windows. + + * modules/Makefile.am + * examples/Makefile.am: Se SOSUFFIX to so on Unix, dll on Windows. + + * pango/Makefile.am: Add rules to create MSVC import library if + MS_LIB_AVAILABLE. Add rules to install and uninstall mingw and + MSVC import libraries. + + * tests/Makefile.am: Link with libpangox.la only on Unix. + 2001-10-27 Matthias Clasen <matthiasc@poet.de> * pango/modules.c: Typo fix. diff --git a/Makefile.am b/Makefile.am index c5400034..1a8e815b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -15,7 +15,8 @@ EXTRA_DIST = \ pangoft2-uninstalled.pc.in \ pangowin32-uninstalled.pc.in \ TODO.xml \ - README.win32 + README.win32 \ + pango-zip.sh if HAVE_X X_PC=pangox.pc diff --git a/README.win32 b/README.win32 index 96d90ac4..50df5a19 100644 --- a/README.win32 +++ b/README.win32 @@ -3,3 +3,12 @@ pangoft2. Pangowin32 uses the Win32 GDI font API. Pangoft2 uses FreeType2. Neither one is even close to being as useable as the X11 backend. They are buggy and slow, and print copious amounts of debugging output. + +There are two supported ways to build Pango for Win32: + +1) Use autoconfiscation. I.e., aclocal, automake, autoconf and +configure to build makefiles etc. The generated makefiles use libtool +and gcc (mingw) to do the compilation. This is what tml@iki.fi uses. + +2) Use MSVC and nmake. Use the makefile.msc makefiles. These makefiles +are supported by Hans Breuer. diff --git a/configure.in b/configure.in index 3ec19b51..2b0ac3a2 100644 --- a/configure.in +++ b/configure.in @@ -40,6 +40,11 @@ esac AC_MSG_RESULT([$pango_os_win32]) AM_CONDITIONAL(OS_WIN32, test "$pango_os_win32" = "yes") +if test "$pango_os_win32" = "yes"; then + AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) +fi +AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes) + changequote(,)dnl if test "x$GCC" = "xyes"; then case " $CFLAGS " in @@ -579,6 +584,7 @@ pangox-uninstalled.pc pangowin32-uninstalled.pc pangoft2-uninstalled.pc pangoxft-uninstalled.pc +pango-zip.sh ],[case "$CONFIG_FILES" in *pango-config*)chmod +x pango-config;; esac]) diff --git a/modules/Makefile.am b/modules/Makefile.am index 4f7f259d..6bd8f4e9 100644 --- a/modules/Makefile.am +++ b/modules/Makefile.am @@ -1,5 +1,11 @@ ## Process this file with automake to create Makefile.in. +if PLATFORM_WIN32 +SOSUFFIX=dll +else +SOSUFFIX=so +endif + SUBDIRS = \ arabic \ basic \ @@ -14,9 +20,9 @@ EXTRA_DIST = \ install-data-local: ($(mkinstalldirs) $(DESTDIR)$(sysconfdir)/pango; \ - if ls $(DESTDIR)$(libdir)/pango/modules/*.so | grep 'so' > /dev/null ; then \ + if ls $(DESTDIR)$(libdir)/pango/modules/*.$(SOSUFFIX) | grep '$(SOSUFFIX)' > /dev/null ; then \ echo "Wrote $(DESTDIR)$(sysconfdir)/pango/pango.modules."; \ - $(top_builddir)/pango/pango-querymodules $(DESTDIR)$(libdir)/pango/modules/*.so \ + $(top_builddir)/pango/pango-querymodules $(DESTDIR)$(libdir)/pango/modules/*.$(SOSUFFIX) \ > $(DESTDIR)$(sysconfdir)/pango/pango.modules; \ else \ echo "No dynamic modules were installed; all modules were linked statically."; \ diff --git a/pango-zip.sh.in b/pango-zip.sh.in new file mode 100755 index 00000000..e3d69f3a --- /dev/null +++ b/pango-zip.sh.in @@ -0,0 +1,26 @@ +#!/bin/sh + +# Build zipfile for Pango on Win32: both runtime and developer stuff + +# These two directory paths are obviously system-dependent. This is what tml +# happens to use. +ZIP=/g/tmp/pango-@PANGO_MAJOR_VERSION@.@PANGO_MINOR_VERSION@.zip +cd /target + +rm $ZIP +zip -r $ZIP -@ <<EOF +etc/pango +include/pango-1.0 +lib/libpango-@PANGO_MAJOR_VERSION@-@PANGO_MINOR_VERSION@.dll +lib/libpango.dll.a +lib/pango.lib +lib/libpangoft2-@PANGO_MAJOR_VERSION@-@PANGO_MINOR_VERSION@.dll +lib/libpangoft2.dll.a +lib/pangoft2.lib +lib/libpangowin32-@PANGO_MAJOR_VERSION@-@PANGO_MINOR_VERSION@.dll +lib/libpangowin32.dll.a +lib/pangowin32.lib +lib/pkgconfig/pango.pc +lib/pkgconfig/pangowin32.pc +lib/pkgconfig/pangoft2.pc +EOF diff --git a/pango/Makefile.am b/pango/Makefile.am index 4457c699..35040d0a 100644 --- a/pango/Makefile.am +++ b/pango/Makefile.am @@ -66,10 +66,44 @@ if OS_WIN32 pango_export_symbols = -export-symbols pango.def pangowin32_export_symbols = -export-symbols pangowin32.def pangoft2_export_symbols = -export-symbols pangoft2.def + +install-libtool-import-lib: + $(INSTALL) .libs/libpango.dll.a $(DESTDIR)$(libdir) +if HAVE_FREETYPE + $(INSTALL) .libs/libpangoft2.dll.a $(DESTDIR)$(libdir) +endif + $(INSTALL) .libs/libpangowin32.dll.a $(DESTDIR)$(libdir) +uninstall-libtool-import-lib: + -rm $(DESTDIR)$(libdir)/libpango.dll.a + -rm $(DESTDIR)$(libdir)/libpangoft2.dll.a + -rm $(DESTDIR)$(libdir)/libpangowin32.dll.a +else +install-libtool-import-lib: +uninstall-libtool-import-lib: + endif lib_LTLIBRARIES = libpango.la $(X_BUILD_LIBS) $(WIN32_BUILD_LIBS) $(XFT_BUILD_LIBS) $(FT2_BUILD_LIBS) +if MS_LIB_AVAILABLE +noinst_DATA = pango.lib pangoft2.lib pangowin32.lib + +install-ms-lib: + $(INSTALL) pango.lib $(DESTDIR)$(libdir) +if HAVE_FREETYPE + $(INSTALL) pangoft2.lib $(DESTDIR)$(libdir) +endif + $(INSTALL) pangowin32.lib $(DESTDIR)$(libdir) + +uninstall-ms-lib: + -rm $(DESTDIR)$(libdir)/pango.lib + -rm $(DESTDIR)$(libdir)/pangoft2.lib + -rm $(DESTDIR)$(libdir)/pangowin32.lib +else +install-ms-lib: +uninstall-ms-lib: +endif + bin_PROGRAMS = pango-querymodules pango_built_headers = pango-enum-types.h @@ -261,3 +295,16 @@ CLEANFILES = \ s-enum-types-h \ pango-enum-types.c \ s-enum-types-c + +pango.lib: libpango.la pango.def + lib -name:libpango-@PANGO_MAJOR_VERSION@-@PANGO_MINOR_VERSION@.dll -def:pango.def -out:$@ + +pangoft2.lib: libpangoft2.la pangoft2.def + lib -name:libpangoft2-@PANGO_MAJOR_VERSION@-@PANGO_MINOR_VERSION@.dll -def:pangoft2.def -out:$@ + +pangowin32.lib: libpangowin32.la pangowin32.def + lib -name:libpangowin32-@PANGO_MAJOR_VERSION@-@PANGO_MINOR_VERSION@.dll -def:pangowin32.def -out:$@ + +install-data-local: install-ms-lib install-libtool-import-lib + +uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib diff --git a/pango/makefile.mingw.in b/pango/makefile.mingw.in index a4b03e9d..7534519c 100644 --- a/pango/makefile.mingw.in +++ b/pango/makefile.mingw.in @@ -1,3 +1,5 @@ +# Out-of-date. Use autoconf,automake etc to build! + TOP = ../.. include $(TOP)/build/win32/make.mingw diff --git a/tests/Makefile.am b/tests/Makefile.am index a5fdeb3b..3f6651bc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -12,10 +12,14 @@ testboundaries_SOURCES = testboundaries.c dump_boundaries_SOURCES = dump-boundaries.c +if OS_WIN32 +else ## pangox should not actually be required, this is broken -testboundaries_LDADD = ../pango/libpango.la ../pango/libpangox.la $(X_LIBS) +pangox_la = ../pango/libpangox.la +endif +testboundaries_LDADD = ../pango/libpango.la $(pangox_la) $(X_LIBS) -dump_boundaries_LDADD = ../pango/libpango.la ../pango/libpangox.la $(X_LIBS) +dump_boundaries_LDADD = ../pango/libpango.la $(pangox_la) $(X_LIBS) EXTRA_DIST = \ all-unicode.txt \ |