File source-poppler.dif of Package texlive

--- configure
+++ configure	2009-10-22 10:57:22.099430539 +0200
@@ -6827,11 +6827,17 @@ export needs_zlib
 
 # we need libxpdf for pdf[ex]tex, xetex
 test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
-test "$with_pdftex"  != no    && : ${needs_libxpdf=yes}
-test "$with_pdfetex" != no    && : ${needs_libxpdf=yes}
-test "$with_xetex"   != no    && : ${needs_libxpdf=yes}
+test "$with_pdftex"  != no    && : ${needs_libxpdf=no}
+test "$with_pdfetex" != no    && : ${needs_libxpdf=no}
+test "$with_xetex"   != no    && : ${needs_libxpdf=no}
 : ${needs_libxpdf=no}
 export needs_libxpdf
+if pkg-config poppler --atleast-version=0.10; then
+    POPPLER_VERSION="$(pkg-config poppler --modversion)"
+    POPPLER_VERSION='-DPOPPLER_VERSION=\"'$POPPLER_VERSION'\" -DPOPPLER_VERSION_NUM="'$(echo $POPPLER_VERSION|sed -r 's/([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)/(\1<<16)|(\2<<8)|(\3)/')'"'
+    CFLAGS="$CFLAGS $POPPLER_VERSION $(pkg-config poppler --cflags)"
+    export CFLAGS
+fi
 
 # we need libobsdcompat for pdftex
 test ! -d $srcdir/$LIBOBSDCOMPATDIR && : ${needs_obsdcompat=no}
--- configure.in
+++ configure.in	2009-10-22 10:57:09.319429751 +0200
@@ -163,11 +163,17 @@ export needs_zlib
 
 # we need libxpdf for pdf[ex]tex, xetex
 test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
-test "$with_pdftex"  != no    && : ${needs_libxpdf=yes}
-test "$with_pdfetex" != no    && : ${needs_libxpdf=yes}
-test "$with_xetex"   != no    && : ${needs_libxpdf=yes}
+test "$with_pdftex"  != no    && : ${needs_libxpdf=no}
+test "$with_pdfetex" != no    && : ${needs_libxpdf=no}
+test "$with_xetex"   != no    && : ${needs_libxpdf=no}
 : ${needs_libxpdf=no}
 export needs_libxpdf
+if pkg-config poppler --atleast-version=0.10; then
+    POPPLER_VERSION="$(pkg-config poppler --modversion)"
+    POPPLER_VERSION='-DPOPPLER_VERSION=\"'$POPPLER_VERSION'\" -DPOPPLER_VERSION_NUM="'$(echo $POPPLER_VERSION|sed -r 's/([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)/(\1<<16)|(\2<<8)|(\3)/')'"'
+    CFLAGS="$CFLAGS $POPPLER_VERSION $(pkg-config poppler --cflags)"
+    export CFLAGS
+fi
 
 # we need libobsdcompat for pdftex
 test ! -d $srcdir/$LIBOBSDCOMPATDIR && : ${needs_obsdcompat=no}
--- texk/web2c/luatexdir/luatex.mk
+++ texk/web2c/luatexdir/luatex.mk	2008-09-26 14:02:03.000000000 +0200
@@ -2,6 +2,9 @@
 # This fragment contains the parts of the makefile that are most likely to
 # differ between releases of pdfeTeX.
 
+# use libpoppler instead of included xpdf code
+ADDLDFLAGS = -lpoppler
+
 # We build luatex
 luatex = @LTEX@ luatex
 luatexdir = luatexdir
@@ -41,7 +44,7 @@ luatex_o = luatexini.o luatex0.o luatex1
 
 # Making luatex
 luatex: luatexd.h $(luatex_o) $(luatexextra_o) $(luatexlibsdep)
