summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2013-12-12 14:00:51 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2013-12-12 14:00:51 +0000
commit7991cab643e93ba549e06207a24036d4cd8d598a (patch)
tree12881b180f12b5257229f4e1ff812bf115c577d1
parent5a7ec7469197a8e6545f9c494fedaa7da4a77ee3 (diff)
luatex: Better way to handle poppler 0.25.x
git-svn-id: svn://tug.org/texlive/trunk@32391 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/ChangeLog5
-rw-r--r--Build/source/texk/web2c/Makefile.in6
-rw-r--r--Build/source/texk/web2c/c-auto.in3
-rwxr-xr-xBuild/source/texk/web2c/configure49
-rw-r--r--Build/source/texk/web2c/configure.ac14
-rw-r--r--Build/source/texk/web2c/luatexdir/ChangeLog1
-rw-r--r--Build/source/texk/web2c/luatexdir/am/libluatex.am4
-rw-r--r--Build/source/texk/web2c/luatexdir/fake/StructTreeRoot.h16
-rw-r--r--Build/source/texk/web2c/luatexdir/image/epdf.h34
9 files changed, 41 insertions, 91 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog
index 48d30418c07..79ab73b53a3 100644
--- a/Build/source/texk/web2c/ChangeLog
+++ b/Build/source/texk/web2c/ChangeLog
@@ -1,8 +1,3 @@
-2013-12-12 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * configure.ac (poppler features): Check if getStructTreeRoot()
- returns an Object as for poppler <0.25.x.
-
2013-12-06 Peter Breitenlohner <peb@mppmu.mpg.de>
* vptovf.ch: Use make_suffix() for implied tfm_name.
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 4e38474a74b..a71b58dd601 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -1903,7 +1903,8 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
luatexdir/luafontloader/fontforge/AUTHORS \
luatexdir/luafontloader/fontforge/INSTALL \
luatexdir/luafontloader/fontforge/LICENSE \
- luatexdir/luafontloader/fontforge/VERSION $(libluatex_web) \
+ luatexdir/luafontloader/fontforge/VERSION \
+ luatexdir/fake/StructTreeRoot.h $(libluatex_web) \
luatexdir/ChangeLog luatexdir/NEWS luatexdir/font/subfont.txt \
luatexdir/getluatexsvnversion.sh $(luatex_tests) \
luatexdir/tests/luaimage.tex tests/1-4.jpg tests/B.pdf \
@@ -2710,7 +2711,8 @@ libluatex_a_DEPENDENCIES = libff.a
libluatex_a_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) \
$(LIBPNG_INCLUDES) $(POPPLER_INCLUDES) -I$(srcdir)/libmd5 \
-DpdfTeX -I$(srcdir)/luatexdir $(LUA_INCLUDES) \
- -DSYNCTEX_ENGINE_H='<synctex-luatex.h>' -I$(srcdir)/synctexdir
+ -DSYNCTEX_ENGINE_H='<synctex-luatex.h>' -I$(srcdir)/synctexdir \
+ -I$(srcdir)/luatexdir/fake
libluatex_a_CXXFLAGS = # $(WARNING_CXXFLAGS)
libluatex_web = luatexdir/dvi/dvigen.w luatexdir/font/dofont.w \
luatexdir/font/luafont.w luatexdir/font/mapfile.w \
diff --git a/Build/source/texk/web2c/c-auto.in b/Build/source/texk/web2c/c-auto.in
index f447dab1d12..cd1b7bafe5e 100644
--- a/Build/source/texk/web2c/c-auto.in
+++ b/Build/source/texk/web2c/c-auto.in
@@ -43,9 +43,6 @@
/* web2c: Define to enable HackyInputFileNameForCoreDump.tex. */
#undef FUNNY_CORE_DUMP
-/* Define to 1 if Catalog::getStructTree_Root() returns an Object. */
-#undef GETSTRUCTTREEROOT_RETURNS_OBJECT
-
/* Define to 1 if you have the `access' function. */
#undef HAVE_ACCESS
diff --git a/Build/source/texk/web2c/configure b/Build/source/texk/web2c/configure
index 78fffc338f8..8b0505c4f01 100755
--- a/Build/source/texk/web2c/configure
+++ b/Build/source/texk/web2c/configure
@@ -23606,55 +23606,6 @@ _ACEOF
-# Check poppler features
-eval CPPFLAGS=\"$POPPLER_INCLUDES \$CPPFLAGS\"
-eval LIBS=\"$POPPLER_LIBS \$LIBS\"
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-ac_link="./libtool --mode=link --tag=CXX $ac_link"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if getStructTreeRoot() returns an Object" >&5
-$as_echo_n "checking if getStructTreeRoot() returns an Object... " >&6; }
-if ${kpse_cv_getStructTreeRoot_returns_Object+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <Catalog.h>
-int
-main ()
-{
-Catalog *cat; Object *obj = cat->getStructTreeRoot();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- kpse_cv_getStructTreeRoot_returns_Object=yes
-else
- kpse_cv_getStructTreeRoot_returns_Object=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_getStructTreeRoot_returns_Object" >&5
-$as_echo "$kpse_cv_getStructTreeRoot_returns_Object" >&6; }
-if test "x$kpse_cv_getStructTreeRoot_returns_Object" = xyes; then :
-
-$as_echo "#define GETSTRUCTTREEROOT_RETURNS_OBJECT 1" >>confdefs.h
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-ac_link="./libtool --mode=link --tag=CC $ac_link"
-
-
CPPFLAGS=$kpse_save_CPPFLAGS
LIBS=$kpse_save_LIBS
diff --git a/Build/source/texk/web2c/configure.ac b/Build/source/texk/web2c/configure.ac
index 12f73ae9194..0464fc66479 100644
--- a/Build/source/texk/web2c/configure.ac
+++ b/Build/source/texk/web2c/configure.ac
@@ -293,20 +293,6 @@ KPSE_ADD_FLAGS([kpathsea])
AC_CHECK_SIZEOF([off_t], , AC_INCLUDES_DEFAULT
[#include <kpathsea/config.h>])
-# Check poppler features
-KPSE_ADD_FLAGS([poppler])
-AC_LANG_PUSH([C++])
-AC_CACHE_CHECK([if getStructTreeRoot() returns an Object],
- [kpse_cv_getStructTreeRoot_returns_Object],
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <Catalog.h>]],
- [[Catalog *cat; Object *obj = cat->getStructTreeRoot();]])],
- [kpse_cv_getStructTreeRoot_returns_Object=yes],
- [kpse_cv_getStructTreeRoot_returns_Object=no])])
-AS_IF([test "x$kpse_cv_getStructTreeRoot_returns_Object" = xyes],
- [AC_DEFINE([GETSTRUCTTREEROOT_RETURNS_OBJECT], 1,
- [Define to 1 if Catalog::getStructTree_Root() returns an Object.])])
-AC_LANG_POP([C++])
-
KPSE_RESTORE_FLAGS
dnl Write output here, instead of putting a zillion -D's on the command line.
diff --git a/Build/source/texk/web2c/luatexdir/ChangeLog b/Build/source/texk/web2c/luatexdir/ChangeLog
index e73de6add38..efbe06d3135 100644
--- a/Build/source/texk/web2c/luatexdir/ChangeLog
+++ b/Build/source/texk/web2c/luatexdir/ChangeLog
@@ -1,6 +1,7 @@
2013-12-12 Peter Breitenlohner <peb@mppmu.mpg.de>
* image/epdf.h, lua/lepdflib.cc: Adapt for poppler-0.25.x.
+ * fake/StructTreeRoot.h (new): Provide 0.24.4 compatibility.
2013-12-08 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
diff --git a/Build/source/texk/web2c/luatexdir/am/libluatex.am b/Build/source/texk/web2c/luatexdir/am/libluatex.am
index 7c23a7c1eda..f43a66131ec 100644
--- a/Build/source/texk/web2c/luatexdir/am/libluatex.am
+++ b/Build/source/texk/web2c/luatexdir/am/libluatex.am
@@ -22,6 +22,10 @@ libluatex_a_CPPFLAGS += $(LUA_INCLUDES)
libluatex_a_CPPFLAGS += -DSYNCTEX_ENGINE_H='<synctex-luatex.h>' -I$(srcdir)/synctexdir
libluatex_a_CXXFLAGS = # $(WARNING_CXXFLAGS)
+## compatibility between poppler versions <=0.24.0 and >-0.25.0
+libluatex_a_CPPFLAGS += -I$(srcdir)/luatexdir/fake
+EXTRA_DIST += luatexdir/fake/StructTreeRoot.h
+
## from luatexdir
##
libluatex_web =
diff --git a/Build/source/texk/web2c/luatexdir/fake/StructTreeRoot.h b/Build/source/texk/web2c/luatexdir/fake/StructTreeRoot.h
new file mode 100644
index 00000000000..a491a40f3dd
--- /dev/null
+++ b/Build/source/texk/web2c/luatexdir/fake/StructTreeRoot.h
@@ -0,0 +1,16 @@
+// fake/StructRootTree.h: compatibility between poppler versions
+//
+// Copyright (C) 2013 Peter Breitenlohner <tex-live@tug.org>
+// You may freely use, modify and/or distribute this file.
+
+// poppler 0.25.0 and later have a header <StructRootTree.h> and declare
+// StructRootTree *Catalog::getStructRootTree()
+// whereas poppler 0.24.4 and before have no such header and declare
+// Object *Catalog::getStructRootTree().
+
+// We always #include <StructRootTree.h> from image/epdf.h and for
+// poppler 0.24.4 this file defines GETSTRUCTTREEROOT_RETURNS_OBJECT
+// used in lua/lepdflib.cc to distinguish the different versions.
+
+#define GETSTRUCTTREEROOT_RETURNS_OBJECT 1
+
diff --git a/Build/source/texk/web2c/luatexdir/image/epdf.h b/Build/source/texk/web2c/luatexdir/image/epdf.h
index 257dfd7eac6..efc8f9201a1 100644
--- a/Build/source/texk/web2c/luatexdir/image/epdf.h
+++ b/Build/source/texk/web2c/luatexdir/image/epdf.h
@@ -40,24 +40,22 @@ extern "C" {
# include <goo/GooString.h>
# include <goo/gmem.h>
# include <goo/gfile.h>
-# include "Object.h"
-# include "Stream.h"
-# include "Gfx.h"
-# include "Annot.h"
-# include "Array.h"
-# include "Dict.h"
-# include "XRef.h"
-# include "Catalog.h"
-#ifndef GETSTRUCTTREEROOT_RETURNS_OBJECT
-# include "StructTreeRoot.h"
-#endif
-# include "Link.h"
-# include "Page.h"
-# include "GfxFont.h"
-# include "PDFDoc.h"
-# include "GlobalParams.h"
-# include "Error.h"
-# include "FileSpec.h"
+# include <Object.h>
+# include <Stream.h>
+# include <Gfx.h>
+# include <Annot.h>
+# include <Array.h>
+# include <Dict.h>
+# include <XRef.h>
+# include <Catalog.h>
+# include <StructTreeRoot.h>
+# include <Link.h>
+# include <Page.h>
+# include <GfxFont.h>
+# include <PDFDoc.h>
+# include <GlobalParams.h>
+# include <Error.h>
+# include <FileSpec.h>
extern "C" {