summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipng/dvipng-src
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvipng/dvipng-src')
-rw-r--r--Build/source/texk/dvipng/dvipng-src/ChangeLog43
-rw-r--r--Build/source/texk/dvipng/dvipng-src/INSTALL12
-rw-r--r--Build/source/texk/dvipng/dvipng-src/RELEASE10
-rw-r--r--Build/source/texk/dvipng/dvipng-src/aclocal.m4498
-rw-r--r--Build/source/texk/dvipng/dvipng-src/config.h.in3
-rw-r--r--Build/source/texk/dvipng/dvipng-src/configure.ac12
-rw-r--r--Build/source/texk/dvipng/dvipng-src/dvipng.131
-rw-r--r--Build/source/texk/dvipng/dvipng-src/dvipng.c4
-rw-r--r--Build/source/texk/dvipng/dvipng-src/dvipng.texi19
-rw-r--r--Build/source/texk/dvipng/dvipng-src/install.texi12
-rw-r--r--Build/source/texk/dvipng/dvipng-src/misc.c69
-rw-r--r--Build/source/texk/dvipng/dvipng-src/special.c9
12 files changed, 400 insertions, 322 deletions
diff --git a/Build/source/texk/dvipng/dvipng-src/ChangeLog b/Build/source/texk/dvipng/dvipng-src/ChangeLog
index a84a110f7d0..c56830ebbf1 100644
--- a/Build/source/texk/dvipng/dvipng-src/ChangeLog
+++ b/Build/source/texk/dvipng/dvipng-src/ChangeLog
@@ -1,14 +1,39 @@
2019-04-06 Jan-Åke Larsson <jan-ake.larsson@liu.se>
- * pk.c (InitPK): check for packet_length reading outside file bounds.
- Report from Andy Nguyen of ETH Zurich.
-
- * tfm.c (ReadTFM): check for reading outside file bounds.
- Report from Andy Nguyen of ETH Zurich.
-
- * dvi.c (DVIGetCommand): check for (unsigned value) overflow
- so we don't fail to realloc buffer if needed.
- Report from Andy Nguyen of ETH Zurich, found using afl-fuzz.
+ Release 1.16
+
+2019-04-06 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Check for a possible integer addition overflow
+ Check bounds for mmap access
+ Update copyright notice
+ Check bounds for mmap access
+ Update copyright notice
+
+2019-02-26 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Add sentence on disabling Freetype for identical output on different platforms.
+ Amend FT2 test, move remaining local scripts to acinclude.m4, regenerate aclocal.m4
+
+2015-03-28 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Add const where needed
+ Don't re-define pipe and snprintf
+ Test for and use texlive_gs_init()
+ Use WIN32 _spawnlp
+ Use char* in debug printout calculations
+ Don't use basename, ignore case, and use correct directory delimiter
+
+2015-03-05 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Change libgd download address
+
+2015-03-02 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Remove datarootdir configure warning, adjust distclean target
+ Remove texi2pod.pl, we only use that for building the man page
+ Remove cvs remnants
+ Adjust distclean target
2015-03-01 Jan-Åke Larsson <jan-ake.larsson@liu.se>
diff --git a/Build/source/texk/dvipng/dvipng-src/INSTALL b/Build/source/texk/dvipng/dvipng-src/INSTALL
index b7f8aebb9fb..0fecfaa2a29 100644
--- a/Build/source/texk/dvipng/dvipng-src/INSTALL
+++ b/Build/source/texk/dvipng/dvipng-src/INSTALL
@@ -10,11 +10,11 @@ Prerequisites
* The GD Graphics Draw library, libgd
The drawing library 'libgd' is necessary, and is downloadable at
- <http://www.boutell.com/gd>, and there are binary packages for most
- operating systems from their respective distributors. In any case,
- the latest version of the library installs using 'autoconf' so it
- should not be difficult for you to install it from source, and then
- proceed with installing dvipng.
+ <https://bitbucket.org/libgd/gd-libgd/downloads>, and there are
+ binary packages for most operating systems from their respective
+ distributors. In any case, the library installs using 'autoconf'
+ so it should not be difficult for you to install it from source,
+ and then proceed with installing dvipng.
* The path-searching library kpathsea
@@ -154,4 +154,4 @@ This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
<http://www.gnu.org/licenses/>.
- Copyright (C) 2002-2015 Jan-AAke Larsson
+ Copyright (C) 2002-2015, 2019 Jan-AAke Larsson
diff --git a/Build/source/texk/dvipng/dvipng-src/RELEASE b/Build/source/texk/dvipng/dvipng-src/RELEASE
index eb8615efed2..78b1de8a930 100644
--- a/Build/source/texk/dvipng/dvipng-src/RELEASE
+++ b/Build/source/texk/dvipng/dvipng-src/RELEASE
@@ -1,14 +1,12 @@
-Release notes for version 1.15 of the dvipng package:
+Release notes for version 1.16 of the dvipng package:
This program makes PNG graphics from DVI files as obtained from TeX
and its relatives.
-This is a bugfix release that removes the unnecessarily long delay in --follow
-mode and a few segfaults on out-of-memory or missing standard-latex files, and
-adds some documentation improvements. It also removes support for libt1, which
-is reportedly not developed anymore, and not needed since Freetype does a much
-better job.
+This is a security release that adds checks for malignant font files.
+It also amends the build process, mostly to adjust for recent FreeType
+versions, and makes a few more small adjustments.
Report any bugs you find, see README for instructions.
diff --git a/Build/source/texk/dvipng/dvipng-src/aclocal.m4 b/Build/source/texk/dvipng/dvipng-src/aclocal.m4
index 0cd4eddf92e..a8189afc3f3 100644
--- a/Build/source/texk/dvipng/dvipng-src/aclocal.m4
+++ b/Build/source/texk/dvipng/dvipng-src/aclocal.m4
@@ -1,7 +1,7 @@
-# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,227 +11,281 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# Configure paths for FreeType2
-# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
-
-dnl AC_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
-dnl
-AC_DEFUN(AC_CHECK_FT2,
-[dnl
-dnl Get the cflags and libraries from the freetype-config script
-dnl
-AC_ARG_WITH(ft-prefix,
-[ --with-ft-prefix=PREFIX
- Prefix where FreeType is installed (optional)],
- ft_config_prefix="$withval", ft_config_prefix="")
-AC_ARG_WITH(ft-exec-prefix,
-[ --with-ft-exec-prefix=PREFIX
- Exec prefix where FreeType is installed (optional)],
- ft_config_exec_prefix="$withval", ft_config_exec_prefix="")
-AC_ARG_ENABLE(freetypetest,
-[ --disable-freetypetest Do not try to compile and run
- a test FreeType program],
- [], enable_fttest=yes)
-
-if test x$ft_config_exec_prefix != x ; then
- ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
- if test x${FT2_CONFIG+set} != xset ; then
- FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
- fi
-fi
-if test x$ft_config_prefix != x ; then
- ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
- if test x${FT2_CONFIG+set} != xset ; then
- FT2_CONFIG=$ft_config_prefix/bin/freetype-config
- fi
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+dnl serial 11 (pkg-config-0.29.1)
+dnl
+dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
-AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])dnl PKG_PROG_PKG_CONFIG
+
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])dnl _PKG_CONFIG
-min_ft_version=ifelse([$1], ,6.1.0,$1)
-AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
-no_ft=""
-if test "$FT2_CONFIG" = "no" ; then
- no_ft=yes
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
- FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
- ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- ft_min_major_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- ft_min_minor_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- ft_min_micro_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- if test x$enable_fttest = xyes ; then
- ft_config_is_lt=""
- if test $ft_config_major_version -lt $ft_min_major_version ; then
- ft_config_is_lt=yes
- else
- if test $ft_config_major_version -eq $ft_min_major_version ; then
- if test $ft_config_minor_version -lt $ft_min_minor_version ; then
- ft_config_is_lt=yes
- else
- if test $ft_config_minor_version -eq $ft_min_minor_version ; then
- if test $ft_config_micro_version -lt $ft_min_micro_version ; then
- ft_config_is_lt=yes
- fi
- fi
+ _pkg_short_errors_supported=no
+fi[]dnl
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
+
+
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
- fi
- fi
- if test x$ft_config_is_lt = xyes ; then
- no_ft=yes
- else
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $FT2_CFLAGS"
- LIBS="$FT2_LIBS $LIBS"
-dnl
-dnl Sanity checks for the results of freetype-config to some extent
-dnl
- AC_TRY_RUN([
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main()
-{
- FT_Library library;
- FT_Error error;
-
- error = FT_Init_FreeType(&library);
-
- if (error)
- return 1;
- else
- {
- FT_Done_FreeType(library);
- return 0;
- }
-}
-],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi # test $ft_config_version -lt $ft_min_version
- fi # test x$enable_fttest = xyes
-fi # test "$FT2_CONFIG" = "no"
-if test x$no_ft = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
else
- AC_MSG_RESULT(no)
- if test "$FT2_CONFIG" = "no" ; then
- echo "*** The freetype-config script installed by FreeType 2 could not be found."
- echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the FT2_CONFIG environment variable to the"
- echo "*** full path to freetype-config."
- else
- if test x$ft_config_is_lt = xyes ; then
- echo "*** Your installed version of the FreeType 2 library is too old."
- echo "*** If you have different versions of FreeType 2, make sure that"
- echo "*** correct values for --with-ft-prefix or --with-ft-exec-prefix"
- echo "*** are used, or set the FT2_CONFIG environment variable to the"
- echo "*** full path to freetype-config."
- else
- echo "*** The FreeType test program failed to run. If your system uses"
- echo "*** shared libraries and they are installed outside the normal"
- echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
- echo "*** (or whatever is appropiate for your system) is correctly set."
- fi
- fi
- FT2_CFLAGS=""
- FT2_LIBS=""
- ifelse([$3], , :, [$3])
-fi
-AC_SUBST(FT2_CFLAGS)
-AC_SUBST(FT2_LIBS)
-])
-
-
-dnl
-dnl MAKEINFO_CHECK_MACRO( MACRO, [ACTION-IF-FOUND
-dnl [, ACTION-IF-NOT-FOUND]])
-dnl
-AC_DEFUN(MAKEINFO_CHECK_MACRO,
-[if test -n "$MAKEINFO" -a "$makeinfo" != ":"; then
- AC_MSG_CHECKING([for @$1{}])
- echo \\\\input texinfo > conftest.texi
- echo @$1{test} >> conftest.texi
- if $MAKEINFO conftest.texi > /dev/null 2> /dev/null; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT(no)
- ifelse([$3], , :, [$3])
- fi
- rm -f conftest.texi conftest.info
-fi
-])
-
-dnl
-dnl MAKEINFO_CHECK_MACROS( MACRO ... [, ACTION-IF-FOUND
-dnl [, ACTION-IF-NOT-FOUND]])
-dnl
-AC_DEFUN(MAKEINFO_CHECK_MACROS,
-[for ac_macro in $1; do
- MAKEINFO_CHECK_MACRO($ac_macro, $2,
- [MAKEINFO_MACROS="-D no-$ac_macro $MAKEINFO_MACROS"
- $3])dnl
- done
-AC_SUBST(MAKEINFO_MACROS)
-])
-
-
-dnl
-dnl Check for enc, cmap, sfd formats
-dnl
-AC_DEFUN(AC_HAS_KPSE_ENC_FORMATS,
- [AC_MSG_CHECKING([for kpse_enc_format])
- AC_TRY_COMPILE([
- #include <stdio.h>
- #include <kpathsea/kpathsea.h>],
- [kpse_enc_format;kpse_cmap_format;kpse_sfd_format],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_KPSE_ENC_FORMATS, 1,
- [Define to 1 if your kpathsea has kpse_enc_format])],
- [AC_MSG_RESULT(no)])])
-
-
-dnl
-dnl Check devices for GS
-dnl AC_GS_HAS_DEVICE(DEVICE,ACTION-IF-FAILED)
-dnl
-AC_DEFUN(AC_GS_HAS_DEVICE,
- [AC_MSG_CHECKING([whether $GS has the $1 device])
- if $GS -h | grep $1 >/dev/null; then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- $2
- fi
-])
-
-dnl
-dnl GS_CHECK_DEVICES
-dnl
-AC_DEFUN(GS_CHECK_DEVICES,
- [GS_WARN=""
- AC_GS_HAS_DEVICE(pngalpha,
- [GS_WARN="Your EPS inclusions will be cropped to the
- boundingbox, and rendered on an opaque background.
- Upgrade GhostScript to avoid this."
- AC_GS_HAS_DEVICE(png16m,
- [GS_WARN="Your EPS inclusions may not work.
- Upgrade/install GhostScript to avoid this."])])
- if test -n "$GS_WARN"; then
- AC_MSG_WARN([$GS_WARN])
- fi
-])
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])dnl PKG_CHECK_MODULES
+
+
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+ [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_INSTALLDIR
+
+
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+ [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_NOARCH_INSTALLDIR
+
+
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])dnl PKG_CHECK_VAR
+
+m4_include([acinclude.m4])
diff --git a/Build/source/texk/dvipng/dvipng-src/config.h.in b/Build/source/texk/dvipng/dvipng-src/config.h.in
index f1475404a96..4994405b5d0 100644
--- a/Build/source/texk/dvipng/dvipng-src/config.h.in
+++ b/Build/source/texk/dvipng/dvipng-src/config.h.in
@@ -150,6 +150,9 @@
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
+/* Define to 1 if you have the `texlive_gs_init' function. */
+#undef HAVE_TEXLIVE_GS_INIT
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/Build/source/texk/dvipng/dvipng-src/configure.ac b/Build/source/texk/dvipng/dvipng-src/configure.ac
index 9b3852cdd5a..bcb86b74016 100644
--- a/Build/source/texk/dvipng/dvipng-src/configure.ac
+++ b/Build/source/texk/dvipng/dvipng-src/configure.ac
@@ -23,7 +23,7 @@
#************************************************************************
# Process this file with autoconf to produce a configure script.
-AC_INIT([dvipng], [1.15], [dvipng@nongnu.org])
+AC_INIT([dvipng], [1.16], [dvipng@nongnu.org])
AC_CONFIG_SRCDIR([dvipng.c])
AC_ARG_ENABLE(debug,
@@ -67,7 +67,8 @@ AC_CHECK_LIB([png], [png_read_image],,
[AC_MSG_ERROR([cannot find/use libpng])])
AC_CHECK_LIB([gd], [gdImageCreate],,
[AC_MSG_ERROR([cannot find/use libgd
-This drawing library can be downloaded at http://www.boutell.com/gd])])
+This drawing library can be downloaded at
+https://bitbucket.org/libgd/gd-libgd/downloads])])
AC_CHECK_LIB([kpathsea], [kpse_set_program_name],,
AC_MSG_ERROR([cannot find/use libkpathsea]))
@@ -78,7 +79,8 @@ AC_CHECK_HEADERS([gd.h png.h kpathsea/kpathsea.h],,
AC_CHECK_HEADERS([libgen.h])
PSFONTS_O=""
AC_SUBST(PSFONTS_O)
-AC_CHECK_FT2(,[CFLAGS="$FT2_CFLAGS $CFLAGS"
+PKG_CHECK_MODULES([FT2], [freetype2 >= 6.1.0],
+ [CFLAGS="$FT2_CFLAGS $CFLAGS"
LIBS="$FT2_LIBS $LIBS"
PSFONTS_O="sfd.o ft.o enc.o fontmap.o tfm.o"
AC_DEFINE(HAVE_FT2, 1, [Define to 1 if you have freetype2])
@@ -122,7 +124,7 @@ AC_FUNC_MMAP
# AC_FUNC_REALLOC
AC_FUNC_STRTOD
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([dup2 memset munmap pow putenv strchr strrchr strtol strstr])
+AC_CHECK_FUNCS([dup2 memset munmap pow putenv strchr strrchr strtol strstr strncasecmp])
if test "$enable_timing" = "yes"; then
AC_CHECK_FUNCS([ftime gettimeofday])
fi
@@ -132,6 +134,7 @@ if test "$ac_cv_func_gdImageGif" = "yes"; then
else
INSTALL_BIN_TARGET="install-dvipng"
fi
+AC_CHECK_FUNCS([texlive_gs_init])
AC_SUBST(INSTALL_BIN_TARGET)
# Documentation-related checks
@@ -212,6 +215,7 @@ AC_MSG_RESULT([
(dvigif): $ac_cv_func_gdImageGif
FreeType font rendering available: $ac_have_freetype2
Support for subfonts (CJK-LaTeX): $ac_have_freetype2
+ Building within TeX Live: $ac_cv_func_texlive_gs_init
])
AC_CONFIG_HEADER([config.h])
diff --git a/Build/source/texk/dvipng/dvipng-src/dvipng.1 b/Build/source/texk/dvipng/dvipng-src/dvipng.1
index be24b6ad2ee..3b4b57c72f5 100644
--- a/Build/source/texk/dvipng/dvipng-src/dvipng.1
+++ b/Build/source/texk/dvipng/dvipng-src/dvipng.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -46,7 +46,7 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
@@ -54,20 +54,16 @@
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
-.nr rF 0
-.if \n(.g .if rF .nr rF 1
-.if (\n(rF:(\n(.g==0)) \{
-. if \nF \{
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
+.if !\nF .nr F 0
+.if \nF>0 \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
..
-. if !\nF==2 \{
-. nr % 0
-. nr F 2
-. \}
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
. \}
.\}
-.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
@@ -133,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "DVIPNG 1"
-.TH DVIPNG 1 "2015-02-23" "dvipng 1.15" "User commands"
+.TH DVIPNG 1 "2019-04-07" "dvipng 1.16" "User commands"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -295,7 +291,10 @@ for rendering the fonts. If you have PostScript versions of Computer
Modern installed, there will be no need to generate bitmapped (\s-1PK\s0)
variants on disk of these. Then, you can render images at different (and
unusual) resolutions without cluttering the disk with lots of bitmapped
-fonts.
+fonts.
+One reason to disable FreeType font rendering would be to generate
+identical output on different platforms, since FreeType uses the native
+renderer and therefore can give slightly different output on each platform.
.IP "\fB\-\-gamma\fR \fInum\fR" 4
.IX Item "--gamma num"
Control the interpolation of colors in the greyscale anti-aliasing
@@ -504,4 +503,4 @@ This program is released under the \s-1GNU\s0 Lesser General Public License
version 3, see the \s-1COPYING\s0 file in the dvipng distribution or
<\fBhttp://www.gnu.org/licenses/gpl.html\fR>.
.PP
-Copyright (c) 2002\-2015 Jan-AAke Larsson
+Copyright (c) 2002\-2015, 2019 Jan-AAke Larsson
diff --git a/Build/source/texk/dvipng/dvipng-src/dvipng.c b/Build/source/texk/dvipng/dvipng-src/dvipng.c
index 43f4791f4f8..fcd4ef62ad4 100644
--- a/Build/source/texk/dvipng/dvipng-src/dvipng.c
+++ b/Build/source/texk/dvipng/dvipng-src/dvipng.c
@@ -79,8 +79,8 @@ int main(int argc, char ** argv)
kpse_set_program_enabled (kpse_pk_format, makeTexPK, kpse_src_compile);
#endif
-#ifdef WIN32
- texlive_gs_init ();
+#ifdef HAVE_TEXLIVE_GS_INIT
+ texlive_gs_init();
#endif
initcolor();
diff --git a/Build/source/texk/dvipng/dvipng-src/dvipng.texi b/Build/source/texk/dvipng/dvipng-src/dvipng.texi
index 16a40ec3a0c..b2f58ce5082 100644
--- a/Build/source/texk/dvipng/dvipng-src/dvipng.texi
+++ b/Build/source/texk/dvipng/dvipng-src/dvipng.texi
@@ -9,8 +9,8 @@ dvipng [options] [filename] -
@c man end
@end ifset
-@set version 1.15
-@set month-year February 2015
+@set version 1.16
+@set month-year April 2019
@c Put everything in one index (arbitrarily chosen to be the concept index).
@syncodeindex fn cp
@@ -39,7 +39,7 @@ dvipng [options] [filename] -
@author by Jan-@AA{}ke Larsson.
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -346,7 +346,10 @@ for rendering the fonts. If you have PostScript versions of Computer
Modern installed, there will be no need to generate bitmapped (PK)
variants on disk of these. Then, you can render images at different (and
unusual) resolutions without cluttering the disk with lots of bitmapped
-fonts.
+fonts.
+One reason to disable FreeType font rendering would be to generate
+identical output on different platforms, since FreeType uses the native
+renderer and therefore can give slightly different output on each platform.
@item --gamma @var{num}
@cindex gamma
@@ -934,8 +937,8 @@ Tollak Munkejord, James Longstreet, Bernhard Simon, Bob McElrath,
Georg Schwarz, Jason Farmer, Brian V. Smith, Samuel Hathaway, Thomas
R. Shemanske, Stephen Gibson, Christian Ridderstr@"om, Ezra Peisach,
William H Wheeler, Thomas Klausner, Harald Koenig, Adrian Bunk, Kevin
-Smith, Jason Riedy, Wolfram Krause, Reinhard Kotucha, Takeshi Abe, and
-Waldeck Schutzer.
+Smith, Jason Riedy, Wolfram Krause, Reinhard Kotucha, Takeshi Abe,
+Waldeck Schutzer, and Andy Nguyen.
@ifset man
@c man begin NOTES
@@ -949,7 +952,7 @@ This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
@url{http://www.gnu.org/licenses/gpl.html}.
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@c man end
@end ifset
@@ -972,7 +975,7 @@ License along with this program. If not, see
@sp 2
@noindent
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@node Index
@unnumbered Index
diff --git a/Build/source/texk/dvipng/dvipng-src/install.texi b/Build/source/texk/dvipng/dvipng-src/install.texi
index c9928a1ba7e..61e47e565b9 100644
--- a/Build/source/texk/dvipng/dvipng-src/install.texi
+++ b/Build/source/texk/dvipng/dvipng-src/install.texi
@@ -28,11 +28,11 @@ Installing dvipng should be simple: merely @code{./configure},
@item The GD Graphics Draw library, libgd
The drawing library @samp{libgd} is necessary, and is downloadable at
-@uref{http://www.boutell.com/gd}, and there are binary packages for
-most operating systems from their respective distributors. In any
-case, the latest version of the library installs using @samp{autoconf}
-so it should not be difficult for you to install it from source, and
-then proceed with installing dvipng.
+@uref{https://bitbucket.org/libgd/gd-libgd/downloads}, and there are
+binary packages for most operating systems from their respective
+distributors. In any case, the library installs using @samp{autoconf} so
+it should not be difficult for you to install it from source, and then
+proceed with installing dvipng.
@item The path-searching library kpathsea
@@ -190,5 +190,5 @@ This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
@url{http://www.gnu.org/licenses/}.
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@end ifset
diff --git a/Build/source/texk/dvipng/dvipng-src/misc.c b/Build/source/texk/dvipng/dvipng-src/misc.c
index ab2ce94f30e..3d94099d447 100644
--- a/Build/source/texk/dvipng/dvipng-src/misc.c
+++ b/Build/source/texk/dvipng/dvipng-src/misc.c
@@ -18,15 +18,13 @@
License along with this program. If not, see
<http://www.gnu.org/licenses/>.
- Copyright (C) 2002-2015 Jan-Åke Larsson
+ Copyright (C) 2002-2015, 2019 Jan-Åke Larsson
************************************************************************/
#include "dvipng.h"
#ifdef HAVE_LIBGEN_H
# include <libgen.h>
-#else
-#define basename xbasename
#endif
#include <fcntl.h> /* open/close */
#ifdef HAVE_MMAP
@@ -34,6 +32,15 @@
#endif
#include <sys/stat.h>
+#if defined _WIN32 && !defined __CYGWIN__ && !defined __CYGWIN32__
+ /* Use Windows separators on all _WIN32 defining
+ environments, except Cygwin. */
+# define DIR_SEPARATOR_CHAR '\\'
+#endif
+#ifndef DIR_SEPARATOR_CHAR
+# define DIR_SEPARATOR_CHAR '/'
+#endif /* !DIR_SEPARATOR_CHAR */
+
static char *programname;
/*-->DecodeArgs*/
@@ -47,43 +54,25 @@ bool DecodeArgs(int argc, char ** argv)
int32_t number; /* Temporary storage for numeric parameter */
char *dviname=NULL; /* Name of dvi file */
char *outname=NULL; /* Name of output file */
- char *base; /* basename of argv[0] */
-#ifdef HAVE_LIBKPATHSEA
- /* we certainly don't want to modify argv[0]. */
- programname = xstrdup (argv[0] ? argv[0] : PACKAGE_NAME);
-# ifdef HAVE_KPSE_PROGRAM_BASENAME
- base = kpse_program_basename (programname);
-# else
- base = xstrdup (xbasename (programname));
- {
- char *dot = strrchr (base, '.');
- if (dot && FILESTRCASEEQ (dot, ".exe"))
- *dot = 0;
- }
-# endif
-#else
- /* we certainly don't want to modify argv[0]. */
- programname = strdup (argv[0] ? argv[0] : PACKAGE_NAME);
- base = strrchr (programname, '/');
- if (base)
- base++;
- else
- base = programname;
-#endif
+ programname=PACKAGE_NAME;
+ if (argv[0]) {
#ifdef HAVE_GDIMAGEGIF
-# ifdef HAVE_LIBKPATHSEA
- if (FILESTRCASEEQ (base, "dvigif"))
-# else
- if (strncmp(programname,"dvigif",6)==0)
-# endif
- option_flags |= GIF_OUTPUT;
+ programname=strrchr(argv[0],DIR_SEPARATOR_CHAR);
+ if (programname!=NULL)
+ programname++;
+ else
+ programname=argv[0];
+ if (strncasecmp(programname,"dvigif",6)==0)
+ option_flags |= GIF_OUTPUT;
#endif
+ programname=argv[0];
+ }
Message(BE_NONQUIET,"This is %s",programname);
- if (strcmp(base,PACKAGE_NAME)!=0)
+ if (option_flags & GIF_OUTPUT)
Message(BE_NONQUIET," (%s)", PACKAGE_NAME);
- Message(BE_NONQUIET," %s Copyright 2002-2015 Jan-Ake Larsson\n",
- PACKAGE_VERSION);
+ Message(BE_NONQUIET," %s Copyright 2002-2015, 2019 Jan-Ake Larsson\n",
+ PACKAGE_VERSION);
for (i=1; i<argc; i++) {
if (*argv[i]=='-') {
@@ -501,12 +490,8 @@ bool DecodeArgs(int argc, char ** argv)
}
break;
case 'v': /* verbatim mode */
- if (strcmp(p, "ersion")==0) {
- if (strcmp(basename(programname),PACKAGE_NAME)!=0)
- printf("%s (%s) %s\n",basename(programname),
- PACKAGE_NAME,PACKAGE_VERSION);
- else
- puts(PACKAGE_STRING);
+ if (strcmp(p, "ersion")==0) {
+ puts(PACKAGE_STRING);
#ifdef HAVE_LIBKPATHSEA
puts (KPSEVERSION);
#endif
@@ -525,7 +510,7 @@ bool DecodeArgs(int argc, char ** argv)
}
# endif
#endif
- puts ("Copyright (C) 2002-2015 Jan-Ake Larsson.\n\
+ puts ("Copyright (C) 2002-2015, 2019 Jan-Ake Larsson.\n\
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU Lesser General Public License\n\
version 3, see the COPYING file in the dvipng distribution\n\
diff --git a/Build/source/texk/dvipng/dvipng-src/special.c b/Build/source/texk/dvipng/dvipng-src/special.c
index d685b1365c5..60d899faae2 100644
--- a/Build/source/texk/dvipng/dvipng-src/special.c
+++ b/Build/source/texk/dvipng/dvipng-src/special.c
@@ -28,8 +28,15 @@
#ifndef WIN32
#include <sys/wait.h>
#else /* WIN32 */
-#undef pipe
+#include <fcntl.h>
+#include <io.h>
+#include <process.h>
+#ifndef pipe
#define pipe(p) _pipe(p, 65536, O_BINARY | _O_NOINHERIT)
+#endif
+#ifndef snprintf
+#define snprintf _snprintf
+#endif
#endif /* WIN32 */
#endif