summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2001-10-28 22:54:14 +0000
committerTor Lillqvist <tml@src.gnome.org>2001-10-28 22:54:14 +0000
commit53570e37a04c11518dc99c1b6357cff8182c1980 (patch)
tree6f8a9b437da29b7f2c951e812fba5fc9b4707b51
parentf5527477d469cf50063bad41de22138806748520 (diff)
downloadpango-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--ChangeLog21
-rw-r--r--ChangeLog.pre-1-021
-rw-r--r--ChangeLog.pre-1-1021
-rw-r--r--ChangeLog.pre-1-221
-rw-r--r--ChangeLog.pre-1-421
-rw-r--r--ChangeLog.pre-1-621
-rw-r--r--ChangeLog.pre-1-821
-rw-r--r--Makefile.am3
-rw-r--r--README.win329
-rw-r--r--configure.in6
-rw-r--r--modules/Makefile.am10
-rwxr-xr-xpango-zip.sh.in26
-rw-r--r--pango/Makefile.am47
-rw-r--r--pango/makefile.mingw.in2
-rw-r--r--tests/Makefile.am8
15 files changed, 253 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 0a93d76e..01e0dff9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 \