diff options
-rw-r--r-- | ChangeLog | 34 | ||||
-rw-r--r-- | ChangeLog.pre-1-0 | 34 | ||||
-rw-r--r-- | ChangeLog.pre-1-10 | 34 | ||||
-rw-r--r-- | ChangeLog.pre-1-2 | 34 | ||||
-rw-r--r-- | ChangeLog.pre-1-4 | 34 | ||||
-rw-r--r-- | ChangeLog.pre-1-6 | 34 | ||||
-rw-r--r-- | ChangeLog.pre-1-8 | 34 | ||||
-rw-r--r-- | configure.in | 116 | ||||
-rw-r--r-- | modules/arabic/Makefile.am | 36 | ||||
-rw-r--r-- | modules/arabic/arabic-fc.c | 4 | ||||
-rw-r--r-- | modules/arabic/arabic-xft.c | 4 | ||||
-rw-r--r-- | modules/basic/Makefile.am | 42 | ||||
-rw-r--r-- | modules/basic/basic-fc.c | 6 | ||||
-rw-r--r-- | modules/basic/basic-ft2.c | 4 | ||||
-rw-r--r-- | modules/basic/basic-xft.c | 6 | ||||
-rw-r--r-- | pango/Makefile.am | 18 | ||||
-rw-r--r-- | pango/modules.h | 4 | ||||
-rw-r--r-- | pango/pangoft2.c | 13 | ||||
-rw-r--r-- | pango/pangox.c | 4 | ||||
-rw-r--r-- | pango/pangoxft-fontmap.c | 11 |
20 files changed, 450 insertions, 56 deletions
@@ -1,3 +1,37 @@ +2001-01-03 Alexander Larsson <alexl@redhat.com> + + * configure.in: + Update the default list of included modules for + --with-included-modules=yes to include all new modules. + Split INCLUDED_MODULES and module-defs.c into per shaper + engine type lists. + + * modules/arabic/Makefile.am: + Build libpango-arabic-xft.la if INCLUDE_ARABIC_XFT. + + * modules/arabic/arabic-xft.c: + Change module prefix to _pango_arabic_xft_ + + * modules/basic/Makefile.am: + Build static libs for all included modules. + + * modules/basic/basic-ft2.c: + Change module prefix to _pango_basic_ft2_ + + * modules/basic/basic-xft.c: + Change module prefix to _pango_basic_xft_ + + * pango/Makefile.am: + Include correct module-defs-XXX in libs. + + * pango/modules.h: + Split _pango_included_modules[] into separate lists. + + * pango/pangox.c: + * pango/pangoft2.c: + * pango/pangoxft-fontmap.c: + Register built in modules. + 2000-12-22 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2.c: diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0 index a35bc5a0..8309c780 100644 --- a/ChangeLog.pre-1-0 +++ b/ChangeLog.pre-1-0 @@ -1,3 +1,37 @@ +2001-01-03 Alexander Larsson <alexl@redhat.com> + + * configure.in: + Update the default list of included modules for + --with-included-modules=yes to include all new modules. + Split INCLUDED_MODULES and module-defs.c into per shaper + engine type lists. + + * modules/arabic/Makefile.am: + Build libpango-arabic-xft.la if INCLUDE_ARABIC_XFT. + + * modules/arabic/arabic-xft.c: + Change module prefix to _pango_arabic_xft_ + + * modules/basic/Makefile.am: + Build static libs for all included modules. + + * modules/basic/basic-ft2.c: + Change module prefix to _pango_basic_ft2_ + + * modules/basic/basic-xft.c: + Change module prefix to _pango_basic_xft_ + + * pango/Makefile.am: + Include correct module-defs-XXX in libs. + + * pango/modules.h: + Split _pango_included_modules[] into separate lists. + + * pango/pangox.c: + * pango/pangoft2.c: + * pango/pangoxft-fontmap.c: + Register built in modules. + 2000-12-22 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2.c: diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index a35bc5a0..8309c780 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,37 @@ +2001-01-03 Alexander Larsson <alexl@redhat.com> + + * configure.in: + Update the default list of included modules for + --with-included-modules=yes to include all new modules. + Split INCLUDED_MODULES and module-defs.c into per shaper + engine type lists. + + * modules/arabic/Makefile.am: + Build libpango-arabic-xft.la if INCLUDE_ARABIC_XFT. + + * modules/arabic/arabic-xft.c: + Change module prefix to _pango_arabic_xft_ + + * modules/basic/Makefile.am: + Build static libs for all included modules. + + * modules/basic/basic-ft2.c: + Change module prefix to _pango_basic_ft2_ + + * modules/basic/basic-xft.c: + Change module prefix to _pango_basic_xft_ + + * pango/Makefile.am: + Include correct module-defs-XXX in libs. + + * pango/modules.h: + Split _pango_included_modules[] into separate lists. + + * pango/pangox.c: + * pango/pangoft2.c: + * pango/pangoxft-fontmap.c: + Register built in modules. + 2000-12-22 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2.c: diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2 index a35bc5a0..8309c780 100644 --- a/ChangeLog.pre-1-2 +++ b/ChangeLog.pre-1-2 @@ -1,3 +1,37 @@ +2001-01-03 Alexander Larsson <alexl@redhat.com> + + * configure.in: + Update the default list of included modules for + --with-included-modules=yes to include all new modules. + Split INCLUDED_MODULES and module-defs.c into per shaper + engine type lists. + + * modules/arabic/Makefile.am: + Build libpango-arabic-xft.la if INCLUDE_ARABIC_XFT. + + * modules/arabic/arabic-xft.c: + Change module prefix to _pango_arabic_xft_ + + * modules/basic/Makefile.am: + Build static libs for all included modules. + + * modules/basic/basic-ft2.c: + Change module prefix to _pango_basic_ft2_ + + * modules/basic/basic-xft.c: + Change module prefix to _pango_basic_xft_ + + * pango/Makefile.am: + Include correct module-defs-XXX in libs. + + * pango/modules.h: + Split _pango_included_modules[] into separate lists. + + * pango/pangox.c: + * pango/pangoft2.c: + * pango/pangoxft-fontmap.c: + Register built in modules. + 2000-12-22 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2.c: diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4 index a35bc5a0..8309c780 100644 --- a/ChangeLog.pre-1-4 +++ b/ChangeLog.pre-1-4 @@ -1,3 +1,37 @@ +2001-01-03 Alexander Larsson <alexl@redhat.com> + + * configure.in: + Update the default list of included modules for + --with-included-modules=yes to include all new modules. + Split INCLUDED_MODULES and module-defs.c into per shaper + engine type lists. + + * modules/arabic/Makefile.am: + Build libpango-arabic-xft.la if INCLUDE_ARABIC_XFT. + + * modules/arabic/arabic-xft.c: + Change module prefix to _pango_arabic_xft_ + + * modules/basic/Makefile.am: + Build static libs for all included modules. + + * modules/basic/basic-ft2.c: + Change module prefix to _pango_basic_ft2_ + + * modules/basic/basic-xft.c: + Change module prefix to _pango_basic_xft_ + + * pango/Makefile.am: + Include correct module-defs-XXX in libs. + + * pango/modules.h: + Split _pango_included_modules[] into separate lists. + + * pango/pangox.c: + * pango/pangoft2.c: + * pango/pangoxft-fontmap.c: + Register built in modules. + 2000-12-22 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2.c: diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6 index a35bc5a0..8309c780 100644 --- a/ChangeLog.pre-1-6 +++ b/ChangeLog.pre-1-6 @@ -1,3 +1,37 @@ +2001-01-03 Alexander Larsson <alexl@redhat.com> + + * configure.in: + Update the default list of included modules for + --with-included-modules=yes to include all new modules. + Split INCLUDED_MODULES and module-defs.c into per shaper + engine type lists. + + * modules/arabic/Makefile.am: + Build libpango-arabic-xft.la if INCLUDE_ARABIC_XFT. + + * modules/arabic/arabic-xft.c: + Change module prefix to _pango_arabic_xft_ + + * modules/basic/Makefile.am: + Build static libs for all included modules. + + * modules/basic/basic-ft2.c: + Change module prefix to _pango_basic_ft2_ + + * modules/basic/basic-xft.c: + Change module prefix to _pango_basic_xft_ + + * pango/Makefile.am: + Include correct module-defs-XXX in libs. + + * pango/modules.h: + Split _pango_included_modules[] into separate lists. + + * pango/pangox.c: + * pango/pangoft2.c: + * pango/pangoxft-fontmap.c: + Register built in modules. + 2000-12-22 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2.c: diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8 index a35bc5a0..8309c780 100644 --- a/ChangeLog.pre-1-8 +++ b/ChangeLog.pre-1-8 @@ -1,3 +1,37 @@ +2001-01-03 Alexander Larsson <alexl@redhat.com> + + * configure.in: + Update the default list of included modules for + --with-included-modules=yes to include all new modules. + Split INCLUDED_MODULES and module-defs.c into per shaper + engine type lists. + + * modules/arabic/Makefile.am: + Build libpango-arabic-xft.la if INCLUDE_ARABIC_XFT. + + * modules/arabic/arabic-xft.c: + Change module prefix to _pango_arabic_xft_ + + * modules/basic/Makefile.am: + Build static libs for all included modules. + + * modules/basic/basic-ft2.c: + Change module prefix to _pango_basic_ft2_ + + * modules/basic/basic-xft.c: + Change module prefix to _pango_basic_xft_ + + * pango/Makefile.am: + Include correct module-defs-XXX in libs. + + * pango/modules.h: + Split _pango_included_modules[] into separate lists. + + * pango/pangox.c: + * pango/pangoft2.c: + * pango/pangoxft-fontmap.c: + Register built in modules. + 2000-12-22 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2.c: diff --git a/configure.in b/configure.in index c0b76ce6..7c977d0a 100644 --- a/configure.in +++ b/configure.in @@ -146,13 +146,14 @@ AC_MSG_CHECKING(modules to link statically) AC_ARG_WITH(included_modules, [ --with-included-modules=MODULE1,MODULE2,... Build the given modules into Pango]) indic_modules="gurmukhi,bengali,gujarati,devanagari,myanmar" +all_modules="arabic,arabic-xft,basic,basic-ft2,basic-xft,hangul,tamil,thai,$indic_modules" included_modules="" if test "x$with_included_modules" != xno || test "x$with_included_modules" = x ; then # If no modules specified, include all modules if test "x$with_included_modules" = xyes ; then - included_modules="arabic,basic,hangul,tamil,thai,$indic_modules" + included_modules="$all_modules" else included_modules="$with_included_modules" fi @@ -160,21 +161,40 @@ fi AC_MSG_RESULT($included_modules) -INCLUDED_MODULES= +INCLUDED_X_MODULES= +INCLUDED_XFT_MODULES= +INCLUDED_FT2_MODULES= IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS="," for module in $included_modules; do - if echo $indic_modules | grep "\(^\| \)$module\(\$\| \)" > /dev/null; then - INCLUDED_MODULES="$INCLUDED_MODULES \$(top_builddir)/modules/indic/libpango-$module.la" + if ! (echo "$all_modules" | grep "\(^\|,\)$module\(\$\|,\)" > /dev/null); then + AC_MSG_ERROR([the specified module $module does not exist]) else - INCLUDED_MODULES="$INCLUDED_MODULES \$(top_builddir)/modules/$module/libpango-$module.la" + if echo $indic_modules | grep "\(^\| \)$module\(\$\| \)" > /dev/null; then + dir=indic + else + dir=`echo $module | sed "s/-.*//"` + fi + + if echo $module | grep -- "-xft" > /dev/null; then + INCLUDED_XFT_MODULES="$INCLUDED_XFT_MODULES \$(top_builddir)/modules/$dir/libpango-$module.la" + elif echo $module | grep -- "-ft2" > /dev/null; then + INCLUDED_FT2_MODULES="$INCLUDED_FT2_MODULES \$(top_builddir)/modules/$dir/libpango-$module.la" + else + INCLUDED_X_MODULES="$INCLUDED_X_MODULES \$(top_builddir)/modules/$dir/libpango-$module.la" + fi fi done IFS="$pango_save_ifs" -AC_SUBST(INCLUDED_MODULES) +AC_SUBST(INCLUDED_X_MODULES) +AC_SUBST(INCLUDED_XFT_MODULES) +AC_SUBST(INCLUDED_FT2_MODULES) AM_CONDITIONAL(INCLUDE_ARABIC,echo $included_modules | grep '\(^\|,\)arabic\($\|,\)' > /dev/null) +AM_CONDITIONAL(INCLUDE_ARABIC_XFT,echo $included_modules | grep '\(^\|,\)arabic-xft\($\|,\)' > /dev/null) AM_CONDITIONAL(INCLUDE_BASIC,echo $included_modules | grep '\(^\|,\)basic\($\|,\)' > /dev/null) +AM_CONDITIONAL(INCLUDE_BASIC_FT2,echo $included_modules | grep '\(^\|,\)basic-ft2\($\|,\)' > /dev/null) +AM_CONDITIONAL(INCLUDE_BASIC_XFT,echo $included_modules | grep '\(^\|,\)basic-xft\($\|,\)' > /dev/null) AM_CONDITIONAL(INCLUDE_HANGUL,echo $included_modules | grep '\(^\|,\)hangul\($\|,\)' > /dev/null) AM_CONDITIONAL(INCLUDE_TAMIL,echo $included_modules | grep '\(^\|,\)tamil\($\|,\)' > /dev/null) AM_CONDITIONAL(INCLUDE_THAI,echo $included_modules | grep '\(^\|,\)thai\($\|,\)' > /dev/null) @@ -212,7 +232,7 @@ QTDIR= AC_MSG_CHECKING(For Qt location) if test "x$with_qt" = xyes ; then -# Search for Qt in various possibly standard ocations +# Search for Qt in various possibly standard locations for dir in /usr/lib/qt-2.2.0 /usr/lib/qt-2.1.0 /usr/lib/qt-2.0.1 /usr/lib/qt-2.0.0 /usr/lib/qt2 ; do if test -x $dir/bin/moc ; then QTDIR=$dir @@ -278,7 +298,7 @@ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) AC_OUTPUT_COMMANDS([ -cat > pango/module-defs.c <<EOTEXT +cat > pango/module-defs.h <<EOTEXT /* Autogenerated by configure. Do not edit */ #include "modules.h" @@ -287,31 +307,93 @@ EOTEXT IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS="," for module in $included_modules; do - cat >> pango/module-defs.c <<EOTEXT -extern void _pango_${module}_script_engine_list (PangoEngineInfo **engines, int *n_engines); -extern PangoEngine *_pango_${module}_script_engine_load (const char *id); -extern void _pango_${module}_script_engine_unload (PangoEngine *engine); + module_c=`echo $module | sed s/-/_/` + cat >> pango/module-defs.h <<EOTEXT +extern void _pango_${module_c}_script_engine_list (PangoEngineInfo **engines, int *n_engines); +extern PangoEngine *_pango_${module_c}_script_engine_load (const char *id); +extern void _pango_${module_c}_script_engine_unload (PangoEngine *engine); EOTEXT done IFS="$pango_save_ifs" -cat >> pango/module-defs.c <<EOTEXT +### X modules +cat > pango/module-defs-x.c <<EOTEXT +/* Autogenerated by configure. Do not edit */ + +#include "module-defs.h" + +PangoIncludedModule _pango_included_x_modules[] = { +EOTEXT + +IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS="," +for module in $included_modules; do + if ! (echo $module | grep -- "-ft2" > /dev/null || echo $module | grep -- "-xft" > /dev/null); then + module_c=`echo $module | sed s/-/_/` + cat >> pango/module-defs-x.c <<EOTEXT + { _pango_${module_c}_script_engine_list, _pango_${module_c}_script_engine_load,_pango_${module_c}_script_engine_unload }, +EOTEXT + fi +done + +IFS="$pango_save_ifs" + +cat >> pango/module-defs-x.c <<EOTEXT + { NULL, NULL, NULL }, +}; +EOTEXT + + +### XFT modules +cat > pango/module-defs-xft.c <<EOTEXT +/* Autogenerated by configure. Do not edit */ + +#include "module-defs.h" -PangoIncludedModule _pango_included_modules[] = { +PangoIncludedModule _pango_included_xft_modules[] = { EOTEXT IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS="," for module in $included_modules; do - cat >> pango/module-defs.c <<EOTEXT - { _pango_${module}_script_engine_list, _pango_${module}_script_engine_load,_pango_${module}_script_engine_unload }, + if echo $module | grep -- "-xft" > /dev/null; then + module_c=`echo $module | sed s/-/_/` + cat >> pango/module-defs-xft.c <<EOTEXT + { _pango_${module_c}_script_engine_list, _pango_${module_c}_script_engine_load,_pango_${module_c}_script_engine_unload }, EOTEXT + fi +done + +IFS="$pango_save_ifs" + +cat >> pango/module-defs-xft.c <<EOTEXT + { NULL, NULL, NULL }, +}; +EOTEXT + + +### FT2 modules +cat > pango/module-defs-ft2.c <<EOTEXT +/* Autogenerated by configure. Do not edit */ + +#include "module-defs.h" + +PangoIncludedModule _pango_included_ft2_modules[] = { +EOTEXT + +IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS="," +for module in $included_modules; do + if echo $module | grep -- "-ft2" > /dev/null; then + module_c=`echo $module | sed s/-/_/` + cat >> pango/module-defs-ft2.c <<EOTEXT + { _pango_${module_c}_script_engine_list, _pango_${module_c}_script_engine_load,_pango_${module_c}_script_engine_unload }, +EOTEXT + fi done IFS="$pango_save_ifs" -cat >> pango/module-defs.c <<EOTEXT +cat >> pango/module-defs-ft2.c <<EOTEXT { NULL, NULL, NULL }, }; EOTEXT diff --git a/modules/arabic/Makefile.am b/modules/arabic/Makefile.am index b276f02f..e12664c5 100644 --- a/modules/arabic/Makefile.am +++ b/modules/arabic/Makefile.am @@ -2,8 +2,17 @@ if HAVE_XFT XFT_MODULES=pango-arabic-xft.la +if INCLUDE_ARABIC_XFT +XFT_INCLUDED=libpango-arabic-xft.la +XFT_PREFIX=-DXFT_MODULE_PREFIX +else +XFT_INCLUDED= +XFT_PREFIX= +endif else XFT_MODULES= +XFT_INCLUDED= +XFT_PREFIX= endif sources = \ @@ -17,15 +26,28 @@ sources = \ naqshfont.h \ arconv.h +xft_sources = \ + arabic-xft.c \ + arabic-ot.c \ + arabic-ot.h + if INCLUDE_ARABIC -noinst_LTLIBRARIES = libpango-arabic.la -moddefine = -DMODULE_PREFIX +X_MODULES= +X_INCLUDED=libpango-arabic.la +X_PREFIX=-DMODULE_PREFIX else -moduledir = $(libdir)/pango/modules -module_LTLIBRARIES = $(XFT_MODULES) pango-arabic.la -moduleflags = -rpath $(libdir) +X_MODULES=pango-arabic.la +X_INCLUDED= +X_PREFIX= endif + +noinst_LTLIBRARIES = $(X_INCLUDED) $(XFT_INCLUDED) +module_LTLIBRARIES = $(X_MODULES) $(XFT_MODULES) +moddefine = $(X_PREFIX) $(XFT_PREFIX) +moduledir = $(libdir)/pango/modules +moduleflags=-rpath $(libdir) + INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/pango/ $(moddefine) $(X_CFLAGS) $(FREETYPE_CFLAGS) pango_arabic_la_LDFLAGS = $(moduleflags) -export-dynamic -avoid-version -module @@ -33,8 +55,8 @@ pango_arabic_la_SOURCES = $(sources) libpango_arabic_la_SOURCES = $(sources) - pango_arabic_xft_la_LDFLAGS = -rpath $(libdir) -export-dynamic -avoid-version -module pango_arabic_xft_la_LIBADD = -pango_arabic_xft_la_SOURCES = arabic-xft.c arabic-ot.c arabic-ot.h +pango_arabic_xft_la_SOURCES = $(xft_sources) +libpango_arabic_xft_la_SOURCES = $(xft_sources) diff --git a/modules/arabic/arabic-fc.c b/modules/arabic/arabic-fc.c index 6ca37eee..b1dde7af 100644 --- a/modules/arabic/arabic-fc.c +++ b/modules/arabic/arabic-fc.c @@ -327,8 +327,8 @@ arabic_engine_xft_new () * to have distinct names for this module, so we prepend * _pango_arabic_ */ -#ifdef MODULE_PREFIX -#define MODULE_ENTRY(func) _pango_arabic_##func +#ifdef XFT_MODULE_PREFIX +#define MODULE_ENTRY(func) _pango_arabic_xft_##func #else #define MODULE_ENTRY(func) func #endif diff --git a/modules/arabic/arabic-xft.c b/modules/arabic/arabic-xft.c index 6ca37eee..b1dde7af 100644 --- a/modules/arabic/arabic-xft.c +++ b/modules/arabic/arabic-xft.c @@ -327,8 +327,8 @@ arabic_engine_xft_new () * to have distinct names for this module, so we prepend * _pango_arabic_ */ -#ifdef MODULE_PREFIX -#define MODULE_ENTRY(func) _pango_arabic_##func +#ifdef XFT_MODULE_PREFIX +#define MODULE_ENTRY(func) _pango_arabic_xft_##func #else #define MODULE_ENTRY(func) func #endif diff --git a/modules/basic/Makefile.am b/modules/basic/Makefile.am index af7cd382..f3d0b191 100644 --- a/modules/basic/Makefile.am +++ b/modules/basic/Makefile.am @@ -3,27 +3,52 @@ basic_sources = basic.c if HAVE_XFT +if INCLUDE_BASIC_XFT +XFT_INCLUDED=libpango-basic-xft.la +XFT_MODULES= +XFT_PREFIX=-DXFT_MODULE_PREFIX +else +XFT_INCLUDED= XFT_MODULES=pango-basic-xft.la +XFT_PREFIX= +endif else XFT_MODULES= +XFT_INCLUDED= +XFT_PREFIX= endif if HAVE_FREETYPE +if INCLUDE_BASIC_FT2 +FT2_INCLUDED=libpango-basic-ft2.la +FT2_MODULES= +FT2_PREFIX=-DFT2_MODULE_PREFIX +else +FT2_INCLUDED= FT2_MODULES=pango-basic-ft2.la +FT2_PREFIX= +endif else FT2_MODULES= +FT2_INCLUDED= +FT2_PREFIX= endif - if INCLUDE_BASIC -noinst_LTLIBRARIES = libpango-basic.la -moddefine = -DMODULE_PREFIX - +X_INCLUDED=libpango-basic.la +X_MODULES= +X_PREFIX=-DMODULE_PREFIX else +X_INCLUDED= +X_MODULES=pango-basic.la +X_PREFIX= +endif + +noinst_LTLIBRARIES = $(X_INCLUDED) $(XFT_INCLUDED) $(FT2_INCLUDED) +module_LTLIBRARIES = $(X_MODULES) $(XFT_MODULES) $(FT2_MODULES) +moddefine = $(X_PREFIX) $(XFT_PREFIX) $(FT2_PREFIX) moduledir = $(libdir)/pango/modules -module_LTLIBRARIES = $(FT2_MODULES) $(XFT_MODULES) pango-basic.la moduleflags=-rpath $(libdir) -endif INCLUDES = \ -I$(top_srcdir) \ @@ -35,21 +60,22 @@ INCLUDES = \ pango_basic_la_LDFLAGS = $(moduleflags) -export-dynamic -avoid-version -module pango_basic_la_LIBADD = pango_basic_la_SOURCES = $(basic_sources) - libpango_basic_la_SOURCES = $(basic_sources) pango_basic_xft_la_LDFLAGS = -rpath $(libdir) -export-dynamic -avoid-version -module pango_basic_xft_la_LIBADD = pango_basic_xft_la_SOURCES = basic-xft.c +libpango_basic_xft_la_SOURCES = basic-xft.c pango_basic_ft2_la_LDFLAGS = -rpath $(libdir) -export-dynamic -avoid-version -module pango_basic_ft2_la_LIBADD = $(FREETYPE_LIBS) pango_basic_ft2_la_SOURCES = basic-ft2.c +libpango_basic_ft2_la_SOURCES = basic-ft2.c EXTRA_DIST = \ tables-big.i \ tables-small.i \ basic-win32.c \ - basic-ft2.c \ makefile.mingw \ makefile.mingw.in + diff --git a/modules/basic/basic-fc.c b/modules/basic/basic-fc.c index c9be386c..6f6e869a 100644 --- a/modules/basic/basic-fc.c +++ b/modules/basic/basic-fc.c @@ -252,10 +252,10 @@ basic_engine_xft_new () * entry points script_engine_list, etc. But if we are compiling * it for inclusion directly in Pango, then we need them to * to have distinct names for this module, so we prepend - * _pango_basic_ + * _pango_basic_xft_ */ -#ifdef MODULE_PREFIX -#define MODULE_ENTRY(func) _pango_basic_##func +#ifdef XFT_MODULE_PREFIX +#define MODULE_ENTRY(func) _pango_basic_xft_##func #else #define MODULE_ENTRY(func) func #endif diff --git a/modules/basic/basic-ft2.c b/modules/basic/basic-ft2.c index ed0f3e98..38d03800 100644 --- a/modules/basic/basic-ft2.c +++ b/modules/basic/basic-ft2.c @@ -314,8 +314,8 @@ basic_engine_ft2_new (void) /* The following three functions provide the public module API for * Pango */ -#ifdef MODULE_PREFIX -#define MODULE_ENTRY(func) _pango_basic_##func +#ifdef FT2_MODULE_PREFIX +#define MODULE_ENTRY(func) _pango_basic_ft2_##func #else #define MODULE_ENTRY(func) func #endif diff --git a/modules/basic/basic-xft.c b/modules/basic/basic-xft.c index c9be386c..6f6e869a 100644 --- a/modules/basic/basic-xft.c +++ b/modules/basic/basic-xft.c @@ -252,10 +252,10 @@ basic_engine_xft_new () * entry points script_engine_list, etc. But if we are compiling * it for inclusion directly in Pango, then we need them to * to have distinct names for this module, so we prepend - * _pango_basic_ + * _pango_basic_xft_ */ -#ifdef MODULE_PREFIX -#define MODULE_ENTRY(func) _pango_basic_##func +#ifdef XFT_MODULE_PREFIX +#define MODULE_ENTRY(func) _pango_basic_xft_##func #else #define MODULE_ENTRY(func) func #endif diff --git a/pango/Makefile.am b/pango/Makefile.am index 66287f9f..56e03616 100644 --- a/pango/Makefile.am +++ b/pango/Makefile.am @@ -69,7 +69,7 @@ libpango_la_SOURCES = \ libpangox_la_SOURCES = \ modules.h \ - module-defs.c \ + module-defs-x.c \ pangox.c \ pangox-private.h \ pangox-fontcache.c \ @@ -87,13 +87,13 @@ libpango_la_LIBADD = mini-fribidi/libmini-fribidi.la endif libpangox_la_LDFLAGS = -release $(VERSION) -libpangox_la_LIBADD = $(INCLUDED_MODULES) $(X_LIBS) - +libpangox_la_LIBADD = $(X_LIBS) $(INCLUDED_X_MODULES) libpangoxft_la_SOURCES = \ pangoxft-font.c \ - pangoxft-fontmap.c + pangoxft-fontmap.c \ + module-defs-xft.c -libpangoxft_la_LIBADD = $(INCLUDED_MODULES) $(XFT_LIBS) opentype/libpango-ot.la +libpangoxft_la_LIBADD = $(INCLUDED_XFT_MODULES) $(XFT_LIBS) opentype/libpango-ot.la libpangoxft_la_LDFLAGS = -release $(VERSION) libpangoft2_la_SOURCES = \ @@ -101,10 +101,11 @@ libpangoft2_la_SOURCES = \ pangoft2.c \ pangoft2-private.h \ pangoft2-fontcache.c \ - pangoft2-fontmap.c + pangoft2-fontmap.c \ + module-defs-ft2.c -libpangoxft_la_LIBADD = $(INCLUDED_MODULES) $(FREETYPE_LIBS) -libpangoxft_la_LDFLAGS = -release $(VERSION) +libpangoft2_la_LIBADD = $(INCLUDED_FT2_MODULES) $(FREETYPE_LIBS) +libpangoft2_la_LDFLAGS = -release $(VERSION) pangoincludedir=$(includedir)/pango-1.0/pango @@ -155,6 +156,7 @@ EXTRA_DIST = \ $(pango_built_headers) \ makeenums.pl \ module-defs.c.win32 \ + module-defs.h \ pango.def \ pangowin32.def \ pangowin32.h \ diff --git a/pango/modules.h b/pango/modules.h index 409fb433..2e1b73e2 100644 --- a/pango/modules.h +++ b/pango/modules.h @@ -25,6 +25,8 @@ #ifndef __MODULES_H__ #define __MODULES_H__ -extern PangoIncludedModule _pango_included_modules[]; +extern PangoIncludedModule _pango_included_x_modules[]; +extern PangoIncludedModule _pango_included_xft_modules[]; +extern PangoIncludedModule _pango_included_ft2_modules[]; #endif /* __MODULES_H__ */ diff --git a/pango/pangoft2.c b/pango/pangoft2.c index 902a81d4..37198e50 100644 --- a/pango/pangoft2.c +++ b/pango/pangoft2.c @@ -33,6 +33,7 @@ #include "pango-utils.h" #include "pangoft2.h" #include "pangoft2-private.h" +#include "modules.h" #define PANGO_TYPE_FT2_FONT (pango_ft2_font_get_type ()) #define PANGO_FT2_FONT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_FONT, PangoFT2Font)) @@ -155,7 +156,17 @@ PangoContext * pango_ft2_get_context (void) { PangoContext *result; - + static gboolean registered_modules = FALSE; + int i; + + if (!registered_modules) + { + registered_modules = TRUE; + + for (i = 0; _pango_included_ft2_modules[i].list; i++) + pango_module_register (&_pango_included_ft2_modules[i]); + } + result = pango_context_new (); pango_context_add_font_map (result, pango_ft2_font_map_for_display ()); diff --git a/pango/pangox.c b/pango/pangox.c index 7dd7f00c..3c8a9d1f 100644 --- a/pango/pangox.c +++ b/pango/pangox.c @@ -256,8 +256,8 @@ pango_x_get_context (Display *display) { registered_modules = TRUE; - for (i = 0; _pango_included_modules[i].list; i++) - pango_module_register (&_pango_included_modules[i]); + for (i = 0; _pango_included_x_modules[i].list; i++) + pango_module_register (&_pango_included_x_modules[i]); } result = pango_context_new (); diff --git a/pango/pangoxft-fontmap.c b/pango/pangoxft-fontmap.c index df1e31f7..ce81ba4d 100644 --- a/pango/pangoxft-fontmap.c +++ b/pango/pangoxft-fontmap.c @@ -22,6 +22,7 @@ #include "pango-fontmap.h" #include "pangoxft.h" #include "pangoxft-private.h" +#include "modules.h" #include "X11/Xft/XftFreetype.h" @@ -183,9 +184,19 @@ pango_xft_get_context (Display *display, int screen) { PangoContext *result; + int i; + static gboolean registered_modules = FALSE; g_return_val_if_fail (display != NULL, NULL); + if (!registered_modules) + { + registered_modules = TRUE; + + for (i = 0; _pango_included_xft_modules[i].list; i++) + pango_module_register (&_pango_included_xft_modules[i]); + } + result = pango_context_new (); pango_context_add_font_map (result, pango_xft_get_font_map (display, screen)); |