-	@CXXHACKLINK@ $(luatex_o) $(luatexextra_o) $(luatexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@
+	@CXXHACKLINK@ $(luatex_o) $(luatexextra_o) $(luatexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS)
 
 # C file dependencies.
 $(luatex_c) luatexcoerce.h luatexd.h: luatex.p $(web2c_texmf) $(srcdir)/$(luatexdir)/luatex.defines $(srcdir)/$(luatexdir)/luatex.h
--- texk/web2c/luatexdir/utils.c
+++ texk/web2c/luatexdir/utils.c	2009-05-06 11:42:16.000000000 +0200
@@ -40,7 +40,7 @@ $Id: utils.c 7124 2008-03-24 15:47:15Z m
 
 #include "openbsd-compat.h"
 #include "png.h"
-#include "xpdf/config.h"        /* just to get the xpdf version */
+#include <poppler/poppler-config.h>
 
 #define check_nprintf(size_get, size_want) \
     if ((unsigned)(size_get) >= (unsigned)(size_want)) \
--- texk/web2c/luatexdir/image/pdftoepdf.cc
+++ texk/web2c/luatexdir/image/pdftoepdf.cc	2008-09-26 11:13:50.000000000 +0200
@@ -26,24 +26,25 @@ $Id: pdftoepdf.cc 1129 2008-03-27 19:43:
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
 #include <config.h>
 #include <assert.h>
-#include "Object.h"
-#include "Stream.h"
-#include "Array.h"
-#include "Dict.h"
-#include "XRef.h"
-#include "Catalog.h"
-#include "Link.h"
-#include "Page.h"
-#include "GfxFont.h"
-#include "PDFDoc.h"
-#include "GlobalParams.h"
-#include "Error.h"
+#include <dirent.h>
+#include <poppler/poppler-config.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+#include <poppler/Object.h>
+#include <poppler/Stream.h>
+#include <poppler/Array.h>
+#include <poppler/Dict.h>
+#include <poppler/XRef.h>
+#include <poppler/Link.h>
+#include <poppler/Catalog.h>
+#include <poppler/Page.h>
+#include <poppler/GfxFont.h>
+#include <poppler/PDFDoc.h>
+#include <poppler/GlobalParams.h>
+#include <poppler/Error.h>
 
 #include "epdf.h"
 
@@ -171,7 +172,7 @@ static PdfDocument *refPdfDocument(char
         pdf_doc->file_path = xstrdup(file_path);
         void **aa = avl_probe(PdfDocumentTree, pdf_doc);
         assert(aa != NULL);
-        GString *docName = new GString(pdf_doc->file_path);
+        GooString *docName = new GooString(pdf_doc->file_path);
         pdf_doc->doc = new PDFDoc(docName);     // takes ownership of docName
         if (!pdf_doc->doc->isOk() || !pdf_doc->doc->okToPrint())
             pdftex_fail("xpdf: reading PDF image failed");
@@ -523,7 +524,7 @@ static void copyObject(Object * obj)
     int i, l, c;
     Ref ref;
     char *p;
-    GString *s;
+    GooString *s;
     if (obj->isBool()) {
         pdf_printf("%s", obj->getBool()? "true" : "false");
     } else if (obj->isInt()) {
@@ -646,7 +647,7 @@ static void writeEncodings()
     }
     for (r = encodingList; r != NULL; r = n) {
         n = r->next;
-        delete r->font;
+        r->font->decRefCnt();
         delete r;
     }
 }
@@ -701,7 +702,13 @@ read_pdf_info(image_dict * idict, intege
     // this works only for PDF 1.x -- but since any versions of PDF newer
     // than 1.x will not be backwards compatible to PDF 1.x, pdfTeX will
     // then have to changed drastically anyway.
+#if !defined(POPPLER_VERSION_NUM) || (POPPLER_VERSION_NUM) < ((0<<16)|(11<<8)|(3))
     pdf_version_found = pdf_doc->doc->getPDFVersion();
+#else
+    int major = pdf_doc->doc->getPDFMajorVersion();
+    int minor = pdf_doc->doc->getPDFMinorVersion();
+    pdf_version_found = (float)major + ((float)minor * 0.1);
+#endif
     pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1);
     if (pdf_version_found > pdf_version_wanted + 0.01) {
         char msg[] =
@@ -715,7 +722,7 @@ read_pdf_info(image_dict * idict, intege
     img_totalpages(idict) = pdf_doc->doc->getCatalog()->getNumPages();
     if (img_pagename(idict)) {
         // get page by name
-        GString name(img_pagename(idict));
+        GooString name(img_pagename(idict));
         LinkDest *link = pdf_doc->doc->findDest(&name);
         if (link == NULL || !link->isOk())
             pdftex_fail("PDF inclusion: invalid destination <%s>",
--- texk/web2c/pdftexdir/depend.mk
+++ texk/web2c/pdftexdir/depend.mk	2008-09-24 17:28:36.000000000 +0200
@@ -15,7 +15,7 @@ vfpacket.o: vfpacket.c ptexlib.h ../pdft
  ptexmac.h
 pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
  ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
-writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \
+writefont.o: writefont.c ptexlib.h \
  ../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \
  ../texmfmem.h ../pdftexcoerce.h ptexmac.h
 writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
@@ -40,16 +40,6 @@ writepng.o: writepng.c ptexlib.h ../pdft
 writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \
  ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
  ptexmac.h image.h
-pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \
- ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \
- ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \
- ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \
- ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \
- ../../../libs/xpdf/xpdf/Error.h epdf.h
+pdftoepdf.o: pdftoepdf.cc
 ttf2afm.o: ttf2afm.c writettf.h macnames.c
-pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \
- ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \
- ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \
- ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \
- ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \
- ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h
+pdftosrc.o: pdftosrc.cc
--- texk/web2c/pdftexdir/pdftex.mk
+++ texk/web2c/pdftexdir/pdftex.mk	2008-09-24 17:28:36.000000000 +0200
@@ -3,6 +3,9 @@
 # differ between releases of pdfeTeX.
 # $Id: pdftex.mk 9446 2008-07-11 06:51:52Z thanh $
 
+# use libpoppler instead of included xpdf code
+ADDLDFLAGS = -lpoppler
+
 # We build pdftex
 pdftex = @PETEX@ pdftex
 pdftexdir = pdftexdir
@@ -30,7 +33,7 @@ pdftex-pool.o $(pdftex_o-with_synctex)
 
 # Making pdftex
 pdftex: pdftexd.h $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep)
-	@CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@
+	@CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS)
 
 # C file dependencies.
 $(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) $(srcdir)/$(pdftexdir)/pdftex.defines $(srcdir)/$(pdftexdir)/pdftex.h
@@ -134,11 +137,12 @@ ttf2afm-clean:
 	rm -f ttf2afm.o macnames.o
 	rm -f ttf2afm.c macnames.c
 # 
-# pdftosrc
-pdftosrc = pdftosrc
+# pdftosrc disabled due poppler can not used for.
+#pdftosrc = pdftosrc
+pdftosrc =
 
 pdftosrc: $(pdftexdir)/pdftosrc.o $(LIBXPDFDEP)
-	@CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@
+	@CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS)
 $(pdftexdir)/pdftosrc.o:$(srcdir)/$(pdftexdir)/pdftosrc.cc
 	cd $(pdftexdir) && $(MAKE) pdftosrc.o
 check: pdftosrc-check
--- texk/web2c/pdftexdir/pdftexextra.in
+++ texk/web2c/pdftexdir/pdftexextra.in	2008-09-24 17:30:52.000000000 +0200
@@ -26,7 +26,7 @@ $Id: pdftexextra.in 7095 2008-03-23 16:3
    (generated from ../lib/texmfmp.c).
 */
 
-#define BANNER "This is pdfTeX, Version 3.1415926-PDFTEX-VERSION-ETEX-VERSION"
+#define BANNER "This is pdfTeX using libpoppler, Version 3.1415926-PDFTEX-VERSION-ETEX-VERSION"
 #define COPYRIGHT_HOLDER "Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX)"
 #define AUTHOR NULL
 #define PROGRAM_HELP PDFTEXHELP
--- texk/web2c/pdftexdir/pdftoepdf.cc
+++ texk/web2c/pdftexdir/pdftoepdf.cc	2008-09-24 17:28:36.000000000 +0200
@@ -24,24 +24,25 @@ Franklin Street, Fifth Floor, Boston, MA
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
 #include <config.h>
 #include <assert.h>
-#include "Object.h"
-#include "Stream.h"
-#include "Array.h"
-#include "Dict.h"
-#include "XRef.h"
-#include "Catalog.h"
-#include "Link.h"
-#include "Page.h"
-#include "GfxFont.h"
-#include "PDFDoc.h"
-#include "GlobalParams.h"
-#include "Error.h"
+#include <dirent.h>
+#include <poppler/poppler-config.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+#include <poppler/Object.h>
+#include <poppler/Stream.h>
+#include <poppler/Array.h>
+#include <poppler/Dict.h>
+#include <poppler/XRef.h>
+#include <poppler/Link.h>
+#include <poppler/Catalog.h>
+#include <poppler/Page.h>
+#include <poppler/GfxFont.h>
+#include <poppler/PDFDoc.h>
+#include <poppler/GlobalParams.h>
+#include <poppler/Error.h>
 
 #include "epdf.h"
 
@@ -159,7 +160,7 @@ static PdfDocument *find_add_document(ch
     fprintf(stderr, "\npdfTeX Debug: Creating %s (%d)\n", p->file_name,
             p->occurences);
 #endif
-    GString *docName = new GString(p->file_name);
+    GooString *docName = new GooString(p->file_name);
     p->doc = new PDFDoc(docName);       // takes ownership of docName
     if (!p->doc->isOk() || !p->doc->okToPrint()) {
         pdftex_fail("xpdf: reading PDF image failed");
@@ -520,7 +521,7 @@ static void copyObject(Object * obj)
     int i, l, c;
     Ref ref;
     char *p;
-    GString *s;
+    GooString *s;
     if (obj->isBool()) {
         pdf_printf("%s", obj->getBool()? "true" : "false");
     } else if (obj->isInt()) {
@@ -644,7 +645,7 @@ static void writeEncodings()
     }
     for (r = encodingList; r != 0; r = n) {
         n = r->next;
-        delete r->font;
+        r->font->decRefCnt();
         delete r;
     }
 }
@@ -699,7 +700,13 @@ read_pdf_info(char *image_name, char *pa
     // this works only for PDF 1.x -- but since any versions of PDF newer
     // than 1.x will not be backwards compatible to PDF 1.x, pdfTeX will
     // then have to changed drastically anyway.
+#if !defined(POPPLER_VERSION_NUM) || (POPPLER_VERSION_NUM) < ((0<<16)|(11<<8)|(3))
     pdf_version_found = pdf_doc->doc->getPDFVersion();
+#else
+    int major = pdf_doc->doc->getPDFMajorVersion();
+    int minor = pdf_doc->doc->getPDFMinorVersion();
+    pdf_version_found = (float)major + ((float)minor * 0.1);
+#endif
     pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1);
     if (pdf_version_found > pdf_version_wanted) {
         char msg[] =
@@ -713,7 +720,7 @@ read_pdf_info(char *image_name, char *pa
     epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
     if (page_name) {
         // get page by name
-        GString name(page_name);
+        GooString name(page_name);
         LinkDest *link = pdf_doc->doc->findDest(&name);
         if (link == 0 || !link->isOk())
             pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
--- texk/web2c/pdftexdir/pdftosrc.cc
+++ texk/web2c/pdftexdir/pdftosrc.cc	2008-09-24 17:28:36.000000000 +0200
@@ -23,22 +23,25 @@ Franklin Street, Fifth Floor, Boston, MA
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
-#include <aconf.h>
+#include <config.h>
 #include <assert.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
-#include "Object.h"
-#include "Stream.h"
-#include "Array.h"
-#include "Dict.h"
-#include "XRef.h"
-#include "Catalog.h"
-#include "Page.h"
-#include "GfxFont.h"
-#include "PDFDoc.h"
-#include "GlobalParams.h"
-#include "Error.h"
+#include <dirent.h>
+#include <poppler/poppler-config.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h> 
+#include <poppler/goo/gfile.h>
+#include <poppler/Object.h>
+#include <poppler/Stream.h>
+#include <poppler/Array.h>
+#include <poppler/Dict.h>
+#include <poppler/XRef.h>
+#include <poppler/Link.h>
+#include <poppler/Catalog.h>
+#include <poppler/Page.h>
+#include <poppler/GfxFont.h>
+#include <poppler/PDFDoc.h>
+#include <poppler/GlobalParams.h>
+#include <poppler/Error.h>
 
 static const char _svn_version[] =
     "$Id: pdftosrc.cc 7945 2008-05-08 14:25:16Z martin $ $URL: http://scm.foundry.supelec.fr/svn/pdftex/branches/stable/source/src/texk/web2c/pdftexdir/pdftosrc.cc $";
@@ -49,7 +52,7 @@ int main(int argc, char *argv[])
 {
     char *p, buf[1024];
     PDFDoc *doc;
-    GString *fileName;
+    GooString *fileName;
     Stream *s;
     Object srcStream, srcName, catalogDict;
     FILE *outfile;
@@ -63,7 +66,7 @@ int main(int argc, char *argv[])
                 "Usage: pdftosrc <PDF-file> [<stream-object-number>]\n");
         exit(1);
     }
-    fileName = new GString(argv[1]);
+    fileName = new GooString(argv[1]);
     globalParams = new GlobalParams();
     doc = new PDFDoc(fileName);
     if (!doc->isOk()) {
--- texk/web2c/pdftexdir/utils.c
+++ texk/web2c/pdftexdir/utils.c	2009-05-06 11:42:02.000000000 +0200
@@ -35,7 +35,7 @@ Franklin Street, Fifth Floor, Boston, MA
 #include "zlib.h"
 #include "ptexlib.h"
 #include "png.h"
-#include "xpdf/config.h"        /* just to get the xpdf version */
+#include <poppler/poppler-config.h>
 
 static const char _svn_version[] =
     "$Id: utils.c 7945 2008-05-08 14:25:16Z martin $ $URL: http://scm.foundry.supelec.fr/svn/pdftex/branches/stable/source/src/texk/web2c/pdftexdir/utils.c $";
--- texk/web2c/pdftexdir/writefont.c
+++ texk/web2c/pdftexdir/writefont.c	2008-09-24 17:28:36.000000000 +0200
@@ -18,6 +18,7 @@ with pdfTeX; if not, write to the Free S
 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
+#include <poppler/goo/gmem.h>
 #include "ptexlib.h"
 
 static const char _svn_version[] =
--- texk/web2c/xetexdir/XeTeX_ext.c
+++ texk/web2c/xetexdir/XeTeX_ext.c	2009-05-05 15:43:02.000000000 +0200
@@ -33,7 +33,7 @@ authorization from SIL International.
  */
 
 #ifdef XETEX_OTHER
-#include "xpdf/config.h"
+#include <poppler/poppler-config.h>
 #include "png.h"
 #endif
 
@@ -190,7 +190,7 @@ void initversionstring(char **versions)
 #else
 		"Compiled with fontconfig version %d.%d.%d; using %d.%d.%d\n"
 		"Compiled with libpng version %s; using %s\n"
-		"Compiled with xpdf version %s\n"
+		"Compiled with libpoppler (xpdf version %s)\n"
 #endif
 		;
 
--- texk/web2c/xetexdir/pdfimage.cpp
+++ texk/web2c/xetexdir/pdfimage.cpp	2008-09-26 11:11:55.000000000 +0200
@@ -11,10 +11,23 @@
 
 #include "pdfimage.h"
 
-#include "PDFDoc.h"
-#include "Catalog.h"
-#include "Page.h"
-#include "GString.h"
+#include <dirent.h>
+#include <poppler/poppler-config.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+#include <poppler/Object.h>
+#include <poppler/Stream.h>
+#include <poppler/Array.h>
+#include <poppler/Dict.h>
+#include <poppler/XRef.h>
+#include <poppler/Link.h>
+#include <poppler/Catalog.h>
+#include <poppler/Page.h>
+#include <poppler/GfxFont.h>
+#include <poppler/PDFDoc.h>
+#include <poppler/GlobalParams.h>
+#include <poppler/Error.h>
 
 #include "XeTeX_ext.h"
 
@@ -29,7 +42,7 @@ int
 pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box)
 	/* return the box converted to TeX points */
 {
-	GString*	name = new GString(filename);
+	GooString*	name = new GooString(filename);
 	PDFDoc*		doc = new PDFDoc(name);
 	
 	if (!doc) {
@@ -88,7 +101,7 @@ int
 pdf_count_pages(char* filename)
 {
 	int			pages = 0;
-	GString*	name = new GString(filename);
+	GooString*	name = new GooString(filename);
 	PDFDoc*		doc = new PDFDoc(name);
 	
 	if (!doc) {
--- texk/web2c/xetexdir/xetex.mk
+++ texk/web2c/xetexdir/xetex.mk	2008-09-24 17:32:43.000000000 +0200
@@ -33,7 +33,11 @@ xetex = @XETEX@ xetex
 
 @XETEX_GENERIC@ XETEX_DEFINES = -DXETEX_OTHER
 
-@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@
+# use libpoppler instead of included xpdf code
+@XETEX_GENERIC@ ADDLDFLAGS = -lpoppler
+@XETEX_GENERIC@ ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) -I/usr/include/poppler
+
+@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ $(ADDLDFLAGS)
 
 @XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@
 
@@ -168,7 +172,7 @@ pngimage.o: $(srcdir)/xetexdir/pngimage.
 	$(compile) $(ALL_CFLAGS) $(FTFLAGS) $(LIBPNGCPPFLAGS) $(ZLIBCPPFLAGS) -c $< -o $@
 
 pdfimage.o: $(srcdir)/xetexdir/pdfimage.cpp $(srcdir)/xetexdir/pdfimage.h
-	$(CXX) $(ALL_CFLAGS) $(FTFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@
+	$(CXX) $(ALL_CXXFLAGS) $(FTFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@
 
 XeTeX_pic.o: $(srcdir)/xetexdir/XeTeX_pic.c $(srcdir)/xetexdir/XeTeX_ext.h $(XeTeXImageHdrs)
 	$(compile) $(TECKITFLAGS) $(FTFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
--- texk/web2c/xetexdir/xetexextra.in
+++ texk/web2c/xetexdir/xetexextra.in	2008-09-24 17:33:34.000000000 +0200
@@ -51,7 +51,7 @@ You should have received a copy of the G
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
-#define BANNER "This is XeTeX, Version 3.1415926-ETEX-VERSION-XETEX-VERSION"
+#define BANNER "This is XeTeX using libpoppler, Version 3.1415926-ETEX-VERSION-XETEX-VERSION"
 #define COPYRIGHT_HOLDER "SIL International"
 #define AUTHOR "Jonathan Kew"
 #define PROGRAM_HELP XETEXHELP
openSUSE Build Service is sponsored by