pdftex[778] branches/stable/source: sync from TL 2017 release, ca.

commits+karl at tug.org commits+karl at tug.org
Wed Nov 1 18:53:02 CET 2017


Revision: 778
          http://tug.org/svn/pdftex?view=revision&revision=778
Author:   karl
Date:     2017-11-01 18:53:02 +0100 (Wed, 01 Nov 2017)
Log Message:
-----------
sync from TL 2017 release, ca. 20 May 2017

Modified Paths:
--------------
    branches/stable/source/src/Makefile.am
    branches/stable/source/src/Makefile.in
    branches/stable/source/src/build-aux/config.guess
    branches/stable/source/src/build-aux/config.sub
    branches/stable/source/src/build-aux/texinfo.tex
    branches/stable/source/src/configure
    branches/stable/source/src/doc/ChangeLog
    branches/stable/source/src/doc/Makefile.am
    branches/stable/source/src/doc/Makefile.in
    branches/stable/source/src/doc/README.solaris
    branches/stable/source/src/doc/tlbuild.info
    branches/stable/source/src/doc/tlbuild.texi
    branches/stable/source/src/libs/README
    branches/stable/source/src/libs/configure
    branches/stable/source/src/libs/libpng/ChangeLog
    branches/stable/source/src/libs/libpng/Makefile.am
    branches/stable/source/src/libs/libpng/Makefile.in
    branches/stable/source/src/libs/libpng/README
    branches/stable/source/src/libs/libpng/TLpatches/ChangeLog
    branches/stable/source/src/libs/libpng/TLpatches/TL-Changes
    branches/stable/source/src/libs/libpng/configure
    branches/stable/source/src/libs/libpng/libpng-src/ANNOUNCE
    branches/stable/source/src/libs/libpng/libpng-src/CHANGES
    branches/stable/source/src/libs/libpng/libpng-src/CMakeLists.txt
    branches/stable/source/src/libs/libpng/libpng-src/LICENSE
    branches/stable/source/src/libs/libpng/libpng-src/Makefile.am
    branches/stable/source/src/libs/libpng/libpng-src/README
    branches/stable/source/src/libs/libpng/libpng-src/TODO
    branches/stable/source/src/libs/libpng/libpng-src/config.h.in
    branches/stable/source/src/libs/libpng/libpng-src/configure.ac
    branches/stable/source/src/libs/libpng/libpng-src/contrib/examples/pngtopng.c
    branches/stable/source/src/libs/libpng/libpng-src/contrib/libtests/pngvalid.c
    branches/stable/source/src/libs/libpng/libpng-src/libpng-manual.txt
    branches/stable/source/src/libs/libpng/libpng-src/libpng.3
    branches/stable/source/src/libs/libpng/libpng-src/libpngpf.3
    branches/stable/source/src/libs/libpng/libpng-src/png.5
    branches/stable/source/src/libs/libpng/libpng-src/png.c
    branches/stable/source/src/libs/libpng/libpng-src/png.h
    branches/stable/source/src/libs/libpng/libpng-src/pngconf.h
    branches/stable/source/src/libs/libpng/libpng-src/pnglibconf.h
    branches/stable/source/src/libs/libpng/libpng-src/pngpriv.h
    branches/stable/source/src/libs/libpng/libpng-src/pngrtran.c
    branches/stable/source/src/libs/libpng/libpng-src/pngrutil.c
    branches/stable/source/src/libs/libpng/libpng-src/pngtest.c
    branches/stable/source/src/libs/libpng/libpng-src/pngwutil.c
    branches/stable/source/src/libs/libpng/libpng-src/projects/vstudio/README.txt
    branches/stable/source/src/libs/libpng/libpng-src/projects/vstudio/zlib.props
    branches/stable/source/src/libs/libpng/libpng-src/scripts/README.txt
    branches/stable/source/src/libs/libpng/libpng-src/scripts/def.c
    branches/stable/source/src/libs/libpng/libpng-src/scripts/libpng-config-head.in
    branches/stable/source/src/libs/libpng/libpng-src/scripts/libpng.pc.in
    branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.cegcc
    branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.linux
    branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.msys
    branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.ne12bsd
    branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.netbsd
    branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.openbsd
    branches/stable/source/src/libs/libpng/libpng-src/scripts/pnglibconf.dfa
    branches/stable/source/src/libs/libpng/libpng-src/scripts/pnglibconf.h.prebuilt
    branches/stable/source/src/libs/libpng/libpng-src/scripts/symbols.def
    branches/stable/source/src/libs/libpng/version.ac
    branches/stable/source/src/libs/poppler/Makefile.am
    branches/stable/source/src/libs/poppler/Makefile.in
    branches/stable/source/src/libs/poppler/TLpatches/patch-02-LLONG_MAX
    branches/stable/source/src/libs/poppler/TLpatches/patch-03-Object-functions
    branches/stable/source/src/libs/xpdf/ChangeLog
    branches/stable/source/src/libs/xpdf/Makefile.am
    branches/stable/source/src/libs/xpdf/Makefile.in
    branches/stable/source/src/libs/zlib/Makefile.am
    branches/stable/source/src/libs/zlib/Makefile.in
    branches/stable/source/src/m4/kpse-setup.m4
    branches/stable/source/src/texk/README
    branches/stable/source/src/texk/configure
    branches/stable/source/src/texk/kpathsea/ChangeLog
    branches/stable/source/src/texk/kpathsea/Makefile.am
    branches/stable/source/src/texk/kpathsea/Makefile.in
    branches/stable/source/src/texk/kpathsea/NEWS
    branches/stable/source/src/texk/kpathsea/PROJECTS
    branches/stable/source/src/texk/kpathsea/c-auto.in
    branches/stable/source/src/texk/kpathsea/configure
    branches/stable/source/src/texk/kpathsea/doc/kpathsea.info
    branches/stable/source/src/texk/kpathsea/doc/kpathsea.texi
    branches/stable/source/src/texk/kpathsea/kpsewhich.c
    branches/stable/source/src/texk/kpathsea/mingw32.c
    branches/stable/source/src/texk/kpathsea/texmf.cnf
    branches/stable/source/src/texk/kpathsea/version.ac
    branches/stable/source/src/texk/kpathsea/win32lib.c
    branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm
    branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm
    branches/stable/source/src/texk/web2c/ChangeLog
    branches/stable/source/src/texk/web2c/Makefile.am
    branches/stable/source/src/texk/web2c/Makefile.in
    branches/stable/source/src/texk/web2c/NEWS
    branches/stable/source/src/texk/web2c/ac/web2c.ac
    branches/stable/source/src/texk/web2c/configure
    branches/stable/source/src/texk/web2c/doc/web2c.info
    branches/stable/source/src/texk/web2c/doc/web2c.texi
    branches/stable/source/src/texk/web2c/lib/ChangeLog
    branches/stable/source/src/texk/web2c/lib/texmfmp.c
    branches/stable/source/src/texk/web2c/pdftexdir/ChangeLog
    branches/stable/source/src/texk/web2c/pdftexdir/NEWS
    branches/stable/source/src/texk/web2c/pdftexdir/mapfile.c
    branches/stable/source/src/texk/web2c/pdftexdir/pdftex.defines
    branches/stable/source/src/texk/web2c/pdftexdir/pdftex.web
    branches/stable/source/src/texk/web2c/pdftexdir/pdftex_version.h
    branches/stable/source/src/texk/web2c/pdftexdir/ptexlib.h
    branches/stable/source/src/texk/web2c/pdftexdir/ptexmac.h
    branches/stable/source/src/texk/web2c/pdftexdir/writefont.c
    branches/stable/source/src/texk/web2c/pdftexdir/writepng.c
    branches/stable/source/src/texk/web2c/pdftexdir/writet3.c
    branches/stable/source/src/texk/web2c/synctexdir/ChangeLog
    branches/stable/source/src/texk/web2c/synctexdir/man1/synctex.1
    branches/stable/source/src/texk/web2c/synctexdir/man5/synctex.5
    branches/stable/source/src/texk/web2c/synctexdir/synctex-ep-mem.ch0
    branches/stable/source/src/texk/web2c/synctexdir/synctex-ep-mem.ch1
    branches/stable/source/src/texk/web2c/synctexdir/synctex-luatex.h
    branches/stable/source/src/texk/web2c/synctexdir/synctex-p-mem.ch0
    branches/stable/source/src/texk/web2c/synctexdir/synctex-p-mem.ch1
    branches/stable/source/src/texk/web2c/synctexdir/synctex-pdf-rec.ch2
    branches/stable/source/src/texk/web2c/synctexdir/synctex-pdftex.h
    branches/stable/source/src/texk/web2c/synctexdir/synctex-rec.ch0
    branches/stable/source/src/texk/web2c/synctexdir/synctex-tex.h
    branches/stable/source/src/texk/web2c/synctexdir/synctex.c
    branches/stable/source/src/texk/web2c/synctexdir/synctex.defines
    branches/stable/source/src/texk/web2c/synctexdir/synctex.h
    branches/stable/source/src/texk/web2c/texmfmp-help.h
    branches/stable/source/src/texk/web2c/web2c/configure
    branches/stable/source/src/utils/README
    branches/stable/source/src/utils/configure
    branches/stable/source/src/version.ac
    branches/stable/source/sync-pdftex.sh

Added Paths:
-----------
    branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/
    branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/README
    branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux.c
    branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux_aux.c
    branches/stable/source/src/libs/libpng/libpng-src/intel/
    branches/stable/source/src/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c
    branches/stable/source/src/libs/libpng/libpng-src/intel/intel_init.c
    branches/stable/source/src/libs/libpng/libpng-src/powerpc/
    branches/stable/source/src/libs/libpng/libpng-src/powerpc/filter_vsx_intrinsics.c
    branches/stable/source/src/libs/libpng/libpng-src/powerpc/powerpc_init.c

Removed Paths:
-------------
    branches/stable/source/src/libs/libpng/libpng-src/contrib/intel/

Modified: branches/stable/source/src/Makefile.am
===================================================================
--- branches/stable/source/src/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-## $Id$
+## $Id: Makefile.am 43493 2017-03-14 00:03:01Z karl $
 ## Makefile.am for the TeX Live top-level
 ##
 ## Copyright 2016      Karl Berry <tex-live at tug.org>
@@ -76,7 +76,7 @@
 skip:
 .PHONY: skip
 
-# Directly run texlinks.
+# Convenience targets to run texlinks and reautoconf.
 .PHONY: texlinks
 texlinks:
 	cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks

Modified: branches/stable/source/src/Makefile.in
===================================================================
--- branches/stable/source/src/Makefile.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/Makefile.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -1046,7 +1046,7 @@
 skip:
 .PHONY: skip
 
-# Directly run texlinks.
+# Convenience targets to run texlinks and reautoconf.
 .PHONY: texlinks
 texlinks:
 	cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks

Modified: branches/stable/source/src/build-aux/config.guess
===================================================================
--- branches/stable/source/src/build-aux/config.guess	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/build-aux/config.guess	2017-11-01 17:53:02 UTC (rev 778)
@@ -2,7 +2,7 @@
 # Attempt to guess a canonical system name.
 #   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2017-03-05'
+timestamp='2017-05-11'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -1335,16 +1335,16 @@
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
+    NEO-*:NONSTOP_KERNEL:*:*)
 	echo neo-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
+    NSR-*:NONSTOP_KERNEL:*:*)
 	echo nsr-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSX-?:NONSTOP_KERNEL:*:*)
+    NSX-*:NONSTOP_KERNEL:*:*)
 	echo nsx-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     *:NonStop-UX:*:*)

Modified: branches/stable/source/src/build-aux/config.sub
===================================================================
--- branches/stable/source/src/build-aux/config.sub	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/build-aux/config.sub	2017-11-01 17:53:02 UTC (rev 778)
@@ -2,7 +2,7 @@
 # Configuration validation subroutine script.
 #   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2017-02-07'
+timestamp='2017-04-02'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -263,7 +263,7 @@
 	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
-	| i370 | i860 | i960 | ia64 \
+	| i370 | i860 | i960 | ia16 | ia64 \
 	| ip2k | iq2000 \
 	| k1om \
 	| le32 | le64 \
@@ -315,6 +315,7 @@
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
 	| visium \
+	| wasm32 \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -388,7 +389,7 @@
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| hexagon-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
+	| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
 	| ip2k-* | iq2000-* \
 	| k1om-* \
 	| le32-* | le64-* \
@@ -446,6 +447,7 @@
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
 	| visium-* \
+	| wasm32-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -1246,6 +1248,9 @@
 		basic_machine=a29k-wrs
 		os=-vxworks
 		;;
+	wasm32)
+		basic_machine=wasm32-unknown
+		;;
 	w65*)
 		basic_machine=w65-wdc
 		os=-none

Modified: branches/stable/source/src/build-aux/texinfo.tex
===================================================================
--- branches/stable/source/src/build-aux/texinfo.tex	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/build-aux/texinfo.tex	2017-11-01 17:53:02 UTC (rev 778)
@@ -3,11 +3,11 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2017-01-14.15}
+\def\texinfoversion{2017-05-14.14}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
+% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017
 % Free Software Foundation, Inc.
 %
 % This texinfo.tex file is free software: you can redistribute it and/or
@@ -5888,8 +5888,8 @@
     \divide\doublecolumnhsize by 2
   \hsize = \doublecolumnhsize
   %
-  % Double the \vsize as well.  (We don't need a separate register here,
-  % since nobody clobbers \vsize.)
+  % Double the \vsize as well.
+  \advance\vsize by -\ht\partialpage
   \vsize = 2\vsize
   %
   % For the benefit of balancing columns
@@ -5907,12 +5907,12 @@
   % previous page.
   \dimen@ = \vsize
   \divide\dimen@ by 2
-  \advance\dimen@ by -\ht\partialpage
   %
   % box0 will be the left-hand column, box2 the right.
-  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
+  \setbox0=\vsplit\PAGE to\dimen@ \setbox2=\vsplit\PAGE to\dimen@
+  \global\advance\vsize by 2\ht\partialpage
   \onepageout\pagesofar
-  \unvbox255
+  \unvbox\PAGE
   \penalty\outputpenalty
 }
 %
@@ -5976,9 +5976,9 @@
   %
   % \pagegoal was set to the doubled \vsize above, since we restarted
   % the current page.  We're now back to normal single-column
-  % typesetting, so reset \pagegoal to the normal \vsize (after the
-  % \endgroup where \vsize got restored).
-  \pagegoal = \vsize
+  % typesetting, so reset \pagegoal to the normal \vsize.
+  \global\vsize = \txipageheight %
+  \pagegoal = \txipageheight %
 }
 \newbox\balancedcolumns
 \setbox\balancedcolumns=\vbox{shouldnt see this}%
@@ -5986,7 +5986,7 @@
 % Only called for the last of the double column material.  \doublecolumnout 
 % does the others.
 \def\balancecolumns{%
-  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+  \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
   \dimen@ = \ht0
   \advance\dimen@ by \topskip
   \advance\dimen@ by-\baselineskip
@@ -9118,7 +9118,13 @@
     \xdef\safexrefname{#1}%
   }%
   %
-  \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref
+  \bgroup
+    \expandafter\gdef\csname XR\safexrefname\endcsname{#2}%
+  \egroup
+  % We put the \gdef inside a group to avoid the definitions building up on 
+  % TeX's save stack, which can cause it to run out of space for aux files with 
+  % thousands of lines.  \gdef doesn't use the save stack, but \csname does
+  % when it defines an unknown control sequence as \relax. 
   %
   % Was that xref control sequence that we just defined for a float?
   \expandafter\iffloat\csname XR\safexrefname\endcsname
@@ -11274,6 +11280,7 @@
     \pdfvorigin = 1 true in
   \else
     \ifx\XeTeXrevision\thisisundefined
+      \special{papersize=#8,#7}%
     \else
       \pdfpageheight #7\relax
       \pdfpagewidth #8\relax
@@ -11311,7 +11318,6 @@
   %
   \lispnarrowing = 0.3in
   \tolerance = 700
-  \hfuzz = 1pt
   \contentsrightmargin = 0pt
   \defbodyindent = .5cm
 }}
@@ -11329,7 +11335,6 @@
   %
   \lispnarrowing = 0.25in
   \tolerance = 700
-  \hfuzz = 1pt
   \contentsrightmargin = 0pt
   \defbodyindent = .4cm
 }}
@@ -11355,7 +11360,6 @@
                     {297mm}{210mm}%
   %
   \tolerance = 700
-  \hfuzz = 1pt
   \contentsrightmargin = 0pt
   \defbodyindent = 5mm
 }}
@@ -11374,7 +11378,6 @@
   %
   \lispnarrowing = 0.2in
   \tolerance = 800
-  \hfuzz = 1.2pt
   \contentsrightmargin = 0pt
   \defbodyindent = 2mm
   \tableindent = 12mm
@@ -11430,7 +11433,10 @@
 %
 \letterpaper
 
+% Default value of \hfuzz, for suppressing warnings about overfull hboxes.
+\hfuzz = 1pt
 
+
 \message{and turning on texinfo input format.}
 
 \def^^L{\par} % remove \outer, so ^L can appear in an @comment
@@ -11595,6 +11601,9 @@
   @def ^^M{@let^^M at secondlinenl}%
   % Definition for a newline in the main Texinfo file.
   @gdef @secondlinenl{@fixbackslash}%
+  % In case the first line has a whole-line command on it
+  @let at originalparsearg@parsearg
+  @def at parsearg{@fixbackslash at originalparsearg}
 }}
 
 {@catcode`@^=7 @catcode`@^^M=13%
@@ -11615,6 +11624,7 @@
   @catcode13=5 % regular end of line
   @enableemergencynewline
   @let at c=@texinfoc
+  @let at parsearg@originalparsearg
   % Also turn back on active characters that might appear in the input
   % file name, in case not using a pre-dumped format.
   @catcode`+=@active

Modified: branches/stable/source/src/configure
===================================================================
--- branches/stable/source/src/configure	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/configure	2017-11-01 17:53:02 UTC (rev 778)
@@ -4656,7 +4656,6 @@
 test "x$enable_web2c:$enable_luatex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_lua52=yes
@@ -4675,7 +4674,6 @@
 test "x$enable_web2c:$enable_luajittex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_luajit=yes
@@ -21080,34 +21078,14 @@
 $as_echo_n "checking for TeX specific libraries to build... " >&6; }
 CONF_SUBDIRS=
 MAKE_SUBDIRS=
-if test -x $srcdir/texk/ptexenc/configure; then
-  test "x$with_system_ptexenc" != xyes && test "x$need_ptexenc" = xyes && MAKE_SUBDIRS="texk/ptexenc $MAKE_SUBDIRS"
+if test -x $srcdir/texk/ptexenc/configure && test "x$with_system_ptexenc" != xyes && test "x$need_ptexenc" = xyes; then
   CONF_SUBDIRS="texk/ptexenc $CONF_SUBDIRS"
+  MAKE_SUBDIRS="texk/ptexenc $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/texk/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/texk/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/texk/kpathsea/configure; then
-  test "x$with_system_kpathsea" != xyes && test "x$need_kpathsea" = xyes && MAKE_SUBDIRS="texk/kpathsea $MAKE_SUBDIRS"
+if test -x $srcdir/texk/kpathsea/configure && test "x$with_system_kpathsea" != xyes && test "x$need_kpathsea" = xyes; then
   CONF_SUBDIRS="texk/kpathsea $CONF_SUBDIRS"
+  MAKE_SUBDIRS="texk/kpathsea $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/texk/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/texk/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_SUBDIRS" >&5
 $as_echo "$MAKE_SUBDIRS" >&6; }
@@ -24764,11 +24742,11 @@
 test "x$srcdir" = x. || msg_compiling="$msg_compiling
       from sources in $kpse_src"
 { $as_echo "$as_me:${as_lineno-$LINENO}: result:
-** Configuration summary for $PACKAGE_STRING (2017/dev$with_banner_add):
+** Configuration summary for $PACKAGE_STRING (2017$with_banner_add):
 
    $msg_compiling" >&5
 $as_echo "
-** Configuration summary for $PACKAGE_STRING (2017/dev$with_banner_add):
+** Configuration summary for $PACKAGE_STRING (2017$with_banner_add):
 
    $msg_compiling" >&6; }
 case $kpse_src$kpse_bld in

Modified: branches/stable/source/src/doc/ChangeLog
===================================================================
--- branches/stable/source/src/doc/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/doc/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,3 +1,12 @@
+2017-03-22  Karl Berry  <karl at tug.org>
+
+	* tlbuild.texi: we now default to gcc for ICU too.
+
+2017-03-19  Karl Berry  <karl at tug.org>
+
+	* tlbuild.texi: TLPATCHES -> TLpatches.
+	(direntry): add install-tl and tlmgr entries.
+
 2016-01-21  Karl Berry  <karl at freefriends.org>
 
 	* tlbuild.texi (Cross problems): Lua[JIT]TeX no longer uses

Modified: branches/stable/source/src/doc/Makefile.am
===================================================================
--- branches/stable/source/src/doc/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/doc/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -34,10 +34,8 @@
 # none of this is intended to be executed except manually.
 mydoc = tlbuild
 
-# until the next texinfo release, need development texinfo
-# for --appendix-sections.
-texinfo_dir = $(HOME)/gnu/src/texinfo
-pod2texi = perl $(texinfo_dir)/Pod-Simple-Texinfo/pod2texi.pl
+# Needs to be the pod2texi from at least Texinfo 6.3.
+pod2texi = pod2texi
 pod2texi_args = \
   --appendix-sections \
   --base-level=section \
@@ -44,8 +42,8 @@
   --no-fill-section-gaps \
   --preamble=''
 
-# We use a complicated L<> section reference in the tlmgr pod,
-# schematically like this:
+# We use complicated section names in the tlmgr pod, and consequently
+# complicated section references, schematically like this:
 #   L<whatever|/mysec I<myital>>
 # Unfortunately, the Pod module does not pass the necessary information
 # in the callbacks to allow pod2texi to preserve the I<>.  It seems
@@ -52,18 +50,30 @@
 # better to kludge in some substitutions here than reimplement a whole
 # pod parser.  Sigh.
 #
-update_node_bad  = ref{tlmgr update [option]... [pkg]...
-update_node_good = ref{tlmgr update [\@emph{option}]... [\@emph{pkg}]...
-install_node_bad = ref{tlmgr install [option]... pkg...
-install_node_good = ref{tlmgr install [\@emph{option}]... \@emph{pkg}...
+# The \@... in the replacements are escaping the @ in a Perl
+# double-quote context, i.e., not an array.
+# 
+update_node_bad  = ref{tlmgr update [option]... [pkg]...,
+update_node_bad2  = ref{tlmgr update,
+update_node_good = ref{tlmgr update [\@emph{option}]... [\@emph{pkg}]...,
+#
+restore_node_bad = ref{tlmgr restore,
+restore_node_good = ref{tlmgr restore [--backupdir \@emph{dir}] [--all | \@emph{pkg} [\@emph{rev}]],
+#
+install_node_bad = ref{tlmgr install [option]... pkg...,
+install_node_good = ref{tlmgr install [\@emph{option}]... \@emph{pkg}...,
 
 # we don't actually use the (autogenerated) -incl.texi file,
-# but it makes for a convenient target.
+# but it makes for a convenient target. Copy the scripts into the build dir.
 $(mydoc)-incl.texi: install-tl tlmgr.pl 
 	$(pod2texi) -o $@ --subdir=$(mydoc)-incl $(pod2texi_args) $^
+	cp $(mydoc)-incl/tlmgr.texi $(mydoc)-incl/tlmgr.texi.orig
 	perl -pi \
           -e 's/\Q$(update_node_bad)\E/$(update_node_good)/' \
+          -e ';s/\Q$(update_node_bad2)\E/$(update_node_good),/' \
           -e ';' \
+          -e 's/\Q$(restore_node_bad)\E/$(restore_node_good)/' \
+          -e ';' \
           -e 's/\Q$(install_node_bad)\E/$(install_node_good)/' \
 	  $(mydoc)-incl/tlmgr.texi
 .PHONY: $(mydoc)-incl.texi

Modified: branches/stable/source/src/doc/Makefile.in
===================================================================
--- branches/stable/source/src/doc/Makefile.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/doc/Makefile.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -463,10 +463,8 @@
 # none of this is intended to be executed except manually.
 mydoc = tlbuild
 
-# until the next texinfo release, need development texinfo
-# for --appendix-sections.
-texinfo_dir = $(HOME)/gnu/src/texinfo
-pod2texi = perl $(texinfo_dir)/Pod-Simple-Texinfo/pod2texi.pl
+# Needs to be the pod2texi from at least Texinfo 6.3.
+pod2texi = pod2texi
 pod2texi_args = \
   --appendix-sections \
   --base-level=section \
@@ -474,8 +472,8 @@
   --preamble=''
 
 
-# We use a complicated L<> section reference in the tlmgr pod,
-# schematically like this:
+# We use complicated section names in the tlmgr pod, and consequently
+# complicated section references, schematically like this:
 #   L<whatever|/mysec I<myital>>
 # Unfortunately, the Pod module does not pass the necessary information
 # in the callbacks to allow pod2texi to preserve the I<>.  It seems
@@ -482,10 +480,18 @@
 # better to kludge in some substitutions here than reimplement a whole
 # pod parser.  Sigh.
 #
-update_node_bad = ref{tlmgr update [option]... [pkg]...
-update_node_good = ref{tlmgr update [\@emph{option}]... [\@emph{pkg}]...
-install_node_bad = ref{tlmgr install [option]... pkg...
-install_node_good = ref{tlmgr install [\@emph{option}]... \@emph{pkg}...
+# The \@... in the replacements are escaping the @ in a Perl
+# double-quote context, i.e., not an array.
+# 
+update_node_bad = ref{tlmgr update [option]... [pkg]...,
+update_node_bad2 = ref{tlmgr update,
+update_node_good = ref{tlmgr update [\@emph{option}]... [\@emph{pkg}]...,
+#
+restore_node_bad = ref{tlmgr restore,
+restore_node_good = ref{tlmgr restore [--backupdir \@emph{dir}] [--all | \@emph{pkg} [\@emph{rev}]],
+#
+install_node_bad = ref{tlmgr install [option]... pkg...,
+install_node_good = ref{tlmgr install [\@emph{option}]... \@emph{pkg}...,
 all: all-am
 
 .SUFFIXES:
@@ -939,12 +945,16 @@
 .PHONY: readme-files readme-install
 
 # we don't actually use the (autogenerated) -incl.texi file,
-# but it makes for a convenient target.
+# but it makes for a convenient target. Copy the scripts into the build dir.
 $(mydoc)-incl.texi: install-tl tlmgr.pl 
 	$(pod2texi) -o $@ --subdir=$(mydoc)-incl $(pod2texi_args) $^
+	cp $(mydoc)-incl/tlmgr.texi $(mydoc)-incl/tlmgr.texi.orig
 	perl -pi \
           -e 's/\Q$(update_node_bad)\E/$(update_node_good)/' \
+          -e ';s/\Q$(update_node_bad2)\E/$(update_node_good),/' \
           -e ';' \
+          -e 's/\Q$(restore_node_bad)\E/$(restore_node_good)/' \
+          -e ';' \
           -e 's/\Q$(install_node_bad)\E/$(install_node_good)/' \
 	  $(mydoc)-incl/tlmgr.texi
 .PHONY: $(mydoc)-incl.texi

Modified: branches/stable/source/src/doc/README.solaris
===================================================================
--- branches/stable/source/src/doc/README.solaris	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/doc/README.solaris	2017-11-01 17:53:02 UTC (rev 778)
@@ -167,14 +167,6 @@
     libuutil.so.1 => /lib/libuutil.so.1
     libgen.so.1 =>   /lib/libgen.so.1
 
-Additional notes:
-
-* gc-7.4.2 doesn't support sparc properly, so the sources for sparc were fetched from
-  https://github.com/ivmai/bdwgc/tree/release-7_4
-  and put into gc-7.4.2
-  Running ./autogen.sh was needed before proceeding
-
-
 Building texlive
 ================
 
@@ -188,11 +180,3 @@
 with Solaris 11) and doesn't support Sparc, so it was only compiled
 for i386.
 
-upmendex is broken on x86_64 by default. A workaround is to use
-    export CFLAGS='-DU_IS_BIG_ENDIAN=0'
-    export CXXFLAGS='-DU_IS_BIG_ENDIAN=0'
-which seems to result in slower binaries for mysterious reasons.
-For that reason binaries were compiled twice, once without those flags
-and --disable-upmendex and the second time with those two flags,
-but taking just 'upmendex'.
-

Modified: branches/stable/source/src/doc/tlbuild.info
===================================================================
--- branches/stable/source/src/doc/tlbuild.info	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/doc/tlbuild.info	2017-11-01 17:53:02 UTC (rev 778)
@@ -24,10 +24,16 @@
 * TLbuild: (tlbuild).           TeX Live configuration and development.
 END-INFO-DIR-ENTRY
 
+INFO-DIR-SECTION Individual utilities
+START-INFO-DIR-ENTRY
+* install-tl::                  Installing TeX Live.
+* tlmgr::                       Managing TeX Live.
+END-INFO-DIR-ENTRY
+
 
 File: tlbuild.info,  Node: Top,  Next: Introduction,  Up: (dir)
 
-Building TeX Live (2016)
+Building TeX Live (2017)
 ************************
 
 For an overview of this manual, *note Introduction::.
@@ -53,8 +59,7 @@
 1 Introduction
 **************
 
-This manual (dated February 2017) corresponds to the TeX Live 2016
-release.
+This manual (dated April 2017) corresponds to the TeX Live 2017 release.
 
    This manual is aimed at system installers and programmers, and
 focuses on how to configure, build, and develop the TeX Live (TL)
@@ -362,30 +367,26 @@
 things are working.  There are many 'configure' options you can tweak as
 desired; check the output from 'configure --help'.
 
-   Finally, the above retrieves the entire TL source tree (some 300mb).
-It is natural to ask if this is really necessary.  Strictly speaking,
-the answer is no, but it is vastly more convenient to do so.  If you cut
-down the source tree, you must also give additional 'configure' flags to
-individually disable using system versions of libraries, or the
-intricacies of the dependencies (such as 'teckit' requiring 'zlib') will
-have undesired side effects.  For an example, see the 'build-pdftex.sh'
-script in the 'pdftex' development sources (<http://pdftex.org>), which
-are indeed a cut-down TL source tree.
+   Finally, the above retrieves the entire TL source tree (several
+hundred megabytes).  It is natural to ask if this is really necessary.
+Strictly speaking, the answer is no, but it is vastly more convenient to
+do so.  If you cut down the source tree, you must also give additional
+'configure' flags to individually disable using system versions of
+libraries, or the intricacies of the dependencies (such as 'teckit'
+requiring 'zlib') will have undesired side effects.  For an example, see
+the 'build-pdftex.sh' script in the 'pdftex' development source
+(<http://pdftex.org>), which is indeed a cut-down TL source tree.
 
-   Caveat 1: even with '--disable-all-pkgs', dependencies will be
-checked.  For instance, if a non-MacOSX system does not have
-'fontconfig', XeTeX cannot be built (*note Prerequisites::) and
-'configure' will terminate.  To proceed without such dependencies,
-specify '--enable-missing' also.  (Arguably this should happen
-automatically.)
+   Even with '--disable-all-pkgs', dependencies will be checked.  For
+instance, if a non-MacOSX system does not have 'fontconfig', XeTeX
+cannot be built (*note Prerequisites::) and 'configure' will terminate.
+To proceed without such dependencies, specify '--enable-missing' also.
+(Arguably this should happen automatically.)
 
-   Caveat 2: unless 'CC' and 'CXX' and 'OBJCXX' are explicitly
-specified, each package will configure its own compiler(s).  In
-practice, this results in a conflict in only one instance: the ICU
-('libs/icu') library will prefer 'clang' and 'clang++' over all others
-if they are installed, whereas everything else prefers 'gcc' and 'g++'.
-Usually the results will be interoperable, but it can cause extra
-confusion and problems when debugging a program that uses ICU.
+   By default, the 'gcc' compilers will be used if present; otherwise,
+individual packages may use something different.  You can explicitly
+specify the compilers to be used with the environment variables 'CC',
+'CXX', and 'OBJCXX'.
 
 
 File: tlbuild.info,  Node: Installing,  Next: Layout and infrastructure,  Prev: Building,  Up: Top
@@ -892,7 +893,7 @@
 ----------------------------------------
 
 This generic library uses the source tree in, e.g., the subdirectory
-'libpng-src/' with all modifications for TL recorded in 'TLPATCHES/*'.
+'libpng-src/' with all modifications for TL recorded in 'TLpatches/*'.
 The 'configure.ac' fragment 'ac/withenable.ac' contains
 
      KPSE_WITH_LIB([libpng], [zlib])
@@ -1013,7 +1014,7 @@
 ----------------------------------------------
 
 Once again we use the distributed source tree 't1utils-src' with
-modifications documented in 'TLPATCHES/*' and a proxy build system
+modifications documented in 'TLpatches/*' and a proxy build system
 consisting of 'configure.ac' and 'Makefile.am'.  The fragment
 'ac/withenable.ac' contains
 
@@ -1029,7 +1030,7 @@
 ------------------------------------------
 
 This module uses the distributed source tree 'xindy-src/' with
-modifications documented in 'TLPATCHES/*', a proxy 'configure.ac', and a
+modifications documented in 'TLpatches/*', a proxy 'configure.ac', and a
 wrapper 'Makefile.am' that descends into 'xindy-src'.  The 'xindy' build
 requires a 'make' that supports a 'VPATH' build, can handle all targets,
 and do not refer to '${top_srcdir}' or '${top_builddir}'.  The fragment
@@ -1094,7 +1095,7 @@
 
    In any case, a new package directory 'foo' should contain the
 original sources, as modified for TL, in 'foo/foo-src', and the changes
-should be documented in 'foo/TLPATCHES/*'; changes should also be
+should be documented in 'foo/TLpatches/*'; changes should also be
 submitted upstream whenever reasonable, of course.  In addition, 'foo/'
 will need the usual Automake build-related files ('configure.ac',
 'Makefile.am', etc.  Please keep a 'ChangeLog' for all TL changes.
@@ -1997,6 +1998,7 @@
 * install-tl DESCRIPTION::
 * install-tl REFERENCES::
 * install-tl OPTIONS::
+* install-tl PROFILES::
 * install-tl ENVIRONMENT VARIABLES::
 * install-tl AUTHORS AND COPYRIGHT::
 
@@ -2016,8 +2018,10 @@
 
 install-tl [_option_]...
 
-   install-tl.bat [_option_]...
+   install-tl-windows.bat [_option_]...
 
+   install-tl-advanced.bat [_option_]...
+
 
 File: tlbuild.info,  Node: install-tl DESCRIPTION,  Next: install-tl REFERENCES,  Prev: install-tl SYNOPSIS,  Up: install-tl
 
@@ -2025,21 +2029,22 @@
 ===============
 
 This installer creates a runnable TeX Live installation from various
-media, including over the network.  The installer works across all
-platforms supported by TeX Live.  For information on initially
-downloading the TeX Live, see <http://tug.org/texlive/acquire.html>.
+media, including over the network, from local hard disk, a DVD, etc.
+The installer works across all platforms supported by TeX Live.  For
+information on initially downloading the TeX Live, see
+<http://tug.org/texlive/acquire.html>.
 
-   The basic idea of TeX Live installation is to choose one of the
-top-level _schemes_, each of which is defined as a different set of
+   The basic idea of TeX Live installation is for you to choose one of
+the top-level _schemes_, each of which is defined as a different set of
 _collections_ and _packages_, where a collection is a set of packages,
 and a package is what contains actual files.
 
    Within the installer, you can choose a scheme, and further customize
 the set of collections to install, but not the set of the packages.  To
-do that, use 'tlmgr' (reference below) after the initial installation is
-completely.
+work at the package level, use 'tlmgr' (reference just below) after the
+initial installation is complete.
 
-   The default is 'scheme-full', to install everything, and this is
+   The default is 'scheme-full', which installs everything, and this is
 highly recommended.
 
 
@@ -2052,14 +2057,14 @@
 handled through *tlmgr*(1), the TeX Live Manager
 (<http://tug.org/texlive/tlmgr.html>).
 
-   The most up-to-date version of this documentation is on the Internet
-at <http://tug.org/texlive/doc/install-tl.html>.
+   The most up-to-date version of this installer documentation is on the
+Internet at <http://tug.org/texlive/doc/install-tl.html>.
 
    For the full documentation of TeX Live, see
 <http://tug.org/texlive/doc>.
 
 
-File: tlbuild.info,  Node: install-tl OPTIONS,  Next: install-tl ENVIRONMENT VARIABLES,  Prev: install-tl REFERENCES,  Up: install-tl
+File: tlbuild.info,  Node: install-tl OPTIONS,  Next: install-tl PROFILES,  Prev: install-tl REFERENCES,  Up: install-tl
 
 A.5 OPTIONS
 ===========
@@ -2070,7 +2075,7 @@
 
 *-gui* [[=]_module_]
 
-     If no _module_ is given starts the 'perltk' (see below) GUI
+     If no _module_ is given, starts the 'perltk' (see below) GUI
      installer.
 
      If _module_ is given loads the given installer module.  Currently
@@ -2093,7 +2098,7 @@
           'install-tl-advanced.bat'.
 
      The 'perltk' and 'wizard' modules, and thus also when calling with
-     a bare '-gui' (without _module_), requires the Perl/Tk module
+     bare '-gui' (with no _module_), require the Perl/Tk module
      (<http://tug.org/texlive/distro.html#perltk>); if Perl/Tk is not
      available, installation continues in text mode.
 
@@ -2118,8 +2123,9 @@
 
      Specify the package repository to be used as the source of the
      installation, either a local directory via '/path/to/directory' or
-     a 'file:/' url, or a network location via a 'http://' or 'ftp://'
-     url.  (No other protocols are supported.)
+     a 'file:/' url, or a network location via a 'http://', 'https://',
+     or 'ftp://' url.  (No other protocols are supported, and 'https://'
+     may not work on all platforms.)
 
      The default is to pick a mirror automatically, using
      <http://mirror.ctan.org/systems/texlive/tlnet>; the chosen mirror
@@ -2134,9 +2140,9 @@
 
        -repository http://ctan.example.org/its/ctan/dir/systems/texlive/tlnet
 
-     Of course a real hostname and its particular top-level CTAN path
-     have to be specified.  The list of CTAN mirrors is available at
-     <http://ctan.org/mirrors>.
+     Of course a real hostname and its particular top-level CTAN
+     directory have to be specified.  The list of CTAN mirrors is
+     available at <http://ctan.org/mirrors>.
 
      If the repository is local, the installation type (compressed or
      live) is automatically determined, by checking for the presence of
@@ -2167,9 +2173,9 @@
 *-all-options*
 
      Normally options not relevant to the current platform are not shown
-     (i.e., when running on Unix, Windows-specific options are omitted).
-     Giving this command line option allows configuring settings in the
-     final 'texlive.tlpdb' that do not have any immediate effect.
+     (e.g., when running on Unix, Windows-specific options are omitted).
+     Giving this command line option allows configuring such "foreign"
+     settings.
 
 *-custom-bin* _path_
 
@@ -2180,10 +2186,13 @@
      installation will continue as usual, but at the end all files from
      _path_ are copied over to 'bin/custom/' under your installation
      directory and this 'bin/custom/' directory is what will be added to
-     the path for the post-install actions.  (By the way, for
-     information on building TeX Live, see
-     <http://tug.org/texlive/build.html>).
+     the path for the post-install actions.  To install multiple custom
+     binary sets, manully rename 'custom' before doing each.
 
+     For more information on custom binaries, see
+     <http://tug.org/texlive/custom-bin.html>.  For general information
+     on building TeX Live, see <http://tug.org/texlive/build.html>.
+
 *-debug-translation*
 
      In GUI mode, this switch makes 'tlmgr' report any missing, or more
@@ -2199,7 +2208,7 @@
 
 *-help*, *-help*, *-?*
 
-     Display this help and exit (on the web via
+     Display this help and exit.  (This help is on the web at
      <http://tug.org/texlive/doc/install-tl.html>).  Sometimes the
      'perldoc' and/or 'PAGER' programs on the system have problems,
      possibly resulting in control characters being literally output.
@@ -2217,6 +2226,12 @@
      option is not available via the installer interfaces.  USE AT YOUR
      OWN RISK.
 
+*-init-from-profile* _profile_file_
+
+     Similar to *-profile* (see *note PROFILES: install-tl PROFILES.
+     below), but only initializes the installation configuration from
+     _profile_file_ and then starts the interactive session.
+
 *-logfile* _file_
 
      Write both all messages (informational, debugging, warnings) to
@@ -2228,7 +2243,7 @@
 
 *-no-cls*
 
-     (only for text mode installer) do not clear the screen when
+     For the text mode installer only: do not clear the screen when
      entering a new menu (for debugging purposes).
 
 *-non-admin*
@@ -2250,8 +2265,16 @@
      This option is turned on by default, and the installation program
      will fall back to using 'wget' if this is not possible.  To disable
      usage of LWP and persistent connections, use
-     '--no-persistent-downloads'.
+     '-no-persistent-downloads'.
 
+*-no-verify-downloads*
+
+     By default, if a GnuPG 'gpg' binary is found in PATH, downloads are
+     verified against a cryptographic signature.  This option disables
+     such verification.  The full description is in the Crytographic
+     Verification section of the 'tlmgr' documentation, e.g.,
+     <http://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION>
+
 *-portable*
 
      Install for portable use, e.g., on a USB stick.  Also selectable
@@ -2263,34 +2286,12 @@
      (hardware/operating system) combination to standard output, and
      exit.  '-print-arch' is a synonym.
 
-*-profile* _profile_
+*-profile* _profile_file_
 
-     Load the file _profile_ and do the installation with no user
-     interaction, that is, a batch (unattended) install.
+     Load _profile_file_ and do the installation with no user
+     interaction, that is, a batch (unattended) install.  See *note
+     PROFILES: install-tl PROFILES. below.
 
-     A _profile_ file contains all the values needed to perform an
-     installation.  After a normal installation has finished, a profile
-     for that exact installation is written to the file
-     DEST/tlpkg/texlive.profile.  That file can be given as the argument
-     to '-profile' to redo the exact same installation on a different
-     system, for example.  Alternatively, you can use a custom profile,
-     most easily created by starting from a generated one and changing
-     values, or an empty file, which will take all the defaults.
-
-     Normally a profile has to specify the value '1' for each collection
-     to be installed, even if the scheme is specified.  This follows
-     from the logic of the installer in that you can first select a
-     scheme and then change the collections being installed.  But for
-     convenience there is an exception to this within profiles: If the
-     profile contains a variable for 'selected_scheme' and _no_
-     collection variables at all are defined in the profile, then the
-     collections which the specified scheme requires are installed.
-
-     Thus, a line 'selected_scheme scheme-medium' together with the
-     definitions of the installation directories ('TEXDIR', 'TEXMFHOME',
-     'TEXMFLOCAL', 'TEXMFSYSCONFIG', 'TEXMFSYSVAR') suffices to install
-     the medium scheme with all default options.
-
 *-q*
 
      Omit normal informational messages.
@@ -2307,8 +2308,8 @@
 
 *-v*
 
-     Include verbose debugging messages; repeat for maximum debugging,
-     as in '-v -v'.  (Further repeats are accepted but ignored.)
+     Include verbose debugging messages; repeat for maximum debugging:
+     '-v -v'.  (Further repeats are accepted but ignored.)
 
 *-version*, *-version*
 
@@ -2316,13 +2317,143 @@
      the revisions of the used modules are reported, too.
 
 
-File: tlbuild.info,  Node: install-tl ENVIRONMENT VARIABLES,  Next: install-tl AUTHORS AND COPYRIGHT,  Prev: install-tl OPTIONS,  Up: install-tl
+File: tlbuild.info,  Node: install-tl PROFILES,  Next: install-tl ENVIRONMENT VARIABLES,  Prev: install-tl OPTIONS,  Up: install-tl
 
-A.6 ENVIRONMENT VARIABLES
+A.6 PROFILES
+============
+
+A _profile_ file contains all the values needed to perform an
+installation.  After a normal installation has finished, a profile for
+that exact installation is written to the file 'tlpkg/texlive.profile'.
+In addition, from the text menu one can select 'P' to save the current
+setup as a profile at any time.  Such a profile file can be given as the
+argument to '-profile', for example to redo the exact same installation
+on a different system.  Alternatively, you can use a custom profile,
+most easily created by starting from a generated one and changing
+values, or an empty file, which will take all the defaults.
+
+   Within a profile file, each line consists of
+
+   _variable_ [_value_]
+
+   except for comment lines starting with '#'.  The possible variable
+names are listed below.  Values, when present, are either '0' or '1' for
+booleans, or strings (which must be specified without any quote
+characters).  Leading whitespace is ignored.
+
+   If the variable 'selected_scheme' is defined and _no_ collection
+variables at all are defined, then the collections required by the
+specified scheme (which might change over time) are installed, without
+explicitly listing them.  This eases maintenance of profile files.  If
+any collections are specified in a profile, though, then all desired
+collections must be given explicitly.
+
+   For example, a line
+
+  selected_scheme scheme-small
+
+   along with definitions for the installation directories (given below
+under "path options") suffices to install the "small" scheme with all
+default options.  The schemes are described in the 'S' menu in the text
+installer, or equivalent.
+
+   Besides 'selected_scheme', here is the list of variable names
+supported in a profile:
+
+   *collection options* (prefix 'collection-')
+
+   Collections are specified with a variable name with the prefix
+'collection-' followed by a collection name; there is no value.  For
+instance, 'collection-basic'.  The collections are described in the 'C'
+menu.
+
+   Schemes and collections (and packages) are ultimately defined by the
+files in the 'tlpkg/tlpsrc/' source directory.
+
+   *path options*
+
+   It is best to define all of these, even though they may not be used
+in the installation, so as to avoid unintentionally getting a default
+value that could cause problems later.
+
+  TEXDIR
+  TEXMFCONFIG
+  TEXMFVAR
+  TEXMFHOME
+  TEXMFLOCAL
+  TEXMFSYSCONFIG
+  TEXMFSYSVAR
+
+   *installer options* (prefix 'instopt_')
+
+'instopt_adjustpath' (default 0 on Unix, 1 on Windows)
+
+     Adjust 'PATH' environment variable.
+
+'instopt_adjustrepo' (default 1)
+
+     Set remote repository to a multiplexed CTAN mirror after
+     installation; see '-repository' above.
+
+'instopt_letter' (default 0)
+
+     Set letter size paper as the default, instead of a4.
+
+'instopt_portable' (default 0)
+
+     Install for portable use, e.g., on a USB stick.
+
+'instopt_write18_restricted' (default 1)
+
+     Enable '\write18' for a restricted set of programs.
+
+   *tlpdb options* (prefix 'tlpdbopt_')
+
+   The definitive list is given in 'tlpkg/TeXLive/TLConfig.pm', in
+'%TeXLive::TLConfig::TLPDBOptions', together with explanations.  All
+items given there _except_ for 'tlpdbopt_location' can be specified.
+Here is the current list:
+
+  tlpdbopt_autobackup
+  tlpdbopt_backupdir
+  tlpdbopt_create_formats
+  tlpdbopt_desktop_integration
+  tlpdbopt_file_assocs
+  tlpdbopt_generate_updmap
+  tlpdbopt_install_docfiles
+  tlpdbopt_install_srcfiles
+  tlpdbopt_post_code
+  tlpdbopt_sys_bin
+  tlpdbopt_sys_info
+  tlpdbopt_sys_man
+  tlpdbopt_w32_multi_user
+
+   *platform options* (prefix 'binary_')
+
+   For each supported platform in TeX Live (directories under 'bin/'),
+the variable 'binary_'_PLATFORM_ can be set.  For example:
+
+  binary_x86_64-linux
+
+   If no 'binary_' variable is specified, the default is whatever the
+current machine is running.
+
+   In releases before 2017, many profile variables had different names
+(not documented here; see the 'install-tl' source).  They are accepted
+and transformed to the names given above.  When a profile is written,
+the names above are always used.
+
+   For more details on all of the above options, consult the TeX Live
+installation manual, linked from <http://tug.org/texlive/doc>.
+
+
+File: tlbuild.info,  Node: install-tl ENVIRONMENT VARIABLES,  Next: install-tl AUTHORS AND COPYRIGHT,  Prev: install-tl PROFILES,  Up: install-tl
+
+A.7 ENVIRONMENT VARIABLES
 =========================
 
 For ease in scripting and debugging, 'install-tl' will look for the
-following environment variables.  They are not of interest in normal
+following environment variables.  They are not of interest for normal
 user installations.
 
 'TEXLIVE_INSTALL_ENV_NOCHECK'
@@ -2336,10 +2467,19 @@
      Omit creating the ConTeXt cache.  This is useful for
      redistributors.
 
+'TEXLIVE_INSTALL_NO_WELCOME'
+
+     Omit printing the welcome message after successful installation,
+     e.g., for testing.
+
 'TEXLIVE_INSTALL_PREFIX'
 
+'TEXLIVE_INSTALL_TEXDIR'
+
 'TEXLIVE_INSTALL_TEXMFCONFIG'
 
+'TEXLIVE_INSTALL_TEXMFVAR'
+
 'TEXLIVE_INSTALL_TEXMFHOME'
 
 'TEXLIVE_INSTALL_TEXMFLOCAL'
@@ -2348,10 +2488,13 @@
 
 'TEXLIVE_INSTALL_TEXMFSYSVAR'
 
-'TEXLIVE_INSTALL_TEXMFVAR'
+     Specify the respective directories.  'TEXLIVE_INSTALL_PREFIX'
+     defaults to '/usr/local/texlive', while 'TEXLIVE_INSTALL_TEXDIR'
+     defaults to the release directory within that prefix, e.g.,
+     '/usr/local/texlive/2016'.  All the defaults can be seen by running
+     the installer interactively and then typing 'D' for the directory
+     menu.
 
-     Specify the respective directories.
-
 'NOPERLDOC'
 
      Don't try to run the '--help' message through 'perldoc'.
@@ -2359,7 +2502,7 @@
 
 File: tlbuild.info,  Node: install-tl AUTHORS AND COPYRIGHT,  Prev: install-tl ENVIRONMENT VARIABLES,  Up: install-tl
 
-A.7 AUTHORS AND COPYRIGHT
+A.8 AUTHORS AND COPYRIGHT
 =========================
 
 This script and its documentation were written for the TeX Live
@@ -2366,6 +2509,8 @@
 distribution (<http://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
+   $Id: install-tl 44407 2017-05-18 21:25:39Z karl $
+
 
 File: tlbuild.info,  Node: tlmgr,  Next: Index,  Prev: install-tl,  Up: Top
 
@@ -2380,9 +2525,9 @@
 * tlmgr EXAMPLES::
 * tlmgr OPTIONS::
 * tlmgr ACTIONS::
+* tlmgr CONFIGURATION FILE FOR TLMGR::
+* tlmgr CRYPTOGRAPHIC VERIFICATION::
 * tlmgr USER MODE::
-* tlmgr CONFIGURATION FILE FOR TLMGR::
-* tlmgr TAXONOMIES::
 * tlmgr MULTIPLE REPOSITORIES::
 * tlmgr GUI FOR TLMGR::
 * tlmgr MACHINE-READABLE OUTPUT::
@@ -2394,7 +2539,7 @@
 B.1 NAME
 ========
 
-tlmgr - the TeX Live Manager
+tlmgr - the native TeX Live Manager
 
 
 File: tlbuild.info,  Node: tlmgr SYNOPSIS,  Next: tlmgr DESCRIPTION,  Prev: tlmgr NAME,  Up: tlmgr
@@ -2438,11 +2583,17 @@
 After successfully installing TeX Live, here are a few common operations
 with 'tlmgr':
 
+'tlmgr option repository ctan'
+
 'tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet'
 
      Tell 'tlmgr' to use a nearby CTAN mirror for future updates; useful
-     if you installed TeX Live from the DVD image and want continuing
-     updates.
+     if you installed TeX Live from the DVD image and want to have
+     continuing updates.  The two commands are equivalent; 'ctan' is
+     just an alias for the given url.  Caveat: 'mirror.ctan.org'
+     resolves to many different hosts, and they are not perfectly
+     synchronized; we recommend updating only daily (at most), and not
+     more often.
 
 'tlmgr update --list'
 
@@ -2453,10 +2604,11 @@
      Make your local TeX installation correspond to what is in the
      package repository (typically useful when updating from CTAN).
 
-'tlmgr info' _pkg_
+'tlmgr info' _what_
 
-     Display detailed information about _pkg_, such as the installation
-     status and description.
+     Display detailed information about a package _what_, such as the
+     installation status and description, of searches for _what_ in all
+     packages.
 
    For all the capabilities and details of 'tlmgr', please read the
 following voluminous information.
@@ -2538,8 +2690,8 @@
 
      'tlmgr' logs all package actions (install, remove, update, failed
      updates, failed restores) to a separate log file, by default
-     'TEXMFSYSVAR/web2c/tlmgr.log'.  This option allows you to specific
-     a different file for the log.
+     'TEXMFSYSVAR/web2c/tlmgr.log'.  This option allows you to specify a
+     different file for the log.
 
 *-pause*
 
@@ -2567,6 +2719,15 @@
      below).  Documented only for completeness, as this is only useful
      in debugging.
 
+*-require-verification*
+
+*-no-require-verification*
+
+     Instructs 'tlmgr' to only accept signed and verified remotes.  In
+     any other case 'tlmgr' will quit operation.  See *note
+     CRYPTOGRAPHIC VERIFICATION: tlmgr CRYPTOGRAPHIC VERIFICATION. below
+     for details.
+
 *-usermode*
 
      Activates user mode for this run of 'tlmgr'; see *note USER MODE:
@@ -2577,6 +2738,16 @@
      Uses _dir_ for the tree in user mode; see *note USER MODE: tlmgr
      USER MODE. below.
 
+*-verify-downloads*
+
+*-no-verify-downloads*
+
+     Enables or disables cryptographic verification of downloaded
+     database files.  A working GnuPG ('gpg') binary needs to be present
+     in the path, otherwise this option has no effect.  See *note
+     CRYPTOGRAPHIC VERIFICATION: tlmgr CRYPTOGRAPHIC VERIFICATION. below
+     for details.
+
    The standard options for TeX Live programs are also accepted:
 '--help/-h/-?', '--version', '-q' (no informational messages), '-v'
 (debugging messages, can be repeated).  For the details about these, see
@@ -2587,7 +2758,7 @@
 revision number for the loaded TeX Live Perl modules are shown, too.
 
 
-File: tlbuild.info,  Node: tlmgr ACTIONS,  Next: tlmgr USER MODE,  Prev: tlmgr OPTIONS,  Up: tlmgr
+File: tlbuild.info,  Node: tlmgr ACTIONS,  Next: tlmgr CONFIGURATION FILE FOR TLMGR,  Prev: tlmgr OPTIONS,  Up: tlmgr
 
 B.6 ACTIONS
 ===========
@@ -2600,6 +2771,7 @@
 * tlmgr candidates _pkg_::
 * tlmgr check [_option_]... [files|depends|executes|runfiles|all]::
 * tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]::
+* tlmgr conf auxtrees [--conffile _file_] [show|add|delete] [_value_]::
 * tlmgr dump-tlpdb [--local|--remote]::
 * tlmgr generate [_option_]... _what_::
 * tlmgr gui::
@@ -2606,6 +2778,7 @@
 * tlmgr info [_option_...] [collections|schemes|_pkg_...]::
 * tlmgr init-usertree::
 * tlmgr install [_option_]... _pkg_...::
+* tlmgr key list|add _file_|remove _keyid_::
 * tlmgr option::
 * tlmgr paper::
 * tlmgr path [--w32mode=user|admin] [add|remove]::
@@ -2615,10 +2788,11 @@
 * tlmgr platform set auto::
 * tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...::
 * tlmgr print-platform::
-* tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]]::
 * tlmgr remove [_option_]... _pkg_...::
 * tlmgr repository::
+* tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]]::
 * tlmgr search [_option_...] _what_::
+* tlmgr shell::
 * tlmgr uninstall::
 * tlmgr update [_option_]... [_pkg_]...::
 
@@ -2720,8 +2894,8 @@
 *depends*
 
      Lists those packages which occur as dependencies in an installed
-     collections, but are themselves not installed, and those packages
-     that are not contained in any collection.
+     collection, but are themselves not installed, and those packages
+     which are not contained in any collection.
 
      If you call 'tlmgr check collections' this test will be carried out
      instead since former versions for 'tlmgr' called it that way.
@@ -2734,7 +2908,7 @@
 *runfiles*
 
      List those filenames that are occurring more than one time in the
-     runfiles.
+     runfiles sections.
 
    Options:
 
@@ -2744,51 +2918,67 @@
      checking the TL development repository.
 
 
-File: tlbuild.info,  Node: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]],  Next: tlmgr dump-tlpdb [--local|--remote],  Prev: tlmgr check [_option_]... [files|depends|executes|runfiles|all],  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]],  Next: tlmgr conf auxtrees [--conffile _file_] [show|add|delete] [_value_],  Prev: tlmgr check [_option_]... [files|depends|executes|runfiles|all],  Up: tlmgr ACTIONS
 
 B.6.6 conf [texmf|tlmgr|updmap [-conffile _file_] [-delete] [_key_ [_value_]]]
 ------------------------------------------------------------------------------
 
+
+File: tlbuild.info,  Node: tlmgr conf auxtrees [--conffile _file_] [show|add|delete] [_value_],  Next: tlmgr dump-tlpdb [--local|--remote],  Prev: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]],  Up: tlmgr ACTIONS
+
+B.6.7 conf auxtrees [-conffile _file_] [show|add|delete] [_value_]
+------------------------------------------------------------------
+
 With only 'conf', show general configuration information for TeX Live,
 including active configuration files, path settings, and more.  This is
-like the 'texconfig conf' call, but works on all supported platforms.
+like running 'texconfig conf', but works on all supported platforms.
 
-   With either 'conf texmf', 'conf tlmgr', or 'conf updmap' given in
-addition, shows all key/value pairs (i.e., all settings) as saved in
-'ROOT/texmf.cnf', the tlmgr configuration file (see below), or the first
-found (via kpsewhich) 'updmap.cfg' file, respectively.
+   With one of 'conf texmf', 'conf tlmgr', or 'conf updmap', shows all
+key/value pairs (i.e., all settings) as saved in 'ROOT/texmf.cnf', the
+user-specific 'tlmgr' configuration file (see below), or the first found
+(via 'kpsewhich') 'updmap.cfg' file, respectively.
 
    If _key_ is given in addition, shows the value of only that _key_ in
-the respective file.  If option _-delete_ is also given, the
-configuration file - it is removed, not just commented out!
+the respective file.  If option _-delete_ is also given, the value in
+the given configuration file is entirely removed (not just commented
+out).
 
    If _value_ is given in addition, _key_ is set to _value_ in the
 respective file.  _No error checking is done!_
 
-   In all cases the file used can be explicitly specified via the option
-'--conffile _file_', in case one wants to operate on a different file.
+   The 'PATH' value shown by 'conf' is as used by 'tlmgr'.  The
+directory in which the 'tlmgr' executable is found is automatically
+prepended to the PATH value inherited from the environment.
 
-   Practical application: if the execution of (some or all) system
-commands via '\write18' was left enabled during installation, you can
-disable it afterwards:
+   Here is a practical example of changing configuration values.  If the
+execution of (some or all) system commands via '\write18' was left
+enabled during installation, you can disable it afterwards:
 
   tlmgr conf texmf shell_escape 0
 
-   A more complicated example: the 'TEXMFHOME' tree (see the main TeX
-Live guide, <http://tug.org/texlive/doc.html>) can be set to multiple
-directories, but they must be enclosed in braces and separated by
-commas, so quoting the value to the shell is a good idea.  Thus:
+   The subcommand 'auxtrees' allows adding and removing arbitrary
+additional texmf trees, completely under user control.  'auxtrees show'
+shows the list of additional trees, 'auxtrees add' _tree_ adds a tree to
+the list, and 'auxtrees remove' _tree_ removes a tree from the list (if
+present).  The trees should not contain an 'ls-R' file (or files might
+not be found if the 'ls-R' becomes stale).  This works by manipulating
+the Kpathsea variable 'TEXMFAUXTREES', in 'ROOT/texmf.cnf'.  Example:
 
-  tlmgr conf texmf TEXMFHOME "{~/texmf,~/texmfbis}"
+  tlmgr conf auxtrees add /quick/test/tree
+  tlmgr conf auxtrees remove /quick/test/tree
 
-   Warning: The general facility is here, but tinkering with settings in
-this way is very strongly discouraged.  Again, no error checking on
-either keys or values is done, so any sort of breakage is possible.
+   In all cases the configuration file can be explicitly specified via
+the option '--conffile' _file_, if desired.
 
+   Warning: The general facility for changing configuration values is
+here, but tinkering with settings in this way is strongly discouraged.
+Again, no error checking on either keys or values is done, so any sort
+of breakage is possible.
+
 
-File: tlbuild.info,  Node: tlmgr dump-tlpdb [--local|--remote],  Next: tlmgr generate [_option_]... _what_,  Prev: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]],  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr dump-tlpdb [--local|--remote],  Next: tlmgr generate [_option_]... _what_,  Prev: tlmgr conf auxtrees [--conffile _file_] [show|add|delete] [_value_],  Up: tlmgr ACTIONS
 
-B.6.7 dump-tlpdb [-local|-remote]
+B.6.8 dump-tlpdb [-local|-remote]
 ---------------------------------
 
 Dump complete local or remote TLPDB to standard output, as-is.  The
@@ -2799,11 +2989,11 @@
 
 *-local*
 
-     Dump the local tlpdb.
+     Dump the local TLPDB.
 
 *-remote*
 
-     Dump the remote tlpdb.
+     Dump the remote TLPDB.
 
    Exactly one of '--local' and '--remote' must be given.
 
@@ -2821,7 +3011,7 @@
 
 File: tlbuild.info,  Node: tlmgr generate [_option_]... _what_,  Next: tlmgr gui,  Prev: tlmgr dump-tlpdb [--local|--remote],  Up: tlmgr ACTIONS
 
-B.6.8 generate [_option_]... _what_
+B.6.9 generate [_option_]... _what_
 -----------------------------------
 
 *generate language*
@@ -2832,8 +3022,6 @@
 
 *generate language.dat.lua*
 
-*generate fmtutil*
-
    The 'generate' action overwrites any manual changes made in the
 respective files: it recreates them from scratch based on the
 information of the installed packages, plus local adaptions.  The TeX
@@ -2843,35 +3031,37 @@
    For managing your own fonts, please read the 'updmap --help'
 information and/or <http://tug.org/fonts/fontinstall.html>.
 
+   For managing your own formats, please read the 'fmtutil --help'
+information.
+
    In more detail: 'generate' remakes any of the configuration files
-'language.dat', 'language.def', 'language.dat.lua', and 'fmtutil.cnf',
-from the information present in the local TLPDB, plus locally-maintained
-files.
+'language.dat', 'language.def', and 'language.dat.lua' from the
+information present in the local TLPDB, plus locally-maintained files.
 
    The locally-maintained files are 'language-local.dat',
-'language-local.def', 'language-local.dat.lua', or 'fmtutil-local.cnf',
-searched for in 'TEXMFLOCAL' in the respective directories.  If local
-additions are present, the final file is made by starting with the main
-file, omitting any entries that the local file specifies to be disabled,
-and finally appending the local file.
+'language-local.def', or 'language-local.dat.lua', searched for in
+'TEXMFLOCAL' in the respective directories.  If local additions are
+present, the final file is made by starting with the main file, omitting
+any entries that the local file specifies to be disabled, and finally
+appending the local file.
 
-   (Historical note: The formerly supported 'updmap-local.cfg' is no
-longer read, since 'updmap' now supports multiple 'updmap.cfg' files.
-Thus, local additions can and should be put into an 'updmap.cfg' file in
-'TEXMFLOCAL'.  The 'generate updmap' action no longer exists.)
+   (Historical note: The formerly supported 'updmap-local.cfg' and
+'fmtutil-local.cnf' are no longer read, since 'updmap' and 'fmtutil' now
+reads and supports multiple configuration files.  Thus, local additions
+can and should be put into an 'updmap.cfg' of 'fmtutil.cnf' file in
+'TEXMFLOCAL'.  The 'generate updmap' and 'generate fmtutil' actions no
+longer exist.)
 
    Local files specify entries to be disabled with a comment line,
 namely one of these:
 
-  #!NAME
   %!NAME
   --!NAME
 
-   where 'fmtutil.cnf' uses '#', 'language.dat' and 'language.def' use
-'%', and 'language.dat.lua' use '--'.  In all cases, the _name_ is the
-respective format name or hyphenation pattern identifier.  Examples:
+   where 'language.dat' and 'language.def' use '%', and
+'language.dat.lua' use '--'.  In all cases, the _name_ is the respective
+format name or hyphenation pattern identifier.  Examples:
 
-  #!pdflatex
   %!german
   --!usenglishmax
 
@@ -2907,8 +3097,8 @@
 
 *-rebuild-sys*
 
-     tells tlmgr to run necessary programs after config files have been
-     regenerated.  These are: 'fmtutil-sys --all' after 'generate
+     tells 'tlmgr' to run necessary programs after config files have
+     been regenerated.  These are: 'fmtutil-sys --all' after 'generate
      fmtutil', 'fmtutil-sys --byhyphen .../language.dat' after 'generate
      language.dat', and 'fmtutil-sys --byhyphen .../language.def' after
      'generate language.def'.
@@ -2920,16 +3110,15 @@
 
    The respective locations are as follows:
 
-  tex/generic/config/language.dat (and language-local.dat);
-  tex/generic/config/language.def (and language-local.def);
-  tex/generic/config/language.dat.lua (and language-local.dat.lua);
-  web2c/fmtutil.cnf (and fmtutil-local.cnf);
+  tex/generic/config/language.dat (and language-local.dat)
+  tex/generic/config/language.def (and language-local.def)
+  tex/generic/config/language.dat.lua (and language-local.dat.lua)
 
 
 File: tlbuild.info,  Node: tlmgr gui,  Next: tlmgr info [_option_...] [collections|schemes|_pkg_...],  Prev: tlmgr generate [_option_]... _what_,  Up: tlmgr ACTIONS
 
-B.6.9 gui
----------
+B.6.10 gui
+----------
 
 Start the graphical user interface.  See *GUI* below.
 
@@ -2936,7 +3125,7 @@
 
 File: tlbuild.info,  Node: tlmgr info [_option_...] [collections|schemes|_pkg_...],  Next: tlmgr init-usertree,  Prev: tlmgr gui,  Up: tlmgr ACTIONS
 
-B.6.10 info [_option_...] [collections|schemes|_pkg_...]
+B.6.11 info [_option_...] [collections|schemes|_pkg_...]
 --------------------------------------------------------
 
 With no argument, lists all packages available at the package
@@ -2946,10 +3135,20 @@
 lists the request type instead of all packages.
 
    With any other arguments, display information about _pkg_: the name,
-category, short and long description, installation status, and TeX Live
-revision number.  If _pkg_ is not locally installed, searches in the
-remote installation source.
+category, short and long description, sizes, installation status, and
+TeX Live revision number.  If _pkg_ is not locally installed, searches
+in the remote installation source.
 
+   For normal packages (not collections or schemes), the sizes of the
+four groups of files (run/src/doc/bin files) are shown separately.  For
+collections, the cumulative size is shown, including all
+directly-dependent packages (but not dependent collections).  For
+schemes, the cumulative size is also shown, including all
+directly-dependent collections and packages.
+
+   If _pkg_ is not found locally or remotely, the search action is used
+and lists matching packages and files.
+
    It also displays information taken from the TeX Catalogue, namely the
 package version, date, and license.  Consider these, especially the
 package version, as approximations only, due to timing skew of the
@@ -2970,26 +3169,14 @@
 
 *-only-installed*
 
-     If this options is given, the installation source will not be used;
+     If this option is given, the installation source will not be used;
      only locally installed packages, collections, or schemes are
-     listed.  (Does not work for listing of packages for now)
+     listed.
 
-*-taxonomy*
-
-*-keyword*
-
-*-functionality*
-
-*-characterization*
-
-     In addition to the normal data displayed, also display information
-     for given packages from the corresponding taxonomy (or all of
-     them).  See *note TAXONOMIES: tlmgr TAXONOMIES. below for details.
-
 
 File: tlbuild.info,  Node: tlmgr init-usertree,  Next: tlmgr install [_option_]... _pkg_...,  Prev: tlmgr info [_option_...] [collections|schemes|_pkg_...],  Up: tlmgr ACTIONS
 
-B.6.11 init-usertree
+B.6.12 init-usertree
 --------------------
 
 Sets up a texmf tree for so-called user mode management, either the
@@ -2997,14 +3184,23 @@
 with '--usertree'.  See *note USER MODE: tlmgr USER MODE. below.
 
 
-File: tlbuild.info,  Node: tlmgr install [_option_]... _pkg_...,  Next: tlmgr option,  Prev: tlmgr init-usertree,  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr install [_option_]... _pkg_...,  Next: tlmgr key list|add _file_|remove _keyid_,  Prev: tlmgr init-usertree,  Up: tlmgr ACTIONS
 
-B.6.12 install [_option_]... _pkg_...
+B.6.13 install [_option_]... _pkg_...
 -------------------------------------
 
-Install each _pkg_ given on the command line.  By default this installs
-all packages on which the given _pkg_s are dependent, also.  Options:
+Install each _pkg_ given on the command line, if it is not already
+installed.  (It does not touch existing packages; see the 'update'
+action for how to get the latest version of a package.)
 
+   By default this also installs all packages on which the given _pkg_s
+are dependent.  Options:
+
+*-dry-run*
+
+     Nothing is actually installed; instead, the actions to be performed
+     are written to the terminal.
+
 *-file*
 
      Instead of fetching a package from the installation repository, use
@@ -3011,16 +3207,12 @@
      the package files given on the command line.  These files must be
      standard TeX Live package files (with contained tlpobj file).
 
-*-reinstall*
+*-force*
 
-     Reinstall a package (including dependencies for collections) even
-     if it already seems to be installed (i.e, is present in the TLPDB).
-     This is useful to recover from accidental removal of files in the
-     hierarchy.
+     If updates to 'tlmgr' itself (or other parts of the basic
+     infrastructure) are present, 'tlmgr' will bail out and not perform
+     the installation unless this option is given.  Not recommended.
 
-     When re-installing, only dependencies on normal packages are
-     followed (i.e., not those of category Scheme or Collection).
-
 *-no-depends*
 
      Do not install dependencies.  (By default, installing a package
@@ -3035,21 +3227,54 @@
      and also implies '--no-depends'.  Don't use it unless you are sure
      of what you are doing.
 
-*-dry-run*
+*-reinstall*
 
-     Nothing is actually installed; instead, the actions to be performed
-     are written to the terminal.
+     Reinstall a package (including dependencies for collections) even
+     if it already seems to be installed (i.e, is present in the TLPDB).
+     This is useful to recover from accidental removal of files in the
+     hierarchy.
 
-*-force*
+     When re-installing, only dependencies on normal packages are
+     followed (i.e., not those of category Scheme or Collection).
 
-     If updates to 'tlmgr' itself (or other parts of the basic
-     infrastructure) are present, 'tlmgr' will bail out and not perform
-     the installation unless this option is given.  Not recommended.
+*-with-doc*
 
+*-with-src*
+
+     While not recommended, the 'install-tl' program provides an option
+     to omit installation of all documentation and/or source files.  (By
+     default, everything is installed.)  After such an installation, you
+     may find that you want the documentation or source files for a
+     given package after all.  You can get them by using these options
+     in conjunction with '--reinstall', as in (using the 'fontspec'
+     package as the example):
+
+       tlmgr install --reinstall --with-doc --with-src fontspec
+
 
-File: tlbuild.info,  Node: tlmgr option,  Next: tlmgr paper,  Prev: tlmgr install [_option_]... _pkg_...,  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr key list|add _file_|remove _keyid_,  Next: tlmgr option,  Prev: tlmgr install [_option_]... _pkg_...,  Up: tlmgr ACTIONS
 
-B.6.13 option
+B.6.14 key list|add _file_|remove _keyid_
+-----------------------------------------
+
+The action 'key' allows listing, adding and removing additional GPG keys
+to the set of trusted keys, that is, those that are used to verify the
+TeX Live databases.
+
+   With the 'list' argument, 'key' lists all keys.
+
+   The 'add' argument requires another argument, either a filename or
+'-' for stdin, from which the key is added.  The key is added to the
+local keyring 'GNUPGHOME/repository-keys.gpg', which is normally)
+'tlpkg/gpg/repository-keys.gpg'.
+
+   The 'remove' argument requires a key id and removes the requested id
+from the local keyring.
+
+
+File: tlbuild.info,  Node: tlmgr option,  Next: tlmgr paper,  Prev: tlmgr key list|add _file_|remove _keyid_,  Up: tlmgr ACTIONS
+
+B.6.15 option
 -------------
 
 *option [show]*
@@ -3105,7 +3330,9 @@
 
    The 'docfiles' and 'srcfiles' options control the installation of
 their respective files of a package.  By default both are enabled (1).
-This can be disabled (set to 0) if disk space is (very) limited.
+Either or both can be disabled (set to 0) if disk space is limited or
+for minimal testing installations, etc.  When disabled, the respective
+files are not downloaded at all.
 
    The options 'autobackup' and 'backupdir' determine the defaults for
 the actions 'update', 'backup' and 'restore'.  These three actions need
@@ -3118,7 +3345,8 @@
 no backups are removed.  If 'autobackup' is 0 or more, it specifies the
 number of backups to keep.  Thus, backups are disabled if the value is
 0.  In the '--clean' mode of the 'backup' action this option also
-specifies the number to be kept.
+specifies the number to be kept.  The default value is 1, so that
+backups are made, but only one backup is kept.
 
    To setup 'autobackup' to '-1' on the command line, use:
 
@@ -3132,7 +3360,7 @@
 Unix-like systems to control the generation of links for executables,
 info files and man pages.  See the 'path' action for details.
 
-   The last three options control behaviour on Windows installations.
+   The last three options also affect behavior on Windows installations.
 If 'desktop_integration' is set, then some packages will install items
 in a sub-folder of the Start menu for 'tlmgr gui', documentation, etc.
 If 'fileassocs' is set, Windows file associations are made (see also the
@@ -3143,7 +3371,7 @@
 
 File: tlbuild.info,  Node: tlmgr paper,  Next: tlmgr path [--w32mode=user|admin] [add|remove],  Prev: tlmgr option,  Up: tlmgr ACTIONS
 
-B.6.14 paper
+B.6.16 paper
 ------------
 
 *paper [a4|letter]*
@@ -3177,7 +3405,7 @@
 
 File: tlbuild.info,  Node: tlmgr path [--w32mode=user|admin] [add|remove],  Next: tlmgr pinning,  Prev: tlmgr paper,  Up: tlmgr ACTIONS
 
-B.6.15 path [-w32mode=user|admin] [add|remove]
+B.6.17 path [-w32mode=user|admin] [add|remove]
 ----------------------------------------------
 
 On Unix, merely adds or removes symlinks for binaries, man pages, and
@@ -3208,7 +3436,7 @@
 
 File: tlbuild.info,  Node: tlmgr pinning,  Next: tlmgr platform list|add|remove _platform_...,  Prev: tlmgr path [--w32mode=user|admin] [add|remove],  Up: tlmgr ACTIONS
 
-B.6.16 pinning
+B.6.18 pinning
 --------------
 
 The 'pinning' action manages the pinning file, see *note Pinning: tlmgr
@@ -3235,19 +3463,19 @@
 
 File: tlbuild.info,  Node: tlmgr platform list|add|remove _platform_...,  Next: tlmgr platform set _platform_,  Prev: tlmgr pinning,  Up: tlmgr ACTIONS
 
-B.6.17 platform list|add|remove _platform_...
+B.6.19 platform list|add|remove _platform_...
 ---------------------------------------------
 
 
 File: tlbuild.info,  Node: tlmgr platform set _platform_,  Next: tlmgr platform set auto,  Prev: tlmgr platform list|add|remove _platform_...,  Up: tlmgr ACTIONS
 
-B.6.18 platform set _platform_
+B.6.20 platform set _platform_
 ------------------------------
 
 
 File: tlbuild.info,  Node: tlmgr platform set auto,  Next: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...,  Prev: tlmgr platform set _platform_,  Up: tlmgr ACTIONS
 
-B.6.19 platform set auto
+B.6.21 platform set auto
 ------------------------
 
 'platform list' lists the TeX Live names of all the platforms (a.k.a.
@@ -3282,7 +3510,7 @@
 
 File: tlbuild.info,  Node: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...,  Next: tlmgr print-platform,  Prev: tlmgr platform set auto,  Up: tlmgr ACTIONS
 
-B.6.20 postaction [-w32mode=user|admin] [-fileassocmode=1|2] [-all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...
+B.6.22 postaction [-w32mode=user|admin] [-fileassocmode=1|2] [-all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...
 ---------------------------------------------------------------------------------------------------------------------------
 
 Carry out the postaction 'shortcut', 'fileassoc', or 'script' given as
@@ -3302,9 +3530,9 @@
 'option fileassocs'.)
 
 
-File: tlbuild.info,  Node: tlmgr print-platform,  Next: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]],  Prev: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...,  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr print-platform,  Next: tlmgr remove [_option_]... _pkg_...,  Prev: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...,  Up: tlmgr ACTIONS
 
-B.6.21 print-platform
+B.6.23 print-platform
 ---------------------
 
 Print the TeX Live identifier for the detected platform
@@ -3312,61 +3540,43 @@
 '--print-arch' is a synonym.
 
 
-File: tlbuild.info,  Node: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]],  Next: tlmgr remove [_option_]... _pkg_...,  Prev: tlmgr print-platform,  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr remove [_option_]... _pkg_...,  Next: tlmgr repository,  Prev: tlmgr print-platform,  Up: tlmgr ACTIONS
 
-B.6.22 restore [-backupdir _dir_] [-all | _pkg_ [_rev_]]
---------------------------------------------------------
+B.6.24 remove [_option_]... _pkg_...
+------------------------------------
 
-Restore a package from a previously-made backup.
+Remove each _pkg_ specified.  Removing a collection removes all package
+dependencies (unless '--no-depends' is specified), but not any
+collection dependencies of that collection.  However, when removing a
+package, dependencies are never removed.  Options:
 
-   If '--all' is given, try to restore the latest revision of all
-package backups found in the backup directory.
+*-backup*
 
-   Otherwise, if neither _pkg_ nor _rev_ are given, list the available
-backup revisions for all packages.
-
-   With _pkg_ given but no _rev_, list all available backup revisions of
-_pkg_.
-
-   When listing available packages tlmgr shows the revision and in
-parenthesis the creation time if available (in format yyyy-mm-dd hh:mm).
-
-   With both _pkg_ and _rev_, tries to restore the package from the
-specified backup.
-
-   Options:
-
-*-all*
-
-     Try to restore the latest revision of all package backups found in
-     the backup directory.  Additional non-option arguments (like _pkg_)
-     are not allowed.
-
 *-backupdir* _directory_
 
-     Specify the directory where the backups are to be found.  If not
-     given it will be taken from the configuration setting in the TLPDB.
+     These options behave just as with the *note (update)tlmgr update
+     [_option_]... [_pkg_]...:: action (q.v.), except they apply to
+     making backups of packages before they are removed.  The default is
+     to make such a backup, that is, to save a copy of packages before
+     removal.
 
-*-dry-run*
+     See *note (update)tlmgr update [_option_]... [_pkg_]...:: action
+     for more.
 
-     Nothing is actually restored; instead, the actions to be performed
-     are written to the terminal.
+     neither option is given, no backup will be made.  If '--backupdir'
+     is given and specifies a writable directory then a backup will be
+     made in that location.  If only '--backup' is given, then a backup
+     will be made to the directory previously set via the 'option'
+     action (see below).  If both are given then a backup will be made
+     to the specified _directory_.
 
-*-force*
+     You can set options via the 'option' action to automatically make
+     backups for all packages, and/or keep only a certain number of
+     backups.  Please see the 'option' action for details.  The default
+     is to make one backup.
 
-     Don't ask questions.
+     The 'restore' action explains how to restore from a backup.
 
-
-File: tlbuild.info,  Node: tlmgr remove [_option_]... _pkg_...,  Next: tlmgr repository,  Prev: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]],  Up: tlmgr ACTIONS
-
-B.6.23 remove [_option_]... _pkg_...
-------------------------------------
-
-Remove each _pkg_ specified.  Removing a collection removes all package
-dependencies (unless '--no-depends' is specified), but not any
-collection dependencies of that collection.  However, when removing a
-package, dependencies are never removed.  Options:
-
 *-no-depends*
 
      Do not remove dependent packages.
@@ -3392,9 +3602,9 @@
      are written to the terminal.
 
 
-File: tlbuild.info,  Node: tlmgr repository,  Next: tlmgr search [_option_...] _what_,  Prev: tlmgr remove [_option_]... _pkg_...,  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr repository,  Next: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]],  Prev: tlmgr remove [_option_]... _pkg_...,  Up: tlmgr ACTIONS
 
-B.6.24 repository
+B.6.25 repository
 -----------------
 
 *repository list*
@@ -3429,62 +3639,85 @@
      otherwise, all operations will fail!
 
 
-File: tlbuild.info,  Node: tlmgr search [_option_...] _what_,  Next: tlmgr uninstall,  Prev: tlmgr repository,  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]],  Next: tlmgr search [_option_...] _what_,  Prev: tlmgr repository,  Up: tlmgr ACTIONS
 
-B.6.25 search [_option_...] _what_
-----------------------------------
+B.6.26 restore [-backupdir _dir_] [-all | _pkg_ [_rev_]]
+--------------------------------------------------------
 
-* Menu:
+Restore a package from a previously-made backup.
 
-* tlmgr search [_option_...] --file _what_::
-* tlmgr search [_option_...] --taxonomy _what_::
-* tlmgr search [_option_...] --keyword _what_::
-* tlmgr search [_option_...] --functionality _what_::
-* tlmgr search [_option_...] --characterization _what_::
-* tlmgr search [_option_...] --all _what_::
+   If '--all' is given, try to restore the latest revision of all
+package backups found in the backup directory.
 
-
-File: tlbuild.info,  Node: tlmgr search [_option_...] --file _what_,  Next: tlmgr search [_option_...] --taxonomy _what_,  Up: tlmgr search [_option_...] _what_
+   Otherwise, if neither _pkg_ nor _rev_ are given, list the available
+backup revisions for all packages.  With _pkg_ given but no _rev_, list
+all available backup revisions of _pkg_.
 
-B.6.25.1 search [_option_...] -file _what_
-..........................................
+   When listing available packages, 'tlmgr' shows the revision, and in
+parenthesis the creation time if available (in format yyyy-mm-dd hh:mm).
 
-
-File: tlbuild.info,  Node: tlmgr search [_option_...] --taxonomy _what_,  Next: tlmgr search [_option_...] --keyword _what_,  Prev: tlmgr search [_option_...] --file _what_,  Up: tlmgr search [_option_...] _what_
+   If (and only if) both _pkg_ and a valid revision number _rev_ are
+specified, try to restore the package from the specified backup.
 
-B.6.25.2 search [_option_...] -taxonomy _what_
-..............................................
+   Options:
 
-
-File: tlbuild.info,  Node: tlmgr search [_option_...] --keyword _what_,  Next: tlmgr search [_option_...] --functionality _what_,  Prev: tlmgr search [_option_...] --taxonomy _what_,  Up: tlmgr search [_option_...] _what_
+*-all*
 
-B.6.25.3 search [_option_...] -keyword _what_
-.............................................
+     Try to restore the latest revision of all package backups found in
+     the backup directory.  Additional non-option arguments (like _pkg_)
+     are not allowed.
 
+*-backupdir* _directory_
+
+     Specify the directory where the backups are to be found.  If not
+     given it will be taken from the configuration setting in the TLPDB.
+
+*-dry-run*
+
+     Nothing is actually restored; instead, the actions to be performed
+     are written to the terminal.
+
+*-force*
+
+     Don't ask questions.
+
 
-File: tlbuild.info,  Node: tlmgr search [_option_...] --functionality _what_,  Next: tlmgr search [_option_...] --characterization _what_,  Prev: tlmgr search [_option_...] --keyword _what_,  Up: tlmgr search [_option_...] _what_
+File: tlbuild.info,  Node: tlmgr search [_option_...] _what_,  Next: tlmgr shell,  Prev: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]],  Up: tlmgr ACTIONS
 
-B.6.25.4 search [_option_...] -functionality _what_
-...................................................
+B.6.27 search [_option_...] _what_
+----------------------------------
 
+* Menu:
+
+* tlmgr search [_option_...] --file _what_::
+* tlmgr search [_option_...] --all _what_::
+
 
-File: tlbuild.info,  Node: tlmgr search [_option_...] --characterization _what_,  Next: tlmgr search [_option_...] --all _what_,  Prev: tlmgr search [_option_...] --functionality _what_,  Up: tlmgr search [_option_...] _what_
+File: tlbuild.info,  Node: tlmgr search [_option_...] --file _what_,  Next: tlmgr search [_option_...] --all _what_,  Up: tlmgr search [_option_...] _what_
 
-B.6.25.5 search [_option_...] -characterization _what_
-......................................................
+B.6.27.1 search [_option_...] -file _what_
+..........................................
 
 
-File: tlbuild.info,  Node: tlmgr search [_option_...] --all _what_,  Prev: tlmgr search [_option_...] --characterization _what_,  Up: tlmgr search [_option_...] _what_
+File: tlbuild.info,  Node: tlmgr search [_option_...] --all _what_,  Prev: tlmgr search [_option_...] --file _what_,  Up: tlmgr search [_option_...] _what_
 
-B.6.25.6 search [_option_...] -all _what_
+B.6.27.2 search [_option_...] -all _what_
 .........................................
 
 By default, search the names, short descriptions, and long descriptions
 of all locally installed packages for the argument _what_, interpreted
-as a regular expression.
+as a (Perl) regular expression.
 
    Options:
 
+*-file*
+
+     List all filenames containing _what_.
+
+*-all*
+
+     Search everything: package names, descriptions and filenames.
+
 *-global*
 
      Search the TeX Live Database of the installation medium, instead of
@@ -3492,45 +3725,76 @@
 
 *-word*
 
-     Restrict the search to match only full words.  For example,
-     searching for 'table' with this option will not output packages
-     containing the word 'tables' (unless they also contain the word
-     'table' on its own).
+     Restrict the search of package names and descriptions (but not
+     filenames) to match only full words.  For example, searching for
+     'table' with this option will not output packages containing the
+     word 'tables' (unless they also contain the word 'table' on its
+     own).
 
-*-list*
+
+File: tlbuild.info,  Node: tlmgr shell,  Next: tlmgr uninstall,  Prev: tlmgr search [_option_...] _what_,  Up: tlmgr ACTIONS
 
-     If a search for any (or all) taxonomies is done, by specifying one
-     of the taxonomy options below, then instead of searching for
-     packages, list the entire corresponding taxonomy (or all of them).
-     See *note TAXONOMIES: tlmgr TAXONOMIES. below.
+B.6.28 shell
+------------
 
-   Other search options are selected by specifying one of the following:
+Starts an interactive mode, where tlmgr prompts for commands.  This can
+be used directly, or for scripting.  The first line of output is
+'protocol' _n_, where _n_ is an unsigned number identifying the protocol
+version (currently 1).
 
-*-file*
+   In general, tlmgr actions that can be given on the command line
+translate to commands in this shell mode.  For example, you can say
+'update --list' to see what would be updated.  The TLPDB is loaded the
+first time it is needed (not at the beginning), and used for the rest of
+the session.
 
-     List all filenames containing _what_.
+   Besides these actions, a few commands are specific to shell mode:
 
-*-taxonomy*
+protocol
 
-*-keyword*
+     Print 'protocol _n_', the current protocol version.
 
-*-functionality*
+help
 
-*-characterization*
+     Print pointers to this documentation.
 
-     Search in the corresponding taxonomy (or all) instead of the
-     package descriptions.  See *note TAXONOMIES: tlmgr TAXONOMIES.
-     below.
+version
 
-*-all*
+     Print tlmgr version information.
 
-     Search for package names, descriptions, and taxonomies, but not
-     files.
+quit, end, bye, byebye, EOF
 
+     Exit.
+
+restart
+
+     Restart 'tlmgr shell' with the original command line; most useful
+     when developing 'tlmgr'.
+
+load [local|remote]
+
+     Explicitly load the local or remote, respectively, TLPDB.
+
+save
+
+     Save the local TLPDB, presumably after other operations have
+     changed it.
+
+get [_var_] =item set [_var_ [_val_]]
+
+     Get the value of _var_, or set it to _val_.  Possible _var_ names:
+     'debug-translation', 'machine-readable', 'no-execute-actions',
+     'require-verification', 'verify-downloads', and 'repository'.  All
+     except 'repository' are booleans, taking values 0 and 1, and behave
+     like the corresponding command line option.  The 'repository'
+     variable takes a string, and sets the remote repository location.
+
+     If _var_ or then _val_ is not specified, it is prompted for.
+
 
-File: tlbuild.info,  Node: tlmgr uninstall,  Next: tlmgr update [_option_]... [_pkg_]...,  Prev: tlmgr search [_option_...] _what_,  Up: tlmgr ACTIONS
+File: tlbuild.info,  Node: tlmgr uninstall,  Next: tlmgr update [_option_]... [_pkg_]...,  Prev: tlmgr shell,  Up: tlmgr ACTIONS
 
-B.6.26 uninstall
+B.6.29 uninstall
 ----------------
 
 Uninstalls the entire TeX Live installation.  Options:
@@ -3542,7 +3806,7 @@
 
 File: tlbuild.info,  Node: tlmgr update [_option_]... [_pkg_]...,  Prev: tlmgr uninstall,  Up: tlmgr ACTIONS
 
-B.6.27 update [_option_]... [_pkg_]...
+B.6.30 update [_option_]... [_pkg_]...
 --------------------------------------
 
 Updates the packages given as arguments to the latest version available
@@ -3681,29 +3945,31 @@
 
        tlmgr update --reinstall-forcibly-removed --all
 
-*-backup* and *-backupdir* _directory_
+*-backup*
 
+*-backupdir* _directory_
+
      These two options control the creation of backups of packages
      _before_ updating; that is, backup of packages as currently
-     installed.  If neither of these options are given, no backup
-     package will be saved.  If '--backupdir' is given and specifies a
-     writable directory then a backup will be made in that location.  If
-     only '--backup' is given, then a backup will be made to the
-     directory previously set via the 'option' action (see below).  If
-     both are given then a backup will be made to the specified
-     _directory_.
+     installed.  If neither options is given, no backup will made saved.
+     If '--backupdir' is given and specifies a writable directory then a
+     backup will be made in that location.  If only '--backup' is given,
+     then a backup will be made to the directory previously set via the
+     *note option: tlmgr option. action (see below).  If both are given
+     then a backup will be made to the specified _directory_.
 
-     You can set options via the 'option' action to automatically create
-     backups for all packages, and/or keep only a certain number of
-     backups.  Please see the 'option' action for details.
+     You can also set options via the '/option' action to automatically
+     make backups for all packages, and/or keep only a certain number of
+     backups.
 
      'tlmgr' always makes a temporary backup when updating packages, in
      case of download or other failure during an update.  In contrast,
-     the purpose of this '--backup' option is to allow you to save a
-     persistent backup in case the actual _content_ of the update causes
-     problems, e.g., introduces an incompatibility.
+     the purpose of this '--backup' option is to save a persistent
+     backup in case the actual _content_ of the update causes problems,
+     e.g., introduces an TeX incompatibility.
 
-     The 'restore' action explains how to restore from a backup.
+     The *note restore: tlmgr restore [--backupdir _dir_] [--all | _pkg_
+     [_rev_]]. action explains how to restore from a backup.
 
 *-no-depends*
 
@@ -3727,10 +3993,134 @@
 not downgrade.  Also, packages for uninstalled platforms are not
 installed.
 
+   'tlmgr' saves a copy of the 'texlive.tlpdb' file used for an update
+with a suffix representing the repository url, as in
+'tlpkg/texlive.tlpdb.'_long-hash-string_.  These can be useful for
+fallback information, but if you don't like them accumulating (e.g.,
+'mirror.ctan.org' resolves to many different hosts, each resulting in a
+possibly different hash), it's harmless to delete them.
+
 
-File: tlbuild.info,  Node: tlmgr USER MODE,  Next: tlmgr CONFIGURATION FILE FOR TLMGR,  Prev: tlmgr ACTIONS,  Up: tlmgr
+File: tlbuild.info,  Node: tlmgr CONFIGURATION FILE FOR TLMGR,  Next: tlmgr CRYPTOGRAPHIC VERIFICATION,  Prev: tlmgr ACTIONS,  Up: tlmgr
 
-B.7 USER MODE
+B.7 CONFIGURATION FILE FOR TLMGR
+================================
+
+There are two configuration files for 'tlmgr': One is system-wide in
+'TEXMFSYSCONFIG/tlmgr/config', and the other is user-specific in
+'TEXMFCONFIG/tlmgr/config'.  The user-specific one is the default for
+the 'conf tlmgr' action.  (Run 'kpsewhich -var-value=TEXMFSYSCONFIG' or
+'... TEXMFCONFIG ...' to see the actual directory names.)
+
+   A few defaults corresponding to command-line options can be set in
+these configuration files.  In addition, the system-wide file can
+contain a directive to restrict the allowed actions.
+
+   In these config files, empty lines and lines starting with # are
+ignored.  All other lines must look like:
+
+  key = value
+
+   where the spaces are optional but the '=' is required.
+
+   The allowed keys are:
+
+'auto-remove', value 0 or 1 (default 1), same as command-line option.
+
+'gui-expertmode', value 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.
+
+'gui-lang' _llcode_, with a language code value as with the command-line option.
+
+'no-checksums', value 0 or 1 (default 0, see below).
+
+'persistent-downloads', value 0 or 1 (default 1), same as command-line option.
+
+'require-verification', value 0 or 1 (default 0), same as command-line option.
+
+'verify-downloads', value 0 or 1 (default 1), same as command-line option.
+
+   The system-wide config file can contain one additional key:
+
+'allowed-actions' _action1_ [,_action_,...] The value is a comma-separated list of 'tlmgr' actions which are allowed to be executed when 'tlmgr' is invoked in system mode (that is, without '--usermode').
+
+     This allows distributors to include the 'tlmgr' in their packaging,
+     but allow only a restricted set of actions that do not interfere
+     with their distro package manager.  For native TeX Live
+     installations, it doesn't make sense to set this.
+
+   The 'no-checksums' key needs more explanation.  By default, package
+checksums computed and stored on the server (in the TLPDB) are compared
+to checksums computed locally after downloading.  That is, for each
+'texlive.tlpdb' loaded from a repository, the corresponding checksum
+file 'texlive.tlpdb.sha512' is also downloaded, and 'tlmgr' confirms
+whether the checksum of the downloaded TLPDB file agrees with the
+download data.  'no-checksums' disables this process.
+
+   The checksum algorithm is SHA-512.  Your system must have one of
+(looked for in this order) the Perl 'Digest::SHA' module, the 'openssl'
+program (<http://openssl.org>), the 'sha512sum' program (from GNU
+Coreutils, <http://www.gnu.org/software/coreutils>), or finally the
+'shasum' program (just to support old Macs).  If none of these are
+available, a warning is issued and 'tlmgr' proceeds without checking
+checksums.  (Incidentally, other SHA implementations, such as the pure
+Perl and pure Lua modules, are much too slow to be usable in our
+context.)  'no-checksums' avoids the warning.
+
+
+File: tlbuild.info,  Node: tlmgr CRYPTOGRAPHIC VERIFICATION,  Next: tlmgr USER MODE,  Prev: tlmgr CONFIGURATION FILE FOR TLMGR,  Up: tlmgr
+
+B.8 CRYPTOGRAPHIC VERIFICATION
+==============================
+
+'tlmgr' and 'install-tl' perform cryptographic verification if possible.
+If verification is performed and successful, the programs report
+'(verified)' after loading the TLPDB; otherwise, they report '(not
+verified)'.  Either way, by default the installation and/or updates
+proceed normally.
+
+   The attempted verification can be suppressed by specifying
+'--no-verify-downloads' on the command line, or the entry
+'verify-downloads = 0' in a 'tlmgr' config file (described in *note
+CONFIGURATION FILE FOR TLMGR: tlmgr CONFIGURATION FILE FOR TLMGR.). On
+the other hand, it is possible to _require_ verification by specifying
+'--require-verification' on the command line, or 'require-verification =
+1' in a 'tlmgr' config file; in this case, if verification is not
+possible, the program quits.
+
+   Cryptographic verification requires checksum checking (described just
+above) to succeed, and a working GnuPG ('gpg') program (see below for
+search method).  Then, unless cryptographic verification has been
+disabled, a signature file ('texlive.tlpdb.*.asc') of the checksum file
+is downloaded and the signature verified.  The signature is created by
+the TeX Live Distribution GPG key 0x06BAB6BC, which in turn is signed by
+Karl Berry's key 0x30D155AD and Norbert Preining's key 0x6CACA448.  All
+of these keys are obtainable from the standard key servers.
+
+   Additional trusted keys can be added using the 'key' action.
+
+* Menu:
+
+* tlmgr Configuration of GnuPG invocation::
+
+
+File: tlbuild.info,  Node: tlmgr Configuration of GnuPG invocation,  Up: tlmgr CRYPTOGRAPHIC VERIFICATION
+
+B.8.1 Configuration of GnuPG invocation
+---------------------------------------
+
+The executable used for GnuPG is searched as follows: If the environment
+variable 'TL_GNUPG' is set, it is tested and used; otherwise 'gpg' is
+checked; finally 'gpg2' is checked.
+
+   Further adaptation of the 'gpg' invocation can be made using the two
+environment variables 'TL_GNUPGHOME', which is passed to 'gpg' as the
+value for '--homedir', and 'TL_GNUPGARGS', which replaces the default
+options '--no-secmem-warning --no-permission-warning'.
+
+
+File: tlbuild.info,  Node: tlmgr USER MODE,  Next: tlmgr MULTIPLE REPOSITORIES,  Prev: tlmgr CRYPTOGRAPHIC VERIFICATION,  Up: tlmgr
+
+B.9 USER MODE
 =============
 
 'tlmgr' provides a restricted way, called "user mode", to manage
@@ -3786,14 +4176,14 @@
 
 * Menu:
 
-* tlmgr user mode install::
-* tlmgr user mode backup; restore; remove; update::
-* tlmgr user mode generate; option; paper::
+* tlmgr User mode install::
+* tlmgr User mode backup, restore, remove, update::
+* tlmgr User mode generate, option, paper::
 
 
-File: tlbuild.info,  Node: tlmgr user mode install,  Next: tlmgr user mode backup; restore; remove; update,  Up: tlmgr USER MODE
+File: tlbuild.info,  Node: tlmgr User mode install,  Next: tlmgr User mode backup, restore, remove, update,  Up: tlmgr USER MODE
 
-B.7.1 user mode install
+B.9.1 User mode install
 -----------------------
 
 In user mode, the 'install' action checks that the package and all
@@ -3810,10 +4200,14 @@
 collections, while in user mode, _only_ the packages mentioned in
 'collection-context' are installed.
 
+   If a package shipping map files is installed in user mode, a backup
+of the user's 'updmap.cfg' in 'USERTREE/web2c/' is made, and then this
+file regenerated from the list of installed packages.
+
 
-File: tlbuild.info,  Node: tlmgr user mode backup; restore; remove; update,  Next: tlmgr user mode generate; option; paper,  Prev: tlmgr user mode install,  Up: tlmgr USER MODE
+File: tlbuild.info,  Node: tlmgr User mode backup, restore, remove, update,  Next: tlmgr User mode generate, option, paper,  Prev: tlmgr User mode install,  Up: tlmgr USER MODE
 
-B.7.2 user mode backup; restore; remove; update
+B.9.2 User mode backup, restore, remove, update
 -----------------------------------------------
 
 In user mode, these actions check that all packages to be acted on are
@@ -3821,9 +4215,9 @@
 just as in normal mode.
 
 
-File: tlbuild.info,  Node: tlmgr user mode generate; option; paper,  Prev: tlmgr user mode backup; restore; remove; update,  Up: tlmgr USER MODE
+File: tlbuild.info,  Node: tlmgr User mode generate, option, paper,  Prev: tlmgr User mode backup, restore, remove, update,  Up: tlmgr USER MODE
 
-B.7.3 user mode generate; option; paper
+B.9.3 User mode generate, option, paper
 ---------------------------------------
 
 In user mode, these actions operate only on the user tree's
@@ -3831,79 +4225,8 @@
 in user tree
 
 
-File: tlbuild.info,  Node: tlmgr CONFIGURATION FILE FOR TLMGR,  Next: tlmgr TAXONOMIES,  Prev: tlmgr USER MODE,  Up: tlmgr
+File: tlbuild.info,  Node: tlmgr MULTIPLE REPOSITORIES,  Next: tlmgr GUI FOR TLMGR,  Prev: tlmgr USER MODE,  Up: tlmgr
 
-B.8 CONFIGURATION FILE FOR TLMGR
-================================
-
-A small subset of the command line options can be set in a config file
-for 'tlmgr' which resides in 'TEXMFCONFIG/tlmgr/config'.  By default,
-the config file is in '~/.texliveYYYY/texmf-config/tlmgr/config'
-(replacing 'YYYY' with the year of your TeX Live installation).  This is
-_not_ 'TEXMFSYSVAR', so that the file is specific to a single user.
-
-   In this file, empty lines and lines starting with # are ignored.  All
-other lines must look like
-
-  key = value
-
-   where the allowed keys are 'gui-expertmode' (value 0 or 1),
-'persistent-downloads' (value 0 or 1), 'auto-remove' (value 0 or 1), and
-'gui-lang' (value like in the command line option).
-
-   'persistent-downloads', 'gui-lang', and 'auto-remove' correspond to
-the respective command line options of the same name.  'gui-expertmode'
-switches between the full GUI and a simplified GUI with only the
-important and mostly used settings.
-
-
-File: tlbuild.info,  Node: tlmgr TAXONOMIES,  Next: tlmgr MULTIPLE REPOSITORIES,  Prev: tlmgr CONFIGURATION FILE FOR TLMGR,  Up: tlmgr
-
-B.9 TAXONOMIES
-==============
-
-tlmgr allows searching and listing of various categorizations, which we
-call _taxonomies_, as provided by an enhanced TeX Catalogue (available
-for testing at <http://az.ctan.org>).  This is useful when, for example,
-you don't know a specific package name but have an idea of the
-functionality you need; or when you want to see all packages relating to
-a given area.
-
-   There are three different taxonomies, specified by the following
-options:
-
-'--keyword'
-
-     The keywords, as specified at <http://az.ctan.org/keyword>.
-
-'--functionality'
-
-     The "by-topic" categorization created by J\"urgen Fenn, as
-     specified at <http://az.ctan.org/characterization/by-function>.
-
-'--characterization'
-
-     Both the primary and secondary functionalities, as specified at
-     <http://az.ctan.org/characterization/choose_dimen>.
-
-'--taxonomy'
-
-     Operate on all the taxonomies.
-
-   The taxonomies are updated nightly and stored within TeX Live, so
-Internet access is not required to search them.
-
-   Examples:
-
-  tlmgr search --taxonomy exercise      # check all taxonomies for "exercise"
-  tlmgr search --taxonomy --word table  # check for "table" on its own
-  tlmgr search --list --keyword         # dump entire keyword taxonomy
-  tlmgr show --taxonomy pdftex          # show pdftex package information,
-                                        #   including all taxonomy entries
-
-
-File: tlbuild.info,  Node: tlmgr MULTIPLE REPOSITORIES,  Next: tlmgr GUI FOR TLMGR,  Prev: tlmgr TAXONOMIES,  Up: tlmgr
-
 B.10 MULTIPLE REPOSITORIES
 ==========================
 
@@ -3917,11 +4240,11 @@
 installation source to any repository (with the '-repository' or 'option
 repository' command line options), and perform your operations.
 
-   When you are using multiple repositories over a sustained time,
-however, explicitly switching between them becomes inconvenient.  Thus,
-it's possible to tell 'tlmgr' about additional repositories you want to
-use.  The basic command is 'tlmgr repository add'.  The rest of this
-section explains further.
+   When you are using multiple repositories over a sustained length of
+time, however, explicitly switching between them becomes inconvenient.
+Thus, it's possible to tell 'tlmgr' about additional repositories you
+want to use.  The basic command is 'tlmgr repository add'.  The rest of
+this section explains further.
 
    When using multiple repositories, one of them has to be set as the
 main repository, which distributes most of the installed packages.  When
@@ -4012,15 +4335,17 @@
 B.11 GUI FOR TLMGR
 ==================
 
-The graphical user interface for 'tlmgr' needs Perl/Tk to be installed.
-For Windows the necessary modules are shipped within TeX Live, for all
-other (i.e., Unix-based) systems Perl/Tk (as well as Perl of course) has
-to be installed.  <http://tug.org/texlive/distro.html#perltk> has a list
-of invocations for some distros.
+The graphical user interface for 'tlmgr' requires Perl/Tk
+<http://search.cpan.org/search?query=perl%2Ftk>.  For Windows the
+necessary modules are shipped within TeX Live, for all other (i.e.,
+Unix-based) systems Perl/Tk (as well as Perl of course) has to be
+installed outside of TL. <http://tug.org/texlive/distro.html#perltk> has
+a list of invocations for some distros.
 
-   When started with 'tlmgr gui' the graphical user interface will be
-shown.  The main window contains a menu bar, the main display, and a
-status area where messages normally shown on the console are displayed.
+   The GUI is started with the invocation 'tlmgr gui'; assuming Tk is
+loadable, the graphical user interface will be shown.  The main window
+contains a menu bar, the main display, and a status area where messages
+normally shown on the console are displayed.
 
    Within the main display there are three main parts: the 'Display
 configuration' area, the list of packages, and the action buttons.
@@ -4036,6 +4361,7 @@
 
 * tlmgr Main display::
 * tlmgr Menu bar::
+* tlmgr GUI options::
 
 
 File: tlbuild.info,  Node: tlmgr Main display,  Next: tlmgr Menu bar,  Up: tlmgr GUI FOR TLMGR
@@ -4074,9 +4400,8 @@
 Match
 
      Select packages matching for a specific pattern.  By default, this
-     uses the same algorithm as 'tlmgr search', i.e., searches
-     everything: descriptions, taxonomies, and/or filenames.  You can
-     also select any subset for searching.
+     searches both descriptions and filenames.  You can also select a
+     subset for searching.
 
 Selection
 
@@ -4175,7 +4500,7 @@
      General>).
 
 
-File: tlbuild.info,  Node: tlmgr Menu bar,  Prev: tlmgr Main display,  Up: tlmgr GUI FOR TLMGR
+File: tlbuild.info,  Node: tlmgr Menu bar,  Next: tlmgr GUI options,  Prev: tlmgr Main display,  Up: tlmgr GUI FOR TLMGR
 
 B.11.2 Menu bar
 ---------------
@@ -4229,6 +4554,42 @@
      <http://tug.org/texlive/doc.html>) and the usual "About" box.
 
 
+File: tlbuild.info,  Node: tlmgr GUI options,  Prev: tlmgr Menu bar,  Up: tlmgr GUI FOR TLMGR
+
+B.11.3 GUI options
+------------------
+
+Some generic Perl/Tk options can be specified with 'tlmgr gui' to
+control the display:
+
+'-background' _color_
+
+     Set background color.
+
+'-font "' _fontname_ _fontsize_ '"'
+
+     Set font, e.g., 'tlmgr gui -font "helvetica 18"'.  The argument to
+     '-font' must be quoted, i.e., passed as a single string.
+
+'-foreground' _color_
+
+     Set foreground color.
+
+'-geometry' _geomspec_
+
+     Set the X geometry, e.g., 'tlmgr gui -geometry 1024x512-0+0'
+     creates the window of (approximately) the given size in the
+     upper-right corner of the display.
+
+'-xrm' _xresource_
+
+     Pass the arbitrary X resource string _xresource_.
+
+   A few other obscure options are recognized but not mentioned here.
+See the Perl/Tk documentation (<http://search.cpan.org/perldoc?Tk>) for
+the complete list, and any X documentation for general information.
+
+
 File: tlbuild.info,  Node: tlmgr MACHINE-READABLE OUTPUT,  Next: tlmgr AUTHORS AND COPYRIGHT,  Prev: tlmgr GUI FOR TLMGR,  Up: tlmgr
 
 B.12 MACHINE-READABLE OUTPUT
@@ -4393,6 +4754,8 @@
 distribution (<http://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
+   $Id: tlmgr.pl 44422 2017-05-19 15:07:25Z karl $
+
 
 File: tlbuild.info,  Node: Index,  Prev: tlmgr,  Up: Top
 
@@ -4567,11 +4930,10 @@
 * callexe.c:                             Macros for Windows.   (line 32)
 * CC:                                    Variables for configure.
                                                                (line 10)
-* CC=C-COMPILER:                         Build one package.    (line 74)
+* CC=C-COMPILER:                         Build one package.    (line 73)
 * CC_BUILD:                              Cross problems.       (line 13)
 * chktex:                                Declarations and definitions.
                                                                (line 18)
-* clang compilers, preferred by ICU:     Build one package.    (line 74)
 * clisp:                                 Variables for configure.
                                                                (line 18)
 * CLISP:                                 Variables for configure.
@@ -4623,7 +4985,7 @@
 * ctangle:                               Cross problems.       (line 26)
 * CXX:                                   Variables for configure.
                                                                (line 11)
-* CXX=C++-COMPILER:                      Build one package.    (line 74)
+* CXX=C++-COMPILER:                      Build one package.    (line 73)
 * Debian installation of build prerequisites: Prerequisites.   (line 60)
 * declarations and definitions, in source code: Declarations and definitions.
                                                                (line  6)
@@ -4678,7 +5040,6 @@
 * ICU cross compiling:                   Cross problems.       (line 20)
 * ICU libraries:                         Variables for configure.
                                                                (line 24)
-* ICU, prefers clang compilers:          Build one package.    (line 74)
 * icu-config:                            Variables for configure.
                                                                (line 24)
 * ICU_CONFIG:                            Variables for configure.
@@ -4812,7 +5173,7 @@
 * motif:                                 Configure options for texk/xdvik.
                                                                (line  9)
 * native cross compilation:              Cross compilation.    (line 10)
-* OBJCXX=OBJC-COMPILER:                  Build one package.    (line 74)
+* OBJCXX=OBJC-COMPILER:                  Build one package.    (line 73)
 * one package, building:                 Build one package.    (line  6)
 * OpenGL, required for Asymptote:        asymptote.            (line  6)
 * operating system distribution, building for: Distro builds.  (line  6)
@@ -4939,313 +5300,341 @@
 
 
 Tag Table:
-Node: Top1025
-Node: Introduction1943
-Node: Overview of build system3698
-Node: Prerequisites5741
-Node: Building8139
-Node: Build iteration9387
-Node: Build problems10459
-Node: Build in parallel10862
-Node: Build distribution11454
-Node: Build one package12025
-Node: Installing15611
-Node: Installation directories16626
-Node: Linked scripts18442
-Node: Distro builds19923
-Node: Layout and infrastructure22313
-Node: Build system tools23141
-Node: Top-level directories25150
-Node: Autoconf macros27564
-Node: General setup macros28265
-Node: Macros for programs29132
-Node: Macros for compilers29944
-Node: Macros for libraries31378
-Node: Macros for library and header flags31804
-Node: Macros for Windows33684
-Node: Library modules35261
-Node: png library35750
-Node: zlib library38024
-Node: freetype library38539
-Node: kpathsea library39067
-Node: Program modules40466
-Node: t1utils package40894
-Node: xindy package41445
-Node: xdvik package42595
-Node: asymptote43668
-Node: Extending TeX Live44119
-Node: Adding a new program module44896
-Node: Adding a new generic library module46415
-Node: Adding a new TeX-specific library module48628
-Node: Configure options49315
-Node: Global configure options50697
-Node: --disable-native-texlive-build51239
-Node: --prefix --bindir ...52229
-Node: --disable-largefile52769
-Node: --disable-missing53454
-Node: --enable-compiler-warnings=LEVEL53855
-Node: --enable-cxx-runtime-hack54594
-Node: --enable-maintainer-mode55021
-Node: --enable-multiplatform55550
-Node: --enable-shared56088
-Node: --enable-silent-rules56459
-Node: --without-ln-s56915
-Node: --without-x57266
-Node: Program-specific configure options57454
-Node: --enable-PROG --disable-PROG58097
-Node: --disable-all-pkgs58374
-Node: Configure options for texk/web2c59360
-Node: Configure options for texk/bibtex-x61878
-Node: Configure options for texk/dvipdfm-x62421
-Node: Configure options for texk/dvisvgm63194
-Node: Configure options for texk/texlive64080
-Node: Configure options for texk/xdvik64501
-Node: Configure options for utils/xindy65105
-Node: Library-specific configure options66006
-Node: Configure options for kpathsea67017
-Node: Configure options for system poppler67726
-Node: Variables for configure68517
-Node: Cross compilation69945
-Node: Cross configuring71244
-Node: Cross problems72917
-Node: Coding conventions74564
-Node: Declarations and definitions75291
-Node: Const77473
-Node: install-tl79336
-Node: install-tl NAME79677
-Node: install-tl SYNOPSIS79835
-Node: install-tl DESCRIPTION80043
-Node: install-tl REFERENCES81044
-Node: install-tl OPTIONS81560
-Ref: install-tl *-gui* [[=]_module_]81914
-Ref: install-tl text82123
-Ref: install-tl wizard82246
-Ref: install-tl perltk82400
-Ref: install-tl *-no-gui*82834
-Ref: install-tl *-lang* _llcode_82915
-Ref: install-tl *-repository* _url|path_83602
-Ref: install-tl *-select-repository*85413
-Ref: install-tl *-all-options*85849
-Ref: install-tl *-custom-bin* _path_86156
-Ref: install-tl *-debug-translation*86811
-Ref: install-tl *-force-platform* _platform_87030
-Ref: install-tl *-help*, *--help*, *-?*87274
-Ref: install-tl *-in-place*87667
-Ref: install-tl *-logfile* _file_88194
-Ref: install-tl *-no-cls*88545
-Ref: install-tl *-non-admin*88676
-Ref: install-tl *--persistent-downloads*88781
-Ref: install-tl *--no-persistent-downloads*88809
-Ref: install-tl *-portable*89417
-Ref: install-tl *-print-platform*89556
-Ref: install-tl *-profile* _profile_89749
-Ref: install-tl *-q*91243
-Ref: install-tl *-scheme* _scheme_91305
-Ref: install-tl *-v*91779
-Ref: install-tl *-version*, *--version*91940
-Node: install-tl ENVIRONMENT VARIABLES92071
-Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK92460
-Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE92662
-Ref: install-tl TEXLIVE_INSTALL_PREFIX92768
-Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG92799
-Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME92828
-Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL92858
-Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG92892
-Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR92923
-Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR92951
-Ref: install-tl NOPERLDOC93006
-Node: install-tl AUTHORS AND COPYRIGHT93070
-Node: tlmgr93428
-Node: tlmgr NAME93865
-Node: tlmgr SYNOPSIS93990
-Node: tlmgr DESCRIPTION94180
-Node: tlmgr EXAMPLES95276
-Ref: tlmgr tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet95567
-Ref: tlmgr tlmgr update --list95748
-Ref: tlmgr tlmgr update --all95841
-Ref: tlmgr tlmgr info _pkg_95997
-Node: tlmgr OPTIONS96203
-Ref: tlmgr *--repository* _url|path_96723
-Ref: tlmgr *--gui* [_action_]97448
-Ref: tlmgr *--gui-lang* _llcode_97855
-Ref: tlmgr *--debug-translation*98538
-Ref: tlmgr *--machine-readable*98741
-Ref: tlmgr *--no-execute-actions*99009
-Ref: tlmgr *--package-logfile* _file_99202
-Ref: tlmgr *--pause*99457
-Ref: tlmgr *--persistent-downloads*99612
-Ref: tlmgr *--no-persistent-downloads*99640
-Ref: tlmgr *--pin-file*100134
-Ref: tlmgr *--usermode*100352
-Ref: tlmgr *--usertree* _dir_100472
-Node: tlmgr ACTIONS101022
-Node: tlmgr help102254
-Node: tlmgr version102730
-Node: tlmgr backup [--clean[=_N_]] [--backupdir _dir_] [--all | _pkg_]...103048
-Ref: tlmgr *--backupdir* _directory_104142
-Ref: tlmgr *--all*104339
-Ref: tlmgr *--clean*[=_N_]104561
-Ref: tlmgr *--dry-run*104858
-Node: tlmgr candidates _pkg_104978
-Ref: tlmgr *candidates _pkg_* 1105265
-Node: tlmgr check [_option_]... [files|depends|executes|runfiles|all]105409
-Ref: tlmgr *files*105852
-Ref: tlmgr *depends*105987
-Ref: tlmgr *executes*106329
-Ref: tlmgr *runfiles*106447
-Ref: tlmgr *--use-svn*106559
-Node: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]106676
-Node: tlmgr dump-tlpdb [--local|--remote]108748
-Ref: tlmgr *--local*109258
-Ref: tlmgr *--remote*109297
-Node: tlmgr generate [_option_]... _what_109719
-Ref: tlmgr *generate language*109960
-Ref: tlmgr *generate language.dat*109985
-Ref: tlmgr *generate language.def*110010
-Ref: tlmgr *generate language.dat.lua*110039
-Ref: tlmgr *generate fmtutil*110059
-Ref: tlmgr *--dest* _output_file_112296
-Ref: tlmgr *--localcfg* _local_conf_file_112872
-Ref: tlmgr *--rebuild-sys*112995
-Node: tlmgr gui113856
-Node: tlmgr info [_option_...] [collections|schemes|_pkg_...]114100
-Ref: tlmgr *--list*115305
-Ref: tlmgr *--only-installed*115584
-Ref: tlmgr *--taxonomy*115799
-Ref: tlmgr *--keyword*115811
-Ref: tlmgr *--functionality*115829
-Ref: tlmgr *--characterization*115850
-Node: tlmgr init-usertree116063
-Node: tlmgr install [_option_]... _pkg_...116489
-Ref: tlmgr *--file*116853
-Ref: tlmgr *--reinstall*117079
-Ref: tlmgr *--no-depends*117459
-Ref: tlmgr *--no-depends-at-all*117618
-Ref: tlmgr *--dry-run* 1118016
-Ref: tlmgr *--force*118134
-Node: tlmgr option118340
-Ref: tlmgr *option [show]*118513
-Ref: tlmgr *option showall*118531
-Ref: tlmgr *option _key_ [_value_]*118557
-Node: tlmgr paper122405
-Ref: tlmgr *paper [a4|letter]*122590
-Ref: tlmgr *[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*122664
-Node: tlmgr path [--w32mode=user|admin] [add|remove]123691
-Node: tlmgr pinning125174
-Ref: tlmgr pinning show125481
-Ref: tlmgr pinning add _repo_ _pkgglob_...125554
-Ref: tlmgr pinning remove _repo_ _pkgglob_...125673
-Ref: tlmgr pinning remove _repo_ --all125826
-Node: tlmgr platform list|add|remove _platform_...125880
-Node: tlmgr platform set _platform_126128
-Node: tlmgr platform set auto126356
-Ref: tlmgr *--dry-run* 2127473
-Node: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...127582
-Node: tlmgr print-platform128884
-Node: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]]129356
-Ref: tlmgr *--all* 1130252
-Ref: tlmgr *--backupdir* _directory_ 1130446
-Ref: tlmgr *--dry-run* 3130602
-Ref: tlmgr *--force* 1130719
-Node: tlmgr remove [_option_]... _pkg_...130747
-Ref: tlmgr *--no-depends* 1131270
-Ref: tlmgr *--no-depends-at-all* 1131332
-Ref: tlmgr *--force* 2131388
-Ref: tlmgr *--dry-run* 4131860
-Node: tlmgr repository131967
-Ref: tlmgr *repository list*132175
-Ref: tlmgr *repository list _path|tag_*132205
-Ref: tlmgr *repository add _path_ [_tag_]*132238
-Ref: tlmgr *repository remove _path|tag_*132270
-Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*132324
-Node: tlmgr search [_option_...] _what_133408
-Node: tlmgr search [_option_...] --file _what_133919
-Node: tlmgr search [_option_...] --taxonomy _what_134170
-Node: tlmgr search [_option_...] --keyword _what_134481
-Node: tlmgr search [_option_...] --functionality _what_134799
-Node: tlmgr search [_option_...] --characterization _what_135137
-Node: tlmgr search [_option_...] --all _what_135477
-Ref: tlmgr *--global*135925
-Ref: tlmgr *--word*136037
-Ref: tlmgr *--list* 1136276
-Ref: tlmgr *--file* 1136622
-Ref: tlmgr *--taxonomy* 1136679
-Ref: tlmgr *--keyword* 1136691
-Ref: tlmgr *--functionality* 1136709
-Ref: tlmgr *--characterization* 1136730
-Ref: tlmgr *--all* 2136885
-Node: tlmgr uninstall136968
-Ref: tlmgr *--force* 3137222
-Node: tlmgr update [_option_]... [_pkg_]...137278
-Ref: tlmgr *--all* 3137649
-Ref: tlmgr *--self*139390
-Ref: tlmgr *--dry-run* 5140154
-Ref: tlmgr *--list* [_pkg_]140331
-Ref: tlmgr *--exclude* _pkg_141020
-Ref: tlmgr *--no-auto-remove* [_pkg_]...141713
-Ref: tlmgr *--no-auto-install* [_pkg_]...142164
-Ref: tlmgr *--reinstall-forcibly-removed*142820
-Ref: tlmgr *--backup* and *--backupdir* _directory_143384
-Ref: tlmgr *--no-depends* 2144565
-Ref: tlmgr *--no-depends-at-all* 2144768
-Ref: tlmgr *--force* 4144824
-Node: tlmgr USER MODE145250
-Node: tlmgr user mode install148061
-Node: tlmgr user mode backup; restore; remove; update149008
-Node: tlmgr user mode generate; option; paper149450
-Node: tlmgr CONFIGURATION FILE FOR TLMGR149826
-Node: tlmgr TAXONOMIES150917
-Ref: tlmgr --keyword 2151543
-Ref: tlmgr --functionality 2151628
-Ref: tlmgr --characterization 2151784
-Ref: tlmgr --taxonomy 2151925
-Node: tlmgr MULTIPLE REPOSITORIES152466
-Node: tlmgr Pinning154187
-Node: tlmgr GUI FOR TLMGR156162
-Node: tlmgr Main display157384
-Node: tlmgr Display configuration area157636
-Ref: tlmgr Status157997
-Ref: tlmgr Category158161
-Ref: tlmgr Match158347
-Ref: tlmgr Selection158607
-Ref: tlmgr Display configuration buttons158811
-Node: tlmgr Package list area158994
-Ref: tlmgr a checkbox159578
-Ref: tlmgr package name159714
-Ref: tlmgr local revision (and version)159813
-Ref: tlmgr remote revision (and version)160188
-Ref: tlmgr short description160485
-Node: tlmgr Main display action buttons160530
-Ref: tlmgr Update all installed160796
-Ref: tlmgr Update161168
-Ref: tlmgr Install161218
-Ref: tlmgr Remove161404
-Ref: tlmgr Backup161582
-Node: tlmgr Menu bar161739
-Ref: tlmgr tlmgr menu161936
-Ref: tlmgr Options menu162244
-Ref: tlmgr Actions menu163327
-Ref: tlmgr Help menu163755
-Node: tlmgr MACHINE-READABLE OUTPUT163888
-Node: tlmgr Machine-readable update and install output164698
-Ref: tlmgr location-url _location_165974
-Ref: tlmgr total-bytes _count_166190
-Ref: tlmgr _pkgname_166600
-Ref: tlmgr _status_166810
-Ref: tlmgr d166888
-Ref: tlmgr f166948
-Ref: tlmgr u167127
-Ref: tlmgr r167173
-Ref: tlmgr a167296
-Ref: tlmgr i167474
-Ref: tlmgr I167593
-Ref: tlmgr _localrev_167695
-Ref: tlmgr _serverrev_167802
-Ref: tlmgr _size_167914
-Ref: tlmgr _runtime_168083
-Ref: tlmgr _esttot_168153
-Node: tlmgr Machine-readable option output168186
-Node: tlmgr AUTHORS AND COPYRIGHT168698
-Node: Index169045
+Node: Top1208
+Node: Introduction2126
+Node: Overview of build system3878
+Node: Prerequisites5921
+Node: Building8319
+Node: Build iteration9567
+Node: Build problems10639
+Node: Build in parallel11042
+Node: Build distribution11634
+Node: Build one package12205
+Node: Installing15557
+Node: Installation directories16572
+Node: Linked scripts18388
+Node: Distro builds19869
+Node: Layout and infrastructure22259
+Node: Build system tools23087
+Node: Top-level directories25096
+Node: Autoconf macros27510
+Node: General setup macros28211
+Node: Macros for programs29078
+Node: Macros for compilers29890
+Node: Macros for libraries31324
+Node: Macros for library and header flags31750
+Node: Macros for Windows33630
+Node: Library modules35207
+Node: png library35696
+Node: zlib library37970
+Node: freetype library38485
+Node: kpathsea library39013
+Node: Program modules40412
+Node: t1utils package40840
+Node: xindy package41391
+Node: xdvik package42541
+Node: asymptote43614
+Node: Extending TeX Live44065
+Node: Adding a new program module44842
+Node: Adding a new generic library module46361
+Node: Adding a new TeX-specific library module48574
+Node: Configure options49261
+Node: Global configure options50643
+Node: --disable-native-texlive-build51185
+Node: --prefix --bindir ...52175
+Node: --disable-largefile52715
+Node: --disable-missing53400
+Node: --enable-compiler-warnings=LEVEL53801
+Node: --enable-cxx-runtime-hack54540
+Node: --enable-maintainer-mode54967
+Node: --enable-multiplatform55496
+Node: --enable-shared56034
+Node: --enable-silent-rules56405
+Node: --without-ln-s56861
+Node: --without-x57212
+Node: Program-specific configure options57400
+Node: --enable-PROG --disable-PROG58043
+Node: --disable-all-pkgs58320
+Node: Configure options for texk/web2c59306
+Node: Configure options for texk/bibtex-x61824
+Node: Configure options for texk/dvipdfm-x62367
+Node: Configure options for texk/dvisvgm63140
+Node: Configure options for texk/texlive64026
+Node: Configure options for texk/xdvik64447
+Node: Configure options for utils/xindy65051
+Node: Library-specific configure options65952
+Node: Configure options for kpathsea66963
+Node: Configure options for system poppler67672
+Node: Variables for configure68463
+Node: Cross compilation69891
+Node: Cross configuring71190
+Node: Cross problems72863
+Node: Coding conventions74510
+Node: Declarations and definitions75237
+Node: Const77419
+Node: install-tl79282
+Node: install-tl NAME79647
+Node: install-tl SYNOPSIS79805
+Node: install-tl DESCRIPTION80063
+Node: install-tl REFERENCES81130
+Node: install-tl OPTIONS81656
+Ref: install-tl *-gui* [[=]_module_]81997
+Ref: install-tl text82207
+Ref: install-tl wizard82330
+Ref: install-tl perltk82484
+Ref: install-tl *-no-gui*82915
+Ref: install-tl *-lang* _llcode_82996
+Ref: install-tl *-repository* _url|path_83683
+Ref: install-tl *-select-repository*85563
+Ref: install-tl *-all-options*85999
+Ref: install-tl *-custom-bin* _path_86254
+Ref: install-tl *-debug-translation*87085
+Ref: install-tl *-force-platform* _platform_87304
+Ref: install-tl *-help*, *--help*, *-?*87548
+Ref: install-tl *-in-place*87955
+Ref: install-tl *-init-from-profile* _profile_file_88500
+Ref: install-tl *-logfile* _file_88720
+Ref: install-tl *-no-cls*89071
+Ref: install-tl *-non-admin*89205
+Ref: install-tl *-persistent-downloads*89310
+Ref: install-tl *-no-persistent-downloads*89338
+Ref: install-tl *-no-verify-downloads*89956
+Ref: install-tl *-portable*90317
+Ref: install-tl *-print-platform*90456
+Ref: install-tl *-profile* _profile_file_90654
+Ref: install-tl *-q*90834
+Ref: install-tl *-scheme* _scheme_90896
+Ref: install-tl *-v*91370
+Ref: install-tl *-version*, *--version*91525
+Node: install-tl PROFILES91656
+Ref: install-tl instopt_adjustpath (default 0 on Unix, 1 on Windows)94306
+Ref: install-tl instopt_adjustrepo (default 1)94382
+Ref: install-tl instopt_letter (default 0)94519
+Ref: install-tl instopt_portable (default 0)94610
+Ref: install-tl instopt_write18_restricted (default 1)94706
+Node: install-tl ENVIRONMENT VARIABLES96025
+Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK96416
+Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE96618
+Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME96728
+Ref: install-tl TEXLIVE_INSTALL_PREFIX96849
+Ref: install-tl TEXLIVE_INSTALL_TEXDIR96875
+Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG96906
+Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR96934
+Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME96963
+Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL96993
+Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG97027
+Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR97058
+Ref: install-tl NOPERLDOC97429
+Node: install-tl AUTHORS AND COPYRIGHT97493
+Node: tlmgr97905
+Node: tlmgr NAME98358
+Node: tlmgr SYNOPSIS98490
+Node: tlmgr DESCRIPTION98680
+Node: tlmgr EXAMPLES99776
+Ref: tlmgr tlmgr option repository ctan100027
+Ref: tlmgr tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet100099
+Ref: tlmgr tlmgr update --list100551
+Ref: tlmgr tlmgr update --all100644
+Ref: tlmgr tlmgr info _what_100801
+Node: tlmgr OPTIONS101063
+Ref: tlmgr *--repository* _url|path_101583
+Ref: tlmgr *--gui* [_action_]102308
+Ref: tlmgr *--gui-lang* _llcode_102715
+Ref: tlmgr *--debug-translation*103398
+Ref: tlmgr *--machine-readable*103601
+Ref: tlmgr *--no-execute-actions*103869
+Ref: tlmgr *--package-logfile* _file_104062
+Ref: tlmgr *--pause*104316
+Ref: tlmgr *--persistent-downloads*104471
+Ref: tlmgr *--no-persistent-downloads*104499
+Ref: tlmgr *--pin-file*104993
+Ref: tlmgr *--require-verification*105223
+Ref: tlmgr *--no-require-verification*105251
+Ref: tlmgr *--usermode*105487
+Ref: tlmgr *--usertree* _dir_105607
+Ref: tlmgr *--verify-downloads*105722
+Ref: tlmgr *--no-verify-downloads*105746
+Node: tlmgr ACTIONS106499
+Node: tlmgr help107883
+Node: tlmgr version108359
+Node: tlmgr backup [--clean[=_N_]] [--backupdir _dir_] [--all | _pkg_]...108677
+Ref: tlmgr *--backupdir* _directory_109771
+Ref: tlmgr *--all*109968
+Ref: tlmgr *--clean*[=_N_]110190
+Ref: tlmgr *--dry-run*110487
+Node: tlmgr candidates _pkg_110607
+Ref: tlmgr *candidates _pkg_* 1110894
+Node: tlmgr check [_option_]... [files|depends|executes|runfiles|all]111038
+Ref: tlmgr *files*111481
+Ref: tlmgr *depends*111616
+Ref: tlmgr *executes*111958
+Ref: tlmgr *runfiles*112076
+Ref: tlmgr *--use-svn*112197
+Node: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]112314
+Node: tlmgr conf auxtrees [--conffile _file_] [show|add|delete] [_value_]112752
+Node: tlmgr dump-tlpdb [--local|--remote]115320
+Ref: tlmgr *--local*115817
+Ref: tlmgr *--remote*115856
+Node: tlmgr generate [_option_]... _what_116278
+Ref: tlmgr *generate language*116519
+Ref: tlmgr *generate language.dat*116544
+Ref: tlmgr *generate language.def*116569
+Ref: tlmgr *generate language.dat.lua*116598
+Ref: tlmgr *--dest* _output_file_118924
+Ref: tlmgr *--localcfg* _local_conf_file_119500
+Ref: tlmgr *--rebuild-sys*119623
+Node: tlmgr gui120438
+Node: tlmgr info [_option_...] [collections|schemes|_pkg_...]120684
+Ref: tlmgr *--list*122377
+Ref: tlmgr *--only-installed*122656
+Node: tlmgr init-usertree122809
+Node: tlmgr install [_option_]... _pkg_...123235
+Ref: tlmgr *--dry-run* 1123776
+Ref: tlmgr *--file*123893
+Ref: tlmgr *--force*124115
+Ref: tlmgr *--no-depends*124335
+Ref: tlmgr *--no-depends-at-all*124494
+Ref: tlmgr *--reinstall*124894
+Ref: tlmgr *--with-doc*125272
+Ref: tlmgr *--with-src*125285
+Node: tlmgr key list|add _file_|remove _keyid_125807
+Node: tlmgr option126602
+Ref: tlmgr *option [show]*126779
+Ref: tlmgr *option showall*126797
+Ref: tlmgr *option _key_ [_value_]*126823
+Node: tlmgr paper130863
+Ref: tlmgr *paper [a4|letter]*131048
+Ref: tlmgr *[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*131122
+Node: tlmgr path [--w32mode=user|admin] [add|remove]132149
+Node: tlmgr pinning133632
+Ref: tlmgr pinning show133939
+Ref: tlmgr pinning add _repo_ _pkgglob_...134012
+Ref: tlmgr pinning remove _repo_ _pkgglob_...134131
+Ref: tlmgr pinning remove _repo_ --all134284
+Node: tlmgr platform list|add|remove _platform_...134338
+Node: tlmgr platform set _platform_134586
+Node: tlmgr platform set auto134814
+Ref: tlmgr *--dry-run* 2135931
+Node: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...136040
+Node: tlmgr print-platform137342
+Node: tlmgr remove [_option_]... _pkg_...137792
+Ref: tlmgr *--backup*138274
+Ref: tlmgr *--backupdir* _directory_ 1138300
+Ref: tlmgr *--no-depends* 1139393
+Ref: tlmgr *--no-depends-at-all* 1139455
+Ref: tlmgr *--force* 1139511
+Ref: tlmgr *--dry-run* 3139983
+Node: tlmgr repository140090
+Ref: tlmgr *repository list*140322
+Ref: tlmgr *repository list _path|tag_*140352
+Ref: tlmgr *repository add _path_ [_tag_]*140385
+Ref: tlmgr *repository remove _path|tag_*140417
+Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*140471
+Node: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]]141555
+Ref: tlmgr *--all* 1142494
+Ref: tlmgr *--backupdir* _directory_ 2142688
+Ref: tlmgr *--dry-run* 4142844
+Ref: tlmgr *--force* 2142961
+Node: tlmgr search [_option_...] _what_142989
+Node: tlmgr search [_option_...] --file _what_143329
+Node: tlmgr search [_option_...] --all _what_143575
+Ref: tlmgr *--file* 1144016
+Ref: tlmgr *--all* 2144068
+Ref: tlmgr *--global*144147
+Ref: tlmgr *--word*144259
+Node: tlmgr shell144549
+Ref: tlmgr protocol145310
+Ref: tlmgr help 1145374
+Ref: tlmgr version 1145427
+Ref: tlmgr quit, end, bye, byebye, EOF145495
+Ref: tlmgr restart145516
+Ref: tlmgr load [local|remote]145639
+Ref: tlmgr save145709
+Ref: tlmgr get [_var_] =item set [_var_ [_val_]]145832
+Node: tlmgr uninstall146324
+Ref: tlmgr *--force* 3146556
+Node: tlmgr update [_option_]... [_pkg_]...146612
+Ref: tlmgr *--all* 3146983
+Ref: tlmgr *--self*148724
+Ref: tlmgr *--dry-run* 5149488
+Ref: tlmgr *--list* [_pkg_]149665
+Ref: tlmgr *--exclude* _pkg_150354
+Ref: tlmgr *--no-auto-remove* [_pkg_]...151047
+Ref: tlmgr *--no-auto-install* [_pkg_]...151498
+Ref: tlmgr *--reinstall-forcibly-removed*152154
+Ref: tlmgr *--backup* 1152689
+Ref: tlmgr *--backupdir* _directory_ 3152715
+Ref: tlmgr *--no-depends* 2153912
+Ref: tlmgr *--no-depends-at-all* 2154115
+Ref: tlmgr *--force* 4154171
+Node: tlmgr CONFIGURATION FILE FOR TLMGR154986
+Ref: tlmgr auto-remove, value 0 or 1 (default 1), same as command-line option.155999
+Ref: tlmgr gui-expertmode, value 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.156136
+Ref: tlmgr gui-lang _llcode_, with a language code value as with the command-line option.156218
+Ref: tlmgr no-checksums, value 0 or 1 (default 0, see below).156272
+Ref: tlmgr persistent-downloads, value 0 or 1 (default 1), same as command-line option.156352
+Ref: tlmgr require-verification, value 0 or 1 (default 0), same as command-line option.156432
+Ref: tlmgr verify-downloads, value 0 or 1 (default 1), same as command-line option.156508
+Ref: tlmgr allowed-actions _action1_ [,_action_,...] The value is a comma-separated list of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode).156777
+Node: tlmgr CRYPTOGRAPHIC VERIFICATION158101
+Node: tlmgr Configuration of GnuPG invocation159774
+Node: tlmgr USER MODE160412
+Node: tlmgr User mode install163235
+Node: tlmgr User mode backup, restore, remove, update164379
+Node: tlmgr User mode generate, option, paper164821
+Node: tlmgr MULTIPLE REPOSITORIES165197
+Node: tlmgr Pinning166926
+Node: tlmgr GUI FOR TLMGR168901
+Node: tlmgr Main display170241
+Node: tlmgr Display configuration area170493
+Ref: tlmgr Status170854
+Ref: tlmgr Category171018
+Ref: tlmgr Match171204
+Ref: tlmgr Selection171385
+Ref: tlmgr Display configuration buttons171589
+Node: tlmgr Package list area171772
+Ref: tlmgr a checkbox172356
+Ref: tlmgr package name172492
+Ref: tlmgr local revision (and version)172591
+Ref: tlmgr remote revision (and version)172966
+Ref: tlmgr short description173263
+Node: tlmgr Main display action buttons173308
+Ref: tlmgr Update all installed173574
+Ref: tlmgr Update173946
+Ref: tlmgr Install173996
+Ref: tlmgr Remove174182
+Ref: tlmgr Backup174360
+Node: tlmgr Menu bar174517
+Ref: tlmgr tlmgr menu174740
+Ref: tlmgr Options menu175048
+Ref: tlmgr Actions menu176131
+Ref: tlmgr Help menu176559
+Node: tlmgr GUI options176692
+Ref: tlmgr -background _color_176938
+Ref: tlmgr -font " _fontname_ _fontsize_ "177003
+Ref: tlmgr -foreground _color_177161
+Ref: tlmgr -geometry _geomspec_177213
+Ref: tlmgr -xrm _xresource_177405
+Node: tlmgr MACHINE-READABLE OUTPUT177673
+Node: tlmgr Machine-readable update and install output178483
+Ref: tlmgr location-url _location_179759
+Ref: tlmgr total-bytes _count_179975
+Ref: tlmgr _pkgname_180385
+Ref: tlmgr _status_180595
+Ref: tlmgr d180673
+Ref: tlmgr f180733
+Ref: tlmgr u180912
+Ref: tlmgr r180958
+Ref: tlmgr a181081
+Ref: tlmgr i181259
+Ref: tlmgr I181378
+Ref: tlmgr _localrev_181480
+Ref: tlmgr _serverrev_181587
+Ref: tlmgr _size_181699
+Ref: tlmgr _runtime_181868
+Ref: tlmgr _esttot_181938
+Node: tlmgr Machine-readable option output181971
+Node: tlmgr AUTHORS AND COPYRIGHT182483
+Node: Index182882
 
 End Tag Table

Modified: branches/stable/source/src/doc/tlbuild.texi
===================================================================
--- branches/stable/source/src/doc/tlbuild.texi	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/doc/tlbuild.texi	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,8 @@
 \input texinfo
 @setfilename tlbuild.info
 
- at set version 2016
- at set month-year February 2017
+ at set version 2017
+ at set month-year April 2017
 
 @set mytitle Building @TeX{} Live (@value{version})
 @settitle @value{mytitle}
@@ -52,6 +52,12 @@
 * TLbuild: (tlbuild).           TeX Live configuration and development.
 @end direntry
 
+ at dircategory Individual utilities
+ at direntry
+* install-tl::                  Installing TeX Live.
+* tlmgr::                       Managing TeX Live.
+ at end direntry
+
 @titlepage
 @title @value{mytitle}
 @subtitle @value{version} release
@@ -480,38 +486,32 @@
 tweak as desired; check the output from @code{configure --help}.
 
 @cindex size of source tree
-Finally, the above retrieves the entire TL source tree (some 300mb).
-It is natural to ask if this is really necessary.  Strictly speaking,
-the answer is no, but it is vastly more convenient to do so.  If you
-cut down the source tree, you must also give additional
- at code{configure} flags to individually disable using system versions
-of libraries, or the intricacies of the dependencies (such as
+Finally, the above retrieves the entire TL source tree (several
+hundred megabytes).  It is natural to ask if this is really necessary.
+Strictly speaking, the answer is no, but it is vastly more convenient
+to do so.  If you cut down the source tree, you must also give
+additional @code{configure} flags to individually disable using system
+versions of libraries, or the intricacies of the dependencies (such as
 @code{teckit} requiring @code{zlib}) will have undesired side effects.
 For an example, see the @code{build-pdftex.sh} script in the
- at code{pdftex} development sources (@url{http://pdftex.org}), which are
+ at code{pdftex} development source (@url{http://pdftex.org}), which is
 indeed a cut-down TL source tree.
 
 @vindex --enable-missing @r{to ignore dependencies}
-Caveat 1: even with @code{--disable-all-pkgs}, dependencies will be
-checked.  For instance, if a non-MacOSX system does not have
- at code{fontconfig}, Xe at TeX{} cannot be built (@pxref{Prerequisites})
-and @code{configure} will terminate.  To proceed without such
-dependencies, specify @code{--enable-missing} also.  (Arguably this
-should happen automatically.)
+Even with @code{--disable-all-pkgs}, dependencies will be checked.
+For instance, if a non-MacOSX system does not have @code{fontconfig},
+Xe at TeX{} cannot be built (@pxref{Prerequisites}) and @code{configure}
+will terminate.  To proceed without such dependencies, specify
+ at code{--enable-missing} also.  (Arguably this should happen
+automatically.)
 
 @vindex CC=@var{c-compiler}
 @vindex CXX=@var{c++-compiler}
 @vindex OBJCXX=@var{objc-compiler}
- at cindex ICU, prefers @code{clang} compilers
- at cindex @code{clang} compilers, preferred by ICU
-Caveat 2: unless @code{CC} and @code{CXX} and @code{OBJCXX} are
-explicitly specified, each package will configure its own compiler(s).
-In practice, this results in a conflict in only one instance: the ICU
-(@file{libs/icu}) library will prefer @code{clang} and @code{clang++}
-over all others if they are installed, whereas everything else prefers
- at code{gcc} and @code{g++}.  Usually the results will be interoperable,
-but it can cause extra confusion and problems when debugging a program
-that uses ICU.
+By default, the @code{gcc} compilers will be used if present;
+otherwise, individual packages may use something different.  You can
+explicitly specify the compilers to be used with the environment
+variables @code{CC}, @code{CXX}, and @code{OBJCXX}.
 
 
 @node Installing
@@ -1141,7 +1141,7 @@
 @pindex libpng @r{library}
 This generic library uses the source tree in, e.g., the subdirectory
 @file{libpng-src/} with all modifications for TL recorded in
- at file{TLPATCHES/*}.  The @file{configure.ac} fragment
+ at file{TLpatches/*}.  The @file{configure.ac} fragment
 @file{ac/withenable.ac} contains
 
 @example
@@ -1286,7 +1286,7 @@
 @pindex t1utils @r{package}
 
 Once again we use the distributed source tree @file{t1utils-src}
-with modifications documented in @file{TLPATCHES/*} and
+with modifications documented in @file{TLpatches/*} and
 a proxy build system consisting of @file{configure.ac} and
 @file{Makefile.am}.  The fragment @file{ac/withenable.ac} contains
 
@@ -1304,7 +1304,7 @@
 @pindex xindy
 
 This module uses the distributed source tree @file{xindy-src/} with
-modifications documented in @file{TLPATCHES/*}, a proxy
+modifications documented in @file{TLpatches/*}, a proxy
 @file{configure.ac}, and a wrapper @file{Makefile.am} that descends
 into @file{xindy-src}.  The @code{xindy} build requires a @file{make}
 that supports a @code{VPATH} build, can handle all targets, and do not
@@ -1383,7 +1383,7 @@
 
 In any case, a new package directory @file{foo} should contain the
 original sources, as modified for TL, in @file{foo/foo-src}, and the
-changes should be documented in @file{foo/TLPATCHES/*}; changes should
+changes should be documented in @file{foo/TLpatches/*}; changes should
 also be submitted upstream whenever reasonable, of course.  In
 addition, @file{foo/} will need the usual Automake build-related files
 (@file{configure.ac}, @file{Makefile.am}, etc.  Please keep a

Modified: branches/stable/source/src/libs/README
===================================================================
--- branches/stable/source/src/libs/README	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/README	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-$Id: README 43412 2017-03-06 14:22:59Z kakuto $
+$Id: README 44006 2017-04-24 04:08:31Z kakuto $
 Public domain.  Originally created by Karl Berry, 2005.
 
 Libraries we compile for TeX Live.
@@ -24,16 +24,16 @@
 graphite2 1.3.9 - checked 13nov16
   http://sourceforge.net/projects/silgraphite/files/graphite2/
 
-harfbuzz 1.4.4 - checked 06mar17
+harfbuzz 1.4.6 - checked 24apr17
   http://www.freedesktop.org/software/harfbuzz/release/
 
-icu 57.1 (release) - checked 27mar16
+icu 58.2 - checked 13mar17
   http://download.icu-project.org/files/icu4c/
 
 libpaper 1.1.24+nmu2 - checked 24oct13
   ftp://ftp.de.debian.org/debian/pool/main/libp/libpaper/
 
-libpng 1.6.28 - checked 05jan17
+libpng 1.6.29 - checked 16mar17
   http://www.libpng.org/ - used by many
   http://www.libpng.org/pub/png/pngcode.html
 

Modified: branches/stable/source/src/libs/configure
===================================================================
--- branches/stable/source/src/libs/configure	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/configure	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for TeX Live libs 2017/dev.
+# Generated by GNU Autoconf 2.69 for TeX Live libs 2017.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='TeX Live libs'
 PACKAGE_TARNAME='tex-live-libs'
-PACKAGE_VERSION='2017/dev'
-PACKAGE_STRING='TeX Live libs 2017/dev'
+PACKAGE_VERSION='2017'
+PACKAGE_STRING='TeX Live libs 2017'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1394,7 +1394,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures TeX Live libs 2017/dev to adapt to many kinds of systems.
+\`configure' configures TeX Live libs 2017 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1464,7 +1464,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of TeX Live libs 2017/dev:";;
+     short | recursive ) echo "Configuration of TeX Live libs 2017:";;
    esac
   cat <<\_ACEOF
 
@@ -1753,7 +1753,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-TeX Live libs configure 2017/dev
+TeX Live libs configure 2017
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1854,7 +1854,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by TeX Live libs $as_me 2017/dev, which was
+It was created by TeX Live libs $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3836,7 +3836,6 @@
 test "x$enable_web2c:$enable_luatex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_lua52=yes
@@ -3855,7 +3854,6 @@
 test "x$enable_web2c:$enable_luajittex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_luajit=yes
@@ -6063,7 +6061,7 @@
 
 # Define the identity of the package.
  PACKAGE='tex-live-libs'
- VERSION='2017/dev'
+ VERSION='2017'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6398,272 +6396,82 @@
 $as_echo_n "checking for generic libraries to build... " >&6; }
 CONF_SUBDIRS=
 MAKE_SUBDIRS=
-if test -x $srcdir/harfbuzz/configure; then
-  test "x$with_system_harfbuzz" != xyes && test "x$need_harfbuzz" = xyes && MAKE_SUBDIRS="harfbuzz $MAKE_SUBDIRS"
+if test -x $srcdir/harfbuzz/configure && test "x$with_system_harfbuzz" != xyes && test "x$need_harfbuzz" = xyes; then
   CONF_SUBDIRS="harfbuzz $CONF_SUBDIRS"
+  MAKE_SUBDIRS="harfbuzz $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/icu/configure; then
-  test "x$with_system_icu" != xyes && test "x$need_icu" = xyes && MAKE_SUBDIRS="icu $MAKE_SUBDIRS"
+if test -x $srcdir/icu/configure && test "x$with_system_icu" != xyes && test "x$need_icu" = xyes; then
   CONF_SUBDIRS="icu $CONF_SUBDIRS"
+  MAKE_SUBDIRS="icu $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/teckit/configure; then
-  test "x$with_system_teckit" != xyes && test "x$need_teckit" = xyes && MAKE_SUBDIRS="teckit $MAKE_SUBDIRS"
+if test -x $srcdir/teckit/configure && test "x$with_system_teckit" != xyes && test "x$need_teckit" = xyes; then
   CONF_SUBDIRS="teckit $CONF_SUBDIRS"
+  MAKE_SUBDIRS="teckit $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/graphite2/configure; then
-  test "x$with_system_graphite2" != xyes && test "x$need_graphite2" = xyes && MAKE_SUBDIRS="graphite2 $MAKE_SUBDIRS"
+if test -x $srcdir/graphite2/configure && test "x$with_system_graphite2" != xyes && test "x$need_graphite2" = xyes; then
   CONF_SUBDIRS="graphite2 $CONF_SUBDIRS"
+  MAKE_SUBDIRS="graphite2 $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/zziplib/configure; then
-  test "x$with_system_zziplib" != xyes && test "x$need_zziplib" = xyes && MAKE_SUBDIRS="zziplib $MAKE_SUBDIRS"
+if test -x $srcdir/zziplib/configure && test "x$with_system_zziplib" != xyes && test "x$need_zziplib" = xyes; then
   CONF_SUBDIRS="zziplib $CONF_SUBDIRS"
+  MAKE_SUBDIRS="zziplib $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/xpdf/configure; then
-  test "x$with_system_xpdf" != xyes && test "x$need_xpdf" = xyes && MAKE_SUBDIRS="xpdf $MAKE_SUBDIRS"
+if test -x $srcdir/xpdf/configure && test "x$with_system_xpdf" != xyes && test "x$need_xpdf" = xyes; then
   CONF_SUBDIRS="xpdf $CONF_SUBDIRS"
+  MAKE_SUBDIRS="xpdf $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/poppler/configure; then
-  test "x$with_system_poppler" != xyes && test "x$need_poppler" = xyes && MAKE_SUBDIRS="poppler $MAKE_SUBDIRS"
+if test -x $srcdir/poppler/configure && test "x$with_system_poppler" != xyes && test "x$need_poppler" = xyes; then
   CONF_SUBDIRS="poppler $CONF_SUBDIRS"
+  MAKE_SUBDIRS="poppler $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/mpfr/configure; then
-  test "x$with_system_mpfr" != xyes && test "x$need_mpfr" = xyes && MAKE_SUBDIRS="mpfr $MAKE_SUBDIRS"
+if test -x $srcdir/mpfr/configure && test "x$with_system_mpfr" != xyes && test "x$need_mpfr" = xyes; then
   CONF_SUBDIRS="mpfr $CONF_SUBDIRS"
+  MAKE_SUBDIRS="mpfr $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/gmp/configure; then
-  test "x$with_system_gmp" != xyes && test "x$need_gmp" = xyes && MAKE_SUBDIRS="gmp $MAKE_SUBDIRS"
+if test -x $srcdir/gmp/configure && test "x$with_system_gmp" != xyes && test "x$need_gmp" = xyes; then
   CONF_SUBDIRS="gmp $CONF_SUBDIRS"
+  MAKE_SUBDIRS="gmp $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/cairo/configure; then
-  test "x$with_system_cairo" != xyes && test "x$need_cairo" = xyes && MAKE_SUBDIRS="cairo $MAKE_SUBDIRS"
+if test -x $srcdir/cairo/configure && test "x$with_system_cairo" != xyes && test "x$need_cairo" = xyes; then
   CONF_SUBDIRS="cairo $CONF_SUBDIRS"
+  MAKE_SUBDIRS="cairo $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/pixman/configure; then
-  test "x$with_system_pixman" != xyes && test "x$need_pixman" = xyes && MAKE_SUBDIRS="pixman $MAKE_SUBDIRS"
+if test -x $srcdir/pixman/configure && test "x$with_system_pixman" != xyes && test "x$need_pixman" = xyes; then
   CONF_SUBDIRS="pixman $CONF_SUBDIRS"
+  MAKE_SUBDIRS="pixman $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/potrace/configure; then
-  test "x$with_system_potrace" != xyes && test "x$need_potrace" = xyes && MAKE_SUBDIRS="potrace $MAKE_SUBDIRS"
+if test -x $srcdir/potrace/configure && test "x$with_system_potrace" != xyes && test "x$need_potrace" = xyes; then
   CONF_SUBDIRS="potrace $CONF_SUBDIRS"
+  MAKE_SUBDIRS="potrace $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/gd/configure; then
-  test "x$with_system_gd" != xyes && test "x$need_gd" = xyes && MAKE_SUBDIRS="gd $MAKE_SUBDIRS"
+if test -x $srcdir/gd/configure && test "x$with_system_gd" != xyes && test "x$need_gd" = xyes; then
   CONF_SUBDIRS="gd $CONF_SUBDIRS"
+  MAKE_SUBDIRS="gd $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/freetype2/configure; then
-  test "x$with_system_freetype2" != xyes && test "x$need_freetype2" = xyes && MAKE_SUBDIRS="freetype2 $MAKE_SUBDIRS"
+if test -x $srcdir/freetype2/configure && test "x$with_system_freetype2" != xyes && test "x$need_freetype2" = xyes; then
   CONF_SUBDIRS="freetype2 $CONF_SUBDIRS"
+  MAKE_SUBDIRS="freetype2 $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/libpng/configure; then
-  test "x$with_system_libpng" != xyes && test "x$need_libpng" = xyes && MAKE_SUBDIRS="libpng $MAKE_SUBDIRS"
+if test -x $srcdir/libpng/configure && test "x$with_system_libpng" != xyes && test "x$need_libpng" = xyes; then
   CONF_SUBDIRS="libpng $CONF_SUBDIRS"
+  MAKE_SUBDIRS="libpng $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/libpaper/configure; then
-  test "x$with_system_libpaper" != xyes && test "x$need_libpaper" = xyes && MAKE_SUBDIRS="libpaper $MAKE_SUBDIRS"
+if test -x $srcdir/libpaper/configure && test "x$with_system_libpaper" != xyes && test "x$need_libpaper" = xyes; then
   CONF_SUBDIRS="libpaper $CONF_SUBDIRS"
+  MAKE_SUBDIRS="libpaper $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/luajit/configure; then
-  test "x$with_system_luajit" != xyes && test "x$need_luajit" = xyes && MAKE_SUBDIRS="luajit $MAKE_SUBDIRS"
+if test -x $srcdir/luajit/configure && test "x$with_system_luajit" != xyes && test "x$need_luajit" = xyes; then
   CONF_SUBDIRS="luajit $CONF_SUBDIRS"
+  MAKE_SUBDIRS="luajit $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/lua52/configure; then
-  test "x$with_system_lua52" != xyes && test "x$need_lua52" = xyes && MAKE_SUBDIRS="lua52 $MAKE_SUBDIRS"
+if test -x $srcdir/lua52/configure && test "x$with_system_lua52" != xyes && test "x$need_lua52" = xyes; then
   CONF_SUBDIRS="lua52 $CONF_SUBDIRS"
+  MAKE_SUBDIRS="lua52 $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/zlib/configure; then
-  test "x$with_system_zlib" != xyes && test "x$need_zlib" = xyes && MAKE_SUBDIRS="zlib $MAKE_SUBDIRS"
+if test -x $srcdir/zlib/configure && test "x$with_system_zlib" != xyes && test "x$need_zlib" = xyes; then
   CONF_SUBDIRS="zlib $CONF_SUBDIRS"
+  MAKE_SUBDIRS="zlib $MAKE_SUBDIRS"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$with_system_[]Kpse_pkg" != xyes && test "x$need_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_SUBDIRS" >&5
 $as_echo "$MAKE_SUBDIRS" >&6; }
@@ -7241,7 +7049,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by TeX Live libs $as_me 2017/dev, which was
+This file was extended by TeX Live libs $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7298,7 +7106,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-TeX Live libs config.status 2017/dev
+TeX Live libs config.status 2017
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: branches/stable/source/src/libs/libpng/ChangeLog
===================================================================
--- branches/stable/source/src/libs/libpng/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,3 +1,13 @@
+2017-03-27  Karl Berry  <karl at freefriends.org>
+
+	* Makefile.am (AM_TESTS_ENVIRONMENT): use instead of TESTS_ENVIRONMENT.
+	(EXTRA_DIST): TLpatches not Tlpatches.
+
+2017-03-16 Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Import libpng-1.6.29.
+	* version.ac: Adjust.
+
 2017-01-05 Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Import libpng-1.6.28.

Modified: branches/stable/source/src/libs/libpng/Makefile.am
===================================================================
--- branches/stable/source/src/libs/libpng/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,19 +1,18 @@
+## $Id: Makefile.am 43617 2017-03-27 18:00:45Z karl $
 ## Proxy Makefile.am to build libpng for TeX Live.
 ##
-##   Copyright (C) 2016 Karl Berry <tex-live at tug.org>
-##   Copyright (C) 2009-2015 Peter Breitenlohner <tex-live at tug.org>
+##   Copyright 2016-2017 Karl Berry <tex-live at tug.org>
+##   Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
 ##
 ##   This file is free software; the copyright holder
 ##   gives unlimited permission to copy and/or distribute it,
 ##   with or without modifications, as long as this notice is preserved.
-##
+
 ## We want to re-distribute the whole libpng source tree.
-##
 EXTRA_DIST = $(LIBPNG_TREE)
 
 ## Changes applied to the original source tree
-##
-EXTRA_DIST += libpng-PATCHES
+EXTRA_DIST += TLpatches
 
 # Files not to be distributed
 include $(srcdir)/../../am/dist_hook.am
@@ -47,8 +46,7 @@
 $(libpng_a_OBJECTS): config.force
 
 ## Tests
-##
-TESTS_ENVIRONMENT = LIBPNG_TREE=$(LIBPNG_TREE)
+AM_TESTS_ENVIRONMENT = LIBPNG_TREE=$(LIBPNG_TREE); export LIBPNG_TREE;
 if build
 TESTS = libpng.test
 check_PROGRAMS = pngtest
@@ -75,4 +73,3 @@
 rebuild_target = all
 
 include $(srcdir)/../../am/rebuild.am
-

Modified: branches/stable/source/src/libs/libpng/Makefile.in
===================================================================
--- branches/stable/source/src/libs/libpng/Makefile.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/Makefile.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -562,7 +562,7 @@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = $(LIBPNG_TREE) libpng-PATCHES
+EXTRA_DIST = $(LIBPNG_TREE) TLpatches
 NEVER_DIST = `find . $(NEVER_NAMES)`
 
 # Files not to be distributed
@@ -592,7 +592,7 @@
 	@LIBPNG_TREE@/pngerror.c \
 	@LIBPNG_TREE@/pngpread.c
 
-TESTS_ENVIRONMENT = LIBPNG_TREE=$(LIBPNG_TREE)
+AM_TESTS_ENVIRONMENT = LIBPNG_TREE=$(LIBPNG_TREE); export LIBPNG_TREE;
 @build_TRUE at TESTS = libpng.test
 @build_TRUE at dist_check_SCRIPTS = libpng.test
 CLEANFILES = pngout.png rebuild.stamp

Modified: branches/stable/source/src/libs/libpng/README
===================================================================
--- branches/stable/source/src/libs/libpng/README	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/README	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-	Building libpng-1.6.28 as part of the TL tree
+	Building libpng-1.6.29 as part of the TL tree
 	=============================================
 
 This directory libs/libpng/ uses a proxy Makefile.am to build the libpng library
@@ -14,4 +14,4 @@
 =============================
 
 2009-07-23	Peter Breitenlohner <peb at mppmu.mpg.de>
-2017-01-05	Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+2017-03-16	Akira Kakuto <kakuto at fuk.kindai.ac.jp>

Modified: branches/stable/source/src/libs/libpng/TLpatches/ChangeLog
===================================================================
--- branches/stable/source/src/libs/libpng/TLpatches/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/TLpatches/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,3 +1,7 @@
+2017-03-16  Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+	Import libpng-1.6.29.
+
 2017-01-05  Akira Kakuto <kakuto at fuk.kindai.ac.jp>
 
 	Import libpng-1.6.28.

Modified: branches/stable/source/src/libs/libpng/TLpatches/TL-Changes
===================================================================
--- branches/stable/source/src/libs/libpng/TLpatches/TL-Changes	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/TLpatches/TL-Changes	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
-Changes applied to the libpng-1.6.28/ tree as obtained from:
-	http://www.libpng.org/ libpng-1.6.28.tar.xz
+Changes applied to the libpng-1.6.29/ tree as obtained from:
+	http://www.libpng.org/ libpng-1.6.29.tar.xz
 
 Copied:
 	scripts/pnglibconf.h.prebuilt -> pnglibconf.h

Modified: branches/stable/source/src/libs/libpng/configure
===================================================================
--- branches/stable/source/src/libs/libpng/configure	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/configure	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libpng (TeX Live) 1.6.28.
+# Generated by GNU Autoconf 2.69 for libpng (TeX Live) 1.6.29.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng (TeX Live)'
 PACKAGE_TARNAME='libpng--tex-live-'
-PACKAGE_VERSION='1.6.28'
-PACKAGE_STRING='libpng (TeX Live) 1.6.28'
+PACKAGE_VERSION='1.6.29'
+PACKAGE_STRING='libpng (TeX Live) 1.6.29'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1287,7 +1287,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libpng (TeX Live) 1.6.28 to adapt to many kinds of systems.
+\`configure' configures libpng (TeX Live) 1.6.29 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1354,7 +1354,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng (TeX Live) 1.6.28:";;
+     short | recursive ) echo "Configuration of libpng (TeX Live) 1.6.29:";;
    esac
   cat <<\_ACEOF
 
@@ -1459,7 +1459,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng (TeX Live) configure 1.6.28
+libpng (TeX Live) configure 1.6.29
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1882,7 +1882,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libpng (TeX Live) $as_me 1.6.28, which was
+It was created by libpng (TeX Live) $as_me 1.6.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3805,7 +3805,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng--tex-live-'
- VERSION='1.6.28'
+ VERSION='1.6.29'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6358,7 +6358,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libpng (TeX Live) $as_me 1.6.28, which was
+This file was extended by libpng (TeX Live) $as_me 1.6.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6424,7 +6424,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libpng (TeX Live) config.status 1.6.28
+libpng (TeX Live) config.status 1.6.29
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: branches/stable/source/src/libs/libpng/libpng-src/ANNOUNCE
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/ANNOUNCE	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/ANNOUNCE	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-Libpng 1.6.28 - January 5, 2017
+Libpng 1.6.29 - March 16, 2017
 
 This is a public release of libpng, intended for use in production codes.
 
@@ -7,29 +7,38 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   libpng-1.6.28.tar.xz (LZMA-compressed, recommended)
-   libpng-1.6.28.tar.gz
+   libpng-1.6.29.tar.xz (LZMA-compressed, recommended)
+   libpng-1.6.29.tar.gz
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lpng1628.7z  (LZMA-compressed, recommended)
-   lpng1628.zip
+   lpng1629.7z  (LZMA-compressed, recommended)
+   lpng1629.zip
 
 Other information:
 
-   libpng-1.6.28-README.txt
-   libpng-1.6.28-LICENSE.txt
-   libpng-1.6.28-*.asc (armored detached GPG signatures)
+   libpng-1.6.29-README.txt
+   libpng-1.6.29-LICENSE.txt
+   libpng-1.6.29-*.asc (armored detached GPG signatures)
 
-Changes since the last public release (1.6.27):
-  Fixed arm/aarch64 detection in CMakeLists.txt (Gianfranco Costamagna).
-  Added option to Cmake build allowing a custom location of zlib to be
-    specified in a scenario where libpng is being built as a subproject
-    alongside zlib by another project (Sam Serrels).
-  Changed png_ptr->options from a png_byte to png_uint_32, to accomodate
-    up to 16 options.
+Changes since the last public release (1.6.28):
 
+  Readded "include(GNUInstallDirs)" to CMakeLists.txt (Gianfranco Costamagna).
+  Moved SSE2 optimization code into the main libpng source directory.
+    Configure libpng with "configure --enable-intel-sse" or compile
+    libpng with "-DPNG_INTEL_SSE" in CPPFLAGS to enable it.
+  Simplified conditional compilation in pngvalid.c, for AIX (Michael Felt).
+  Avoid conditional directives that break statements in pngrutil.c (Romero
+    Malaquias)
+  The contrib/examples/pngtopng.c recovery code was in the wrong "if"
+    branches; the comments were correct.
+  Added code for PowerPC VSX optimisation (Vadim Barkov).
+  Avoid potential overflow of shift operations in png_do_expand() (Aaron Boxer).
+  Change test ZLIB_VERNUM >= 0x1281 to ZLIB_VERNUM >= 0x1290 in pngrutil.c
+    because Solaris 11 distributes zlib-1.2.8.f that is older than 1.2.8.1.
+  Suppress clang warnings about implicit sign changes in png.c
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement

Modified: branches/stable/source/src/libs/libpng/libpng-src/CHANGES
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/CHANGES	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/CHANGES	2017-11-01 17:53:02 UTC (rev 778)
@@ -5794,6 +5794,29 @@
 Version 1.6.28 [January 5, 2017]
   No changes.
 
+Version 1.6.29beta01 [January 12, 2017]
+  Readded "include(GNUInstallDirs)" to CMakeLists.txt (Gianfranco Costamagna).
+  Moved SSE2 optimization code into the main libpng source directory.
+    Configure libpng with "configure --enable-intel-sse" or compile
+    libpng with "-DPNG_INTEL_SSE" in CPPFLAGS to enable it.
+  Simplified conditional compilation in pngvalid.c, for AIX (Michael Felt).
+
+Version 1.6.29beta02 [February 22, 2017]
+  Avoid conditional directives that break statements in pngrutil.c (Romero
+    Malaquias)
+  The contrib/examples/pngtopng.c recovery code was in the wrong "if"
+    branches; the comments were correct.
+  Added code for PowerPC VSX optimisation (Vadim Barkov).
+
+Version 1.6.29beta03 [March 1, 2017]
+  Avoid potential overflow of shift operations in png_do_expand() (Aaron Boxer).
+  Change test ZLIB_VERNUM >= 0x1281 to ZLIB_VERNUM >= 0x1290 in pngrutil.c
+    because Solaris 11 distributes zlib-1.2.8.f that is older than 1.2.8.1.
+  Suppress clang warnings about implicit sign changes in png.c
+
+Version 1.6.29 [March 16, 2017]
+  No changes.
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement

Modified: branches/stable/source/src/libs/libpng/libpng-src/CMakeLists.txt
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/CMakeLists.txt	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/CMakeLists.txt	2017-11-01 17:53:02 UTC (rev 778)
@@ -36,13 +36,15 @@
 
 set(PNGLIB_MAJOR 1)
 set(PNGLIB_MINOR 6)
-set(PNGLIB_RELEASE 28)
+set(PNGLIB_RELEASE 29)
 set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
 set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
 
+include(GNUInstallDirs)
+
 # needed packages
 
-#Allow users to specify location of Zlib, 
+#Allow users to specify location of Zlib,
 # Useful if zlib is being built alongside this as a sub-project
 option(PNG_BUILD_ZLIB "Custom zlib Location, else find_package is used" OFF)
 
@@ -96,7 +98,7 @@
       arm/arm_init.c
       arm/filter_neon.S
       arm/filter_neon_intrinsics.c)
-      
+
     if(${PNG_ARM_NEON} STREQUAL "on")
       add_definitions(-DPNG_ARM_NEON_OPT=2)
     elseif(${PNG_ARM_NEON} STREQUAL "check")
@@ -107,6 +109,38 @@
   endif()
 endif()
 
+# set definitions and sources for powerpc
+if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^powerpc*" OR
+	${CMAKE_SYSTEM_PROCESSOR} MATCHES "^ppc64*" )
+  set(PNG_POWERPC_VSX_POSSIBLE_VALUES check on off)
+  set(PNG_POWERPC_VSX "check" CACHE STRING "Enable POWERPC VSX optimizations:
+     check: (default) use internal checking code;
+     off: disable the optimizations;
+     on: turn on unconditionally.")
+  set_property(CACHE PNG_POWERPC_VSX PROPERTY STRINGS
+     ${PNG_POWERPC_VSX_POSSIBLE_VALUES})
+  list(FIND PNG_POWERPC_VSX_POSSIBLE_VALUES ${PNG_POWERPC_VSX} index)
+  if(index EQUAL -1)
+    message(FATAL_ERROR
+      " PNG_POWERPC_VSX must be one of [${PNG_POWERPC_VSX_POSSIBLE_VALUES}]")
+  elseif(NOT ${PNG_POWERPC_VSX} STREQUAL "no")
+    set(libpng_powerpc_sources
+      powerpc/powerpc_init.c
+      powerpc/filter_vsx_intrinsics.c)
+
+    if(${PNG_POWERPC_VSX} STREQUAL "on")
+      add_definitions(-DPNG_POWERPC_VSX_OPT=2)
+    elseif(${PNG_POWERPC_VSX} STREQUAL "check")
+      add_definitions(-DPNG_POWERPC_VSX_CHECK_SUPPORTED)
+      message(WARNING
+      "[PNG_POWERPC_VSX==check] Please check contrib/powerpc/README file for the list of supported OSes.")
+    endif()
+  else()
+    add_definitions(-DPNG_POWERPC_VSX_OPT=0)
+  endif()
+endif()
+
+
 # SET LIBNAME
 set(PNG_LIB_NAME png${PNGLIB_MAJOR}${PNGLIB_MINOR})
 
@@ -398,6 +432,7 @@
   pngwtran.c
   pngwutil.c
   ${libpng_arm_sources}
+  ${libpng_powerpc_sources}
 )
 set(pngtest_sources
   pngtest.c
@@ -735,7 +770,7 @@
 # SET UP LINKS
 if(PNG_SHARED)
   set_target_properties(png PROPERTIES
-#   VERSION 16.${PNGLIB_RELEASE}.1.6.28
+#   VERSION 16.${PNGLIB_RELEASE}.1.6.29
     VERSION 16.${PNGLIB_RELEASE}.0
     SOVERSION 16
     CLEAN_DIRECT_OUTPUT 1)
@@ -840,4 +875,3 @@
 # to create msvc import lib for mingw compiled shared lib
 # pexports libpng.dll > libpng.def
 # lib /def:libpng.def /machine:x86
-

Modified: branches/stable/source/src/libs/libpng/libpng-src/LICENSE
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/LICENSE	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/LICENSE	2017-11-01 17:53:02 UTC (rev 778)
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000 through 1.6.28, January 5, 2017 are
+libpng versions 1.0.7, July 1, 2000 through 1.6.29, March 16, 2017 are
 Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
 derived from libpng-1.0.6, and are distributed according to the same
 disclaimer and license as libpng-1.0.6 with the following individuals
@@ -23,6 +23,8 @@
    Gilles Vollant
    James Yu
    Mandar Sahastrabuddhe
+   Google Inc.
+   Vadim Barkov
 
 and with the following additions to the disclaimer:
 
@@ -128,4 +130,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-January 5, 2017
+March 16, 2017

Modified: branches/stable/source/src/libs/libpng/libpng-src/Makefile.am
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -102,6 +102,16 @@
 	mips/filter_msa_intrinsics.c
 endif
 
+if PNG_INTEL_SSE
+libpng at PNGLIB_MAJOR@@PNGLIB_MINOR at _la_SOURCES += intel/intel_init.c\
+	intel/filter_sse2_intrinsics.c
+endif
+
+if PNG_POWERPC_VSX
+libpng at PNGLIB_MAJOR@@PNGLIB_MINOR at _la_SOURCES += powerpc/powerpc_init.c\
+        powerpc/filter_vsx_intrinsics.c
+endif
+
 nodist_libpng at PNGLIB_MAJOR@@PNGLIB_MINOR at _la_SOURCES = pnglibconf.h
 
 libpng at PNGLIB_MAJOR@@PNGLIB_MINOR at _la_LDFLAGS = -no-undefined -export-dynamic \

Modified: branches/stable/source/src/libs/libpng/libpng-src/README
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/README	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/README	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-README for libpng version 1.6.28 - January 5, 2017 (shared library 16.0)
+README for libpng version 1.6.29 - March 16, 2017 (shared library 16.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -179,14 +179,16 @@
       pngwtran.c    =>  Write data transformations
       pngwutil.c    =>  Write utility functions
       arm           =>  Contains optimized code for the ARM platform
+      powerpc       =>  Contains optimized code for the PowerPC platform
       contrib       =>  Contributions
        arm-neon         =>  Optimized code for ARM-NEON platform
+       powerpc-vsx      =>  Optimized code for POWERPC-VSX platform
        examples         =>  Example programs
        gregbook         =>  source code for PNG reading and writing, from
                             Greg Roelofs' "PNG: The Definitive Guide",
                             O'Reilly, 1999
-       intel            =>  Optimized code for INTEL-SSE2 platform
        libtests         =>  Test programs
+       mips-msa         =>  Optimized code for MIPS-MSA platform
        pngminim         =>  Minimal decoder, encoder, and progressive decoder
                             programs demonstrating use of pngusr.dfa
        pngminus         =>  Simple pnm2png and png2pnm programs
@@ -194,6 +196,8 @@
        testpngs
        tools            =>  Various tools
        visupng          =>  Contains a MSVC workspace for VisualPng
+      intel             =>  Optimized code for INTEL-SSE2 platform
+      mips              =>  Optimized code for MIPS platform
       projects      =>  Contains project files and workspaces for
                         building a DLL
        owatcom          =>  Contains a WATCOM project for building libpng

Modified: branches/stable/source/src/libs/libpng/libpng-src/TODO
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/TODO	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/TODO	2017-11-01 17:53:02 UTC (rev 778)
@@ -25,5 +25,6 @@
 Investigate pre-incremented loop counters and other loop constructions.
 Add interpolated method of handling interlacing.
 Extend pngvalid.c to validate more of the libpng transformations.
+Refactor preprocessor conditionals to compile entire statements
 
 */

Modified: branches/stable/source/src/libs/libpng/libpng-src/config.h.in
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/config.h.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/config.h.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -78,6 +78,9 @@
 /* Enable ARM Neon optimizations */
 #undef PNG_ARM_NEON_OPT
 
+/* Enable Intel SSE optimizations */
+#undef PNG_INTEL_SSE_OPT
+
 /* Turn on MIPS MSA optimizations at run-time */
 #undef PNG_MIPS_MSA_API_SUPPORTED
 
@@ -87,6 +90,15 @@
 /* Enable MIPS MSA optimizations */
 #undef PNG_MIPS_MSA_OPT
 
+/* Turn on POWERPC VSX optimizations at run-time */
+#undef PNG_POWERPC_VSX_API_SUPPORTED
+
+/* Check for POWERPC VSX support at run-time */
+#undef PNG_POWERPC_VSX_CHECK_SUPPORTED
+
+/* Enable POWERPC VSX optimizations */
+#undef PNG_POWERPC_VSX_OPT
+
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 

Modified: branches/stable/source/src/libs/libpng/libpng-src/configure.ac
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/configure.ac	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/configure.ac	2017-11-01 17:53:02 UTC (rev 778)
@@ -25,7 +25,7 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng],[1.6.28],[png-mng-implement at lists.sourceforge.net])
+AC_INIT([libpng],[1.6.29],[png-mng-implement at lists.sourceforge.net])
 AC_CONFIG_MACRO_DIR([scripts])
 
 # libpng does not follow GNU file name conventions (hence 'foreign')
@@ -46,7 +46,7 @@
 dnl AM_PREREQ([1.11.2])
 dnl stop configure from automagically running automake
 
-PNGLIB_VERSION=1.6.28
+PNGLIB_VERSION=1.6.29
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=6
 PNGLIB_RELEASE=28
@@ -391,6 +391,89 @@
       mipsel*|mips64el*) :;;
     esac])
 
+# INTEL
+# =====
+#
+# INTEL SSE (SIMD) support.
+
+AC_ARG_ENABLE([intel-sse],
+   AS_HELP_STRING([[[--enable-intel-sse]]],
+      [Enable Intel SSE optimizations: =no/off, yes/on:]
+      [no/off: disable the optimizations;]
+      [yes/on: enable the optimizations.]
+      [If not specified: determined by the compiler.]),
+   [case "$enableval" in
+      no|off)
+         # disable the default enabling:
+         AC_DEFINE([PNG_INTEL_SSE_OPT], [0],
+                   [Disable Intel SSE optimizations])
+         # Prevent inclusion of the assembler files below:
+         enable_intel_sse=no;;
+      yes|on)
+         AC_DEFINE([PNG_INTEL_SSE_OPT], [1],
+                   [Enable Intel SSE optimizations]);;
+      *)
+         AC_MSG_ERROR([--enable-intel-sse=${enable_intel_sse}: invalid value])
+   esac])
+
+# Add Intel specific files to all builds where the host_cpu is Intel ('x86*')
+# or where Intel optimizations were explicitly requested (this allows a
+# fallback if a future host CPU does not match 'x86*')
+AM_CONDITIONAL([PNG_INTEL_SSE],
+   [test "$enable_intel_sse" != 'no' &&
+    case "$host_cpu" in
+      i?86|x86_64) :;;
+      *)    test "$enable_intel_sse" != '';;
+    esac])
+
+# PowerPC
+# ===
+#
+# PowerPC VSX (SIMD) support.
+
+AC_ARG_ENABLE([powerpc-vsx],
+AS_HELP_STRING([[[--enable-powerpc-vsx]]],
+      [Enable POWERPC VSX optimizations: =no/off, check, api, yes/on:]
+      [no/off: disable the optimizations; check: use internal checking code]
+      [api: disable by default, enable by a call to png_set_option]
+      [yes/on: turn on unconditionally.]
+      [If not specified: determined by the compiler.]),
+   [case "$enableval" in
+      no|off)
+         # disable the default enabling on __ppc64__ systems:
+         AC_DEFINE([PNG_POWERPC_VSX_OPT], [0],
+                   [Disable POWERPC VSX optimizations])
+         # Prevent inclusion of the platform specific files below:
+         enable_powerpc_vsx=no;;
+      check)
+         AC_DEFINE([PNG_POWERPC_VSX_CHECK_SUPPORTED], [],
+                   [Check for POWERPC VSX support at run-time])
+         AC_MSG_WARN([--enable-powerpc-vsx Please check contrib/powerpc/README file]
+            [for the list of supported OSes.]);;
+      api)
+         AC_DEFINE([PNG_POWERPC_VSX_API_SUPPORTED], [],
+                   [Turn on POWERPC VSX optimizations at run-time]);;
+      yes|on)
+         AC_DEFINE([PNG_POWERPC_VSX_OPT], [2],
+                   [Enable POWERPC VSX optimizations])
+         AC_MSG_WARN([--enable-powerpc-vsx: please specify 'check' or 'api', if]
+            [you want the optimizations unconditionally pass '-maltivec -mvsx']
+            [or '-mcpu=power8'to the compiler.]);;
+      *)
+         AC_MSG_ERROR([--enable-powerpc-vsx=${enable_powerpc_vsx}: invalid value])
+   esac])
+
+# Add PowerPC specific files to all builds where the host_cpu is powerpc('powerpc*') or
+# where POWERPC optimizations were explicitly requested (this allows a fallback if a
+# future host CPU does not match 'powerpc*')
+
+AM_CONDITIONAL([PNG_POWERPC_VSX],
+   [test "$enable_powerpc_vsx" != 'no' &&
+    case "$host_cpu" in
+      powerpc*|ppc64*) :;;
+    esac])
+
+
 AC_MSG_NOTICE([[Extra options for compiler: $PNG_COPTS]])
 
 # Config files, substituting as above

Modified: branches/stable/source/src/libs/libpng/libpng-src/contrib/examples/pngtopng.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/contrib/examples/pngtopng.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/contrib/examples/pngtopng.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,10 +1,12 @@
 /*- pngtopng
  *
- * COPYRIGHT: Written by John Cunningham Bowler, 2011.
+ * COPYRIGHT: Written by John Cunningham Bowler, 2011, 2017.
  * To the extent possible under law, the author has waived all copyright and
  * related or neighboring rights to this work.  This work is published from:
  * United States.
  *
+ * Last changed in libpng 1.6.29 [%RDATE%]
+ *
  * Read a PNG and write it out in a fixed format, using the 'simplified API'
  * that was introduced in libpng-1.6.0.
  *
@@ -59,26 +61,27 @@
                else
                   fprintf(stderr, "pngtopng: write %s: %s\n", argv[2],
                       image.message);
-
-               free(buffer);
             }
 
             else
-            {
                fprintf(stderr, "pngtopng: read %s: %s\n", argv[1],
                    image.message);
 
-               /* This is the only place where a 'free' is required; libpng does
-                * the cleanup on error and success, but in this case we couldn't
-                * complete the read because of running out of memory.
-                */
-               png_image_free(&image);
-            }
+            free(buffer);
          }
 
          else
+         {
             fprintf(stderr, "pngtopng: out of memory: %lu bytes\n",
                (unsigned long)PNG_IMAGE_SIZE(image));
+
+            /* This is the only place where a 'free' is required; libpng does
+             * the cleanup on error and success, but in this case we couldn't
+             * complete the read because of running out of memory and so libpng
+             * has not got to the point where it can do cleanup.
+             */
+            png_image_free(&image);
+         }
       }
 
       else

Modified: branches/stable/source/src/libs/libpng/libpng-src/contrib/libtests/pngvalid.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/contrib/libtests/pngvalid.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/contrib/libtests/pngvalid.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,8 @@
 
 /* pngvalid.c - validate libpng by constructing then reading png files.
  *
- * Last changed in libpng 1.6.27 [December 29, 2016]
- * Copyright (c) 2014-2016 John Cunningham Bowler
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ * Copyright (c) 2014-2017 John Cunningham Bowler
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
@@ -7742,13 +7742,11 @@
           * NOTE: this number only affects the internal limit check in pngvalid,
           * it has no effect on the limits applied to the libpng values.
           */
-         that->pm->limit += pow(
-#        if DIGITIZE
-            2.0
-#        else
-            1.0
-#        endif
-            /255, data.gamma);
+#if DIGITIZE
+          that->pm->limit += pow( 2.0/255, data.gamma);
+#else
+          that->pm->limit += pow( 1.0/255, data.gamma);
+#endif
       }
    }
 

Added: branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/README
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/README	                        (rev 0)
+++ branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/README	2017-11-01 17:53:02 UTC (rev 778)
@@ -0,0 +1,81 @@
+OPERATING SYSTEM SPECIFIC POWERPC DETECTION
+--------------------------------------------
+
+Detection of the ability to execute POWERPC on processor requires
+operating system support.  (The information is not available in user mode.)
+
+Currently only this feature is supported only for linux platform.
+
+HOW TO USE THIS
+---------------
+
+This directory contains C code fragments that can be included in powerpc/powerpc_init.c
+by setting the macro PNG_POWERPC_VSX_FILE to the file name in "" or <> at build
+time.  This setting is not recorded in pnglibconf.h and can be changed simply by
+rebuilding arm/arm_init.o with the required macro definition.
+
+For any of this code to be used the POWERPC code must be enabled and run time
+checks must be supported.  I.e.:
+
+#if PNG_POWERPC_VSX_OPT > 0
+#ifdef PNG_POWERPC_VSX_CHECK_SUPPORTED
+
+This is done in a 'configure' build by passing configure the argument:
+
+   --enable-powerpc-vsx=check
+
+FILE FORMAT
+-----------
+
+Each file documents its testing status as of the last time it was tested (which
+may have been a long time ago):
+
+STATUS: one of:
+   SUPPORTED: This indicates that the file is included in the regularly
+         performed test builds and bugs are fixed when discovered.
+   COMPILED: This indicates that the code did compile at least once.  See the
+         more detailed description for the extent to which the result was
+         successful.
+   TESTED: This means the code was fully compiled into the libpng test programs
+         and these were run at least once.
+
+BUG REPORTS: an email address to which to send reports of problems
+
+The file is a fragment of C code. It should not define any 'extern' symbols;
+everything should be static.  It must define the function:
+
+static int png_have_vsx(png_structp png_ptr);
+
+That function must return 1 if ARM NEON instructions are supported, 0 if not.
+It must not execute png_error unless it detects a bug.  A png_error will prevent
+the reading of the PNG and in the future, writing too.
+
+BUG REPORTS
+-----------
+
+If you mail a bug report for any file that is not SUPPORTED there may only be
+limited response.  Consider fixing it and sending a patch to fix the problem -
+this is more likely to result in action.
+
+CONTRIBUTIONS
+-------------
+
+You may send contributions of new implementations to
+png-mng-implement at sourceforge.net.  Please write code in strict C90 C where
+possible.  Obviously OS dependencies are to be expected.  If you submit code you
+must have the authors permission and it must have a license that is acceptable
+to the current maintainer; in particular that license must permit modification
+and redistribution.
+
+Please try to make the contribution a single file and give the file a clear and
+unambiguous name that identifies the target OS.  If multiple files really are
+required put them all in a sub-directory.
+
+You must also be prepared to handle bug reports from users of the code, either
+by joining the png-mng-implement mailing list or by providing an email for the
+"BUG REPORTS" entry or both.  Please make sure that the header of the file
+contains the STATUS and BUG REPORTS fields as above.
+
+Please list the OS requirements as precisely as possible.  Ideally you should
+also list the environment in which the code has been tested and certainly list
+any environments where you suspect it might not work.


Property changes on: branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux.c	                        (rev 0)
+++ branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -0,0 +1,57 @@
+/* contrib/powerpc-vsx/linux.c
+ *
+ * Copyright (c) 2017 Glenn Randers-Pehrson
+ * Written by Vadim Barkov, 2017.
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ *
+ * This code is released under the libpng license.
+ * For conditions of distribution and use, see the disclaimer
+ * and license in png.h
+ *
+ * STATUS: TESTED
+ * BUG REPORTS: png-mng-implement at sourceforge.net
+ *
+ * png_have_vsx implemented for Linux by reading the widely available
+ * pseudo-file /proc/cpuinfo. 
+ *
+ * This code is strict ANSI-C and is probably moderately portable; it does
+ * however use <stdio.h> and it assumes that /proc/cpuinfo is never localized.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "png.h"
+
+#ifndef MAXLINE
+#  define MAXLINE 1024
+#endif
+
+static int
+png_have_vsx(png_structp png_ptr)
+{
+   FILE *f;
+
+   const char *string = "altivec supported";
+   char input[MAXLINE];
+   char *token = NULL;
+
+   PNG_UNUSED(png_ptr)
+
+   f = fopen("/proc/cpuinfo", "r");
+   if (f != NULL)
+   {
+      memset(input,0,MAXLINE);
+      while(fgets(input,MAXLINE,f) != NULL)
+      {
+         token = strstr(input,string);
+         if(token != NULL)
+            return 1;
+      }
+   }
+#ifdef PNG_WARNINGS_SUPPORTED
+   else
+      png_warning(png_ptr, "/proc/cpuinfo open failed");
+#endif
+   return 0;
+}


Property changes on: branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux_aux.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux_aux.c	                        (rev 0)
+++ branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux_aux.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -0,0 +1,36 @@
+/* contrib/powerpc-vsx/linux_aux.c
+ *
+ * Copyright (c) 2017 Glenn Randers-Pehrson
+ * Written by Vadim Barkov, 2017.
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ *
+ * This code is released under the libpng license.
+ * For conditions of distribution and use, see the disclaimer
+ * and license in png.h
+ *
+ * STATUS: TESTED
+ * BUG REPORTS: png-mng-implement at sourceforge.net
+ *
+ * png_have_vsx implemented for Linux by using the auxiliary vector mechanism.
+ *
+ * This code is strict ANSI-C and is probably moderately portable; it does
+ * however use <stdio.h> and it assumes that /proc/cpuinfo is never localized.
+ */
+
+#include "sys/auxv.h"
+#include "png.h"
+
+static int
+png_have_vsx(png_structp png_ptr)
+{
+
+   const unsigned long auxv = getauxval( AT_HWCAP );
+
+   PNG_UNUSED(png_ptr)
+
+   if(auxv & (PPC_FEATURE_HAS_ALTIVEC|PPC_FEATURE_HAS_VSX ))
+      return 1;
+   else
+      return 0;
+}
+


Property changes on: branches/stable/source/src/libs/libpng/libpng-src/contrib/powerpc-vsx/linux_aux.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c	                        (rev 0)
+++ branches/stable/source/src/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -0,0 +1,378 @@
+
+/* filter_sse2_intrinsics.c - SSE2 optimized filter functions
+ *
+ * Copyright (c) 2016-2017 Glenn Randers-Pehrson
+ * Written by Mike Klein and Matt Sarett
+ * Derived from arm/filter_neon_intrinsics.c
+ *
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ *
+ * This code is released under the libpng license.
+ * For conditions of distribution and use, see the disclaimer
+ * and license in png.h
+ */
+
+#include "../pngpriv.h"
+
+#ifdef PNG_READ_SUPPORTED
+
+#if PNG_INTEL_SSE_IMPLEMENTATION > 0
+
+#include <immintrin.h>
+
+/* Functions in this file look at most 3 pixels (a,b,c) to predict the 4th (d).
+ * They're positioned like this:
+ *    prev:  c b
+ *    row:   a d
+ * The Sub filter predicts d=a, Avg d=(a+b)/2, and Paeth predicts d to be
+ * whichever of a, b, or c is closest to p=a+b-c.
+ */
+
+static __m128i load4(const void* p) {
+   return _mm_cvtsi32_si128(*(const int*)p);
+}
+
+static void store4(void* p, __m128i v) {
+   *(int*)p = _mm_cvtsi128_si32(v);
+}
+
+static __m128i load3(const void* p) {
+   /* We'll load 2 bytes, then 1 byte,
+    * then mask them together, and finally load into SSE.
+    */
+   const png_uint_16* p01 = p;
+   const png_byte*    p2  = (const png_byte*)(p01+1);
+
+   png_uint_32 v012 = (png_uint_32)(*p01)
+                    | (png_uint_32)(*p2) << 16;
+   return load4(&v012);
+}
+
+static void store3(void* p, __m128i v) {
+   /* We'll pull from SSE as a 32-bit int, then write
+    * its bottom two bytes, then its third byte.
+    */
+   png_uint_32 v012;
+   store4(&v012, v);
+
+   png_uint_16* p01 = p;
+   png_byte*    p2  = (png_byte*)(p01+1);
+   *p01 = v012;
+   *p2  = v012 >> 16;
+}
+
+void png_read_filter_row_sub3_sse2(png_row_infop row_info, png_bytep row,
+   png_const_bytep prev)
+{
+   /* The Sub filter predicts each pixel as the previous pixel, a.
+    * There is no pixel to the left of the first pixel.  It's encoded directly.
+    * That works with our main loop if we just say that left pixel was zero.
+    */
+   png_debug(1, "in png_read_filter_row_sub3_sse2");
+   __m128i a, d = _mm_setzero_si128();
+
+   int rb = row_info->rowbytes;
+   while (rb >= 4) {
+      a = d; d = load4(row);
+      d = _mm_add_epi8(d, a);
+      store3(row, d);
+
+      row += 3;
+      rb  -= 3;
+   }
+   if (rb > 0) {
+      a = d; d = load3(row);
+      d = _mm_add_epi8(d, a);
+      store3(row, d);
+
+      row += 3;
+      rb  -= 3;
+   }
+}
+
+void png_read_filter_row_sub4_sse2(png_row_infop row_info, png_bytep row,
+   png_const_bytep prev)
+{
+   /* The Sub filter predicts each pixel as the previous pixel, a.
+    * There is no pixel to the left of the first pixel.  It's encoded directly.
+    * That works with our main loop if we just say that left pixel was zero.
+    */
+   png_debug(1, "in png_read_filter_row_sub4_sse2");
+   __m128i a, d = _mm_setzero_si128();
+
+   int rb = row_info->rowbytes;
+   while (rb > 0) {
+      a = d; d = load4(row);
+      d = _mm_add_epi8(d, a);
+      store4(row, d);
+
+      row += 4;
+      rb  -= 4;
+   }
+}
+
+void png_read_filter_row_avg3_sse2(png_row_infop row_info, png_bytep row,
+   png_const_bytep prev)
+{
+   /* The Avg filter predicts each pixel as the (truncated) average of a and b.
+    * There's no pixel to the left of the first pixel.  Luckily, it's
+    * predicted to be half of the pixel above it.  So again, this works
+    * perfectly with our loop if we make sure a starts at zero.
+    */
+   png_debug(1, "in png_read_filter_row_avg3_sse2");
+   const __m128i zero = _mm_setzero_si128();
+   __m128i    b;
+   __m128i a, d = zero;
+
+   int rb = row_info->rowbytes;
+   while (rb >= 4) {
+             b = load4(prev);
+      a = d; d = load4(row );
+
+      /* PNG requires a truncating average, so we can't just use _mm_avg_epu8 */
+      __m128i avg = _mm_avg_epu8(a,b);
+      /* ...but we can fix it up by subtracting off 1 if it rounded up. */
+      avg = _mm_sub_epi8(avg, _mm_and_si128(_mm_xor_si128(a,b),
+                                            _mm_set1_epi8(1)));
+      d = _mm_add_epi8(d, avg);
+      store3(row, d);
+
+      prev += 3;
+      row  += 3;
+      rb   -= 3;
+   }
+   if (rb > 0) {
+             b = load3(prev);
+      a = d; d = load3(row );
+
+      /* PNG requires a truncating average, so we can't just use _mm_avg_epu8 */
+      __m128i avg = _mm_avg_epu8(a,b);
+      /* ...but we can fix it up by subtracting off 1 if it rounded up. */
+      avg = _mm_sub_epi8(avg, _mm_and_si128(_mm_xor_si128(a,b),
+                                            _mm_set1_epi8(1)));
+
+      d = _mm_add_epi8(d, avg);
+      store3(row, d);
+
+      prev += 3;
+      row  += 3;
+      rb   -= 3;
+   }
+}
+
+void png_read_filter_row_avg4_sse2(png_row_infop row_info, png_bytep row,
+   png_const_bytep prev)
+{
+   /* The Avg filter predicts each pixel as the (truncated) average of a and b.
+    * There's no pixel to the left of the first pixel.  Luckily, it's
+    * predicted to be half of the pixel above it.  So again, this works
+    * perfectly with our loop if we make sure a starts at zero.
+    */
+   png_debug(1, "in png_read_filter_row_avg4_sse2");
+   const __m128i zero = _mm_setzero_si128();
+   __m128i    b;
+   __m128i a, d = zero;
+
+   int rb = row_info->rowbytes;
+   while (rb > 0) {
+             b = load4(prev);
+      a = d; d = load4(row );
+
+      /* PNG requires a truncating average, so we can't just use _mm_avg_epu8 */
+      __m128i avg = _mm_avg_epu8(a,b);
+      /* ...but we can fix it up by subtracting off 1 if it rounded up. */
+      avg = _mm_sub_epi8(avg, _mm_and_si128(_mm_xor_si128(a,b),
+                                            _mm_set1_epi8(1)));
+
+      d = _mm_add_epi8(d, avg);
+      store4(row, d);
+
+      prev += 4;
+      row  += 4;
+      rb   -= 4;
+   }
+}
+
+/* Returns |x| for 16-bit lanes. */
+static __m128i abs_i16(__m128i x) {
+#if PNG_INTEL_SSE_IMPLEMENTATION >= 2
+   return _mm_abs_epi16(x);
+#else
+   /* Read this all as, return x<0 ? -x : x.
+   * To negate two's complement, you flip all the bits then add 1.
+    */
+   __m128i is_negative = _mm_cmplt_epi16(x, _mm_setzero_si128());
+
+   /* Flip negative lanes. */
+   x = _mm_xor_si128(x, is_negative);
+
+   /* +1 to negative lanes, else +0. */
+   x = _mm_sub_epi16(x, is_negative);
+   return x;
+#endif
+}
+
+/* Bytewise c ? t : e. */
+static __m128i if_then_else(__m128i c, __m128i t, __m128i e) {
+#if PNG_INTEL_SSE_IMPLEMENTATION >= 3
+   return _mm_blendv_epi8(e,t,c);
+#else
+   return _mm_or_si128(_mm_and_si128(c, t), _mm_andnot_si128(c, e));
+#endif
+}
+
+void png_read_filter_row_paeth3_sse2(png_row_infop row_info, png_bytep row,
+   png_const_bytep prev)
+{
+   /* Paeth tries to predict pixel d using the pixel to the left of it, a,
+    * and two pixels from the previous row, b and c:
+    *   prev: c b
+    *   row:  a d
+    * The Paeth function predicts d to be whichever of a, b, or c is nearest to
+    * p=a+b-c.
+    *
+    * The first pixel has no left context, and so uses an Up filter, p = b.
+    * This works naturally with our main loop's p = a+b-c if we force a and c
+    * to zero.
+    * Here we zero b and d, which become c and a respectively at the start of
+    * the loop.
+    */
+   png_debug(1, "in png_read_filter_row_paeth3_sse2");
+   const __m128i zero = _mm_setzero_si128();
+   __m128i c, b = zero,
+           a, d = zero;
+
+   int rb = row_info->rowbytes;
+   while (rb >= 4) {
+      /* It's easiest to do this math (particularly, deal with pc) with 16-bit
+       * intermediates.
+       */
+      c = b; b = _mm_unpacklo_epi8(load4(prev), zero);
+      a = d; d = _mm_unpacklo_epi8(load4(row ), zero);
+
+      /* (p-a) == (a+b-c - a) == (b-c) */
+      __m128i pa = _mm_sub_epi16(b,c);
+
+      /* (p-b) == (a+b-c - b) == (a-c) */
+      __m128i pb = _mm_sub_epi16(a,c);
+
+      /* (p-c) == (a+b-c - c) == (a+b-c-c) == (b-c)+(a-c) */
+      __m128i pc = _mm_add_epi16(pa,pb);
+
+      pa = abs_i16(pa);  /* |p-a| */
+      pb = abs_i16(pb);  /* |p-b| */
+      pc = abs_i16(pc);  /* |p-c| */
+
+      __m128i smallest = _mm_min_epi16(pc, _mm_min_epi16(pa, pb));
+
+      /* Paeth breaks ties favoring a over b over c. */
+      __m128i nearest  = if_then_else(_mm_cmpeq_epi16(smallest, pa), a,
+                         if_then_else(_mm_cmpeq_epi16(smallest, pb), b,
+                                                                     c));
+
+      /* Note `_epi8`: we need addition to wrap modulo 255. */
+      d = _mm_add_epi8(d, nearest);
+      store3(row, _mm_packus_epi16(d,d));
+
+      prev += 3;
+      row  += 3;
+      rb   -= 3;
+   }
+   if (rb > 0) {
+      /* It's easiest to do this math (particularly, deal with pc) with 16-bit
+       * intermediates.
+       */
+      c = b; b = _mm_unpacklo_epi8(load3(prev), zero);
+      a = d; d = _mm_unpacklo_epi8(load3(row ), zero);
+
+      /* (p-a) == (a+b-c - a) == (b-c) */
+      __m128i pa = _mm_sub_epi16(b,c);
+
+      /* (p-b) == (a+b-c - b) == (a-c) */
+      __m128i pb = _mm_sub_epi16(a,c);
+
+      /* (p-c) == (a+b-c - c) == (a+b-c-c) == (b-c)+(a-c) */
+      __m128i pc = _mm_add_epi16(pa,pb);
+
+      pa = abs_i16(pa);  /* |p-a| */
+      pb = abs_i16(pb);  /* |p-b| */
+      pc = abs_i16(pc);  /* |p-c| */
+
+      __m128i smallest = _mm_min_epi16(pc, _mm_min_epi16(pa, pb));
+
+      /* Paeth breaks ties favoring a over b over c. */
+      __m128i nearest  = if_then_else(_mm_cmpeq_epi16(smallest, pa), a,
+                         if_then_else(_mm_cmpeq_epi16(smallest, pb), b,
+                                                                     c));
+
+      /* Note `_epi8`: we need addition to wrap modulo 255. */
+      d = _mm_add_epi8(d, nearest);
+      store3(row, _mm_packus_epi16(d,d));
+
+      prev += 3;
+      row  += 3;
+      rb   -= 3;
+   }
+}
+
+void png_read_filter_row_paeth4_sse2(png_row_infop row_info, png_bytep row,
+   png_const_bytep prev)
+{
+   /* Paeth tries to predict pixel d using the pixel to the left of it, a,
+    * and two pixels from the previous row, b and c:
+    *   prev: c b
+    *   row:  a d
+    * The Paeth function predicts d to be whichever of a, b, or c is nearest to
+    * p=a+b-c.
+    *
+    * The first pixel has no left context, and so uses an Up filter, p = b.
+    * This works naturally with our main loop's p = a+b-c if we force a and c
+    * to zero.
+    * Here we zero b and d, which become c and a respectively at the start of
+    * the loop.
+    */
+   png_debug(1, "in png_read_filter_row_paeth4_sse2");
+   const __m128i zero = _mm_setzero_si128();
+   __m128i c, b = zero,
+           a, d = zero;
+
+   int rb = row_info->rowbytes;
+   while (rb > 0) {
+      /* It's easiest to do this math (particularly, deal with pc) with 16-bit
+       * intermediates.
+       */
+      c = b; b = _mm_unpacklo_epi8(load4(prev), zero);
+      a = d; d = _mm_unpacklo_epi8(load4(row ), zero);
+
+      /* (p-a) == (a+b-c - a) == (b-c) */
+      __m128i pa = _mm_sub_epi16(b,c);
+
+      /* (p-b) == (a+b-c - b) == (a-c) */
+      __m128i pb = _mm_sub_epi16(a,c);
+
+      /* (p-c) == (a+b-c - c) == (a+b-c-c) == (b-c)+(a-c) */
+      __m128i pc = _mm_add_epi16(pa,pb);
+
+      pa = abs_i16(pa);  /* |p-a| */
+      pb = abs_i16(pb);  /* |p-b| */
+      pc = abs_i16(pc);  /* |p-c| */
+
+      __m128i smallest = _mm_min_epi16(pc, _mm_min_epi16(pa, pb));
+
+      /* Paeth breaks ties favoring a over b over c. */
+      __m128i nearest  = if_then_else(_mm_cmpeq_epi16(smallest, pa), a,
+                         if_then_else(_mm_cmpeq_epi16(smallest, pb), b,
+                                                                     c));
+
+      /* Note `_epi8`: we need addition to wrap modulo 255. */
+      d = _mm_add_epi8(d, nearest);
+      store4(row, _mm_packus_epi16(d,d));
+
+      prev += 4;
+      row  += 4;
+      rb   -= 4;
+   }
+}
+
+#endif /* PNG_INTEL_SSE_IMPLEMENTATION > 0 */
+#endif /* READ */


Property changes on: branches/stable/source/src/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/libs/libpng/libpng-src/intel/intel_init.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/intel/intel_init.c	                        (rev 0)
+++ branches/stable/source/src/libs/libpng/libpng-src/intel/intel_init.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -0,0 +1,53 @@
+
+/* intel_init.c - SSE2 optimized filter functions
+ *
+ * Copyright (c) 2016-2017 Glenn Randers-Pehrson
+ * Written by Mike Klein and Matt Sarett, Google, Inc.
+ * Derived from arm/arm_init.c
+ *
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ *
+ * This code is released under the libpng license.
+ * For conditions of distribution and use, see the disclaimer
+ * and license in png.h
+ */
+
+#include "../pngpriv.h"
+
+#ifdef PNG_READ_SUPPORTED
+#if PNG_INTEL_SSE_IMPLEMENTATION > 0
+
+void
+png_init_filter_functions_sse2(png_structp pp, unsigned int bpp)
+{
+   /* The techniques used to implement each of these filters in SSE operate on
+    * one pixel at a time.
+    * So they generally speed up 3bpp images about 3x, 4bpp images about 4x.
+    * They can scale up to 6 and 8 bpp images and down to 2 bpp images,
+    * but they'd not likely have any benefit for 1bpp images.
+    * Most of these can be implemented using only MMX and 64-bit registers,
+    * but they end up a bit slower than using the equally-ubiquitous SSE2.
+   */
+   png_debug(1, "in png_init_filter_functions_sse2");
+   if (bpp == 3)
+   {
+      pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub3_sse2;
+      pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg3_sse2;
+      pp->read_filter[PNG_FILTER_VALUE_PAETH-1] =
+         png_read_filter_row_paeth3_sse2;
+   }
+   else if (bpp == 4)
+   {
+      pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub4_sse2;
+      pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg4_sse2;
+      pp->read_filter[PNG_FILTER_VALUE_PAETH-1] =
+          png_read_filter_row_paeth4_sse2;
+   }
+
+   /* No need optimize PNG_FILTER_VALUE_UP.  The compiler should
+    * autovectorize.
+    */
+}
+
+#endif /* PNG_INTEL_SSE_IMPLEMENTATION > 0 */
+#endif /* PNG_READ_SUPPORTED */


Property changes on: branches/stable/source/src/libs/libpng/libpng-src/intel/intel_init.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/stable/source/src/libs/libpng/libpng-src/libpng-manual.txt
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/libpng-manual.txt	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/libpng-manual.txt	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.6.28 - January 5, 2017
+ libpng version 1.6.29 - March 16, 2017
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2016 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.6.28 - January 5, 2017
+ libpng versions 0.97, January 1998, through 1.6.29 - March 16, 2017
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2016 Glenn Randers-Pehrson
 
@@ -5355,7 +5355,7 @@
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.6.28 are Y2K compliant.  It is my belief that earlier
+upward through 1.6.29 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has two year fields.  One is a 2-byte unsigned integer

Modified: branches/stable/source/src/libs/libpng/libpng-src/libpng.3
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/libpng.3	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/libpng.3	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "January 5, 2017"
+.TH LIBPNG 3 "March 16, 2017"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.6.28
+libpng \- Portable Network Graphics (PNG) Reference Library 1.6.29
 .SH SYNOPSIS
 \fB
 #include <png.h>\fP
@@ -510,7 +510,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.6.28 - January 5, 2017
+ libpng version 1.6.29 - March 16, 2017
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2016 Glenn Randers-Pehrson
@@ -521,7 +521,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.6.28 - January 5, 2017
+ libpng versions 0.97, January 1998, through 1.6.29 - March 16, 2017
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2016 Glenn Randers-Pehrson
 
@@ -5865,7 +5865,7 @@
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.6.28 are Y2K compliant.  It is my belief that earlier
+upward through 1.6.29 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has two year fields.  One is a 2-byte unsigned integer
@@ -5967,7 +5967,7 @@
  ...
  1.5.28                  15    10528  15.so.15.28[.0]
  ...
- 1.6.28                  16    10628  16.so.16.28[.0]
+ 1.6.29                  16    10629  16.so.16.29[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -6023,7 +6023,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.6.28 - January 5, 2017:
+Libpng version 1.6.29 - March 16, 2017:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -6048,7 +6048,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000 through 1.6.28, January 5, 2017 are
+libpng versions 1.0.7, July 1, 2000 through 1.6.29, March 16, 2017 are
 Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
 derived from libpng-1.0.6, and are distributed according to the same
 disclaimer and license as libpng-1.0.6 with the following individuals
@@ -6061,6 +6061,8 @@
    Gilles Vollant
    James Yu
    Mandar Sahastrabuddhe
+   Google Inc.
+   Vadim Barkov
 
 and with the following additions to the disclaimer:
 
@@ -6174,7 +6176,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-January 5, 2017
+March 16, 2017
 
 .\" end of man page
 

Modified: branches/stable/source/src/libs/libpng/libpng-src/libpngpf.3
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/libpngpf.3	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/libpngpf.3	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "January 5, 2017"
+.TH LIBPNGPF 3 "March 16, 2017"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.6.28
+libpng \- Portable Network Graphics (PNG) Reference Library 1.6.29
 (private functions)
 .SH SYNOPSIS
 \fB#include \fI"pngpriv.h"

Modified: branches/stable/source/src/libs/libpng/libpng-src/png.5
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/png.5	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/png.5	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-.TH PNG 5 "January 5, 2017"
+.TH PNG 5 "March 16, 2017"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION

Modified: branches/stable/source/src/libs/libpng/libpng-src/png.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/png.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/png.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * Last changed in libpng 1.6.28 [January 5, 2017]
+ * Last changed in libpng 1.6.29 [March 16, 2017]
  * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -14,7 +14,7 @@
 #include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_6_28 Your_png_h_is_not_version_1_6_28;
+typedef png_libpng_version_1_6_29 Your_png_h_is_not_version_1_6_29;
 
 /* Tells libpng that we have already handled the first "num_bytes" bytes
  * of the PNG file signature.  If the PNG data is embedded into another
@@ -776,7 +776,7 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-      "libpng version 1.6.28 - January 5, 2017" PNG_STRING_NEWLINE \
+      "libpng version 1.6.29 - March 16, 2017" PNG_STRING_NEWLINE \
       "Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson" \
       PNG_STRING_NEWLINE \
       "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
@@ -783,7 +783,7 @@
       "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
       PNG_STRING_NEWLINE;
 #  else
-   return "libpng version 1.6.28 - January 5, 2017\
+   return "libpng version 1.6.29 - March 16, 2017\
       Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson\
       Copyright (c) 1996-1997 Andreas Dilger\
       Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
@@ -4260,13 +4260,13 @@
    if (png_ptr != NULL && option >= 0 && option < PNG_OPTION_NEXT &&
       (option & 1) == 0)
    {
-      png_uint_32 mask = 3 << option;
-      png_uint_32 setting = (2 + (onoff != 0)) << option;
+      png_uint_32 mask = 3U << option;
+      png_uint_32 setting = (2U + (onoff != 0)) << option;
       png_uint_32 current = png_ptr->options;
 
       png_ptr->options = (png_uint_32)(((current & ~mask) | setting) & 0xff);
 
-      return (current & mask) >> option;
+      return (int)(current & mask) >> option;
    }
 
    return PNG_OPTION_INVALID;

Modified: branches/stable/source/src/libs/libpng/libpng-src/png.h
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/png.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/png.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.6.28, January 5, 2017
+ * libpng version 1.6.29, March 16, 2017
  *
  * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -12,7 +12,7 @@
  * Authors and maintainers:
  *   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *   libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.6.28, January 5, 2017:
+ *   libpng versions 0.97, January 1998, through 1.6.29, March 16, 2017:
  *     Glenn Randers-Pehrson.
  *   See also "Contributing Authors", below.
  */
@@ -25,7 +25,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.0.7, July 1, 2000 through 1.6.28, January 5, 2017 are
+ * libpng versions 1.0.7, July 1, 2000 through 1.6.29, March 16, 2017 are
  * Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
  * derived from libpng-1.0.6, and are distributed according to the same
  * disclaimer and license as libpng-1.0.6 with the following individuals
@@ -38,6 +38,8 @@
  *    Gilles Vollant
  *    James Yu
  *    Mandar Sahastrabuddhe
+ *    Google Inc.
+ *    Vadim Barkov
  *
  * and with the following additions to the disclaimer:
  *
@@ -211,7 +213,7 @@
  *    ...
  *    1.5.28                  15    10527  15.so.15.28[.0]
  *    ...
- *    1.6.28                  16    10628  16.so.16.28[.0]
+ *    1.6.29                  16    10629  16.so.16.29[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -239,13 +241,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    January 5, 2017
+ *    March 16, 2017
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.6.28 are Y2K compliant.  It is my belief that
+ *    upward through 1.6.29 are Y2K compliant.  It is my belief that
  *    earlier versions were also Y2K compliant.
  *
  *    Libpng only has two year fields.  One is a 2-byte unsigned integer
@@ -307,8 +309,8 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.6.28"
-#define PNG_HEADER_VERSION_STRING " libpng version 1.6.28 - January 5, 2017\n"
+#define PNG_LIBPNG_VER_STRING "1.6.29"
+#define PNG_HEADER_VERSION_STRING " libpng version 1.6.29 - March 16, 2017\n"
 
 #define PNG_LIBPNG_VER_SONUM   16
 #define PNG_LIBPNG_VER_DLLNUM  16
@@ -316,7 +318,7 @@
 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
 #define PNG_LIBPNG_VER_MAJOR   1
 #define PNG_LIBPNG_VER_MINOR   6
-#define PNG_LIBPNG_VER_RELEASE 28
+#define PNG_LIBPNG_VER_RELEASE 29
 
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
@@ -347,7 +349,7 @@
  * version 1.0.0 was mis-numbered 100 instead of 10000).  From
  * version 1.0.1 it's    xxyyzz, where x=major, y=minor, z=release
  */
-#define PNG_LIBPNG_VER 10628 /* 1.6.28 */
+#define PNG_LIBPNG_VER 10629 /* 1.6.29 */
 
 /* Library configuration: these options cannot be changed after
  * the library has been built.
@@ -457,7 +459,7 @@
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  */
-typedef char* png_libpng_version_1_6_28;
+typedef char* png_libpng_version_1_6_29;
 
 /* Basic control structions.  Read libpng-manual.txt or libpng.3 for more info.
  *
@@ -3224,7 +3226,10 @@
 #  define PNG_MIPS_MSA   6 /* HARDWARE: MIPS Msa SIMD instructions supported */
 #endif
 #define PNG_IGNORE_ADLER32 8
-#define PNG_OPTION_NEXT  10 /* Next option - numbers must be even */
+#ifdef PNG_POWERPC_VSX_API_SUPPORTED
+#  define PNG_POWERPC_VSX   10 /* HARDWARE: PowerPC VSX SIMD instructions supported */
+#endif
+#define PNG_OPTION_NEXT  12 /* Next option - numbers must be even */
 
 /* Return values: NOTE: there are four values and 'off' is *not* zero */
 #define PNG_OPTION_UNSET   0 /* Unset - defaults to off */

Modified: branches/stable/source/src/libs/libpng/libpng-src/pngconf.h
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/pngconf.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/pngconf.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.6.28, January 5, 2017
+ * libpng version 1.6.29, March 16, 2017
  *
  * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)

Modified: branches/stable/source/src/libs/libpng/libpng-src/pnglibconf.h
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/pnglibconf.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/pnglibconf.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,8 @@
-/* libpng 1.6.28 STANDARD API DEFINITION */
+/* libpng 1.6.29 STANDARD API DEFINITION */
 
 /* pnglibconf.h - library build configuration */
 
-/* Libpng version 1.6.28 - January 5, 2017 */
+/* Libpng version 1.6.29 - March 16, 2017 */
 
 /* Copyright (c) 1998-2015 Glenn Randers-Pehrson */
 
@@ -20,6 +20,8 @@
 #define PNG_ALIGNED_MEMORY_SUPPORTED
 /*#undef PNG_ARM_NEON_API_SUPPORTED*/
 /*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/
+/*#undef PNG_POWERPC_VSX_API_SUPPORTED*/
+/*#undef PNG_POWERPC_VSX_CHECK_SUPPORTED*/
 #define PNG_BENIGN_ERRORS_SUPPORTED
 #define PNG_BENIGN_READ_ERRORS_SUPPORTED
 /*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/

Modified: branches/stable/source/src/libs/libpng/libpng-src/pngpriv.h
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/pngpriv.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/pngpriv.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,8 @@
 
 /* pngpriv.h - private declarations for use inside libpng
  *
- * Last changed in libpng 1.6.26 [October 20, 2016]
- * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  *
@@ -190,6 +190,50 @@
 #  endif
 #endif
 
+#ifndef PNG_POWERPC_VSX_OPT
+#  if defined(__PPC64__) && defined(__ALTIVEC__) && defined(__VSX__)
+#     define PNG_POWERPC_VSX_OPT 2
+#  else
+#     define PNG_POWERPC_VSX_OPT 0
+#  endif
+#endif
+
+#ifndef PNG_INTEL_SSE_OPT
+#   ifdef PNG_INTEL_SSE
+      /* Only check for SSE if the build configuration has been modified to
+       * enable SSE optimizations.  This means that these optimizations will
+       * be off by default.  See contrib/intel for more details.
+       */
+#     if defined(__SSE4_1__) || defined(__AVX__) || defined(__SSSE3__) || \
+       defined(__SSE2__) || defined(_M_X64) || defined(_M_AMD64) || \
+       (defined(_M_IX86_FP) && _M_IX86_FP >= 2)
+#         define PNG_INTEL_SSE_OPT 1
+#      endif
+#   endif
+#endif
+
+#if PNG_INTEL_SSE_OPT > 0
+#   ifndef PNG_INTEL_SSE_IMPLEMENTATION
+#      if defined(__SSE4_1__) || defined(__AVX__)
+          /* We are not actually using AVX, but checking for AVX is the best
+             way we can detect SSE4.1 and SSSE3 on MSVC.
+          */
+#         define PNG_INTEL_SSE_IMPLEMENTATION 3
+#      elif defined(__SSSE3__)
+#         define PNG_INTEL_SSE_IMPLEMENTATION 2
+#      elif defined(__SSE2__) || defined(_M_X64) || defined(_M_AMD64) || \
+       (defined(_M_IX86_FP) && _M_IX86_FP >= 2)
+#         define PNG_INTEL_SSE_IMPLEMENTATION 1
+#      else
+#         define PNG_INTEL_SSE_IMPLEMENTATION 0
+#      endif
+#   endif
+
+#   if PNG_INTEL_SSE_IMPLEMENTATION > 0
+#      define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_sse2
+#   endif
+#endif
+
 #if PNG_MIPS_MSA_OPT > 0
 #  define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_msa
 #  ifndef PNG_MIPS_MSA_IMPLEMENTATION
@@ -210,7 +254,12 @@
 #  endif
 #endif /* PNG_MIPS_MSA_OPT > 0 */
 
+#if PNG_POWERPC_VSX_OPT > 0
+#  define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_vsx
+#  define PNG_POWERPC_VSX_IMPLEMENTATION 1
+#endif
 
+
 /* Is this a build of a DLL where compilation of the object modules requires
  * different preprocessor settings to those required for a simple library?  If
  * so PNG_BUILD_DLL must be set.
@@ -1256,6 +1305,38 @@
     row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
 #endif
 
+#if PNG_POWERPC_VSX_OPT > 0
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_up_vsx,(png_row_infop row_info,
+    png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_sub3_vsx,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_sub4_vsx,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_avg3_vsx,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_avg4_vsx,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_paeth3_vsx,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_paeth4_vsx,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+#endif
+
+#if PNG_INTEL_SSE_IMPLEMENTATION > 0
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_sub3_sse2,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_sub4_sse2,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_avg3_sse2,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_avg4_sse2,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_paeth3_sse2,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+PNG_INTERNAL_FUNCTION(void,png_read_filter_row_paeth4_sse2,(png_row_infop
+    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
+#endif
+
 /* Choose the best filter to use and filter the row data */
 PNG_INTERNAL_FUNCTION(void,png_write_find_filter,(png_structrp png_ptr,
     png_row_infop row_info),PNG_EMPTY);
@@ -1991,6 +2072,11 @@
 PNG_INTERNAL_FUNCTION(void, png_init_filter_functions_msa,
    (png_structp png_ptr, unsigned int bpp), PNG_EMPTY);
 #endif
+
+#  if PNG_INTEL_SSE_IMPLEMENTATION > 0
+PNG_INTERNAL_FUNCTION(void, png_init_filter_functions_sse2,
+   (png_structp png_ptr, unsigned int bpp), PNG_EMPTY);
+#  endif
 #endif
 
 PNG_INTERNAL_FUNCTION(png_uint_32, png_check_keyword, (png_structrp png_ptr,

Modified: branches/stable/source/src/libs/libpng/libpng-src/pngrtran.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/pngrtran.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/pngrtran.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,8 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * Last changed in libpng 1.6.24 [August 4, 2016]
- * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  *
@@ -4302,7 +4302,7 @@
             if (num_trans > 0)
             {
                sp = row + (png_size_t)row_width - 1;
-               dp = row + (png_size_t)(row_width << 2) - 1;
+               dp = row + ((png_size_t)row_width << 2) - 1;
 
                for (i = 0; i < row_width; i++)
                {
@@ -4463,7 +4463,7 @@
             {
                gray = gray & 0xff;
                sp = row + (png_size_t)row_width - 1;
-               dp = row + (png_size_t)(row_width << 1) - 1;
+               dp = row + ((png_size_t)row_width << 1) - 1;
 
                for (i = 0; i < row_width; i++)
                {
@@ -4519,7 +4519,7 @@
             png_byte green = (png_byte)(trans_color->green & 0xff);
             png_byte blue = (png_byte)(trans_color->blue & 0xff);
             sp = row + (png_size_t)row_info->rowbytes - 1;
-            dp = row + (png_size_t)(row_width << 2) - 1;
+            dp = row + ((png_size_t)row_width << 2) - 1;
             for (i = 0; i < row_width; i++)
             {
                if (*(sp - 2) == red && *(sp - 1) == green && *(sp) == blue)
@@ -4542,7 +4542,7 @@
             png_byte green_low = (png_byte)(trans_color->green & 0xff);
             png_byte blue_low = (png_byte)(trans_color->blue & 0xff);
             sp = row + row_info->rowbytes - 1;
-            dp = row + (png_size_t)(row_width << 3) - 1;
+            dp = row + ((png_size_t)row_width << 3) - 1;
             for (i = 0; i < row_width; i++)
             {
                if (*(sp - 5) == red_high &&

Modified: branches/stable/source/src/libs/libpng/libpng-src/pngrutil.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/pngrutil.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/pngrutil.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,8 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * Last changed in libpng 1.6.27 [January 5, 2017]
- * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  *
@@ -418,7 +418,7 @@
             png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED;
       }
 
-#if ZLIB_VERNUM >= 0x1281 && \
+#if ZLIB_VERNUM >= 0x1290 && \
    defined(PNG_SET_OPTION_SUPPORTED) && defined(PNG_IGNORE_ADLER32)
       if (((png_ptr->options >> PNG_IGNORE_ADLER32) & 3) == PNG_OPTION_ON)
          /* Turn off validation of the ADLER32 checksum in IDAT chunks */

Modified: branches/stable/source/src/libs/libpng/libpng-src/pngtest.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/pngtest.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/pngtest.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -2088,4 +2088,4 @@
 #endif
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_6_28 Your_png_h_is_not_version_1_6_28;
+typedef png_libpng_version_1_6_29 Your_png_h_is_not_version_1_6_29;

Modified: branches/stable/source/src/libs/libpng/libpng-src/pngwutil.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/pngwutil.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/pngwutil.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -675,6 +675,7 @@
     int interlace_type)
 {
    png_byte buf[13]; /* Buffer to store the IHDR info */
+   int is_invalid_depth;
 
    png_debug(1, "in png_write_IHDR");
 
@@ -700,11 +701,11 @@
          break;
 
       case PNG_COLOR_TYPE_RGB:
+         is_invalid_depth = (bit_depth != 8);
 #ifdef PNG_WRITE_16BIT_SUPPORTED
-         if (bit_depth != 8 && bit_depth != 16)
-#else
-         if (bit_depth != 8)
+         is_invalid_depth = (is_invalid_depth && bit_depth != 16);
 #endif
+         if (is_invalid_depth)
             png_error(png_ptr, "Invalid bit depth for RGB image");
 
          png_ptr->channels = 3;
@@ -726,7 +727,11 @@
          break;
 
       case PNG_COLOR_TYPE_GRAY_ALPHA:
-         if (bit_depth != 8 && bit_depth != 16)
+         is_invalid_depth = (bit_depth != 8);
+#ifdef PNG_WRITE_16BIT_SUPPORTED
+         is_invalid_depth = (is_invalid_depth && bit_depth != 16);
+#endif
+         if (is_invalid_depth)
             png_error(png_ptr, "Invalid bit depth for grayscale+alpha image");
 
          png_ptr->channels = 2;
@@ -733,11 +738,11 @@
          break;
 
       case PNG_COLOR_TYPE_RGB_ALPHA:
+         is_invalid_depth = (bit_depth != 8);
 #ifdef PNG_WRITE_16BIT_SUPPORTED
-         if (bit_depth != 8 && bit_depth != 16)
-#else
-         if (bit_depth != 8)
+         is_invalid_depth = (is_invalid_depth && bit_depth != 16);
 #endif
+         if (is_invalid_depth)
             png_error(png_ptr, "Invalid bit depth for RGBA image");
 
          png_ptr->channels = 4;

Added: branches/stable/source/src/libs/libpng/libpng-src/powerpc/filter_vsx_intrinsics.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/powerpc/filter_vsx_intrinsics.c	                        (rev 0)
+++ branches/stable/source/src/libs/libpng/libpng-src/powerpc/filter_vsx_intrinsics.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -0,0 +1,767 @@
+/* filter_vsx_intrinsics.c - PowerPC optimised filter functions
+ *
+ * Copyright (c) 2017 Glenn Randers-Pehrson
+ * Written by Vadim Barkov, 2017.
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ *
+ * This code is released under the libpng license.
+ * For conditions of distribution and use, see the disclaimer
+ * and license in png.h
+ */
+#include <stdio.h>
+#include <stdint.h>
+#include "../pngpriv.h"
+
+#ifdef PNG_READ_SUPPORTED
+
+/* This code requires -maltivec and -mvsx on the command line: */
+#if PNG_POWERPC_VSX_IMPLEMENTATION == 1 /* intrinsics code from pngpriv.h */
+
+#include <altivec.h>
+
+#if PNG_POWERPC_VSX_OPT > 0
+
+#ifndef __VSX__
+#  error "This code requires VSX support (POWER7 and later). Please provide -mvsx compiler flag."
+#endif
+
+#define vec_ld_unaligned(vec,data) vec = vec_vsx_ld(0,data)
+#define vec_st_unaligned(vec,data) vec_vsx_st(vec,0,data)
+
+
+/* Functions in this file look at most 3 pixels (a,b,c) to predict the 4th (d).
+ * They're positioned like this:
+ *    prev:  c b
+ *    row:   a d
+ * The Sub filter predicts d=a, Avg d=(a+b)/2, and Paeth predicts d to be
+ * whichever of a, b, or c is closest to p=a+b-c.
+ * ( this is taken from ../intel/filter_sse2_intrinsics.c )
+ */
+
+#define vsx_declare_common_vars(row_info,row,prev_row,offset) \
+   png_byte i;\
+   png_bytep rp = row + offset;\
+   png_const_bytep pp = prev_row;\
+   png_size_t unaligned_top = 16 - (((png_size_t)rp % 16));\
+   png_size_t istop;\
+   if(unaligned_top == 16)\
+      unaligned_top = 0;\
+   istop = row_info->rowbytes;\
+   if((unaligned_top < istop))\
+      istop -= unaligned_top;\
+   else{\
+      unaligned_top = istop;\
+      istop = 0;\
+   }
+
+void png_read_filter_row_up_vsx(png_row_infop row_info, png_bytep row,
+                                png_const_bytep prev_row)
+{
+   vector unsigned char rp_vec;
+   vector unsigned char pp_vec;
+   vsx_declare_common_vars(row_info,row,prev_row,0)
+
+   /* Altivec operations require 16-byte aligned data
+    * but input can be unaligned. So we calculate
+    * unaligned part as usual.
+    */
+   for (i = 0; i < unaligned_top; i++)
+   {
+      *rp = (png_byte)(((int)(*rp) + (int)(*pp++)) & 0xff);
+      rp++;
+   }
+
+   /* Using SIMD while we can */
+   while( istop >= 16 )
+   {
+      rp_vec = vec_ld(0,rp);
+      vec_ld_unaligned(pp_vec,pp);
+
+      rp_vec = vec_add(rp_vec,pp_vec);
+
+      vec_st(rp_vec,0,rp);
+
+      pp += 16;
+      rp += 16;
+      istop -= 16;
+   }
+
+   if(istop > 0)
+   {
+      /* If byte count of row is not divisible by 16
+       * we will process remaining part as usual
+       */
+      for (i = 0; i < istop; i++)
+      {
+         *rp = (png_byte)(((int)(*rp) + (int)(*pp++)) & 0xff);
+         rp++;
+      }
+}
+
+}
+
+static const vector unsigned char VSX_LEFTSHIFTED1_4 = {16,16,16,16, 0, 1, 2, 3,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_LEFTSHIFTED2_4 = {16,16,16,16,16,16,16,16, 4, 5, 6, 7,16,16,16,16};
+static const vector unsigned char VSX_LEFTSHIFTED3_4 = {16,16,16,16,16,16,16,16,16,16,16,16, 8, 9,10,11};
+
+static const vector unsigned char VSX_LEFTSHIFTED1_3 = {16,16,16, 0, 1, 2,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_LEFTSHIFTED2_3 = {16,16,16,16,16,16, 3, 4, 5,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_LEFTSHIFTED3_3 = {16,16,16,16,16,16,16,16,16, 6, 7, 8,16,16,16,16};
+static const vector unsigned char VSX_LEFTSHIFTED4_3 = {16,16,16,16,16,16,16,16,16,16,16,16, 9,10,11,16};
+
+static const vector unsigned char VSX_NOT_SHIFTED1_4 = {16,16,16,16, 4, 5, 6, 7,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_NOT_SHIFTED2_4 = {16,16,16,16,16,16,16,16, 8, 9,10,11,16,16,16,16};
+static const vector unsigned char VSX_NOT_SHIFTED3_4 = {16,16,16,16,16,16,16,16,16,16,16,16,12,13,14,15};
+
+static const vector unsigned char VSX_NOT_SHIFTED1_3 = {16,16,16, 3, 4, 5,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_NOT_SHIFTED2_3 = {16,16,16,16,16,16, 6, 7, 8,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_NOT_SHIFTED3_3 = {16,16,16,16,16,16,16,16,16, 9,10,11,16,16,16,16};
+static const vector unsigned char VSX_NOT_SHIFTED4_3 = {16,16,16,16,16,16,16,16,16,16,16,16,12,13,14,16};
+
+static const vector unsigned char VSX_CHAR_ZERO = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+#ifdef __LITTLE_ENDIAN__
+
+static const vector unsigned char VSX_CHAR_TO_SHORT1_4 = { 4,16, 5,16, 6,16, 7,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT2_4 = { 8,16, 9,16,10,16,11,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT3_4 = {12,16,13,16,14,16,15,16,16,16,16,16,16,16,16,16};
+
+static const vector unsigned char VSX_SHORT_TO_CHAR1_4 = {16,16,16,16, 0, 2, 4, 6,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR2_4 = {16,16,16,16,16,16,16,16, 0, 2, 4, 6,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR3_4 = {16,16,16,16,16,16,16,16,16,16,16,16, 0, 2, 4, 6};
+
+static const vector unsigned char VSX_CHAR_TO_SHORT1_3 = { 3,16, 4,16, 5,16,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT2_3 = { 6,16, 7,16, 8,16,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT3_3 = { 9,16,10,16,11,16,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT4_3 = {12,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16};
+
+static const vector unsigned char VSX_SHORT_TO_CHAR1_3 = {16,16,16, 0, 2, 4,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR2_3 = {16,16,16,16,16,16, 0, 2, 4,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR3_3 = {16,16,16,16,16,16,16,16,16, 0, 2, 4,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR4_3 = {16,16,16,16,16,16,16,16,16,16,16,16, 0, 2, 4,16};
+
+#elif defined(__BIG_ENDIAN__)
+
+static const vector unsigned char VSX_CHAR_TO_SHORT1_4 = {16, 4,16, 5,16, 6,16, 7,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT2_4 = {16, 8,16, 9,16,10,16,11,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT3_4 = {16,12,16,13,16,14,16,15,16,16,16,16,16,16,16,16};
+
+static const vector unsigned char VSX_SHORT_TO_CHAR1_4 = {16,16,16,16, 1, 3, 5, 7,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR2_4 = {16,16,16,16,16,16,16,16, 1, 3, 5, 7,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR3_4 = {16,16,16,16,16,16,16,16,16,16,16,16, 1, 3, 5, 7};
+
+static const vector unsigned char VSX_CHAR_TO_SHORT1_3 = {16, 3,16, 4,16, 5,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT2_3 = {16, 6,16, 7,16, 8,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT3_3 = {16, 9,16,10,16,11,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_CHAR_TO_SHORT4_3 = {16,12,16,13,16,14,16,16,16,16,16,16,16,16,16,16};
+
+static const vector unsigned char VSX_SHORT_TO_CHAR1_3 = {16,16,16, 1, 3, 5,16,16,16,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR2_3 = {16,16,16,16,16,16, 1, 3, 5,16,16,16,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR3_3 = {16,16,16,16,16,16,16,16,16, 1, 3, 5,16,16,16,16};
+static const vector unsigned char VSX_SHORT_TO_CHAR4_3 = {16,16,16,16,16,16,16,16,16,16,16,16, 1, 3, 5,16};
+
+#endif
+
+#define vsx_char_to_short(vec,offset,bpp) (vector unsigned short)vec_perm((vec),VSX_CHAR_ZERO,VSX_CHAR_TO_SHORT##offset##_##bpp)
+#define vsx_short_to_char(vec,offset,bpp) vec_perm(((vector unsigned char)(vec)),VSX_CHAR_ZERO,VSX_SHORT_TO_CHAR##offset##_##bpp)
+
+#ifdef PNG_USE_ABS
+#  define vsx_abs(number) abs(number)
+#else
+#  define vsx_abs(number) (number > 0) ? (number) : -(number)
+#endif
+
+void png_read_filter_row_sub4_vsx(png_row_infop row_info, png_bytep row,
+                                  png_const_bytep prev_row)
+{
+   const png_byte bpp = 4;
+
+   vector unsigned char rp_vec;
+   vector unsigned char part_vec;
+
+   vsx_declare_common_vars(row_info,row,prev_row,bpp)
+
+   PNG_UNUSED(pp)
+
+   /* Altivec operations require 16-byte aligned data
+    * but input can be unaligned. So we calculate
+    * unaligned part as usual.
+    */
+   for (i = 0; i < unaligned_top; i++)
+   {
+      *rp = (png_byte)(((int)(*rp) + (int)(*(rp-bpp))) & 0xff);
+      rp++;
+   }
+
+   /* Using SIMD while we can */
+   while( istop >= 16 )
+   {
+      for(i=0;i < bpp ; i++)
+      {
+         *rp = (png_byte)(((int)(*rp) + (int)(*(rp-bpp))) & 0xff);
+         rp++;
+      }
+      rp -= bpp;
+
+      rp_vec = vec_ld(0,rp);
+      part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED1_4);
+      rp_vec = vec_add(rp_vec,part_vec);
+
+      part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED2_4);
+      rp_vec = vec_add(rp_vec,part_vec);
+
+      part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED3_4);
+      rp_vec = vec_add(rp_vec,part_vec);
+
+      vec_st(rp_vec,0,rp);
+
+      rp += 16;
+      istop -= 16;
+   }
+
+   if(istop > 0)
+      for (i = 0; i < istop % 16; i++)
+      {
+         *rp = (png_byte)(((int)(*rp) + (int)(*(rp - bpp))) & 0xff);
+         rp++;
+      }
+
+}
+
+void png_read_filter_row_sub3_vsx(png_row_infop row_info, png_bytep row,
+                                  png_const_bytep prev_row)
+{
+   const png_byte bpp = 3;
+
+   vector unsigned char rp_vec;
+   vector unsigned char part_vec;
+
+   vsx_declare_common_vars(row_info,row,prev_row,bpp)
+
+   PNG_UNUSED(pp)
+
+   /* Altivec operations require 16-byte aligned data
+    * but input can be unaligned. So we calculate
+    * unaligned part as usual.
+    */
+   for (i = 0; i < unaligned_top; i++)
+   {
+      *rp = (png_byte)(((int)(*rp) + (int)(*(rp-bpp))) & 0xff);
+      rp++;
+   }
+
+   /* Using SIMD while we can */
+   while( istop >= 16 )
+   {
+      for(i=0;i < bpp ; i++)
+      {
+         *rp = (png_byte)(((int)(*rp) + (int)(*(rp-bpp))) & 0xff);
+         rp++;
+      }
+      rp -= bpp;
+
+      rp_vec = vec_ld(0,rp);
+      part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED1_3);
+      rp_vec = vec_add(rp_vec,part_vec);
+
+      part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED2_3);
+      rp_vec = vec_add(rp_vec,part_vec);
+
+      part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED3_3);
+      rp_vec = vec_add(rp_vec,part_vec);
+
+      part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED4_3);
+      rp_vec = vec_add(rp_vec,part_vec);
+
+      vec_st(rp_vec,0,rp);
+      rp += 15;
+      istop -= 16;
+
+      /* Since 16 % bpp = 16 % 3 = 1, last element of array must
+       * be proceeded manually
+       */
+      *rp = (png_byte)(((int)(*rp) + (int)(*(rp-bpp))) & 0xff);
+      rp++;
+   }
+
+   if(istop > 0)
+      for (i = 0; i < istop % 16; i++)
+      {
+         *rp = (png_byte)(((int)(*rp) + (int)(*(rp-bpp))) & 0xff);
+         rp++;
+      }
+}
+
+void png_read_filter_row_avg4_vsx(png_row_infop row_info, png_bytep row,
+                                  png_const_bytep prev_row)
+{
+   const png_byte bpp = 4;
+
+   vector unsigned char rp_vec;
+   vector unsigned char pp_vec;
+   vector unsigned char pp_part_vec;
+   vector unsigned char rp_part_vec;
+   vector unsigned char avg_vec;
+
+   vsx_declare_common_vars(row_info,row,prev_row,bpp)
+   rp -= bpp;
+   if(istop >= bpp)
+      istop -= bpp;
+
+   for (i = 0; i < bpp; i++)
+   {
+      *rp = (png_byte)(((int)(*rp) +
+         ((int)(*pp++) / 2 )) & 0xff);
+
+      rp++;
+   }
+
+   /* Altivec operations require 16-byte aligned data
+    * but input can be unaligned. So we calculate
+    * unaligned part as usual.
+    */
+   for (i = 0; i < unaligned_top; i++)
+   {
+      *rp = (png_byte)(((int)(*rp) +
+         (int)(*pp++ + *(rp-bpp)) / 2 ) & 0xff);
+
+      rp++;
+   }
+
+   /* Using SIMD while we can */
+   while( istop >= 16 )
+   {
+      for(i=0;i < bpp ; i++)
+      {
+         *rp = (png_byte)(((int)(*rp) +
+            (int)(*pp++ + *(rp-bpp)) / 2 ) & 0xff);
+
+         rp++;
+      }
+      rp -= bpp;
+      pp -= bpp;
+
+      vec_ld_unaligned(pp_vec,pp);
+      rp_vec = vec_ld(0,rp);
+
+      rp_part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED1_4);
+      pp_part_vec = vec_perm(pp_vec,VSX_CHAR_ZERO,VSX_NOT_SHIFTED1_4);
+      avg_vec = vec_avg(rp_part_vec,pp_part_vec);
+      avg_vec = vec_sub(avg_vec, vec_and(vec_xor(rp_part_vec,pp_part_vec),vec_splat_u8(1)));
+      rp_vec = vec_add(rp_vec,avg_vec);
+
+      rp_part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED2_4);
+      pp_part_vec = vec_perm(pp_vec,VSX_CHAR_ZERO,VSX_NOT_SHIFTED2_4);
+      avg_vec = vec_avg(rp_part_vec,pp_part_vec);
+      avg_vec = vec_sub(avg_vec, vec_and(vec_xor(rp_part_vec,pp_part_vec),vec_splat_u8(1)));
+      rp_vec = vec_add(rp_vec,avg_vec);
+
+      rp_part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED3_4);
+      pp_part_vec = vec_perm(pp_vec,VSX_CHAR_ZERO,VSX_NOT_SHIFTED3_4);
+      avg_vec = vec_avg(rp_part_vec,pp_part_vec);
+      avg_vec = vec_sub(avg_vec, vec_and(vec_xor(rp_part_vec,pp_part_vec),vec_splat_u8(1)));
+      rp_vec = vec_add(rp_vec,avg_vec);
+
+      vec_st(rp_vec,0,rp);
+
+      rp += 16;
+      pp += 16;
+      istop -= 16;
+   }
+
+   if(istop  > 0)
+      for (i = 0; i < istop % 16; i++)
+      {
+         *rp = (png_byte)(((int)(*rp) +
+            (int)(*pp++ + *(rp-bpp)) / 2 ) & 0xff);
+
+         rp++;
+      }
+}
+
+void png_read_filter_row_avg3_vsx(png_row_infop row_info, png_bytep row,
+                                  png_const_bytep prev_row)
+{
+  const png_byte bpp = 3;
+
+  vector unsigned char rp_vec;
+  vector unsigned char pp_vec;
+  vector unsigned char pp_part_vec;
+  vector unsigned char rp_part_vec;
+  vector unsigned char avg_vec;
+
+  vsx_declare_common_vars(row_info,row,prev_row,bpp)
+  rp -= bpp;
+  if(istop >= bpp)
+     istop -= bpp;
+
+  for (i = 0; i < bpp; i++)
+  {
+     *rp = (png_byte)(((int)(*rp) +
+        ((int)(*pp++) / 2 )) & 0xff);
+
+     rp++;
+  }
+
+  /* Altivec operations require 16-byte aligned data
+   * but input can be unaligned. So we calculate
+   * unaligned part as usual.
+   */
+  for (i = 0; i < unaligned_top; i++)
+  {
+     *rp = (png_byte)(((int)(*rp) +
+        (int)(*pp++ + *(rp-bpp)) / 2 ) & 0xff);
+
+     rp++;
+  }
+
+  /* Using SIMD while we can */
+  while( istop >= 16 )
+  {
+     for(i=0;i < bpp ; i++)
+     {
+        *rp = (png_byte)(((int)(*rp) +
+           (int)(*pp++ + *(rp-bpp)) / 2 ) & 0xff);
+
+        rp++;
+     }
+     rp -= bpp;
+     pp -= bpp;
+
+     vec_ld_unaligned(pp_vec,pp);
+     rp_vec = vec_ld(0,rp);
+
+     rp_part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED1_3);
+     pp_part_vec = vec_perm(pp_vec,VSX_CHAR_ZERO,VSX_NOT_SHIFTED1_3);
+     avg_vec = vec_avg(rp_part_vec,pp_part_vec);
+     avg_vec = vec_sub(avg_vec, vec_and(vec_xor(rp_part_vec,pp_part_vec),vec_splat_u8(1)));
+     rp_vec = vec_add(rp_vec,avg_vec);
+
+     rp_part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED2_3);
+     pp_part_vec = vec_perm(pp_vec,VSX_CHAR_ZERO,VSX_NOT_SHIFTED2_3);
+     avg_vec = vec_avg(rp_part_vec,pp_part_vec);
+     avg_vec = vec_sub(avg_vec, vec_and(vec_xor(rp_part_vec,pp_part_vec),vec_splat_u8(1)));
+     rp_vec = vec_add(rp_vec,avg_vec);
+
+     rp_part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED3_3);
+     pp_part_vec = vec_perm(pp_vec,VSX_CHAR_ZERO,VSX_NOT_SHIFTED3_3);
+     avg_vec = vec_avg(rp_part_vec,pp_part_vec);
+     avg_vec = vec_sub(avg_vec, vec_and(vec_xor(rp_part_vec,pp_part_vec),vec_splat_u8(1)));
+     rp_vec = vec_add(rp_vec,avg_vec);
+
+     rp_part_vec = vec_perm(rp_vec,VSX_CHAR_ZERO,VSX_LEFTSHIFTED4_3);
+     pp_part_vec = vec_perm(pp_vec,VSX_CHAR_ZERO,VSX_NOT_SHIFTED4_3);
+     avg_vec = vec_avg(rp_part_vec,pp_part_vec);
+     avg_vec = vec_sub(avg_vec, vec_and(vec_xor(rp_part_vec,pp_part_vec),vec_splat_u8(1)));
+     rp_vec = vec_add(rp_vec,avg_vec);
+
+     vec_st(rp_vec,0,rp);
+
+     rp += 15;
+     pp += 15;
+     istop -= 16;
+
+     /* Since 16 % bpp = 16 % 3 = 1, last element of array must
+      * be proceeded manually
+      */
+     *rp = (png_byte)(((int)(*rp) +
+        (int)(*pp++ + *(rp-bpp)) / 2 ) & 0xff);
+     rp++;
+  }
+
+  if(istop  > 0)
+     for (i = 0; i < istop % 16; i++)
+     {
+        *rp = (png_byte)(((int)(*rp) +
+           (int)(*pp++ + *(rp-bpp)) / 2 ) & 0xff);
+
+        rp++;
+     }
+}
+
+/* Bytewise c ? t : e. */
+#define if_then_else(c,t,e) vec_sel(e,t,c)
+
+#define vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp) {\
+      c = *(pp - bpp);\
+      a = *(rp - bpp);\
+      b = *pp++;\
+      p = b - c;\
+      pc = a - c;\
+      pa = vsx_abs(p);\
+      pb = vsx_abs(pc);\
+      pc = vsx_abs(p + pc);\
+      if (pb < pa) pa = pb, a = b;\
+      if (pc < pa) a = c;\
+      a += *rp;\
+      *rp++ = (png_byte)a;\
+      }
+
+void png_read_filter_row_paeth4_vsx(png_row_infop row_info, png_bytep row,
+   png_const_bytep prev_row)
+{
+   const png_byte bpp = 4;
+
+   int a, b, c, pa, pb, pc, p;
+   vector unsigned char rp_vec;
+   vector unsigned char pp_vec;
+   vector unsigned short a_vec,b_vec,c_vec,nearest_vec;
+   vector signed short pa_vec,pb_vec,pc_vec,smallest_vec;
+
+   vsx_declare_common_vars(row_info,row,prev_row,bpp)
+   rp -= bpp;
+   if(istop >= bpp)
+      istop -= bpp;
+
+   /* Process the first pixel in the row completely (this is the same as 'up'
+    * because there is only one candidate predictor for the first row).
+    */
+   for(i = 0; i < bpp ; i++)
+   {
+      *rp = (png_byte)( *rp + *pp);
+      rp++;
+      pp++;
+   }
+
+   for(i = 0; i < unaligned_top ; i++)
+   {
+      vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp)
+   }
+
+   while( istop >= 16)
+   {
+      for(i = 0; i < bpp ; i++)
+      {
+         vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp)
+      }
+
+      rp -= bpp;
+      pp -= bpp;
+      rp_vec = vec_ld(0,rp);
+      vec_ld_unaligned(pp_vec,pp);
+
+      a_vec = vsx_char_to_short(vec_perm(rp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED1_4),1,4);
+      b_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_NOT_SHIFTED1_4),1,4);
+      c_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED1_4),1,4);
+      pa_vec = (vector signed short) vec_sub(b_vec,c_vec);
+      pb_vec = (vector signed short) vec_sub(a_vec , c_vec);
+      pc_vec = vec_add(pa_vec,pb_vec);
+      pa_vec = vec_abs(pa_vec);
+      pb_vec = vec_abs(pb_vec);
+      pc_vec = vec_abs(pc_vec);
+      smallest_vec = vec_min(pc_vec, vec_min(pa_vec,pb_vec));
+      nearest_vec =  if_then_else(
+            vec_cmpeq(pa_vec,smallest_vec),
+            a_vec,
+            if_then_else(
+              vec_cmpeq(pb_vec,smallest_vec),
+              b_vec,
+              c_vec
+              )
+            );
+      rp_vec = vec_add(rp_vec,(vsx_short_to_char(nearest_vec,1,4)));
+
+      a_vec = vsx_char_to_short(vec_perm(rp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED2_4),2,4);
+      b_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_NOT_SHIFTED2_4),2,4);
+      c_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED2_4),2,4);
+      pa_vec = (vector signed short) vec_sub(b_vec,c_vec);
+      pb_vec = (vector signed short) vec_sub(a_vec , c_vec);
+      pc_vec = vec_add(pa_vec,pb_vec);
+      pa_vec = vec_abs(pa_vec);
+      pb_vec = vec_abs(pb_vec);
+      pc_vec = vec_abs(pc_vec);
+      smallest_vec = vec_min(pc_vec, vec_min(pa_vec,pb_vec));
+      nearest_vec =  if_then_else(
+            vec_cmpeq(pa_vec,smallest_vec),
+            a_vec,
+            if_then_else(
+              vec_cmpeq(pb_vec,smallest_vec),
+              b_vec,
+              c_vec
+              )
+            );
+      rp_vec = vec_add(rp_vec,(vsx_short_to_char(nearest_vec,2,4)));
+
+      a_vec = vsx_char_to_short(vec_perm(rp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED3_4),3,4);
+      b_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_NOT_SHIFTED3_4),3,4);
+      c_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED3_4),3,4);
+      pa_vec = (vector signed short) vec_sub(b_vec,c_vec);
+      pb_vec = (vector signed short) vec_sub(a_vec , c_vec);
+      pc_vec = vec_add(pa_vec,pb_vec);
+      pa_vec = vec_abs(pa_vec);
+      pb_vec = vec_abs(pb_vec);
+      pc_vec = vec_abs(pc_vec);
+      smallest_vec = vec_min(pc_vec, vec_min(pa_vec,pb_vec));
+      nearest_vec =  if_then_else(
+            vec_cmpeq(pa_vec,smallest_vec),
+            a_vec,
+            if_then_else(
+              vec_cmpeq(pb_vec,smallest_vec),
+              b_vec,
+              c_vec
+              )
+            );
+      rp_vec = vec_add(rp_vec,(vsx_short_to_char(nearest_vec,3,4)));
+
+      vec_st(rp_vec,0,rp);
+
+      rp += 16;
+      pp += 16;
+      istop -= 16;
+   }
+
+   if(istop > 0)
+      for (i = 0; i < istop % 16; i++)
+      {
+         vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp)
+      }
+}
+
+void png_read_filter_row_paeth3_vsx(png_row_infop row_info, png_bytep row,
+   png_const_bytep prev_row)
+{
+  const png_byte bpp = 3;
+
+  int a, b, c, pa, pb, pc, p;
+  vector unsigned char rp_vec;
+  vector unsigned char pp_vec;
+  vector unsigned short a_vec,b_vec,c_vec,nearest_vec;
+  vector signed short pa_vec,pb_vec,pc_vec,smallest_vec;
+
+  vsx_declare_common_vars(row_info,row,prev_row,bpp)
+  rp -= bpp;
+  if(istop >= bpp)
+     istop -= bpp;
+
+  /* Process the first pixel in the row completely (this is the same as 'up'
+   * because there is only one candidate predictor for the first row).
+   */
+  for(i = 0; i < bpp ; i++)
+  {
+     *rp = (png_byte)( *rp + *pp);
+     rp++;
+     pp++;
+  }
+
+  for(i = 0; i < unaligned_top ; i++)
+  {
+     vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp)
+  }
+
+  while( istop >= 16)
+  {
+     for(i = 0; i < bpp ; i++)
+     {
+        vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp)
+     }
+
+     rp -= bpp;
+     pp -= bpp;
+     rp_vec = vec_ld(0,rp);
+     vec_ld_unaligned(pp_vec,pp);
+
+     a_vec = vsx_char_to_short(vec_perm(rp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED1_3),1,3);
+     b_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_NOT_SHIFTED1_3),1,3);
+     c_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED1_3),1,3);
+     pa_vec = (vector signed short) vec_sub(b_vec,c_vec);
+     pb_vec = (vector signed short) vec_sub(a_vec , c_vec);
+     pc_vec = vec_add(pa_vec,pb_vec);
+     pa_vec = vec_abs(pa_vec);
+     pb_vec = vec_abs(pb_vec);
+     pc_vec = vec_abs(pc_vec);
+     smallest_vec = vec_min(pc_vec, vec_min(pa_vec,pb_vec));
+     nearest_vec =  if_then_else(
+           vec_cmpeq(pa_vec,smallest_vec),
+           a_vec,
+           if_then_else(
+             vec_cmpeq(pb_vec,smallest_vec),
+             b_vec,
+             c_vec
+             )
+           );
+     rp_vec = vec_add(rp_vec,(vsx_short_to_char(nearest_vec,1,3)));
+
+     a_vec = vsx_char_to_short(vec_perm(rp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED2_3),2,3);
+     b_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_NOT_SHIFTED2_3),2,3);
+     c_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED2_3),2,3);
+     pa_vec = (vector signed short) vec_sub(b_vec,c_vec);
+     pb_vec = (vector signed short) vec_sub(a_vec , c_vec);
+     pc_vec = vec_add(pa_vec,pb_vec);
+     pa_vec = vec_abs(pa_vec);
+     pb_vec = vec_abs(pb_vec);
+     pc_vec = vec_abs(pc_vec);
+     smallest_vec = vec_min(pc_vec, vec_min(pa_vec,pb_vec));
+     nearest_vec =  if_then_else(
+           vec_cmpeq(pa_vec,smallest_vec),
+           a_vec,
+           if_then_else(
+             vec_cmpeq(pb_vec,smallest_vec),
+             b_vec,
+             c_vec
+             )
+           );
+     rp_vec = vec_add(rp_vec,(vsx_short_to_char(nearest_vec,2,3)));
+
+     a_vec = vsx_char_to_short(vec_perm(rp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED3_3),3,3);
+     b_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_NOT_SHIFTED3_3),3,3);
+     c_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED3_3),3,3);
+     pa_vec = (vector signed short) vec_sub(b_vec,c_vec);
+     pb_vec = (vector signed short) vec_sub(a_vec , c_vec);
+     pc_vec = vec_add(pa_vec,pb_vec);
+     pa_vec = vec_abs(pa_vec);
+     pb_vec = vec_abs(pb_vec);
+     pc_vec = vec_abs(pc_vec);
+     smallest_vec = vec_min(pc_vec, vec_min(pa_vec,pb_vec));
+     nearest_vec =  if_then_else(
+           vec_cmpeq(pa_vec,smallest_vec),
+           a_vec,
+           if_then_else(
+             vec_cmpeq(pb_vec,smallest_vec),
+             b_vec,
+             c_vec
+             )
+           );
+     rp_vec = vec_add(rp_vec,(vsx_short_to_char(nearest_vec,3,3)));
+
+     a_vec = vsx_char_to_short(vec_perm(rp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED4_3),4,3);
+     b_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_NOT_SHIFTED4_3),4,3);
+     c_vec = vsx_char_to_short(vec_perm(pp_vec , VSX_CHAR_ZERO , VSX_LEFTSHIFTED4_3),4,3);
+     pa_vec = (vector signed short) vec_sub(b_vec,c_vec);
+     pb_vec = (vector signed short) vec_sub(a_vec , c_vec);
+     pc_vec = vec_add(pa_vec,pb_vec);
+     pa_vec = vec_abs(pa_vec);
+     pb_vec = vec_abs(pb_vec);
+     pc_vec = vec_abs(pc_vec);
+     smallest_vec = vec_min(pc_vec, vec_min(pa_vec,pb_vec));
+     nearest_vec =  if_then_else(
+           vec_cmpeq(pa_vec,smallest_vec),
+           a_vec,
+           if_then_else(
+             vec_cmpeq(pb_vec,smallest_vec),
+             b_vec,
+             c_vec
+             )
+           );
+     rp_vec = vec_add(rp_vec,(vsx_short_to_char(nearest_vec,4,3)));
+
+     vec_st(rp_vec,0,rp);
+
+     rp += 15;
+     pp += 15;
+     istop -= 16;
+
+     /* Since 16 % bpp = 16 % 3 = 1, last element of array must
+      * be proceeded manually
+      */
+     vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp)
+  }
+
+  if(istop > 0)
+     for (i = 0; i < istop % 16; i++)
+     {
+        vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp)
+     }
+}
+
+#endif /* PNG_POWERPC_VSX_OPT > 0 */
+#endif /* PNG_POWERPC_VSX_IMPLEMENTATION == 1 (intrinsics) */
+#endif /* READ */


Property changes on: branches/stable/source/src/libs/libpng/libpng-src/powerpc/filter_vsx_intrinsics.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/libs/libpng/libpng-src/powerpc/powerpc_init.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/powerpc/powerpc_init.c	                        (rev 0)
+++ branches/stable/source/src/libs/libpng/libpng-src/powerpc/powerpc_init.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -0,0 +1,125 @@
+
+/* powerpc_init.c - POWERPC optimised filter functions
+ *
+ * Copyright (c) 2017 Glenn Randers-Pehrson
+ * Written by Vadim Barkov, 2017.
+ * Last changed in libpng 1.6.29 [March 16, 2017]
+ *
+ * This code is released under the libpng license.
+ * For conditions of distribution and use, see the disclaimer
+ * and license in png.h
+ */
+/* Below, after checking __linux__, various non-C90 POSIX 1003.1 functions are
+ * called.
+ */
+#define _POSIX_SOURCE 1
+
+#include <stdio.h>
+#include "../pngpriv.h"
+
+#ifdef PNG_READ_SUPPORTED
+
+#if PNG_POWERPC_VSX_OPT > 0
+#ifdef PNG_POWERPC_VSX_CHECK_SUPPORTED /* Do run-time checks */
+/* WARNING: it is strongly recommended that you do not build libpng with
+ * run-time checks for CPU features if at all possible.  In the case of the PowerPC
+ * VSX instructions there is no processor-specific way of detecting the
+ * presence of the required support, therefore run-time detection is extremely
+ * OS specific.
+ *
+ * You may set the macro PNG_POWERPC_VSX_FILE to the file name of file containing
+ * a fragment of C source code which defines the png_have_vsx function.  There
+ * are a number of implementations in contrib/powerpc-vsx, but the only one that
+ * has partial support is contrib/powerpc-vsx/linux.c - a generic Linux
+ * implementation which reads /proc/cpufino.
+ */
+#ifndef PNG_POWERPC_VSX_FILE
+#  ifdef __linux__
+#     define  PNG_POWERPC_VSX_FILE "contrib/powerpc-vsx/linux_aux.c"
+#  endif
+#endif
+
+#ifdef PNG_POWERPC_VSX_FILE
+
+#include <signal.h> /* for sig_atomic_t */
+static int png_have_vsx(png_structp png_ptr);
+#include PNG_POWERPC_VSX_FILE
+
+#else  /* PNG_POWERPC_VSX_FILE */
+#  error "PNG_POWERPC_VSX_FILE undefined: no support for run-time POWERPC VSX checks"
+#endif /* PNG_POWERPC_VSX_FILE */
+#endif /* PNG_POWERPC_VSX_CHECK_SUPPORTED */
+
+void
+png_init_filter_functions_vsx(png_structp pp, unsigned int bpp)
+{
+   /* The switch statement is compiled in for POWERPC_VSX_API, the call to
+    * png_have_vsx is compiled in for POWERPC_VSX_CHECK. If both are defined
+    * the check is only performed if the API has not set the PowerPC option on
+    * or off explicitly. In this case the check controls what happens.
+    */
+
+#ifdef PNG_POWERPC_VSX_API_SUPPORTED
+   switch ((pp->options >> PNG_POWERPC_VSX) & 3)
+   {
+      case PNG_OPTION_UNSET:
+         /* Allow the run-time check to execute if it has been enabled -
+          * thus both API and CHECK can be turned on.  If it isn't supported
+          * this case will fall through to the 'default' below, which just
+          * returns.
+          */
+#endif /* PNG_POWERPC_VSX_API_SUPPORTED */
+#ifdef PNG_POWERPC_VSX_CHECK_SUPPORTED
+         {
+            static volatile sig_atomic_t no_vsx = -1; /* not checked */
+
+            if (no_vsx < 0)
+               no_vsx = !png_have_vsx(pp);
+
+            if (no_vsx)
+               return;
+         }
+#ifdef PNG_POWERPC_VSX_API_SUPPORTED
+         break;
+#endif
+#endif /* PNG_POWERPC_VSX_CHECK_SUPPORTED */
+
+#ifdef PNG_POWERPC_VSX_API_SUPPORTED
+      default: /* OFF or INVALID */
+         return;
+
+      case PNG_OPTION_ON:
+         /* Option turned on */
+         break;
+   }
+#endif
+
+   /* IMPORTANT: any new internal functions used here must be declared using
+    * PNG_INTERNAL_FUNCTION in ../pngpriv.h.  This is required so that the
+    * 'prefix' option to configure works:
+    *
+    *    ./configure --with-libpng-prefix=foobar_
+    *
+    * Verify you have got this right by running the above command, doing a build
+    * and examining pngprefix.h; it must contain a #define for every external
+    * function you add.  (Notice that this happens automatically for the
+    * initialization function.)
+    */
+   pp->read_filter[PNG_FILTER_VALUE_UP-1] = png_read_filter_row_up_vsx;
+
+   if (bpp == 3)
+   {
+      pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub3_vsx;
+      pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg3_vsx;
+      pp->read_filter[PNG_FILTER_VALUE_PAETH-1] = png_read_filter_row_paeth3_vsx;
+   }
+
+   else if (bpp == 4)
+   {
+      pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub4_vsx;
+      pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg4_vsx;
+      pp->read_filter[PNG_FILTER_VALUE_PAETH-1] = png_read_filter_row_paeth4_vsx;
+   }
+}
+#endif /* PNG_POWERPC_VSX_OPT > 0 */
+#endif /* READ */


Property changes on: branches/stable/source/src/libs/libpng/libpng-src/powerpc/powerpc_init.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/stable/source/src/libs/libpng/libpng-src/projects/vstudio/README.txt
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/projects/vstudio/README.txt	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/projects/vstudio/README.txt	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.6.28 - January 5, 2017
+libpng version 1.6.29 - March 16, 2017
 
 Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson
 

Modified: branches/stable/source/src/libs/libpng/libpng-src/projects/vstudio/zlib.props
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/projects/vstudio/zlib.props	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/projects/vstudio/zlib.props	2017-11-01 17:53:02 UTC (rev 778)
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.6.28 - January 5, 2017
+ * libpng version 1.6.29 - March 16, 2017
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/README.txt
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/README.txt	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/README.txt	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,9 +1,9 @@
 
-Makefiles for  libpng version 1.6.28 - January 5, 2017
+Makefiles for  libpng version 1.6.29 - March 16, 2017
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng16.so.16.1.6.28)
+                       (gcc, creates libpng16.so.16.1.6.29)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
@@ -33,12 +33,12 @@
  makefile.os2      =>  OS/2 Makefile (gcc and emx, requires libpng.def)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng16.so.16.1.6.28)
+                       creates libpng16.so.16.1.6.29)
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng16.so.16.1.6.28)
+                       creates libpng16.so.16.1.6.29)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng16.so.16.1.6.28)
+                       creates libpng16.so.16.1.6.29)
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.sunos    =>  Sun makefile
  makefile.32sunu   =>  Sun Ultra 32-bit makefile

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/def.c
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/def.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/def.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -21,7 +21,7 @@
 PNG_DFN "OS2 CODE PRELOAD MOVEABLE DISCARDABLE"
 PNG_DFN ""
 PNG_DFN "EXPORTS"
-PNG_DFN ";Version 1.6.28"
+PNG_DFN ";Version 1.6.29"
 
 #define PNG_EXPORTA(ordinal, type, name, args, attributes)\
         PNG_DFN "@" SYMBOL_PREFIX "@@" name "@"

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/libpng-config-head.in
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/libpng-config-head.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/libpng-config-head.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -11,7 +11,7 @@
 
 # Modeled after libxml-config.
 
-version=1.6.28
+version=1.6.29
 prefix=""
 libdir=""
 libs=""

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/libpng.pc.in
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/libpng.pc.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/libpng.pc.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -5,6 +5,6 @@
 
 Name: libpng
 Description: Loads and saves PNG files
-Version: 1.6.28
+Version: 1.6.29
 Libs: -L${libdir} -lpng16
 Cflags: -I${includedir}

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.cegcc
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.cegcc	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.cegcc	2017-11-01 17:53:02 UTC (rev 778)
@@ -23,7 +23,7 @@
 
 VERMAJ = 1
 VERMIN = 6
-VERMIC = 28
+VERMIC = 29
 VER = $(VERMAJ).$(VERMIN).$(VERMIC)
 NAME = libpng
 PACKAGE = $(NAME)-$(VER)

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.linux
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.linux	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.linux	2017-11-01 17:53:02 UTC (rev 778)
@@ -10,7 +10,7 @@
 # Library name:
 LIBNAME = libpng16
 PNGMAJ = 16
-RELEASE = 28
+RELEASE = 29
 
 # Shared library names:
 LIBSO=$(LIBNAME).so

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.msys
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.msys	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.msys	2017-11-01 17:53:02 UTC (rev 778)
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng16
 PNGMAJ = 16
-RELEASE = 28
+RELEASE = 29
 
 # Shared library names:
 LIBSO=$(LIBNAME).dll

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.ne12bsd
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.ne12bsd	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.ne12bsd	2017-11-01 17:53:02 UTC (rev 778)
@@ -17,7 +17,7 @@
 
 LIB=	png16
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.6.28
+SHLIB_MINOR=	1.6.29
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.netbsd
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.netbsd	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.netbsd	2017-11-01 17:53:02 UTC (rev 778)
@@ -17,7 +17,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	16
-SHLIB_MINOR=	1.6.28
+SHLIB_MINOR=	1.6.29
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.openbsd
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.openbsd	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/makefile.openbsd	2017-11-01 17:53:02 UTC (rev 778)
@@ -11,7 +11,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	16
-SHLIB_MINOR=	1.6.28
+SHLIB_MINOR=	1.6.29
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/pnglibconf.dfa
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/pnglibconf.dfa	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/pnglibconf.dfa	2017-11-01 17:53:02 UTC (rev 778)
@@ -229,6 +229,33 @@
 option ARM_NEON_CHECK disabled requires ALIGNED_MEMORY,
    sets ARM_NEON_OPT 1
 
+# These options are specific to the PowerPC VSX hardware optimizations.
+#
+# POWERPC_VSX_OPT: unset: check at compile time (__PPC64__,__ALTIVEC__,__VSX__
+#                      must be defined by the compiler, typically as a result
+#                      of specifying
+#                      "-mvsx -maltivec" compiler flags)
+#                   0: disable (even if the CPU supports VSX.)
+#                   1: check at run time (via POWERPC_VSX_{API,CHECK})
+#                   2: switch on unconditionally (inadvisable - instead pass
+#                      -mvsx -maltivec to compiler options)
+#           When building libpng avoid using any setting other than '0'; '1' is
+#           set automatically when either 'API' or 'CHECK' are configured in,
+#           '2' should not be necessary as "-mvsx -maltivec" will achieve the same
+#           effect as well as applying VSX optimizations to the rest of the
+#           libpng code.
+# POWERPC_VSX_API:   (PNG_POWERPC_VSX == 1) allow the optimization to be switched on
+#                 with png_set_option
+# POWERPC_VSX_CHECK: (PNG_POWERPC_VSX == 1) compile a run-time check to see if VSX
+#                 extensions are supported. This is supported not for all OSes
+#                 (see contrib/powerpc/README)
+setting POWERPC_VSX_OPT
+option POWERPC_VSX_API disabled enables SET_OPTION,
+  sets POWERPC_VSX_OPT 1
+option POWERPC_VSX_CHECK disabled,
+  sets POWERPC_VSX_OPT 1
+
+
 # These settings configure the default compression level (0-9) and 'strategy';
 # strategy is as defined by the implementors of zlib. It describes the input
 # data and modifies the zlib parameters in an attempt to optimize the balance

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/pnglibconf.h.prebuilt
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/pnglibconf.h.prebuilt	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/pnglibconf.h.prebuilt	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,8 @@
-/* libpng 1.6.28 STANDARD API DEFINITION */
+/* libpng 1.6.29 STANDARD API DEFINITION */
 
 /* pnglibconf.h - library build configuration */
 
-/* Libpng version 1.6.28 - January 5, 2017 */
+/* Libpng version 1.6.29 - March 16, 2017 */
 
 /* Copyright (c) 1998-2015 Glenn Randers-Pehrson */
 
@@ -20,6 +20,8 @@
 #define PNG_ALIGNED_MEMORY_SUPPORTED
 /*#undef PNG_ARM_NEON_API_SUPPORTED*/
 /*#undef PNG_ARM_NEON_CHECK_SUPPORTED*/
+/*#undef PNG_POWERPC_VSX_API_SUPPORTED*/
+/*#undef PNG_POWERPC_VSX_CHECK_SUPPORTED*/
 #define PNG_BENIGN_ERRORS_SUPPORTED
 #define PNG_BENIGN_READ_ERRORS_SUPPORTED
 /*#undef PNG_BENIGN_WRITE_ERRORS_SUPPORTED*/

Modified: branches/stable/source/src/libs/libpng/libpng-src/scripts/symbols.def
===================================================================
--- branches/stable/source/src/libs/libpng/libpng-src/scripts/symbols.def	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/libpng-src/scripts/symbols.def	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-;Version 1.6.28
+;Version 1.6.29
 ;--------------------------------------------------------------
 ; LIBPNG symbol list as a Win32 DEF file
 ; Contains all the symbols that can be exported from libpng

Modified: branches/stable/source/src/libs/libpng/version.ac
===================================================================
--- branches/stable/source/src/libs/libpng/version.ac	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/libpng/version.ac	2017-11-01 17:53:02 UTC (rev 778)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current libpng version
-m4_define([libpng_version], [1.6.28])
+m4_define([libpng_version], [1.6.29])

Modified: branches/stable/source/src/libs/poppler/Makefile.am
===================================================================
--- branches/stable/source/src/libs/poppler/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/poppler/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,7 +1,8 @@
+## $Id: Makefile.am 43567 2017-03-21 17:43:10Z karl $
 ## Proxy Makefile.am to build poppler for TeX Live.
 ##
-##   Copyright (C) 2016 Karl Berry <tex-live at tug.org>
-##   Copyright (C) 2011-2015 Peter Breitenlohner <tex-live at tug.org>
+##   Copyright 2016-2017 Karl Berry <tex-live at tug.org>
+##   Copyright 2011-2015 Peter Breitenlohner <tex-live at tug.org>
 ##
 ##   This file is free software; the copyright holder
 ##   gives unlimited permission to copy and/or distribute it,
@@ -13,7 +14,7 @@
 
 ## Changes applied to the original source tree
 ##
-EXTRA_DIST += poppler-PATCHES
+EXTRA_DIST += TLpatches
 
 # Files not to be distributed
 include $(srcdir)/../../am/dist_hook.am

Modified: branches/stable/source/src/libs/poppler/Makefile.in
===================================================================
--- branches/stable/source/src/libs/poppler/Makefile.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/poppler/Makefile.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -429,7 +429,7 @@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = $(POPPLER_TREE) poppler-PATCHES
+EXTRA_DIST = $(POPPLER_TREE) TLpatches
 NEVER_DIST = `find . $(NEVER_NAMES)`
 
 # Files not to be distributed

Modified: branches/stable/source/src/libs/poppler/TLpatches/patch-02-LLONG_MAX
===================================================================
--- branches/stable/source/src/libs/poppler/TLpatches/patch-02-LLONG_MAX	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/poppler/TLpatches/patch-02-LLONG_MAX	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 diff -ur poppler-0.52.0.orig/goo/GooString.h poppler-0.52.0/goo/GooString.h
 --- poppler-0.52.0.orig/goo/GooString.h	Tue Jan 17 06:36:57 2017
-+++ poppler-0.52.0/goo/GooString.h	Fri Feb 17 08:54:28 2017
++++ poppler-0.52.0/goo/GooString.h	Tue Mar 21 12:18:41 2017
 @@ -36,6 +36,21 @@
  #endif
  

Modified: branches/stable/source/src/libs/poppler/TLpatches/patch-03-Object-functions
===================================================================
--- branches/stable/source/src/libs/poppler/TLpatches/patch-03-Object-functions	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/poppler/TLpatches/patch-03-Object-functions	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 diff -ur poppler-0.52.0.orig/poppler/Object.h poppler-0.52.0/poppler/Object.h
 --- poppler-0.52.0.orig/poppler/Object.h	Tue Jan 17 06:36:58 2017
-+++ poppler-0.52.0/poppler/Object.h	Fri Feb 17 08:57:36 2017
++++ poppler-0.52.0/poppler/Object.h	Tue Mar 21 12:21:07 2017
 @@ -148,7 +148,7 @@
    Object *initStream(Stream *streamA);
    Object *initRef(int numA, int genA)

Modified: branches/stable/source/src/libs/xpdf/ChangeLog
===================================================================
--- branches/stable/source/src/libs/xpdf/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/xpdf/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,3 +1,7 @@
+2017-03-27  Karl Berry  <karl at freefriends.org>
+
+	* Makefile.am (EXTRA_DIST): TLpatches not Tlpatches.
+
 2016-02-15  Karl Berry  <karl at tug.org>
 
 	* xpdf-PATCHES: rename from xpdf-3.04-PATCHES.

Modified: branches/stable/source/src/libs/xpdf/Makefile.am
===================================================================
--- branches/stable/source/src/libs/xpdf/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/xpdf/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,7 +1,8 @@
+## $Id: Makefile.am 43617 2017-03-27 18:00:45Z karl $
 ## Proxy Makefile.am to build xpdf for TeX Live.
 ##
-##   Copyright (C) 2016 Karl Berry <tex-live at tug.org>
-##   Copyright (C) 2009-2015 Peter Breitenlohner <tex-live at tug.org>
+##   Copyright 2016-2017 Karl Berry <tex-live at tug.org>
+##   Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
 ##
 ##   This file is free software; the copyright holder
 ##   gives unlimited permission to copy and/or distribute it,
@@ -30,8 +31,7 @@
 EXTRA_DIST += xpdf-foolabs
 
 ## Actual patches applied to the original source tree
-##
-EXTRA_DIST += xpdf-PATCHES
+EXTRA_DIST += TLpatches
 
 # Files not to be distributed
 include $(srcdir)/../../am/dist_hook.am
@@ -122,4 +122,3 @@
 CLEANFILES =
 
 include $(srcdir)/../../am/rebuild.am
-

Modified: branches/stable/source/src/libs/xpdf/Makefile.in
===================================================================
--- branches/stable/source/src/libs/xpdf/Makefile.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/xpdf/Makefile.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -395,7 +395,7 @@
 #========================================================================
 #========================================================================
 ACLOCAL_AMFLAGS = -I ../../m4
-EXTRA_DIST = $(XPDF_TREE) xpdf-foolabs xpdf-PATCHES
+EXTRA_DIST = $(XPDF_TREE) xpdf-foolabs TLpatches
 NEVER_DIST = `find . $(NEVER_NAMES)`
 
 # Files not to be distributed

Modified: branches/stable/source/src/libs/zlib/Makefile.am
===================================================================
--- branches/stable/source/src/libs/zlib/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/zlib/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,7 +1,8 @@
+## $Id: Makefile.am 43567 2017-03-21 17:43:10Z karl $
 ## Proxy Makefile.am to build zlib for TeX Live.
 ##
-##   Copyright (C) 2016 Karl Berry <tex-live at tug.org>
-##   Copyright (C) 2009-2015 Peter Breitenlohner <tex-live at tug.org>
+##   Copyright 2016-2017 Karl Berry <tex-live at tug.org>
+##   Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
 ##
 ##   This file is free software; the copyright holder
 ##   gives unlimited permission to copy and/or distribute it,
@@ -13,7 +14,7 @@
 
 ## Changes applied to the original source tree
 ##
-EXTRA_DIST += zlib-PATCHES
+EXTRA_DIST += TLpatches
 
 # Files not to be distributed
 include $(srcdir)/../../am/dist_hook.am

Modified: branches/stable/source/src/libs/zlib/Makefile.in
===================================================================
--- branches/stable/source/src/libs/zlib/Makefile.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/libs/zlib/Makefile.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -558,7 +558,7 @@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = $(ZLIB_TREE) zlib-PATCHES
+EXTRA_DIST = $(ZLIB_TREE) TLpatches
 NEVER_DIST = `find . $(NEVER_NAMES)`
 
 # Files not to be distributed

Modified: branches/stable/source/src/m4/kpse-setup.m4
===================================================================
--- branches/stable/source/src/m4/kpse-setup.m4	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/m4/kpse-setup.m4	2017-11-01 17:53:02 UTC (rev 778)
@@ -276,20 +276,10 @@
 MAKE_SUBDIRS=
 KPSE_FOR_PKGS([$1], [dnl
 m4_ifdef([have_]Kpse_pkg, [dnl
-if test -x $srcdir/$4Kpse_Pkg/configure; then
-  $3 && Kpse_add([MAKE_SUBDIRS])
+if test -x $srcdir/$4Kpse_Pkg/configure && $3; then
   Kpse_add([CONF_SUBDIRS])
+  Kpse_add([MAKE_SUBDIRS])
 fi
-#
-#old if test -x $srcdir/$4Kpse_Pkg/configure; then
-#old   $3 && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/$4Kpse_Pkg/configure && $3; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
 ])[]dnl m4_ifdef
 ])
 AC_SUBST([CONF_SUBDIRS])[]dnl

Modified: branches/stable/source/src/texk/README
===================================================================
--- branches/stable/source/src/texk/README	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/README	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-$Id: README 43293 2017-02-21 23:54:15Z karl $
+$Id: README 43927 2017-04-19 22:27:13Z karl $
 Copyright 2006-2017 TeX Users Group.
 You may freely use, modify and/or distribute this file.
 
@@ -61,7 +61,7 @@
 dvisvgm 2.1.3 - checked 21feb17
   http://dvisvgm.bplaced.net/Downloads
 
-gregorio 4.2.0 - checked 25sep16
+gregorio 5.0.1 - checked 16apr17
   https://github.com/gregorio-project/gregorio/releases/
 
 gsftopk - from Paul Vojta's xdvi?
@@ -108,9 +108,9 @@
        aleph - maintained here
         ctie - CTAN
         cweb - knuth, ftp://ftp.cs.stanford.edu/pub/cweb/
-       eptex - https://osdn.jp/projects/eptex/
+       eptex - https://osdn.jp/projects/eptex,https://texwiki.texjp.org/?e-pTeX
         etex - maintained here
-      euptex - https://texwiki.texjp.org/?e-pTeX
+      euptex - https://texwiki.texjp.org/?upTeX%2CupLaTeX
   mflua[jit] - https://foundry.supelec.fr/projects/mflua/
     mplibdir - http://tug.org/metapost
       luatex - http://luatex.org
@@ -117,7 +117,7 @@
       pdftex - http://pdftex.org
       pmpost - none
         ptex - nothing current, old info: http://ascii.asciimw.jp/pb/ptex/
-     synctex - maintained here
+     synctex - maintained here, but also https://github.com/jlaurens/synctex
      upmpost - ? (Kitagawa-san)
        uptex - https://texwiki.texjp.org/?upTeX%2CupLaTeX
        xetex - http://tug.org/xetex/

Modified: branches/stable/source/src/texk/configure
===================================================================
--- branches/stable/source/src/texk/configure	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/configure	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for TeX Live texk 2017/dev.
+# Generated by GNU Autoconf 2.69 for TeX Live texk 2017.
 #
 # Report bugs to <tex-live at tug.org>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='TeX Live texk'
 PACKAGE_TARNAME='tex-live-texk'
-PACKAGE_VERSION='2017/dev'
-PACKAGE_STRING='TeX Live texk 2017/dev'
+PACKAGE_VERSION='2017'
+PACKAGE_STRING='TeX Live texk 2017'
 PACKAGE_BUGREPORT='tex-live at tug.org'
 PACKAGE_URL=''
 
@@ -1394,7 +1394,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures TeX Live texk 2017/dev to adapt to many kinds of systems.
+\`configure' configures TeX Live texk 2017 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1464,7 +1464,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of TeX Live texk 2017/dev:";;
+     short | recursive ) echo "Configuration of TeX Live texk 2017:";;
    esac
   cat <<\_ACEOF
 
@@ -1753,7 +1753,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-TeX Live texk configure 2017/dev
+TeX Live texk configure 2017
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1854,7 +1854,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by TeX Live texk $as_me 2017/dev, which was
+It was created by TeX Live texk $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3836,7 +3836,6 @@
 test "x$enable_web2c:$enable_luatex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_lua52=yes
@@ -3855,7 +3854,6 @@
 test "x$enable_web2c:$enable_luajittex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_luajit=yes
@@ -6063,7 +6061,7 @@
 
 # Define the identity of the package.
  PACKAGE='tex-live-texk'
- VERSION='2017/dev'
+ VERSION='2017'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6398,440 +6396,130 @@
 $as_echo_n "checking for TeXk programs to build... " >&6; }
 CONF_SUBDIRS=
 MAKE_SUBDIRS=
-if test -x $srcdir/web2c/configure; then
-  test "x$enable_web2c" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS web2c"
+if test -x $srcdir/web2c/configure && test "x$enable_web2c" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS web2c"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS web2c"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/afm2pl/configure; then
-  test "x$enable_afm2pl" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS afm2pl"
+if test -x $srcdir/afm2pl/configure && test "x$enable_afm2pl" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS afm2pl"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS afm2pl"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/bibtex-x/configure; then
-  test "x$enable_bibtex_x" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS bibtex-x"
+if test -x $srcdir/bibtex-x/configure && test "x$enable_bibtex_x" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS bibtex-x"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS bibtex-x"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/chktex/configure; then
-  test "x$enable_chktex" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS chktex"
+if test -x $srcdir/chktex/configure && test "x$enable_chktex" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS chktex"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS chktex"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/cjkutils/configure; then
-  test "x$enable_cjkutils" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS cjkutils"
+if test -x $srcdir/cjkutils/configure && test "x$enable_cjkutils" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS cjkutils"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS cjkutils"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/detex/configure; then
-  test "x$enable_detex" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS detex"
+if test -x $srcdir/detex/configure && test "x$enable_detex" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS detex"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS detex"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dtl/configure; then
-  test "x$enable_dtl" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dtl"
+if test -x $srcdir/dtl/configure && test "x$enable_dtl" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dtl"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dtl"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dvi2tty/configure; then
-  test "x$enable_dvi2tty" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dvi2tty"
+if test -x $srcdir/dvi2tty/configure && test "x$enable_dvi2tty" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dvi2tty"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dvi2tty"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dvidvi/configure; then
-  test "x$enable_dvidvi" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dvidvi"
+if test -x $srcdir/dvidvi/configure && test "x$enable_dvidvi" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dvidvi"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dvidvi"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dviljk/configure; then
-  test "x$enable_dviljk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dviljk"
+if test -x $srcdir/dviljk/configure && test "x$enable_dviljk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dviljk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dviljk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dvipdfm-x/configure; then
-  test "x$enable_dvipdfm_x" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dvipdfm-x"
+if test -x $srcdir/dvipdfm-x/configure && test "x$enable_dvipdfm_x" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dvipdfm-x"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dvipdfm-x"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dvipng/configure; then
-  test "x$enable_dvipng" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dvipng"
+if test -x $srcdir/dvipng/configure && test "x$enable_dvipng" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dvipng"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dvipng"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dvipos/configure; then
-  test "x$enable_dvipos" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dvipos"
+if test -x $srcdir/dvipos/configure && test "x$enable_dvipos" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dvipos"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dvipos"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dvipsk/configure; then
-  test "x$enable_dvipsk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dvipsk"
+if test -x $srcdir/dvipsk/configure && test "x$enable_dvipsk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dvipsk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dvipsk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/dvisvgm/configure; then
-  test "x$enable_dvisvgm" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS dvisvgm"
+if test -x $srcdir/dvisvgm/configure && test "x$enable_dvisvgm" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS dvisvgm"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS dvisvgm"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/gregorio/configure; then
-  test "x$enable_gregorio" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS gregorio"
+if test -x $srcdir/gregorio/configure && test "x$enable_gregorio" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS gregorio"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS gregorio"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/gsftopk/configure; then
-  test "x$enable_gsftopk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS gsftopk"
+if test -x $srcdir/gsftopk/configure && test "x$enable_gsftopk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS gsftopk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS gsftopk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/lcdf-typetools/configure; then
-  test "x$enable_lcdf_typetools" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS lcdf-typetools"
+if test -x $srcdir/lcdf-typetools/configure && test "x$enable_lcdf_typetools" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS lcdf-typetools"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS lcdf-typetools"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/makeindexk/configure; then
-  test "x$enable_makeindexk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS makeindexk"
+if test -x $srcdir/makeindexk/configure && test "x$enable_makeindexk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS makeindexk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS makeindexk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/makejvf/configure; then
-  test "x$enable_makejvf" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS makejvf"
+if test -x $srcdir/makejvf/configure && test "x$enable_makejvf" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS makejvf"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS makejvf"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/mendexk/configure; then
-  test "x$enable_mendexk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS mendexk"
+if test -x $srcdir/mendexk/configure && test "x$enable_mendexk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS mendexk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS mendexk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/musixtnt/configure; then
-  test "x$enable_musixtnt" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS musixtnt"
+if test -x $srcdir/musixtnt/configure && test "x$enable_musixtnt" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS musixtnt"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS musixtnt"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/ps2pk/configure; then
-  test "x$enable_ps2pk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS ps2pk"
+if test -x $srcdir/ps2pk/configure && test "x$enable_ps2pk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS ps2pk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS ps2pk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/psutils/configure; then
-  test "x$enable_psutils" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS psutils"
+if test -x $srcdir/psutils/configure && test "x$enable_psutils" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS psutils"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS psutils"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/seetexk/configure; then
-  test "x$enable_seetexk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS seetexk"
+if test -x $srcdir/seetexk/configure && test "x$enable_seetexk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS seetexk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS seetexk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/tex4htk/configure; then
-  test "x$enable_tex4htk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS tex4htk"
+if test -x $srcdir/tex4htk/configure && test "x$enable_tex4htk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS tex4htk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS tex4htk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/ttf2pk2/configure; then
-  test "x$enable_ttf2pk2" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS ttf2pk2"
+if test -x $srcdir/ttf2pk2/configure && test "x$enable_ttf2pk2" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS ttf2pk2"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS ttf2pk2"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/ttfdump/configure; then
-  test "x$enable_ttfdump" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS ttfdump"
+if test -x $srcdir/ttfdump/configure && test "x$enable_ttfdump" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS ttfdump"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS ttfdump"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/upmendex/configure; then
-  test "x$enable_upmendex" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS upmendex"
+if test -x $srcdir/upmendex/configure && test "x$enable_upmendex" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS upmendex"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS upmendex"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/xdvik/configure; then
-  test "x$enable_xdvik" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS xdvik"
+if test -x $srcdir/xdvik/configure && test "x$enable_xdvik" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS xdvik"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS xdvik"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/texlive/configure; then
-  test "x$enable_texlive" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS texlive"
+if test -x $srcdir/texlive/configure && test "x$enable_texlive" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS texlive"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS texlive"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_SUBDIRS" >&5
 $as_echo "$MAKE_SUBDIRS" >&6; }
@@ -7409,7 +7097,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by TeX Live texk $as_me 2017/dev, which was
+This file was extended by TeX Live texk $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7466,7 +7154,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-TeX Live texk config.status 2017/dev
+TeX Live texk config.status 2017
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: branches/stable/source/src/texk/kpathsea/ChangeLog
===================================================================
--- branches/stable/source/src/texk/kpathsea/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,3 +1,54 @@
+2017-05-03  Karl Berry  <karl at tug.org>
+
+	* texmf.cnf (TEXMFAUXTREES): new variable (default value empty
+	string via empty braces), for tlmgr conf auxtrees.
+	(TEXMF): include $TEXMFAUXTREES, but don't assume it is nonempty.
+
+2017-04-22  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	* win32lib.c, mingw32.c: Update texlive_gs_init() (w32 only). 
+
+2017-04-21  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	* win32lib.c, mingw32.c: Update texlive_gs_init() (w32 only). 
+
+2017-04-14  Karl Berry  <karl at tug.org>
+
+	* texmf.cnf (shell_escape_commands): add texosquery-jre8.
+
+2017-04-13  Karl Berry  <karl at tug.org>
+
+	* texmf.cnf (TEXMF, TEXMFDBS): move TEXMFLOCAL to before TEXMFSYS*,
+	so, e.g., config.ps in TEXMFLOCAL overrides TEXMFSYSCONFIG.
+	Report from Michael Shell:
+	http://tug.org/pipermail/tex-live/2016-July/039062.html
+
+2017-04-05  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	* texmf.cnf: mendex requires the variable INDEXDICTIONARY.
+
+2017-03-27  Karl Berry  <karl at freefriends.org>
+
+	* Makefile.am (AM_TESTS_ENVIRONMENT): use instead of TESTS_ENVIRONMENT.
+
+2017-03-18  Karl Berry  <karl at tug.org>
+
+	* version.ac,
+	* NEWS,
+	* kpsewhich.c,
+	* texmf.cnf,
+	* doc/kpathsea.texi: version 6.2.3 for TL17.
+
+	* Makefile.am (nodist_kpseinclude_HEADERS): include c-auto.h here.
+	(kpseinclude_HEADERS): not here.
+	(nodist_kpselib_HEADERS): and not here; variable no longer needed.
+	Ken Brown on tldistro, 18 Mar 2017 16:50:41.
+
+2017-03-14  Karl Berry  <karl at tug.org>
+
+	* Makefile.am (kpseinclude_HEADERS): add c-auto.h. Report from
+	Ken Brown on tldistro, 14 Mar 2017 12:16:56.
+
 2017-03-02  Karl Berry  <karl at tug.org>
 
 	* texmf.cnf (TEXINPUTS.luajitlatex): add, same as lualatex.

Modified: branches/stable/source/src/texk/kpathsea/Makefile.am
===================================================================
--- branches/stable/source/src/texk/kpathsea/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,10 @@
+## $Id: Makefile.am 43617 2017-03-27 18:00:45Z karl $
 ## Makefile.am for the TeX Live subdirectory texk/kpathsea/
 ##
-## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live at tug.org>
+## Copyright 2017 Karl Berry <tex-live at tug.org>
+## Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
 ## You may freely use, modify and/or distribute this file.
-##
+
 SUBDIRS = . doc man
 
 EXTRA_DIST = PROJECTS
@@ -111,16 +113,12 @@
 kpseincludedir = ${includedir}/kpathsea
 
 nodist_kpseinclude_HEADERS = \
+	c-auto.h \
 	kpathsea.h \
 	paths.h
 
 kpseinclude_HEADERS = config.h $(direct_headers) $(indirect_headers)
 
-kpselibdir = ${libdir}/kpathsea
-
-nodist_kpselib_HEADERS = \
-	c-auto.h
-
 # Headers included directly into kpathsea.h
 #
 direct_headers = \
@@ -305,14 +303,18 @@
 
 uninstall-hook: uninstall-bin-links
 
-## The tests
+## Tests
+AM_TESTS_ENVIRONMENT  = LN_S='$(LN_S)'; export LN_S;
+AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
+#
 TESTS  = tests/cnfnewline.test tests/kpseaccess.test
 TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test
-TESTS_ENVIRONMENT = LN_S='$(LN_S)' LT_OBJDIR='$(LT_OBJDIR)'
+#
 tests/cnfnewline.log tests/kpsewhich.log: kpsewhich$(EXEEXT)
 tests/kpseaccess.log: kpseaccess$(EXEEXT)
 tests/kpsereadlink.log: kpsereadlink$(EXEEXT)
 tests/kpsestat.log: kpsestat$(EXEEXT)
+#
 EXTRA_DIST += $(TESTS)
 EXTRA_DIST += tests/cnfnewline/texmf.cnf
 
@@ -324,6 +326,4 @@
 include $(srcdir)/../../am/rebuild.am
 
 ## Not used
-##
 EXTRA_DIST += mktex.cnf
-

Modified: branches/stable/source/src/texk/kpathsea/Makefile.in
===================================================================
--- branches/stable/source/src/texk/kpathsea/Makefile.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/Makefile.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -172,7 +172,7 @@
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
 	"$(DESTDIR)$(web2cdir)" "$(DESTDIR)$(web2cdir)" \
 	"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(kpseincludedir)" \
-	"$(DESTDIR)$(kpseincludedir)" "$(DESTDIR)$(kpselibdir)"
+	"$(DESTDIR)$(kpseincludedir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libkpathsea_la_DEPENDENCIES = $(LTLIBOBJS)
 am__libkpathsea_la_SOURCES_DIST = tex-file.c absolute.c atou.c cnf.c \
@@ -307,7 +307,7 @@
   esac
 DATA = $(dist_noinst_DATA) $(dist_web2c_DATA) $(pkgconfig_DATA)
 HEADERS = $(kpseinclude_HEADERS) $(nodist_kpseinclude_HEADERS) \
-	$(nodist_kpselib_HEADERS) $(noinst_HEADERS)
+	$(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
 am__recursive_targets = \
@@ -694,6 +694,7 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 SUBDIRS = . doc man $(am__append_6)
+#
 EXTRA_DIST = PROJECTS putenv.c bsnl.awk cnf-to-paths.awk $(TESTS) \
 	tests/cnfnewline/texmf.cnf mktex.cnf
 AM_CPPFLAGS = -I$(top_builddir)/.. -I$(top_srcdir)/..
@@ -717,15 +718,12 @@
 	$(am__append_5) $(am__append_7)
 kpseincludedir = ${includedir}/kpathsea
 nodist_kpseinclude_HEADERS = \
+	c-auto.h \
 	kpathsea.h \
 	paths.h
 
 kpseinclude_HEADERS = config.h $(direct_headers) $(indirect_headers)
-kpselibdir = ${libdir}/kpathsea
-nodist_kpselib_HEADERS = \
-	c-auto.h
 
-
 # Headers included directly into kpathsea.h
 #
 direct_headers = \
@@ -802,10 +800,12 @@
 dist_noinst_SCRIPTS = mktexlsr mktexmf mktexpk mktextfm
 dist_noinst_DATA = texmf.cnf
 bin_links = mktexlsr:texhash
+AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \
+	LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
+#
 TESTS = tests/cnfnewline.test tests/kpseaccess.test \
 	tests/kpsereadlink.test tests/kpsestat.test \
 	tests/kpsewhich.test
-TESTS_ENVIRONMENT = LN_S='$(LN_S)' LT_OBJDIR='$(LT_OBJDIR)'
 
 # Rebuild
 rebuild_prereq = 
@@ -1622,28 +1622,7 @@
 	@list='$(nodist_kpseinclude_HEADERS)'; test -n "$(kpseincludedir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 	dir='$(DESTDIR)$(kpseincludedir)'; $(am__uninstall_files_from_dir)
-install-nodist_kpselibHEADERS: $(nodist_kpselib_HEADERS)
-	@$(NORMAL_INSTALL)
-	@list='$(nodist_kpselib_HEADERS)'; test -n "$(kpselibdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(kpselibdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(kpselibdir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(kpselibdir)'"; \
-	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(kpselibdir)" || exit $$?; \
-	done
 
-uninstall-nodist_kpselibHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(nodist_kpselib_HEADERS)'; test -n "$(kpselibdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(kpselibdir)'; $(am__uninstall_files_from_dir)
-
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run 'make' without going through this Makefile.
 # To change the values of 'make' variables: instead of editing Makefiles,
@@ -2104,7 +2083,7 @@
 
 installdirs: installdirs-recursive
 installdirs-am:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(web2cdir)" "$(DESTDIR)$(web2cdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(kpseincludedir)" "$(DESTDIR)$(kpseincludedir)" "$(DESTDIR)$(kpselibdir)"; do \
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(web2cdir)" "$(DESTDIR)$(web2cdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(kpseincludedir)" "$(DESTDIR)$(kpseincludedir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: $(BUILT_SOURCES)
@@ -2170,8 +2149,7 @@
 
 install-data-am: install-data-local install-dist_web2cDATA \
 	install-dist_web2cSCRIPTS install-kpseincludeHEADERS \
-	install-nodist_kpseincludeHEADERS \
-	install-nodist_kpselibHEADERS install-pkgconfigDATA
+	install-nodist_kpseincludeHEADERS install-pkgconfigDATA
 
 install-dvi: install-dvi-recursive
 
@@ -2224,8 +2202,7 @@
 uninstall-am: uninstall-binPROGRAMS uninstall-dist_web2cDATA \
 	uninstall-dist_web2cSCRIPTS uninstall-kpseincludeHEADERS \
 	uninstall-libLTLIBRARIES uninstall-local \
-	uninstall-nodist_kpseincludeHEADERS \
-	uninstall-nodist_kpselibHEADERS uninstall-pkgconfigDATA
+	uninstall-nodist_kpseincludeHEADERS uninstall-pkgconfigDATA
 	@$(NORMAL_INSTALL)
 	$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
 .MAKE: $(am__recursive_targets) all check check-am install install-am \
@@ -2246,8 +2223,7 @@
 	install-exec-local install-html install-html-am install-info \
 	install-info-am install-kpseincludeHEADERS \
 	install-libLTLIBRARIES install-man \
-	install-nodist_kpseincludeHEADERS \
-	install-nodist_kpselibHEADERS install-pdf install-pdf-am \
+	install-nodist_kpseincludeHEADERS install-pdf install-pdf-am \
 	install-pkgconfigDATA install-ps install-ps-am install-strip \
 	installcheck installcheck-am installdirs installdirs-am \
 	maintainer-clean maintainer-clean-generic mostlyclean \
@@ -2257,7 +2233,7 @@
 	uninstall-dist_web2cSCRIPTS uninstall-hook \
 	uninstall-kpseincludeHEADERS uninstall-libLTLIBRARIES \
 	uninstall-local uninstall-nodist_kpseincludeHEADERS \
-	uninstall-nodist_kpselibHEADERS uninstall-pkgconfigDATA
+	uninstall-pkgconfigDATA
 
 .PRECIOUS: Makefile
 
@@ -2355,6 +2331,7 @@
 install-exec-hook: install-bin-links
 
 uninstall-hook: uninstall-bin-links
+#
 tests/cnfnewline.log tests/kpsewhich.log: kpsewhich$(EXEEXT)
 tests/kpseaccess.log: kpseaccess$(EXEEXT)
 tests/kpsereadlink.log: kpsereadlink$(EXEEXT)

Modified: branches/stable/source/src/texk/kpathsea/NEWS
===================================================================
--- branches/stable/source/src/texk/kpathsea/NEWS	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/NEWS	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,11 @@
 This file records noteworthy changes.  (Public domain.)
 
+6.2.3 (for TeX Live 2017, 19 May 2017)
+* .OTF treated like .otf.
+* texmf.cnf: mpost removed from default shell_escape_commands.
+* texmf.cnf: TEXINPUTS.luajitlatex added.
+* texmf.cnf: default bibtex capacities increased.
+
 6.2.2 (for TeX Live 2016, 21 May 2016)
 * gregorio added to default shell_escape_commands.
 

Modified: branches/stable/source/src/texk/kpathsea/PROJECTS
===================================================================
--- branches/stable/source/src/texk/kpathsea/PROJECTS	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/PROJECTS	2017-11-01 17:53:02 UTC (rev 778)
@@ -5,11 +5,15 @@
 
 Kpathsea has never officially been released as a standalone library,
 even though in practice it is used that way by OS distributions.
-Perhaps it would be good to support a standalone release.
+It would be good to support a standalone release.
 
+It would be cleaner to always do a case-insensitive search for all
+suffixes, instead explicitly listing (for example) both ".otf" and ".OTF".
+
 For multiple texmf.cnf files (or multiple dvips configuration files),
 replace extra :'s by the value from the next file in the path, rather
-than the value from the next level.
+than the value from the next level. But compatibility probably requires
+that this not be done.
 
 Support runtime registration of file types to search for, not just
 compile-time. Either by a procedure call, or by reading a configuration

Modified: branches/stable/source/src/texk/kpathsea/c-auto.in
===================================================================
--- branches/stable/source/src/texk/kpathsea/c-auto.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/c-auto.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -23,7 +23,7 @@
 #define KPATHSEA_C_AUTO_H
 
 /* kpathsea: the version string. */
-#define KPSEVERSION "kpathsea version 6.2.3/dev"
+#define KPSEVERSION "kpathsea version 6.2.3"
 
 /* Define to 1 if the `closedir' function returns void instead of `int'. */
 #undef CLOSEDIR_VOID

Modified: branches/stable/source/src/texk/kpathsea/configure
===================================================================
--- branches/stable/source/src/texk/kpathsea/configure	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/configure	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Kpathsea 6.2.3/dev.
+# Generated by GNU Autoconf 2.69 for Kpathsea 6.2.3.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='Kpathsea'
 PACKAGE_TARNAME='kpathsea'
-PACKAGE_VERSION='6.2.3/dev'
-PACKAGE_STRING='Kpathsea 6.2.3/dev'
+PACKAGE_VERSION='6.2.3'
+PACKAGE_STRING='Kpathsea 6.2.3'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1339,7 +1339,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Kpathsea 6.2.3/dev to adapt to many kinds of systems.
+\`configure' configures Kpathsea 6.2.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1409,7 +1409,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Kpathsea 6.2.3/dev:";;
+     short | recursive ) echo "Configuration of Kpathsea 6.2.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1537,7 +1537,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Kpathsea configure 6.2.3/dev
+Kpathsea configure 6.2.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2376,7 +2376,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Kpathsea $as_me 6.2.3/dev, which was
+It was created by Kpathsea $as_me 6.2.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2757,7 +2757,7 @@
 
 
 
-KPSEVERSION=6.2.3/dev
+KPSEVERSION=6.2.3
 
 
 KPSE_LT_VERSINFO=8:3:2
@@ -2764,7 +2764,7 @@
 
 
 
- WEB2CVERSION=" (TeX Live 2017/dev)"
+ WEB2CVERSION=" (TeX Live 2017)"
 
 
 am__api_version='1.15'
@@ -8071,7 +8071,7 @@
 
 # Define the identity of the package.
  PACKAGE='kpathsea'
- VERSION='6.2.3/dev'
+ VERSION='6.2.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14695,7 +14695,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Kpathsea $as_me 6.2.3/dev, which was
+This file was extended by Kpathsea $as_me 6.2.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14761,7 +14761,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Kpathsea config.status 6.2.3/dev
+Kpathsea config.status 6.2.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: branches/stable/source/src/texk/kpathsea/doc/kpathsea.info
===================================================================
--- branches/stable/source/src/texk/kpathsea/doc/kpathsea.info	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/doc/kpathsea.info	2017-11-01 17:53:02 UTC (rev 778)
@@ -3,7 +3,7 @@
 
 This file documents the Kpathsea library for path searching.
 
-   Copyright (C) 1996-2016 Karl Berry & Olaf Weber.
+   Copyright (C) 1996-2017 Karl Berry & Olaf Weber.
 
    Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice are
@@ -37,7 +37,7 @@
 ****************
 
 This manual documents the Kpathsea library for path searching.  It
-corresponds to version 6.2.3dev, released in June 2016.
+corresponds to version 6.2.3, released in April 2017.
 
 * Menu:
 
@@ -61,8 +61,8 @@
 1 Introduction
 **************
 
-This manual corresponds to version 6.2.3dev of the Kpathsea library,
-released in June 2016.
+This manual corresponds to version 6.2.3 of the Kpathsea library,
+released in April 2017.
 
    The library's fundamental purpose is to return a filename from a list
 of directories specified by the user, similar to what shells do when
@@ -3637,58 +3637,58 @@
 
 Tag Table:
 Node: Top1480
-Node: Introduction2262
-Node: History4210
-Node: unixtex.ftp8807
-Node: Security10302
-Node: TeX directory structure12806
-Node: Path searching16854
-Node: Searching overview17512
-Node: Path sources20907
-Node: Config files21965
-Node: Path expansion25892
-Node: Default expansion26841
-Node: Variable expansion28911
-Node: Tilde expansion30312
-Node: Brace expansion31292
-Node: KPSE_DOT expansion32217
-Node: Subdirectory expansion32730
-Node: Filename database35084
-Node: ls-R36138
-Node: Filename aliases39033
-Node: Database format40211
-Node: Invoking kpsewhich41224
-Node: Path searching options42179
-Node: Specially-recognized files50099
-Node: Auxiliary tasks51454
-Node: Standard options53793
-Node: TeX support54149
-Node: Supported file formats55501
-Node: File lookup63166
-Node: Glyph lookup64915
-Node: Basic glyph lookup66039
-Node: Fontmap66919
-Node: Fallback font69340
-Node: Suppressing warnings70252
-Node: mktex scripts71379
-Node: mktex configuration72594
-Node: mktex script names78397
-Node: mktex script arguments79783
-Node: Programming80662
-Node: Programming overview81184
-Node: Calling sequence83881
-Node: Program-specific files90413
-Node: Programming with config files91436
-Node: Reporting bugs92748
-Node: Bug checklist93426
-Node: Mailing lists96898
-Node: Debugging97573
-Node: Logging102650
-Node: Common problems104517
-Node: Unable to find files104994
-Node: Slow path searching107404
-Node: Unable to generate fonts108779
-Node: TeX or Metafont failing111250
-Node: Index112603
+Node: Introduction2260
+Node: History4206
+Node: unixtex.ftp8803
+Node: Security10298
+Node: TeX directory structure12802
+Node: Path searching16850
+Node: Searching overview17508
+Node: Path sources20903
+Node: Config files21961
+Node: Path expansion25888
+Node: Default expansion26837
+Node: Variable expansion28907
+Node: Tilde expansion30308
+Node: Brace expansion31288
+Node: KPSE_DOT expansion32213
+Node: Subdirectory expansion32726
+Node: Filename database35080
+Node: ls-R36134
+Node: Filename aliases39029
+Node: Database format40207
+Node: Invoking kpsewhich41220
+Node: Path searching options42175
+Node: Specially-recognized files50095
+Node: Auxiliary tasks51450
+Node: Standard options53789
+Node: TeX support54145
+Node: Supported file formats55497
+Node: File lookup63162
+Node: Glyph lookup64911
+Node: Basic glyph lookup66035
+Node: Fontmap66915
+Node: Fallback font69336
+Node: Suppressing warnings70248
+Node: mktex scripts71375
+Node: mktex configuration72590
+Node: mktex script names78393
+Node: mktex script arguments79779
+Node: Programming80658
+Node: Programming overview81180
+Node: Calling sequence83877
+Node: Program-specific files90409
+Node: Programming with config files91432
+Node: Reporting bugs92744
+Node: Bug checklist93422
+Node: Mailing lists96894
+Node: Debugging97569
+Node: Logging102646
+Node: Common problems104513
+Node: Unable to find files104990
+Node: Slow path searching107400
+Node: Unable to generate fonts108775
+Node: TeX or Metafont failing111246
+Node: Index112599
 
 End Tag Table

Modified: branches/stable/source/src/texk/kpathsea/doc/kpathsea.texi
===================================================================
--- branches/stable/source/src/texk/kpathsea/doc/kpathsea.texi	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/doc/kpathsea.texi	2017-11-01 17:53:02 UTC (rev 778)
@@ -2,13 +2,13 @@
 @setfilename kpathsea.info
 @settitle Kpathsea: A library for path searching
 
- at set version 6.2.3dev
- at set month-year June 2016
+ at set version 6.2.3
+ at set month-year April 2017
 
 @copying
 This file documents the Kpathsea library for path searching.
 
-Copyright @copyright{} 1996--2016 Karl Berry & Olaf Weber.
+Copyright @copyright{} 1996--2017 Karl Berry & Olaf Weber.
 
 Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice are

Modified: branches/stable/source/src/texk/kpathsea/kpsewhich.c
===================================================================
--- branches/stable/source/src/texk/kpathsea/kpsewhich.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/kpsewhich.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,7 +1,7 @@
 /* kpsewhich -- standalone path lookup and variable expansion for Kpathsea.
    Ideas from Thomas Esser, Pierre MacKay, and many others.
 
-   Copyright 1995-2016 Karl Berry & Olaf Weber.
+   Copyright 1995-2017 Karl Berry & Olaf Weber.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -678,7 +678,7 @@
 
     } else if (ARGUMENT_IS ("version")) {
       puts (kpathsea_version_string);
-      puts ("Copyright 2016 Karl Berry & Olaf Weber.\n\
+      puts ("Copyright 2017 Karl Berry & Olaf Weber.\n\
 License LGPLv2.1+: GNU Lesser GPL version 2.1 or later <http://gnu.org/licenses/lgpl.html>\n\
 This is free software: you are free to change and redistribute it.\n\
 There is NO WARRANTY, to the extent permitted by law.\n");

Modified: branches/stable/source/src/texk/kpathsea/mingw32.c
===================================================================
--- branches/stable/source/src/texk/kpathsea/mingw32.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/mingw32.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -410,8 +410,9 @@
   char *nptr, *path;
   char tlgsbindir[512];
   char tlgslibdir[512];
+  char resourcedir[512];
   nptr = kpse_var_value("TEXLIVE_WINDOWS_EXTERNAL_GS");
-  if (nptr == NULL || !strcmp(nptr, "0") || !strcmp(nptr, "n") || !strcmp(nptr, "f")) {
+  if (nptr == NULL || *nptr == '0' || *nptr == 'n' || *nptr == 'f') {
     if (nptr)
       free (nptr);
     nptr = kpse_var_value("SELFAUTOPARENT");
@@ -418,11 +419,24 @@
     if (nptr) {
       strcpy(tlgsbindir, nptr);
       strcat(tlgsbindir,"/tlpkg/tlgs");
+      strcpy(resourcedir, tlgsbindir);
+      strcat(resourcedir, "/Resource");
       if(is_dir(tlgsbindir)) {
         strcpy(tlgslibdir, tlgsbindir);
         strcat(tlgslibdir, "/lib;");
-        strcat(tlgslibdir, tlgsbindir);
-        strcat(tlgslibdir, "/fonts");
+        if(is_dir(resourcedir)) {
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/fonts;");
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/Resource/Init;");
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/Resource;");
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/kanji");
+        } else {
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/fonts");
+        }
         strcat(tlgsbindir, "/bin;");
         free(nptr);
         for(nptr = tlgsbindir; *nptr; nptr++) {

Modified: branches/stable/source/src/texk/kpathsea/texmf.cnf
===================================================================
--- branches/stable/source/src/texk/kpathsea/texmf.cnf	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/texmf.cnf	2017-11-01 17:53:02 UTC (rev 778)
@@ -4,8 +4,8 @@
 % If you modify this original file, YOUR CHANGES WILL BE LOST when it is
 % updated.  Instead, put your changes -- and only your changes, not an
 % entire copy! -- in ../../texmf.cnf.  That is, if this file is
-% installed in /some/path/to/texlive/2016/texmf-dist/web2c/texmf.cnf,
-% add your custom settings to /some/path/to/texlive/2016/texmf.cnf.
+% installed in /some/path/to/texlive/2017/texmf-dist/web2c/texmf.cnf,
+% add your custom settings to /some/path/to/texlive/2017/texmf.cnf.
 % 
 % What follows is a super-summary of what this .cnf file can
 % contain. Please read the Kpathsea manual for more information.
@@ -79,22 +79,31 @@
 TEXMFHOME = ~/texmf
 
 % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
-TEXMFVAR = ~/.texlive2016/texmf-var
+TEXMFVAR = ~/.texlive2017/texmf-var
 
 % TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
-TEXMFCONFIG = ~/.texlive2016/texmf-config
+TEXMFCONFIG = ~/.texlive2017/texmf-config
 
+% This is the value manipulated by tlmgr's auxtrees subcommand in the
+% root texmf.cnf. Kpathsea warns about a literally empty string for a
+% value, hence the empty braces.
+TEXMFAUXTREES = {}
+
 % List all the texmf trees. For an explanation of what they are, see the
 % TeX Live manual.
 %
 % For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
-% explicitly and before all other trees.
+% explicitly and before other trees.
 % 
 % TEXMFLOCAL precedes TEXMFDIST because locally-installed versions
 % should take precedence over distribution files -- although it is
 % generally a source of confusion to have different versions of a
 % package installed, whatever the trees, so try to avoid it.
-TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
+% 
+% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
+% ever defined (the 99% common case), no extra elements will be added to
+% the search paths. tlmgr takes care to end any value with a trailing comma.
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
 
 % Where to look for ls-R files.  There need not be an ls-R in the
 % directories in this path, but if there is one, Kpathsea will use it.
@@ -102,7 +111,7 @@
 % does not create ls-R files in the non-!! elements -- because if an
 % ls-R is present, it will be used, and the disk will not be searched.
 % This is arguably a bug in kpathsea.
-TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
+TEXMFDBS = {!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
 
 % The system trees.  These are the trees that are shared by all users.
 % If a tree appears in this list, the mktex* scripts will use
@@ -360,6 +369,10 @@
 % Makeindex style (.ist) files.
 INDEXSTYLE = .;$TEXMF/makeindex//
 
+% mendex dictionary files. Used internally by mendex and upmendex.
+% It is not necessary to introduce a new format in Kpathsea.
+INDEXDICTIONARY = .;$TEXMF/makeindex//
+
 % Font encoding files (.enc).
 ENCFONTS = .;$TEXMF/fonts/enc//
 
@@ -570,6 +583,7 @@
 kpsewhich,\
 makeindex,\
 repstopdf,\
+texosquery-jre8,\
 
 % we'd like to allow:
 % dvips - but external commands can be executed, need at least -R1.

Modified: branches/stable/source/src/texk/kpathsea/version.ac
===================================================================
--- branches/stable/source/src/texk/kpathsea/version.ac	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/version.ac	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
-dnl $Id: version.ac 41571 2016-06-29 23:09:13Z karl $
-dnl   Copyright 2016 Karl Berry <tex-live at tug.org>
+dnl $Id: version.ac 43542 2017-03-18 22:47:27Z karl $
+dnl   Copyright 2016-2017 Karl Berry <tex-live at tug.org>
 dnl   Copyright 2011-2015 Peter Breitenlohner <tex-live at tug.org>
 dnl
 dnl   This file is free software; the copyright holder
@@ -20,4 +20,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  this file is m4-included from configure.ac
-m4_define([kpse_version], [6.2.3/dev])
+m4_define([kpse_version], [6.2.3])

Modified: branches/stable/source/src/texk/kpathsea/win32lib.c
===================================================================
--- branches/stable/source/src/texk/kpathsea/win32lib.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/kpathsea/win32lib.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -134,8 +134,9 @@
   char *nptr, *path;
   char tlgsbindir[512];
   char tlgslibdir[512];
+  char resourcedir[512];
   nptr = kpse_var_value("TEXLIVE_WINDOWS_EXTERNAL_GS");
-  if (nptr == NULL || !strcmp(nptr, "0") || !strcmp(nptr, "n") || !strcmp(nptr, "f")) {
+  if (nptr == NULL || *nptr == '0' || *nptr == 'n' || *nptr == 'f') {
     if (nptr)
       free (nptr);
     nptr = kpse_var_value("SELFAUTOPARENT");
@@ -142,11 +143,24 @@
     if (nptr) {
       strcpy(tlgsbindir, nptr);
       strcat(tlgsbindir,"/tlpkg/tlgs");
+      strcpy(resourcedir, tlgsbindir);
+      strcat(resourcedir, "/Resource");
       if(is_dir(tlgsbindir)) {
         strcpy(tlgslibdir, tlgsbindir);
         strcat(tlgslibdir, "/lib;");
-        strcat(tlgslibdir, tlgsbindir);
-        strcat(tlgslibdir, "/fonts");
+        if(is_dir(resourcedir)) {
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/fonts;");
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/Resource/Init;");
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/Resource;");
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/kanji");
+        } else {
+          strcat(tlgslibdir, tlgsbindir);
+          strcat(tlgslibdir, "/fonts");
+        }
         strcat(tlgsbindir, "/bin;");
         free(nptr);
         for(nptr = tlgsbindir; *nptr; nptr++) {

Modified: branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm
===================================================================
--- branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,11 +1,11 @@
 # TeXLive::TLConfig.pm - module exporting configuration values
-# Copyright 2007-2016 Norbert Preining
+# Copyright 2007-2017 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 
 package TeXLive::TLConfig;
 
-my $svnrev = '$Revision: 41437 $';
+my $svnrev = '$Revision: 44018 $';
 my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
 sub module_revision { return $_modulerevision; }
 
@@ -51,7 +51,7 @@
 
 # the year of our release, will be used in the location of the
 # network packages, and in menu names, and other places.
-$ReleaseYear = 2016;
+$ReleaseYear = 2017;
 
 # users can upgrade from this year to the current year; might be the
 # same as the release year, or any number of releases earlier.
@@ -148,6 +148,9 @@
   "file_assocs" =>
     [ "n:0..2", 1, "fileassocs",
       "Change file associations (w32)" ],
+  "generate_updmap" =>
+    [ "b", 0, "generate_updmap",
+      "Run tlmgr generate updmap after maps have changed" ],
   "install_docfiles" =>
     [ "b", 1, "docfiles",
       "Install documentation files" ],
@@ -172,9 +175,6 @@
   "w32_multi_user" =>
     [ "b", 1, "multiuser",
       "Install for all users (w32)" ],
-  "generate_updmap" =>
-    [ "b", 0, "generate_updmap",
-      "Run tlmgr generate updmap after maps have changed" ],
 );
 
 
@@ -208,14 +208,14 @@
 # The length of a checksum generated by tlchecksum and contained in
 # texlive.tlpdb.checksum. Needs to be in agreement with the hash
 # method used in TLCrypto::tlchecksum and TLCrypto::tldigest
-$ChecksumLength = 128;
+our $ChecksumLength = 128;
 
 # The program generating the checksum for the file given as first
 # argument
-$ChecksumProgram = "sha512sum";
+our $ChecksumProgram = "sha512sum";
 
 # The extension of the checksum file
-$ChecksumExtension = "sha512";
+our $ChecksumExtension = "sha512";
 
 1;
 

Modified: branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm
===================================================================
--- branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,11 +1,11 @@
 # TeXLive::TLUtils.pm - the inevitable utilities for TeX Live.
-# Copyright 2007-2016 Norbert Preining, Reinhard Kotucha
+# Copyright 2007-2017 Norbert Preining, Reinhard Kotucha
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 
 package TeXLive::TLUtils;
 
-my $svnrev = '$Revision: 41618 $';
+my $svnrev = '$Revision: 44243 $';
 my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
 sub module_revision { return $_modulerevision; }
 
@@ -96,6 +96,8 @@
   TeXLive::TLUtils::report_tlpdb_differences(\%ret);
   TeXLive::TLUtils::tlnet_disabled_packages($root);
   TeXLive::TLUtils::mktexupd();
+  TeXLive::TLUtils::setup_sys_user_mode($optsref,$tmfc, $tmfsc, $tmfv, $tmfsv);
+  TeXLive::TLUtils::prepend_own_path();
 
 =head1 DESCRIPTION
 
@@ -105,12 +107,11 @@
 our $PERL_SINGLE_QUOTE; # we steal code from Text::ParseWords
 use vars qw(
   $::LOGFILENAME @::LOGLINES 
-  @::debug_hook @::ddebug_hook @::dddebug_hook @::info_hook @::warn_hook
-  @::install_packages_hook
-  $::machinereadable
-  $::no_execute_actions
-  $::regenerate_all_formats
+    @::debug_hook @::ddebug_hook @::dddebug_hook @::info_hook 
+    @::install_packages_hook @::warn_hook
   $TeXLive::TLDownload::net_lib_avail
+    $::checksum_method $::gui_mode $::machinereadable $::no_execute_actions
+    $::regenerate_all_formats
 );
 
 BEGIN {
@@ -179,6 +180,8 @@
     &report_tlpdb_differences
     &setup_persistent_downloads
     &mktexupd
+    &setup_sys_user_mode
+    &prepend_own_path
     &nulldev
     &get_full_line
     &sort_archs
@@ -284,17 +287,45 @@
   }
   
   if ($OS eq "darwin") {
-    # We want to guess x86_64-darwin on new-enough systems.  
-    # Most robust approach is to check sw_vers (os version)
-    # and sysctl (processor hardware).
+    # We have a variety of Mac binary sets.
+    # 10.10/Yosemite and newer:
+    #   -> x86_64-darwin [MacTeX]
+    # 10.6/Snow Leopard through 10.9/Mavericks:
+    #   -> x86_64-darwinlegacy if 64-bit
+    #   -> i386-darwin         otherwise
+    # 10.5/Leopard:
+    #   -> i386-darwin    if x86
+    #   -> powerpc-darwin if ppc
+    #
+    # (BTW, uname -r numbers are larger by 4 than the minor version.
+    # We don't use uname numbers here.)
+    #
+    my $mactex_darwin = 10;  # the minor 10; this will change in the future.
+    #
+    # Most robust approach is apparently to check sw_vers (os version,
+    # returns "10.x" values), and sysctl (processor hardware).
     chomp (my $sw_vers = `sw_vers -productVersion`);
     my ($os_major,$os_minor) = split (/\./, $sw_vers);
-    #
-    chomp (my $sysctl = `PATH=/usr/sbin:\$PATH sysctl hw.cpu64bit_capable`);
-    my (undef,$hw_64_bit) = split (" ", $sysctl);
-    #
-    $CPU = ($os_major >= 10 && $os_minor >= 6 && $hw_64_bit >= 1)
-           ? "x86_64" : "universal";
+    if ($os_major != 10) {
+      warn "$0: only MacOSX is supported, not $OS $os_major.$os_minor "
+           . " (from sw_vers -productVersion: $sw_vers)\n";
+      return "unknown-unknown";
+    }
+    if ($os_minor >= $mactex_darwin) {
+      ; # current version, default is ok (x86_64-darwin).
+    } elsif ($os_minor >= 6 && $os_minor < $mactex_darwin) {
+      # in between, x86 hardware only.  On 10.6 only, must check if 64-bit,
+      # since if later than that, always 64-bit.
+      my $is64 = $os_minor == 6
+                 ? `/usr/sbin/sysctl -n hw.cpu64bit_capable` >= 1
+                 : 1;
+      if ($is64) {
+        $CPU = "x86_64";
+        $OS = "darwinlegacy";
+      } # if not 64-bit, default is ok (i386-darwin).
+    } else {
+      ; # older version, default is ok (i386-darwin, powerpc-darwin).
+    }
     
   } elsif ($CPU =~ /^i.86$/) {
     $CPU = "i386";  # 586, 686, whatever
@@ -326,24 +357,25 @@
     'armhf-linux'      => 'GNU/Linux on ARMhf',
     'hppa-hpux'        => 'HP-UX',
     'i386-cygwin'      => 'Cygwin on Intel x86',
-    'i386-darwin'      => 'MacOSX/Darwin on Intel x86',
+    'i386-darwin'      => 'MacOSX legacy (10.5-10.6) on Intel x86',
     'i386-freebsd'     => 'FreeBSD on Intel x86',
     'i386-kfreebsd'    => 'GNU/kFreeBSD on Intel x86',
+    'i386-linux'       => 'GNU/Linux on Intel x86',
+    'i386-netbsd'      => 'NetBSD on Intel x86',
     'i386-openbsd'     => 'OpenBSD on Intel x86',
-    'i386-netbsd'      => 'NetBSD on Intel x86',
-    'i386-linux'       => 'GNU/Linux on Intel x86',
     'i386-solaris'     => 'Solaris on Intel x86',
     'mips-irix'        => 'SGI IRIX',
     'mipsel-linux'     => 'GNU/Linux on MIPSel',
     'powerpc-aix'      => 'AIX on PowerPC',
-    'powerpc-darwin'   => 'MacOSX/Darwin on PowerPC',
+    'powerpc-darwin'   => 'MacOSX legacy (10.5) on PowerPC',
     'powerpc-linux'    => 'GNU/Linux on PowerPC',
     'sparc-linux'      => 'GNU/Linux on Sparc',
     'sparc-solaris'    => 'Solaris on Sparc',
-    'universal-darwin' => 'MacOSX/Darwin universal binaries',
+    'universal-darwin' => 'MacOSX universal binaries',
     'win32'            => 'Windows',
     'x86_64-cygwin'    => 'Cygwin on x86_64',
-    'x86_64-darwin'    => 'MacOSX/Darwin on x86_64',
+    'x86_64-darwin'    => 'MacOSX current on x86_64',
+    'x86_64-darwinlegacy' => 'MacOSX legacy (10.6-10.9) on x86_64',
     'x86_64-linux'     => 'GNU/Linux on x86_64',
     'x86_64-solaris'   => 'Solaris on x86_64',
   );
@@ -521,11 +553,12 @@
 sub wsystem {
   my ($msg, at args) = @_;
   info("$msg @args ...\n");
-  my $status = system(@args);
-  if ($status != 0) {
-    tlwarn("$0:  command failed: @args: $!\n");
+  my $retval = system(@args);
+  if ($retval != 0) {
+    $retval /= 256 if $retval > 0;
+    tlwarn("$0:  command failed (status $retval): @args: $!\n");
   }
-  return $status;
+  return $retval;
 }
 
 
@@ -545,6 +578,7 @@
     my $pwd = cwd ();
     die "$0: system(@args) failed in $pwd, status $retval";
   }
+  return $retval;
 }
 
 =item C<run_cmd($cmd)>
@@ -1634,12 +1668,12 @@
     $cmd =~ s!^TEXDIR/!$texdir/!;
     # $cmd can be an URL, in which case we do NOT want to convert it to
     # w32 paths!
-    if ($cmd !~ m!^\s*(http://|ftp://)!) {
+    if ($cmd !~ m!^\s*(https?://|ftp://)!) {
       if (!(-e $cmd) or !(-r $cmd)) {
         tlwarn("Target of shortcut action does not exist: $cmd\n")
             if $cmd =~ /\.(exe|bat|cmd)$/i;
-        # if not an executable, just omit shortcut silently
-        return 0;
+        # if not an executable, just omit shortcut silently: no error
+        return 1;
       }
       $cmd = conv_to_w32_path($cmd);
     }
@@ -1895,9 +1929,9 @@
   # we collected errors in $errors, so return the negation of it
   if ($errors) {
     info("$mode of symlinks had $errors error(s), see messages above.\n");
-    return 0;
+    return $F_ERROR;
   } else {
-    return 1;
+    return $F_OK;
   }
 }
 
@@ -2053,7 +2087,7 @@
   $xzfile_quote = "\"$xzfile\"";
   $tarfile_quote = "\"$tarfile\"";
   $target_quote = "\"$target\"";
-  if ($what =~ m,^(http|ftp)://,) {
+  if ($what =~ m,^(https?|ftp)://,) {
     # we are installing from the NET
     # check for the presence of $what in $tempdir
     if (-r $xzfile) {
@@ -2269,19 +2303,18 @@
   if (-r $def) {
     my $ready = 0;
     if (-x $def) {
-      ddebug("default $def is readable and executable!\n");
-      # checking only for the executable bit is not enough, we have
-      # to check for actualy "executability" since a "noexec" mount
-      # option may interfere, which is not taken into account by
-      # perl's -x test.
+      ddebug("default $def has executable permissions\n");
+      # we have to check for actual "executability" since a "noexec"
+      # mount option may interfere, which is not taken into account by -x.
       $::progs{$p} = $def;
       if ($arg ne "notest") {
-        my $ret = system("$def $arg > /dev/null 2>&1" ); # we are on Unix
+        my $ret = system("'$def' $arg >/dev/null 2>&1" ); # we are on Unix
         if ($ret == 0) {
           $ready = 1;
           debug("Using shipped $def for $p (tested).\n");
         } else {
-          ddebug("Shipped $def has -x but cannot be executed.\n");
+          ddebug("Shipped $def has -x but cannot be executed, "
+                 . "trying tmp copy.\n");
         }
       } else {
         # do not test, just return
@@ -2330,11 +2363,10 @@
     $test_fallback = 1;
   }
   if ($test_fallback) {
-    # all our playing around and copying did not succeed, try the
-    # fallback
+    # all our playing around and copying did not succeed, try PATH.
     $::progs{$p} = $p;
     if ($arg ne "notest") {
-      my $ret = system("$p $arg > /dev/null 2>&1");
+      my $ret = system("$p $arg >/dev/null 2>&1");
       if ($ret == 0) {
         debug("Using system $p (tested).\n");
       } else {
@@ -2411,7 +2443,7 @@
       return 0;
     }
   }
-  if ($relpath =~ /^(http|ftp):\/\//) {
+  if ($relpath =~ /^(https?|ftp):\/\//) {
     $url = $relpath;
   } else {
     $url = "$TeXLiveURL/$relpath";
@@ -2422,12 +2454,12 @@
     debug("persistent connection set up, trying to get $url (for $dest)\n");
     $ret = $::tldownload_server->get_file($url, $dest);
     if ($ret) {
-      debug("downloading file via persistent connection succeeded\n");
+      ddebug("downloading file via persistent connection succeeded\n");
       return $ret;
     } else {
-      tlwarn("TLUtils::download_file: persistent connection ok,"
+      debug("TLUtils::download_file: persistent connection ok,"
              . " but download failed: $url\n");
-      tlwarn("TLUtils::download_file: retrying with wget.\n");
+      debug("TLUtils::download_file: retrying with wget.\n");
       $wget_retry = 1; # just so we can give another msg.
     }
   } else {
@@ -2443,7 +2475,7 @@
   my $ret = _download_file($url, $dest, $wget);
   
   if ($wget_retry) {
-    tlwarn("TLUtils::download_file: retry with wget "
+    debug("TLUtils::download_file: retry with wget "
            . ($ret ? "succeeded" : "failed") . ": $url\n");
   }
   
@@ -3521,7 +3553,7 @@
     return $backbone[int(rand($#backbone + 1))];
   }
 
-  if ($mirror =~ m!^http://!) {  # if http mirror, assume good and return.
+  if ($mirror =~ m!^https?://!) {  # if http mirror, assume good and return.
     return $mirror;
   }
 
@@ -3536,7 +3568,7 @@
   for (my $try = 1; $try <= $max_mirror_trial; $try++) {
     my $m = query_ctan_mirror();
     debug("querying mirror, got " . (defined($m) ? $m : "(nothing)") . "\n");
-    if (defined($m) && $m =~ m!^http://!) {
+    if (defined($m) && $m =~ m!^https?://!) {
       return $m;  # got http this time, assume ok.
     }
     # sleep to make mirror happy, but only if we are not ready to return
@@ -3639,7 +3671,7 @@
 sub download_to_temp_or_file {
   my $url = shift;
   my ($url_fh, $url_file);
-  if ($url =~ m,^(http|ftp|file)://,) {
+  if ($url =~ m,^(https?|ftp|file)://,) {
     ($url_fh, $url_file) = tl_tmpfile();
     # now $url_fh filehandle is open, the file created
     # TLUtils::download_file will just overwrite what is there
@@ -3979,6 +4011,80 @@
   return $hash;
 }
 
+
+=item C<check_sys_user_mode($user,$sys,$tmfc, $tmfsc, $tmfv, $tmfsv)>
+
+=cut
+
+sub setup_sys_user_mode {
+  my ($prg, $optsref, $TEXMFCONFIG, $TEXMFSYSCONFIG, 
+      $TEXMFVAR, $TEXMFSYSVAR) = @_;
+  
+  if ($optsref->{'user'} && $optsref->{'sys'}) {
+    print STDERR "$prg [ERROR]: only one of -sys or -user can be used.\n";
+    exit(1);
+  }
+
+  # check if we are in *hidden* sys mode, in which case we switch
+  # to sys mode
+  # Nowdays we use -sys switch instead of simply overriding TEXMFVAR
+  # and TEXMFCONFIG
+  # This is used to warn users when they run updmap in usermode the first time.
+  # But it might happen that this script is called via another wrapper that
+  # sets TEXMFCONFIG and TEXMFVAR, and does not pass on the -sys option.
+  # for this case we check whether the SYS and non-SYS variants agree,
+  # and if, then switch to sys mode (with a warning)
+  if (($TEXMFSYSCONFIG eq $TEXMFCONFIG) && ($TEXMFSYSVAR eq $TEXMFVAR)) {
+    if ($optsref->{'user'}) {
+      print STDERR "$prg [ERROR]: -user mode but path setup is -sys type, bailing out.\n";
+      exit(1);
+    }
+    if (!$optsref->{'sys'}) {
+      print STDERR "$prg [WARNING]: hidden sys mode found, switching to sys mode.\n" if (!$optsref->{'quiet'});
+      $optsref->{'sys'} = 1;
+    }
+  }
+
+  my ($texmfconfig, $texmfvar);
+  if ($optsref->{'sys'}) {
+    # we are running as updmap-sys, make sure that the right tree is used
+    $texmfconfig = $TEXMFSYSCONFIG;
+    $texmfvar    = $TEXMFSYSVAR;
+  } elsif ($optsref->{'user'}) {
+    $texmfconfig = $TEXMFCONFIG;
+    $texmfvar    = $TEXMFVAR;
+  } else {
+    print STDERR "" .
+      "$prg [ERROR]: Either -sys or -user mode is required.\n" .
+      "$prg [ERROR]: In nearly all cases you should use $prg -sys.\n" .
+      "$prg [ERROR]: For special cases see http://tug.org/texlive/scripts-sys-user.html\n" ;
+    exit(1);
+  }
+  return ($texmfconfig, $texmfvar);
+}
+
+=item C<prepend_own_path()>
+
+Prepend the location of the TeX Live binaries to the PATH environment
+variable. This is used by (e.g.) C<fmtutil>.  The location is found by
+calling C<Cwd::abs_path> on C<which('kpsewhich')>. We use kpsewhich
+because it is known to be a true binary executable; C<$0> could be a
+symlink into (say) C<texmf-dist/scripts/>, which is not a useful
+directory for PATH.
+
+=cut
+
+sub prepend_own_path {
+  my $bindir = dirname(Cwd::abs_path(which('kpsewhich')));
+  if (win32()) {
+    $bindir =~ s!\\!/!g;
+    $ENV{'PATH'} = "$bindir;$ENV{PATH}";
+  } else {
+    $ENV{'PATH'} = "$bindir:$ENV{PATH}";
+  }
+}
+
+
 =back
 =cut
 1;

Modified: branches/stable/source/src/texk/web2c/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,3 +1,12 @@
+2017-03-27  Karl Berry  <karl at freefriends.org>
+
+	* Makefile.am (AM_TESTS_ENVIRONMENT): use instead of TESTS_ENVIRONMENT.
+
+2017-03-18  Karl Berry  <karl at tug.org>
+
+	* NEWS,
+	* doc/web.texi: version 2017 for TL17.
+
 2017-02-09  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* Makefile.am: Sync with the LuaTeX upstream.
@@ -76,7 +85,7 @@
 	* Makefile.am, am/bootstrap.am, am/cweb.am, am/texmf.am,
 	am/web.am, libmd5/am/md5.am: Dependencies for 'make check'.
 
-2015-07-09  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2015-07-09  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.h: Add \pdfmdfivesum to XeTeX.
 

Modified: branches/stable/source/src/texk/web2c/Makefile.am
===================================================================
--- branches/stable/source/src/texk/web2c/Makefile.am	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/Makefile.am	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,8 @@
+## $Id: Makefile.am 43617 2017-03-27 18:00:45Z karl $
 ## Makefile.am for the TeX Live subdirectory texk/web2c/.
 ##
-## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live at tug.org>
+## Copyright 2017      Karl Berry <tex-live at tug.org>
+## Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
 ## You may freely use, modify and/or distribute this file.
 ##
 AM_CPPFLAGS = $(KPATHSEA_INCLUDES)
@@ -147,7 +149,12 @@
 # For trip, trap, and other tests
 DIFF = diff
 DIFFFLAGS =
-TESTS_ENVIRONMENT = abs_srcdir=$(abs_srcdir) DIFF='$(DIFF)' DIFFFLAGS='$(DIFFFLAGS)' LN_S='$(LN_S)' KPSEWHICH='$(KPSEWHICH)'
+AM_TESTS_ENVIRONMENT = abs_srcdir=$(abs_srcdir); export abs_srcdir;
+AM_TESTS_ENVIRONMENT += DIFF='$(DIFF)'; export DIFF;
+AM_TESTS_ENVIRONMENT += DIFFFLAGS='$(DIFFFLAGS)'; export DIFFFLAGS;
+AM_TESTS_ENVIRONMENT += LN_S='$(LN_S)'; export LN_S;
+AM_TESTS_ENVIRONMENT += KPSEWHICH='$(KPSEWHICH)'; export KPSEWHICH;
+
 triptrap_diffs = $(AM_V_GEN)srcdir=$(srcdir) abs_srcdir=$(abs_srcdir) MAKE=$(MAKE) $(SHELL) $(srcdir)/triptrap-sh
 
 .PHONY: triptrap

Modified: branches/stable/source/src/texk/web2c/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/Makefile.in	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/Makefile.in	2017-11-01 17:53:02 UTC (rev 778)
@@ -489,13 +489,7 @@
 	luatexdir/luafilesystem/src/libluajitmisc_a-lfs.$(OBJEXT) \
 	luatexdir/luamd5/libluajitmisc_a-md5.$(OBJEXT) \
 	luatexdir/luamd5/libluajitmisc_a-md5lib.$(OBJEXT) \
-	luatexdir/luamd5/libluajitmisc_a-md5_lua.$(OBJEXT) \
 	luatexdir/luapeg/libluajitmisc_a-lpeg.$(OBJEXT) \
-	luatexdir/luaprofiler/libluajitmisc_a-clocks.$(OBJEXT) \
-	luatexdir/luaprofiler/libluajitmisc_a-core_profiler.$(OBJEXT) \
-	luatexdir/luaprofiler/libluajitmisc_a-function_meter.$(OBJEXT) \
-	luatexdir/luaprofiler/libluajitmisc_a-stack.$(OBJEXT) \
-	luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.$(OBJEXT) \
 	luatexdir/luazip/src/libluajitmisc_a-luazip.$(OBJEXT) \
 	luatexdir/luazlib/libluajitmisc_a-lgzip.$(OBJEXT) \
 	luatexdir/luazlib/libluajitmisc_a-lzlib.$(OBJEXT) \
@@ -525,7 +519,7 @@
 libluajittex_a_AR = $(AR) $(ARFLAGS)
 libluajittex_a_LIBADD =
 dist_libluajittex_a_OBJECTS =  \
-	luatexdir/lua/libluajittex_a-lstrlibextjit.$(OBJEXT)
+	luatexdir/lua/libluajittex_a-lstrlibext.$(OBJEXT)
 am__objects_4 = luatexdir/luafontloader/src/libluajittex_a-ffdummies.$(OBJEXT) \
 	luatexdir/luafontloader/src/libluajittex_a-luafflib.$(OBJEXT) \
 	luatexdir/lua/libluajittex_a-lcallbacklib.$(OBJEXT) \
@@ -545,6 +539,7 @@
 	luatexdir/lua/libluajittex_a-ltexiolib.$(OBJEXT) \
 	luatexdir/lua/libluajittex_a-ltexlib.$(OBJEXT) \
 	luatexdir/lua/libluajittex_a-lnewtokenlib.$(OBJEXT) \
+	luatexdir/lua/libluajittex_a-luatex-core.$(OBJEXT) \
 	luatexdir/utils/libluajittex_a-avl.$(OBJEXT) \
 	synctexdir/libluajittex_a-synctex.$(OBJEXT)
 am__objects_5 = libluajittex_a-dvigen.$(OBJEXT) \
@@ -579,6 +574,7 @@
 	libluajittex_a-luainit.$(OBJEXT) \
 	libluajittex_a-luanode.$(OBJEXT) \
 	libluajittex_a-luatoken.$(OBJEXT) \
+	libluajittex_a-mplibstuff.$(OBJEXT) \
 	libluajittex_a-pdfpagetree.$(OBJEXT) \
 	libluajittex_a-pdfaction.$(OBJEXT) \
 	libluajittex_a-pdfannot.$(OBJEXT) \
@@ -637,7 +633,7 @@
 	libluajittex_a-managed-sa.$(OBJEXT) \
 	libluajittex_a-utils.$(OBJEXT) \
 	libluajittex_a-unistring.$(OBJEXT)
-nodist_libluajittex_a_OBJECTS = libluajittex_a-luajitstuff.$(OBJEXT) \
+nodist_libluajittex_a_OBJECTS = libluajittex_a-luastuff.$(OBJEXT) \
 	libluajittex_a-texluajitc.$(OBJEXT) $(am__objects_4) \
 	$(am__objects_5)
 libluajittex_a_OBJECTS = $(dist_libluajittex_a_OBJECTS) \
@@ -648,13 +644,7 @@
 	luatexdir/luafilesystem/src/libluamisc_a-lfs.$(OBJEXT) \
 	luatexdir/luamd5/libluamisc_a-md5.$(OBJEXT) \
 	luatexdir/luamd5/libluamisc_a-md5lib.$(OBJEXT) \
-	luatexdir/luamd5/libluamisc_a-md5_lua.$(OBJEXT) \
 	luatexdir/luapeg/libluamisc_a-lpeg.$(OBJEXT) \
-	luatexdir/luaprofiler/libluamisc_a-clocks.$(OBJEXT) \
-	luatexdir/luaprofiler/libluamisc_a-core_profiler.$(OBJEXT) \
-	luatexdir/luaprofiler/libluamisc_a-function_meter.$(OBJEXT) \
-	luatexdir/luaprofiler/libluamisc_a-stack.$(OBJEXT) \
-	luatexdir/luaprofiler/libluamisc_a-lua50_profiler.$(OBJEXT) \
 	luatexdir/luazip/src/libluamisc_a-luazip.$(OBJEXT) \
 	luatexdir/luazlib/libluamisc_a-lgzip.$(OBJEXT) \
 	luatexdir/luazlib/libluamisc_a-lzlib.$(OBJEXT) \
@@ -705,6 +695,7 @@
 	luatexdir/lua/libluatex_a-ltexiolib.$(OBJEXT) \
 	luatexdir/lua/libluatex_a-ltexlib.$(OBJEXT) \
 	luatexdir/lua/libluatex_a-lnewtokenlib.$(OBJEXT) \
+	luatexdir/lua/libluatex_a-luatex-core.$(OBJEXT) \
 	luatexdir/utils/libluatex_a-avl.$(OBJEXT) \
 	synctexdir/libluatex_a-synctex.$(OBJEXT)
 am__objects_9 = libluatex_a-dvigen.$(OBJEXT) \
@@ -727,6 +718,7 @@
 	libluatex_a-texlang.$(OBJEXT) libluatex_a-hyphen.$(OBJEXT) \
 	libluatex_a-hnjalloc.$(OBJEXT) libluatex_a-luainit.$(OBJEXT) \
 	libluatex_a-luanode.$(OBJEXT) libluatex_a-luatoken.$(OBJEXT) \
+	libluatex_a-mplibstuff.$(OBJEXT) \
 	libluatex_a-pdfpagetree.$(OBJEXT) \
 	libluatex_a-pdfaction.$(OBJEXT) libluatex_a-pdfannot.$(OBJEXT) \
 	libluatex_a-pdfcolorstack.$(OBJEXT) \
@@ -766,9 +758,9 @@
 	libluatex_a-textoken.$(OBJEXT) libluatex_a-avlstuff.$(OBJEXT) \
 	libluatex_a-managed-sa.$(OBJEXT) libluatex_a-utils.$(OBJEXT) \
 	libluatex_a-unistring.$(OBJEXT)
-nodist_libluatex_a_OBJECTS = libluatex_a-luastuff.$(OBJEXT) \
-	libluatex_a-texluac.$(OBJEXT) $(am__objects_8) \
-	$(am__objects_9)
+nodist_libluatex_a_OBJECTS = libluatex_a-helpers.$(OBJEXT) \
+	libluatex_a-luastuff.$(OBJEXT) libluatex_a-texluac.$(OBJEXT) \
+	$(am__objects_8) $(am__objects_9)
 libluatex_a_OBJECTS = $(dist_libluatex_a_OBJECTS) \
 	$(nodist_libluatex_a_OBJECTS)
 libmd5_a_AR = $(AR) $(ARFLAGS)
@@ -801,22 +793,27 @@
 	libmfluajit_a-mfluajit-pool.$(OBJEXT)
 libmfluajit_a_OBJECTS = $(dist_libmfluajit_a_OBJECTS) \
 	$(nodist_libmfluajit_a_OBJECTS)
-libmplib_a_AR = $(AR) $(ARFLAGS)
-libmplib_a_LIBADD =
-am__objects_13 = libmplib_a-mp.$(OBJEXT)
-am__objects_14 = libmplib_a-mpmath.$(OBJEXT)
-am__objects_15 = libmplib_a-mpmathbinary.$(OBJEXT)
-am__objects_16 = libmplib_a-mpmathdecimal.$(OBJEXT)
-am__objects_17 = libmplib_a-mpmathdouble.$(OBJEXT)
-am__objects_18 = libmplib_a-mpstrings.$(OBJEXT)
-am__objects_19 = libmplib_a-pngout.$(OBJEXT)
-am__objects_20 = libmplib_a-psout.$(OBJEXT)
-am__objects_21 = libmplib_a-svgout.$(OBJEXT)
-nodist_libmplib_a_OBJECTS = libmplib_a-tfmin.$(OBJEXT) \
-	$(am__objects_13) $(am__objects_14) $(am__objects_15) \
-	$(am__objects_16) $(am__objects_17) $(am__objects_18) \
-	$(am__objects_19) $(am__objects_20) $(am__objects_21)
-libmplib_a_OBJECTS = $(nodist_libmplib_a_OBJECTS)
+libmplibbackends_a_AR = $(AR) $(ARFLAGS)
+libmplibbackends_a_LIBADD =
+am__objects_13 = libmplibbackends_a-pngout.$(OBJEXT)
+am__objects_14 = libmplibbackends_a-svgout.$(OBJEXT)
+nodist_libmplibbackends_a_OBJECTS = $(am__objects_13) \
+	$(am__objects_14)
+libmplibbackends_a_OBJECTS = $(nodist_libmplibbackends_a_OBJECTS)
+libmplibcore_a_AR = $(AR) $(ARFLAGS)
+libmplibcore_a_LIBADD =
+am__objects_15 = libmplibcore_a-mp.$(OBJEXT)
+am__objects_16 = libmplibcore_a-mpmath.$(OBJEXT)
+am__objects_17 = libmplibcore_a-mpmathbinary.$(OBJEXT)
+am__objects_18 = libmplibcore_a-mpmathdecimal.$(OBJEXT)
+am__objects_19 = libmplibcore_a-mpmathdouble.$(OBJEXT)
+am__objects_20 = libmplibcore_a-mpstrings.$(OBJEXT)
+am__objects_21 = libmplibcore_a-psout.$(OBJEXT)
+nodist_libmplibcore_a_OBJECTS = libmplibcore_a-tfmin.$(OBJEXT) \
+	$(am__objects_15) $(am__objects_16) $(am__objects_17) \
+	$(am__objects_18) $(am__objects_19) $(am__objects_20) \
+	$(am__objects_21)
+libmplibcore_a_OBJECTS = $(nodist_libmplibcore_a_OBJECTS)
 libmputil_a_AR = $(AR) $(ARFLAGS)
 libmputil_a_LIBADD =
 am_libmputil_a_OBJECTS = mplibdir/libmputil_a-avl.$(OBJEXT) \
@@ -887,10 +884,9 @@
 libunilib_a_OBJECTS = $(am_libunilib_a_OBJECTS)
 libxetex_a_AR = $(AR) $(ARFLAGS)
 libxetex_a_LIBADD =
-am__libxetex_a_SOURCES_DIST = xetexdir/MathTable.h \
-	xetexdir/XeTeXFontInst.cpp xetexdir/XeTeXFontInst.h \
-	xetexdir/XeTeXFontMgr.cpp xetexdir/XeTeXFontMgr.h \
-	xetexdir/XeTeXLayoutInterface.cpp \
+am__libxetex_a_SOURCES_DIST = xetexdir/XeTeXFontInst.cpp \
+	xetexdir/XeTeXFontInst.h xetexdir/XeTeXFontMgr.cpp \
+	xetexdir/XeTeXFontMgr.h xetexdir/XeTeXLayoutInterface.cpp \
 	xetexdir/XeTeXLayoutInterface.h xetexdir/XeTeXOTMath.cpp \
 	xetexdir/XeTeXOTMath.h xetexdir/XeTeX_ext.c \
 	xetexdir/XeTeX_ext.h xetexdir/XeTeX_pic.c xetexdir/XeTeX_web.h \
@@ -1103,10 +1099,9 @@
 	mplibdir/luajittex-lmplib.$(OBJEXT)
 nodist_luajittex_OBJECTS = $(am__objects_33)
 luajittex_OBJECTS = $(nodist_luajittex_OBJECTS)
-am__DEPENDENCIES_6 = libmplib.a $(am__DEPENDENCIES_1) \
+am__DEPENDENCIES_6 = libmplibcore.a $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) libmputil.a \
 	libunilib.a libmd5.a $(am__DEPENDENCIES_1)
 luajittex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
@@ -1172,10 +1167,11 @@
 am__objects_37 = mpost-mpxout.$(OBJEXT)
 nodist_mpost_OBJECTS = mpost-mpost.$(OBJEXT) $(am__objects_37)
 mpost_OBJECTS = $(nodist_mpost_OBJECTS)
-mpost_DEPENDENCIES = libmplib.a $(am__DEPENDENCIES_1) \
+mpost_DEPENDENCIES = libmplibcore.a libmplibbackends.a \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) libmputil.a
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) libmputil.a
 nodist_odvicopy_OBJECTS = odvicopy.$(OBJEXT)
 odvicopy_OBJECTS = $(nodist_odvicopy_OBJECTS)
 odvicopy_LDADD = $(LDADD)
@@ -1487,28 +1483,30 @@
 	$(nodist_libluatex_a_SOURCES) $(libmd5_a_SOURCES) \
 	$(nodist_libmf_a_SOURCES) $(dist_libmflua_a_SOURCES) \
 	$(nodist_libmflua_a_SOURCES) $(dist_libmfluajit_a_SOURCES) \
-	$(nodist_libmfluajit_a_SOURCES) $(nodist_libmplib_a_SOURCES) \
-	$(libmputil_a_SOURCES) $(libpdftex_a_SOURCES) \
-	$(EXTRA_libpdftex_a_SOURCES) $(nodist_libsynctex_a_SOURCES) \
-	$(libukanji_a_SOURCES) $(libunilib_a_SOURCES) \
-	$(libxetex_a_SOURCES) $(libsynctex_la_SOURCES) \
-	$(dist_aleph_SOURCES) $(nodist_aleph_SOURCES) \
-	$(nodist_bibtex_SOURCES) $(nodist_call_luajittex_SOURCES) \
-	$(nodist_call_luatex_SOURCES) $(nodist_call_mf_SOURCES) \
-	$(nodist_call_mflua_SOURCES) $(nodist_call_mfluajit_SOURCES) \
-	$(nodist_call_mpost_SOURCES) $(nodist_call_pmpost_SOURCES) \
-	$(nodist_call_upmpost_SOURCES) $(nodist_ctangle_SOURCES) \
-	$(nodist_ctangleboot_SOURCES) $(nodist_ctie_SOURCES) \
-	$(nodist_cweave_SOURCES) $(nodist_dvicopy_SOURCES) \
-	$(nodist_dvitype_SOURCES) $(dist_eptex_SOURCES) \
-	$(nodist_eptex_SOURCES) $(dist_etex_SOURCES) \
-	$(nodist_etex_SOURCES) $(dist_euptex_SOURCES) \
-	$(nodist_euptex_SOURCES) $(gftodvi_SOURCES) \
-	$(nodist_gftodvi_SOURCES) $(nodist_gftopk_SOURCES) \
-	$(nodist_gftype_SOURCES) $(nodist_initex_SOURCES) \
-	$(nodist_luajittex_SOURCES) $(nodist_EXTRA_luajittex_SOURCES) \
-	$(nodist_luatex_SOURCES) $(nodist_EXTRA_luatex_SOURCES) \
-	$(md5main_SOURCES) $(dist_mf_SOURCES) $(dist_mf_nowin_SOURCES) \
+	$(nodist_libmfluajit_a_SOURCES) \
+	$(nodist_libmplibbackends_a_SOURCES) \
+	$(nodist_libmplibcore_a_SOURCES) $(libmputil_a_SOURCES) \
+	$(libpdftex_a_SOURCES) $(EXTRA_libpdftex_a_SOURCES) \
+	$(nodist_libsynctex_a_SOURCES) $(libukanji_a_SOURCES) \
+	$(libunilib_a_SOURCES) $(libxetex_a_SOURCES) \
+	$(libsynctex_la_SOURCES) $(dist_aleph_SOURCES) \
+	$(nodist_aleph_SOURCES) $(nodist_bibtex_SOURCES) \
+	$(nodist_call_luajittex_SOURCES) $(nodist_call_luatex_SOURCES) \
+	$(nodist_call_mf_SOURCES) $(nodist_call_mflua_SOURCES) \
+	$(nodist_call_mfluajit_SOURCES) $(nodist_call_mpost_SOURCES) \
+	$(nodist_call_pmpost_SOURCES) $(nodist_call_upmpost_SOURCES) \
+	$(nodist_ctangle_SOURCES) $(nodist_ctangleboot_SOURCES) \
+	$(nodist_ctie_SOURCES) $(nodist_cweave_SOURCES) \
+	$(nodist_dvicopy_SOURCES) $(nodist_dvitype_SOURCES) \
+	$(dist_eptex_SOURCES) $(nodist_eptex_SOURCES) \
+	$(dist_etex_SOURCES) $(nodist_etex_SOURCES) \
+	$(dist_euptex_SOURCES) $(nodist_euptex_SOURCES) \
+	$(gftodvi_SOURCES) $(nodist_gftodvi_SOURCES) \
+	$(nodist_gftopk_SOURCES) $(nodist_gftype_SOURCES) \
+	$(nodist_initex_SOURCES) $(nodist_luajittex_SOURCES) \
+	$(nodist_EXTRA_luajittex_SOURCES) $(nodist_luatex_SOURCES) \
+	$(nodist_EXTRA_luatex_SOURCES) $(md5main_SOURCES) \
+	$(dist_mf_SOURCES) $(dist_mf_nowin_SOURCES) \
 	$(dist_mflua_SOURCES) $(nodist_mflua_nowin_SOURCES) \
 	$(dist_mfluajit_SOURCES) $(nodist_mfluajit_nowin_SOURCES) \
 	$(nodist_mft_SOURCES) $(nodist_mpost_SOURCES) \
@@ -2108,10 +2106,10 @@
 SUBDIRS = doc lib man web2c . window omegafonts otps
 proglib = lib/lib.a
 EXTRA_LIBRARIES = libmf.a libmflua.a libmfluajit.a libmputil.a \
-	libmplib.a libkanji.a libukanji.a libpdftex.a libluasocket.a \
-	libluajitsocket.a libluamisc.a libluajitmisc.a libunilib.a \
-	libff.a libluatex.a libluajittex.a libluaffi.a libxetex.a \
-	libsynctex.a libmd5.a
+	libmplibcore.a libmplibbackends.a libkanji.a libukanji.a \
+	libpdftex.a libluasocket.a libluajitsocket.a libluamisc.a \
+	libluajitmisc.a libunilib.a libff.a libluatex.a libluajittex.a \
+	libluaffi.a libxetex.a libsynctex.a libmd5.a
 EXTRA_LTLIBRARIES = libsynctex.la
 lib_LIBRARIES = $(am__append_109)
 lib_LTLIBRARIES = $(am__append_108)
@@ -2163,42 +2161,18 @@
 	triptrap/tripman.tex triptrap/tripos.tex triptrap/writeo \
 	triptrap/writeo.2 $(mflua_web_srcs) $(mflua_ch_src) \
 	mfluadir/mflua.defines mfluadir/ChangeLog $(mflua_tests) \
-	mfluadir/mfluatrap/begin_program.lua \
-	mfluadir/mfluatrap/do_add_to.lua \
-	mfluadir/mfluatrap/end_program.lua \
-	mfluadir/mfluatrap/fill_envelope.lua \
-	mfluadir/mfluatrap/fill_spec.lua \
-	mfluadir/mfluatrap/final_cleanup.lua \
-	mfluadir/mfluatrap/main_control.lua \
-	mfluadir/mfluatrap/make_ellipse.lua \
-	mfluadir/mfluatrap/mfluaini.lua \
-	mfluadir/mfluatrap/offset_prep.lua \
-	mfluadir/mfluatrap/print_edges.lua \
-	mfluadir/mfluatrap/print_path.lua \
-	mfluadir/mfluatrap/scan_direction.lua \
-	mfluadir/mfluatrap/skew_line_edges.lua \
-	mfluadir/mfluatrap/start_of_mf.lua \
+	mfluadir/mfluatrap/mflua.lua \
+	mfluadir/mfluatrap/mflua_svg_backend.lua \
+	mfluadir/mfluatrap/mflua_ttx_backend.lua \
 	mfluadir/mfluatrap/texmf.cnf \
 	mfluadir/mfluatrap/mfluatrap.diffs $(mfluajit_web_srcs) \
 	$(mfluajit_ch_src) mfluajitdir/mfluajit.defines \
 	mfluajitdir/ChangeLog $(mfluajit_tests) \
-	mfluadir/mfluatrap/begin_program.lua \
-	mfluadir/mfluatrap/do_add_to.lua \
-	mfluadir/mfluatrap/end_program.lua \
-	mfluadir/mfluatrap/fill_envelope.lua \
-	mfluadir/mfluatrap/fill_spec.lua \
-	mfluadir/mfluatrap/final_cleanup.lua \
-	mfluadir/mfluatrap/main_control.lua \
-	mfluadir/mfluatrap/make_ellipse.lua \
-	mfluadir/mfluatrap/mfluaini.lua \
-	mfluadir/mfluatrap/offset_prep.lua \
-	mfluadir/mfluatrap/print_edges.lua \
-	mfluadir/mfluatrap/print_path.lua \
-	mfluadir/mfluatrap/scan_direction.lua \
-	mfluadir/mfluatrap/skew_line_edges.lua \
-	mfluadir/mfluatrap/start_of_MF.lua \
+	mfluadir/mfluatrap/mflua.lua \
+	mfluadir/mfluatrap/mflua_svg_backend.lua \
+	mfluadir/mfluatrap/mflua_ttx_backend.lua \
 	mfluadir/mfluatrap/texmf.cnf \
-	mfluajitdir/mfluajittrap/mfluajittrap.diffs mplibdir/ChangeLog \
+	mfluadir/mfluatrap/mfluatrap.diffs mplibdir/ChangeLog \
 	$(mpost_web) $(mp_tests) pmpostdir/ChangeLog $(pmpost_web) \
 	$(pmpost_tests) $(upmpost_tests) pmpostdir/tests/psample.mp \
 	$(libmplib_web) $(etex_web_srcs) $(etex_ch_srcs) \
@@ -2332,12 +2306,12 @@
 	luatexdir/luafilesystem/tests luatexdir/luafilesystem/vc6 \
 	luatexdir/luamd5/makefile luatexdir/luamd5/md5.html \
 	luatexdir/luamd5/md5.lua luatexdir/luamd5/md5tests.lua \
-	luatexdir/luaprofiler/Makefile luatexdir/luazip/Makefile \
-	luatexdir/luazip/README luatexdir/luazip/config \
-	luatexdir/luazip/doc luatexdir/luazip/tests \
-	luatexdir/luazip/vc6 luatexdir/luazip/vc7 \
-	luatexdir/luazlib/Makefile luatexdir/luazlib/README \
-	luatexdir/luazlib/gzip.lua luatexdir/luazlib/test_gzip.lua \
+	luatexdir/luazip/Makefile luatexdir/luazip/README \
+	luatexdir/luazip/config luatexdir/luazip/doc \
+	luatexdir/luazip/tests luatexdir/luazip/vc6 \
+	luatexdir/luazip/vc7 luatexdir/luazlib/Makefile \
+	luatexdir/luazlib/README luatexdir/luazlib/gzip.lua \
+	luatexdir/luazlib/test_gzip.lua \
 	luatexdir/luazlib/test_zlib.lua luatexdir/luazlib/zlib.lua \
 	luatexdir/slnunicode/unitest luatexdir/unilib/src/makeutype.c \
 	luatexdir/luafontloader/ChangeLog \
@@ -2447,13 +2421,14 @@
 	tests/xptmr.mpx tests/xstory.mpx $(nodist_pmpost_SOURCES) \
 	pmp.w pmpost.w pmpxout.w ppsout.w psvgout.w ptfmin.w \
 	pmp-tangle pmpxout-tangle ppsout-tangle psvgout-tangle \
-	pmpsamp.* upmpsamp.* $(nodist_libmplib_a_SOURCES) mp-tangle \
-	mpmath-tangle mpmathbinary-tangle mpmathdecimal-tangle \
-	mpmathdouble-tangle mpstrings-tangle psout-tangle \
-	svgout-tangle pngout-tangle $(nodist_etex_SOURCES) etex.web \
-	etex.ch etex-web2c etex.p etex.pool etex-tangle etrip.diffs \
-	ewprob.log ewprob.tex $(nodist_ptex_SOURCES) ptex.web ptex.ch \
-	ptex-web2c ptex.p ptex.pool ptex-tangle $(pweb_programs:=.c) \
+	pmpsamp.* upmpsamp.* $(nodist_libmplibcore_a_SOURCES) \
+	$(nodist_libmplibbackends_a_SOURCES) mp-tangle mpmath-tangle \
+	mpmathbinary-tangle mpmathdecimal-tangle mpmathdouble-tangle \
+	mpstrings-tangle psout-tangle svgout-tangle pngout-tangle \
+	$(nodist_etex_SOURCES) etex.web etex.ch etex-web2c etex.p \
+	etex.pool etex-tangle etrip.diffs ewprob.log ewprob.tex \
+	$(nodist_ptex_SOURCES) ptex.web ptex.ch ptex-web2c ptex.p \
+	ptex.pool ptex-tangle $(pweb_programs:=.c) \
 	$(pweb_programs:=.h) $(pweb_programs:=.p) \
 	$(pweb_programs:=-web2c) $(pweb_programs:=.web) \
 	ptests/nissya_bib.* ptests/xexampl.aux ptests/xexampl.bbl \
@@ -2576,7 +2551,10 @@
 # For trip, trap, and other tests
 DIFF = diff
 DIFFFLAGS = 
-TESTS_ENVIRONMENT = abs_srcdir=$(abs_srcdir) DIFF='$(DIFF)' DIFFFLAGS='$(DIFFFLAGS)' LN_S='$(LN_S)' KPSEWHICH='$(KPSEWHICH)'
+AM_TESTS_ENVIRONMENT = abs_srcdir=$(abs_srcdir); export abs_srcdir; \
+	DIFF='$(DIFF)'; export DIFF; DIFFFLAGS='$(DIFFFLAGS)'; export \
+	DIFFFLAGS; LN_S='$(LN_S)'; export LN_S; \
+	KPSEWHICH='$(KPSEWHICH)'; export KPSEWHICH;
 triptrap_diffs = $(AM_V_GEN)srcdir=$(srcdir) abs_srcdir=$(abs_srcdir) MAKE=$(MAKE) $(SHELL) $(srcdir)/triptrap-sh
 
 # The environment for making dumps.
@@ -2743,7 +2721,9 @@
 #
 mfluajit_tests = mfluajitdir/mfluajittraptest.test
 mpost_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) $(LIBPNG_INCLUDES) -I$(srcdir)/mplibdir
-mpost_LDADD = libmplib.a $(KPATHSEA_LIBS) $(MPFR_LIBS) $(GMP_LIBS) \
+#mpost_LDADD = libmplib.a $(KPATHSEA_LIBS) $(MPFR_LIBS) $(GMP_LIBS) \
+#	$(CAIRO_LIBS) $(PIXMAN_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) libmputil.a
+mpost_LDADD = libmplibcore.a libmplibbackends.a  $(KPATHSEA_LIBS) $(MPFR_LIBS) $(GMP_LIBS) \
 	$(CAIRO_LIBS) $(PIXMAN_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) libmputil.a
 
 call_mpost_CPPFLAGS = -DEXEPROG=\"mpost.exe\"
@@ -2809,12 +2789,14 @@
 libmputil_a_SOURCES = mplibdir/avl.h mplibdir/avl.c mplibdir/decNumber.c mplibdir/decNumber.h \
 	mplibdir/decNumberLocal.h mplibdir/decContext.h mplibdir/decContext.c
 
-libmplib_a_CPPFLAGS = $(MPFR_INCLUDES) $(GMP_INCLUDES) $(CAIRO_INCLUDES) $(PIXMAN_INCLUDES) \
+libmplibcore_a_CPPFLAGS = $(MPFR_INCLUDES) $(GMP_INCLUDES) $(LIBPNG_INCLUDES) $(ZLIB_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/mplibdir
+libmplibbackends_a_CPPFLAGS = $(MPFR_INCLUDES) $(GMP_INCLUDES) $(CAIRO_INCLUDES) $(PIXMAN_INCLUDES) \
 	$(LIBPNG_INCLUDES) $(ZLIB_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/mplibdir
 
-nodist_libmplib_a_SOURCES = tfmin.c $(mp_c_h) $(mpmath_c_h) $(mpmathbinary_c_h) $(mpmathdecimal_c_h) \
-	$(mpmathdouble_c_h) $(mpstrings_c_h) $(pngout_c_h) $(psout_c_h) $(svgout_c_h)
+nodist_libmplibcore_a_SOURCES = tfmin.c $(mp_c_h) $(mpmath_c_h) $(mpmathbinary_c_h) $(mpmathdecimal_c_h) \
+	$(mpmathdouble_c_h) $(mpstrings_c_h) $(psout_c_h) 
 
+nodist_libmplibbackends_a_SOURCES = $(pngout_c_h)  $(svgout_c_h)
 mp_c_h = mp.c mplib.h mpmp.h
 mpmath_c_h = mpmath.h mpmath.c
 mpmathbinary_c_h = mpmathbinary.h mpmathbinary.c
@@ -3191,19 +3173,8 @@
 	luatexdir/luamd5/md5.c \
 	luatexdir/luamd5/luamd5.h \
 	luatexdir/luamd5/md5lib.c \
-	luatexdir/luamd5/md5_lua.c \
 	luatexdir/luapeg/lpeg.c \
 	luatexdir/luapeg/lpeg.h \
-	luatexdir/luaprofiler/clocks.c \
-	luatexdir/luaprofiler/clocks.h \
-	luatexdir/luaprofiler/core_profiler.c \
-	luatexdir/luaprofiler/core_profiler.h \
-	luatexdir/luaprofiler/function_meter.c \
-	luatexdir/luaprofiler/function_meter.h \
-	luatexdir/luaprofiler/luaprofiler.h \
-	luatexdir/luaprofiler/stack.c \
-	luatexdir/luaprofiler/stack.h \
-	luatexdir/luaprofiler/lua50_profiler.c \
 	luatexdir/luazip/src/luazip.c \
 	luatexdir/luazip/src/luazip.h \
 	luatexdir/luazlib/lgzip.c \
@@ -3332,19 +3303,20 @@
 	luatexdir/lua/lstrlibext.c
 
 nodist_libluatex_a_SOURCES = \
-	luastuff.c texluac.c \
+	helpers.c luastuff.c texluac.c \
 	$(dist_libluatex_sources) \
 	$(nodist_libluatex_sources)
 
 dist_libluajittex_a_SOURCES = \
 	luatexdir/lua/lauxlib_bridge.h \
-	luatexdir/lua/lstrlibextjit.c
+	luatexdir/lua/lstrlibext.c
 
 nodist_libluajittex_a_SOURCES = \
-	luajitstuff.c texluajitc.c \
+	luastuff.c texluajitc.c \
 	$(dist_libluatex_sources) \
 	$(nodist_libluatex_sources)
 
+#libluatex_web += luatexdir/lua/luainit.w luatexdir/lua/luajitstuff.w
 libluatex_web = luatexdir/dvi/dvigen.w luatexdir/font/dofont.w \
 	luatexdir/font/luafont.w luatexdir/font/mapfile.w \
 	luatexdir/font/pkin.w luatexdir/font/sfnt.w \
@@ -3360,39 +3332,40 @@
 	luatexdir/image/writejpg.w luatexdir/image/writejp2.w \
 	luatexdir/image/writepng.w luatexdir/image/pdftoepdf.w \
 	luatexdir/lang/texlang.w luatexdir/lang/hyphen.w \
-	luatexdir/lang/hnjalloc.w luatexdir/lua/luainit.w \
-	luatexdir/lua/luajitstuff.w luatexdir/lua/luanode.w \
+	luatexdir/lang/hnjalloc.w luatexdir/lua/helpers.w \
+	luatexdir/lua/luainit.w luatexdir/lua/luanode.w \
 	luatexdir/lua/luastuff.w luatexdir/lua/luatoken.w \
-	luatexdir/lua/texluac.w luatexdir/lua/texluajitc.w \
-	luatexdir/pdf/pdfpagetree.w luatexdir/pdf/pdfaction.w \
-	luatexdir/pdf/pdfannot.w luatexdir/pdf/pdfcolorstack.w \
-	luatexdir/pdf/pdfdest.w luatexdir/pdf/pdffont.w \
-	luatexdir/pdf/pdfgen.w luatexdir/pdf/pdfglyph.w \
-	luatexdir/pdf/pdfimage.w luatexdir/pdf/pdflink.w \
-	luatexdir/pdf/pdflistout.w luatexdir/pdf/pdfliteral.w \
-	luatexdir/pdf/pdfobj.w luatexdir/pdf/pdfoutline.w \
-	luatexdir/pdf/pdfpage.w luatexdir/pdf/pdfrule.w \
-	luatexdir/pdf/pdfsaverestore.w luatexdir/pdf/pdfsetmatrix.w \
-	luatexdir/pdf/pdfshipout.w luatexdir/pdf/pdftables.w \
-	luatexdir/pdf/pdfthread.w luatexdir/pdf/pdfxform.w \
-	luatexdir/tex/align.w luatexdir/tex/arithmetic.w \
-	luatexdir/tex/buildpage.w luatexdir/tex/commands.w \
-	luatexdir/tex/conditional.w luatexdir/tex/directions.w \
-	luatexdir/tex/dumpdata.w luatexdir/tex/equivalents.w \
-	luatexdir/tex/errors.w luatexdir/tex/expand.w \
-	luatexdir/tex/extensions.w luatexdir/tex/filename.w \
-	luatexdir/tex/inputstack.w luatexdir/tex/linebreak.w \
-	luatexdir/tex/mainbody.w luatexdir/tex/maincontrol.w \
-	luatexdir/tex/mathcodes.w luatexdir/tex/memoryword.w \
-	luatexdir/tex/mlist.w luatexdir/tex/nesting.w \
-	luatexdir/tex/packaging.w luatexdir/tex/postlinebreak.w \
-	luatexdir/tex/primitive.w luatexdir/tex/printing.w \
-	luatexdir/tex/scanning.w luatexdir/tex/stringpool.w \
-	luatexdir/tex/texdeffont.w luatexdir/tex/texfileio.w \
-	luatexdir/tex/texmath.w luatexdir/tex/texnodes.w \
-	luatexdir/tex/textcodes.w luatexdir/tex/textoken.w \
-	luatexdir/utils/avlstuff.w luatexdir/utils/managed-sa.w \
-	luatexdir/utils/utils.w luatexdir/utils/unistring.w
+	luatexdir/lua/mplibstuff.w luatexdir/lua/texluac.w \
+	luatexdir/lua/texluajitc.w luatexdir/pdf/pdfpagetree.w \
+	luatexdir/pdf/pdfaction.w luatexdir/pdf/pdfannot.w \
+	luatexdir/pdf/pdfcolorstack.w luatexdir/pdf/pdfdest.w \
+	luatexdir/pdf/pdffont.w luatexdir/pdf/pdfgen.w \
+	luatexdir/pdf/pdfglyph.w luatexdir/pdf/pdfimage.w \
+	luatexdir/pdf/pdflink.w luatexdir/pdf/pdflistout.w \
+	luatexdir/pdf/pdfliteral.w luatexdir/pdf/pdfobj.w \
+	luatexdir/pdf/pdfoutline.w luatexdir/pdf/pdfpage.w \
+	luatexdir/pdf/pdfrule.w luatexdir/pdf/pdfsaverestore.w \
+	luatexdir/pdf/pdfsetmatrix.w luatexdir/pdf/pdfshipout.w \
+	luatexdir/pdf/pdftables.w luatexdir/pdf/pdfthread.w \
+	luatexdir/pdf/pdfxform.w luatexdir/tex/align.w \
+	luatexdir/tex/arithmetic.w luatexdir/tex/buildpage.w \
+	luatexdir/tex/commands.w luatexdir/tex/conditional.w \
+	luatexdir/tex/directions.w luatexdir/tex/dumpdata.w \
+	luatexdir/tex/equivalents.w luatexdir/tex/errors.w \
+	luatexdir/tex/expand.w luatexdir/tex/extensions.w \
+	luatexdir/tex/filename.w luatexdir/tex/inputstack.w \
+	luatexdir/tex/linebreak.w luatexdir/tex/mainbody.w \
+	luatexdir/tex/maincontrol.w luatexdir/tex/mathcodes.w \
+	luatexdir/tex/memoryword.w luatexdir/tex/mlist.w \
+	luatexdir/tex/nesting.w luatexdir/tex/packaging.w \
+	luatexdir/tex/postlinebreak.w luatexdir/tex/primitive.w \
+	luatexdir/tex/printing.w luatexdir/tex/scanning.w \
+	luatexdir/tex/stringpool.w luatexdir/tex/texdeffont.w \
+	luatexdir/tex/texfileio.w luatexdir/tex/texmath.w \
+	luatexdir/tex/texnodes.w luatexdir/tex/textcodes.w \
+	luatexdir/tex/textoken.w luatexdir/utils/avlstuff.w \
+	luatexdir/utils/managed-sa.w luatexdir/utils/utils.w \
+	luatexdir/utils/unistring.w
 nodist_libluatex_sources = dvigen.c dofont.c luafont.c mapfile.c \
 	pkin.c sfnt.c subfont.c texfont.c tfmofm.c tounicode.c \
 	tt_glyf.c tt_table.c vfovf.c vfpacket.c writecff.c writeenc.c \
@@ -3399,19 +3372,19 @@
 	writefont.c writet1.c writet3.c writettf.c writetype0.c \
 	writetype2.c writeimg.c writejbig2.c writejpg.c writejp2.c \
 	writepng.c pdftoepdf.cc texlang.c hyphen.c hnjalloc.c \
-	luainit.c luanode.c luatoken.c pdfpagetree.c pdfaction.c \
-	pdfannot.c pdfcolorstack.c pdfdest.c pdffont.c pdfgen.c \
-	pdfglyph.c pdfimage.c pdflink.c pdflistout.c pdfliteral.c \
-	pdfobj.c pdfoutline.c pdfpage.c pdfrule.c pdfsaverestore.c \
-	pdfsetmatrix.c pdfshipout.c pdftables.c pdfthread.c pdfxform.c \
-	align.c arithmetic.c buildpage.c commands.c conditional.c \
-	directions.c dumpdata.c equivalents.c errors.c expand.c \
-	extensions.c filename.c inputstack.c linebreak.c mainbody.c \
-	maincontrol.c mathcodes.c memoryword.c mlist.c nesting.c \
-	packaging.c postlinebreak.c primitive.c printing.c scanning.c \
-	stringpool.c texdeffont.c texfileio.c texmath.c texnodes.c \
-	textcodes.c textoken.c avlstuff.c managed-sa.c utils.c \
-	unistring.c
+	luainit.c luanode.c luatoken.c mplibstuff.c pdfpagetree.c \
+	pdfaction.c pdfannot.c pdfcolorstack.c pdfdest.c pdffont.c \
+	pdfgen.c pdfglyph.c pdfimage.c pdflink.c pdflistout.c \
+	pdfliteral.c pdfobj.c pdfoutline.c pdfpage.c pdfrule.c \
+	pdfsaverestore.c pdfsetmatrix.c pdfshipout.c pdftables.c \
+	pdfthread.c pdfxform.c align.c arithmetic.c buildpage.c \
+	commands.c conditional.c directions.c dumpdata.c equivalents.c \
+	errors.c expand.c extensions.c filename.c inputstack.c \
+	linebreak.c mainbody.c maincontrol.c mathcodes.c memoryword.c \
+	mlist.c nesting.c packaging.c postlinebreak.c primitive.c \
+	printing.c scanning.c stringpool.c texdeffont.c texfileio.c \
+	texmath.c texnodes.c textcodes.c textoken.c avlstuff.c \
+	managed-sa.c utils.c unistring.c
 dist_libluatex_sources = luatexdir/luatexcallbackids.h \
 	luatexdir/luatex.h luatexdir/luatex-common.h \
 	luatexdir/ptexlib.h luatexdir/luafontloader/src/ffdummies.c \
@@ -3435,39 +3408,40 @@
 	luatexdir/lua/loslibext.c luatexdir/lua/lpdflib.c \
 	luatexdir/lua/lstatslib.c luatexdir/lua/ltexiolib.c \
 	luatexdir/lua/ltexlib.c luatexdir/lua/lnewtokenlib.c \
-	luatexdir/lua/luatex-api.h luatexdir/pdf/pdfpagetree.h \
-	luatexdir/pdf/pdfaction.h luatexdir/pdf/pdfannot.h \
-	luatexdir/pdf/pdfcolorstack.h luatexdir/pdf/pdfdest.h \
-	luatexdir/pdf/pdffont.h luatexdir/pdf/pdfgen.h \
-	luatexdir/pdf/pdfglyph.h luatexdir/pdf/pdfimage.h \
-	luatexdir/pdf/pdflink.h luatexdir/pdf/pdflistout.h \
-	luatexdir/pdf/pdfliteral.h luatexdir/pdf/pdfobj.h \
-	luatexdir/pdf/pdfoutline.h luatexdir/pdf/pdfpage.h \
-	luatexdir/pdf/pdfrule.h luatexdir/pdf/pdfsaverestore.h \
-	luatexdir/pdf/pdfsetmatrix.h luatexdir/pdf/pdfshipout.h \
-	luatexdir/pdf/pdftables.h luatexdir/pdf/pdfthread.h \
-	luatexdir/pdf/pdftypes.h luatexdir/pdf/pdfxform.h \
-	luatexdir/tex/align.h luatexdir/tex/arithmetic.h \
-	luatexdir/tex/buildpage.h luatexdir/tex/commands.h \
-	luatexdir/tex/conditional.h luatexdir/tex/directions.h \
-	luatexdir/tex/dumpdata.h luatexdir/tex/equivalents.h \
-	luatexdir/tex/errors.h luatexdir/tex/expand.h \
-	luatexdir/tex/extensions.h luatexdir/tex/filename.h \
-	luatexdir/tex/inputstack.h luatexdir/tex/linebreak.h \
-	luatexdir/tex/mainbody.h luatexdir/tex/maincontrol.h \
-	luatexdir/tex/mathcodes.h luatexdir/tex/memoryword.h \
-	luatexdir/tex/mlist.h luatexdir/tex/nesting.h \
-	luatexdir/tex/packaging.h luatexdir/tex/postlinebreak.h \
-	luatexdir/tex/primitive.h luatexdir/tex/printing.h \
-	luatexdir/tex/scanning.h luatexdir/tex/stringpool.h \
-	luatexdir/tex/texdeffont.h luatexdir/tex/texfileio.h \
-	luatexdir/tex/texmath.h luatexdir/tex/texnodes.h \
-	luatexdir/tex/textoken.h luatexdir/tex/textcodes.h \
-	luatexdir/utils/avl.c luatexdir/utils/avl.h \
-	luatexdir/utils/avlstuff.h luatexdir/utils/managed-sa.h \
-	luatexdir/utils/utils.h luatexdir/utils/unistring.h \
-	synctexdir/synctex-common.h synctexdir/synctex-luatex.h \
-	synctexdir/synctex.c synctexdir/synctex.h
+	luatexdir/lua/luatex-api.h luatexdir/lua/luatex-core.c \
+	luatexdir/pdf/pdfpagetree.h luatexdir/pdf/pdfaction.h \
+	luatexdir/pdf/pdfannot.h luatexdir/pdf/pdfcolorstack.h \
+	luatexdir/pdf/pdfdest.h luatexdir/pdf/pdffont.h \
+	luatexdir/pdf/pdfgen.h luatexdir/pdf/pdfglyph.h \
+	luatexdir/pdf/pdfimage.h luatexdir/pdf/pdflink.h \
+	luatexdir/pdf/pdflistout.h luatexdir/pdf/pdfliteral.h \
+	luatexdir/pdf/pdfobj.h luatexdir/pdf/pdfoutline.h \
+	luatexdir/pdf/pdfpage.h luatexdir/pdf/pdfrule.h \
+	luatexdir/pdf/pdfsaverestore.h luatexdir/pdf/pdfsetmatrix.h \
+	luatexdir/pdf/pdfshipout.h luatexdir/pdf/pdftables.h \
+	luatexdir/pdf/pdfthread.h luatexdir/pdf/pdftypes.h \
+	luatexdir/pdf/pdfxform.h luatexdir/tex/align.h \
+	luatexdir/tex/arithmetic.h luatexdir/tex/buildpage.h \
+	luatexdir/tex/commands.h luatexdir/tex/conditional.h \
+	luatexdir/tex/directions.h luatexdir/tex/dumpdata.h \
+	luatexdir/tex/equivalents.h luatexdir/tex/errors.h \
+	luatexdir/tex/expand.h luatexdir/tex/extensions.h \
+	luatexdir/tex/filename.h luatexdir/tex/inputstack.h \
+	luatexdir/tex/linebreak.h luatexdir/tex/mainbody.h \
+	luatexdir/tex/maincontrol.h luatexdir/tex/mathcodes.h \
+	luatexdir/tex/memoryword.h luatexdir/tex/mlist.h \
+	luatexdir/tex/nesting.h luatexdir/tex/packaging.h \
+	luatexdir/tex/postlinebreak.h luatexdir/tex/primitive.h \
+	luatexdir/tex/printing.h luatexdir/tex/scanning.h \
+	luatexdir/tex/stringpool.h luatexdir/tex/texdeffont.h \
+	luatexdir/tex/texfileio.h luatexdir/tex/texmath.h \
+	luatexdir/tex/texnodes.h luatexdir/tex/textoken.h \
+	luatexdir/tex/textcodes.h luatexdir/utils/avl.c \
+	luatexdir/utils/avl.h luatexdir/utils/avlstuff.h \
+	luatexdir/utils/managed-sa.h luatexdir/utils/utils.h \
+	luatexdir/utils/unistring.h synctexdir/synctex-common.h \
+	synctexdir/synctex-luatex.h synctexdir/synctex.c \
+	synctexdir/synctex.h
 luatex_dvi_ctangle = $(ctangle_silent)CWEBINPUTS=$(srcdir)/luatexdir/dvi $(ctangle)
 luatex_font_ctangle = $(ctangle_silent)CWEBINPUTS=$(srcdir)/luatexdir/font $(ctangle)
 luatex_image_ctangle = $(ctangle_silent)CWEBINPUTS=$(srcdir)/luatexdir/image $(ctangle)
@@ -3542,10 +3516,9 @@
 luajittex_CXXFLAGS = $(WARNING_CXXFLAGS)
 luatex_LDFLAGS = -export-dynamic
 luajittex_LDFLAGS = -export-dynamic $(LUAJIT_LDEXTRA)
-luatex_postldadd = libmplib.a $(MPFR_LIBS) $(GMP_LIBS) $(CAIRO_LIBS) \
-	$(PIXMAN_LIBS) $(ZZIPLIB_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) \
-	$(POPPLER_LIBS) $(LDADD) libmputil.a libunilib.a libmd5.a \
-	$(lua_socketlibs)
+luatex_postldadd = libmplibcore.a $(MPFR_LIBS) $(GMP_LIBS) \
+	$(ZZIPLIB_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) $(POPPLER_LIBS) \
+	$(LDADD) libmputil.a libunilib.a libmd5.a $(lua_socketlibs)
 luatex_LDADD = libluatex.a libff.a libluamisc.a libluasocket.a libluaffi.a $(LUA_LIBS) $(luatex_postldadd)
 luajittex_LDADD = libluajittex.a libff.a libluajitmisc.a libluajitsocket.a $(LUAJIT_LIBS) $(luatex_postldadd)
 luatex_depend = $(proglib) $(KPATHSEA_DEPEND) $(LIBPNG_DEPEND) libmputil.a libmd5.a
@@ -3581,8 +3554,9 @@
 	$(ZLIB_INCLUDES) -I$(srcdir)/libmd5 $(am__append_97) \
 	$(am__append_98)
 xetex_ldadd = $(libxetex) $(HARFBUZZ_LIBS) $(GRAPHITE2_LIBS) \
-	$(ICU_LIBS) $(TECKIT_LIBS) $(POPPLER_LIBS) $(LIBPNG_LIBS) \
-	$(FREETYPE2_LIBS) $(ZLIB_LIBS) libmd5.a $(am__append_99)
+	$(ICU_LIBS) $(ICU_LIBS_EXTRA) $(TECKIT_LIBS) $(POPPLER_LIBS) \
+	$(LIBPNG_LIBS) $(FREETYPE2_LIBS) $(ZLIB_LIBS) libmd5.a \
+	$(am__append_99)
 xetex_dependencies = $(proglib) $(KPATHSEA_DEPEND) $(ICU_DEPEND) \
 	$(TECKIT_DEPEND) $(HARFBUZZ_DEPEND) $(GRAPHITE2_DEPEND) \
 	$(POPPLER_DEPEND) $(LIBPNG_DEPEND) $(FREETYPE2_DEPEND) \
@@ -3613,7 +3587,7 @@
 libxetex_a_CFLAGS = $(WARNING_CFLAGS)
 libxetex_a_CXXFLAGS = # $(WARNING_CXXFLAGS)
 libxetex_a_OBJCXXFLAGS = # $(WARNING_OBJCXXFLAGS)
-libxetex_a_SOURCES = xetexdir/MathTable.h xetexdir/XeTeXFontInst.cpp \
+libxetex_a_SOURCES = xetexdir/XeTeXFontInst.cpp \
 	xetexdir/XeTeXFontInst.h xetexdir/XeTeXFontMgr.cpp \
 	xetexdir/XeTeXFontMgr.h xetexdir/XeTeXLayoutInterface.cpp \
 	xetexdir/XeTeXLayoutInterface.h xetexdir/XeTeXOTMath.cpp \
@@ -4145,9 +4119,6 @@
 luatexdir/luamd5/libluajitmisc_a-md5lib.$(OBJEXT):  \
 	luatexdir/luamd5/$(am__dirstamp) \
 	luatexdir/luamd5/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luamd5/libluajitmisc_a-md5_lua.$(OBJEXT):  \
-	luatexdir/luamd5/$(am__dirstamp) \
-	luatexdir/luamd5/$(DEPDIR)/$(am__dirstamp)
 luatexdir/luapeg/$(am__dirstamp):
 	@$(MKDIR_P) luatexdir/luapeg
 	@: > luatexdir/luapeg/$(am__dirstamp)
@@ -4157,27 +4128,6 @@
 luatexdir/luapeg/libluajitmisc_a-lpeg.$(OBJEXT):  \
 	luatexdir/luapeg/$(am__dirstamp) \
 	luatexdir/luapeg/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/$(am__dirstamp):
-	@$(MKDIR_P) luatexdir/luaprofiler
-	@: > luatexdir/luaprofiler/$(am__dirstamp)
-luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) luatexdir/luaprofiler/$(DEPDIR)
-	@: > luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluajitmisc_a-clocks.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluajitmisc_a-core_profiler.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluajitmisc_a-function_meter.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluajitmisc_a-stack.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
 luatexdir/luazip/src/$(am__dirstamp):
 	@$(MKDIR_P) luatexdir/luazip/src
 	@: > luatexdir/luazip/src/$(am__dirstamp)
@@ -4275,7 +4225,7 @@
 luatexdir/lua/$(DEPDIR)/$(am__dirstamp):
 	@$(MKDIR_P) luatexdir/lua/$(DEPDIR)
 	@: > luatexdir/lua/$(DEPDIR)/$(am__dirstamp)
-luatexdir/lua/libluajittex_a-lstrlibextjit.$(OBJEXT):  \
+luatexdir/lua/libluajittex_a-lstrlibext.$(OBJEXT):  \
 	luatexdir/lua/$(am__dirstamp) \
 	luatexdir/lua/$(DEPDIR)/$(am__dirstamp)
 luatexdir/luafontloader/src/$(am__dirstamp):
@@ -4341,6 +4291,9 @@
 luatexdir/lua/libluajittex_a-lnewtokenlib.$(OBJEXT):  \
 	luatexdir/lua/$(am__dirstamp) \
 	luatexdir/lua/$(DEPDIR)/$(am__dirstamp)
+luatexdir/lua/libluajittex_a-luatex-core.$(OBJEXT):  \
+	luatexdir/lua/$(am__dirstamp) \
+	luatexdir/lua/$(DEPDIR)/$(am__dirstamp)
 luatexdir/utils/$(am__dirstamp):
 	@$(MKDIR_P) luatexdir/utils
 	@: > luatexdir/utils/$(am__dirstamp)
@@ -4373,27 +4326,9 @@
 luatexdir/luamd5/libluamisc_a-md5lib.$(OBJEXT):  \
 	luatexdir/luamd5/$(am__dirstamp) \
 	luatexdir/luamd5/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luamd5/libluamisc_a-md5_lua.$(OBJEXT):  \
-	luatexdir/luamd5/$(am__dirstamp) \
-	luatexdir/luamd5/$(DEPDIR)/$(am__dirstamp)
 luatexdir/luapeg/libluamisc_a-lpeg.$(OBJEXT):  \
 	luatexdir/luapeg/$(am__dirstamp) \
 	luatexdir/luapeg/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluamisc_a-clocks.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluamisc_a-core_profiler.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluamisc_a-function_meter.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluamisc_a-stack.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-luatexdir/luaprofiler/libluamisc_a-lua50_profiler.$(OBJEXT):  \
-	luatexdir/luaprofiler/$(am__dirstamp) \
-	luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
 luatexdir/luazip/src/libluamisc_a-luazip.$(OBJEXT):  \
 	luatexdir/luazip/src/$(am__dirstamp) \
 	luatexdir/luazip/src/$(DEPDIR)/$(am__dirstamp)
@@ -4521,6 +4456,9 @@
 luatexdir/lua/libluatex_a-lnewtokenlib.$(OBJEXT):  \
 	luatexdir/lua/$(am__dirstamp) \
 	luatexdir/lua/$(DEPDIR)/$(am__dirstamp)
+luatexdir/lua/libluatex_a-luatex-core.$(OBJEXT):  \
+	luatexdir/lua/$(am__dirstamp) \
+	luatexdir/lua/$(DEPDIR)/$(am__dirstamp)
 luatexdir/utils/libluatex_a-avl.$(OBJEXT):  \
 	luatexdir/utils/$(am__dirstamp) \
 	luatexdir/utils/$(DEPDIR)/$(am__dirstamp)
@@ -4576,10 +4514,15 @@
 	$(AM_V_AR)$(libmfluajit_a_AR) libmfluajit.a $(libmfluajit_a_OBJECTS) $(libmfluajit_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libmfluajit.a
 
-libmplib.a: $(libmplib_a_OBJECTS) $(libmplib_a_DEPENDENCIES) $(EXTRA_libmplib_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libmplib.a
-	$(AM_V_AR)$(libmplib_a_AR) libmplib.a $(libmplib_a_OBJECTS) $(libmplib_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libmplib.a
+libmplibbackends.a: $(libmplibbackends_a_OBJECTS) $(libmplibbackends_a_DEPENDENCIES) $(EXTRA_libmplibbackends_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libmplibbackends.a
+	$(AM_V_AR)$(libmplibbackends_a_AR) libmplibbackends.a $(libmplibbackends_a_OBJECTS) $(libmplibbackends_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libmplibbackends.a
+
+libmplibcore.a: $(libmplibcore_a_OBJECTS) $(libmplibcore_a_DEPENDENCIES) $(EXTRA_libmplibcore_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libmplibcore.a
+	$(AM_V_AR)$(libmplibcore_a_AR) libmplibcore.a $(libmplibcore_a_OBJECTS) $(libmplibcore_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libmplibcore.a
 mplibdir/$(am__dirstamp):
 	@$(MKDIR_P) mplibdir
 	@: > mplibdir/$(am__dirstamp)
@@ -5296,7 +5239,6 @@
 	-rm -f luatexdir/luafontloader/src/*.$(OBJEXT)
 	-rm -f luatexdir/luamd5/*.$(OBJEXT)
 	-rm -f luatexdir/luapeg/*.$(OBJEXT)
-	-rm -f luatexdir/luaprofiler/*.$(OBJEXT)
 	-rm -f luatexdir/luasocket/src/*.$(OBJEXT)
 	-rm -f luatexdir/luazip/src/*.$(OBJEXT)
 	-rm -f luatexdir/luazlib/*.$(OBJEXT)
@@ -5372,8 +5314,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-linebreak.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-luafont.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-luainit.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-luajitstuff.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-luanode.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-luastuff.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-luatoken.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-mainbody.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-maincontrol.Po at am__quote@
@@ -5382,6 +5324,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-mathcodes.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-memoryword.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-mlist.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-mplibstuff.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-nesting.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-packaging.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluajittex_a-pdfaction.Po at am__quote@
@@ -5460,6 +5403,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-expand.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-extensions.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-filename.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-helpers.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-hnjalloc.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-hyphen.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-inputstack.Po at am__quote@
@@ -5476,6 +5420,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-mathcodes.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-memoryword.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-mlist.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-mplibstuff.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-nesting.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-packaging.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libluatex_a-pdfaction.Po at am__quote@
@@ -5545,16 +5490,16 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmfluajit_a-mfluajit-pool.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmfluajit_a-mfluajit0.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmfluajit_a-mfluajitini.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-mp.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-mpmath.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-mpmathbinary.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-mpmathdecimal.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-mpmathdouble.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-mpstrings.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-pngout.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-psout.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-svgout.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplib_a-tfmin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibbackends_a-pngout.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibbackends_a-svgout.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibcore_a-mp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibcore_a-mpmath.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibcore_a-mpmathbinary.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibcore_a-mpmathdecimal.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibcore_a-mpmathdouble.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibcore_a-mpstrings.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibcore_a-psout.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmplibcore_a-tfmin.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/luajittex-dummy.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/luatex-dummy.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mf-mfextra.Po at am__quote@
@@ -5660,9 +5605,10 @@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluajittex_a-lpdflib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluajittex_a-lpdfscannerlib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluajittex_a-lstatslib.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibextjit.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibext.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluajittex_a-ltexiolib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluajittex_a-ltexlib.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluajittex_a-luatex-core.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluatex_a-lcallbacklib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluatex_a-lepdflib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluatex_a-lfontlib.Po at am__quote@
@@ -5681,6 +5627,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluatex_a-lstrlibext.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluatex_a-ltexiolib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluatex_a-ltexlib.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libluatex_a-luatex-core.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libmflua_a-lkpselib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/lua/$(DEPDIR)/libmfluajit_a-lkpselib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaffi/$(DEPDIR)/libluaffi_a-call.Po at am__quote@
@@ -5736,23 +5683,11 @@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luafontloader/src/$(DEPDIR)/libluatex_a-ffdummies.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luafontloader/src/$(DEPDIR)/libluatex_a-luafflib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5_lua.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5lib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5_lua.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5lib.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luapeg/$(DEPDIR)/libluajitmisc_a-lpeg.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luapeg/$(DEPDIR)/libluamisc_a-lpeg.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-clocks.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-core_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-function_meter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-lua50_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-stack.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-clocks.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-core_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-function_meter.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-lua50_profiler.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-stack.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luasocket/src/$(DEPDIR)/libluajitsocket_a-auxiliar.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luasocket/src/$(DEPDIR)/libluajitsocket_a-buffer.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/luasocket/src/$(DEPDIR)/libluajitsocket_a-except.Po at am__quote@
@@ -6607,20 +6542,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luamd5/libluajitmisc_a-md5lib.obj `if test -f 'luatexdir/luamd5/md5lib.c'; then $(CYGPATH_W) 'luatexdir/luamd5/md5lib.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luamd5/md5lib.c'; fi`
 
-luatexdir/luamd5/libluajitmisc_a-md5_lua.o: luatexdir/luamd5/md5_lua.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luamd5/libluajitmisc_a-md5_lua.o -MD -MP -MF luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5_lua.Tpo -c -o luatexdir/luamd5/libluajitmisc_a-md5_lua.o `test -f 'luatexdir/luamd5/md5_lua.c' || echo '$(srcdir)/'`luatexdir/luamd5/md5_lua.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5_lua.Tpo luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5_lua.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luamd5/md5_lua.c' object='luatexdir/luamd5/libluajitmisc_a-md5_lua.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luamd5/libluajitmisc_a-md5_lua.o `test -f 'luatexdir/luamd5/md5_lua.c' || echo '$(srcdir)/'`luatexdir/luamd5/md5_lua.c
-
-luatexdir/luamd5/libluajitmisc_a-md5_lua.obj: luatexdir/luamd5/md5_lua.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luamd5/libluajitmisc_a-md5_lua.obj -MD -MP -MF luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5_lua.Tpo -c -o luatexdir/luamd5/libluajitmisc_a-md5_lua.obj `if test -f 'luatexdir/luamd5/md5_lua.c'; then $(CYGPATH_W) 'luatexdir/luamd5/md5_lua.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luamd5/md5_lua.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5_lua.Tpo luatexdir/luamd5/$(DEPDIR)/libluajitmisc_a-md5_lua.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luamd5/md5_lua.c' object='luatexdir/luamd5/libluajitmisc_a-md5_lua.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luamd5/libluajitmisc_a-md5_lua.obj `if test -f 'luatexdir/luamd5/md5_lua.c'; then $(CYGPATH_W) 'luatexdir/luamd5/md5_lua.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luamd5/md5_lua.c'; fi`
-
 luatexdir/luapeg/libluajitmisc_a-lpeg.o: luatexdir/luapeg/lpeg.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luapeg/libluajitmisc_a-lpeg.o -MD -MP -MF luatexdir/luapeg/$(DEPDIR)/libluajitmisc_a-lpeg.Tpo -c -o luatexdir/luapeg/libluajitmisc_a-lpeg.o `test -f 'luatexdir/luapeg/lpeg.c' || echo '$(srcdir)/'`luatexdir/luapeg/lpeg.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luapeg/$(DEPDIR)/libluajitmisc_a-lpeg.Tpo luatexdir/luapeg/$(DEPDIR)/libluajitmisc_a-lpeg.Po
@@ -6635,76 +6556,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luapeg/libluajitmisc_a-lpeg.obj `if test -f 'luatexdir/luapeg/lpeg.c'; then $(CYGPATH_W) 'luatexdir/luapeg/lpeg.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luapeg/lpeg.c'; fi`
 
-luatexdir/luaprofiler/libluajitmisc_a-clocks.o: luatexdir/luaprofiler/clocks.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-clocks.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-clocks.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-clocks.o `test -f 'luatexdir/luaprofiler/clocks.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/clocks.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-clocks.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-clocks.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/clocks.c' object='luatexdir/luaprofiler/libluajitmisc_a-clocks.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-clocks.o `test -f 'luatexdir/luaprofiler/clocks.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/clocks.c
-
-luatexdir/luaprofiler/libluajitmisc_a-clocks.obj: luatexdir/luaprofiler/clocks.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-clocks.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-clocks.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-clocks.obj `if test -f 'luatexdir/luaprofiler/clocks.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/clocks.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/clocks.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-clocks.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-clocks.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/clocks.c' object='luatexdir/luaprofiler/libluajitmisc_a-clocks.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-clocks.obj `if test -f 'luatexdir/luaprofiler/clocks.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/clocks.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/clocks.c'; fi`
-
-luatexdir/luaprofiler/libluajitmisc_a-core_profiler.o: luatexdir/luaprofiler/core_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-core_profiler.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-core_profiler.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-core_profiler.o `test -f 'luatexdir/luaprofiler/core_profiler.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/core_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-core_profiler.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-core_profiler.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/core_profiler.c' object='luatexdir/luaprofiler/libluajitmisc_a-core_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-core_profiler.o `test -f 'luatexdir/luaprofiler/core_profiler.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/core_profiler.c
-
-luatexdir/luaprofiler/libluajitmisc_a-core_profiler.obj: luatexdir/luaprofiler/core_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-core_profiler.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-core_profiler.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-core_profiler.obj `if test -f 'luatexdir/luaprofiler/core_profiler.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/core_profiler.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/core_profiler.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-core_profiler.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-core_profiler.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/core_profiler.c' object='luatexdir/luaprofiler/libluajitmisc_a-core_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-core_profiler.obj `if test -f 'luatexdir/luaprofiler/core_profiler.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/core_profiler.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/core_profiler.c'; fi`
-
-luatexdir/luaprofiler/libluajitmisc_a-function_meter.o: luatexdir/luaprofiler/function_meter.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-function_meter.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-function_meter.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-function_meter.o `test -f 'luatexdir/luaprofiler/function_meter.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/function_meter.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-function_meter.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-function_meter.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/function_meter.c' object='luatexdir/luaprofiler/libluajitmisc_a-function_meter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-function_meter.o `test -f 'luatexdir/luaprofiler/function_meter.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/function_meter.c
-
-luatexdir/luaprofiler/libluajitmisc_a-function_meter.obj: luatexdir/luaprofiler/function_meter.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-function_meter.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-function_meter.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-function_meter.obj `if test -f 'luatexdir/luaprofiler/function_meter.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/function_meter.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/function_meter.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-function_meter.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-function_meter.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/function_meter.c' object='luatexdir/luaprofiler/libluajitmisc_a-function_meter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-function_meter.obj `if test -f 'luatexdir/luaprofiler/function_meter.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/function_meter.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/function_meter.c'; fi`
-
-luatexdir/luaprofiler/libluajitmisc_a-stack.o: luatexdir/luaprofiler/stack.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-stack.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-stack.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-stack.o `test -f 'luatexdir/luaprofiler/stack.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/stack.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-stack.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-stack.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/stack.c' object='luatexdir/luaprofiler/libluajitmisc_a-stack.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-stack.o `test -f 'luatexdir/luaprofiler/stack.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/stack.c
-
-luatexdir/luaprofiler/libluajitmisc_a-stack.obj: luatexdir/luaprofiler/stack.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-stack.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-stack.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-stack.obj `if test -f 'luatexdir/luaprofiler/stack.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/stack.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/stack.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-stack.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-stack.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/stack.c' object='luatexdir/luaprofiler/libluajitmisc_a-stack.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-stack.obj `if test -f 'luatexdir/luaprofiler/stack.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/stack.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/stack.c'; fi`
-
-luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.o: luatexdir/luaprofiler/lua50_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-lua50_profiler.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.o `test -f 'luatexdir/luaprofiler/lua50_profiler.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/lua50_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-lua50_profiler.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-lua50_profiler.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/lua50_profiler.c' object='luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.o `test -f 'luatexdir/luaprofiler/lua50_profiler.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/lua50_profiler.c
-
-luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.obj: luatexdir/luaprofiler/lua50_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-lua50_profiler.Tpo -c -o luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.obj `if test -f 'luatexdir/luaprofiler/lua50_profiler.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/lua50_profiler.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/lua50_profiler.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-lua50_profiler.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluajitmisc_a-lua50_profiler.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/lua50_profiler.c' object='luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluajitmisc_a-lua50_profiler.obj `if test -f 'luatexdir/luaprofiler/lua50_profiler.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/lua50_profiler.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/lua50_profiler.c'; fi`
-
 luatexdir/luazip/src/libluajitmisc_a-luazip.o: luatexdir/luazip/src/luazip.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitmisc_a_CPPFLAGS) $(CPPFLAGS) $(libluajitmisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luazip/src/libluajitmisc_a-luazip.o -MD -MP -MF luatexdir/luazip/src/$(DEPDIR)/libluajitmisc_a-luazip.Tpo -c -o luatexdir/luazip/src/libluajitmisc_a-luazip.o `test -f 'luatexdir/luazip/src/luazip.c' || echo '$(srcdir)/'`luatexdir/luazip/src/luazip.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luazip/src/$(DEPDIR)/libluajitmisc_a-luazip.Tpo luatexdir/luazip/src/$(DEPDIR)/libluajitmisc_a-luazip.Po
@@ -6971,33 +6822,33 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajitsocket_a_CPPFLAGS) $(CPPFLAGS) $(libluajitsocket_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luasocket/src/libluajitsocket_a-udp.obj `if test -f 'luatexdir/luasocket/src/udp.c'; then $(CYGPATH_W) 'luatexdir/luasocket/src/udp.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luasocket/src/udp.c'; fi`
 
-luatexdir/lua/libluajittex_a-lstrlibextjit.o: luatexdir/lua/lstrlibextjit.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/lua/libluajittex_a-lstrlibextjit.o -MD -MP -MF luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibextjit.Tpo -c -o luatexdir/lua/libluajittex_a-lstrlibextjit.o `test -f 'luatexdir/lua/lstrlibextjit.c' || echo '$(srcdir)/'`luatexdir/lua/lstrlibextjit.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibextjit.Tpo luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibextjit.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/lua/lstrlibextjit.c' object='luatexdir/lua/libluajittex_a-lstrlibextjit.o' libtool=no @AMDEPBACKSLASH@
+luatexdir/lua/libluajittex_a-lstrlibext.o: luatexdir/lua/lstrlibext.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/lua/libluajittex_a-lstrlibext.o -MD -MP -MF luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibext.Tpo -c -o luatexdir/lua/libluajittex_a-lstrlibext.o `test -f 'luatexdir/lua/lstrlibext.c' || echo '$(srcdir)/'`luatexdir/lua/lstrlibext.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibext.Tpo luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibext.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/lua/lstrlibext.c' object='luatexdir/lua/libluajittex_a-lstrlibext.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluajittex_a-lstrlibextjit.o `test -f 'luatexdir/lua/lstrlibextjit.c' || echo '$(srcdir)/'`luatexdir/lua/lstrlibextjit.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluajittex_a-lstrlibext.o `test -f 'luatexdir/lua/lstrlibext.c' || echo '$(srcdir)/'`luatexdir/lua/lstrlibext.c
 
-luatexdir/lua/libluajittex_a-lstrlibextjit.obj: luatexdir/lua/lstrlibextjit.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/lua/libluajittex_a-lstrlibextjit.obj -MD -MP -MF luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibextjit.Tpo -c -o luatexdir/lua/libluajittex_a-lstrlibextjit.obj `if test -f 'luatexdir/lua/lstrlibextjit.c'; then $(CYGPATH_W) 'luatexdir/lua/lstrlibextjit.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/lstrlibextjit.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibextjit.Tpo luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibextjit.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/lua/lstrlibextjit.c' object='luatexdir/lua/libluajittex_a-lstrlibextjit.obj' libtool=no @AMDEPBACKSLASH@
+luatexdir/lua/libluajittex_a-lstrlibext.obj: luatexdir/lua/lstrlibext.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/lua/libluajittex_a-lstrlibext.obj -MD -MP -MF luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibext.Tpo -c -o luatexdir/lua/libluajittex_a-lstrlibext.obj `if test -f 'luatexdir/lua/lstrlibext.c'; then $(CYGPATH_W) 'luatexdir/lua/lstrlibext.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/lstrlibext.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibext.Tpo luatexdir/lua/$(DEPDIR)/libluajittex_a-lstrlibext.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/lua/lstrlibext.c' object='luatexdir/lua/libluajittex_a-lstrlibext.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluajittex_a-lstrlibextjit.obj `if test -f 'luatexdir/lua/lstrlibextjit.c'; then $(CYGPATH_W) 'luatexdir/lua/lstrlibextjit.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/lstrlibextjit.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluajittex_a-lstrlibext.obj `if test -f 'luatexdir/lua/lstrlibext.c'; then $(CYGPATH_W) 'luatexdir/lua/lstrlibext.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/lstrlibext.c'; fi`
 
-libluajittex_a-luajitstuff.o: luajitstuff.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluajittex_a-luajitstuff.o -MD -MP -MF $(DEPDIR)/libluajittex_a-luajitstuff.Tpo -c -o libluajittex_a-luajitstuff.o `test -f 'luajitstuff.c' || echo '$(srcdir)/'`luajitstuff.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluajittex_a-luajitstuff.Tpo $(DEPDIR)/libluajittex_a-luajitstuff.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luajitstuff.c' object='libluajittex_a-luajitstuff.o' libtool=no @AMDEPBACKSLASH@
+libluajittex_a-luastuff.o: luastuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluajittex_a-luastuff.o -MD -MP -MF $(DEPDIR)/libluajittex_a-luastuff.Tpo -c -o libluajittex_a-luastuff.o `test -f 'luastuff.c' || echo '$(srcdir)/'`luastuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluajittex_a-luastuff.Tpo $(DEPDIR)/libluajittex_a-luastuff.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luastuff.c' object='libluajittex_a-luastuff.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluajittex_a-luajitstuff.o `test -f 'luajitstuff.c' || echo '$(srcdir)/'`luajitstuff.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluajittex_a-luastuff.o `test -f 'luastuff.c' || echo '$(srcdir)/'`luastuff.c
 
-libluajittex_a-luajitstuff.obj: luajitstuff.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluajittex_a-luajitstuff.obj -MD -MP -MF $(DEPDIR)/libluajittex_a-luajitstuff.Tpo -c -o libluajittex_a-luajitstuff.obj `if test -f 'luajitstuff.c'; then $(CYGPATH_W) 'luajitstuff.c'; else $(CYGPATH_W) '$(srcdir)/luajitstuff.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluajittex_a-luajitstuff.Tpo $(DEPDIR)/libluajittex_a-luajitstuff.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luajitstuff.c' object='libluajittex_a-luajitstuff.obj' libtool=no @AMDEPBACKSLASH@
+libluajittex_a-luastuff.obj: luastuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluajittex_a-luastuff.obj -MD -MP -MF $(DEPDIR)/libluajittex_a-luastuff.Tpo -c -o libluajittex_a-luastuff.obj `if test -f 'luastuff.c'; then $(CYGPATH_W) 'luastuff.c'; else $(CYGPATH_W) '$(srcdir)/luastuff.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluajittex_a-luastuff.Tpo $(DEPDIR)/libluajittex_a-luastuff.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luastuff.c' object='libluajittex_a-luastuff.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluajittex_a-luajitstuff.obj `if test -f 'luajitstuff.c'; then $(CYGPATH_W) 'luajitstuff.c'; else $(CYGPATH_W) '$(srcdir)/luajitstuff.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluajittex_a-luastuff.obj `if test -f 'luastuff.c'; then $(CYGPATH_W) 'luastuff.c'; else $(CYGPATH_W) '$(srcdir)/luastuff.c'; fi`
 
 libluajittex_a-texluajitc.o: texluajitc.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluajittex_a-texluajitc.o -MD -MP -MF $(DEPDIR)/libluajittex_a-texluajitc.Tpo -c -o libluajittex_a-texluajitc.o `test -f 'texluajitc.c' || echo '$(srcdir)/'`texluajitc.c
@@ -7251,6 +7102,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluajittex_a-lnewtokenlib.obj `if test -f 'luatexdir/lua/lnewtokenlib.c'; then $(CYGPATH_W) 'luatexdir/lua/lnewtokenlib.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/lnewtokenlib.c'; fi`
 
+luatexdir/lua/libluajittex_a-luatex-core.o: luatexdir/lua/luatex-core.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/lua/libluajittex_a-luatex-core.o -MD -MP -MF luatexdir/lua/$(DEPDIR)/libluajittex_a-luatex-core.Tpo -c -o luatexdir/lua/libluajittex_a-luatex-core.o `test -f 'luatexdir/lua/luatex-core.c' || echo '$(srcdir)/'`luatexdir/lua/luatex-core.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/lua/$(DEPDIR)/libluajittex_a-luatex-core.Tpo luatexdir/lua/$(DEPDIR)/libluajittex_a-luatex-core.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/lua/luatex-core.c' object='luatexdir/lua/libluajittex_a-luatex-core.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluajittex_a-luatex-core.o `test -f 'luatexdir/lua/luatex-core.c' || echo '$(srcdir)/'`luatexdir/lua/luatex-core.c
+
+luatexdir/lua/libluajittex_a-luatex-core.obj: luatexdir/lua/luatex-core.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/lua/libluajittex_a-luatex-core.obj -MD -MP -MF luatexdir/lua/$(DEPDIR)/libluajittex_a-luatex-core.Tpo -c -o luatexdir/lua/libluajittex_a-luatex-core.obj `if test -f 'luatexdir/lua/luatex-core.c'; then $(CYGPATH_W) 'luatexdir/lua/luatex-core.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/luatex-core.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/lua/$(DEPDIR)/libluajittex_a-luatex-core.Tpo luatexdir/lua/$(DEPDIR)/libluajittex_a-luatex-core.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/lua/luatex-core.c' object='luatexdir/lua/libluajittex_a-luatex-core.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluajittex_a-luatex-core.obj `if test -f 'luatexdir/lua/luatex-core.c'; then $(CYGPATH_W) 'luatexdir/lua/luatex-core.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/luatex-core.c'; fi`
+
 luatexdir/utils/libluajittex_a-avl.o: luatexdir/utils/avl.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/utils/libluajittex_a-avl.o -MD -MP -MF luatexdir/utils/$(DEPDIR)/libluajittex_a-avl.Tpo -c -o luatexdir/utils/libluajittex_a-avl.o `test -f 'luatexdir/utils/avl.c' || echo '$(srcdir)/'`luatexdir/utils/avl.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/utils/$(DEPDIR)/libluajittex_a-avl.Tpo luatexdir/utils/$(DEPDIR)/libluajittex_a-avl.Po
@@ -7741,6 +7606,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluajittex_a-luatoken.obj `if test -f 'luatoken.c'; then $(CYGPATH_W) 'luatoken.c'; else $(CYGPATH_W) '$(srcdir)/luatoken.c'; fi`
 
+libluajittex_a-mplibstuff.o: mplibstuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluajittex_a-mplibstuff.o -MD -MP -MF $(DEPDIR)/libluajittex_a-mplibstuff.Tpo -c -o libluajittex_a-mplibstuff.o `test -f 'mplibstuff.c' || echo '$(srcdir)/'`mplibstuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluajittex_a-mplibstuff.Tpo $(DEPDIR)/libluajittex_a-mplibstuff.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mplibstuff.c' object='libluajittex_a-mplibstuff.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluajittex_a-mplibstuff.o `test -f 'mplibstuff.c' || echo '$(srcdir)/'`mplibstuff.c
+
+libluajittex_a-mplibstuff.obj: mplibstuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluajittex_a-mplibstuff.obj -MD -MP -MF $(DEPDIR)/libluajittex_a-mplibstuff.Tpo -c -o libluajittex_a-mplibstuff.obj `if test -f 'mplibstuff.c'; then $(CYGPATH_W) 'mplibstuff.c'; else $(CYGPATH_W) '$(srcdir)/mplibstuff.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluajittex_a-mplibstuff.Tpo $(DEPDIR)/libluajittex_a-mplibstuff.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mplibstuff.c' object='libluajittex_a-mplibstuff.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluajittex_a-mplibstuff.obj `if test -f 'mplibstuff.c'; then $(CYGPATH_W) 'mplibstuff.c'; else $(CYGPATH_W) '$(srcdir)/mplibstuff.c'; fi`
+
 libluajittex_a-pdfpagetree.o: pdfpagetree.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluajittex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluajittex_a-pdfpagetree.o -MD -MP -MF $(DEPDIR)/libluajittex_a-pdfpagetree.Tpo -c -o libluajittex_a-pdfpagetree.o `test -f 'pdfpagetree.c' || echo '$(srcdir)/'`pdfpagetree.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluajittex_a-pdfpagetree.Tpo $(DEPDIR)/libluajittex_a-pdfpagetree.Po
@@ -8595,20 +8474,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luamd5/libluamisc_a-md5lib.obj `if test -f 'luatexdir/luamd5/md5lib.c'; then $(CYGPATH_W) 'luatexdir/luamd5/md5lib.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luamd5/md5lib.c'; fi`
 
-luatexdir/luamd5/libluamisc_a-md5_lua.o: luatexdir/luamd5/md5_lua.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luamd5/libluamisc_a-md5_lua.o -MD -MP -MF luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5_lua.Tpo -c -o luatexdir/luamd5/libluamisc_a-md5_lua.o `test -f 'luatexdir/luamd5/md5_lua.c' || echo '$(srcdir)/'`luatexdir/luamd5/md5_lua.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5_lua.Tpo luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5_lua.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luamd5/md5_lua.c' object='luatexdir/luamd5/libluamisc_a-md5_lua.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luamd5/libluamisc_a-md5_lua.o `test -f 'luatexdir/luamd5/md5_lua.c' || echo '$(srcdir)/'`luatexdir/luamd5/md5_lua.c
-
-luatexdir/luamd5/libluamisc_a-md5_lua.obj: luatexdir/luamd5/md5_lua.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luamd5/libluamisc_a-md5_lua.obj -MD -MP -MF luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5_lua.Tpo -c -o luatexdir/luamd5/libluamisc_a-md5_lua.obj `if test -f 'luatexdir/luamd5/md5_lua.c'; then $(CYGPATH_W) 'luatexdir/luamd5/md5_lua.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luamd5/md5_lua.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5_lua.Tpo luatexdir/luamd5/$(DEPDIR)/libluamisc_a-md5_lua.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luamd5/md5_lua.c' object='luatexdir/luamd5/libluamisc_a-md5_lua.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luamd5/libluamisc_a-md5_lua.obj `if test -f 'luatexdir/luamd5/md5_lua.c'; then $(CYGPATH_W) 'luatexdir/luamd5/md5_lua.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luamd5/md5_lua.c'; fi`
-
 luatexdir/luapeg/libluamisc_a-lpeg.o: luatexdir/luapeg/lpeg.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luapeg/libluamisc_a-lpeg.o -MD -MP -MF luatexdir/luapeg/$(DEPDIR)/libluamisc_a-lpeg.Tpo -c -o luatexdir/luapeg/libluamisc_a-lpeg.o `test -f 'luatexdir/luapeg/lpeg.c' || echo '$(srcdir)/'`luatexdir/luapeg/lpeg.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luapeg/$(DEPDIR)/libluamisc_a-lpeg.Tpo luatexdir/luapeg/$(DEPDIR)/libluamisc_a-lpeg.Po
@@ -8623,76 +8488,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luapeg/libluamisc_a-lpeg.obj `if test -f 'luatexdir/luapeg/lpeg.c'; then $(CYGPATH_W) 'luatexdir/luapeg/lpeg.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luapeg/lpeg.c'; fi`
 
-luatexdir/luaprofiler/libluamisc_a-clocks.o: luatexdir/luaprofiler/clocks.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-clocks.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-clocks.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-clocks.o `test -f 'luatexdir/luaprofiler/clocks.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/clocks.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-clocks.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-clocks.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/clocks.c' object='luatexdir/luaprofiler/libluamisc_a-clocks.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-clocks.o `test -f 'luatexdir/luaprofiler/clocks.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/clocks.c
-
-luatexdir/luaprofiler/libluamisc_a-clocks.obj: luatexdir/luaprofiler/clocks.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-clocks.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-clocks.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-clocks.obj `if test -f 'luatexdir/luaprofiler/clocks.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/clocks.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/clocks.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-clocks.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-clocks.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/clocks.c' object='luatexdir/luaprofiler/libluamisc_a-clocks.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-clocks.obj `if test -f 'luatexdir/luaprofiler/clocks.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/clocks.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/clocks.c'; fi`
-
-luatexdir/luaprofiler/libluamisc_a-core_profiler.o: luatexdir/luaprofiler/core_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-core_profiler.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-core_profiler.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-core_profiler.o `test -f 'luatexdir/luaprofiler/core_profiler.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/core_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-core_profiler.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-core_profiler.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/core_profiler.c' object='luatexdir/luaprofiler/libluamisc_a-core_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-core_profiler.o `test -f 'luatexdir/luaprofiler/core_profiler.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/core_profiler.c
-
-luatexdir/luaprofiler/libluamisc_a-core_profiler.obj: luatexdir/luaprofiler/core_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-core_profiler.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-core_profiler.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-core_profiler.obj `if test -f 'luatexdir/luaprofiler/core_profiler.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/core_profiler.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/core_profiler.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-core_profiler.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-core_profiler.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/core_profiler.c' object='luatexdir/luaprofiler/libluamisc_a-core_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-core_profiler.obj `if test -f 'luatexdir/luaprofiler/core_profiler.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/core_profiler.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/core_profiler.c'; fi`
-
-luatexdir/luaprofiler/libluamisc_a-function_meter.o: luatexdir/luaprofiler/function_meter.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-function_meter.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-function_meter.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-function_meter.o `test -f 'luatexdir/luaprofiler/function_meter.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/function_meter.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-function_meter.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-function_meter.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/function_meter.c' object='luatexdir/luaprofiler/libluamisc_a-function_meter.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-function_meter.o `test -f 'luatexdir/luaprofiler/function_meter.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/function_meter.c
-
-luatexdir/luaprofiler/libluamisc_a-function_meter.obj: luatexdir/luaprofiler/function_meter.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-function_meter.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-function_meter.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-function_meter.obj `if test -f 'luatexdir/luaprofiler/function_meter.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/function_meter.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/function_meter.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-function_meter.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-function_meter.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/function_meter.c' object='luatexdir/luaprofiler/libluamisc_a-function_meter.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-function_meter.obj `if test -f 'luatexdir/luaprofiler/function_meter.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/function_meter.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/function_meter.c'; fi`
-
-luatexdir/luaprofiler/libluamisc_a-stack.o: luatexdir/luaprofiler/stack.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-stack.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-stack.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-stack.o `test -f 'luatexdir/luaprofiler/stack.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/stack.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-stack.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-stack.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/stack.c' object='luatexdir/luaprofiler/libluamisc_a-stack.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-stack.o `test -f 'luatexdir/luaprofiler/stack.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/stack.c
-
-luatexdir/luaprofiler/libluamisc_a-stack.obj: luatexdir/luaprofiler/stack.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-stack.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-stack.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-stack.obj `if test -f 'luatexdir/luaprofiler/stack.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/stack.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/stack.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-stack.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-stack.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/stack.c' object='luatexdir/luaprofiler/libluamisc_a-stack.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-stack.obj `if test -f 'luatexdir/luaprofiler/stack.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/stack.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/stack.c'; fi`
-
-luatexdir/luaprofiler/libluamisc_a-lua50_profiler.o: luatexdir/luaprofiler/lua50_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-lua50_profiler.o -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-lua50_profiler.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-lua50_profiler.o `test -f 'luatexdir/luaprofiler/lua50_profiler.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/lua50_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-lua50_profiler.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-lua50_profiler.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/lua50_profiler.c' object='luatexdir/luaprofiler/libluamisc_a-lua50_profiler.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-lua50_profiler.o `test -f 'luatexdir/luaprofiler/lua50_profiler.c' || echo '$(srcdir)/'`luatexdir/luaprofiler/lua50_profiler.c
-
-luatexdir/luaprofiler/libluamisc_a-lua50_profiler.obj: luatexdir/luaprofiler/lua50_profiler.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luaprofiler/libluamisc_a-lua50_profiler.obj -MD -MP -MF luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-lua50_profiler.Tpo -c -o luatexdir/luaprofiler/libluamisc_a-lua50_profiler.obj `if test -f 'luatexdir/luaprofiler/lua50_profiler.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/lua50_profiler.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/lua50_profiler.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-lua50_profiler.Tpo luatexdir/luaprofiler/$(DEPDIR)/libluamisc_a-lua50_profiler.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/luaprofiler/lua50_profiler.c' object='luatexdir/luaprofiler/libluamisc_a-lua50_profiler.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -c -o luatexdir/luaprofiler/libluamisc_a-lua50_profiler.obj `if test -f 'luatexdir/luaprofiler/lua50_profiler.c'; then $(CYGPATH_W) 'luatexdir/luaprofiler/lua50_profiler.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/luaprofiler/lua50_profiler.c'; fi`
-
 luatexdir/luazip/src/libluamisc_a-luazip.o: luatexdir/luazip/src/luazip.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluamisc_a_CPPFLAGS) $(CPPFLAGS) $(libluamisc_a_CFLAGS) $(CFLAGS) -MT luatexdir/luazip/src/libluamisc_a-luazip.o -MD -MP -MF luatexdir/luazip/src/$(DEPDIR)/libluamisc_a-luazip.Tpo -c -o luatexdir/luazip/src/libluamisc_a-luazip.o `test -f 'luatexdir/luazip/src/luazip.c' || echo '$(srcdir)/'`luatexdir/luazip/src/luazip.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/luazip/src/$(DEPDIR)/libluamisc_a-luazip.Tpo luatexdir/luazip/src/$(DEPDIR)/libluamisc_a-luazip.Po
@@ -8973,6 +8768,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluatex_a-lstrlibext.obj `if test -f 'luatexdir/lua/lstrlibext.c'; then $(CYGPATH_W) 'luatexdir/lua/lstrlibext.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/lstrlibext.c'; fi`
 
+libluatex_a-helpers.o: helpers.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluatex_a-helpers.o -MD -MP -MF $(DEPDIR)/libluatex_a-helpers.Tpo -c -o libluatex_a-helpers.o `test -f 'helpers.c' || echo '$(srcdir)/'`helpers.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluatex_a-helpers.Tpo $(DEPDIR)/libluatex_a-helpers.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='helpers.c' object='libluatex_a-helpers.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluatex_a-helpers.o `test -f 'helpers.c' || echo '$(srcdir)/'`helpers.c
+
+libluatex_a-helpers.obj: helpers.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluatex_a-helpers.obj -MD -MP -MF $(DEPDIR)/libluatex_a-helpers.Tpo -c -o libluatex_a-helpers.obj `if test -f 'helpers.c'; then $(CYGPATH_W) 'helpers.c'; else $(CYGPATH_W) '$(srcdir)/helpers.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluatex_a-helpers.Tpo $(DEPDIR)/libluatex_a-helpers.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='helpers.c' object='libluatex_a-helpers.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluatex_a-helpers.obj `if test -f 'helpers.c'; then $(CYGPATH_W) 'helpers.c'; else $(CYGPATH_W) '$(srcdir)/helpers.c'; fi`
+
 libluatex_a-luastuff.o: luastuff.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluatex_a-luastuff.o -MD -MP -MF $(DEPDIR)/libluatex_a-luastuff.Tpo -c -o libluatex_a-luastuff.o `test -f 'luastuff.c' || echo '$(srcdir)/'`luastuff.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluatex_a-luastuff.Tpo $(DEPDIR)/libluatex_a-luastuff.Po
@@ -9239,6 +9048,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluatex_a-lnewtokenlib.obj `if test -f 'luatexdir/lua/lnewtokenlib.c'; then $(CYGPATH_W) 'luatexdir/lua/lnewtokenlib.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/lnewtokenlib.c'; fi`
 
+luatexdir/lua/libluatex_a-luatex-core.o: luatexdir/lua/luatex-core.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/lua/libluatex_a-luatex-core.o -MD -MP -MF luatexdir/lua/$(DEPDIR)/libluatex_a-luatex-core.Tpo -c -o luatexdir/lua/libluatex_a-luatex-core.o `test -f 'luatexdir/lua/luatex-core.c' || echo '$(srcdir)/'`luatexdir/lua/luatex-core.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/lua/$(DEPDIR)/libluatex_a-luatex-core.Tpo luatexdir/lua/$(DEPDIR)/libluatex_a-luatex-core.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/lua/luatex-core.c' object='luatexdir/lua/libluatex_a-luatex-core.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluatex_a-luatex-core.o `test -f 'luatexdir/lua/luatex-core.c' || echo '$(srcdir)/'`luatexdir/lua/luatex-core.c
+
+luatexdir/lua/libluatex_a-luatex-core.obj: luatexdir/lua/luatex-core.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/lua/libluatex_a-luatex-core.obj -MD -MP -MF luatexdir/lua/$(DEPDIR)/libluatex_a-luatex-core.Tpo -c -o luatexdir/lua/libluatex_a-luatex-core.obj `if test -f 'luatexdir/lua/luatex-core.c'; then $(CYGPATH_W) 'luatexdir/lua/luatex-core.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/luatex-core.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/lua/$(DEPDIR)/libluatex_a-luatex-core.Tpo luatexdir/lua/$(DEPDIR)/libluatex_a-luatex-core.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='luatexdir/lua/luatex-core.c' object='luatexdir/lua/libluatex_a-luatex-core.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o luatexdir/lua/libluatex_a-luatex-core.obj `if test -f 'luatexdir/lua/luatex-core.c'; then $(CYGPATH_W) 'luatexdir/lua/luatex-core.c'; else $(CYGPATH_W) '$(srcdir)/luatexdir/lua/luatex-core.c'; fi`
+
 luatexdir/utils/libluatex_a-avl.o: luatexdir/utils/avl.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT luatexdir/utils/libluatex_a-avl.o -MD -MP -MF luatexdir/utils/$(DEPDIR)/libluatex_a-avl.Tpo -c -o luatexdir/utils/libluatex_a-avl.o `test -f 'luatexdir/utils/avl.c' || echo '$(srcdir)/'`luatexdir/utils/avl.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) luatexdir/utils/$(DEPDIR)/libluatex_a-avl.Tpo luatexdir/utils/$(DEPDIR)/libluatex_a-avl.Po
@@ -9729,6 +9552,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluatex_a-luatoken.obj `if test -f 'luatoken.c'; then $(CYGPATH_W) 'luatoken.c'; else $(CYGPATH_W) '$(srcdir)/luatoken.c'; fi`
 
+libluatex_a-mplibstuff.o: mplibstuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluatex_a-mplibstuff.o -MD -MP -MF $(DEPDIR)/libluatex_a-mplibstuff.Tpo -c -o libluatex_a-mplibstuff.o `test -f 'mplibstuff.c' || echo '$(srcdir)/'`mplibstuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluatex_a-mplibstuff.Tpo $(DEPDIR)/libluatex_a-mplibstuff.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mplibstuff.c' object='libluatex_a-mplibstuff.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluatex_a-mplibstuff.o `test -f 'mplibstuff.c' || echo '$(srcdir)/'`mplibstuff.c
+
+libluatex_a-mplibstuff.obj: mplibstuff.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluatex_a-mplibstuff.obj -MD -MP -MF $(DEPDIR)/libluatex_a-mplibstuff.Tpo -c -o libluatex_a-mplibstuff.obj `if test -f 'mplibstuff.c'; then $(CYGPATH_W) 'mplibstuff.c'; else $(CYGPATH_W) '$(srcdir)/mplibstuff.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluatex_a-mplibstuff.Tpo $(DEPDIR)/libluatex_a-mplibstuff.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mplibstuff.c' object='libluatex_a-mplibstuff.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libluatex_a-mplibstuff.obj `if test -f 'mplibstuff.c'; then $(CYGPATH_W) 'mplibstuff.c'; else $(CYGPATH_W) '$(srcdir)/mplibstuff.c'; fi`
+
 libluatex_a-pdfpagetree.o: pdfpagetree.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libluatex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libluatex_a-pdfpagetree.o -MD -MP -MF $(DEPDIR)/libluatex_a-pdfpagetree.Tpo -c -o libluatex_a-pdfpagetree.o `test -f 'pdfpagetree.c' || echo '$(srcdir)/'`pdfpagetree.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libluatex_a-pdfpagetree.Tpo $(DEPDIR)/libluatex_a-pdfpagetree.Po
@@ -10695,145 +10532,145 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmfluajit_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmfluajit_a-mfluajit-pool.obj `if test -f 'mfluajit-pool.c'; then $(CYGPATH_W) 'mfluajit-pool.c'; else $(CYGPATH_W) '$(srcdir)/mfluajit-pool.c'; fi`
 
-libmplib_a-tfmin.o: tfmin.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-tfmin.o -MD -MP -MF $(DEPDIR)/libmplib_a-tfmin.Tpo -c -o libmplib_a-tfmin.o `test -f 'tfmin.c' || echo '$(srcdir)/'`tfmin.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-tfmin.Tpo $(DEPDIR)/libmplib_a-tfmin.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tfmin.c' object='libmplib_a-tfmin.o' libtool=no @AMDEPBACKSLASH@
+libmplibbackends_a-pngout.o: pngout.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibbackends_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibbackends_a-pngout.o -MD -MP -MF $(DEPDIR)/libmplibbackends_a-pngout.Tpo -c -o libmplibbackends_a-pngout.o `test -f 'pngout.c' || echo '$(srcdir)/'`pngout.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibbackends_a-pngout.Tpo $(DEPDIR)/libmplibbackends_a-pngout.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pngout.c' object='libmplibbackends_a-pngout.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-tfmin.o `test -f 'tfmin.c' || echo '$(srcdir)/'`tfmin.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibbackends_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibbackends_a-pngout.o `test -f 'pngout.c' || echo '$(srcdir)/'`pngout.c
 
-libmplib_a-tfmin.obj: tfmin.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-tfmin.obj -MD -MP -MF $(DEPDIR)/libmplib_a-tfmin.Tpo -c -o libmplib_a-tfmin.obj `if test -f 'tfmin.c'; then $(CYGPATH_W) 'tfmin.c'; else $(CYGPATH_W) '$(srcdir)/tfmin.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-tfmin.Tpo $(DEPDIR)/libmplib_a-tfmin.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tfmin.c' object='libmplib_a-tfmin.obj' libtool=no @AMDEPBACKSLASH@
+libmplibbackends_a-pngout.obj: pngout.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibbackends_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibbackends_a-pngout.obj -MD -MP -MF $(DEPDIR)/libmplibbackends_a-pngout.Tpo -c -o libmplibbackends_a-pngout.obj `if test -f 'pngout.c'; then $(CYGPATH_W) 'pngout.c'; else $(CYGPATH_W) '$(srcdir)/pngout.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibbackends_a-pngout.Tpo $(DEPDIR)/libmplibbackends_a-pngout.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pngout.c' object='libmplibbackends_a-pngout.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-tfmin.obj `if test -f 'tfmin.c'; then $(CYGPATH_W) 'tfmin.c'; else $(CYGPATH_W) '$(srcdir)/tfmin.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibbackends_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibbackends_a-pngout.obj `if test -f 'pngout.c'; then $(CYGPATH_W) 'pngout.c'; else $(CYGPATH_W) '$(srcdir)/pngout.c'; fi`
 
-libmplib_a-mp.o: mp.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mp.o -MD -MP -MF $(DEPDIR)/libmplib_a-mp.Tpo -c -o libmplib_a-mp.o `test -f 'mp.c' || echo '$(srcdir)/'`mp.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mp.Tpo $(DEPDIR)/libmplib_a-mp.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mp.c' object='libmplib_a-mp.o' libtool=no @AMDEPBACKSLASH@
+libmplibbackends_a-svgout.o: svgout.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibbackends_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibbackends_a-svgout.o -MD -MP -MF $(DEPDIR)/libmplibbackends_a-svgout.Tpo -c -o libmplibbackends_a-svgout.o `test -f 'svgout.c' || echo '$(srcdir)/'`svgout.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibbackends_a-svgout.Tpo $(DEPDIR)/libmplibbackends_a-svgout.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='svgout.c' object='libmplibbackends_a-svgout.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mp.o `test -f 'mp.c' || echo '$(srcdir)/'`mp.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibbackends_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibbackends_a-svgout.o `test -f 'svgout.c' || echo '$(srcdir)/'`svgout.c
 
-libmplib_a-mp.obj: mp.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mp.obj -MD -MP -MF $(DEPDIR)/libmplib_a-mp.Tpo -c -o libmplib_a-mp.obj `if test -f 'mp.c'; then $(CYGPATH_W) 'mp.c'; else $(CYGPATH_W) '$(srcdir)/mp.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mp.Tpo $(DEPDIR)/libmplib_a-mp.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mp.c' object='libmplib_a-mp.obj' libtool=no @AMDEPBACKSLASH@
+libmplibbackends_a-svgout.obj: svgout.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibbackends_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibbackends_a-svgout.obj -MD -MP -MF $(DEPDIR)/libmplibbackends_a-svgout.Tpo -c -o libmplibbackends_a-svgout.obj `if test -f 'svgout.c'; then $(CYGPATH_W) 'svgout.c'; else $(CYGPATH_W) '$(srcdir)/svgout.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibbackends_a-svgout.Tpo $(DEPDIR)/libmplibbackends_a-svgout.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='svgout.c' object='libmplibbackends_a-svgout.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mp.obj `if test -f 'mp.c'; then $(CYGPATH_W) 'mp.c'; else $(CYGPATH_W) '$(srcdir)/mp.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibbackends_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibbackends_a-svgout.obj `if test -f 'svgout.c'; then $(CYGPATH_W) 'svgout.c'; else $(CYGPATH_W) '$(srcdir)/svgout.c'; fi`
 
-libmplib_a-mpmath.o: mpmath.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpmath.o -MD -MP -MF $(DEPDIR)/libmplib_a-mpmath.Tpo -c -o libmplib_a-mpmath.o `test -f 'mpmath.c' || echo '$(srcdir)/'`mpmath.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpmath.Tpo $(DEPDIR)/libmplib_a-mpmath.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmath.c' object='libmplib_a-mpmath.o' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-tfmin.o: tfmin.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-tfmin.o -MD -MP -MF $(DEPDIR)/libmplibcore_a-tfmin.Tpo -c -o libmplibcore_a-tfmin.o `test -f 'tfmin.c' || echo '$(srcdir)/'`tfmin.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-tfmin.Tpo $(DEPDIR)/libmplibcore_a-tfmin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tfmin.c' object='libmplibcore_a-tfmin.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpmath.o `test -f 'mpmath.c' || echo '$(srcdir)/'`mpmath.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-tfmin.o `test -f 'tfmin.c' || echo '$(srcdir)/'`tfmin.c
 
-libmplib_a-mpmath.obj: mpmath.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpmath.obj -MD -MP -MF $(DEPDIR)/libmplib_a-mpmath.Tpo -c -o libmplib_a-mpmath.obj `if test -f 'mpmath.c'; then $(CYGPATH_W) 'mpmath.c'; else $(CYGPATH_W) '$(srcdir)/mpmath.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpmath.Tpo $(DEPDIR)/libmplib_a-mpmath.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmath.c' object='libmplib_a-mpmath.obj' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-tfmin.obj: tfmin.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-tfmin.obj -MD -MP -MF $(DEPDIR)/libmplibcore_a-tfmin.Tpo -c -o libmplibcore_a-tfmin.obj `if test -f 'tfmin.c'; then $(CYGPATH_W) 'tfmin.c'; else $(CYGPATH_W) '$(srcdir)/tfmin.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-tfmin.Tpo $(DEPDIR)/libmplibcore_a-tfmin.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tfmin.c' object='libmplibcore_a-tfmin.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpmath.obj `if test -f 'mpmath.c'; then $(CYGPATH_W) 'mpmath.c'; else $(CYGPATH_W) '$(srcdir)/mpmath.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-tfmin.obj `if test -f 'tfmin.c'; then $(CYGPATH_W) 'tfmin.c'; else $(CYGPATH_W) '$(srcdir)/tfmin.c'; fi`
 
-libmplib_a-mpmathbinary.o: mpmathbinary.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpmathbinary.o -MD -MP -MF $(DEPDIR)/libmplib_a-mpmathbinary.Tpo -c -o libmplib_a-mpmathbinary.o `test -f 'mpmathbinary.c' || echo '$(srcdir)/'`mpmathbinary.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpmathbinary.Tpo $(DEPDIR)/libmplib_a-mpmathbinary.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathbinary.c' object='libmplib_a-mpmathbinary.o' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mp.o: mp.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mp.o -MD -MP -MF $(DEPDIR)/libmplibcore_a-mp.Tpo -c -o libmplibcore_a-mp.o `test -f 'mp.c' || echo '$(srcdir)/'`mp.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mp.Tpo $(DEPDIR)/libmplibcore_a-mp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mp.c' object='libmplibcore_a-mp.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpmathbinary.o `test -f 'mpmathbinary.c' || echo '$(srcdir)/'`mpmathbinary.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mp.o `test -f 'mp.c' || echo '$(srcdir)/'`mp.c
 
-libmplib_a-mpmathbinary.obj: mpmathbinary.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpmathbinary.obj -MD -MP -MF $(DEPDIR)/libmplib_a-mpmathbinary.Tpo -c -o libmplib_a-mpmathbinary.obj `if test -f 'mpmathbinary.c'; then $(CYGPATH_W) 'mpmathbinary.c'; else $(CYGPATH_W) '$(srcdir)/mpmathbinary.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpmathbinary.Tpo $(DEPDIR)/libmplib_a-mpmathbinary.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathbinary.c' object='libmplib_a-mpmathbinary.obj' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mp.obj: mp.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mp.obj -MD -MP -MF $(DEPDIR)/libmplibcore_a-mp.Tpo -c -o libmplibcore_a-mp.obj `if test -f 'mp.c'; then $(CYGPATH_W) 'mp.c'; else $(CYGPATH_W) '$(srcdir)/mp.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mp.Tpo $(DEPDIR)/libmplibcore_a-mp.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mp.c' object='libmplibcore_a-mp.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpmathbinary.obj `if test -f 'mpmathbinary.c'; then $(CYGPATH_W) 'mpmathbinary.c'; else $(CYGPATH_W) '$(srcdir)/mpmathbinary.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mp.obj `if test -f 'mp.c'; then $(CYGPATH_W) 'mp.c'; else $(CYGPATH_W) '$(srcdir)/mp.c'; fi`
 
-libmplib_a-mpmathdecimal.o: mpmathdecimal.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpmathdecimal.o -MD -MP -MF $(DEPDIR)/libmplib_a-mpmathdecimal.Tpo -c -o libmplib_a-mpmathdecimal.o `test -f 'mpmathdecimal.c' || echo '$(srcdir)/'`mpmathdecimal.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpmathdecimal.Tpo $(DEPDIR)/libmplib_a-mpmathdecimal.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathdecimal.c' object='libmplib_a-mpmathdecimal.o' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpmath.o: mpmath.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpmath.o -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpmath.Tpo -c -o libmplibcore_a-mpmath.o `test -f 'mpmath.c' || echo '$(srcdir)/'`mpmath.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpmath.Tpo $(DEPDIR)/libmplibcore_a-mpmath.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmath.c' object='libmplibcore_a-mpmath.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpmathdecimal.o `test -f 'mpmathdecimal.c' || echo '$(srcdir)/'`mpmathdecimal.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpmath.o `test -f 'mpmath.c' || echo '$(srcdir)/'`mpmath.c
 
-libmplib_a-mpmathdecimal.obj: mpmathdecimal.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpmathdecimal.obj -MD -MP -MF $(DEPDIR)/libmplib_a-mpmathdecimal.Tpo -c -o libmplib_a-mpmathdecimal.obj `if test -f 'mpmathdecimal.c'; then $(CYGPATH_W) 'mpmathdecimal.c'; else $(CYGPATH_W) '$(srcdir)/mpmathdecimal.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpmathdecimal.Tpo $(DEPDIR)/libmplib_a-mpmathdecimal.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathdecimal.c' object='libmplib_a-mpmathdecimal.obj' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpmath.obj: mpmath.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpmath.obj -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpmath.Tpo -c -o libmplibcore_a-mpmath.obj `if test -f 'mpmath.c'; then $(CYGPATH_W) 'mpmath.c'; else $(CYGPATH_W) '$(srcdir)/mpmath.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpmath.Tpo $(DEPDIR)/libmplibcore_a-mpmath.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmath.c' object='libmplibcore_a-mpmath.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpmathdecimal.obj `if test -f 'mpmathdecimal.c'; then $(CYGPATH_W) 'mpmathdecimal.c'; else $(CYGPATH_W) '$(srcdir)/mpmathdecimal.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpmath.obj `if test -f 'mpmath.c'; then $(CYGPATH_W) 'mpmath.c'; else $(CYGPATH_W) '$(srcdir)/mpmath.c'; fi`
 
-libmplib_a-mpmathdouble.o: mpmathdouble.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpmathdouble.o -MD -MP -MF $(DEPDIR)/libmplib_a-mpmathdouble.Tpo -c -o libmplib_a-mpmathdouble.o `test -f 'mpmathdouble.c' || echo '$(srcdir)/'`mpmathdouble.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpmathdouble.Tpo $(DEPDIR)/libmplib_a-mpmathdouble.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathdouble.c' object='libmplib_a-mpmathdouble.o' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpmathbinary.o: mpmathbinary.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpmathbinary.o -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpmathbinary.Tpo -c -o libmplibcore_a-mpmathbinary.o `test -f 'mpmathbinary.c' || echo '$(srcdir)/'`mpmathbinary.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpmathbinary.Tpo $(DEPDIR)/libmplibcore_a-mpmathbinary.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathbinary.c' object='libmplibcore_a-mpmathbinary.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpmathdouble.o `test -f 'mpmathdouble.c' || echo '$(srcdir)/'`mpmathdouble.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpmathbinary.o `test -f 'mpmathbinary.c' || echo '$(srcdir)/'`mpmathbinary.c
 
-libmplib_a-mpmathdouble.obj: mpmathdouble.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpmathdouble.obj -MD -MP -MF $(DEPDIR)/libmplib_a-mpmathdouble.Tpo -c -o libmplib_a-mpmathdouble.obj `if test -f 'mpmathdouble.c'; then $(CYGPATH_W) 'mpmathdouble.c'; else $(CYGPATH_W) '$(srcdir)/mpmathdouble.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpmathdouble.Tpo $(DEPDIR)/libmplib_a-mpmathdouble.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathdouble.c' object='libmplib_a-mpmathdouble.obj' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpmathbinary.obj: mpmathbinary.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpmathbinary.obj -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpmathbinary.Tpo -c -o libmplibcore_a-mpmathbinary.obj `if test -f 'mpmathbinary.c'; then $(CYGPATH_W) 'mpmathbinary.c'; else $(CYGPATH_W) '$(srcdir)/mpmathbinary.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpmathbinary.Tpo $(DEPDIR)/libmplibcore_a-mpmathbinary.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathbinary.c' object='libmplibcore_a-mpmathbinary.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpmathdouble.obj `if test -f 'mpmathdouble.c'; then $(CYGPATH_W) 'mpmathdouble.c'; else $(CYGPATH_W) '$(srcdir)/mpmathdouble.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpmathbinary.obj `if test -f 'mpmathbinary.c'; then $(CYGPATH_W) 'mpmathbinary.c'; else $(CYGPATH_W) '$(srcdir)/mpmathbinary.c'; fi`
 
-libmplib_a-mpstrings.o: mpstrings.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpstrings.o -MD -MP -MF $(DEPDIR)/libmplib_a-mpstrings.Tpo -c -o libmplib_a-mpstrings.o `test -f 'mpstrings.c' || echo '$(srcdir)/'`mpstrings.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpstrings.Tpo $(DEPDIR)/libmplib_a-mpstrings.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpstrings.c' object='libmplib_a-mpstrings.o' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpmathdecimal.o: mpmathdecimal.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpmathdecimal.o -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpmathdecimal.Tpo -c -o libmplibcore_a-mpmathdecimal.o `test -f 'mpmathdecimal.c' || echo '$(srcdir)/'`mpmathdecimal.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpmathdecimal.Tpo $(DEPDIR)/libmplibcore_a-mpmathdecimal.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathdecimal.c' object='libmplibcore_a-mpmathdecimal.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpstrings.o `test -f 'mpstrings.c' || echo '$(srcdir)/'`mpstrings.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpmathdecimal.o `test -f 'mpmathdecimal.c' || echo '$(srcdir)/'`mpmathdecimal.c
 
-libmplib_a-mpstrings.obj: mpstrings.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-mpstrings.obj -MD -MP -MF $(DEPDIR)/libmplib_a-mpstrings.Tpo -c -o libmplib_a-mpstrings.obj `if test -f 'mpstrings.c'; then $(CYGPATH_W) 'mpstrings.c'; else $(CYGPATH_W) '$(srcdir)/mpstrings.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-mpstrings.Tpo $(DEPDIR)/libmplib_a-mpstrings.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpstrings.c' object='libmplib_a-mpstrings.obj' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpmathdecimal.obj: mpmathdecimal.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpmathdecimal.obj -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpmathdecimal.Tpo -c -o libmplibcore_a-mpmathdecimal.obj `if test -f 'mpmathdecimal.c'; then $(CYGPATH_W) 'mpmathdecimal.c'; else $(CYGPATH_W) '$(srcdir)/mpmathdecimal.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpmathdecimal.Tpo $(DEPDIR)/libmplibcore_a-mpmathdecimal.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathdecimal.c' object='libmplibcore_a-mpmathdecimal.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-mpstrings.obj `if test -f 'mpstrings.c'; then $(CYGPATH_W) 'mpstrings.c'; else $(CYGPATH_W) '$(srcdir)/mpstrings.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpmathdecimal.obj `if test -f 'mpmathdecimal.c'; then $(CYGPATH_W) 'mpmathdecimal.c'; else $(CYGPATH_W) '$(srcdir)/mpmathdecimal.c'; fi`
 
-libmplib_a-pngout.o: pngout.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-pngout.o -MD -MP -MF $(DEPDIR)/libmplib_a-pngout.Tpo -c -o libmplib_a-pngout.o `test -f 'pngout.c' || echo '$(srcdir)/'`pngout.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-pngout.Tpo $(DEPDIR)/libmplib_a-pngout.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pngout.c' object='libmplib_a-pngout.o' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpmathdouble.o: mpmathdouble.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpmathdouble.o -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpmathdouble.Tpo -c -o libmplibcore_a-mpmathdouble.o `test -f 'mpmathdouble.c' || echo '$(srcdir)/'`mpmathdouble.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpmathdouble.Tpo $(DEPDIR)/libmplibcore_a-mpmathdouble.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathdouble.c' object='libmplibcore_a-mpmathdouble.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-pngout.o `test -f 'pngout.c' || echo '$(srcdir)/'`pngout.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpmathdouble.o `test -f 'mpmathdouble.c' || echo '$(srcdir)/'`mpmathdouble.c
 
-libmplib_a-pngout.obj: pngout.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-pngout.obj -MD -MP -MF $(DEPDIR)/libmplib_a-pngout.Tpo -c -o libmplib_a-pngout.obj `if test -f 'pngout.c'; then $(CYGPATH_W) 'pngout.c'; else $(CYGPATH_W) '$(srcdir)/pngout.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-pngout.Tpo $(DEPDIR)/libmplib_a-pngout.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pngout.c' object='libmplib_a-pngout.obj' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpmathdouble.obj: mpmathdouble.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpmathdouble.obj -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpmathdouble.Tpo -c -o libmplibcore_a-mpmathdouble.obj `if test -f 'mpmathdouble.c'; then $(CYGPATH_W) 'mpmathdouble.c'; else $(CYGPATH_W) '$(srcdir)/mpmathdouble.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpmathdouble.Tpo $(DEPDIR)/libmplibcore_a-mpmathdouble.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpmathdouble.c' object='libmplibcore_a-mpmathdouble.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-pngout.obj `if test -f 'pngout.c'; then $(CYGPATH_W) 'pngout.c'; else $(CYGPATH_W) '$(srcdir)/pngout.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpmathdouble.obj `if test -f 'mpmathdouble.c'; then $(CYGPATH_W) 'mpmathdouble.c'; else $(CYGPATH_W) '$(srcdir)/mpmathdouble.c'; fi`
 
-libmplib_a-psout.o: psout.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-psout.o -MD -MP -MF $(DEPDIR)/libmplib_a-psout.Tpo -c -o libmplib_a-psout.o `test -f 'psout.c' || echo '$(srcdir)/'`psout.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-psout.Tpo $(DEPDIR)/libmplib_a-psout.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='psout.c' object='libmplib_a-psout.o' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpstrings.o: mpstrings.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpstrings.o -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpstrings.Tpo -c -o libmplibcore_a-mpstrings.o `test -f 'mpstrings.c' || echo '$(srcdir)/'`mpstrings.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpstrings.Tpo $(DEPDIR)/libmplibcore_a-mpstrings.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpstrings.c' object='libmplibcore_a-mpstrings.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-psout.o `test -f 'psout.c' || echo '$(srcdir)/'`psout.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpstrings.o `test -f 'mpstrings.c' || echo '$(srcdir)/'`mpstrings.c
 
-libmplib_a-psout.obj: psout.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-psout.obj -MD -MP -MF $(DEPDIR)/libmplib_a-psout.Tpo -c -o libmplib_a-psout.obj `if test -f 'psout.c'; then $(CYGPATH_W) 'psout.c'; else $(CYGPATH_W) '$(srcdir)/psout.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-psout.Tpo $(DEPDIR)/libmplib_a-psout.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='psout.c' object='libmplib_a-psout.obj' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-mpstrings.obj: mpstrings.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-mpstrings.obj -MD -MP -MF $(DEPDIR)/libmplibcore_a-mpstrings.Tpo -c -o libmplibcore_a-mpstrings.obj `if test -f 'mpstrings.c'; then $(CYGPATH_W) 'mpstrings.c'; else $(CYGPATH_W) '$(srcdir)/mpstrings.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-mpstrings.Tpo $(DEPDIR)/libmplibcore_a-mpstrings.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mpstrings.c' object='libmplibcore_a-mpstrings.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-psout.obj `if test -f 'psout.c'; then $(CYGPATH_W) 'psout.c'; else $(CYGPATH_W) '$(srcdir)/psout.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-mpstrings.obj `if test -f 'mpstrings.c'; then $(CYGPATH_W) 'mpstrings.c'; else $(CYGPATH_W) '$(srcdir)/mpstrings.c'; fi`
 
-libmplib_a-svgout.o: svgout.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-svgout.o -MD -MP -MF $(DEPDIR)/libmplib_a-svgout.Tpo -c -o libmplib_a-svgout.o `test -f 'svgout.c' || echo '$(srcdir)/'`svgout.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-svgout.Tpo $(DEPDIR)/libmplib_a-svgout.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='svgout.c' object='libmplib_a-svgout.o' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-psout.o: psout.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-psout.o -MD -MP -MF $(DEPDIR)/libmplibcore_a-psout.Tpo -c -o libmplibcore_a-psout.o `test -f 'psout.c' || echo '$(srcdir)/'`psout.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-psout.Tpo $(DEPDIR)/libmplibcore_a-psout.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='psout.c' object='libmplibcore_a-psout.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-svgout.o `test -f 'svgout.c' || echo '$(srcdir)/'`svgout.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-psout.o `test -f 'psout.c' || echo '$(srcdir)/'`psout.c
 
-libmplib_a-svgout.obj: svgout.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplib_a-svgout.obj -MD -MP -MF $(DEPDIR)/libmplib_a-svgout.Tpo -c -o libmplib_a-svgout.obj `if test -f 'svgout.c'; then $(CYGPATH_W) 'svgout.c'; else $(CYGPATH_W) '$(srcdir)/svgout.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplib_a-svgout.Tpo $(DEPDIR)/libmplib_a-svgout.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='svgout.c' object='libmplib_a-svgout.obj' libtool=no @AMDEPBACKSLASH@
+libmplibcore_a-psout.obj: psout.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmplibcore_a-psout.obj -MD -MP -MF $(DEPDIR)/libmplibcore_a-psout.Tpo -c -o libmplibcore_a-psout.obj `if test -f 'psout.c'; then $(CYGPATH_W) 'psout.c'; else $(CYGPATH_W) '$(srcdir)/psout.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmplibcore_a-psout.Tpo $(DEPDIR)/libmplibcore_a-psout.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='psout.c' object='libmplibcore_a-psout.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplib_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplib_a-svgout.obj `if test -f 'svgout.c'; then $(CYGPATH_W) 'svgout.c'; else $(CYGPATH_W) '$(srcdir)/svgout.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmplibcore_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmplibcore_a-psout.obj `if test -f 'psout.c'; then $(CYGPATH_W) 'psout.c'; else $(CYGPATH_W) '$(srcdir)/psout.c'; fi`
 
 mplibdir/libmputil_a-avl.o: mplibdir/avl.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmputil_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mplibdir/libmputil_a-avl.o -MD -MP -MF mplibdir/$(DEPDIR)/libmputil_a-avl.Tpo -c -o mplibdir/libmputil_a-avl.o `test -f 'mplibdir/avl.c' || echo '$(srcdir)/'`mplibdir/avl.c
@@ -14084,8 +13921,6 @@
 	-rm -f luatexdir/luamd5/$(am__dirstamp)
 	-rm -f luatexdir/luapeg/$(DEPDIR)/$(am__dirstamp)
 	-rm -f luatexdir/luapeg/$(am__dirstamp)
-	-rm -f luatexdir/luaprofiler/$(DEPDIR)/$(am__dirstamp)
-	-rm -f luatexdir/luaprofiler/$(am__dirstamp)
 	-rm -f luatexdir/luasocket/src/$(DEPDIR)/$(am__dirstamp)
 	-rm -f luatexdir/luasocket/src/$(am__dirstamp)
 	-rm -f luatexdir/luazip/src/$(DEPDIR)/$(am__dirstamp)
@@ -14131,7 +13966,7 @@
 
 distclean: distclean-recursive
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf ./$(DEPDIR) alephdir/$(DEPDIR) eptexdir/$(DEPDIR) etexdir/$(DEPDIR) euptexdir/$(DEPDIR) libmd5/$(DEPDIR) luatexdir/$(DEPDIR) luatexdir/lua/$(DEPDIR) luatexdir/luaffi/$(DEPDIR) luatexdir/luafilesystem/src/$(DEPDIR) luatexdir/luafontloader/fontforge/fontforge/$(DEPDIR) luatexdir/luafontloader/fontforge/gutils/$(DEPDIR) luatexdir/luafontloader/src/$(DEPDIR) luatexdir/luamd5/$(DEPDIR) luatexdir/luapeg/$(DEPDIR) luatexdir/luaprofiler/$(DEPDIR) luatexdir/luasocket/src/$(DEPDIR) luatexdir/luazip/src/$(DEPDIR) luatexdir/luazlib/$(DEPDIR) luatexdir/slnunicode/$(DEPDIR) luatexdir/unilib/$(DEPDIR) luatexdir/utils/$(DEPDIR) mfluadir/$(DEPDIR) mfluajitdir/$(DEPDIR) mplibdir/$(DEPDIR) pdftexdir/$(DEPDIR) pdftexdir/regex/$(DEPDIR) ptexdir/$(DEPDIR) synctexdir/$(DEPDIR) uptexdir/$(DEPDIR) xetexdir/$(DEPDIR) xetexdir/image/$(DEPDIR)
+	-rm -rf ./$(DEPDIR) alephdir/$(DEPDIR) eptexdir/$(DEPDIR) etexdir/$(DEPDIR) euptexdir/$(DEPDIR) libmd5/$(DEPDIR) luatexdir/$(DEPDIR) luatexdir/lua/$(DEPDIR) luatexdir/luaffi/$(DEPDIR) luatexdir/luafilesystem/src/$(DEPDIR) luatexdir/luafontloader/fontforge/fontforge/$(DEPDIR) luatexdir/luafontloader/fontforge/gutils/$(DEPDIR) luatexdir/luafontloader/src/$(DEPDIR) luatexdir/luamd5/$(DEPDIR) luatexdir/luapeg/$(DEPDIR) luatexdir/luasocket/src/$(DEPDIR) luatexdir/luazip/src/$(DEPDIR) luatexdir/luazlib/$(DEPDIR) luatexdir/slnunicode/$(DEPDIR) luatexdir/unilib/$(DEPDIR) luatexdir/utils/$(DEPDIR) mfluadir/$(DEPDIR) mfluajitdir/$(DEPDIR) mplibdir/$(DEPDIR) pdftexdir/$(DEPDIR) pdftexdir/regex/$(DEPDIR) ptexdir/$(DEPDIR) synctexdir/$(DEPDIR) uptexdir/$(DEPDIR) xetexdir/$(DEPDIR) xetexdir/image/$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-hdr distclean-libtool distclean-tags
@@ -14182,7 +14017,7 @@
 maintainer-clean: maintainer-clean-recursive
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
 	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -rf ./$(DEPDIR) alephdir/$(DEPDIR) eptexdir/$(DEPDIR) etexdir/$(DEPDIR) euptexdir/$(DEPDIR) libmd5/$(DEPDIR) luatexdir/$(DEPDIR) luatexdir/lua/$(DEPDIR) luatexdir/luaffi/$(DEPDIR) luatexdir/luafilesystem/src/$(DEPDIR) luatexdir/luafontloader/fontforge/fontforge/$(DEPDIR) luatexdir/luafontloader/fontforge/gutils/$(DEPDIR) luatexdir/luafontloader/src/$(DEPDIR) luatexdir/luamd5/$(DEPDIR) luatexdir/luapeg/$(DEPDIR) luatexdir/luaprofiler/$(DEPDIR) luatexdir/luasocket/src/$(DEPDIR) luatexdir/luazip/src/$(DEPDIR) luatexdir/luazlib/$(DEPDIR) luatexdir/slnunicode/$(DEPDIR) luatexdir/unilib/$(DEPDIR) luatexdir/utils/$(DEPDIR) mfluadir/$(DEPDIR) mfluajitdir/$(DEPDIR) mplibdir/$(DEPDIR) pdftexdir/$(DEPDIR) pdftexdir/regex/$(DEPDIR) ptexdir/$(DEPDIR) synctexdir/$(DEPDIR) uptexdir/$(DEPDIR) xetexdir/$(DEPDIR) xetexdir/image/$(DEPDIR)
+	-rm -rf ./$(DEPDIR) alephdir/$(DEPDIR) eptexdir/$(DEPDIR) etexdir/$(DEPDIR) euptexdir/$(DEPDIR) libmd5/$(DEPDIR) luatexdir/$(DEPDIR) luatexdir/lua/$(DEPDIR) luatexdir/luaffi/$(DEPDIR) luatexdir/luafilesystem/src/$(DEPDIR) luatexdir/luafontloader/fontforge/fontforge/$(DEPDIR) luatexdir/luafontloader/fontforge/gutils/$(DEPDIR) luatexdir/luafontloader/src/$(DEPDIR) luatexdir/luamd5/$(DEPDIR) luatexdir/luapeg/$(DEPDIR) luatexdir/luasocket/src/$(DEPDIR) luatexdir/luazip/src/$(DEPDIR) luatexdir/luazlib/$(DEPDIR) luatexdir/slnunicode/$(DEPDIR) luatexdir/unilib/$(DEPDIR) luatexdir/utils/$(DEPDIR) mfluadir/$(DEPDIR) mfluajitdir/$(DEPDIR) mplibdir/$(DEPDIR) pdftexdir/$(DEPDIR) pdftexdir/regex/$(DEPDIR) ptexdir/$(DEPDIR) synctexdir/$(DEPDIR) uptexdir/$(DEPDIR) xetexdir/$(DEPDIR) xetexdir/image/$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -14627,7 +14462,8 @@
 mpxout-tangle: ctangle$(EXEEXT) mplibdir/mpxout.w tangle-sh
 	@$(mp_ctangle_sh) mpxout
 
-$(mpost_OBJECTS): $(nodist_mpost_SOURCES) libmplib.a $(LIBPNG_DEPEND)
+#$(mpost_OBJECTS): $(nodist_mpost_SOURCES) libmplib.a $(LIBPNG_DEPEND)
+$(mpost_OBJECTS): $(nodist_mpost_SOURCES) libmplibcore.a libmplibbackends.a $(LIBPNG_DEPEND)
 mplibdir/dvitomp.log: mpost$(EXEEXT)
 mplibdir/mptraptest.log: mpost$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
 mptrap.diffs: mpost$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
@@ -14722,7 +14558,7 @@
 	$(mp_ctangle) tfmin.w
 
 # Creating several files: need stamp file and two rules with identical recipes
-$(mp_c_h): mp-tangle
+$(mp_c_h): mp-tangle 
 	@$(mp_ctangle_sh) mp
 mp-tangle: ctangle$(EXEEXT) mplibdir/mp.w tangle-sh
 	@$(mp_ctangle_sh) mp
@@ -14767,7 +14603,10 @@
 svgout-tangle: ctangle$(EXEEXT) mplibdir/svgout.w tangle-sh
 	@$(mp_ctangle_sh) svgout
 
-$(libmplib_a_OBJECTS): $(nodist_libmplib_a_SOURCES) $(KPATHSEA_DEPEND) $(CAIRO_DEPEND) $(MPFR_DEPEND)
+$(nodist_libmplibcore_a_SOURCES): $(svgout_c_h) $(pngout_c_h)
+
+$(libmplibcore_a_OBJECTS): $(nodist_libmplibcore_a_SOURCES) $(KPATHSEA_DEPEND)  $(MPFR_DEPEND)
+$(libmplibbackends_a_OBJECTS): $(nodist_libmplibbackends_a_SOURCES) $(KPATHSEA_DEPEND) $(CAIRO_DEPEND) $(MPFR_DEPEND)
 $(etex_OBJECTS): $(etex_prereq)
 
 $(etex_c_h): etex-web2c
@@ -15056,8 +14895,8 @@
 
 $(libff_a_OBJECTS): libunilib.a
 
-$(libluatex_a_OBJECTS): libff.a libmplib.a libluamisc.a $(POPPLER_DEPEND)
-$(libluajittex_a_OBJECTS): libff.a libmplib.a libluajitmisc.a $(POPPLER_DEPEND)
+$(libluatex_a_OBJECTS): libff.a libmplibcore.a libluamisc.a $(POPPLER_DEPEND)
+$(libluajittex_a_OBJECTS): libff.a libmplibcore.a libluajitmisc.a $(POPPLER_DEPEND)
 
 dvigen.c: ctangle$(EXEEXT) luatexdir/dvi/dvigen.w
 	$(luatex_dvi_ctangle) dvigen.w
@@ -15125,10 +14964,12 @@
 texlang.c: ctangle$(EXEEXT) luatexdir/lang/texlang.w
 	$(luatex_lang_ctangle) texlang.w
 
+helpers.c: ctangle$(EXEEXT) luatexdir/lua/helpers.w
+	$(luatex_lua_ctangle) helpers.w
 luainit.c: ctangle$(EXEEXT) luatexdir/lua/luainit.w
 	$(luatex_lua_ctangle) luainit.w
-luajitstuff.c: ctangle$(EXEEXT) luatexdir/lua/luajitstuff.w
-	$(luatex_lua_ctangle) luajitstuff.w
+#luajitstuff.c: ctangle$(EXEEXT) luatexdir/lua/luajitstuff.w
+#	$(luatex_lua_ctangle) luajitstuff.w
 luanode.c: ctangle$(EXEEXT) luatexdir/lua/luanode.w
 	$(luatex_lua_ctangle) luanode.w
 luastuff.c: ctangle$(EXEEXT) luatexdir/lua/luastuff.w
@@ -15135,6 +14976,8 @@
 	$(luatex_lua_ctangle) luastuff.w
 luatoken.c: ctangle$(EXEEXT) luatexdir/lua/luatoken.w
 	$(luatex_lua_ctangle) luatoken.w
+mplibstuff.c: ctangle$(EXEEXT) luatexdir/lua/mplibstuff.w
+	$(luatex_lua_ctangle) mplibstuff.w
 texluac.c: ctangle$(EXEEXT) luatexdir/lua/texluac.w
 	$(luatex_lua_ctangle) texluac.w
 texluajitc.c: ctangle$(EXEEXT) luatexdir/lua/texluajitc.w
@@ -15404,7 +15247,7 @@
 synctexdir/synctex.log: synctex$(EXEEXT)
 libmd5/md5.log: md5main$(EXEEXT)
 
-# $Id: bin_links.am 43248 2017-02-16 21:38:29Z karl $
+# $Id: Makefile.in 44295 2017-05-11 21:59:47Z karl $
 # am/bin_links.am: Makefile fragment for bindir links.
 .PHONY: install-bin-links uninstall-bin-links
 

Modified: branches/stable/source/src/texk/web2c/NEWS
===================================================================
--- branches/stable/source/src/texk/web2c/NEWS	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/NEWS	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,6 @@
 This file records noteworthy changes.  (Public domain.)
 
+2017 (for TeX Live 2017, 19 May 2017)
 2016 (for TeX Live 2016, 21 May 2016)
 2015 (for TeX Live 2015, 21 May 2015)
 2014 (for TeX Live 2014, 24 May 2014)

Modified: branches/stable/source/src/texk/web2c/ac/web2c.ac
===================================================================
--- branches/stable/source/src/texk/web2c/ac/web2c.ac	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/ac/web2c.ac	2017-11-01 17:53:02 UTC (rev 778)
@@ -35,8 +35,8 @@
 [[euptex],    [yes], [yes], [e-upTeX],    [ptexenc]],
 [[aleph],     [yes], [],    [Aleph],      []],
 [[pdftex],    [yes], [yes], [pdfTeX],     [xpdf libpng]],
-[[luatex],    [yes], [],    [LuaTeX],     [poppler mpfr cairo libpng zziplib lua52]],
-[[luajittex], [yes], [],    [LuaJITTeX],  [poppler mpfr cairo libpng zziplib luajit]],
+[[luatex],    [yes], [],    [LuaTeX],     [poppler mpfr libpng zziplib lua52]],
+[[luajittex], [yes], [],    [LuaJITTeX],  [poppler mpfr libpng zziplib luajit]],
 [[mp],        [yes], [],    [MetaPost],   [mpfr cairo libpng]],
 [[pmp],       [yes], [],    [pMetaPost],  [mpfr cairo libpng ptexenc]],
 [[upmp],      [yes], [],    [upMetaPost], [mpfr cairo libpng ptexenc]],

Modified: branches/stable/source/src/texk/web2c/configure
===================================================================
--- branches/stable/source/src/texk/web2c/configure	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/configure	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Web2C 2017/dev.
+# Generated by GNU Autoconf 2.69 for Web2C 2017.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='Web2C'
 PACKAGE_TARNAME='web2c'
-PACKAGE_VERSION='2017/dev'
-PACKAGE_STRING='Web2C 2017/dev'
+PACKAGE_VERSION='2017'
+PACKAGE_STRING='Web2C 2017'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1608,7 +1608,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Web2C 2017/dev to adapt to many kinds of systems.
+\`configure' configures Web2C 2017 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1682,7 +1682,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Web2C 2017/dev:";;
+     short | recursive ) echo "Configuration of Web2C 2017:";;
    esac
   cat <<\_ACEOF
 
@@ -1903,7 +1903,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Web2C configure 2017/dev
+Web2C configure 2017
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2992,7 +2992,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Web2C $as_me 2017/dev, which was
+It was created by Web2C $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3373,7 +3373,7 @@
 
 
 
-WEB2CVERSION=2017/dev
+WEB2CVERSION=2017
 
 
 am__api_version='1.15'
@@ -8680,7 +8680,7 @@
 
 # Define the identity of the package.
  PACKAGE='web2c'
- VERSION='2017/dev'
+ VERSION='2017'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -18758,7 +18758,6 @@
 test "x$enable_web2c:$enable_luatex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_lua52=yes
@@ -18777,7 +18776,6 @@
 test "x$enable_web2c:$enable_luajittex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_luajit=yes
@@ -22501,7 +22499,7 @@
 Report bugs to <bug-libtool at gnu.org>."
 
 lt_cl_version="\
-Web2C config.lt 2017/dev
+Web2C config.lt 2017
 configured by $0, generated by GNU Autoconf 2.69.
 
 Copyright (C) 2011 Free Software Foundation, Inc.
@@ -25610,7 +25608,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Web2C $as_me 2017/dev, which was
+This file was extended by Web2C $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -25680,7 +25678,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Web2C config.status 2017/dev
+Web2C config.status 2017
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: branches/stable/source/src/texk/web2c/doc/web2c.info
===================================================================
--- branches/stable/source/src/texk/web2c/doc/web2c.info	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/doc/web2c.info	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-This is web2c.info, produced by makeinfo version 6.1 from web2c.texi.
+This is web2c.info, produced by makeinfo version 6.3 from web2c.texi.
 
 This file documents the installation and use of the programs in Web2c,
 an implementation of Donald Knuth's TeX system.
@@ -58,7 +58,7 @@
 
 This document describes how to install and use the programs in the Web2c
 implementation of the TeX system, especially for Unix systems.  It
-corresponds to Web2c version 2016, released in April 2016.
+corresponds to Web2c version 2017, released in April 2017.
 
 * Menu:
 
@@ -82,8 +82,8 @@
 1 Introduction
 **************
 
-This manual corresponds to version 2016 of Web2c, released in April
-2016.
+This manual corresponds to version 2017 of Web2c, released in April
+2017.
 
    "Web2c" is the name of a TeX implementation, originally for Unix, but
 now also running under DOS, Amiga, and other operating systems.  By "TeX

Modified: branches/stable/source/src/texk/web2c/doc/web2c.texi
===================================================================
--- branches/stable/source/src/texk/web2c/doc/web2c.texi	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/doc/web2c.texi	2017-11-01 17:53:02 UTC (rev 778)
@@ -11,8 +11,8 @@
 \fi
 @end tex
 
- at set version 2016
- at set month-year April 2016
+ at set version 2017
+ at set month-year April 2017
 
 @c Define new indices for commands in auxiliary files, filenames, and options.
 @defcodeindex cm

Modified: branches/stable/source/src/texk/web2c/lib/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/lib/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/lib/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,14 +1,18 @@
-2017-02-13  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2017-03-12  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
+	* texmfmp.c: Adopt Jonathan's solution for the Change on 2017-02-01.
+
+2017-02-13  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
 	* texmfmp.c: unsigned long long >= 0. Thanks Luigi.
 
-2017-02-01  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2017-02-01  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Avoid a crash in xelatex for
 	http://tug.org/pipermail/xetex/2017-January/026975.html.
 	It is not a fix but a stopgap.
 
-2017-01-02  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2017-01-02  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* printversion.c: 2016 ---> 2017.
 
@@ -27,7 +31,7 @@
 
 	* TeX Live 2016 release.
 
-2016-05-06  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2016-05-06  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Avoid crash for too large a value of SOURCE_DATE_EPOCH.
 	(w32 only).
@@ -37,7 +41,7 @@
 	* texmfmp.c (init_start_time, get_date_and_time) [onlyTeX]:
 	ignore SOURCE_DATE_EPOCH... envvars for original TeX.
 
-2016-05-05  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2016-05-05  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c (strtoull) [_MSC_VER]: #define as _strtoui64.
 
@@ -50,7 +54,7 @@
 	SOURCE_DATE_EPOCH value.  Requested by Debian, thread starting at
 	http://tug.org/pipermail/tex-k/2016-May/002691.html.
 
-2016-04-14  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2016-04-14  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Fix a bug to show input file name in the case of pipe input.
 	Reported by Enrico Gregorio:
@@ -64,19 +68,19 @@
 
 	* texmfmp.c (initstarttime): wording of invalid SOURCE_DATE_EPOCH.
 
-2016-01-26  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2016-01-26  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Improve to skip BOM (win32 only).
 
-2016-01-02  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2016-01-02  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* printversion.c: 2015 ---> 2016.
 
-2015-11-15  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2015-11-15  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Show return code of system() if it is not zero.
 
-2015-11-01  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2015-11-01  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Improve restricted shell escape for w32 a little.
 
@@ -88,7 +92,7 @@
 
 	* texmfmp.c: Patch from Maria with some minor modification.
 
-2015-07-09  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2015-07-09  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Add \pdfmdfivesum to XeTeX.
 
@@ -102,7 +106,7 @@
 	Integrate MFLua and MFLuaJIT.
 	* texmfmp.c: Adapted.
 
-2015-03-16  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2015-03-16  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* printversion.c: 2014 ---> 2015.
 
@@ -110,7 +114,7 @@
 
 	* texmfmp.c: Avoid MinGW64 warnings (INVALID_SOCKET => -1).
 
-2014-11-03  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-11-03  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Indentation.
 
@@ -122,7 +126,7 @@
 
 	* texmfmp.c: Apply some code from W32TeX.
 
-2014-08-22  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-08-22  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Symplify support of multibyte characters, by
 	updating fsyscp_popen in kpathsea (Windows only).
@@ -131,20 +135,20 @@
 
 	* texmfmp.c: Avoid several compiler warnings (Windows only).
 
-2014-08-22  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-08-22  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Support multibyte characters in pipe (Windows only).
 
-2014-07-23  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-07-23  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Short-file-name convention is incompatible with
 	--src-specials (Windows only).
 
-2014-07-21  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-07-21  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Use getnullstr() in maketexstring(), also in aleph.
 
-2014-07-19  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-07-19  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Use getnullstr() in maketexstring(), as in pdfTeX,
 	in most cases in order to avoid an assertion error.
@@ -154,11 +158,11 @@
 	* texmfmp.c: Replace the deprecated spawnvp() by _spawnvp(),
 	they differ for 64-bit MinGW.
 
-2014-07-04  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-07-04  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Remove redundant cpp macros (w32 only).
 
-2014-06-20  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-06-20  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Support short-file-name convention (w32 only).
 
@@ -168,7 +172,7 @@
 	* texmfmp.c (getfiledump): Move definition of this function
 	also used by e-(u)pTeX from ../pdftexdir/utils.c to here.
 
-2014-01-20  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-01-20  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* printversion.c: 2013 ---> 2014.
 
@@ -176,7 +180,7 @@
 
 	* texmfmp.c: Do not declare dump_name, now done in change files.
 
-2014-01-14  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2014-01-14  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: use fsyscp_system instead of system (Windows only).
 
@@ -199,7 +203,7 @@
 	getfilemoddate, getfilesize): Move definition of these functions
 	also used by e-(u)pTeX from ../pdftexdir/utils.c to here.
 
-2013-04-09  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2013-04-09  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* printversion.c: 2012 ---> 2013.
 
@@ -215,7 +219,7 @@
 
 	* Makefile.am: Avoid use of deprecated INCLUDES.
 
-2012-10-14  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2012-10-14  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Use _IONBF for unbuffered stream.
 
@@ -223,7 +227,7 @@
 
 	* texmfmp.c (mk_shellcmdlist): The argument is not constant.
 
-2012-10-10  Akira Kakuto  <kakuto at fuk.kinidai.ac.jp>
+2012-10-10  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* texmfmp.c: Modify determination of fullpath for restricted shell
 	escape commands.

Modified: branches/stable/source/src/texk/web2c/lib/texmfmp.c
===================================================================
--- branches/stable/source/src/texk/web2c/lib/texmfmp.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/lib/texmfmp.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -2818,9 +2818,10 @@
   unsigned bytesToWrite = 0;
   poolpointer len, i, j;
   string name;
-  if (strstart[s + 1 - 65536L] < strstart[s - 65536L])
-    return NULL;
-  len = strstart[s + 1 - 65536L] - strstart[s - 65536L];
+  if (s >= 65536L)
+    len = strstart[s + 1 - 65536L] - strstart[s - 65536L];
+  else
+    len = 0;
   name = xmalloc(len * 3 + 1); /* max UTF16->UTF8 expansion
                                   (code units, not bytes) */
   for (i = 0, j = 0; i < len; i++) {

Modified: branches/stable/source/src/texk/web2c/pdftexdir/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,16 +1,38 @@
-2017-03-16  Pali Roh\'ar <pali.rohar at gmail.com>
+2017-04-19  Karl Berry  <karl at freefriends.org>
 
-	Allow .enc files for bitmap fonts, following thread at
-	http://tug.org/pipermail/pdftex/2016-July/009064.html
-	http://tug.org/pipermail/pdftex/2016-August/009065.html:
-	* writet3.c (remove_duplicate_glyph_names): new fn.
-	(writet3): change fn to take fm_entry object, and use it to write
-	glyph names from an enc file, if specified in the map file.
-	(write_fontdictionary): 
-	* ptexlib.h (writet3): change declaration.
-	* writefont.c (dopdffont): change call to writet3.
-	* mapfile.c (check_fm_entry): also report missing enc file.
+	* mapfile.c (read_field): new parameter buf_size,
+	and check buffer for overflow, as in append_char_to_buf.
+	(fm_scan_line): change read_field calls;
+	set tfm_name to empty string instead of leaving NULL.
+	(check_fm_entry): remove checks of tfm_name on every print;
+	check for empty tfm_name rather than lack of ps_name and font file;
+	check for non-empty tfm_name on slant/extend warnings.
 
+2017-04-12  Karl Berry  <karl at freefriends.org>
+
+	* mapfile.c (check_fm_entry): do not try to print fm->tfm_name,
+	etc., in warnings if null.
+	(fm_scan_line): goto bad_line if a null tfm_name,
+	even if check_fm_entry returns true.
+
+2017-04-12  Pali Roh\'ar <pali.rohar at gmail.com>
+
+	* ptexmac.h (set_subfont, unset_subfont, is_subfont): remove
+        these duplicate macros.
+
+2017-03-29  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+        * writepng.c: Fix the size of memory to allocate when writing
+        SMask in write_png_rgb_alpha. Reported by David Fifield:
+        http://tug.org/pipermail/pdftex/2017-March/009100.html
+
+2017-03-18  Karl Berry  <karl at tug.org>
+
+        * NEWS,
+        * pdftex_version.h,
+        * pdftex.web (pdftex_revision, pdftex_version_string):
+        version [1.40.]18 for TL17.
+
 2017-02-18  Heiko Oberdiek  <heiko.oberdiek at googlemail.com>
 
 	* pdftex.web (substr_of_str): move earlier.

Modified: branches/stable/source/src/texk/web2c/pdftexdir/NEWS
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/NEWS	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/NEWS	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,5 @@
 pdfTeX 3.14159265-2.6-1.40.18 (TeX Live 2017)
 - changes:
-  - encoding files can be specified for PK bitmap fonts on font map lines.
   - rename envvar SOURCE_DATE_EPOCH_TEX_PRIMITIVES to FORCE_SOURCE_DATE;
     no changes in functionality.
   - if the \pdfpageattr token list contains the string "/MediaBox",

Modified: branches/stable/source/src/texk/web2c/pdftexdir/mapfile.c
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/mapfile.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/mapfile.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
 /* mapfile.c: handling of map files/lines
-Copyright 1996-2014 Han The Thanh, <thanh at pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh at pdftex.org>
 
 This file is part of pdfTeX.
 
@@ -46,10 +46,12 @@
 
 static const char nontfm[] = "<nontfm>";
 
-#define read_field(r, q, buf) do {  \
+#define read_field(r, q, buf, buf_size) do {  \
     q = buf;                        \
-    while (*r != ' ' && *r != '<' && *r != '"' && *r != '\0') \
+    while (*r != ' ' && *r != '<' && *r != '"' && *r != '\0') { \
+        check_buf(q - (buf) + 1, (buf_size)); \
         *q++ = *r++;                \
+    }                               \
     *q = '\0';                      \
     skip (r, ' ');                  \
 } while (0)
@@ -271,29 +273,30 @@
     return p;
 }
 
+

 /**********************************************************************/
-/* consistency check for map entry, with warn flag */
+/* consistency check for map entry, with warn flag; return zero if ok,
+   nonzero bits of warnings otherwise. */
 
 static int check_fm_entry(fm_entry * fm, boolean warn)
 {
     int a = 0;
     assert(fm != NULL);
+    assert(fm->tfm_name);
 
     if (is_fontfile(fm) && !is_included(fm)) {
         if (warn)
             pdftex_warn
-                ("ambiguous entry for `%s': font file present but not included, "
-                 "will be treated as font file not present", fm->tfm_name);
+              ("ambiguous entry for `%s': font file present but not included, "
+               "will be treated as font file not present", fm->tfm_name);
         xfree(fm->ff_name);
-        /* do not set variable |a| as this entry will be still accepted */
+        /* do not set variable |a| as this entry will still be accepted */
     }
 
-    /* if ps_name, font file and enc file are missing, drop this entry */
-    if (fm->ps_name == NULL && !is_fontfile(fm) && !is_reencoded(fm)) {
+    /* if no tfm name, nothing to do here; a bare tfm is ok */
+    if (*(fm->tfm_name) == '\0') {
         if (warn)
-            pdftex_warn
-                ("invalid entry for `%s': ps_name, font file, enc file all missing",
-                 fm->tfm_name);
+            pdftex_warn ("invalid map entry: tfm missing");
         a += 1;
     }
 
@@ -301,7 +304,7 @@
     if (is_truetype(fm) && is_reencoded(fm) && !is_subsetted(fm)) {
         if (warn)
             pdftex_warn
-                ("invalid entry for `%s': only subsetted TrueType font can be reencoded",
+                ("invalid entry for `%s': only subsetted TrueType fonts can be reencoded",
                  fm->tfm_name);
         a += 2;
     }
@@ -308,7 +311,8 @@
 
     /* SlantFont and ExtendFont can be used only with Type1 fonts */
     if ((fm->slant != 0 || fm->extend != 0)
-        && !(is_t1fontfile(fm) && is_included(fm))) {
+        && (strlen(fm->tfm_name) == 0
+            || !(is_t1fontfile(fm) && is_included(fm)))) {
         if (warn)
             pdftex_warn
                 ("invalid entry for `%s': SlantFont/ExtendFont can be used only with embedded Type1 fonts",
@@ -320,7 +324,7 @@
     if (abs(fm->slant) > 1000) {
         if (warn)
             pdftex_warn
-                ("invalid entry for `%s': too big value of SlantFont (%g)",
+                ("invalid entry for `%s': SlantFont value too big: %g",
                  fm->tfm_name, fm->slant / 1000.0);
         a += 8;
     }
@@ -327,7 +331,7 @@
     if (abs(fm->extend) > 2000) {
         if (warn)
             pdftex_warn
-                ("invalid entry for `%s': too big value of ExtendFont (%g)",
+                ("invalid entry for `%s': ExtendFont value too big: %g",
                  fm->tfm_name, fm->extend / 1000.0);
         a += 16;
     }
@@ -426,10 +430,12 @@
     if (*r == '\0' || is_cfg_comment(*r))
         return;
     fm = new_fm_entry();
-    read_field(r, q, buf);
+    read_field(r, q, buf, FM_BUF_SIZE);
     set_field(tfm_name);
+    if (fm->tfm_name == NULL) /* used in messages, so don't let be null */
+      fm->tfm_name = xstrdup ("");
     if (!isdigit((unsigned char)*r)) {         /* 2nd field ps_name may not start with a digit */
-        read_field(r, q, buf);
+        read_field(r, q, buf, FM_BUF_SIZE);
         set_field(ps_name);
     }
     if (isdigit((unsigned char)*r)) {          /* font descriptor /Flags given? */
@@ -500,7 +506,7 @@
                 if (*r == '<' || *r == '[')
                     b = *r++;
             }
-            read_field(r, q, buf);
+            read_field(r, q, buf, FM_BUF_SIZE);
             /* encoding, formats: '8r.enc' or '<8r.enc' or '<[8r.enc' */
             if (strlen(buf) > 4 && strcasecmp(strend(buf) - 4, ".enc") == 0) {
                 fm->encname = add_encname(buf);
@@ -539,10 +545,11 @@
             set_type1(fm);
     } else
         set_type1(fm);          /* assume a builtin font is Type1 */
+
     if (check_fm_entry(fm, true) != 0)
         goto bad_line;
     /*
-       Until here the map line has been completely scanned without errors;
+       If we get here, the map line has been completely scanned without errors;
        fm points to a valid, freshly filled-out fm_entry structure.
        Now follows the actual work of registering/deleting.
      */

Modified: branches/stable/source/src/texk/web2c/pdftexdir/pdftex.defines
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/pdftex.defines	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/pdftex.defines	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
 {
-Copyright 1996-2014 Han The Thanh, <thanh at pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh at pdftex.org>
 
 This file is part of pdfTeX.
 

Modified: branches/stable/source/src/texk/web2c/pdftexdir/pdftex.web
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/pdftex.web	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/pdftex.web	2017-11-01 17:53:02 UTC (rev 778)
@@ -306,8 +306,8 @@
   {printed when \eTeX\ starts}
 @#
 @d pdftex_version==140 { \.{\\pdftexversion} }
- at d pdftex_revision=="17" { \.{\\pdftexrevision} }
- at d pdftex_version_string=='-1.40.17' {current \pdfTeX\ version}
+ at d pdftex_revision=="18" { \.{\\pdftexrevision} }
+ at d pdftex_version_string=='-1.40.18' {current \pdfTeX\ version}
 @#
 @d pdfTeX_banner=='This is pdfTeX, Version 3.14159265',eTeX_version_string,pdftex_version_string
    {printed when \pdfTeX\ starts}

Modified: branches/stable/source/src/texk/web2c/pdftexdir/pdftex_version.h
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/pdftex_version.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/pdftex_version.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1 +1 @@
-#define PDFTEX_VERSION "1.40.17"
+#define PDFTEX_VERSION "1.40.18"

Modified: branches/stable/source/src/texk/web2c/pdftexdir/ptexlib.h
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/ptexlib.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/ptexlib.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
 /*
-Copyright 1996-2014 Han The Thanh, <thanh at pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh at pdftex.org>
 
 This file is part of pdfTeX.
 
@@ -307,7 +307,7 @@
 extern void t1_free(void);
 
 /* writet3.c */
-extern void writet3(fm_entry *, int, internalfontnumber);
+extern void writet3(int, internalfontnumber);
 extern scaled getpkcharwidth(internalfontnumber, scaled);
 
 /* writettf.c */

Modified: branches/stable/source/src/texk/web2c/pdftexdir/ptexmac.h
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/ptexmac.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/ptexmac.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
 /*
-Copyright 1996-2014 Han The Thanh, <thanh at pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh at pdftex.org>
 
 This file is part of pdfTeX.
 
@@ -163,7 +163,6 @@
 #  define set_type1(fm)       ((fm)->type |= F_TYPE1)
 #  define set_truetype(fm)    ((fm)->type |= F_TRUETYPE)
 #  define set_opentype(fm)    ((fm)->type |= F_OTF)
-#  define set_subfont(fm)     ((fm)->type |= F_SUBFONT)
 
 #  define unset_included(fm)  ((fm)->type &= ~F_INCLUDED)
 #  define unset_subsetted(fm) ((fm)->type &= ~F_SUBSETTED)
@@ -172,7 +171,6 @@
 #  define unset_type1(fm)     ((fm)->type &= ~F_TYPE1)
 #  define unset_truetype(fm)  ((fm)->type &= ~F_TRUETYPE)
 #  define unset_opentype(fm)  ((fm)->type &= ~F_OTF)
-#  define unset_subfont(fm)   ((fm)->type &= ~F_SUBFONT)
 
 #  define is_included(fm)     (((fm)->type & F_INCLUDED) != 0)
 #  define is_subsetted(fm)    (((fm)->type & F_SUBSETTED) != 0)
@@ -181,7 +179,6 @@
 #  define is_type1(fm)        (((fm)->type & F_TYPE1) != 0)
 #  define is_truetype(fm)     (((fm)->type & F_TRUETYPE) != 0)
 #  define is_opentype(fm)     (((fm)->type & F_OTF) != 0)
-#  define is_subfont(fm)      (((fm)->type & F_SUBFONT) != 0)
 
 #  define fm_slant(fm)        (fm)->slant
 #  define fm_extend(fm)       (fm)->extend

Modified: branches/stable/source/src/texk/web2c/pdftexdir/writefont.c
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/writefont.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/writefont.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
 /*
-Copyright 1996-2014 Han The Thanh, <thanh at pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh at pdftex.org>
 
 This file is part of pdfTeX.
 
@@ -667,7 +667,7 @@
     fm_entry *fm;
     fm = hasfmentry(f) ? (fm_entry *) pdffontmap[f] : NULL;
     if (fm == NULL || (fm->ps_name == NULL && fm->ff_name == NULL))
-        writet3(fm, font_objnum, f);
+        writet3(font_objnum, f);
     else
         create_fontdictionary(fm, font_objnum, f);
 }

Modified: branches/stable/source/src/texk/web2c/pdftexdir/writepng.c
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/writepng.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/writepng.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
 /*
-Copyright 1996-2014 Han The Thanh, <thanh at pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh at pdftex.org>
 
 This file is part of pdfTeX.
 
@@ -335,7 +335,7 @@
     pdfcreateobj(0, 0);
     smask_objnum = objptr;
     pdf_printf("/SMask %i 0 R\n", (int) smask_objnum);
-    smask_size = (png_get_rowbytes(png_ptr(img), png_info(img)) / 2)
+    smask_size = (png_get_rowbytes(png_ptr(img), png_info(img)) / 4)
                  * png_get_image_height(png_ptr(img), png_info(img));
     smask = xtalloc(smask_size, png_byte);
     pdfbeginstream();

Modified: branches/stable/source/src/texk/web2c/pdftexdir/writet3.c
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/writet3.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/pdftexdir/writet3.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
 /*
-Copyright 1996-2014 Han The Thanh, <thanh at pdftex.org>
+Copyright 1996-2017 Han The Thanh, <thanh at pdftex.org>
 
 This file is part of pdfTeX.
 
@@ -254,32 +254,8 @@
     return true;
 }
 
-static void remove_duplicate_glyph_names(char **g, const char *encname)
+void writet3(int objnum, internalfontnumber f)
 {
-    struct avl_table *gl_tree;
-    char *aa;
-    int i;
-    gl_tree = avl_create(comp_string_entry, NULL, &avl_xallocator);
-    assert(gl_tree != NULL);
-    for (i = 0; i < 256; i++) {
-        if (g[i] == notdef)
-            continue;
-        aa = (char *) avl_find(gl_tree, g[i]);
-        if (aa == NULL) {
-            aa = (char *) avl_probe(gl_tree, g[i]);
-            assert(aa != NULL);
-        } else {
-            pdftex_warn("%s: duplicate glyph name `%s' at position %d",
-                        encname, g[i], i);
-            xfree(g[i]);
-            g[i] = (char *) notdef;
-        }
-    }
-    avl_destroy(gl_tree, NULL);
-}
-
-void writet3(fm_entry * fm, int objnum, internalfontnumber f)
-{
     static char t3_font_scale_str[] = "\\pdffontscale";
     int i;
     integer wptr, eptr, cptr;
@@ -286,9 +262,6 @@
     int first_char, last_char;
     integer pk_font_scale;
     boolean is_notdef;
-    fe_entry *fe;
-    char **glyph_names;
-    integer tounicode_objnum;
     t3_glyph_num = 0;
     t3_image_used = false;
     for (i = 0; i < 256; i++) {
@@ -295,10 +268,6 @@
         t3_char_procs[i] = 0;
         t3_char_widths[i] = 0;
     }
-    fe = fm ? get_fe_entry(fm->encname) : NULL;
-    glyph_names = fe ? fe->glyph_names : NULL;
-    if (glyph_names)
-        remove_duplicate_glyph_names(glyph_names, fm->encname);
     packfilename(fontname[f], getnullstr(), maketexstring(".pgc"));
     cur_file_name = makecstring(makenamestring());
     is_pk_font = false;
@@ -329,11 +298,6 @@
         if (pdfcharmarked(f, i))
             break;
     last_char = i;
-    /* write ToUnicode entry if needed */
-    if (fixedgentounicode > 0 && !pdffontnobuiltintounicode[f] && fe != NULL)
-        tounicode_objnum = write_tounicode(glyph_names, fm->tfm_name,fe->name);
-    else
-        tounicode_objnum = 0;
     pdfbegindict(objnum, 1);    /* Type 3 font dictionary */
     pdf_puts("/Type /Font\n/Subtype /Type3\n");
     pdf_printf("/Name /F%i\n", (int) f);
@@ -380,12 +344,7 @@
         pdf_printf("/%s", notdef);
         is_notdef = true;
     } else {
-        if (glyph_names
-            && glyph_names[first_char]
-            && glyph_names[first_char] != notdef)
-            pdf_printf("/%s", glyph_names[first_char]);
-        else
-            pdf_printf("/a%i", first_char);
+        pdf_printf("/a%i", first_char);
         is_notdef = false;
     }
     for (i = first_char + 1; i <= last_char; i++) {
@@ -399,25 +358,15 @@
                 pdf_printf(" %i", i);
                 is_notdef = false;
             }
-            if (glyph_names && glyph_names[i] && glyph_names[i] != notdef)
-                pdf_printf("/%s", glyph_names[i]);
-            else
-                pdf_printf("/a%i", i);
+            pdf_printf("/a%i", i);
         }
     }
     pdf_puts("]\n");
-    if (tounicode_objnum != 0)
-        pdf_printf("/ToUnicode %i 0 R\n", (int) tounicode_objnum);
     pdfenddict();
     pdfbegindict(cptr, 1);      /* CharProcs dictionary */
     for (i = first_char; i <= last_char; i++)
         if (t3_char_procs[i] != 0)
-            if (glyph_names && glyph_names[i] && glyph_names[i] != notdef)
-                pdf_printf("/%s %i 0 R\n", glyph_names[i], 
-                           (int) t3_char_procs[i]);
-            else
-                pdf_printf("/a%i %i 0 R\n", (int) i,
-                           (int) t3_char_procs[i]);
+            pdf_printf("/a%i %i 0 R\n", (int) i, (int) t3_char_procs[i]);
     pdfenddict();
     t3_close();
     tex_printf(">");

Modified: branches/stable/source/src/texk/web2c/synctexdir/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/ChangeLog	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/ChangeLog	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,3 +1,14 @@
+2017-04-24  Hironori Kitagawa  <h_kitagawa2001 at yahoo.co.jp>
+
+	* synctex-ep-mem.ch0, synctex-p-mem.ch0,
+	synctex-ep-mem.ch1, synctex-p-mem.ch1:
+	Adapt to changes in ptexdir/ptex-base.ch (p\TeX -> \pTeX).
+
+2017-04-22 Jerome Laurens
+    <jerome.laurens at u-bourgogne.fr>
+
+    * man5/synctex.1, man5/synctex.5, synctex-pdf-rec.ch2, synctex-pdftex.h, synctex-rec.ch0, synctex.c, synctex.defines, synctex.h: add support for \pdfxform
+
 2016-03-04  Hironori Kitagawa  <h_kitagawa2001 at yahoo.co.jp>
 
 	* synctex-ep-mem.ch1, synctex-p-mem.ch1: Adapt to changes in

Modified: branches/stable/source/src/texk/web2c/synctexdir/man1/synctex.1
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/man1/synctex.1	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/man1/synctex.1	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-.Dd 06/26/2013     \" DATE 
+.Dd 04/23/2017     \" DATE
 .Dt synctex 1      \" Program name and manual section number 
 .Sh NAME
 .Nm synctex
@@ -13,10 +13,27 @@
 and vice versa.
 .Pp
 Run `synctex help' to access the built-in tool documentation.
-.Sh SEE ALSO 
+.Sh TEX ENGINE OPTION -synctex=NUMBER
+.It
+.Li If NUMBER=0 or no option is given, no synctex file is created.
+.It
+.Li If NUMBER<0, synctex files are text files.
+.It
+.Li If NUMBER>0, synctex files are compressed with gz.
+.It
+.Li If NUMBER&2, no .gz extension is used.
+.It
+.Li If NUMBER&4, activate form support, useful for pdftex.
+.It
+.Li If NUMBER&8, better file compression.
+.Pp
+Use for example `pdftex -synctex=15 foo.tex' to activate all the options.
+.Pp
+Notice that LuaTeX option is `--synctex=NUMBER' with two dashes.
+.Sh SEE ALSO
 .\" List links in ascending order by section, alphabetically within a section.
 .\" Please do not reference files that do not exist without filing a bug report
-.Xr synctex 5 
+.Xr synctex 5
 .Xr tex 1
 .Sh AUTHOR
 The Synchronize TeXnology is essentially due to Jerome Laurens,
@@ -23,7 +40,7 @@
 with useful suggestions by some well known actors of the TeX world.
 .\" .Sh BUGS              \" Document known, unremedied bugs 
 .Sh HISTORY           \" Document history if command behaves in a unique manner
-This document has never been updated.
+Revised on Sun Apr 23 09:54:20 UTC 2017.
 .\" nroff -man synctex.1 | less
 .\"groff -man -Tascii synctex.1 | less
 .\"To convert a man page to plain pre-formatted text (e.g for spell checking) use:

Modified: branches/stable/source/src/texk/web2c/synctexdir/man5/synctex.5
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/man5/synctex.5	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/man5/synctex.5	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-.Dd Mar 13, 2012
+.Dd Apr 22, 2017
 .Dt SYNCTEX 5
 .Os "Independant"
 .\"
@@ -13,8 +13,7 @@
 .Pq synctexs
 are text files that help input/output synchronization during document preparation with the TeX typesetting system.
 .Sh BASICS
-The structure of this file should not be considered public, in the sense that no one should need to parse its contents, except the synctex command line utility, and the synctex_parser library.
-Unless it is absolutely not avoidable, access to the contents of the synctex file should only be made through requests made to the synctex command line utility.
+The structure of this file should not be considered public, in the sense that no one should need to parse its contents, except the synctex command line utility, and the synctex_parser library which are both publicly available. Unless it is absolutely not avoidable, access to the contents of the synctex file should only be made through requests made to the synctex command line utility.
 .\"
 .Sh STRUCTURE
 The element structure of a synctex file is a list of text line records as follows.
@@ -94,19 +93,21 @@
 .Qq Content:
 <EOL>
 .It
+.Li (<Form(k)>|<Input Line>)*
+.It
 .Li <sheet(1)>
 .It
-.Li <Input Line>*
+.Li (<Form(k)>|<Input Line>)*
 .It
 .Li <sheet(2)>
 .It
-.Li <Input Line>*
+.Li (<Form(k)>|<Input Line>)*
 .It
 .Li ...
 .It
 .Li <sheet(N)>
 .It
-.Li <Input Line>*
+.Li (<Form(k)>|<Input Line>)*
 .El
 .It
 .Li <byte offset record> ::=
@@ -123,9 +124,9 @@
 .Li <byte offset record>
 .It
 .Qq \&{
-<the integer n> <end of record>/
+<the integer n> <end of record>
 .It
-.Li <box content>*
+.Li <vbox section>|<hbox section>
 .It
 .Li <byte offset record>
 .It
@@ -132,8 +133,28 @@
 .Qq \&}
 <the integer n> <end of record>
 .El
+.It
+.Li <Form> ::=
+.Bl -item -offset indent
+.It
+.Li <byte offset record>
+.It
+.Qq \&<
+<form tag> <end of record>
+.It
+.Li <vbox section>|<hbox section>
+.It
+.Li <byte offset record>
+.It
+.Qq \&>
+<end of record>
 .El
+.It
+.Li <form tag> ::= <integer>
+.El
 .Pp
+Forms are available with pdfTeX.
+All the numbers are integers encoded using the decimal representation with "C" locale.
 The <box content> describes what is inside a box.
 It is either a vertical or horizontal box,
 with some records related to glue, kern or math nodes.
@@ -146,7 +167,9 @@
 .It
 .Li |<void vbox record>|<void hbox record>
 .It
-.Li |<current record>|<glue record>|<kern record>|<math record>
+.Li |<current record>|<glue record>|<kern record>
+.It
+.Li |<math record>|<form ref record>|<Form>
 .El
 .It
 .Li <vbox section> ::=
@@ -201,6 +224,27 @@
 .Qq \&:
 <size> <end of record>
 .It
+.Li <link> ::= <tag>
+.Qq \&,
+<line>(
+.Qq \&,
+<column>)?
+.It
+.Li <point> ::= <full point>|<compressed point>
+.It
+.Li <full point> ::=
+<integer>
+.Qq \&,
+<integer>
+.It
+.Li <compressed point> ::=
+<integer>
+.Qq \&,=
+.It
+.Li <line> ::= <integer>
+.It
+.Li <column> ::= <integer>
+.It
 .Li <size> ::= <Width>
 .Qq \&,
 <Height>
@@ -212,16 +256,6 @@
 .Li <Height> ::= <integer>
 .It
 .Li <Depth> ::= <integer>
-.It
-.Li <link> ::= <tag>
-.Qq \&,
-<line>(
-.Qq \&,
-<column>)?
-.It
-.Li <line> ::= <integer>
-.It
-.Li <column> ::= <integer>
 .El
 .Pp
 The forthcoming records are basic one liners.
@@ -252,6 +286,12 @@
 <link>
 .Qq \&:
 <point> <end of record>
+.It
+.Li <form ref record> ::=
+.Qq f
+<form tag>
+.Qq \&:
+<point> <end of record>
 .El
 .Pp
 .\" .Sx underline, .Dq double quotes, .Pq enclosed in parenthesis
@@ -308,7 +348,22 @@
 .Sh USAGE
 .Pp
 The <current record> is used to compute the visible size of hbox's.
-The byte offset is an implicit anchor to navigate the synctex file from sheet to sheet.
+The byte offset is an implicit anchor to navigate the synctex file from sheet to sheet. The second coordinate of
+a compressed point has been replaced by a
+.Qq =
+character which means that it is the second coordinate of the
+last full point available above.
+.Sh SEE ALSO 
+.\" List links in ascending order by section, alphabetically within a section.
+.\" Please do not reference files that do not exist without filing a bug report
+.Xr synctex 1
+.Xr tex 1
+.Sh AUTHOR
+The Synchronize TeXnology is essentially due to Jerome Laurens,
+with useful suggestions by some well known actors of the TeX world.
+.\" .Sh BUGS              \" Document known, unremedied bugs 
+.Sh HISTORY           \" Document history if command behaves in a unique manner
+This document has been updated on Sat Apr 22 09:57:20 UTC 2017 to include \\pdfxform support.
 .\" nroff -man synctex.5 | less
 .\"groff -man -Tascii synctex.5 | less
 .\"To convert a man page to plain pre-formatted text (e.g for spell checking) use:

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-ep-mem.ch0
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-ep-mem.ch0	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-ep-mem.ch0	2017-11-01 17:53:02 UTC (rev 778)
@@ -19,7 +19,7 @@
 @z
 
 @x tex.web l. 24956
-@* \[54/p\TeX] System-dependent changes for p\TeX.
+@* \[54/\pTeX] System-dependent changes for \pTeX.
 @y
 @* \[54] System-dependent changes.
 @z

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-ep-mem.ch1
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-ep-mem.ch1	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-ep-mem.ch1	2017-11-01 17:53:02 UTC (rev 778)
@@ -19,5 +19,5 @@
 @x tex.web l. 24956
 @* \[54] System-dependent changes.
 @y
-@* \[54/p\TeX] System-dependent changes for p\TeX.
+@* \[54/\pTeX] System-dependent changes for \pTeX.
 @z

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-luatex.h
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-luatex.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-luatex.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -82,3 +82,6 @@
 /*   New LuaTeX (0.87.0) or later */
 #define glue_node 12
 #define kern_node 13
+
+#   define SYNCTEX_PRE_NL ""
+#   define SYNCTEX_POST_NL "\n"

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-p-mem.ch0
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-p-mem.ch0	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-p-mem.ch0	2017-11-01 17:53:02 UTC (rev 778)
@@ -19,7 +19,7 @@
 @z
 
 @x tex.web l. 24956
-@* \[55/p\TeX] System-dependent changes for p\TeX.
+@* \[55/\pTeX] System-dependent changes for \pTeX.
 @y
 @* \[54] System-dependent changes.
 @z

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-p-mem.ch1
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-p-mem.ch1	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-p-mem.ch1	2017-11-01 17:53:02 UTC (rev 778)
@@ -19,5 +19,5 @@
 @x tex.web l. 24956
 @* \[54] System-dependent changes.
 @y
-@* \[55/p\TeX] System-dependent changes for p\TeX.
+@* \[55/\pTeX] System-dependent changes for \pTeX.
 @z

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-pdf-rec.ch2
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-pdf-rec.ch2	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-pdf-rec.ch2	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,8 +1,9 @@
-Copyright (c) 2008, 2009 jerome DOT laurens AT u-bourgogne DOT fr
+Copyright (c) 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr
 
 This file is part of the SyncTeX package.
 
-Latest Revision: Wed Jul  1 11:17:45 UTC 2009
+Version 1
+Latest Revision: Sat Apr 22 10:07:05 UTC 2017
 
 License:
 --------
@@ -42,14 +43,17 @@
 If you include or use a significant part of the synctex package into a software,
 I would appreciate to be listed as contributor and see "SyncTeX" highlighted.
 
-Version 1
-Latest Revision: Wed Jul  1 08:11:50 UTC 2009
-
 History:
 --------
 
+- the synctex hooks are changed to encapsulate Ship box |p| out
 - if the pdf file is removed, the synctex file is removed too.
 
+ at x pdftex.web l.14550
+@ @<Output the non-|char_node| |p| for |hlist_out|...@>=
+ at y
+@ @<Output the non-|char_node| |p| for |hlist_out|...@>=
+ at z
 @x
 margin_kern_node,
 kern_node: begin
@@ -58,13 +62,13 @@
 kern_node: begin
 @z
 
- at x
+ at x pdftex.web l.18491
 procedure pdf_hlist_out; {output an |hlist_node| box}
 @y
 procedure pdf_hlist_out; {output an |hlist_node| box}
 @z
 
- at x pdftex.web l.18367
+ at x pdftex.web l.18519
 while p<>null do
     @<Output node |p| for |pdf_hlist_out| and move to the next node,
     maintaining the condition |cur_v=base_line|@>;
@@ -76,13 +80,13 @@
 @<Finish hlist {\sl Sync\TeX} information record@>;
 @z
 
- at x
+ at x pdftex.web l.18533
 @ @<Output node |p| for |pdf_hlist_out|...@>=
 @y
 @ @<Output node |p| for |pdf_hlist_out|...@>=
 @z
 
- at x pdftex.web l.18382
+ at x pdftex.web l.18544
   until not is_char_node(p);
 @y
   until not is_char_node(p);
@@ -95,7 +99,7 @@
 @ @<Output the non-|char_node| |p| for |pdf_hlist_out|...@>=
 @z
 
- at x
+ at x pdftex.web l.18557
 margin_kern_node,
 kern_node:cur_h:=cur_h+width(p);
 @y
@@ -115,7 +119,7 @@
 end;
 @z
 
- at x pdftex.web l.18411
+ at x pdftex.web l.18566
 move_past: cur_h:=cur_h+rule_wd;
 @y
 move_past: begin
@@ -146,7 +150,7 @@
 @p procedure pdf_vlist_out; {output a |pdf_vlist_node| box}
 @z
 
- at x pdftex.web l.18521
+ at x pdftex.web l.18670
 left_edge:=cur_h; cur_v:=cur_v-height(this_box); top_edge:=cur_v;
 @y
 left_edge:=cur_h;
@@ -154,7 +158,7 @@
 cur_v:=cur_v-height(this_box); top_edge:=cur_v;
 @z
 
- at x pdftex.web l.18523
+ at x pdftex.web l.18673
 while p<>null do
     @<Output node |p| for |pdf_vlist_out| and move to the next node,
     maintaining the condition |cur_h=left_edge|@>;
@@ -165,7 +169,7 @@
 @<Finish vlist {\sl Sync\TeX} information record@>;
 @z
 
- at x pdftex.web l.18557
+ at x pdftex.web l.18706
 @ @<(\pdfTeX) Output a box in a vlist@>=
 if list_ptr(p)=null then cur_v:=cur_v+height(p)+depth(p)
 @y
@@ -177,29 +181,15 @@
 end
 @z
 
- at x
- at p procedure pdf_ship_out(p: pointer; shipping_page: boolean); {output the box |p|}
+ at x pdftex.web l.18879
+@<(\pdfTeX) Ship box |p| out@>;
 @y
- at p procedure pdf_ship_out(p: pointer; shipping_page: boolean); {output the box |p|}
+pdf_output_value:=pdf_output; {{\sl Sync\TeX}: we assume that |pdf_output| is properly set up}
+if shipping_page then synctex_sheet(mag) @+else synctex_pdfxform(p);
+@<(\pdfTeX) Ship box |p| out@>;
+if shipping_page then synctex_teehs @+else synctex_mrofxfdp;
 @z
 
- at x pdftex.web l.18680
-pdf_last_resources: integer; {pointer to most recently generated Resources object}
- at y
-pdf_last_resources: integer; {pointer to most recently generated Resources object}
-begin @<Start sheet {\sl Sync\TeX} information record@>;
- at z
-
- at x pdftex.web l.18699
-@<Flush the box from memory, showing statistics if requested@>;
-end;
- at y
-@<Flush the box from memory, showing statistics if requested@>;
-end;
-@<Finish sheet {\sl Sync\TeX} information record@>;
-end;
- at z
-
 @x
 procedure close_files_and_terminate;
 @y
@@ -206,7 +196,7 @@
 procedure close_files_and_terminate;
 @z
 
- at x
+ at x pdftex.web l.33072
         remove_pdffile;
 @y
         remove_pdffile;
@@ -213,9 +203,11 @@
 		synctex_abort(log_opened);
 @z
 
- at x
-synctex_sheet(mag);
+ at x pdftex.web l.36224
+procedure out_form(p: pointer);
+begin
 @y
-pdf_output_value:=pdf_output; {{\sl Sync\TeX}: we assume that |pdf_output| is properly set up}
-synctex_sheet(mag);
+procedure out_form(p: pointer);
+begin
+  synctexpdfrefxform(pdf_xform_objnum(p));
 @z

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-pdftex.h
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-pdftex.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-pdftex.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,9 +1,10 @@
 /* 
-Copyright (c) 2008, 2009, 2010, 2011 jerome DOT laurens AT u-bourgogne DOT fr
+Copyright (c) 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr
 
 This file is part of the SyncTeX package.
 
-Latest Revision: Fri Apr 15 19:10:57 UTC 2011
+Version 1
+Latest Revision: Sat Apr 22 10:07:05 UTC 2017
 
 License:
 --------
@@ -43,16 +44,29 @@
 If you include or use a significant part of the synctex package into a software,
 I would appreciate to be listed as contributor and see "SyncTeX" highlighted.
 
-Version 1
-Thu Jun 19 09:39:21 UTC 2008
-
 */
 
 #    include "pdftexd.h"
 
-/*   We observe pdfoutputvalue in order to determine whether output mode is
- *   pdf or dvi.
- *   We will assume that pdf_output_value equals pdf_output before entering
- *   the synctex_sheet function below, in the including synctex.c file.  */
-#    define SYNCTEX_OFFSET_IS_PDF (pdfoutputvalue>0)
-#    define SYNCTEX_OUTPUT ((pdfoutputvalue>0)?"pdf":"dvi")
+/*  We observe pdfoutputvalue in order to determine whether output mode is
+ *  pdf or dvi.
+ *  We will assume that pdf_output_value equals pdf_output      entering
+ *  the synctex_sheet function below, in the including synctex.c file.
+ */
+#   define SYNCTEX_OFFSET_IS_PDF (pdfoutputvalue>0)
+#   define SYNCTEX_OUTPUT ((pdfoutputvalue>0)?"pdf":"dvi")
+
+/*  Adding support for pdf forms
+ */
+#   define SYNCTEX_SUPPORT_PDF_FORM (1)
+#   define SYNCTEX_PDF_CUR_FORM (pdfcurform)
+
+/*  these messages should be sent to record information
+ *  for a form node (\pdfrefxform).
+ *  No engine discrimination.
+ */
+extern void synctexpdfxform(halfword p);
+extern void synctexmrofxfdp();
+extern void synctexpdfrefxform(int objnum);
+
+#define SYNCTEX_interaction interaction

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-rec.ch0
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-rec.ch0	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-rec.ch0	2017-11-01 17:53:02 UTC (rev 778)
@@ -407,8 +407,8 @@
 sync_line(r+box_node_size):=sync_line(p+box_node_size);
 
 @ @<Copy the rule {\sl Sync\TeX} information@>=
-{sync_tag(r+rule_node_size):=sync_tag(p+rule_node_size);
-sync_line(r+rule_node_size):=sync_line(p+rule_node_size);}
+{|sync_tag(r+rule_node_size):=sync_tag(p+rule_node_size);|
+|sync_line(r+rule_node_size):=sync_line(p+rule_node_size);|}
 
 @ @<Copy the medium sized node {\sl Sync\TeX} information@>=
 sync_tag(r+medium_node_size):=sync_tag(p+medium_node_size);

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex-tex.h
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex-tex.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex-tex.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -49,3 +49,4 @@
 */
 
 #include "texd.h"
+#define SYNCTEX_interaction interaction

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex.c
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex.c	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex.c	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,9 +1,10 @@
 /* 
- Copyright (c) 2008, 2009, 2010, 2011 jerome DOT laurens AT u-bourgogne DOT fr
+ Copyright (c) 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr
  
  This file is part of the SyncTeX package.
  
- Latest Revision: Fri Apr 15 19:10:57 UTC 2011
+ Version 1
+ Latest Revision: Tue Apr 25 14:46:32 UTC 2017
  
  License:
  --------
@@ -109,7 +110,7 @@
  is producing the expected file named <my file.synctex>, (the '<' and '>' are not part of the name)
  whereas running the command line
  pdftex --synctex=-1 "my file.tex"
- was producing the unexpected file named <"my file".synctex> where the two '"' chracters were part of the name.
+ was producing the unexpected file named <"my file".synctex> where the two '"' characters were part of the name.
  Of course, that was breaking the typesetting mechanism when pdftex was involved.
  To solve this problem, we prefer to rely on the output_file_name instead of the jobname.
  In the case when no output_file_name is available, we use jobname and test if the file name
@@ -118,7 +119,7 @@
  There is some conditional coding.
  
  Version 1
- Latest Revision: Wed Jul  1 08:15:44 UTC 2009
+ Latest Revision: Sat Apr 22 09:10:30 UTC 2017
  
  */
 
@@ -338,6 +339,10 @@
 
 #   include "synctex.h"
 
+#   if !defined(SYNCTEX_SUPPORT_PDF_FORM)
+#       define SYNCTEX_SUPPORT_PDF_FORM 0
+#   endif
+
 #   define SYNCTEX_YES (1)
 #   define SYNCTEX_NO  (0)
 #   define SYNCTEX_NO_ERROR  (0)
@@ -394,9 +399,14 @@
     integer curh, curv;         /*  current point  */
     integer magnification;      /*  The magnification as given by \mag */
     integer unit;               /*  The unit, defaults to 1, use 8192 to produce shorter but less accurate info */
-    integer total_length;       /*  The total length of the bytes written since the last check point  */
+    integer total_length;       /*  The total length of the bytes written since    the last check point  */
+    integer options;            /* unsigned options */
+    integer lastv;              /* compression trick if
+                                 |synctex_options&4|>0.  */
+    integer form_depth;        /*  pdf forms are an example of nested sheets */
     struct _flags {
         unsigned int option_read:1; /*  Command line option read (in case of problem or at the end) */
+        unsigned int content_ready:1; /*  Command line option read (in case of problem or at the end) */
         unsigned int off:1;         /*  Definitely turn off synctex, corresponds to cli option -synctex=0 */
         unsigned int no_gz:1;       /*  Whether zlib is used or not */
         unsigned int not_void:1;    /*  Whether it really contains synchronization material */
@@ -403,12 +413,13 @@
         unsigned int warn:1;        /*  One shot warning flag */
         unsigned int quoted:1;      /*  Whether the input file name was quoted by tex or not, for example "\"my input file.tex\"", unused by XeTeX */
         unsigned int output_p:1;    /*  Whether the output_directory is used */
-        unsigned int reserved:SYNCTEX_BITS_PER_BYTE*sizeof(int)-7; /* Align */
+        unsigned int reserved:SYNCTEX_BITS_PER_BYTE*sizeof(int)-8; /* Align */
     } flags;
 } synctex_ctxt = {
-    NULL, NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, 0, 0, 0, {0,0,0,0,0,0,0,0}};
+    NULL, NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, {0,0,0,0,0,0,0,0,0}}; /* last_v_recorded is initialized to -1. */
 
 #   define SYNCTEX_FILE synctex_ctxt.file
+#   define SYNCTEX_CONTENT_READY (synctex_ctxt.flags.content_ready)
 #   define SYNCTEX_IS_OFF (synctex_ctxt.flags.off)
 #   define SYNCTEX_NO_GZ (synctex_ctxt.flags.no_gz)
 #   define SYNCTEX_NOT_VOID (synctex_ctxt.flags.not_void)
@@ -415,13 +426,22 @@
 #   define SYNCTEX_WARNING_DISABLE (synctex_ctxt.flags.warn)
 #   define SYNCTEX_fprintf (*synctex_ctxt.fprintf)
 
-/*  Initialize the options, synchronize the variables.
- *  This is sent by *tex.web before any TeX macro is used.
- *  */
-void synctexinitcommand(void)
-{
+#   define SYNCTEX_IS_READY (synctex_ctxt.flags.ready)
+
+#   define SYNCTEX_NO_GZ_AUX_NAME\
+    (SYNCTEX_NO_GZ||((synctex_ctxt.options)&2)!=0)
+#   define SYNCTEX_WITH_FORMS (((synctex_ctxt.options)&4)!=0)
+#   define SYNCTEX_H_COMPRESS (((synctex_ctxt.options)&8)!=0)
+
+static inline void _synctex_read_command_line_option(void) {
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: _synctex_read_command_line_option\n");
+#   endif
     /*  This is a one shot function, any subsequent call is void */
     if (synctex_ctxt.flags.option_read) {
+#   if SYNCTEX_DEBUG
+        printf("\nSynchronize DEBUG: skipped\n");
+#   endif
         return;
     }
     if (SYNCTEX_NO_OPTION == synctex_options) {
@@ -429,7 +449,7 @@
         SYNCTEX_VALUE = 0;
     } else if (synctex_options == 0) {
         /*  -synctex=0 was given: SyncTeX must be definitely disabled,
-         *  any subsequent \synctex=1 will have no effect at all */
+         *  any subsequent \synctex=N will have no effect at all */
         SYNCTEX_IS_OFF = SYNCTEX_YES;
         SYNCTEX_VALUE = 0;
     } else {
@@ -436,7 +456,12 @@
         /*  the command line options are not ignored  */
         if (synctex_options < 0) {
             SYNCTEX_NO_GZ = SYNCTEX_YES;
+            synctex_ctxt.options = -synctex_options;
+        } else {
+            SYNCTEX_NO_GZ = SYNCTEX_NO;
+            synctex_ctxt.options =  synctex_options;
         }
+        synctex_options|=1; /* Do it when positive */
         /*  Initialize the content of the \synctex primitive */
         SYNCTEX_VALUE = synctex_options;
     }
@@ -443,6 +468,17 @@
     synctex_ctxt.flags.option_read = SYNCTEX_YES;
     return;
 }
+/*  Initialize the options, synchronize the variables.
+ *  This is sent by *tex.web before any TeX macro is used.
+ *  */
+void synctexinitcommand(void)
+{
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctexinitcommand\n");
+#   endif
+    _synctex_read_command_line_option();
+    return;
+}
 
 /*  Free all memory used, close and remove the file if any,
  *  It is sent locally when there is a problem with synctex output.
@@ -551,6 +587,7 @@
  *  plus 1 for the control but the overall benefits are not so clear.
  *  For example foo-i.synctex would contain input synchronization
  *  information for page i alone.
+ *  Options given through \synctex=Number are managed here too.
  */
 static void *synctex_dot_open(void)
 {
@@ -558,7 +595,7 @@
 #   if SYNCTEX_DEBUG
     printf("\nwarning: Synchronize DEBUG: synctex_dot_open\n");
     printf("\nwarning: SYNCTEX_VALUE=%0X\n", SYNCTEX_VALUE);
-    printf("\nwarning: synctex_options=%0X\n", synctex_options);
+    printf("\nwarning: synctex_options=%0X\n", synctex_ctxt.options);
 #   endif
     if (SYNCTEX_IS_OFF || !SYNCTEX_VALUE) {
         return NULL;            /*  synchronization is disabled: do nothing  */
@@ -566,6 +603,7 @@
     if (SYNCTEX_FILE) {
         return SYNCTEX_FILE;    /*  synchronization is already enabled  */
     }
+    _synctex_read_command_line_option();
 #   if SYNCTEX_DEBUG
     printf("\nwarning: Synchronize DEBUG: synctex_dot_open 1\n");
 #   endif
@@ -579,12 +617,11 @@
         if (len>0) {
             /*  jobname was set by the \jobname command on the *TeX side  */
             char *the_busy_name = xmalloc((size_t)
-                                          ( len
-                                           + strlen(synctex_suffix)
-                                           + strlen(synctex_suffix_gz)
-                                           + strlen(synctex_suffix_busy)
-                                           + 1
-                                           + (output_directory?strlen(output_directory) + strlen(DIR_SEP_STRING):0)));
+                ( len
+                 + strlen(synctex_suffix)
+                 + strlen(synctex_suffix_busy)
+                 + 1
+                 + (output_directory?strlen(output_directory) + strlen(DIR_SEP_STRING):0)));
             if (!the_busy_name) {
                 SYNCTEX_FREE(tmp);
                 tmp = NULL;
@@ -620,10 +657,6 @@
             tmp = NULL;
             strcat(the_busy_name, synctex_suffix);
             /*  Initialize SYNCTEX_NO_GZ with the content of \synctex to let the user choose the format. */
-            SYNCTEX_NO_GZ = SYNCTEX_VALUE < 0 ? SYNCTEX_YES : SYNCTEX_NO;
-            if (!SYNCTEX_NO_GZ) {
-                strcat(the_busy_name, synctex_suffix_gz);
-            }
             strcat(the_busy_name, synctex_suffix_busy);
             if (SYNCTEX_NO_GZ) {
                 SYNCTEX_FILE = fopen(the_busy_name, FOPEN_W_MODE);
@@ -680,6 +713,37 @@
     return SYNCTEX_FILE;
 }
 
+static inline int synctex_record_content(void);
+static inline int synctex_record_settings(void);
+
+/**
+ *  synctex_record_settings must be called very late,
+ *  only once there is an opportunity to know whether
+ *  in pdf or dvi mode.
+ */
+static void * synctex_prepare_content(void)
+{
+#   if SYNCTEX_DEBUG
+    printf("\nwarning: Synchronize DEBUG: synctex_prepare_content\n");
+    printf("\nwarning: SYNCTEX_VALUE=%0X\n", SYNCTEX_VALUE);
+    printf("\nwarning: synctex_options=%0X\n", synctex_ctxt.options);
+#   endif
+    if (SYNCTEX_CONTENT_READY) {
+        return SYNCTEX_FILE;
+    }
+    if ((NULL != synctex_dot_open())
+        && (SYNCTEX_NO_ERROR == synctex_record_settings())
+        && (SYNCTEX_NO_ERROR == synctex_record_content())) {
+        SYNCTEX_CONTENT_READY = SYNCTEX_YES;
+#       if SYNCTEX_DEBUG
+            printf("\nwarning: DONE");
+#       endif
+        return SYNCTEX_FILE;
+    }
+    synctexabort(0);
+    return NULL;
+}
+
 /*  Each time TeX opens a file, it sends a synctexstartinput message and enters
  *  this function.  Here, a new synchronization tag is created and stored in
  *  the synctex_tag_field of the TeX current input context.  Each synchronized
@@ -702,12 +766,14 @@
 {
     static unsigned int synctex_tag_counter = 0;
     
+    _synctex_read_command_line_option();
+
     SYNCTEX_RETURN_IF_DISABLED;
 #   if SYNCTEX_DEBUG
     printf("\nwarning: Synchronize DEBUG: synctexstartinput %i",
            synctex_tag_counter);
     printf("\nwarning: SYNCTEX_VALUE=%i", SYNCTEX_VALUE);
-    printf("\nwarning: synctex_options=%0X", synctex_options);
+    printf("\nwarning: synctex_options=%0X\n", synctex_ctxt.options);
 #   endif
 
     if (SYNCTEX_IS_OFF) {
@@ -749,7 +815,7 @@
         return;
     }
     if (SYNCTEX_FILE
-        || (SYNCTEX_NO_ERROR != synctex_dot_open())) {
+        || (NULL != synctex_dot_open())) {
 #ifdef W32UPTEXSYNCTEX
         char *tmpb = SYNCTEX_GET_CURRENT_NAME();
         char *tmp = chgto_oem(tmpb);
@@ -757,7 +823,10 @@
 #else
         char *tmp = SYNCTEX_GET_CURRENT_NAME();
 #endif
-        /* Always record the input, even if SYNCTEX_VALUE is 0 */
+        /*  Always record the input, even if SYNCTEX_VALUE is 0.
+         *  It may happen when \synctex=0 was given temporarily
+         *  in the source file.
+         */
         synctex_record_input(SYNCTEX_CURRENT_TAG,tmp);
         SYNCTEX_FREE(tmp);
     }
@@ -798,9 +867,11 @@
 #   endif
     if (log_opened && (tmp = SYNCTEX_GET_LOG_NAME())) {
         /* In version 1, the jobname was used but it caused problems regarding spaces in file names. */
-        the_real_syncname = xmalloc((unsigned)
-                                    (strlen(tmp) + strlen(synctex_suffix) +
-                                     strlen(synctex_suffix_gz) + 1));
+        the_real_syncname =
+        xmalloc((unsigned)(strlen(tmp)
+                           + strlen(synctex_suffix)
+                           + strlen(synctex_suffix_gz)
+                           + 1));
         if (!the_real_syncname) {
             SYNCTEX_FREE(tmp);
             synctexabort(0);
@@ -822,7 +893,9 @@
         if (!SYNCTEX_NO_GZ) {
             /*  Remove any uncompressed synctex file, from a previous build. */
             remove(the_real_syncname);
-            strcat(the_real_syncname, synctex_suffix_gz);
+            if (!SYNCTEX_NO_GZ_AUX_NAME) {
+                strcat(the_real_syncname, synctex_suffix_gz);
+            }
         }
         /* allways remove the synctex output file before renaming it, windows requires it. */
         if (0 != remove(the_real_syncname) && errno == EACCES) {
@@ -849,17 +922,35 @@
                             tmp += strlen(output_directory) + strlen(DIR_SEP_STRING);
                         }
 #                       endif
+#ifndef SYNCTEX_interaction
+#   define SYNCTEX_interaction 1
+#endif
+                        if (SYNCTEX_interaction>0) {
 #ifdef W32UPTEXSYNCTEX
                         {
                         char *stmp = chgto_oem(tmp);
-                        printf((synctex_ctxt.flags.quoted ? "\nSyncTeX written on \"%s\"" : "\nSyncTeX written on %s."),
+                        printf((synctex_ctxt.flags.quoted ? "SyncTeX written on \"%s\"\n" : "\nSyncTeX written on %s.\n"),
                                stmp);
                         free(stmp);
                         }
 #else
-                        printf((synctex_ctxt.flags.quoted ? "\nSyncTeX written on \"%s\"" : "\nSyncTeX written on %s."),
+#ifndef SYNCTEX_PRE_NL
+#   define SYNCTEX_PRE_NL "\n"
+#endif
+#ifndef SYNCTEX_POST_NL
+#   define SYNCTEX_POST_NL ""
+#endif
+                        printf((synctex_ctxt.flags.quoted ?
+                                SYNCTEX_PRE_NL
+                                "SyncTeX written on \"%s\""
+                                SYNCTEX_POST_NL :
+                                SYNCTEX_PRE_NL
+                                "SyncTeX written on %s."
+                                SYNCTEX_POST_NL
+                                ),
                                tmp);
 #endif
+                        }
                         tmp = NULL;
                     }
                 } else {
@@ -878,7 +969,7 @@
                 remove(synctex_ctxt.busy_name);
             }
         }
-        if (SYNCTEX_NO_GZ) {
+        if (SYNCTEX_NO_GZ || SYNCTEX_NO_GZ_AUX_NAME) {
             /*  Remove any compressed synctex file, from a previous build. */
             strcat(the_real_syncname, synctex_suffix_gz);
             remove(the_real_syncname);
@@ -889,8 +980,10 @@
          We just try to remove existing synctex output files
          including the busy one. */
         the_real_syncname = xmalloc((size_t)
-                                    (len + strlen(synctex_suffix)
-                                     + strlen(synctex_suffix_gz) + 1));
+                                    (len
+                                     + strlen(synctex_suffix)
+                                     + strlen(synctex_suffix_gz)
+                                     + 1));
         if (!the_real_syncname) {
             SYNCTEX_FREE(tmp);
             synctexabort(0);
@@ -935,8 +1028,6 @@
     synctexabort(0);
 }
 
-static inline int synctex_record_content(void);
-static inline int synctex_record_settings(void);
 static inline int synctex_record_sheet(integer sheet);
 
 /*  Recording the "{..." line.  In *tex.web, use synctex_sheet(pdf_output) at
@@ -956,8 +1047,7 @@
         }
         return;
     }
-    if (SYNCTEX_FILE
-        || (SYNCTEX_VALUE && (SYNCTEX_NO_ERROR != synctex_dot_open()))) {
+    if (NULL != synctex_prepare_content()) {
         /*  First possibility: the .synctex file is already open because SyncTeX was activated on the CLI
          *  or it was activated with the \synctex macro and the first page is already shipped out.
          *  Second possibility: tries to open the .synctex, useful if synchronization was enabled
@@ -967,11 +1057,6 @@
             if (mag > 0) {
                 synctex_ctxt.magnification = mag;
             }
-            if (SYNCTEX_NO_ERROR != synctex_record_settings()
-                || SYNCTEX_NO_ERROR != synctex_record_content()) {
-                synctexabort(0);
-                return;
-            }
         }
         synctex_record_sheet(SYNCTEX_GET_TOTAL_PAGES()+1);
     }
@@ -981,6 +1066,7 @@
     return;
 }
 
+static inline int synctex_record_anchor(void);
 static inline int synctex_record_teehs(integer sheet);
 
 /*  Recording the "}..." line.  In *tex.web, use synctex_teehs at
@@ -1002,8 +1088,218 @@
     return;
 }
 
-static inline void synctex_record_vlist(halfword p);
+/*  The SYNCTEX_IGNORE macro is used to detect unproperly initialized nodes.  See
+ *  details in the implementation of the functions below.  */
+#   define SYNCTEX_IGNORE(NODE) SYNCTEX_IS_OFF || !SYNCTEX_VALUE || !SYNCTEX_FILE || (synctex_ctxt.form_depth>0 && !SYNCTEX_WITH_FORMS)
+#define SYNCTEX_RECORD_LEN_OR_RETURN_ERR do {\
+    if (len > 0) {\
+        synctex_ctxt.total_length += len;\
+        ++synctex_ctxt.count;\
+    } else {\
+        return -1;\
+    } } while(false)
+#define SYNCTEX_RECORD_LEN_AND_RETURN_NOERR do {\
+    if (len > 0) {\
+        synctex_ctxt.total_length += len;\
+        ++synctex_ctxt.count;\
+        return SYNCTEX_NOERR;\
+    } } while(false)
 
+/*  Recording a "}..." or a ">" line  */
+static inline int synctex_record_teehs(integer sheet)
+{
+#   if SYNCTEX_DEBUG > 999
+    printf("\nSynchronize DEBUG: synctex_record_teehs\n");
+#   endif
+    if (SYNCTEX_NOERR == synctex_record_anchor()) {
+        int len = SYNCTEX_fprintf(SYNCTEX_FILE, "}%i\n", sheet);
+        SYNCTEX_RECORD_LEN_AND_RETURN_NOERR;
+    }
+    synctexabort(0);
+    return -1;
+}
+
+#   define SYNCTEX_CTXT_CURH \
+(synctex_ctxt.curh)
+#   define SYNCTEX_CTXT_CURV \
+(synctex_ctxt.curv)
+#   define SYNCTEX_SHOULD_COMPRESS_V \
+SYNCTEX_H_COMPRESS && (synctex_ctxt.lastv == SYNCTEX_CTXT_CURV)
+
+#if SYNCTEX_SUPPORT_PDF_FORM
+
+static inline int synctex_record_pdfxform(halfword form);
+
+/*  glue code, this message is sent whenever a pdf form will ship out
+ See pdftex.web: procedure out_form(p: pointer);  */
+void synctexpdfxform(halfword p)
+{
+    SYNCTEX_RETURN_IF_DISABLED;
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctexpdfxform\n");
+#   endif
+    if (SYNCTEX_IS_OFF) {
+        if (SYNCTEX_VALUE && !SYNCTEX_WARNING_DISABLE) {
+            SYNCTEX_WARNING_DISABLE = SYNCTEX_YES;
+            printf
+            ("\nSyncTeX warning: Synchronization was disabled from\nthe command line with -synctex=0\nChanging the value of \\synctex has no effect.");
+        }
+        return;
+    }
+    if (NULL != synctex_prepare_content()) {
+        synctex_record_pdfxform(p);
+    }
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctexpdfxform END\n");
+#   endif
+    return;
+}
+
+static inline int synctex_record_mrofxfdp(void);
+
+/*  glue code, this message is sent whenever a pdf form did ship out  */
+void synctexmrofxfdp(void)
+{
+    SYNCTEX_RETURN_IF_DISABLED;
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctexmrofxfdp\n");
+#   endif
+    if (SYNCTEX_FILE) {
+        synctex_record_mrofxfdp();
+    }
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctexmrofxfdp END\n");
+#   endif
+    return;
+}
+
+static inline int synctex_record_node_pdfrefxform(int formout);
+
+/*  glue code, this message is sent whenever a pdf form ref will ship out
+ See pdftex.web: procedure out_form(p: pointer);  */
+void synctexpdfrefxform(int objnum)
+{
+    SYNCTEX_RETURN_IF_DISABLED;
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctexpdfrefxform\n");
+#   endif
+    if (SYNCTEX_FILE) {
+        synctex_record_node_pdfrefxform(objnum);
+    }
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctexpdfrefxform END\n");
+#   endif
+    return;
+}
+
+/*  Recording a "<..." line  */
+static inline int synctex_record_pdfxform(halfword form)
+{
+    SYNCTEX_RETURN_IF_DISABLED;
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctex_record_pdfxform\n");
+#   endif
+    if (SYNCTEX_IGNORE(nothing)) {
+        return SYNCTEX_NO_ERROR;
+    } else {
+        ++synctex_ctxt.form_depth;
+        if (SYNCTEX_WITH_FORMS) {
+            int len = SYNCTEX_fprintf(SYNCTEX_FILE, "<%i\n",
+                                  SYNCTEX_PDF_CUR_FORM);
+            SYNCTEX_RECORD_LEN_AND_RETURN_NOERR;
+        } else {
+            return SYNCTEX_NO_ERROR;
+        }
+    }
+    synctexabort(0);
+    return -1;
+}
+
+/*  Recording a ">" line  */
+static inline int synctex_record_mrofxfdp(void)
+{
+#   if SYNCTEX_DEBUG > 999
+    printf("\nSynchronize DEBUG: synctex_record_mrofxfpd\n");
+#   endif
+    if (SYNCTEX_NOERR == synctex_record_anchor()) {
+        --synctex_ctxt.form_depth;
+        if (SYNCTEX_WITH_FORMS) {
+            int len = SYNCTEX_fprintf(SYNCTEX_FILE, ">\n",
+                                  SYNCTEX_PDF_CUR_FORM);
+            SYNCTEX_RECORD_LEN_AND_RETURN_NOERR;
+        } else {
+            return SYNCTEX_NO_ERROR;
+        }
+    }
+    synctexabort(0);
+    return -1;
+}
+
+/*  Recording a "f..." line  */
+static inline int synctex_record_node_pdfrefxform(int objnum)//UNUSED form JL
+{
+    SYNCTEX_RETURN_IF_DISABLED;
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: synctex_record_node_pdfrefxform\n");
+#   endif
+    synctex_ctxt.curh = SYNCTEX_CURH;
+    synctex_ctxt.curv = SYNCTEX_CURV;
+    if (SYNCTEX_IGNORE(nothing)) {
+        return SYNCTEX_NO_ERROR;
+    } else if (synctex_ctxt.form_depth>0 && !SYNCTEX_WITH_FORMS) {
+        return SYNCTEX_NO_ERROR;
+    } else {
+        int len = 0;
+        if (SYNCTEX_SHOULD_COMPRESS_V) {
+            len = SYNCTEX_fprintf(SYNCTEX_FILE, "f%i:%i,=\n",
+                                  objnum,
+                                  SYNCTEX_CURH UNIT);
+        } else {
+            len = SYNCTEX_fprintf(SYNCTEX_FILE, "f%i:%i,%i\n",
+                                  objnum,
+                                  SYNCTEX_CURH UNIT,
+                                  SYNCTEX_CURV UNIT);
+            synctex_ctxt.lastv = SYNCTEX_CURV;
+        }
+        SYNCTEX_RECORD_LEN_AND_RETURN_NOERR;
+    }
+    synctexabort(0);
+    return -1;
+}
+#else
+/*  DO NOTHING functions.
+    Any engine will have these functions, even when not using pdf xforms.
+    One shoud be able to replace these void implementaions with an alternation in the header file.
+ */
+void synctexpdfxform(halfword p)
+{
+    SYNCTEX_RETURN_IF_DISABLED;
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: DO NOTHING synctexpdfxform\n");
+#   endif
+    return;
+}
+void synctexmrofxfdp(void)
+{
+    SYNCTEX_RETURN_IF_DISABLED;
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: DO NOTHING synctexmrofxfdp END\n");
+#   endif
+    return;
+}
+void synctexpdfrefxform(int objnum)
+{
+    SYNCTEX_RETURN_IF_DISABLED;
+#   if SYNCTEX_DEBUG
+    printf("\nSynchronize DEBUG: DO NOTHING synctexpdfrefxform\n");
+#   endif
+    return;
+}
+#endif
+/*#if SYNCTEX_SUPPORT_PDF_FORM*/
+
+static inline void synctex_record_node_vlist(halfword p);
+
 /*  When an hlist ships out, it can contain many different kern/glue nodes with
  *  exactly the same sync tag and line.  To reduce the size of the .synctex
  *  file, we only display a kern node sync info when either the sync tag or the
@@ -1012,16 +1308,12 @@
  *  consecutive nodes, as far as possible.  This tricky part uses a "recorder",
  *  which is the address of the routine that knows how to write the
  *  synchronization info to the .synctex file.  It also uses criteria to detect
- *  a change in the context, this is the macro SYNCTEX_???_CONTEXT_DID_CHANGE. The
- *  SYNCTEX_IGNORE macro is used to detect unproperly initialized nodes.  See
- *  details in the implementation of the functions below.  */
-#   define SYNCTEX_IGNORE(NODE) SYNCTEX_IS_OFF || !SYNCTEX_VALUE || !SYNCTEX_FILE
+ *  a change in the context, this is the macro SYNCTEX_???_CONTEXT_DID_CHANGE.*/
 
-
 /*  This message is sent when a vlist will be shipped out, more precisely at
  *  the beginning of the vlist_out procedure in *TeX.web.  It will be balanced
  *  by a synctex_tsilv, sent at the end of the vlist_out procedure.  p is the
- *  address of the vlist We assume that p is really a vlist node! */
+ *  address of the vlist. We assume that p is really a vlist node! */
 void synctexvlist(halfword this_box)
 {
     SYNCTEX_RETURN_IF_DISABLED;
@@ -1037,10 +1329,10 @@
     synctex_ctxt.line = SYNCTEX_LINE_MODEL(this_box,box);
     synctex_ctxt.curh = SYNCTEX_CURH;
     synctex_ctxt.curv = SYNCTEX_CURV;
-    synctex_record_vlist(this_box);
+    synctex_record_node_vlist(this_box);
 }
 
-static inline void synctex_record_tsilv(halfword p);
+static inline void synctex_record_node_tsilv(halfword p);
 
 /*  Recording a "f" line ending a vbox: this message is sent whenever a vlist
  *  has been shipped out. It is used to close the vlist nesting level. It is
@@ -1062,10 +1354,10 @@
     synctex_ctxt.curh = SYNCTEX_CURH;
     synctex_ctxt.curv = SYNCTEX_CURV;
     synctex_ctxt.recorder = NULL;
-    synctex_record_tsilv(this_box);
+    synctex_record_node_tsilv(this_box);
 }
 
-static inline void synctex_record_void_vlist(halfword p);
+static inline void synctex_record_node_void_vlist(halfword p);
 
 /*  This message is sent when a void vlist will be shipped out.
  *  There is no need to balance a void vlist.  */
@@ -1084,7 +1376,7 @@
     synctex_ctxt.curh = SYNCTEX_CURH;
     synctex_ctxt.curv = SYNCTEX_CURV;
     synctex_ctxt.recorder = NULL;   /*  reset  */
-    synctex_record_void_vlist(p);
+    synctex_record_node_void_vlist(p);
 }
 
 static inline void synctex_record_hlist(halfword p);
@@ -1111,7 +1403,7 @@
     synctex_record_hlist(this_box);
 }
 
-static inline void synctex_record_tsilh(halfword p);
+static inline void synctex_record_node_tsilh(halfword p);
 
 /*  Recording a ")" line ending an hbox this message is sent whenever an hlist
  *  has been shipped out it is used to close the hlist nesting level. It is
@@ -1133,10 +1425,10 @@
     synctex_ctxt.curh = SYNCTEX_CURH;
     synctex_ctxt.curv = SYNCTEX_CURV;
     synctex_ctxt.recorder = NULL;   /*  reset  */
-    synctex_record_tsilh(this_box);
+    synctex_record_node_tsilh(this_box);
 }
 
-static inline void synctex_record_void_hlist(halfword p);
+static inline void synctex_record_node_void_hlist(halfword p);
 
 /*  This message is sent when a void hlist will be shipped out.
  *  There is no need to balance a void hlist.  */
@@ -1160,11 +1452,12 @@
     synctex_ctxt.curh = SYNCTEX_CURH;
     synctex_ctxt.curv = SYNCTEX_CURV;
     synctex_ctxt.recorder = NULL;   /*  reset  */
-    synctex_record_void_hlist(p);
+    synctex_record_node_void_hlist(p);
 }
 
 /* With LuaTeX we have to consider other node sizes than medium ones */
 #   define SYNCTEX_IGNORE_NODE(NODE,TYPE) SYNCTEX_IS_OFF || !SYNCTEX_VALUE \
+|| (synctex_ctxt.form_depth>0 && !SYNCTEX_WITH_FORMS) \
 || (0 >= SYNCTEX_TAG_MODEL(NODE,TYPE)) \
 || (0 >= SYNCTEX_LINE_MODEL(NODE,TYPE))
 /*  This macro will detect a change in the synchronization context.  As long as
@@ -1175,7 +1468,7 @@
 || (SYNCTEX_TAG_MODEL(NODE,TYPE) != synctex_ctxt.tag)\
 || (SYNCTEX_LINE_MODEL(NODE,TYPE) != synctex_ctxt.line))
 
-void synctex_math_recorder(halfword p);
+void synctex_record_node_math(halfword p);
 
 /*  glue code, this message is sent whenever an inline math node will ship out
  See: @ @<Output the non-|char_node| |p| for...  */
@@ -1198,12 +1491,12 @@
     synctex_ctxt.curh = SYNCTEX_CURH;
     synctex_ctxt.curv = SYNCTEX_CURV;
     synctex_ctxt.recorder = NULL;/*  no need to record once more  */
-    synctex_math_recorder(p);/*  always record synchronously  */
+    synctex_record_node_math(p);/*  always record synchronously  */
 }
 
-static inline void synctex_record_glue(halfword p);
-static inline void synctex_record_kern(halfword p);
-static inline void synctex_record_rule(halfword p);
+static inline void synctex_record_node_glue(halfword p);
+static inline void synctex_record_node_rule(halfword p);
+static inline void synctex_record_node_kern(halfword p);
 
 /*  this message is sent whenever an horizontal glue node or rule node ships out
  See: move_past:...    */
@@ -1216,7 +1509,7 @@
 {
     SYNCTEX_RETURN_IF_DISABLED;
 #   if SYNCTEX_DEBUG
-    printf("\nSynchronize DEBUG: synctexglue\n");
+    printf("\nSynchronize DEBUG: synctexhorizontalruleorglue\n");
 #   endif
     switch (SYNCTEX_TYPE(p)) {
         case rule_node:
@@ -1245,17 +1538,17 @@
         case rule_node:
             synctex_ctxt.tag = SYNCTEX_TAG_MODEL(p,rule);
             synctex_ctxt.line = SYNCTEX_LINE_MODEL(p,rule);
-            synctex_record_rule(p); /*  always record synchronously: maybe some text is outside the box  */
+            synctex_record_node_rule(p); /*  always record synchronously: maybe some text is outside the box  */
             break;
         case glue_node:
             synctex_ctxt.tag = SYNCTEX_TAG_MODEL(p,glue);
             synctex_ctxt.line = SYNCTEX_LINE_MODEL(p,glue);
-            synctex_record_glue(p); /*  always record synchronously: maybe some text is outside the box  */
+            synctex_record_node_glue(p); /*  always record synchronously: maybe some text is outside the box  */
             break;
         case kern_node:
             synctex_ctxt.tag = SYNCTEX_TAG_MODEL(p,kern);
             synctex_ctxt.line = SYNCTEX_LINE_MODEL(p,kern);
-            synctex_record_kern(p); /*  always record synchronously: maybe some text is outside the box  */
+            synctex_record_node_kern(p); /*  always record synchronously: maybe some text is outside the box  */
             break;
         default:
             printf("\nSynchronize ERROR: unknown node type %i\n", SYNCTEX_TYPE(p));
@@ -1262,8 +1555,6 @@
     }
 }
 
-void synctex_kern_recorder(halfword p);
-
 /*  this message is sent whenever a kern node ships out
  See: @ @<Output the non-|char_node| |p| for...    */
 void synctexkern(halfword p, halfword this_box)
@@ -1286,7 +1577,7 @@
             synctex_ctxt.node = p;
             synctex_ctxt.tag = SYNCTEX_TAG_MODEL(p,kern);
             synctex_ctxt.line = SYNCTEX_LINE_MODEL(p,kern);
-            synctex_ctxt.recorder = &synctex_kern_recorder;
+            synctex_ctxt.recorder = &synctex_record_node_kern;
         } else {
             synctex_ctxt.node = p;
             synctex_ctxt.tag = SYNCTEX_TAG_MODEL(p,kern);
@@ -1294,7 +1585,7 @@
             synctex_ctxt.recorder = NULL;
             /*  always record when the context has just changed
              *  and when not the first node  */
-            synctex_kern_recorder(p);
+            synctex_record_node_kern(p);
         }
     } else {
         /*  just update the geometry and type (for future improvements)  */
@@ -1301,7 +1592,7 @@
         synctex_ctxt.node = p;
         synctex_ctxt.tag = SYNCTEX_TAG_MODEL(p,kern);
         synctex_ctxt.line = SYNCTEX_LINE_MODEL(p,kern);
-        synctex_ctxt.recorder = &synctex_kern_recorder;
+        synctex_ctxt.recorder = &synctex_record_node_kern;
     }
 }
 
@@ -1311,7 +1602,7 @@
 #   define SYNCTEX_IGNORE(NODE) SYNCTEX_IS_OFF || !SYNCTEX_VALUE || !SYNCTEX_FILE \
 || (synctex_ctxt.count>2000)
 
-void synctex_char_recorder(halfword p);
+void synctex_record_node_char(halfword p);
 
 /*  this message is sent whenever a char node ships out    */
 void synctexchar(halfword p, halfword this_box __attribute__ ((unused)))
@@ -1332,10 +1623,10 @@
     synctex_ctxt.line = 0;
     synctex_ctxt.recorder = NULL;
     /*  always record when the context has just changed  */
-    synctex_char_recorder(p);
+    synctex_record_node_char(p);
 }
 
-void synctex_node_recorder(halfword p);
+void synctex_record_node_unknown(halfword p);
 
 #   undef SYNCTEX_IGNORE
 #   define SYNCTEX_IGNORE(NODE) (SYNCTEX_IS_OFF || !SYNCTEX_VALUE || !SYNCTEX_FILE)
@@ -1352,7 +1643,7 @@
         return;
     }
     /*  always record, not very usefull yet  */
-    synctex_node_recorder(p);
+    synctex_record_node_unknown(p);
 }
 
 /*  this message should be sent to record information
@@ -1366,9 +1657,18 @@
     if (SYNCTEX_IGNORE(nothing)) {
         return;
     } else {
-        int len = SYNCTEX_fprintf(SYNCTEX_FILE, "x%i,%i:%i,%i\n",
+        int len = 0;
+        if (SYNCTEX_SHOULD_COMPRESS_V) {
+            len = SYNCTEX_fprintf(SYNCTEX_FILE, "x%i,%i:%i,=\n",
                                   synctex_ctxt.tag,synctex_ctxt.line,
-                                  SYNCTEX_CURH UNIT,SYNCTEX_CURV UNIT);
+                                  SYNCTEX_CURH UNIT);
+        } else {
+            len = SYNCTEX_fprintf(SYNCTEX_FILE, "x%i,%i:%i,%i\n",
+                                  synctex_ctxt.tag,synctex_ctxt.line,
+                                  SYNCTEX_CURH UNIT,
+                                  SYNCTEX_CURV UNIT);
+            synctex_ctxt.lastv = SYNCTEX_CURV;
+        }
         if (len > 0) {
             synctex_ctxt.total_length += len;
             return;
@@ -1409,7 +1709,9 @@
     printf("\nSynchronize DEBUG: synctex_record_preamble\n");
 #   endif
     len =
-    SYNCTEX_fprintf(SYNCTEX_FILE, "SyncTeX Version:%i\n", SYNCTEX_VERSION);
+    SYNCTEX_fprintf(SYNCTEX_FILE, "SyncTeX Version:%i\n",
+                    synctex_ctxt.options>SYNCTEX_VERSION?
+                    synctex_ctxt.options:SYNCTEX_VERSION);
     if (len > 0) {
         synctex_ctxt.total_length = len;
         return SYNCTEX_NOERR;
@@ -1440,8 +1742,13 @@
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
     printf("\nSynchronize DEBUG: synctex_record_anchor\n");
+    printf("\nSYNCTEX_FILE:%p\n",SYNCTEX_FILE);
+    printf("\ntotal_length:%i\n",synctex_ctxt.total_length);
 #   endif
     len = SYNCTEX_fprintf(SYNCTEX_FILE, "!%i\n", synctex_ctxt.total_length);
+#   if SYNCTEX_DEBUG > 999
+    printf("\nSynchronize DEBUG: synctex_record_anchor 1\n");
+#   endif
     if (len > 0) {
         synctex_ctxt.total_length = len;
         ++synctex_ctxt.count;
@@ -1475,116 +1782,121 @@
 #   endif
     if (SYNCTEX_NOERR == synctex_record_anchor()) {
         int len = SYNCTEX_fprintf(SYNCTEX_FILE, "{%i\n", sheet);
-        if (len > 0) {
-            synctex_ctxt.total_length += len;
-            ++synctex_ctxt.count;
-            return SYNCTEX_NOERR;
-        }
+        SYNCTEX_RECORD_LEN_AND_RETURN_NOERR;
     }
     synctexabort(0);
     return -1;
 }
 
-/*  Recording a "}..." line  */
-static inline int synctex_record_teehs(integer sheet)
-{
-#   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_record_teehs\n");
-#   endif
-    if (SYNCTEX_NOERR == synctex_record_anchor()) {
-        int len = SYNCTEX_fprintf(SYNCTEX_FILE, "}%i\n", sheet);
-        if (len > 0) {
-            synctex_ctxt.total_length += len;
-            ++synctex_ctxt.count;
-            return SYNCTEX_NOERR;
-        }
-    }
-    synctexabort(0);
-    return -1;
-}
-
 /*  Recording a "v..." line  */
-static inline void synctex_record_void_vlist(halfword p)
+static inline void synctex_record_node_void_vlist(halfword p)
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_record_void_vlist\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_void_vlist\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "v%i,%i:%i,%i:%i,%i,%i\n",
-                          SYNCTEX_TAG_MODEL(p,box),
-                          SYNCTEX_LINE_MODEL(p,box),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT,
-                          SYNCTEX_WIDTH(p) UNIT,
-                          SYNCTEX_HEIGHT(p) UNIT,
-                          SYNCTEX_DEPTH(p) UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
-    }
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "v%i,%i:%i,=:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,box),
+                              SYNCTEX_LINE_MODEL(p,box),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_WIDTH(p) UNIT,
+                              SYNCTEX_HEIGHT(p) UNIT,
+                              SYNCTEX_DEPTH(p) UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "v%i,%i:%i,%i:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,box),
+                              SYNCTEX_LINE_MODEL(p,box),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT,
+                              SYNCTEX_WIDTH(p) UNIT,
+                              SYNCTEX_HEIGHT(p) UNIT,
+                              SYNCTEX_DEPTH(p) UNIT);
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
+   }
+#   define SYNCTEX_RECORD_LEN_AND_RETURN do {\
+    if (len > 0) {\
+        synctex_ctxt.total_length += len;\
+        ++synctex_ctxt.count;\
+        return;\
+    } } while(false)
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
 /*  Recording a "[..." line  */
-static inline void synctex_record_vlist(halfword p)
+static inline void synctex_record_node_vlist(halfword p)
 {
     int len = 0;
     SYNCTEX_NOT_VOID = SYNCTEX_YES;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_record_vlist\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_vlist\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "[%i,%i:%i,%i:%i,%i,%i\n",
-                          SYNCTEX_TAG_MODEL(p,box),
-                          SYNCTEX_LINE_MODEL(p,box),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT,
-                          SYNCTEX_WIDTH(p) UNIT,
-                          SYNCTEX_HEIGHT(p) UNIT,
-                          SYNCTEX_DEPTH(p) UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "[%i,%i:%i,=:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,box),
+                              SYNCTEX_LINE_MODEL(p,box),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_WIDTH(p) UNIT,
+                              SYNCTEX_HEIGHT(p) UNIT,
+                              SYNCTEX_DEPTH(p) UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "[%i,%i:%i,%i:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,box),
+                              SYNCTEX_LINE_MODEL(p,box),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT,
+                              SYNCTEX_WIDTH(p) UNIT,
+                              SYNCTEX_HEIGHT(p) UNIT,
+                              SYNCTEX_DEPTH(p) UNIT);
+       synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
 /*  Recording a "]..." line  */
-static inline void synctex_record_tsilv(halfword p __attribute__ ((unused)))
+static inline void synctex_record_node_tsilv(halfword p __attribute__ ((unused)))
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_record_tsilv\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_tsilv\n");
 #   endif
     len = SYNCTEX_fprintf(SYNCTEX_FILE, "]\n");
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        return;
-    }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
 /*  Recording a "h..." line  */
-static inline void synctex_record_void_hlist(halfword p)
+static inline void synctex_record_node_void_hlist(halfword p)
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_record_void_hlist\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_void_hlist\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "h%i,%i:%i,%i:%i,%i,%i\n",
-                          SYNCTEX_TAG_MODEL(p,box),
-                          SYNCTEX_LINE_MODEL(p,box),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT,
-                          SYNCTEX_WIDTH(p) UNIT,
-                          SYNCTEX_HEIGHT(p) UNIT,
-                          SYNCTEX_DEPTH(p) UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "h%i,%i:%i,=:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,box),
+                              SYNCTEX_LINE_MODEL(p,box),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_WIDTH(p) UNIT,
+                              SYNCTEX_HEIGHT(p) UNIT,
+                              SYNCTEX_DEPTH(p) UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "h%i,%i:%i,%i:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,box),
+                              SYNCTEX_LINE_MODEL(p,box),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT,
+                              SYNCTEX_WIDTH(p) UNIT,
+                              SYNCTEX_HEIGHT(p) UNIT,
+                              SYNCTEX_DEPTH(p) UNIT);
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
@@ -1597,35 +1909,39 @@
 #   if SYNCTEX_DEBUG > 999
     printf("\nSynchronize DEBUG: synctex_record_hlist\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "(%i,%i:%i,%i:%i,%i,%i\n",
-                          SYNCTEX_TAG_MODEL(p,box),
-                          SYNCTEX_LINE_MODEL(p,box),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT,
-                          SYNCTEX_WIDTH(p) UNIT,
-                          SYNCTEX_HEIGHT(p) UNIT,
-                          SYNCTEX_DEPTH(p) UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "(%i,%i:%i,=:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,box),
+                              SYNCTEX_LINE_MODEL(p,box),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_WIDTH(p) UNIT,
+                              SYNCTEX_HEIGHT(p) UNIT,
+                              SYNCTEX_DEPTH(p) UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "(%i,%i:%i,%i:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,box),
+                              SYNCTEX_LINE_MODEL(p,box),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT,
+                              SYNCTEX_WIDTH(p) UNIT,
+                              SYNCTEX_HEIGHT(p) UNIT,
+                              SYNCTEX_DEPTH(p) UNIT);
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
 /*  Recording a ")..." line  */
-static inline void synctex_record_tsilh(halfword p __attribute__ ((unused)))
+static inline void synctex_record_node_tsilh(halfword p __attribute__ ((unused)))
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_record_tsilh\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_tsilh\n");
 #   endif
     len = SYNCTEX_fprintf(SYNCTEX_FILE, ")\n");
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
-    }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
@@ -1671,141 +1987,149 @@
 }
 
 /*  Recording a "g..." line  */
-static inline void synctex_record_glue(halfword p)
+static inline void synctex_record_node_glue(halfword p)
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_glue_recorder\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_glue\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "g%i,%i:%i,%i\n",
-                          SYNCTEX_TAG_MODEL(p,glue),
-                          SYNCTEX_LINE_MODEL(p,glue),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "g%i,%i:%i,=\n",
+                              SYNCTEX_TAG_MODEL(p,glue),
+                              SYNCTEX_LINE_MODEL(p,glue),
+                              SYNCTEX_CTXT_CURH UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "g%i,%i:%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,glue),
+                              SYNCTEX_LINE_MODEL(p,glue),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT);
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
 /*  Recording a "k..." line  */
-static inline void synctex_record_kern(halfword p)
+static inline void synctex_record_node_kern(halfword p)
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_kern_recorder\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_kern\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "k%i,%i:%i,%i:%i\n",
-                          SYNCTEX_TAG_MODEL(p,glue),
-                          SYNCTEX_LINE_MODEL(p,glue),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT,
-                          SYNCTEX_WIDTH(p) UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "k%i,%i:%i,=:%i\n",
+                              SYNCTEX_TAG_MODEL(p,glue),
+                              SYNCTEX_LINE_MODEL(p,glue),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_WIDTH(p) UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "k%i,%i:%i,%i:%i\n",
+                              SYNCTEX_TAG_MODEL(p,glue),
+                              SYNCTEX_LINE_MODEL(p,glue),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT,
+                              SYNCTEX_WIDTH(p) UNIT);
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
 /*  Recording a "r..." line  */
-static inline void synctex_record_rule(halfword p)
+static inline void synctex_record_node_rule(halfword p)
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_record_tsilh\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_tsilh\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "r%i,%i:%i,%i:%i,%i,%i\n",
-                          SYNCTEX_TAG_MODEL(p,rule),
-                          SYNCTEX_LINE_MODEL(p,rule),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT,
-                          SYNCTEX_RULE_WD UNIT, SYNCTEX_RULE_HT UNIT, SYNCTEX_RULE_DP UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "r%i,%i:%i,=:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,rule),
+                              SYNCTEX_LINE_MODEL(p,rule),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_RULE_WD UNIT, SYNCTEX_RULE_HT UNIT, SYNCTEX_RULE_DP UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "r%i,%i:%i,%i:%i,%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p,rule),
+                              SYNCTEX_LINE_MODEL(p,rule),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT,
+                              SYNCTEX_RULE_WD UNIT, SYNCTEX_RULE_HT UNIT, SYNCTEX_RULE_DP UNIT);
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
 /*  Recording a "$..." line  */
-void synctex_math_recorder(halfword p)
+void synctex_record_node_math(halfword p)
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_math_recorder\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_math\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "$%i,%i:%i,%i\n",
-                          SYNCTEX_TAG_MODEL(p, math),
-                          SYNCTEX_LINE_MODEL(p, math),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "$%i,%i:%i,=\n",
+                              SYNCTEX_TAG_MODEL(p, math),
+                              SYNCTEX_LINE_MODEL(p, math),
+                              SYNCTEX_CTXT_CURH UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "$%i,%i:%i,%i\n",
+                              SYNCTEX_TAG_MODEL(p, math),
+                              SYNCTEX_LINE_MODEL(p, math),
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT);
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
-/*  Recording a "k..." line  */
-void synctex_kern_recorder(halfword p)
-{
-    int len = 0;
-#   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_kern_recorder\n");
-#   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "k%i,%i:%i,%i:%i\n",
-                          SYNCTEX_TAG_MODEL(p, kern),
-                          SYNCTEX_LINE_MODEL(p, kern),
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT,
-                          SYNCTEX_WIDTH(p) UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
-    }
-    synctexabort(0);
-    return;
-}
-
 /*  Recording a "c..." line  */
-void synctex_char_recorder(halfword p __attribute__ ((unused)))
+void synctex_record_node_char(halfword p __attribute__ ((unused)))
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_char_recorder\n");
+    printf("\nSynchronize DEBUG: synctex_record_node_char\n");
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "c%i,%i\n",
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT);
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "c%i,=\n",
+                              SYNCTEX_CTXT_CURH UNIT);
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "c%i,%i\n",
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT);
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }
 
 /*  Recording a "?..." line, type, subtype and position  */
-void synctex_node_recorder(halfword p)
+void synctex_record_node_unknown(halfword p)
 {
     int len = 0;
 #   if SYNCTEX_DEBUG > 999
-    printf("\nSynchronize DEBUG: synctex_node_recorder(0x%x)\n", p);
+    printf("\nSynchronize DEBUG: synctex_record_node_unknown(0x%x)\n", p);
 #   endif
-    len = SYNCTEX_fprintf(SYNCTEX_FILE, "?%i,%i:%i,%i\n",
-                          synctex_ctxt.curh UNIT, synctex_ctxt.curv UNIT,
-                          SYNCTEX_TYPE(p), SYNCTEX_SUBTYPE(p));
-    if (len > 0) {
-        synctex_ctxt.total_length += len;
-        ++synctex_ctxt.count;
-        return;
+    if (SYNCTEX_SHOULD_COMPRESS_V) {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "?%i,=:%i,%i\n",
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_TYPE(p), SYNCTEX_SUBTYPE(p));
+    } else {
+        len = SYNCTEX_fprintf(SYNCTEX_FILE, "?%i,%i:%i,%i\n",
+                              SYNCTEX_CTXT_CURH UNIT,
+                              SYNCTEX_CTXT_CURV UNIT,
+                              SYNCTEX_TYPE(p), SYNCTEX_SUBTYPE(p));
+        synctex_ctxt.lastv = SYNCTEX_CTXT_CURV;
     }
+    SYNCTEX_RECORD_LEN_AND_RETURN;
     synctexabort(0);
     return;
 }

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex.defines
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex.defines	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex.defines	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,9 +1,10 @@
 {
-Copyright (c) 2008, 2009 jerome DOT laurens AT u-bourgogne DOT fr
+Copyright (c) 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr
 
 This file is part of the SyncTeX package.
 
-Latest Revision: Wed Jul  1 11:18:05 UTC 2009
+Version 1
+Latest Revision: Sat Apr 22 10:07:05 UTC 2017
 
 License:
 --------
@@ -43,9 +44,6 @@
 If you include or use a significant part of the synctex package into a software,
 I would appreciate to be listed as contributor and see "SyncTeX" highlighted.
 
-Version 1
-Latest Revision: Wed Jul  1 08:17:41 UTC 2009
-
 Notice:
 -------
 This file is an interface to the synctex system for web2c.
@@ -74,5 +72,9 @@
 @define procedure synctexcurrent;
 @define procedure synctexhorizontalruleorglue();
 
+ at define procedure synctexpdfxform();
+ at define procedure synctexmrofxfdp;
+ at define procedure synctexpdfrefxform();
+
 { end of synctex.defines }
 { vim: set syntax=web : }

Modified: branches/stable/source/src/texk/web2c/synctexdir/synctex.h
===================================================================
--- branches/stable/source/src/texk/web2c/synctexdir/synctex.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/synctexdir/synctex.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,9 +1,12 @@
 /* synctex.h
 
-Copyright (c) 2008, 2009 jerome DOT laurens AT u-bourgogne DOT fr
+Copyright (c) 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr
 
 This file is part of the SyncTeX package.
 
+Version 1
+Lates Revision: Sat Apr 22 10:07:05 UTC 2017
+
 Permission is hereby granted, free of charge, to any person
 obtaining a copy of this software and associated documentation
 files (the "Software"), to deal in the Software without
@@ -35,9 +38,6 @@
 If you include or use a significant part of the synctex package into a software,
 I would appreciate to be listed as contributor and see "SyncTeX" highlighted.
 
-Version 1
-Latest Revision: Wed Jul  1 08:17:50 UTC 2009
-
 */
 
 #  ifndef __SYNCTEX_HEADER__
@@ -53,14 +53,24 @@
 
 /*  Recording the "{..." line.  In *tex.web, use synctex_sheet(pdf_output) at
  *  the very beginning of the ship_out procedure.
-*/
+ */
 extern void synctexsheet(integer mag);
 
 /*  Recording the "}..." line.  In *tex.web, use synctex_teehs at
  *  the very end of the ship_out procedure.
-*/
+ */
 extern void synctexteehs(void);
 
+/*  Recording the "<..." line.  In pdftex.web, use synctex_pdfxform(p) at
+ *  the very beginning of the pdf_ship_out procedure.
+ */
+extern void synctexpdfxform(halfword p);
+
+/*  Recording the ">" line.  In pdftex.web, use synctex_mrofxfdp at
+ *  the very end of the ship_out procedure.
+ */
+extern void synctexmrofxfdp(void);
+
 /*  This message is sent when a vlist will be shipped out, more precisely at
  *  the beginning of the vlist_out procedure in *TeX.web.  It will be balanced
  *  by a synctex_tsilv, sent at the end of the vlist_out procedure.  p is the
@@ -100,6 +110,10 @@
 /*  Send this message whenever a kern node will ship out. */
 extern void synctexkern(halfword p, halfword this_box);
 
+/*  Recording the "f" line.  In pdftex.web, use synctex_pdfrefxform when \pfdrefxform si used.
+ */
+extern void synctexpdfrefxform(int objnum);
+
 /*  this message is sent whenever a char node ships out    */
 extern void synctexchar(halfword p, halfword this_box);
 

Modified: branches/stable/source/src/texk/web2c/texmfmp-help.h
===================================================================
--- branches/stable/source/src/texk/web2c/texmfmp-help.h	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/texmfmp-help.h	2017-11-01 17:53:02 UTC (rev 778)
@@ -132,7 +132,8 @@
     "                          the DVI file. WHERE is a comma-separated value",
     "                          list: cr display hbox math par parend vbox",
 #if defined(__SyncTeX__)
-    "-synctex=NUMBER         generate SyncTeX data for previewers if nonzero",
+    "-synctex=NUMBER         generate SyncTeX data for previewers according to",
+    "                          bits of NUMBER (`man synctex' for details)",
 #endif
     "-translate-file=TCXNAME use the TCX file TCXNAME",
     "-help                   print this message and exit.",
@@ -192,7 +193,8 @@
     "                          the DVI file. WHERE is a comma-separated value",
     "                          list: cr display hbox math par parend vbox",
 #if defined(__SyncTeX__)
-    "-synctex=NUMBER         generate SyncTeX data for previewers if nonzero",
+    "-synctex=NUMBER         generate SyncTeX data for previewers according to",
+    "                          bits of NUMBER (`man synctex' for details)",
 #endif
     "-translate-file=TCXNAME use the TCX file TCXNAME",
     "-8bit                   make all characters printable by default",
@@ -260,7 +262,8 @@
     "                          the DVI file. WHERE is a comma-separated value",
     "                          list: cr display hbox math par parend vbox",
 #if defined(__SyncTeX__)
-    "-synctex=NUMBER         generate SyncTeX data for previewers if nonzero",
+    "-synctex=NUMBER         generate SyncTeX data for previewers according to",
+    "                          bits of NUMBER (`man synctex' for details)",
 #endif
     "-translate-file=TCXNAME use the TCX file TCXNAME",
     "-help                   print this message and exit.",
@@ -458,7 +461,8 @@
     "                          the DVI file. WHERE is a comma-separated value",
     "                          list: cr display hbox math par parend vbox",
 #if defined(__SyncTeX__)
-    "-synctex=NUMBER         generate SyncTeX data for previewers if nonzero",
+    "-synctex=NUMBER         generate SyncTeX data for previewers according to",
+    "                          bits of NUMBER (`man synctex' for details)",
 #endif
     "-translate-file=TCXNAME use the TCX file TCXNAME",
     "-8bit                   make all characters printable by default",
@@ -527,7 +531,8 @@
     "                          the DVI file. WHERE is a comma-separated value",
     "                          list: cr display hbox math par parend vbox",
 #if defined(__SyncTeX__)
-    "-synctex=NUMBER         generate SyncTeX data for previewers if nonzero",
+    "-synctex=NUMBER         generate SyncTeX data for previewers according to",
+    "                          bits of NUMBER (`man synctex' for details)",
 #endif
     "-translate-file=TCXNAME use the TCX file TCXNAME",
     "-help                   print this message and exit.",
@@ -586,7 +591,8 @@
     "                          the DVI file. WHERE is a comma-separated value",
     "                          list: cr display hbox math par parend vbox",
 #if defined(__SyncTeX__)
-    "-synctex=NUMBER         generate SyncTeX data for previewers if nonzero",
+    "-synctex=NUMBER         generate SyncTeX data for previewers according to",
+    "                          bits of NUMBER (`man synctex' for details)",
 #endif
     "-translate-file=TCXNAME use the TCX file TCXNAME",
     "-8bit                   make all characters printable by default",
@@ -653,7 +659,8 @@
     "                          the DVI file. WHERE is a comma-separated value",
     "                          list: cr display hbox math par parend vbox",
 #if defined(__SyncTeX__)
-    "-synctex=NUMBER         generate SyncTeX data for previewers if nonzero",
+    "-synctex=NUMBER         generate SyncTeX data for previewers according to",
+    "                          bits of NUMBER (`man synctex' for details)",
 #endif
     "-translate-file=TCXNAME use the TCX file TCXNAME",
     "-help                   print this message and exit.",
@@ -710,7 +717,8 @@
     "                          the XDV file. WHERE is a comma-separated value",
     "                          list: cr display hbox math par parend vbox",
 #if defined(__SyncTeX__)
-    "-synctex=NUMBER         generate SyncTeX data for previewers if nonzero",
+    "-synctex=NUMBER         generate SyncTeX data for previewers according to",
+    "                          bits of NUMBER (`man synctex' for details)",
 #endif
     "-translate-file=TCXNAME (ignored)",
     "-8bit                   make all characters printable, don't use ^^X sequences",

Modified: branches/stable/source/src/texk/web2c/web2c/configure
===================================================================
--- branches/stable/source/src/texk/web2c/web2c/configure	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/texk/web2c/web2c/configure	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Web2C Tools 2017/dev.
+# Generated by GNU Autoconf 2.69 for Web2C Tools 2017.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='Web2C Tools'
 PACKAGE_TARNAME='web2c-tools'
-PACKAGE_VERSION='2017/dev'
-PACKAGE_STRING='Web2C Tools 2017/dev'
+PACKAGE_VERSION='2017'
+PACKAGE_STRING='Web2C Tools 2017'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1328,7 +1328,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Web2C Tools 2017/dev to adapt to many kinds of systems.
+\`configure' configures Web2C Tools 2017 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1398,7 +1398,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Web2C Tools 2017/dev:";;
+     short | recursive ) echo "Configuration of Web2C Tools 2017:";;
    esac
   cat <<\_ACEOF
 
@@ -1521,7 +1521,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Web2C Tools configure 2017/dev
+Web2C Tools configure 2017
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2360,7 +2360,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Web2C Tools $as_me 2017/dev, which was
+It was created by Web2C Tools $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -8045,7 +8045,7 @@
 
 # Define the identity of the package.
  PACKAGE='web2c-tools'
- VERSION='2017/dev'
+ VERSION='2017'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14574,7 +14574,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Web2C Tools $as_me 2017/dev, which was
+This file was extended by Web2C Tools $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14640,7 +14640,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Web2C Tools config.status 2017/dev
+Web2C Tools config.status 2017
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: branches/stable/source/src/utils/README
===================================================================
--- branches/stable/source/src/utils/README	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/utils/README	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,4 +1,4 @@
-$Id: README 43422 2017-03-07 18:10:02Z karl $
+$Id: README 43761 2017-04-12 17:31:37Z karl $
 Public domain.  Originally written 2005 by Karl Berry.
 
 Extra utilities we (optionally) compile for TeX Live.
@@ -5,7 +5,7 @@
 See comments in ../texk/README.
 
 
-asymptote 2.40 - checked 7mar17
+asymptote 2.41 - checked 23mar17
   update to TL from CTAN, to include prebuilt doc.
   see http://tug.org/texlive/build.html#asymptote
   and tlpkg/bin/tl-update-asy
@@ -65,34 +65,39 @@
 
 wget=wget  # or "curl -O" or whatever
 
-libsigsegv_ver=libsigsegv-2.10
+libsigsegv_ver=libsigsegv-2.11
 cd $clisp_basedir
 $wget http://ftp.gnu.org/gnu/libsigsegv/$libsigsegv_ver.tar.gz
 gzip -dc $libsigsegv_ver.tar.gz | tar xf -
 cd $libsigsegv_ver
-./configure --prefix=$clisp_toolsdir --disable-shared --enable-static \
+./configure -C --prefix=$clisp_toolsdir --disable-shared --enable-static \
 && make && make check && make install
 #
 # you may need this hack on 64-bit systems
-# if clisp's configure does not find libsigsegv.  Harmless anyway.
+# if clisp's configure does not find libsigsegv.  Harmless to do in any case.
 ln -s lib $clisp_toolsdir/lib64
+#
+# if you can't build libsigsegv, pass --ignore-absence-of-libsigsegv
+# when running configure for clisp.
 
-libiconv_ver=libiconv-1.14
+ffcall_ver=libffcall-1.13-20170225
 cd $clisp_basedir
+$wget http://www.haible.de/bruno/gnu/$ffcall_ver.tar.gz
+gzip -dc $ffcall_ver.tar.gz | tar xf -
+cd $ffcall_ver
+./configure -C --prefix=$clisp_toolsdir --disable-shared --enable-static \
+&& make && make check && make install
+
+# may be able to omit iconv if have new enough in libc or elsewhere.
+libiconv_ver=libiconv-1.15
+cd $clisp_basedir
 $wget http://ftp.gnu.org/gnu/libiconv/$libiconv_ver.tar.gz
 gzip -dc $libiconv_ver.tar.gz | tar xf -
 cd $libiconv_ver
-./configure --prefix=$clisp_toolsdir --disable-shared --enable-static \
+./configure -C --prefix=$clisp_toolsdir \
+  --disable-shared --enable-static --disable-nls \
 && make && make check && make install
 
-ffcall_ver=ffcall-1.10
-cd $clisp_basedir
-$wget http://www.haible.de/bruno/gnu/$ffcall_ver.tar.gz
-gzip -dc $ffcall_ver.tar.gz | tar xf -
-cd $ffcall_ver
-./configure --prefix=$clisp_toolsdir --disable-shared --enable-static \
-&& make && make check && make install
-
 # would probably be ideal to also do a local libtermcap or ncurses,
 # but doesn't seem to be a problem in practice?
 
@@ -99,10 +104,10 @@
 # foil wrong attempts at dynamic linking, etc.
 (cd $clisp_basedir/clisp-tools/lib && rm -f *.dylib *.la)
 
-clisp_ver=clisp-2.49
+clisp_ver=clisp-2.49.50
 cd $clisp_basedir
-$wget http://ftp.gnu.org/gnu/clisp/release/2.49/$clisp_ver.tar.gz
-gzip -dc $clisp_ver.tar.gz | tar xf -
+$wget https://haible.de/bruno/gnu/clisp-2.49.50.tar.bz2
+bunzip2 -dc $clisp_ver.tar.bz2 | tar xf -
 cd $clisp_ver
 
 # On Cygwin:
@@ -111,10 +116,11 @@
 #  modules/syscalls/configure.orig > modules/syscalls/configure
 # On FreeBSD/amd64: add --disable-mmap.
 #
-./configure --without-readline --disable-nls \
+./configure CPPFLAGS=-DUNIX_BINARY_DISTRIB --prefix=$clisp_toolsdir \
+  --without-readline --without-dynamic-modules --without-termcap-ncurses \
+  --disable-nls --enable-portability \
   --with-libsigsegv-prefix=$clisp_toolsdir \
+  --with-libffcall-prefix=$clisp_toolsdir \
   --with-libiconv-prefix=$clisp_toolsdir \
-  --with-libffcall-prefix=$clisp_toolsdir \
   $clisp_builddir \
-&& cd $clisp_builddir \
-&& make
+&& (cd $clisp_builddir && make)

Modified: branches/stable/source/src/utils/configure
===================================================================
--- branches/stable/source/src/utils/configure	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/utils/configure	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for TeX Live utils 2017/dev.
+# Generated by GNU Autoconf 2.69 for TeX Live utils 2017.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='TeX Live utils'
 PACKAGE_TARNAME='tex-live-utils'
-PACKAGE_VERSION='2017/dev'
-PACKAGE_STRING='TeX Live utils 2017/dev'
+PACKAGE_VERSION='2017'
+PACKAGE_STRING='TeX Live utils 2017'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1394,7 +1394,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures TeX Live utils 2017/dev to adapt to many kinds of systems.
+\`configure' configures TeX Live utils 2017 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1464,7 +1464,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of TeX Live utils 2017/dev:";;
+     short | recursive ) echo "Configuration of TeX Live utils 2017:";;
    esac
   cat <<\_ACEOF
 
@@ -1753,7 +1753,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-TeX Live utils configure 2017/dev
+TeX Live utils configure 2017
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1854,7 +1854,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by TeX Live utils $as_me 2017/dev, which was
+It was created by TeX Live utils $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3836,7 +3836,6 @@
 test "x$enable_web2c:$enable_luatex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_lua52=yes
@@ -3855,7 +3854,6 @@
 test "x$enable_web2c:$enable_luajittex" = xyes:yes && {
   need_poppler=yes
   need_mpfr=yes
-  need_cairo=yes
   need_libpng=yes
   need_zziplib=yes
   need_luajit=yes
@@ -6063,7 +6061,7 @@
 
 # Define the identity of the package.
  PACKAGE='tex-live-utils'
- VERSION='2017/dev'
+ VERSION='2017'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6398,174 +6396,54 @@
 $as_echo_n "checking for Utils programs to build... " >&6; }
 CONF_SUBDIRS=
 MAKE_SUBDIRS=
-if test -x $srcdir/autosp/configure; then
-  test "x$enable_autosp" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS autosp"
+if test -x $srcdir/autosp/configure && test "x$enable_autosp" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS autosp"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS autosp"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/devnag/configure; then
-  test "x$enable_devnag" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS devnag"
+if test -x $srcdir/devnag/configure && test "x$enable_devnag" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS devnag"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS devnag"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/lacheck/configure; then
-  test "x$enable_lacheck" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS lacheck"
+if test -x $srcdir/lacheck/configure && test "x$enable_lacheck" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS lacheck"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS lacheck"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/m-tx/configure; then
-  test "x$enable_m_tx" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS m-tx"
+if test -x $srcdir/m-tx/configure && test "x$enable_m_tx" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS m-tx"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS m-tx"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/pmx/configure; then
-  test "x$enable_pmx" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS pmx"
+if test -x $srcdir/pmx/configure && test "x$enable_pmx" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS pmx"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS pmx"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/ps2eps/configure; then
-  test "x$enable_ps2eps" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS ps2eps"
+if test -x $srcdir/ps2eps/configure && test "x$enable_ps2eps" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS ps2eps"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS ps2eps"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/t1utils/configure; then
-  test "x$enable_t1utils" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS t1utils"
+if test -x $srcdir/t1utils/configure && test "x$enable_t1utils" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS t1utils"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS t1utils"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/texdoctk/configure; then
-  test "x$enable_texdoctk" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS texdoctk"
+if test -x $srcdir/texdoctk/configure && test "x$enable_texdoctk" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS texdoctk"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS texdoctk"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/tpic2pdftex/configure; then
-  test "x$enable_tpic2pdftex" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS tpic2pdftex"
+if test -x $srcdir/tpic2pdftex/configure && test "x$enable_tpic2pdftex" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS tpic2pdftex"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS tpic2pdftex"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/vlna/configure; then
-  test "x$enable_vlna" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS vlna"
+if test -x $srcdir/vlna/configure && test "x$enable_vlna" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS vlna"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS vlna"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/xindy/configure; then
-  test "x$enable_xindy" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS xindy"
+if test -x $srcdir/xindy/configure && test "x$enable_xindy" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS xindy"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS xindy"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
-if test -x $srcdir/xpdfopen/configure; then
-  test "x$enable_xpdfopen" = xyes && MAKE_SUBDIRS="$MAKE_SUBDIRS xpdfopen"
+if test -x $srcdir/xpdfopen/configure && test "x$enable_xpdfopen" = xyes; then
   CONF_SUBDIRS="$CONF_SUBDIRS xpdfopen"
+  MAKE_SUBDIRS="$MAKE_SUBDIRS xpdfopen"
 fi
-#
-#old if test -x $srcdir/Kpse_Pkg/configure; then
-#old   test "x$enable_[]Kpse_pkg" = xyes && Kpse_add([MAKE_SUBDIRS])
-#old   Kpse_add([CONF_SUBDIRS])
-#old fi
-#
-#new if test -x $srcdir/Kpse_Pkg/configure && test "x$enable_[]Kpse_pkg" = xyes; then
-#new   Kpse_add([CONF_SUBDIRS])
-#new   Kpse_add([MAKE_SUBDIRS])
-#new fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_SUBDIRS" >&5
 $as_echo "$MAKE_SUBDIRS" >&6; }
@@ -7143,7 +7021,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by TeX Live utils $as_me 2017/dev, which was
+This file was extended by TeX Live utils $as_me 2017, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7200,7 +7078,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-TeX Live utils config.status 2017/dev
+TeX Live utils config.status 2017
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: branches/stable/source/src/version.ac
===================================================================
--- branches/stable/source/src/version.ac	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/src/version.ac	2017-11-01 17:53:02 UTC (rev 778)
@@ -1,5 +1,5 @@
-dnl $Id: version.ac 41571 2016-06-29 23:09:13Z karl $
-dnl   Copyright 2016 Karl Berry <tex-live at tug.org>
+dnl $Id: version.ac 43542 2017-03-18 22:47:27Z karl $
+dnl   Copyright 2016-2017 Karl Berry <tex-live at tug.org>
 dnl   Copyright 2010-2015 Peter Breitenlohner <tex-live at tug.org>
 dnl
 dnl   This file is free software; the copyright holder
@@ -9,4 +9,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current TeX Live version
-m4_define([tex_live_version], [2017/dev])
+m4_define([tex_live_version], [2017])

Modified: branches/stable/source/sync-pdftex.sh
===================================================================
--- branches/stable/source/sync-pdftex.sh	2017-04-20 23:08:32 UTC (rev 777)
+++ branches/stable/source/sync-pdftex.sh	2017-11-01 17:53:02 UTC (rev 778)
@@ -5,6 +5,7 @@
 
 chicken=true  # do nothing by default
 : ${tldir=/r/tug/home/texlive/karl/Build/source}
+#tldir=/usr/local/texlive/2017/source # sync from release
 
 while test $# -gt 0; do
   if test "x$1" = x--version; then
@@ -32,7 +33,7 @@
 cd "$mydir/src" || exit 1
 
 # use rsync instead of cp so we can get local deletion for free.
-copy="rsync -ari --delete --exclude=.svn --exclude=autom4te.cache"
+copy="rsync -ari --delete --no-p --exclude=.svn --exclude=autom4te.cache"
 if $chicken; then
   copy="$copy -n"
 fi
@@ -42,7 +43,7 @@
   exit 1
 fi
 if test ! -d $tldir/texk; then
-  echo "$0: the TL source directory should have subdir texk, etc." >&2
+  echo "$0: the TL source directory should have subdir texk, etc.: $tldir" >&2
   exit 1
 fi
 



More information about the pdftex-commits mailing list