From 7991cab643e93ba549e06207a24036d4cd8d598a Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Thu, 12 Dec 2013 14:00:51 +0000 Subject: luatex: Better way to handle poppler 0.25.x git-svn-id: svn://tug.org/texlive/trunk@32391 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/ChangeLog | 5 --- Build/source/texk/web2c/Makefile.in | 6 ++- Build/source/texk/web2c/c-auto.in | 3 -- Build/source/texk/web2c/configure | 49 ---------------------- Build/source/texk/web2c/configure.ac | 14 ------- Build/source/texk/web2c/luatexdir/ChangeLog | 1 + Build/source/texk/web2c/luatexdir/am/libluatex.am | 4 ++ .../texk/web2c/luatexdir/fake/StructTreeRoot.h | 16 +++++++ Build/source/texk/web2c/luatexdir/image/epdf.h | 34 +++++++-------- 9 files changed, 41 insertions(+), 91 deletions(-) create mode 100644 Build/source/texk/web2c/luatexdir/fake/StructTreeRoot.h (limited to 'Build/source') 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 - - * configure.ac (poppler features): Check if getStructTreeRoot() - returns an Object as for poppler <0.25.x. - 2013-12-06 Peter Breitenlohner * 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='' -I$(srcdir)/synctexdir + -DSYNCTEX_ENGINE_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 -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 ]) -# 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 *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 * 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 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='' -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 +// You may freely use, modify and/or distribute this file. + +// poppler 0.25.0 and later have a header and declare +// StructRootTree *Catalog::getStructRootTree() +// whereas poppler 0.24.4 and before have no such header and declare +// Object *Catalog::getStructRootTree(). + +// We always #include 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 # include # include -# 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 +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include extern "C" { -- cgit v1.2.3