summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/ChangeLog4
-rw-r--r--Build/source/Makefile.am9
-rw-r--r--Build/source/Makefile.in402
-rw-r--r--Build/source/README.hacking2
-rw-r--r--Build/source/doc/build-tools14
-rw-r--r--Build/source/doc/build.texi1044
-rw-r--r--Build/source/doc/texlive.info1214
-rw-r--r--Build/source/doc/texlive.texi111
-rw-r--r--Build/source/libs/gd/config.h.in6
-rwxr-xr-xBuild/source/libs/gd/configure47
-rw-r--r--Build/source/libs/harfbuzz/config.h.in6
-rwxr-xr-xBuild/source/libs/harfbuzz/configure44
-rw-r--r--Build/source/libs/libpng/config.h.in6
-rwxr-xr-xBuild/source/libs/libpng/configure47
-rw-r--r--Build/source/libs/pixman/ChangeLog4
-rw-r--r--Build/source/libs/pixman/config.h.in3
-rwxr-xr-xBuild/source/libs/pixman/configure141
-rw-r--r--Build/source/libs/pixman/configure.ac7
-rw-r--r--Build/source/libs/poppler/config.h.in6
-rwxr-xr-xBuild/source/libs/poppler/configure47
-rw-r--r--Build/source/libs/teckit/config.h.in6
-rwxr-xr-xBuild/source/libs/teckit/configure47
-rw-r--r--Build/source/libs/zziplib/config.h.in6
-rwxr-xr-xBuild/source/libs/zziplib/configure47
-rw-r--r--Build/source/m4/ChangeLog5
-rw-r--r--Build/source/m4/kpse-zlib-flags.m424
-rw-r--r--Build/source/texk/dvipdf-x/ChangeLog5
-rw-r--r--Build/source/texk/dvipdf-x/config.h.in6
-rwxr-xr-xBuild/source/texk/dvipdf-x/configure41
-rw-r--r--Build/source/texk/dvipdf-x/src/pdfobj.c2
-rw-r--r--Build/source/texk/dvipdf-x/xsrc/epdf.c2
-rw-r--r--Build/source/texk/dvipdf-x/xsrc/pdfobj.c2
-rw-r--r--Build/source/texk/dvipdfm-x/ChangeLog5
-rw-r--r--Build/source/texk/dvipdfm-x/config.h.in6
-rwxr-xr-xBuild/source/texk/dvipdfm-x/configure41
-rw-r--r--Build/source/texk/dvipdfm-x/epdf.c2
-rw-r--r--Build/source/texk/dvipdfm-x/pdfobj.c2
-rw-r--r--Build/source/texk/dvipng/config.h.in6
-rwxr-xr-xBuild/source/texk/dvipng/configure41
-rw-r--r--Build/source/texk/dvisvgm/config.h.in6
-rwxr-xr-xBuild/source/texk/dvisvgm/configure41
-rw-r--r--Build/source/texk/kpathsea/ChangeLog4
-rw-r--r--Build/source/texk/kpathsea/c-auto.in2
-rwxr-xr-xBuild/source/texk/kpathsea/configure2
-rw-r--r--Build/source/texk/kpathsea/configure.ac3
-rw-r--r--Build/source/texk/kpathsea/doc/Makefile.am7
-rw-r--r--Build/source/texk/kpathsea/doc/Makefile.in2
-rw-r--r--Build/source/texk/ptexenc/ChangeLog4
-rw-r--r--Build/source/texk/ptexenc/c-auto.in2
-rwxr-xr-xBuild/source/texk/ptexenc/configure2
-rw-r--r--Build/source/texk/ptexenc/configure.ac3
-rw-r--r--Build/source/texk/ttf2pk2/config.h.in6
-rwxr-xr-xBuild/source/texk/ttf2pk2/configure41
-rw-r--r--Build/source/texk/web2c/c-auto.in6
-rwxr-xr-xBuild/source/texk/web2c/configure41
-rw-r--r--Build/source/texk/xdvik/c-auto.in6
-rwxr-xr-xBuild/source/texk/xdvik/configure41
57 files changed, 3554 insertions, 125 deletions
diff --git a/Build/source/ChangeLog b/Build/source/ChangeLog
index 464566f220c..f06a9a3be63 100644
--- a/Build/source/ChangeLog
+++ b/Build/source/ChangeLog
@@ -1,3 +1,7 @@
+2013-08-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * Makefile.am: Add the make target 'texlinks'.
+
2013-07-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* am/rebuild.am: Avoid still more 'parallel make' problems.
diff --git a/Build/source/Makefile.am b/Build/source/Makefile.am
index e328bf1dab6..80fa39e3a3f 100644
--- a/Build/source/Makefile.am
+++ b/Build/source/Makefile.am
@@ -7,6 +7,10 @@
##
ACLOCAL_AMFLAGS = -I m4 --force
+## The info files
+info_TEXINFOS = doc/texlive.texi
+doc_texlive_TEXINFOS = doc/build.texi doc/build-tools
+
## speed up distcheck
AM_DISTCHECK_CONFIGURE_FLAGS = -C
## check as well for symlinks
@@ -73,6 +77,11 @@ endif !cross
skip:
.PHONY: skip
+# Directly run texlinks.
+.PHONY: texlinks
+texlinks:
+ cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks
+
# Special target to run TRIP and TRAP tests and create diffs.
.PHONY: triptrap
triptrap:
diff --git a/Build/source/Makefile.in b/Build/source/Makefile.in
index 1e86c491098..e27bf300142 100644
--- a/Build/source/Makefile.in
+++ b/Build/source/Makefile.in
@@ -79,10 +79,11 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/am/recurse.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/configure \
- $(am__configure_deps) ChangeLog README build-aux/compile \
- build-aux/config.guess build-aux/config.sub build-aux/depcomp \
- build-aux/install-sh build-aux/missing build-aux/texinfo.tex \
- build-aux/ylwrap build-aux/ltmain.sh \
+ $(am__configure_deps) $(doc_texlive_TEXINFOS) \
+ $(top_srcdir)/build-aux/texinfo.tex ChangeLog README \
+ build-aux/compile build-aux/config.guess build-aux/config.sub \
+ build-aux/depcomp build-aux/install-sh build-aux/missing \
+ build-aux/texinfo.tex build-aux/ylwrap build-aux/ltmain.sh \
$(top_srcdir)/build-aux/compile \
$(top_srcdir)/build-aux/config.guess \
$(top_srcdir)/build-aux/config.sub \
@@ -232,6 +233,48 @@ am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
+AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
+am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
+am__v_DVIPS_0 = @echo " DVIPS " $@;
+am__v_DVIPS_1 =
+AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
+am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
+am__v_MAKEINFO_0 = @echo " MAKEINFO" $@;
+am__v_MAKEINFO_1 =
+AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
+am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
+am__v_INFOHTML_0 = @echo " INFOHTML" $@;
+am__v_INFOHTML_1 =
+AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
+am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
+am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@;
+am__v_TEXI2DVI_1 =
+AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
+am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
+am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@;
+am__v_TEXI2PDF_1 =
+AM_V_texinfo = $(am__v_texinfo_@AM_V@)
+am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
+am__v_texinfo_0 = -q
+am__v_texinfo_1 =
+AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
+am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
+am__v_texidevnull_0 = > /dev/null
+am__v_texidevnull_1 =
+am__dirstamp = $(am__leading_dot)dirstamp
+INFO_DEPS = $(srcdir)/doc/texlive.info
+TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
+am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux
+DVIS = doc/texlive.dvi
+PDFS = doc/texlive.pdf
+PSS = doc/texlive.ps
+HTMLS = doc/texlive.html
+TEXINFOS = doc/texlive.texi
+TEXI2DVI = texi2dvi
+TEXI2PDF = $(TEXI2DVI) --pdf --batch
+MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
+DVIPS = dvips
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
@@ -245,6 +288,34 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__installdirs = "$(DESTDIR)$(infodir)"
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
@@ -448,6 +519,8 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I m4 --force
+info_TEXINFOS = doc/texlive.texi
+doc_texlive_TEXINFOS = doc/build.texi doc/build-tools
AM_DISTCHECK_CONFIGURE_FLAGS = -C
distuninstallcheck_listfiles = find . -type f -o -type l -print
distcleancheck_listfiles = find . -type f -o -type l -print
@@ -490,6 +563,7 @@ texlinks_dir = texk/texlive/tl_scripts
all: all-recursive
.SUFFIXES:
+.SUFFIXES: .dvi .ps
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/am/recurse.am $(am__configure_deps)
@@ -534,6 +608,146 @@ clean-libtool:
distclean-libtool:
-rm -f libtool config.lt
+doc/$(am__dirstamp):
+ @$(MKDIR_P) doc
+ @: > doc/$(am__dirstamp)
+
+$(srcdir)/doc/texlive.info: doc/texlive.texi $(doc_texlive_TEXINFOS)
+ $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ am__cwd=`pwd` && $(am__cd) $(srcdir) && \
+ rm -rf $$backupdir && mkdir $$backupdir && \
+ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
+ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
+ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
+ done; \
+ else :; fi && \
+ cd "$$am__cwd"; \
+ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
+ -o $@ $(srcdir)/doc/texlive.texi; \
+ then \
+ rc=0; \
+ $(am__cd) $(srcdir); \
+ else \
+ rc=$$?; \
+ $(am__cd) $(srcdir) && \
+ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+ fi; \
+ rm -rf $$backupdir; exit $$rc
+
+doc/texlive.dvi: doc/texlive.texi $(doc_texlive_TEXINFOS) doc/$(am__dirstamp)
+ $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
+ $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+ `test -f 'doc/texlive.texi' || echo '$(srcdir)/'`doc/texlive.texi
+
+doc/texlive.pdf: doc/texlive.texi $(doc_texlive_TEXINFOS) doc/$(am__dirstamp)
+ $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
+ $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+ `test -f 'doc/texlive.texi' || echo '$(srcdir)/'`doc/texlive.texi
+
+doc/texlive.html: doc/texlive.texi $(doc_texlive_TEXINFOS) doc/$(am__dirstamp)
+ $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
+ $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
+ -o $(@:.html=.htp) `test -f 'doc/texlive.texi' || echo '$(srcdir)/'`doc/texlive.texi; \
+ then \
+ rm -rf $@ && mv $(@:.html=.htp) $@; \
+ else \
+ rm -rf $(@:.html=.htp); exit 1; \
+ fi
+.dvi.ps:
+ $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(DVIPS) $(AM_V_texinfo) -o $@ $<
+
+uninstall-dvi-am:
+ @$(NORMAL_UNINSTALL)
+ @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
+ rm -f "$(DESTDIR)$(dvidir)/$$f"; \
+ done
+
+uninstall-html-am:
+ @$(NORMAL_UNINSTALL)
+ @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
+ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+
+uninstall-info-am:
+ @$(PRE_UNINSTALL)
+ @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ relfile=`echo "$$file" | sed 's|^.*/||'`; \
+ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
+ if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+ then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
+ done; \
+ else :; fi
+ @$(NORMAL_UNINSTALL)
+ @list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ relfile=`echo "$$file" | sed 's|^.*/||'`; \
+ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
+ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
+ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
+ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
+ else :; fi); \
+ done
+
+uninstall-pdf-am:
+ @$(NORMAL_UNINSTALL)
+ @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
+ done
+
+uninstall-ps-am:
+ @$(NORMAL_UNINSTALL)
+ @list='$(PSS)'; test -n "$(psdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(psdir)/$$f"; \
+ done
+
+dist-info: $(INFO_DEPS)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ list='$(INFO_DEPS)'; \
+ for base in $$list; do \
+ case $$base in \
+ $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
+ esac; \
+ if test -f $$base; then d=.; else d=$(srcdir); fi; \
+ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
+ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
+ if test -f $$file; then \
+ relfile=`expr "$$file" : "$$d/\(.*\)"`; \
+ test -f "$(distdir)/$$relfile" || \
+ cp -p $$file "$(distdir)/$$relfile"; \
+ else :; fi; \
+ done; \
+ done
+
+mostlyclean-aminfo:
+ -rm -rf doc/texlive.t2d doc/texlive.t2p
+
+clean-aminfo:
+ -test -z "doc/texlive.dvi doc/texlive.pdf doc/texlive.ps doc/texlive.html" \
+ || rm -rf doc/texlive.dvi doc/texlive.pdf doc/texlive.ps doc/texlive.html
+
+maintainer-clean-aminfo:
+ @list='$(INFO_DEPS)'; for i in $$list; do \
+ i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
+ echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
+ rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
+ done
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
@@ -700,7 +914,7 @@ distdir: $(DISTFILES)
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-hook
+ dist-info dist-hook
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
@@ -832,9 +1046,12 @@ distcleancheck: distclean
exit 1; } >&2
check-am: all-am
check: check-recursive
-all-am: Makefile all-local
+all-am: Makefile $(INFO_DEPS) all-local
installdirs: installdirs-recursive
installdirs-am:
+ for dir in "$(DESTDIR)$(infodir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@@ -861,13 +1078,14 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f doc/$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
-clean-am: clean-generic clean-libtool mostlyclean-am
+clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -877,82 +1095,179 @@ distclean-am: clean-am distclean-generic distclean-libtool \
dvi: dvi-recursive
-dvi-am:
+dvi-am: $(DVIS)
html: html-recursive
-html-am:
+html-am: $(HTMLS)
info: info-recursive
-info-am:
+info-am: $(INFO_DEPS)
-install-data-am:
+install-data-am: install-info-am
install-dvi: install-dvi-recursive
-install-dvi-am:
-
+install-dvi-am: $(DVIS)
+ @$(NORMAL_INSTALL)
+ @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(dvidir)" || 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_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
+ done
install-exec-am:
install-html: install-html-recursive
-install-html-am:
-
+install-html-am: $(HTMLS)
+ @$(NORMAL_INSTALL)
+ @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ $(am__strip_dir) \
+ d2=$$d$$p; \
+ if test -d "$$d2"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
+ echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+ else \
+ list2="$$list2 $$d2"; \
+ fi; \
+ done; \
+ test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
+ done; }
install-info: install-info-recursive
-install-info-am:
-
+install-info-am: $(INFO_DEPS)
+ @$(NORMAL_INSTALL)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
+ fi; \
+ for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ esac; \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
+ for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
+ $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
+ if test -f $$ifile; then \
+ echo "$$ifile"; \
+ else : ; fi; \
+ done; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
+ @$(POST_INSTALL)
+ @if $(am__can_run_installinfo); then \
+ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+ for file in $$list; do \
+ relfile=`echo "$$file" | sed 's|^.*/||'`; \
+ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
+ install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
+ done; \
+ else : ; fi
install-man:
install-pdf: install-pdf-recursive
-install-pdf-am:
-
+install-pdf-am: $(PDFS)
+ @$(NORMAL_INSTALL)
+ @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || 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_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
install-ps: install-ps-recursive
-install-ps-am:
-
+install-ps-am: $(PSS)
+ @$(NORMAL_INSTALL)
+ @list='$(PSS)'; test -n "$(psdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(psdir)" || 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_DATA) $$files '$(DESTDIR)$(psdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
+maintainer-clean-am: distclean-am maintainer-clean-aminfo \
+ maintainer-clean-generic
mostlyclean: mostlyclean-recursive
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \
+ mostlyclean-libtool
pdf: pdf-recursive
-pdf-am:
+pdf-am: $(PDFS)
ps: ps-recursive
-ps-am:
+ps-am: $(PSS)
-uninstall-am:
+uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
+ uninstall-pdf-am uninstall-ps-am
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
- am--refresh check check-am clean clean-cscope clean-generic \
- clean-libtool cscope cscopelist-am ctags ctags-am dist \
- dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
- dist-tarZ dist-xz dist-zip distcheck distclean \
- distclean-generic distclean-libtool distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
+ am--refresh check check-am clean clean-aminfo clean-cscope \
+ clean-generic clean-libtool cscope cscopelist-am ctags \
+ ctags-am dist dist-all dist-bzip2 dist-gzip dist-hook \
+ dist-info dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
+ distcheck distclean distclean-generic distclean-libtool \
+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-aminfo \
+ maintainer-clean-generic mostlyclean mostlyclean-aminfo \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am uninstall-dvi-am \
+ uninstall-html-am uninstall-info-am uninstall-pdf-am \
+ uninstall-ps-am
# just in case a subdirectory has added directories
@@ -1007,6 +1322,11 @@ world: all
skip:
.PHONY: skip
+# Directly run texlinks.
+.PHONY: texlinks
+texlinks:
+ cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks
+
# Special target to run TRIP and TRAP tests and create diffs.
.PHONY: triptrap
triptrap:
diff --git a/Build/source/README.hacking b/Build/source/README.hacking
index 2e514cf39f1..ff9270ce967 100644
--- a/Build/source/README.hacking
+++ b/Build/source/README.hacking
@@ -1,4 +1,4 @@
-Copyright (C) 2009-2012 Peter Breitenlohner <tex-live@tug.org>
+Copyright (C) 2009-2013 Peter Breitenlohner <tex-live@tug.org>
You may freely use, modify and/or distribute this file.
Modifying the TeX Live (TL) build system
diff --git a/Build/source/doc/build-tools b/Build/source/doc/build-tools
new file mode 100644
index 00000000000..ed21e36af36
--- /dev/null
+++ b/Build/source/doc/build-tools
@@ -0,0 +1,14 @@
+In general, the @TL{} build system uses the latest released versions of the
+@acronym{GNU} build tools, installed directly from the original
+@acronym{GNU} releases (e.g., by building them with @* @ @ @ @code{configure
+--prefix=/usr/local/gnu} @* and having @env{PATH} start with
+@file{/usr/local/gnu/bin}). Currently these are
+
+@example
+autoconf (@acronym{GNU} Autoconf) 2.69
+automake (@acronym{GNU} automake) 1.14
+ltmain.sh (@acronym{GNU} libtool) 2.4.2
+bison (@acronym{GNU} Bison) 3.0
+flex 2.5.37
+m4 (@acronym{GNU} M4) 1.4.16
+@end example
diff --git a/Build/source/doc/build.texi b/Build/source/doc/build.texi
new file mode 100644
index 00000000000..dc750c824ff
--- /dev/null
+++ b/Build/source/doc/build.texi
@@ -0,0 +1,1044 @@
+@node Build System
+@chapter The @TL{} Build System
+
+@cindex build system
+@cindex the @TL{} build system
+
+The @TL{} build system has been redesigned in 2009, using Autoconf,
+Automake, and Libtool. Thus @* @ @ @ @code{configure && make && make check
+&& make install} @* or the more or less equivalent top-level @code{Build}
+script suffice to build and install the @TL{} programs, where @code{make
+check} performs various test of the generated programs that are not
+necessary but strongly recommend.
+
+The main components of the @TL{} build system are @TeX{} specific programs
+in subdirectories @file{texk/@var{prog}}, utility programs in subdirectories
+@file{utils/@var{prog}}, @TeX{} specific libraries in the subdirectories
+@file{texk/kpathsea} and @file{texk/ptexenc} used by the @TeX{} specific
+programs, and generic libraries in subdirectories @file{libs/@var{lib}}.
+
+The primary design goal is modularity. Each program and library module (or
+package) specifies its own requirements and properties, such as required
+libraries, whether an installed (system) version of a library can be used,
+configure options to be seen at the top-level, and more. An explicit list
+of all available modules is only kept in one central place.
+
+A second, related goal is to configure and build each library before
+configuring any other (program or library) module using that library. This
+allows to check for properties and features of a library built as part of
+the @TL{} tree in much the same way as for a system version of that library.
+
+Most generic libraries and several programs are maintained independently.
+The corresponding modules use (parts of) the distributed source tree and
+document any modifications of that source tree.
+
+All this should simplify upgrading of modules maintained independently
+and/or integrating new modules into the @TL{} build system.
+
+@menu
+* Prerequisites:: Requirements to Build @TL{}.
+* Building and Installing:: Building and Installing @TL{}.
+* Source Tree:: The @TL{} Source Tree.
+* Configure Options:: List of all Configure Options.
+* Cross Compilation:: Cross Compilation.
+* Coding Rules:: Coding Rules for @TL{}.
+@end menu
+
+@node Prerequisites
+@section Requirements to Build @TL{}
+
+Building the @TL{} programs requires
+
+@itemize @bullet
+@item
+C and C++ compilers
+
+@item
+@acronym{GNU} @command{make}
+
+@end itemize
+
+@noindent and uses the libraries included in the @TL{} source tree.
+There are, however, some additional requirements
+
+@itemize @bullet
+@item
+@file{xindy} requires @acronym{GNU} @command{clisp} and in addition
+@command{perl}, @command{latex}, and @command{pdflatex} to build the rules
+and/or documentation.
+
+@item
+Autodetection of the @TL{} platform name for @file{biber} requires
+@command{perl}.
+
+@item
+@file{xpdfopen} and @file{xdvik} require X11 headers and libraries (often a
+``development'' package, not installed by default).
+
+@item
+XeTeX requires an Objective C++ compiler under Mac OS X or otherwise
+@file{libfontconfig} (again both headers and library).
+
+@item
+Modification of any @code{.y} or @code{.l} source files requires
+@file{bison} or @file{flex} to updatete the corresponding C sources.
+
+@item
+Modification of any part of the build system (@code{M4} macros,
+@file{configure.ac}, @file{Makefile.am}, or their fragments) requires
+@acronym{GNU} M4, @acronym{GNU} Autoconf, @acronym{GNU} Automake, and
+@acronym{GNU} Libtool to update the generated files.
+
+@end itemize
+
+@noindent Without the required tools modifying such files or building these
+programs must avoided, e.g., via @code{--disable-xindy} or
+@code{--without-x}.
+
+@node Building and Installing
+@section Building and Installing @TL{}
+
+The top-level @file{Build} script can be used to configure and build
+everything in a subdirectory (root of the build tree, default @file{Work}),
+install everything in an other subdirectory (default @file{inst}), and
+finally run @code{make check}. Several details of this process can be
+specified via environment variables and a few leading options; all remaining
+arguments (assignments or options) are passed to the @file{configure}
+script. Or one can run @command{configure} and @command{make} in a suitable
+empty subdirectory.
+
+Running the top-level @file{configure} script configures just the top-level
+and the subdirectories @file{libs}, @file{utils}, and @file{texk}. Running
+@command{make} at the top-level iterates over all @TeX{} specific libraries,
+first configuring the module if necessary to create the @file{Makefile} and
+then building it if that is required. Finally @command{make} is run in
+@file{libs}, @file{utils}, and @file{texk} to iterate over all generic
+libraries, utility programs, and @TeX{} specific programs. Running the
+top-level @command{make} a second time iterates again over all library and
+program modules but will find nothing to be done.
+
+In case configuring or building a module fails, one could fix the problem,
+remove the subdirectory for the module from the build tree, and rerun the
+top-level @command{make} (or @file{Build} script with @code{--no-clean} as
+additional first argument).
+
+With the configure option @code{--disable-all-pkgs} all program and library
+modules are configured but none of them are built. The @file{Makefile} for
+each such module contains all build rules and dependencies and can be
+invoked to build an individual program or library and causes to first build
+any required libraries. This build "on demand" procedure is used, e.g., in
+the @code{luatex} repository to build Lua@TeX{}, essentially from a subset
+of the complete @TL{} tree.
+
+@subsection Installation Paths
+
+Running @code{make install} (or @code{make install-strip}) installs
+executables in @code{@var{bindir}}, libraries in @code{@var{libdir}},
+headers in @code{@var{includedir}}, data (including "linked scripts") in
+@code{@var{datarootdir}/texmf-dist}, manpages in @code{@var{mandir}}, and
+@TeX{} info files in @code{@var{infodir}}. The values of these directories
+is determined by @command{configure}, either explictly as general options
+such as @code{--prefix=@var{prefix}} or @code{--bindir=@var{bindir}}, or by
+their usual Autoconf defaults
+
+@example
+@code{@var{prefix}} @code{/usr/local}
+@code{@var{exec_prefix}} @code{@var{prefix}}
+@code{@var{bindir}} @code{@var{exec_prefix}/bin}
+@code{@var{libdir}} @code{@var{exec_prefix}/lib}
+@code{@var{includedir}} @code{@var{prefix}/include}
+@code{@var{datarootdir}} @code{@var{prefix}/share}
+@code{@var{mandir}} @code{@var{datarootdir}/man}
+@code{@var{infodir}} @code{@var{datarootdir}/info}
+@end example
+
+@noindent modified as follows:
+
+@itemize @bullet
+@item
+If the option @code{--enable-multiplatform} is given (or implied for a
+native @TL{} build), @code{/@var{host}}, i.e., the canonical host name is
+appended to @code{@var{bindir}} and @code{@var{libdir}}.
+
+@item
+In a native @TL{} build @code{@var{datarootdir}} is set to
+@code{@var{prefix}}, @code{@var{mandir}} to
+@code{@var{prefix}/texmf-dist/doc/man}, and @code{@var{infodir}} to
+@code{@var{prefix}/texmf-dist/doc/info}.
+@end itemize
+
+@noindent The top-level @file{configure} script displays all these
+installation paths.
+
+For a native @TL{} build either for the @TL{} DVD or for an additional
+platform the contents of @code{@var{bindir}} should be copied to the
+directory @code{Master/bin/@var{arch}} of the @TL{} tree where
+@code{@var{arch}} is the @TL{} platform name corresponding to canonical host
+name @code{@var{host}}, the contents of @code{@var{libdir}} and
+@code{@var{includedir}} can be discarded, and everything else should match
+files already present in the @TL{} tree.
+
+@subsection Linked Scripts
+
+Quite a few executables are architecture independent Shell, Perl, or other
+scripts. Some of them are maintained as part of the @TL{} source tree, but
+most are maintained elsewhere with copies under
+@file{texk/texlive/linked_scripts}. They are installed under
+@code{@var{datarootdir}/texmf-dist/scripts}; for Unix-like systems there is
+a symbolic link pointing, e.g., from @code{@var{bindir}/ps2eps} to
+@code{@var{datarootdir}/texmf-dist/scripts/ps2eps/ps2eps.pl} whereas for
+Windows @code{@var{bindir}/ps2eps.exe} is a copy of a small standard binary
+serving the same purpose. One reason for all this is to avoid having many
+copies for the same script, but most importantly this allows to invoke the
+same Perl or other script under Windows.
+
+@subsection Distro Builds
+
+For a distro build you must use @* @ @ @
+@code{--disable-native-texlive-build} @* and should use @* @ @ @
+@code{--with-banner-add=/@var{SomeDistro}} @* to identify your distro. You
+may specify @* @ @ @ @code{--enable-shared} @* to build shared @TeX{}
+specific libraries and might add @* @ @ @ @code{--disable-static} @* to not
+build the static ones. You would like to use @* @ @ @
+@code{--with-system-@var{lib}} for as many libraries as possible and may
+then have to add @code{--with-@var{lib}-includes=@var{dir}} and/or
+@code{--with-@var{lib}-libdir=@var{dir}}.
+
+You should specify @* @ @ @ @code{--prefix=/usr} or perhaps
+@code{--prefix=/opt/TeXLive} @* and perhaps add @* @ @ @
+@code{--libdir=\$@{exec_prefix@}/lib64} @* for 64bit bi-arch (Linux)
+systems.
+
+To make a usable @TeX{} installation, you have to add (thousands of) support
+files in addition to the binaries that are built and installed here. The
+support files are maintained completely independently. The best basis for
+dealing with them is the @TL{} (plain text) database and/or the @TL{}
+installer.
+
+@node Source Tree
+@section The @TL{} Source Tree
+
+The @TL{} source tree is the subtree of the complete @TL{} tree rooted at
+@file{Build/source} and contains the sources for all @TL{} executables as
+well as @code{make} rules to build and install them together with some of
+their support files.
+
+@menu
+* Top Levels:: The Top-Level Directories.
+* Library Modules:: Structure of Library Modules.
+* Program Modules:: Structure of Program Modules.
+* Extending:: Adding New Modules.
+@end menu
+
+@node Top Levels
+@subsection The Top-Level Directories
+
+@include build-tools
+
+@noindent These versions should be used to update the generated files (e.g.,
+@file{configure} or @file{Makefile.in}) in all or parts of the @TL{} tree
+when some of their sources have been changed. This can be done explicitly
+with the top-level @file{reautoconf} script or implicitly by using the
+configure option @code{--enable-maintainer-mode}.
+
+The subdirectories @file{m4}, @file{build-aux}, and @file{am} contain
+@code{M4} macros, auxiliary shell scripts, and @file{Makefile.am} fragments
+respectively, all of them used in many places.
+
+The file @file{m4/kpse-pkgs.m4} contains lists of all program and library
+modules. Each such module contributes fragments defining its capabilities
+and requirements to the @file{configure.ac} scripts at the top-level and in
+the subdirectiories @file{libs}, @file{utils}, and @file{texk}. Modules
+absent when generating the @file{configure} scripts for these top levels
+are, however, silently ignored. The fragments from program modules supply
+configure options to disable or enable building them, those from library
+modules specify if an installed (system) version of that library can be
+used. This decides which modules need to be built, although all modules
+must be configured for the benefit of @file{make} targets such as
+@code{dist} or @code{distcheck}.
+
+The subdirectory @file{extra} contains things which are not part of the TeX
+Live build, but are present for convenience, e.g., @file{epstopdf} developed
+here or @file{xz} required by the @TL{} installer.
+
+@node Library Modules
+@subsection Structure of Library Modules
+
+The structure of library modules is best explained with a few examples.
+
+@subsubsection The @code{png} library in @file{libs/libpng}
+
+This generic library uses the distributed source tree in, e.g.,
+@file{libpng-1.5.17} with all modifications recorded in
+@file{libpng-1.5.17-PATCHES/*}. The @file{configure.ac} fragment
+@file{ac/withenable.ac} contains
+
+@example
+KPSE_WITH_LIB([libpng], [zlib])
+@end example
+
+@noindent with the module name and indicating the dependency on @code{zlib}.
+A third argument @code{tree} would specify that the library from the @TL{}
+tree can not be replaced by a system version. That not being the case, a
+second fragment @file{ac/libpng.ac} contains
+
+@example
+KPSE_TRY_LIB([libpng],
+ [#include <png.h>],
+ [png_structp png; png_voidp io; png_rw_ptr fn;
+png_set_read_fn(png, io, fn);])
+@end example
+
+@noindent and provides the simple C code
+
+@example
+#include <png.h>
+int main ()
+@{ png_structp png; png_voidp io; png_rw_ptr fn;
+ png_set_read_fn(png, io, fn);
+ return 0; @}
+@end example
+
+@noindent used to verify the usability of a system version. The similar
+macro @code{KPSE_TRY_LIBXX} would provide some C++ code. These fragments
+are included by @file{configure.ac} at the top levels.
+
+A proxy build system consisting of @file{configure.ac} and
+@file{Makefile.am} bypasses the distributed one and consequently a few
+generated files and auxiliary scripts are removed from the distributed
+source tree.
+
+The module is supplemented by the file @file{m4/kpse-libpng-flags.m4} that
+defines the @code{M4} macro @code{KPSE_LIBPNG_FLAGS} used by all modules
+depending on this library in their @file{configure.ac} to generate the
+@code{make} variables @code{LIBPNG_INCLUDES} for use in @code{CPPFLAGS},
+@code{LIBPNG_LIBS} for use in @code{LDADD}, @code{LIBPNG_DEPEND} for use as
+dependency, and @code{LIBPNG_RULE} defining @code{make} rules to rebuild the
+library.
+
+In addition @file{m4/kpse-libpng-flags.m4} supplies the configure option
+@code{--with-system-libpng} and uses @code{pkg-config} to determine the flags
+required for the system library.
+
+@subsubsection The @code{zlib} library in @file{libs/zlib}
+
+This generic library is quite analogous to @code{libpng} but does not depend
+on any other library. The file @file{m4/kpse-zlib-flags.m4} supplies the
+configure option @code{--with-system-zlib} as well as
+@code{--with-zlib-includes} and @code{--with-zlib-libdir} to specify non
+standard locations of the @code{zlib} headers and/or library.
+
+@subsubsection The @code{freetype} library in @file{libs/freetype2}
+
+In this case @file{configure.ac} is almost trivial and @file{Makefile.am} is
+a wrapper that invokes @code{configure} and @code{make} of the distributed
+source, followed by @code{make install} with the build tree as destination.
+The flags required for the system library are obtained through
+@code{freetype-config}.
+
+@subsubsection The @code{kpathsea} library in @file{texk/kpathsea}
+
+This is one of the @TeX{} specific libraries that are maintained as part of
+@TL{}. Other than the generic libraries they are (static and/or shared)
+Libtool libraries and are installed together with the programs. They are,
+however, not part of the @TL{} DVD as distributed by @TeX{} user groups.
+
+It is possible, although quite unusual to specify the configure option
+@code{--with-system-kpathsea} in order to use a system version of the
+library and it may then be necessary to specify
+@code{--with-kpathsea-includes} and/or @code{--with-kpathsea-libdir}.
+
+In addition to @file{ac/withenable.ac} and @file{ac/kpathsea.ac} there is a
+third fragment @file{ac/mktex.ac} included by both @file{ac/withenable.ac}
+and @file{configure.ac} that supplies configure options such as
+@code{--enable-mktextfm-default} determining the compile time default
+whether or not to run @code{mktextfm} to generate a missing @file{.tfm}
+file. Note, however, that this can be changed by the command line options
+@code{-mktex=tfm} and @code{-no-mktex=tfm} for @TeX{}-like engines.
+
+@node Program Modules
+@subsection Structure of Program Modules
+
+The structure of program modules is again best explained with a few examples.
+
+@subsubsection The @code{t1utils} package in @file{utils/t1utils}
+
+Once again we use the distributed source tree @file{t1utils-1.37} with
+modifications documented in @file{t1utils-1.37-PATCHES/*} and a proxy build
+system consisting of @file{configure.ac} and @file{Makefile.am}. The
+fragment @file{ac/withenable.ac} contains
+
+@example
+KPSE_ENABLE_PROG([t1utils])
+@end example
+
+@noindent specifying the module name without any dependencies and supplies
+the configure option @code{--disable-t1utils}.
+
+@subsubsection The @code{xindy} package in @file{utils/xindy}
+
+This module uses the distributed source tree @file{xindy-2.4} with
+modifications documented in @file{xindy-2.4-PATCHES/*}, a proxy
+@file{configure.ac}, and a @file{Makefile.am} that descends into
+@file{xindy-2.4}. The fragment @code{ac/withenable.ac} contains
+
+@example
+KPSE_ENABLE_PROG([xindy], , [disable native])
+m4_include(kpse_TL[utils/xindy/ac/xindy.ac])
+m4_include(kpse_TL[utils/xindy/ac/clisp.ac])
+@end example
+
+@noindent where @code{disable} in the third argument indicates that
+@code{xindy} is only built if explicitly enabled by @code{--enable-xindy}
+(because it requires @code{clisp}) and @code{native} disallows cross
+compilation. The additional fragments @file{ac/xindy.ac} and
+@file{ac/clisp.ac} specify more configure options to be seen at the
+top-leved with @file{ac/xindy.ac} also included by @file{configure.ac}.
+
+@subsubsection The @code{xdvik} package in @file{texk/xdvik}
+
+This package is maintained as part of the @TL{} tree with sources in its
+top-level and the subdirectory @file{gui}. The fragment
+@code{ac/withenable.ac} contains
+
+@example
+dnl extra_dirs = texk/xdvik/squeeze
+KPSE_ENABLE_PROG([xdvik], [kpathsea freetype2], [x])
+m4_include(kpse_TL[texk/xdvik/ac/xdvik.ac])
+@end example
+
+@noindent and specifies the dependency on the @code{kpathsea},
+@code{freetype}, and @code{X11} libraries. The @code{M4} comment (following
+@code{dnl}) signals the subsidiary @file{squeeze/configure.ac}. This is
+needed because the main executable @file{xdvi-bin} (to be installed as,
+e.g., @file{xdvi-xaw}) is for the @code{host} system whereas the auxiliary
+program @file{squeeze/squeeze} has to run on the @code{build} system and in
+a cross compilation they differ. The additional fragment @code{ac/xdvik.ac}
+is also included by @file{configure.ac} and supplies the configure option
+@code{--with-xdvi-x-toolkit} also seen at the top-level.
+
+@subsubsection The subdirectory @file{utils/asymptote}
+
+This subdirectory contains the sources for @file{asy} and @file{xasy} but
+due to its complexity and prerequisites (e.g., @file{libGL}) it is not part
+the @TL{} build system. These programs must be built and installed
+independently, but are contained in the @TL{} DVD together with their
+support files.
+
+
+@node Extending
+@subsection Adding New Modules
+
+@subsubsection Adding a New Program Module
+
+A @TeX{} specific program module in a subdirectory @file{texk/@var{prog}} may use
+the @TeX{} specific libraries and is included by adding its name @file{@var{prog}}
+to the @code{M4} list @code{kpse_texk_pkgs} defined in
+@file{m4/kpse-pkgs.m4}. A generic program module in a subdirectory
+@file{utils/@var{prog}} must not use the @TeX{} specific libraries and is included
+by adding its name @file{@var{prog}} to the @code{M4} list @code{kpse_utils_pkgs}
+in @file{m4/kpse-pkgs.m4}. Apart from the program sources and build system
+(@file{configure.ac} and @file{Makefile.am}) the subdirectory
+@file{texk/@var{prog}} or @file{utils/@var{prog}} must provide a fragment
+@file{ac/withenable.ac} that contains the @code{M4} macro
+@code{KPSE_ENABLE_PROG} defined in @file{m4/kpse-setup.m4} with @code{@var{prog}}
+as mandatory first argument and three optional arguments: a list of required
+libraries from the @TL{} tree, a list of options (@code{disable} if this
+module is not to be built without the configure option @code{--enable-@var{prog}},
+@code{native} if cross compilation is not possible, @code{x} if the program
+requires X11 libraries), and a comment added to the help text for the
+configure option @code{--enable-@var{prog}} or @code{--disable-@var{prog}}.
+
+If the module requires specific configure options to be seen at the
+top-level, they should be defined in an additional fragment
+@file{ac/@var{prog}.ac} included from @file{ac/withenable.ac} and
+@file{configure.ac}.
+
+@subsubsection Adding a New Generic Library Module
+
+A generic library module in a subdirectory @file{libs/@var{lib}} must not depend
+on @TeX{} specific libraries and is included by adding its name @file{@var{lib}}
+to the @code{M4} list @code{kpse_libs_pkgs} in @file{m4/kpse-pkgs.m4}
+(before other libraries from the @TL{} tree it depends on). As for program
+modules the subdirectory @file{libs/@var{lib}} must contain the sources and build
+system for the library (and any installable support programs) and a fragment
+@file{ac/withenable.ac} that contains the @code{M4} macro
+@code{KPSE_WITH_LIB} defined in @file{m4/kpse-setup.m4} with @code{@var{lib}} as
+mandatory first argument and two optional arguments: a list of required
+libraries from the @TL{} tree, and a list of options (currently only
+@code{tree} if this library can not be replaced by a system version).
+
+If a system version can be used, a second fragment @file{ac/@var{lib}.ac}
+containing the @code{M4} macro @code{KPSE_TRY_LIB} (or
+@code{KPSE_TRY_LIBXX}) with @code{@var{lib}} as mandatory first argument and two
+additional arguments for the Autoconf macro @code{AC_LANG_PROGRAM} is used
+to compile and link a small C (or C++) program as sanity check for using the
+system library.
+
+In addition a file @file{m4/kpse-@var{lib}-flags} (at the top-level) must define
+the @code{M4} macro @code{KPSE_@var{LIB}_FLAGS} (all uppercase) setting up the @code{make}
+variables @code{@var{LIB}_INCLUDES}, @code{@var{LIB}_LIBS}, @code{@var{LIB}_DEPEND}, and
+@code{@var{LIB}_RULE} with the values required for @code{CPPFLAGS}, @code{LDADD},
+dependencies, and a (multiline) make rule to rebuild the library when
+necessary, all that for the library from the @TL{} tree or perhaps for a
+system version.
+
+If a system library is allowed @code{KPSE_@var{LIB}_FLAGS} also provides the
+configure option @code{--with-system-@var{lib}} and uses the additional @code{M4}
+macro @code{KPSE_@var{LIB}_SYSTEM_FLAGS} to generate the @code{make} variables for
+a system library. Furthermore the definition of the @code{M4} macro @code{KPSE_ALL_SYSTEM_FLAGS} in
+@file{m4/kpse-pkgs.m4} must be extended by the line @* @ @ @
+@code{AC_REQUIRE([KPSE_@var{LIB}_SYSTEM_FLAGS])}
+
+
+@subsubsection Adding a New @TeX{} Specific Library Module
+
+A @TeX{} specific library module in a subdirectory @file{texk/@var{lib}} may
+depend on other @TeX{} specific libraries but must not depend on any generic
+library from the @TL{} tree. It is included as is a generic library module
+with these modifications:
+
+@itemize @bullet
+@item
+The library name @code{@var{lib}} is added to the @code{M4} list
+@code{kpse_texlibs_pkgs} also in @file{m4/kpse-pkgs.m4}.
+
+@item
+The fragment @code{ac/withenable.ac} must use @code{KPSE_WITH_TEXLIB}.
+
+@end itemize
+
+@node Configure Options
+@section List of all Configure Options
+
+Corresponding to the large number of program and library modules there are
+plenty of configure options, most of which are described here. The command
+@* @ @ @ @code{configure --help} @* at the top-level gives an exhaustive
+list of all global options and a few important module specific ones,
+whereas, e.g., @* @ @ @ @code{texk/lcdf-typetools/configure --help} @* also
+displays the @code{lcdf-typetools} specific options not shown at the
+top-level. In addition the @code{configure} command line may contain
+assignments for important variables.
+
+Defaults for most options are set at the top-level and propagated explicitly
+to all subdirectories. Options specified on the command line are checked
+for consistency but are never modified.
+
+@menu
+* Global Options:: Global Configure Options.
+* Program Specific Options:: Configure Options for Program Modules.
+* Library Specific Options:: Configure Options for Library Modules.
+* Variable Assignments:: Interesting and/or Important Variables.
+@end menu
+
+@node Global Options
+@subsection Global Configure Options
+
+@subsubsection @code{--disable-native-texlive-build}
+
+If enabled (the default), build for a @TL{} binary distribution as shipped
+by the user groups; this requires @acronym{GNU} make and implies
+@code{--enable-multiplatform} and @code{--enable-cxx-runtime-hack} unless
+they are explicitly disabled and enforces @code{--disable-shared}.
+
+If building @TL{} for a @acronym{GNU}/Linux or other distribution, this would be
+disabled and system versions of most libraries would be used (see below).
+This may require @acronym{GNU} make, but will also try without it.
+
+A related option @code{--enable-texlive-build} is automatically passed to
+all subdirectories (and can not be disabled). Subdirectories that could
+also be built independent from the @TL{} tree (such as @file{utils/xindy}
+or @file{texk/dvipng}) can use this option, e.g., to choose @TL{} specific
+installation directories.
+
+@subsubsection @code{--prefix}, @code{--exec-prefix}, @code{--bindir}, @dots{}
+
+These options specify various installation directories as usual, all of them
+still prefixed by the value of an assignment for @code{DESTDIR} on the
+@code{make} command line (@pxref{Staged Installs, , Installation in a
+temporary location, automake, @acronym{GNU} Automake}).
+
+@subsubsection @code{--enable-multiplatform}
+
+If enabled, install executables and libraries in platform dependent
+subdirectories of @file{EPREFIX/bin} and @file{EPREFIX/lib} (unless
+@code{--bindir=@var{dir}} or @code{--libdir=@var{dir}} is specified), where
+@code{EPREFIX} is the value given or implied for @code{exec_prefix}. The
+values for @code{bindir} and @code{libdir} are automatically propagated
+to all subdirectories.
+
+@subsubsection @code{--enable-cxx-runtime-hack}
+
+If enabled and when using @code{g++}, try to statically link with
+@code{libstdc++}, somewhat improving portability.
+
+@subsubsection @code{--enable-libtool-hack}
+
+If enabled (at present the default for all platforms), prevents
+@code{libtool} from linking explicitly with @code{dependency_libs}.
+
+@subsubsection @code{--enable-shared}
+
+Build shared versions of the @TeX{} specific (@code{kpathsea} and
+@code{ptexenc}) libraries; this is not allowed for a native @TL{} build.
+
+@subsubsection @code{--disable-largefile}
+
+Omit large file support (LFS), needed on most 32-bit Unix systems for files
+with 2GB or more. The size of @code{DVI} and @code{GF} files must always be
+@math{<2}GB. With LFS there should be no limit on the size of @code{PDF}
+files created by @file{pdftex} or @code{PS} files created by @file{dvips}.
+The size of @code{PDF} images included by @file{pdftex} must, however, be
+@math{<4}GB when using @file{xpdf} and @math{<2}GB when using older versions
+of @file{poppler} (even on 64-bit systems with LFS), whereas @file{poppler}
+Version@tie{}0.23 and later imposes no limit on the size of @code{PDF}
+images.
+
+@subsubsection @code{--without-x}
+
+Disable all programs using the X Window System.
+
+@subsubsection @code{--enable-compiler-warnings=[no|min|yes|max|all]}
+
+Enable various degrees of compiler warnings for (Objective) C and C++. The
+default is @code{yes} in maintainer-mode and @code{min} otherwise. This
+option defines @code{WARNING_[OBJ]C[XX]FLAGS} but these flags are not used in all
+library and program modules. Using them should help to resolve portability
+problems.
+
+At the moment these warning flags are only defined for the @acronym{GNU}
+compilers but flags for other compilers could be added when needed.
+
+@subsubsection @code{--disable-missing}
+
+Immediately terminate the build process if a requested program or feature
+must be disabled, e.g., due to missing libraries.
+
+@subsubsection @code{--enable-silent-rules}
+
+Enable the use of less verbose build rules. When using @acronym{GNU} make or
+another @code{make} implementation that supports nested variable expansions
+you can always specify @code{V=1} on the make command line to get more
+respectively @code{V=0} to get less verbosity.
+
+@subsubsection @code{--without-ln-s}
+
+Required to build without working @code{ln -s} for a Unix-like system. But
+note that @code{make install} will not create anything useful and might even
+fail.
+
+@subsubsection @code{--enable-maintainer-mode}
+
+Enable @file{make} rules and dependencies not useful (and sometimes
+confusing) to the casual user. This requires current versions of the @acronym{GNU}
+build tools.
+
+@node Program Specific Options
+@subsection Configure Options for Program Modules
+
+@subsubsection @code{--enable-@var{prog}}, @code{--disable-@var{prog}}
+
+Do or do not not build and install the program(s) of the module @code{@var{prog}}.
+
+@subsubsection @code{--disable-all-pkgs}
+
+Do not build any program modules, except those explicitly enabled. Without
+this option, all modules are built except those explicitly disabled and
+those that specify @code{disable} in their @file{ac/withenable.ac} fragment.
+
+@subsubsection Configure options for @file{texk/web2c}
+
+@noindent @code{--with-banner-add=@var{str}} @* Add @code{@var{str}} to the
+default version string (@code{TeX Live @var{year}} or @code{Web2C
+@var{year}}) appended to banner lines. This is ignored for a native @TL{}
+build, but distro builds should specify, e.g., @code{/@var{SomeDistro}}.
+
+@noindent @code{--with-editor=@var{cmd}} @* Specify the command
+@code{@var{cmd}} to invoke from the @code{e} option of @TeX{}-like engines,
+replacing the default @code{vi +%d '%s'} for Unix or @code{texworks
+--position=%d "%s"} for Windows.
+
+@noindent @code{--enable-auto-core} @* This option causes @TeX{} & METAFONT
+to produce a core dump when a particular hacky filename is encountered.
+
+@noindent @code{--disable-dump-share} @* Make the @code{fmt}/@code{base}
+dump files architecture dependent (somewhat faster on little-endian
+architectures).
+
+@noindent @code{--disable-ipc} @* Disable @TeX{}'s @code{--ipc} option.
+
+@noindent @code{--disable-tex}, @code{--enable-etex}, @dots{} @* Do not or
+do build the various @TeX{}, METAFONT, and MetaPost engines (defaults are
+defined in the fragment @file{texk/web2c/ac/web2c.ac}).
+
+@noindent @code{--enable-tex-synctex}, @code{--disable-etex-synctex},
+@dots{} @* Build the various @TeX{}-like engines with or without
+@code{SyncTeX} support (ignored for a native @TL{} build, defaults are
+again defined in @file{texk/web2c/ac/web2c.ac}).
+
+@noindent @code{--with-mf-x-toolkit} @* Use the X toolkit (@file{libXt}) for
+METAFONT (default is yes).
+
+@noindent @code{--enable-*win} @* Include various types of other window
+support for METAFONT.
+
+@noindent @code{--disable-mf-nowin} @* Do not build a separate
+non-graphically-capable METAFONT.
+
+@noindent @code{--disable-web-progs} @* Do not build the WEB programs
+@file{bibtex}, @dots{}, @file{weave}, e.g., if you just want to (re)build
+some engines.
+
+@noindent @code{--disable-omfonts} @* Build the WEB versions of the
+Omega font utilities @file{ofm2opl}, @file{opl2ofm}, @file{ovf2ovp}, and
+@code{ovp2ovf} instead of the C version @file{omfonts}. The WEB and C versions
+should be roughly equivalent.
+
+@subsubsection Configure options for @file{texk/bibtex-x}
+
+The former modules @code{bibtex8} and @code{bibtexu} have been merged into
+@code{bibtex-x} (extended BibTeX).
+
+@noindent @code{--disable-bibtex8} @* Do not build the @file{bibtex8} program.
+
+@noindent @code{--disable-bibtexu} @* Do not build the @file{bibtexu} program
+(building @file{bibtexu} requires @code{ICU} libraries).
+
+@subsubsection Configure options for @file{texk/dvipdfm-x}
+
+The former modules @code{dvipdfmx} and @code{xdvipdfmx} have been merged into
+@code{dvipdfm-x}.
+
+@noindent @code{--disable-dvipdfmx} @* Do not build the @file{dvipdfmx} program.
+
+@noindent @code{--disable-xdvipdfmx} @* Do not build the @file{xdvipdfmx}
+program (building @file{xdvipdfmx} requires the @code{freetype} library).
+
+@subsubsection Configure options for @file{texk/dvisvgm}
+
+@noindent @code{--with-system-libgs} @* Build @file{dvisvgm} using installed
+Ghostscript (@code{gs}) headers and library (not allowed for a native @TL{}
+build). The default is to load the @code{gs} library at runtime if
+possible, or otherwise disable support for PostScript specials.
+
+@noindent @code{--with-libgs-includes=@var{dir}}, @code{--with-libgs-libdir=@var{dir}}
+@* Specify non standard locations of the Ghostscript headers and library.
+
+@subsubsection Configure options for @file{texk/xdvik}
+
+@noindent @code{--with-gs=@var{path}} @* Hardwire the location of Ghostscript
+(@file{gs}).
+
+@noindent @code{--with-xdvi-x-toolkit=@var{kit}} @* Use toolkit @code{@var{kit}}
+(@code{motif}/@/@code{xaw}/@/@code{xaw3d}/@/@code{neXtaw}) for @file{xdvi}.
+The default is @code{motif} if available, else @code{xaw}.
+
+@subsubsection Configure options for @file{utils/xindy}
+
+@noindent @code{--enable-xindy-rules} @* Build and install xindy rules
+(default: yes, except for a native @TL{} build).
+
+@noindent @code{--enable-xindy-docs} @* Build and install xindy
+documentation (default: yes, except for a native @TL{} build).
+
+@noindent @code{--with-clisp-runtime=@var{path}} @* Specifies the full path
+of the @code{CLISP} runtime (@file{lisp.run} or @file{lisp.exe}) to be
+installed. When specified as @code{default} (the default for a native TeX
+Live build) the path is determined by the @code{CLISP} executable; the value
+@code{system} (not allowed for a native @TL{} build, but the default for
+a non-native one) indicates that @file{xindy} will use the installed version
+of @file{clisp} (that must be identical to the one used to build @file{xindy}).
+
+@noindent @code{--with-recode} @* Use @file{recode} instead of @file{iconv}
+to build the xindy rules and documentation, required for some systems where
+@file{iconv} is missing or broken.
+
+
+@node Library Specific Options
+@subsection Configure Options for Library Modules
+
+@subsubsection @code{--with-system-@var{lib}}
+
+Use an installed (system) version of the library @code{@var{lib}}; this option
+exists for most libraries, but is not allowed for a native @TL{} build.
+
+For many libraries there are in addition @code{--with-@var{lib}-includes=@var{dir}} and
+@code{--with-@var{lib}-libdir=@var{dir}} to indicate non standard search locations,
+others use @file{pkg-config} or similar to determine the required flags.
+
+The top-level @file{configure} script performs a consistency check for all
+required system libraries and bails out early if some of these tests fail.
+
+@subsubsection Configure Options for @code{kpathsea}
+
+@noindent @code{--enable-@var{cmd}-default},
+@code{--disable-@var{cmd}-default} @* Determine the compile time default
+whether or not to run @var{cmd}=@command{mktexmf}, @command{mktexpk},
+@command{mktextfm}, @command{mkocp}, @command{mkofm}, @command{mktexfmt}, or
+@command{mktextex} to generate a missing MF source, PK font, TFM file, OCP
+file, OFM file, format file, or @TeX{} source respectively.
+
+@subsubsection Configure Options for @code{fontconfig}
+
+Building @code{XeTeX} on non-Mac systems requires @code{fontconfig} headers
+and library.
+
+@noindent @code{--with-fontconfig-includes=@var{dir}},
+@code{--with-fontconfig-libdir=@var{dir}} @* If one or both of these options are
+given, the required flags are derived from them; otherwise, they are
+determined via @file{pkg-config} (if present).
+
+@subsubsection Configure Options for system @file{poppler}
+
+Building @code{LuaTeX} and @code{XeTeX} requires @code{poppler} either from
+the @TL{} tree or system headers and library; @code{pdfTeX} requires either
+@code{xpdf} from the @TL{} tree or system @code{poppler} headers and
+library.
+
+@noindent @code{--with-system-poppler} @* Use a system version (0.18 or
+better) of @code{poppler} for @code{LuaTeX} and @code{XeTeX} (and
+@file{pkg-config} to obtain the required flags).
+
+@noindent @code{--with-system-xpdf} @* Use a system version (0.12 or better)
+of @code{poppler} (and @file{pkg-config}) for @code{pdfTeX} instead of
+@code{xpdf} from the @TL{} tree.
+
+REFER to @code{--disable-largefile}
+
+@node Variable Assignments
+@subsection Interesting and/or Important Variables
+
+The values for these variables can come either from the environment or from
+@file{configure} arguments of the form @code{VAR=value}.
+
+@subsubsection @code{CC}, @code{CXX}, @code{CPPFLAGS}, @dots{}
+
+As usual, these variables specify the name (or full path) of compilers,
+preprocessor flags, and similar.
+
+@subsubsection @code{FT2_CONFIG}, @code{ICU_CONFIG}, @code{PKG_CONFIG}
+
+These specify the name (or path) for the @file{freetype-config},
+@file{icu-config}, and @file{pkg-config} commands used to determine the
+flags required for system versions of @file{libfreetype}, the @code{ICU}
+libraries, or many other libraries.
+
+@subsubsection @code{CLISP}
+
+Name (or path) of the @file{clisp} executable, used to build @code{xindy}.
+
+@subsubsection @code{PERL}, @code{LATEX}, @code{PDFLATEX}
+
+Name (or path) for the @file{perl}, @file{latex}, and @file{pdflatex}
+commands used, e.g., to build the @code{xindy} documentation
+
+@subsubsection @code{TL_PLATFORM}
+
+The utility program @file{biber} consists of many components bundled by the
+@code{Par::Packer} mechanism of @file{perl}. Therefore they are not built
+as part of @TL{} but by the @code{biber} maintainers and third-party
+builders.
+
+In order that @code{make install} creates all executables in @file{bindir},
+the @code{biber} module contains pre-made binaries for the platforms for
+which they are available. @TL{} merely checks if an executable is present
+for the current platform, and if so, installs it.
+
+The complication is hidden in the phrase "current platform". @TL{} has its
+own ideas about platform names, and the mapping from the canonical system
+name determined by @file{config.guess} or @file{config.sub} to the @TL{}
+platform name is not trivial. A value given for @code{TL_PLATFORM} is used
+as @TL{} platform name. Otherwise, we use copies of the standard
+@code{perl} modules @code{TeXLive/TLUtils.pm} and
+@code{TeXLive/TLConfig.pm}, to avoid duplicating the platform-detection
+logic.
+
+@subsubsection @code{KPSEWHICH}
+
+Name (or path) of an installed @file{kpsewhich} binary, used by @code{make
+check} to determine the location of, e.g., @file{cmbx10.tfm}.
+
+@subsubsection @code{MAKE}, @code{SED}, @dots{}
+
+Name (or path) of @acronym{GNU} make, @acronym{GNU} sed, and similar; used at the
+top-level and propagated to all subdirectories.
+
+
+@node Cross Compilation
+@section Cross Compilation
+
+In a cross compilation a @code{build} system is used to create binaries to
+be executed on a @code{host} system with different hardware and/or operating
+system.
+
+In simple cases the build system can execute binaries for the host system.
+This typically occurs for bi-arch systems where, e.g., @code{i386-linux}
+binaries can run on @code{x86_64-linux} systems and @code{win32} binaries
+can run on @code{win64} systems. ALthough sometimes called "native cross",
+this is technically no cross compilation. In most such cases it suffices to
+specify suitable compiler flags. It might be useful to add the configure
+option @code{--build=@var{host}} to get the correct canonical host name, but
+note that this should not be @code{--host=@var{host}} (@pxref{Hosts and
+Cross-Compilation, , , autoconf, Autoconf})!
+
+@menu
+* Configuring:: Configuring for Cross Compilation.
+* Problems:: Cross Compilation Problems.
+@end menu
+
+@node Configuring
+@subsection Configuring for Cross Compilation
+
+In a genuine cross compilation binaries for the host system can not execute
+on the build system and it is necessary to specify the configure options
+@code{--host=@var{host}} and @code{--build=@var{build}} with two different
+values. Building binaries requires suitable "cross" tools, e.g., compiler,
+linker, and archiver, and perhaps a "cross" version of @command{pkg-config}
+and similar to locate host system libraries. Autoconf expects that these
+cross tools are given by their usual variables or found under their usual
+name prefixed with @code{@var{host}-}. Here a list of such tools and
+corresponding variables:
+
+@example
+@file{ar} @code{AR}
+@file{freetype-config} @code{FT2_CONFIG}
+@file{g++} @code{CXX}
+@file{gcc} @code{CC}
+@file{icu-config} @code{ICU_CONFIG}
+@file{objdump} @code{OBJDUMP}
+@file{pkg-config} @code{PKG_CONFIG}
+@file{ranlib} @code{RANLIB}
+@file{strip} @code{STRIP}
+@end example
+
+@noindent In order to, e.g., build @code{mingw32} binaries on
+@code{x86_64-linux} with a cross compiler found as
+@file{i386-pc-mingw32-gcc} one would specify @* @ @ @
+@code{--host=i386-pc-mingw32 --build=x86_64-linux-gnu} @* or perhaps @* @ @
+@ @code{--host=mingw32 --build=x86_64-linux CC=i386-pc-mingw32-gcc} @* but
+this might require to add @code{CXX} and others.
+
+Configure arguments such as @code{CFLAGS=@dots{}} refer to the cross compiler.
+If necessary, you can specify compilers and flags for the few auxiliary C
+and C++ programs required for the build process as configure arguments
+
+@example
+@code{BUILDCC=@dots{}}
+@code{BUILDCPPFLAGS=@dots{}}
+@code{BUILDCFLAGS=@dots{}}
+@code{BUILDCXX=@dots{}}
+@code{BUILDCXXFLAGS=@dots{}}
+@code{BUILDLDFLAGS=@dots{}}
+@end example
+
+@node Problems
+@subsection Cross Compilation Problems
+
+The fact that binaries for the host system can not be executed on the build
+system causes some problems.
+
+One problem is, that configure tests using @code{AC_RUN_IFELSE} can compile
+and link the test program but can not execute it. Such tests should be
+avoided if possible and otherwise must supply a pessimistic test result.
+
+An other problem arises if the build process must execute some (auxiliary or
+installable) programs. Auxiliary programs can be placed into a subdirectory
+that is configured natively as is done for @file{texk/dvipsk/squeeze},
+@file{texk/web2c/web2c}, and @file{texk/xdvik/squeeze}. The module
+@file{libs/freetype} uses the value of @code{CC_BUILD}, @file{gcc} with or
+without the build system as prefix, or @file{cc} as compiler for the
+auxiliary program.
+
+The situation for installable programs needed by the build process is
+somewhat different. A quite expensive possibility, chosen for the
+@code{ICU} libraries in module @file{libs/icu}, is to first compile natively
+for the build system and in a second step to use these (uninstalled)
+programs during the cross compilation. This would also be possible for the
+tools such as @file{tangle} used in the module @file{texk/web2c} to build
+the WEB programs, but that would require to first build a native
+@code{kpathsea} library. To avoid this complication, cross compilation of
+the WEB or CWEB programs in this module requires sufficiently recent
+installed versions of @file{tangle}, @file{ctangle}, @file{otangle}, and
+@file{tie}.
+
+
+@node Coding Rules
+@section Coding Rules for @TL{}
+
+@subsection Declarations
+
+@subsubsection ANSI C function prototypes and definitions
+
+The @TL{} build system no longer supports pre-ANSI C compilers. Thus all
+function prototypes and definitions must conform to the ANSI C standard
+(including @code{void} in the declaration of C functions with no
+parameters). On the other hand @TL{} is built for many different systems,
+some of them not supporting the C99 standard. Therefore using C99 features
+should be avoided if that can easily be done. In particular C code must not
+contain declarations after statements or C++ type comments.
+
+If some C99 (or later) constructs have to be used, the module should verify
+that they are available and otherwise provide an alternative. The module
+@file{texk/chktex} uses, e.g., the C99 function @code{stpcpy()} that may or
+may not be available on a particular system, uses
+@code{AC_CHECK_DECLS([stpcpy])} in @file{configure.ac} to test this, and
+provides the perhaps slightly less efficient alternative @* @ @ @ @code{#if
+!(defined HAVE_DECL_STPCPY && HAVE_DECL_STPCPY)} @* @ @ @ @code{static
+inline char * stpcpy(char *dest, const char *src)} @* @ @ @ @code{@{} @* @ @
+@ @code{@ @ @ return strcpy(dest, src) + strlen(src);} @* @ @ @ @code{@}} @* @ @
+@ @code{#endif} @* in the file @file{Utility.h}.
+
+@subsubsection Static Functions
+
+Functions used in only one file should be declared @code{static}; they
+require no prototype except as forward declaration.
+
+@subsubsection Extern Functions
+
+Functions not declared @code{static}, usually because they are used in
+several files, require an (@code{extern}) prototype in exactly one
+header which is included in the file defining the function and in all files
+using that function --- this is the only way to guarantee consistency
+between definition and use of functions. You must not have @code{extern}
+declarations sprinkled throughout the C code (with or without comment where
+that function is defined).
+
+@subsubsection Variables
+
+The declaration of global variables must follow analogous rules, they are
+either declared @code{static} if used in only one files or declared
+@code{extern} in exactly one header and instantiated in exactly one file.
+
+@subsection Const
+
+@subsubsection Function Parameters
+
+Ideally, a function parameter not modified by the function should be
+declared as @code{const}. This is important in particular for strings
+(@code{char*}) because the actual arguments are often string literals. It
+is perfectly legitimate and safe to use a type @code{char*} value for a type
+@code{const char*} variable (in an assignment, as initializer, as function
+argument, or as return value). It is equally safe to use a type
+@code{char**} value for a type @code{const char*const*} variable, but not
+for a type @code{const char**} variable since that might cause modification
+of a quantity supposed to be constant. Getting all @code{const} qualifiers
+right is often quite involved but can be done in most cases. There are,
+however, a few notable exceptions: the X11 headers are full of declarations
+that ought to use @code{const} but do not and the same is true to some
+extent for @file{libfreetype} (but not anymore for @code{zlib}).
+
+@subsubsection What Must be Avoided
+
+The @file{gcc} compiler warnings "assignment discards qualifiers@dots{}" and
+analogous warnings for "initialization", "passing arg", or "return" must be
+avoided under all circumstances, except when caused by X11 headers/macros or
+third party code.
+
+@subsubsection What Should be Avoided
+
+A type cast, e.g., from @code{const char*} to @code{char*} does not solve
+any problems; depending on warning options, it may only hide them.
+Therefore such casts should be avoided whenever possible and otherwise must
+be carefully analyzed to make sure that they can not cause the modification
+of quantities supposed to be constant.
+
diff --git a/Build/source/doc/texlive.info b/Build/source/doc/texlive.info
new file mode 100644
index 00000000000..d9909a9701c
--- /dev/null
+++ b/Build/source/doc/texlive.info
@@ -0,0 +1,1214 @@
+This is texlive.info, produced by makeinfo version 5.1 from
+texlive.texi.
+
+This file documents the TeX Live system, etc.
+
+ Copyright (C) 2013 Xxx & Yyy.
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the TeX Users Group.
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* TeX Live: (texlive). The TeX Live System.
+END-INFO-DIR-ENTRY
+
+
+File: texlive.info, Node: Top, Next: Introduction, Up: (dir)
+
+The TeX Live System
+*******************
+
+This manual documents how to build, install, and use TeX Live. It
+corresponds to version 2014/dev, released in August 2013.
+
+* Menu:
+
+* Introduction:: Overview.
+
+* Build System:: The TeX Live Build System.
+
+* Index:: General index.
+
+
+File: texlive.info, Node: Introduction, Next: Build System, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+This manual corresponds to version 2014/dev of the TeX Live system,
+released in August 2013.
+
+
+File: texlive.info, Node: Build System, Next: Index, Prev: Introduction, Up: Top
+
+2 The TeX Live Build System
+***************************
+
+The TeX Live build system has been redesigned in 2009, using Autoconf,
+Automake, and Libtool. Thus
+ 'configure && make && make check && make install'
+or the more or less equivalent top-level 'Build' script suffice to build
+and install the TeX Live programs, where 'make check' performs various
+test of the generated programs that are not necessary but strongly
+recommend.
+
+ The main components of the TeX Live build system are TeX specific
+programs in subdirectories 'texk/PROG', utility programs in
+subdirectories 'utils/PROG', TeX specific libraries in the
+subdirectories 'texk/kpathsea' and 'texk/ptexenc' used by the TeX
+specific programs, and generic libraries in subdirectories 'libs/LIB'.
+
+ The primary design goal is modularity. Each program and library
+module (or package) specifies its own requirements and properties, such
+as required libraries, whether an installed (system) version of a
+library can be used, configure options to be seen at the top-level, and
+more. An explicit list of all available modules is only kept in one
+central place.
+
+ A second, related goal is to configure and build each library before
+configuring any other (program or library) module using that library.
+This allows to check for properties and features of a library built as
+part of the TeX Live tree in much the same way as for a system version
+of that library.
+
+ Most generic libraries and several programs are maintained
+independently. The corresponding modules use (parts of) the distributed
+source tree and document any modifications of that source tree.
+
+ All this should simplify upgrading of modules maintained
+independently and/or integrating new modules into the TeX Live build
+system.
+
+* Menu:
+
+* Prerequisites:: Requirements to Build TeX Live.
+* Building and Installing:: Building and Installing TeX Live.
+* Source Tree:: The TeX Live Source Tree.
+* Configure Options:: List of all Configure Options.
+* Cross Compilation:: Cross Compilation.
+* Coding Rules:: Coding Rules for TeX Live.
+
+
+File: texlive.info, Node: Prerequisites, Next: Building and Installing, Up: Build System
+
+2.1 Requirements to Build TeX Live
+==================================
+
+Building the TeX Live programs requires
+
+ * C and C++ compilers
+
+ * GNU 'make'
+
+and uses the libraries included in the TeX Live source tree. There are,
+however, some additional requirements
+
+ * 'xindy' requires GNU 'clisp' and in addition 'perl', 'latex', and
+ 'pdflatex' to build the rules and/or documentation.
+
+ * Autodetection of the TeX Live platform name for 'biber' requires
+ 'perl'.
+
+ * 'xpdfopen' and 'xdvik' require X11 headers and libraries (often a
+ "development" package, not installed by default).
+
+ * XeTeX requires an Objective C++ compiler under Mac OS X or
+ otherwise 'libfontconfig' (again both headers and library).
+
+ * Modification of any '.y' or '.l' source files requires 'bison' or
+ 'flex' to updatete the corresponding C sources.
+
+ * Modification of any part of the build system ('M4' macros,
+ 'configure.ac', 'Makefile.am', or their fragments) requires GNU M4,
+ GNU Autoconf, GNU Automake, and GNU Libtool to update the generated
+ files.
+
+Without the required tools modifying such files or building these
+programs must avoided, e.g., via '--disable-xindy' or '--without-x'.
+
+
+File: texlive.info, Node: Building and Installing, Next: Source Tree, Prev: Prerequisites, Up: Build System
+
+2.2 Building and Installing TeX Live
+====================================
+
+The top-level 'Build' script can be used to configure and build
+everything in a subdirectory (root of the build tree, default 'Work'),
+install everything in an other subdirectory (default 'inst'), and
+finally run 'make check'. Several details of this process can be
+specified via environment variables and a few leading options; all
+remaining arguments (assignments or options) are passed to the
+'configure' script. Or one can run 'configure' and 'make' in a suitable
+empty subdirectory.
+
+ Running the top-level 'configure' script configures just the
+top-level and the subdirectories 'libs', 'utils', and 'texk'. Running
+'make' at the top-level iterates over all TeX specific libraries, first
+configuring the module if necessary to create the 'Makefile' and then
+building it if that is required. Finally 'make' is run in 'libs',
+'utils', and 'texk' to iterate over all generic libraries, utility
+programs, and TeX specific programs. Running the top-level 'make' a
+second time iterates again over all library and program modules but will
+find nothing to be done.
+
+ In case configuring or building a module fails, one could fix the
+problem, remove the subdirectory for the module from the build tree, and
+rerun the top-level 'make' (or 'Build' script with '--no-clean' as
+additional first argument).
+
+ With the configure option '--disable-all-pkgs' all program and
+library modules are configured but none of them are built. The
+'Makefile' for each such module contains all build rules and
+dependencies and can be invoked to build an individual program or
+library and causes to first build any required libraries. This build
+"on demand" procedure is used, e.g., in the 'luatex' repository to build
+LuaTeX, essentially from a subset of the complete TeX Live tree.
+
+2.2.1 Installation Paths
+------------------------
+
+Running 'make install' (or 'make install-strip') installs executables in
+'BINDIR', libraries in 'LIBDIR', headers in 'INCLUDEDIR', data
+(including "linked scripts") in 'DATAROOTDIR/texmf-dist', manpages in
+'MANDIR', and TeX info files in 'INFODIR'. The values of these
+directories is determined by 'configure', either explictly as general
+options such as '--prefix=PREFIX' or '--bindir=BINDIR', or by their
+usual Autoconf defaults
+
+ PREFIX /usr/local
+ EXEC_PREFIX PREFIX
+ BINDIR EXEC_PREFIX/bin
+ LIBDIR EXEC_PREFIX/lib
+ INCLUDEDIR PREFIX/include
+ DATAROOTDIR PREFIX/share
+ MANDIR DATAROOTDIR/man
+ INFODIR DATAROOTDIR/info
+
+modified as follows:
+
+ * If the option '--enable-multiplatform' is given (or implied for a
+ native TeX Live build), '/HOST', i.e., the canonical host name is
+ appended to 'BINDIR' and 'LIBDIR'.
+
+ * In a native TeX Live build 'DATAROOTDIR' is set to 'PREFIX',
+ 'MANDIR' to 'PREFIX/texmf-dist/doc/man', and 'INFODIR' to
+ 'PREFIX/texmf-dist/doc/info'.
+
+The top-level 'configure' script displays all these installation paths.
+
+ For a native TeX Live build either for the TeX Live DVD or for an
+additional platform the contents of 'BINDIR' should be copied to the
+directory 'Master/bin/ARCH' of the TeX Live tree where 'ARCH' is the TeX
+Live platform name corresponding to canonical host name 'HOST', the
+contents of 'LIBDIR' and 'INCLUDEDIR' can be discarded, and everything
+else should match files already present in the TeX Live tree.
+
+2.2.2 Linked Scripts
+--------------------
+
+Quite a few executables are architecture independent Shell, Perl, or
+other scripts. Some of them are maintained as part of the TeX Live
+source tree, but most are maintained elsewhere with copies under
+'texk/texlive/linked_scripts'. They are installed under
+'DATAROOTDIR/texmf-dist/scripts'; for Unix-like systems there is a
+symbolic link pointing, e.g., from 'BINDIR/ps2eps' to
+'DATAROOTDIR/texmf-dist/scripts/ps2eps/ps2eps.pl' whereas for Windows
+'BINDIR/ps2eps.exe' is a copy of a small standard binary serving the
+same purpose. One reason for all this is to avoid having many copies
+for the same script, but most importantly this allows to invoke the same
+Perl or other script under Windows.
+
+2.2.3 Distro Builds
+-------------------
+
+For a distro build you must use
+ '--disable-native-texlive-build'
+and should use
+ '--with-banner-add=/SOMEDISTRO'
+to identify your distro. You may specify
+ '--enable-shared'
+to build shared TeX specific libraries and might add
+ '--disable-static'
+to not build the static ones. You would like to use
+ '--with-system-LIB' for as many libraries as possible and may then
+have to add '--with-LIB-includes=DIR' and/or '--with-LIB-libdir=DIR'.
+
+ You should specify
+ '--prefix=/usr' or perhaps '--prefix=/opt/TeXLive'
+and perhaps add
+ '--libdir=\${exec_prefix}/lib64'
+for 64bit bi-arch (Linux) systems.
+
+ To make a usable TeX installation, you have to add (thousands of)
+support files in addition to the binaries that are built and installed
+here. The support files are maintained completely independently. The
+best basis for dealing with them is the TeX Live (plain text) database
+and/or the TeX Live installer.
+
+
+File: texlive.info, Node: Source Tree, Next: Configure Options, Prev: Building and Installing, Up: Build System
+
+2.3 The TeX Live Source Tree
+============================
+
+The TeX Live source tree is the subtree of the complete TeX Live tree
+rooted at 'Build/source' and contains the sources for all TeX Live
+executables as well as 'make' rules to build and install them together
+with some of their support files.
+
+* Menu:
+
+* Top Levels:: The Top-Level Directories.
+* Library Modules:: Structure of Library Modules.
+* Program Modules:: Structure of Program Modules.
+* Extending:: Adding New Modules.
+
+
+File: texlive.info, Node: Top Levels, Next: Library Modules, Up: Source Tree
+
+2.3.1 The Top-Level Directories
+-------------------------------
+
+In general, the TeX Live build system uses the latest released versions
+of the GNU build tools, installed directly from the original GNU
+releases (e.g., by building them with
+ 'configure --prefix=/usr/local/gnu'
+and having 'PATH' start with '/usr/local/gnu/bin'). Currently these are
+
+ autoconf (GNU Autoconf) 2.69
+ automake (GNU automake) 1.14
+ ltmain.sh (GNU libtool) 2.4.2
+ bison (GNU Bison) 3.0
+ flex 2.5.37
+ m4 (GNU M4) 1.4.16
+
+These versions should be used to update the generated files (e.g.,
+'configure' or 'Makefile.in') in all or parts of the TeX Live tree when
+some of their sources have been changed. This can be done explicitly
+with the top-level 'reautoconf' script or implicitly by using the
+configure option '--enable-maintainer-mode'.
+
+ The subdirectories 'm4', 'build-aux', and 'am' contain 'M4' macros,
+auxiliary shell scripts, and 'Makefile.am' fragments respectively, all
+of them used in many places.
+
+ The file 'm4/kpse-pkgs.m4' contains lists of all program and library
+modules. Each such module contributes fragments defining its
+capabilities and requirements to the 'configure.ac' scripts at the
+top-level and in the subdirectiories 'libs', 'utils', and 'texk'.
+Modules absent when generating the 'configure' scripts for these top
+levels are, however, silently ignored. The fragments from program
+modules supply configure options to disable or enable building them,
+those from library modules specify if an installed (system) version of
+that library can be used. This decides which modules need to be built,
+although all modules must be configured for the benefit of 'make'
+targets such as 'dist' or 'distcheck'.
+
+ The subdirectory 'extra' contains things which are not part of the
+TeX Live build, but are present for convenience, e.g., 'epstopdf'
+developed here or 'xz' required by the TeX Live installer.
+
+
+File: texlive.info, Node: Library Modules, Next: Program Modules, Prev: Top Levels, Up: Source Tree
+
+2.3.2 Structure of Library Modules
+----------------------------------
+
+The structure of library modules is best explained with a few examples.
+
+2.3.2.1 The 'png' library in 'libs/libpng'
+..........................................
+
+This generic library uses the distributed source tree in, e.g.,
+'libpng-1.5.17' with all modifications recorded in
+'libpng-1.5.17-PATCHES/*'. The 'configure.ac' fragment
+'ac/withenable.ac' contains
+
+ KPSE_WITH_LIB([libpng], [zlib])
+
+with the module name and indicating the dependency on 'zlib'. A third
+argument 'tree' would specify that the library from the TeX Live tree
+can not be replaced by a system version. That not being the case, a
+second fragment 'ac/libpng.ac' contains
+
+ KPSE_TRY_LIB([libpng],
+ [#include <png.h>],
+ [png_structp png; png_voidp io; png_rw_ptr fn;
+ png_set_read_fn(png, io, fn);])
+
+and provides the simple C code
+
+ #include <png.h>
+ int main ()
+ { png_structp png; png_voidp io; png_rw_ptr fn;
+ png_set_read_fn(png, io, fn);
+ return 0; }
+
+used to verify the usability of a system version. The similar macro
+'KPSE_TRY_LIBXX' would provide some C++ code. These fragments are
+included by 'configure.ac' at the top levels.
+
+ A proxy build system consisting of 'configure.ac' and 'Makefile.am'
+bypasses the distributed one and consequently a few generated files and
+auxiliary scripts are removed from the distributed source tree.
+
+ The module is supplemented by the file 'm4/kpse-libpng-flags.m4' that
+defines the 'M4' macro 'KPSE_LIBPNG_FLAGS' used by all modules depending
+on this library in their 'configure.ac' to generate the 'make' variables
+'LIBPNG_INCLUDES' for use in 'CPPFLAGS', 'LIBPNG_LIBS' for use in
+'LDADD', 'LIBPNG_DEPEND' for use as dependency, and 'LIBPNG_RULE'
+defining 'make' rules to rebuild the library.
+
+ In addition 'm4/kpse-libpng-flags.m4' supplies the configure option
+'--with-system-libpng' and uses 'pkg-config' to determine the flags
+required for the system library.
+
+2.3.2.2 The 'zlib' library in 'libs/zlib'
+.........................................
+
+This generic library is quite analogous to 'libpng' but does not depend
+on any other library. The file 'm4/kpse-zlib-flags.m4' supplies the
+configure option '--with-system-zlib' as well as '--with-zlib-includes'
+and '--with-zlib-libdir' to specify non standard locations of the 'zlib'
+headers and/or library.
+
+2.3.2.3 The 'freetype' library in 'libs/freetype2'
+..................................................
+
+In this case 'configure.ac' is almost trivial and 'Makefile.am' is a
+wrapper that invokes 'configure' and 'make' of the distributed source,
+followed by 'make install' with the build tree as destination. The
+flags required for the system library are obtained through
+'freetype-config'.
+
+2.3.2.4 The 'kpathsea' library in 'texk/kpathsea'
+.................................................
+
+This is one of the TeX specific libraries that are maintained as part of
+TeX Live. Other than the generic libraries they are (static and/or
+shared) Libtool libraries and are installed together with the programs.
+They are, however, not part of the TeX Live DVD as distributed by TeX
+user groups.
+
+ It is possible, although quite unusual to specify the configure
+option '--with-system-kpathsea' in order to use a system version of the
+library and it may then be necessary to specify
+'--with-kpathsea-includes' and/or '--with-kpathsea-libdir'.
+
+ In addition to 'ac/withenable.ac' and 'ac/kpathsea.ac' there is a
+third fragment 'ac/mktex.ac' included by both 'ac/withenable.ac' and
+'configure.ac' that supplies configure options such as
+'--enable-mktextfm-default' determining the compile time default whether
+or not to run 'mktextfm' to generate a missing '.tfm' file. Note,
+however, that this can be changed by the command line options
+'-mktex=tfm' and '-no-mktex=tfm' for TeX-like engines.
+
+
+File: texlive.info, Node: Program Modules, Next: Extending, Prev: Library Modules, Up: Source Tree
+
+2.3.3 Structure of Program Modules
+----------------------------------
+
+The structure of program modules is again best explained with a few
+examples.
+
+2.3.3.1 The 't1utils' package in 'utils/t1utils'
+................................................
+
+Once again we use the distributed source tree 't1utils-1.37' with
+modifications documented in 't1utils-1.37-PATCHES/*' and a proxy build
+system consisting of 'configure.ac' and 'Makefile.am'. The fragment
+'ac/withenable.ac' contains
+
+ KPSE_ENABLE_PROG([t1utils])
+
+specifying the module name without any dependencies and supplies the
+configure option '--disable-t1utils'.
+
+2.3.3.2 The 'xindy' package in 'utils/xindy'
+............................................
+
+This module uses the distributed source tree 'xindy-2.4' with
+modifications documented in 'xindy-2.4-PATCHES/*', a proxy
+'configure.ac', and a 'Makefile.am' that descends into 'xindy-2.4'. The
+fragment 'ac/withenable.ac' contains
+
+ KPSE_ENABLE_PROG([xindy], , [disable native])
+ m4_include(kpse_TL[utils/xindy/ac/xindy.ac])
+ m4_include(kpse_TL[utils/xindy/ac/clisp.ac])
+
+where 'disable' in the third argument indicates that 'xindy' is only
+built if explicitly enabled by '--enable-xindy' (because it requires
+'clisp') and 'native' disallows cross compilation. The additional
+fragments 'ac/xindy.ac' and 'ac/clisp.ac' specify more configure options
+to be seen at the top-leved with 'ac/xindy.ac' also included by
+'configure.ac'.
+
+2.3.3.3 The 'xdvik' package in 'texk/xdvik'
+...........................................
+
+This package is maintained as part of the TeX Live tree with sources in
+its top-level and the subdirectory 'gui'. The fragment
+'ac/withenable.ac' contains
+
+ dnl extra_dirs = texk/xdvik/squeeze
+ KPSE_ENABLE_PROG([xdvik], [kpathsea freetype2], [x])
+ m4_include(kpse_TL[texk/xdvik/ac/xdvik.ac])
+
+and specifies the dependency on the 'kpathsea', 'freetype', and 'X11'
+libraries. The 'M4' comment (following 'dnl') signals the subsidiary
+'squeeze/configure.ac'. This is needed because the main executable
+'xdvi-bin' (to be installed as, e.g., 'xdvi-xaw') is for the 'host'
+system whereas the auxiliary program 'squeeze/squeeze' has to run on the
+'build' system and in a cross compilation they differ. The additional
+fragment 'ac/xdvik.ac' is also included by 'configure.ac' and supplies
+the configure option '--with-xdvi-x-toolkit' also seen at the top-level.
+
+2.3.3.4 The subdirectory 'utils/asymptote'
+..........................................
+
+This subdirectory contains the sources for 'asy' and 'xasy' but due to
+its complexity and prerequisites (e.g., 'libGL') it is not part the TeX
+Live build system. These programs must be built and installed
+independently, but are contained in the TeX Live DVD together with their
+support files.
+
+
+File: texlive.info, Node: Extending, Prev: Program Modules, Up: Source Tree
+
+2.3.4 Adding New Modules
+------------------------
+
+2.3.4.1 Adding a New Program Module
+...................................
+
+A TeX specific program module in a subdirectory 'texk/PROG' may use the
+TeX specific libraries and is included by adding its name 'PROG' to the
+'M4' list 'kpse_texk_pkgs' defined in 'm4/kpse-pkgs.m4'. A generic
+program module in a subdirectory 'utils/PROG' must not use the TeX
+specific libraries and is included by adding its name 'PROG' to the 'M4'
+list 'kpse_utils_pkgs' in 'm4/kpse-pkgs.m4'. Apart from the program
+sources and build system ('configure.ac' and 'Makefile.am') the
+subdirectory 'texk/PROG' or 'utils/PROG' must provide a fragment
+'ac/withenable.ac' that contains the 'M4' macro 'KPSE_ENABLE_PROG'
+defined in 'm4/kpse-setup.m4' with 'PROG' as mandatory first argument
+and three optional arguments: a list of required libraries from the TeX
+Live tree, a list of options ('disable' if this module is not to be
+built without the configure option '--enable-PROG', 'native' if cross
+compilation is not possible, 'x' if the program requires X11 libraries),
+and a comment added to the help text for the configure option
+'--enable-PROG' or '--disable-PROG'.
+
+ If the module requires specific configure options to be seen at the
+top-level, they should be defined in an additional fragment 'ac/PROG.ac'
+included from 'ac/withenable.ac' and 'configure.ac'.
+
+2.3.4.2 Adding a New Generic Library Module
+...........................................
+
+A generic library module in a subdirectory 'libs/LIB' must not depend on
+TeX specific libraries and is included by adding its name 'LIB' to the
+'M4' list 'kpse_libs_pkgs' in 'm4/kpse-pkgs.m4' (before other libraries
+from the TeX Live tree it depends on). As for program modules the
+subdirectory 'libs/LIB' must contain the sources and build system for
+the library (and any installable support programs) and a fragment
+'ac/withenable.ac' that contains the 'M4' macro 'KPSE_WITH_LIB' defined
+in 'm4/kpse-setup.m4' with 'LIB' as mandatory first argument and two
+optional arguments: a list of required libraries from the TeX Live tree,
+and a list of options (currently only 'tree' if this library can not be
+replaced by a system version).
+
+ If a system version can be used, a second fragment 'ac/LIB.ac'
+containing the 'M4' macro 'KPSE_TRY_LIB' (or 'KPSE_TRY_LIBXX') with
+'LIB' as mandatory first argument and two additional arguments for the
+Autoconf macro 'AC_LANG_PROGRAM' is used to compile and link a small C
+(or C++) program as sanity check for using the system library.
+
+ In addition a file 'm4/kpse-LIB-flags' (at the top-level) must define
+the 'M4' macro 'KPSE_LIB_FLAGS' (all uppercase) setting up the 'make'
+variables 'LIB_INCLUDES', 'LIB_LIBS', 'LIB_DEPEND', and 'LIB_RULE' with
+the values required for 'CPPFLAGS', 'LDADD', dependencies, and a
+(multiline) make rule to rebuild the library when necessary, all that
+for the library from the TeX Live tree or perhaps for a system version.
+
+ If a system library is allowed 'KPSE_LIB_FLAGS' also provides the
+configure option '--with-system-LIB' and uses the additional 'M4' macro
+'KPSE_LIB_SYSTEM_FLAGS' to generate the 'make' variables for a system
+library. Furthermore the definition of the 'M4' macro
+'KPSE_ALL_SYSTEM_FLAGS' in 'm4/kpse-pkgs.m4' must be extended by the
+line
+ 'AC_REQUIRE([KPSE_LIB_SYSTEM_FLAGS])'
+
+2.3.4.3 Adding a New TeX Specific Library Module
+................................................
+
+A TeX specific library module in a subdirectory 'texk/LIB' may depend on
+other TeX specific libraries but must not depend on any generic library
+from the TeX Live tree. It is included as is a generic library module
+with these modifications:
+
+ * The library name 'LIB' is added to the 'M4' list
+ 'kpse_texlibs_pkgs' also in 'm4/kpse-pkgs.m4'.
+
+ * The fragment 'ac/withenable.ac' must use 'KPSE_WITH_TEXLIB'.
+
+
+File: texlive.info, Node: Configure Options, Next: Cross Compilation, Prev: Source Tree, Up: Build System
+
+2.4 List of all Configure Options
+=================================
+
+Corresponding to the large number of program and library modules there
+are plenty of configure options, most of which are described here. The
+command
+ 'configure --help'
+at the top-level gives an exhaustive list of all global options and a
+few important module specific ones, whereas, e.g.,
+ 'texk/lcdf-typetools/configure --help'
+also displays the 'lcdf-typetools' specific options not shown at the
+top-level. In addition the 'configure' command line may contain
+assignments for important variables.
+
+ Defaults for most options are set at the top-level and propagated
+explicitly to all subdirectories. Options specified on the command line
+are checked for consistency but are never modified.
+
+* Menu:
+
+* Global Options:: Global Configure Options.
+* Program Specific Options:: Configure Options for Program Modules.
+* Library Specific Options:: Configure Options for Library Modules.
+* Variable Assignments:: Interesting and/or Important Variables.
+
+
+File: texlive.info, Node: Global Options, Next: Program Specific Options, Up: Configure Options
+
+2.4.1 Global Configure Options
+------------------------------
+
+2.4.1.1 '--disable-native-texlive-build'
+........................................
+
+If enabled (the default), build for a TeX Live binary distribution as
+shipped by the user groups; this requires GNU make and implies
+'--enable-multiplatform' and '--enable-cxx-runtime-hack' unless they are
+explicitly disabled and enforces '--disable-shared'.
+
+ If building TeX Live for a GNU/Linux or other distribution, this
+would be disabled and system versions of most libraries would be used
+(see below). This may require GNU make, but will also try without it.
+
+ A related option '--enable-texlive-build' is automatically passed to
+all subdirectories (and can not be disabled). Subdirectories that could
+also be built independent from the TeX Live tree (such as 'utils/xindy'
+or 'texk/dvipng') can use this option, e.g., to choose TeX Live specific
+installation directories.
+
+2.4.1.2 '--prefix', '--exec-prefix', '--bindir', ...
+....................................................
+
+These options specify various installation directories as usual, all of
+them still prefixed by the value of an assignment for 'DESTDIR' on the
+'make' command line (*note Installation in a temporary location:
+(automake)Staged Installs.).
+
+2.4.1.3 '--enable-multiplatform'
+................................
+
+If enabled, install executables and libraries in platform dependent
+subdirectories of 'EPREFIX/bin' and 'EPREFIX/lib' (unless '--bindir=DIR'
+or '--libdir=DIR' is specified), where 'EPREFIX' is the value given or
+implied for 'exec_prefix'. The values for 'bindir' and 'libdir' are
+automatically propagated to all subdirectories.
+
+2.4.1.4 '--enable-cxx-runtime-hack'
+...................................
+
+If enabled and when using 'g++', try to statically link with
+'libstdc++', somewhat improving portability.
+
+2.4.1.5 '--enable-libtool-hack'
+...............................
+
+If enabled (at present the default for all platforms), prevents
+'libtool' from linking explicitly with 'dependency_libs'.
+
+2.4.1.6 '--enable-shared'
+.........................
+
+Build shared versions of the TeX specific ('kpathsea' and 'ptexenc')
+libraries; this is not allowed for a native TeX Live build.
+
+2.4.1.7 '--disable-largefile'
+.............................
+
+Omit large file support (LFS), needed on most 32-bit Unix systems for
+files with 2GB or more. The size of 'DVI' and 'GF' files must always be
+<2GB. With LFS there should be no limit on the size of 'PDF' files
+created by 'pdftex' or 'PS' files created by 'dvips'. The size of 'PDF'
+images included by 'pdftex' must, however, be <4GB when using 'xpdf' and
+<2GB when using older versions of 'poppler' (even on 64-bit systems with
+LFS), whereas 'poppler' Version 0.23 and later imposes no limit on the
+size of 'PDF' images.
+
+2.4.1.8 '--without-x'
+.....................
+
+Disable all programs using the X Window System.
+
+2.4.1.9 '--enable-compiler-warnings=[no|min|yes|max|all]'
+.........................................................
+
+Enable various degrees of compiler warnings for (Objective) C and C++.
+The default is 'yes' in maintainer-mode and 'min' otherwise. This
+option defines 'WARNING_[OBJ]C[XX]FLAGS' but these flags are not used in
+all library and program modules. Using them should help to resolve
+portability problems.
+
+ At the moment these warning flags are only defined for the GNU
+compilers but flags for other compilers could be added when needed.
+
+2.4.1.10 '--disable-missing'
+............................
+
+Immediately terminate the build process if a requested program or
+feature must be disabled, e.g., due to missing libraries.
+
+2.4.1.11 '--enable-silent-rules'
+................................
+
+Enable the use of less verbose build rules. When using GNU make or
+another 'make' implementation that supports nested variable expansions
+you can always specify 'V=1' on the make command line to get more
+respectively 'V=0' to get less verbosity.
+
+2.4.1.12 '--without-ln-s'
+.........................
+
+Required to build without working 'ln -s' for a Unix-like system. But
+note that 'make install' will not create anything useful and might even
+fail.
+
+2.4.1.13 '--enable-maintainer-mode'
+...................................
+
+Enable 'make' rules and dependencies not useful (and sometimes
+confusing) to the casual user. This requires current versions of the
+GNU build tools.
+
+
+File: texlive.info, Node: Program Specific Options, Next: Library Specific Options, Prev: Global Options, Up: Configure Options
+
+2.4.2 Configure Options for Program Modules
+-------------------------------------------
+
+2.4.2.1 '--enable-PROG', '--disable-PROG'
+.........................................
+
+Do or do not not build and install the program(s) of the module 'PROG'.
+
+2.4.2.2 '--disable-all-pkgs'
+............................
+
+Do not build any program modules, except those explicitly enabled.
+Without this option, all modules are built except those explicitly
+disabled and those that specify 'disable' in their 'ac/withenable.ac'
+fragment.
+
+2.4.2.3 Configure options for 'texk/web2c'
+..........................................
+
+'--with-banner-add=STR'
+Add 'STR' to the default version string ('TeX Live YEAR' or 'Web2C
+YEAR') appended to banner lines. This is ignored for a native TeX Live
+build, but distro builds should specify, e.g., '/SOMEDISTRO'.
+
+'--with-editor=CMD'
+Specify the command 'CMD' to invoke from the 'e' option of TeX-like
+engines, replacing the default 'vi +%d '%s'' for Unix or 'texworks
+--position=%d "%s"' for Windows.
+
+'--enable-auto-core'
+This option causes TeX & METAFONT to produce a core dump when a
+particular hacky filename is encountered.
+
+'--disable-dump-share'
+Make the 'fmt'/'base' dump files architecture dependent (somewhat faster
+on little-endian architectures).
+
+'--disable-ipc'
+Disable TeX's '--ipc' option.
+
+'--disable-tex', '--enable-etex', ...
+Do not or do build the various TeX, METAFONT, and MetaPost engines
+(defaults are defined in the fragment 'texk/web2c/ac/web2c.ac').
+
+'--enable-tex-synctex', '--disable-etex-synctex', ...
+Build the various TeX-like engines with or without 'SyncTeX' support
+(ignored for a native TeX Live build, defaults are again defined in
+'texk/web2c/ac/web2c.ac').
+
+'--with-mf-x-toolkit'
+Use the X toolkit ('libXt') for METAFONT (default is yes).
+
+'--enable-*win'
+Include various types of other window support for METAFONT.
+
+'--disable-mf-nowin'
+Do not build a separate non-graphically-capable METAFONT.
+
+'--disable-web-progs'
+Do not build the WEB programs 'bibtex', ..., 'weave', e.g., if you just
+want to (re)build some engines.
+
+'--disable-omfonts'
+Build the WEB versions of the Omega font utilities 'ofm2opl', 'opl2ofm',
+'ovf2ovp', and 'ovp2ovf' instead of the C version 'omfonts'. The WEB
+and C versions should be roughly equivalent.
+
+2.4.2.4 Configure options for 'texk/bibtex-x'
+.............................................
+
+The former modules 'bibtex8' and 'bibtexu' have been merged into
+'bibtex-x' (extended BibTeX).
+
+'--disable-bibtex8'
+Do not build the 'bibtex8' program.
+
+'--disable-bibtexu'
+Do not build the 'bibtexu' program (building 'bibtexu' requires 'ICU'
+libraries).
+
+2.4.2.5 Configure options for 'texk/dvipdfm-x'
+..............................................
+
+The former modules 'dvipdfmx' and 'xdvipdfmx' have been merged into
+'dvipdfm-x'.
+
+'--disable-dvipdfmx'
+Do not build the 'dvipdfmx' program.
+
+'--disable-xdvipdfmx'
+Do not build the 'xdvipdfmx' program (building 'xdvipdfmx' requires the
+'freetype' library).
+
+2.4.2.6 Configure options for 'texk/dvisvgm'
+............................................
+
+'--with-system-libgs'
+Build 'dvisvgm' using installed Ghostscript ('gs') headers and library
+(not allowed for a native TeX Live build). The default is to load the
+'gs' library at runtime if possible, or otherwise disable support for
+PostScript specials.
+
+'--with-libgs-includes=DIR', '--with-libgs-libdir=DIR'
+Specify non standard locations of the Ghostscript headers and library.
+
+2.4.2.7 Configure options for 'texk/xdvik'
+..........................................
+
+'--with-gs=PATH'
+Hardwire the location of Ghostscript ('gs').
+
+'--with-xdvi-x-toolkit=KIT'
+Use toolkit 'KIT' ('motif'/'xaw'/'xaw3d'/'neXtaw') for 'xdvi'. The
+default is 'motif' if available, else 'xaw'.
+
+2.4.2.8 Configure options for 'utils/xindy'
+...........................................
+
+'--enable-xindy-rules'
+Build and install xindy rules (default: yes, except for a native TeX
+Live build).
+
+'--enable-xindy-docs'
+Build and install xindy documentation (default: yes, except for a native
+TeX Live build).
+
+'--with-clisp-runtime=PATH'
+Specifies the full path of the 'CLISP' runtime ('lisp.run' or
+'lisp.exe') to be installed. When specified as 'default' (the default
+for a native TeX Live build) the path is determined by the 'CLISP'
+executable; the value 'system' (not allowed for a native TeX Live build,
+but the default for a non-native one) indicates that 'xindy' will use
+the installed version of 'clisp' (that must be identical to the one used
+to build 'xindy').
+
+'--with-recode'
+Use 'recode' instead of 'iconv' to build the xindy rules and
+documentation, required for some systems where 'iconv' is missing or
+broken.
+
+
+File: texlive.info, Node: Library Specific Options, Next: Variable Assignments, Prev: Program Specific Options, Up: Configure Options
+
+2.4.3 Configure Options for Library Modules
+-------------------------------------------
+
+2.4.3.1 '--with-system-LIB'
+...........................
+
+Use an installed (system) version of the library 'LIB'; this option
+exists for most libraries, but is not allowed for a native TeX Live
+build.
+
+ For many libraries there are in addition '--with-LIB-includes=DIR'
+and '--with-LIB-libdir=DIR' to indicate non standard search locations,
+others use 'pkg-config' or similar to determine the required flags.
+
+ The top-level 'configure' script performs a consistency check for all
+required system libraries and bails out early if some of these tests
+fail.
+
+2.4.3.2 Configure Options for 'kpathsea'
+........................................
+
+'--enable-CMD-default', '--disable-CMD-default'
+Determine the compile time default whether or not to run CMD='mktexmf',
+'mktexpk', 'mktextfm', 'mkocp', 'mkofm', 'mktexfmt', or 'mktextex' to
+generate a missing MF source, PK font, TFM file, OCP file, OFM file,
+format file, or TeX source respectively.
+
+2.4.3.3 Configure Options for 'fontconfig'
+..........................................
+
+Building 'XeTeX' on non-Mac systems requires 'fontconfig' headers and
+library.
+
+'--with-fontconfig-includes=DIR', '--with-fontconfig-libdir=DIR'
+If one or both of these options are given, the required flags are
+derived from them; otherwise, they are determined via 'pkg-config' (if
+present).
+
+2.4.3.4 Configure Options for system 'poppler'
+..............................................
+
+Building 'LuaTeX' and 'XeTeX' requires 'poppler' either from the TeX
+Live tree or system headers and library; 'pdfTeX' requires either 'xpdf'
+from the TeX Live tree or system 'poppler' headers and library.
+
+'--with-system-poppler'
+Use a system version (0.18 or better) of 'poppler' for 'LuaTeX' and
+'XeTeX' (and 'pkg-config' to obtain the required flags).
+
+'--with-system-xpdf'
+Use a system version (0.12 or better) of 'poppler' (and 'pkg-config')
+for 'pdfTeX' instead of 'xpdf' from the TeX Live tree.
+
+ REFER to '--disable-largefile'
+
+
+File: texlive.info, Node: Variable Assignments, Prev: Library Specific Options, Up: Configure Options
+
+2.4.4 Interesting and/or Important Variables
+--------------------------------------------
+
+The values for these variables can come either from the environment or
+from 'configure' arguments of the form 'VAR=value'.
+
+2.4.4.1 'CC', 'CXX', 'CPPFLAGS', ...
+....................................
+
+As usual, these variables specify the name (or full path) of compilers,
+preprocessor flags, and similar.
+
+2.4.4.2 'FT2_CONFIG', 'ICU_CONFIG', 'PKG_CONFIG'
+................................................
+
+These specify the name (or path) for the 'freetype-config',
+'icu-config', and 'pkg-config' commands used to determine the flags
+required for system versions of 'libfreetype', the 'ICU' libraries, or
+many other libraries.
+
+2.4.4.3 'CLISP'
+...............
+
+Name (or path) of the 'clisp' executable, used to build 'xindy'.
+
+2.4.4.4 'PERL', 'LATEX', 'PDFLATEX'
+...................................
+
+Name (or path) for the 'perl', 'latex', and 'pdflatex' commands used,
+e.g., to build the 'xindy' documentation
+
+2.4.4.5 'TL_PLATFORM'
+.....................
+
+The utility program 'biber' consists of many components bundled by the
+'Par::Packer' mechanism of 'perl'. Therefore they are not built as part
+of TeX Live but by the 'biber' maintainers and third-party builders.
+
+ In order that 'make install' creates all executables in 'bindir', the
+'biber' module contains pre-made binaries for the platforms for which
+they are available. TeX Live merely checks if an executable is present
+for the current platform, and if so, installs it.
+
+ The complication is hidden in the phrase "current platform". TeX
+Live has its own ideas about platform names, and the mapping from the
+canonical system name determined by 'config.guess' or 'config.sub' to
+the TeX Live platform name is not trivial. A value given for
+'TL_PLATFORM' is used as TeX Live platform name. Otherwise, we use
+copies of the standard 'perl' modules 'TeXLive/TLUtils.pm' and
+'TeXLive/TLConfig.pm', to avoid duplicating the platform-detection
+logic.
+
+2.4.4.6 'KPSEWHICH'
+...................
+
+Name (or path) of an installed 'kpsewhich' binary, used by 'make check'
+to determine the location of, e.g., 'cmbx10.tfm'.
+
+2.4.4.7 'MAKE', 'SED', ...
+..........................
+
+Name (or path) of GNU make, GNU sed, and similar; used at the top-level
+and propagated to all subdirectories.
+
+
+File: texlive.info, Node: Cross Compilation, Next: Coding Rules, Prev: Configure Options, Up: Build System
+
+2.5 Cross Compilation
+=====================
+
+In a cross compilation a 'build' system is used to create binaries to be
+executed on a 'host' system with different hardware and/or operating
+system.
+
+ In simple cases the build system can execute binaries for the host
+system. This typically occurs for bi-arch systems where, e.g.,
+'i386-linux' binaries can run on 'x86_64-linux' systems and 'win32'
+binaries can run on 'win64' systems. ALthough sometimes called "native
+cross", this is technically no cross compilation. In most such cases it
+suffices to specify suitable compiler flags. It might be useful to add
+the configure option '--build=HOST' to get the correct canonical host
+name, but note that this should not be '--host=HOST' (*note
+(autoconf)Hosts and Cross-Compilation::)!
+
+* Menu:
+
+* Configuring:: Configuring for Cross Compilation.
+* Problems:: Cross Compilation Problems.
+
+
+File: texlive.info, Node: Configuring, Next: Problems, Up: Cross Compilation
+
+2.5.1 Configuring for Cross Compilation
+---------------------------------------
+
+In a genuine cross compilation binaries for the host system can not
+execute on the build system and it is necessary to specify the configure
+options '--host=HOST' and '--build=BUILD' with two different values.
+Building binaries requires suitable "cross" tools, e.g., compiler,
+linker, and archiver, and perhaps a "cross" version of 'pkg-config' and
+similar to locate host system libraries. Autoconf expects that these
+cross tools are given by their usual variables or found under their
+usual name prefixed with 'HOST-'. Here a list of such tools and
+corresponding variables:
+
+ ar AR
+ freetype-config FT2_CONFIG
+ g++ CXX
+ gcc CC
+ icu-config ICU_CONFIG
+ objdump OBJDUMP
+ pkg-config PKG_CONFIG
+ ranlib RANLIB
+ strip STRIP
+
+In order to, e.g., build 'mingw32' binaries on 'x86_64-linux' with a
+cross compiler found as 'i386-pc-mingw32-gcc' one would specify
+ '--host=i386-pc-mingw32 --build=x86_64-linux-gnu'
+or perhaps
+ '--host=mingw32 --build=x86_64-linux CC=i386-pc-mingw32-gcc'
+but this might require to add 'CXX' and others.
+
+ Configure arguments such as 'CFLAGS=...' refer to the cross compiler.
+If necessary, you can specify compilers and flags for the few auxiliary
+C and C++ programs required for the build process as configure arguments
+
+ BUILDCC=...
+ BUILDCPPFLAGS=...
+ BUILDCFLAGS=...
+ BUILDCXX=...
+ BUILDCXXFLAGS=...
+ BUILDLDFLAGS=...
+
+
+File: texlive.info, Node: Problems, Prev: Configuring, Up: Cross Compilation
+
+2.5.2 Cross Compilation Problems
+--------------------------------
+
+The fact that binaries for the host system can not be executed on the
+build system causes some problems.
+
+ One problem is, that configure tests using 'AC_RUN_IFELSE' can
+compile and link the test program but can not execute it. Such tests
+should be avoided if possible and otherwise must supply a pessimistic
+test result.
+
+ An other problem arises if the build process must execute some
+(auxiliary or installable) programs. Auxiliary programs can be placed
+into a subdirectory that is configured natively as is done for
+'texk/dvipsk/squeeze', 'texk/web2c/web2c', and 'texk/xdvik/squeeze'.
+The module 'libs/freetype' uses the value of 'CC_BUILD', 'gcc' with or
+without the build system as prefix, or 'cc' as compiler for the
+auxiliary program.
+
+ The situation for installable programs needed by the build process is
+somewhat different. A quite expensive possibility, chosen for the 'ICU'
+libraries in module 'libs/icu', is to first compile natively for the
+build system and in a second step to use these (uninstalled) programs
+during the cross compilation. This would also be possible for the tools
+such as 'tangle' used in the module 'texk/web2c' to build the WEB
+programs, but that would require to first build a native 'kpathsea'
+library. To avoid this complication, cross compilation of the WEB or
+CWEB programs in this module requires sufficiently recent installed
+versions of 'tangle', 'ctangle', 'otangle', and 'tie'.
+
+
+File: texlive.info, Node: Coding Rules, Prev: Cross Compilation, Up: Build System
+
+2.6 Coding Rules for TeX Live
+=============================
+
+2.6.1 Declarations
+------------------
+
+2.6.1.1 ANSI C function prototypes and definitions
+..................................................
+
+The TeX Live build system no longer supports pre-ANSI C compilers. Thus
+all function prototypes and definitions must conform to the ANSI C
+standard (including 'void' in the declaration of C functions with no
+parameters). On the other hand TeX Live is built for many different
+systems, some of them not supporting the C99 standard. Therefore using
+C99 features should be avoided if that can easily be done. In
+particular C code must not contain declarations after statements or C++
+type comments.
+
+ If some C99 (or later) constructs have to be used, the module should
+verify that they are available and otherwise provide an alternative.
+The module 'texk/chktex' uses, e.g., the C99 function 'stpcpy()' that
+may or may not be available on a particular system, uses
+'AC_CHECK_DECLS([stpcpy])' in 'configure.ac' to test this, and provides
+the perhaps slightly less efficient alternative
+ '#if !(defined HAVE_DECL_STPCPY && HAVE_DECL_STPCPY)'
+ 'static inline char * stpcpy(char *dest, const char *src)'
+ '{'
+ ' return strcpy(dest, src) + strlen(src);'
+ '}'
+ '#endif'
+in the file 'Utility.h'.
+
+2.6.1.2 Static Functions
+........................
+
+Functions used in only one file should be declared 'static'; they
+require no prototype except as forward declaration.
+
+2.6.1.3 Extern Functions
+........................
+
+Functions not declared 'static', usually because they are used in
+several files, require an ('extern') prototype in exactly one header
+which is included in the file defining the function and in all files
+using that function -- this is the only way to guarantee consistency
+between definition and use of functions. You must not have 'extern'
+declarations sprinkled throughout the C code (with or without comment
+where that function is defined).
+
+2.6.1.4 Variables
+.................
+
+The declaration of global variables must follow analogous rules, they
+are either declared 'static' if used in only one files or declared
+'extern' in exactly one header and instantiated in exactly one file.
+
+2.6.2 Const
+-----------
+
+2.6.2.1 Function Parameters
+...........................
+
+Ideally, a function parameter not modified by the function should be
+declared as 'const'. This is important in particular for strings
+('char*') because the actual arguments are often string literals. It is
+perfectly legitimate and safe to use a type 'char*' value for a type
+'const char*' variable (in an assignment, as initializer, as function
+argument, or as return value). It is equally safe to use a type
+'char**' value for a type 'const char*const*' variable, but not for a
+type 'const char**' variable since that might cause modification of a
+quantity supposed to be constant. Getting all 'const' qualifiers right
+is often quite involved but can be done in most cases. There are,
+however, a few notable exceptions: the X11 headers are full of
+declarations that ought to use 'const' but do not and the same is true
+to some extent for 'libfreetype' (but not anymore for 'zlib').
+
+2.6.2.2 What Must be Avoided
+............................
+
+The 'gcc' compiler warnings "assignment discards qualifiers..." and
+analogous warnings for "initialization", "passing arg", or "return" must
+be avoided under all circumstances, except when caused by X11
+headers/macros or third party code.
+
+2.6.2.3 What Should be Avoided
+..............................
+
+A type cast, e.g., from 'const char*' to 'char*' does not solve any
+problems; depending on warning options, it may only hide them.
+Therefore such casts should be avoided whenever possible and otherwise
+must be carefully analyzed to make sure that they can not cause the
+modification of quantities supposed to be constant.
+
+
+File: texlive.info, Node: Index, Prev: Build System, Up: Top
+
+Index
+*****
+
+
+* Menu:
+
+* build system: Build System. (line 6)
+* fundamental purpose of TeX Live: Introduction. (line 6)
+* introduction: Introduction. (line 6)
+* the TeX Live build system: Build System. (line 6)
+
+
+
+Tag Table:
+Node: Top949
+Node: Introduction1343
+Node: Build System1554
+Node: Prerequisites3775
+Node: Building and Installing5091
+Node: Source Tree10451
+Node: Top Levels11117
+Node: Library Modules13135
+Node: Program Modules17157
+Node: Extending20065
+Node: Configure Options24026
+Node: Global Options25193
+Node: Program Specific Options29679
+Node: Library Specific Options34501
+Node: Variable Assignments36689
+Node: Cross Compilation39130
+Node: Configuring40169
+Node: Problems41837
+Node: Coding Rules43423
+Node: Index47389
+
+End Tag Table
diff --git a/Build/source/doc/texlive.texi b/Build/source/doc/texlive.texi
new file mode 100644
index 00000000000..612ff205604
--- /dev/null
+++ b/Build/source/doc/texlive.texi
@@ -0,0 +1,111 @@
+\input texinfo
+@setfilename texlive.info
+@settitle TeX Live: The xxx
+
+@set version 2014/dev
+@set month-year August 2013
+
+@macro TL
+@TeX{} Live
+@end macro
+
+@copying
+This file documents the @TL{} system, etc.
+
+Copyright @copyright{} 2013 Xxx & Yyy.
+
+Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries a copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+@end ignore
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation
+approved by the @TeX{} Users Group.
+@end copying
+
+@c Define new indices for commands, filenames, and options.
+@defcodeindex cm
+@defcodeindex fl
+@defcodeindex op
+
+@c Put everything in one index (arbitrarily chosen to be the concept index).
+@syncodeindex cm cp
+@syncodeindex fl cp
+@syncodeindex fn cp
+@syncodeindex ky cp
+@syncodeindex op cp
+@syncodeindex pg cp
+@syncodeindex tp cp
+@syncodeindex vr cp
+
+@dircategory TeX
+@direntry
+* @TL: (texlive). The @TL{} System.
+@end direntry
+
+
+@titlepage
+@title TeXLive
+@subtitle for version @value{version}
+@subtitle @value{month-year}
+@author Xxx
+@author Yxx
+@author @url{http://tug.org/tex-live}
+
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+
+@contents
+
+
+@ifnottex
+@node Top
+@top The @TL{} System
+
+This manual documents how to build, install, and use @TL{}. It corresponds
+to version @value{version}, released in @value{month-year}.
+
+@menu
+* Introduction:: Overview.
+
+* Build System:: The @TL{} Build System.
+
+* Index:: General index.
+@end menu
+@end ifnottex
+
+
+@node Introduction
+@chapter Introduction
+
+@cindex introduction
+@cindex fundamental purpose of @TL{}
+
+This manual corresponds to version @value{version} of the @TL{} system,
+released in @value{month-year}.
+
+
+@include build.texi
+
+@node Index
+@unnumbered Index
+
+@printindex cp
+
+@bye
diff --git a/Build/source/libs/gd/config.h.in b/Build/source/libs/gd/config.h.in
index d72f0ba93dd..bad61548a46 100644
--- a/Build/source/libs/gd/config.h.in
+++ b/Build/source/libs/gd/config.h.in
@@ -91,8 +91,14 @@
/* Version number of package */
#undef VERSION
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/libs/gd/configure b/Build/source/libs/gd/configure
index c2ebff6caf6..fa8e757f4a6 100755
--- a/Build/source/libs/gd/configure
+++ b/Build/source/libs/gd/configure
@@ -12796,6 +12796,9 @@ else
fi
+kpse_save_CPPFLAGS=$CPPFLAGS
+kpse_save_LIBS=$LIBS
+
## _KPSE_INIT: Initialize TL infrastructure
kpse_BLD=`(cd "./../../." && pwd)`
kpse_SRC=`(cd "$srcdir/../../." && pwd)`
@@ -12834,6 +12837,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -14454,9 +14498,6 @@ fi
if test "x$enable_build" != xno || test -f config.force; then
-kpse_save_CPPFLAGS=$CPPFLAGS
-kpse_save_LIBS=$LIBS
-
eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
eval LIBS=\"$ZLIB_LIBS \$LIBS\"
diff --git a/Build/source/libs/harfbuzz/config.h.in b/Build/source/libs/harfbuzz/config.h.in
index fe707d97c31..cf1fdbee4b4 100644
--- a/Build/source/libs/harfbuzz/config.h.in
+++ b/Build/source/libs/harfbuzz/config.h.in
@@ -138,3 +138,9 @@
/* Version number of package */
#undef VERSION
+
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure
index e3ab006f630..a8dfa387920 100755
--- a/Build/source/libs/harfbuzz/configure
+++ b/Build/source/libs/harfbuzz/configure
@@ -16204,6 +16204,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+kpse_save_CPPFLAGS=$CPPFLAGS
+kpse_save_LIBS=$LIBS
+
## _KPSE_INIT: Initialize TL infrastructure
kpse_BLD=`(cd "./../../." && pwd)`
kpse_SRC=`(cd "$srcdir/../../." && pwd)`
@@ -16242,6 +16245,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
## _KPSE_USE_LIBTOOL: Generate a libtool script for use in configure tests
: ${CONFIG_LT=./config.lt}
diff --git a/Build/source/libs/libpng/config.h.in b/Build/source/libs/libpng/config.h.in
index 466673bf296..1b40eb4d275 100644
--- a/Build/source/libs/libpng/config.h.in
+++ b/Build/source/libs/libpng/config.h.in
@@ -63,6 +63,9 @@
/* Version number of package */
#undef VERSION
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
@@ -82,3 +85,6 @@
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/libs/libpng/configure b/Build/source/libs/libpng/configure
index 71fd992b119..558ad9a4bf5 100755
--- a/Build/source/libs/libpng/configure
+++ b/Build/source/libs/libpng/configure
@@ -5610,6 +5610,9 @@ else
fi
+kpse_save_CPPFLAGS=$CPPFLAGS
+kpse_save_LIBS=$LIBS
+
## _KPSE_INIT: Initialize TL infrastructure
kpse_BLD=`(cd "./../../." && pwd)`
kpse_SRC=`(cd "$srcdir/../../." && pwd)`
@@ -5648,6 +5651,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
if test "x$enable_build" != xno; then
@@ -5661,9 +5705,6 @@ fi
if test "x$enable_build" != xno || test -f config.force; then
-kpse_save_CPPFLAGS=$CPPFLAGS
-kpse_save_LIBS=$LIBS
-
eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
eval LIBS=\"$ZLIB_LIBS \$LIBS\"
diff --git a/Build/source/libs/pixman/ChangeLog b/Build/source/libs/pixman/ChangeLog
index 4e1c5637605..c813086a75b 100644
--- a/Build/source/libs/pixman/ChangeLog
+++ b/Build/source/libs/pixman/ChangeLog
@@ -1,3 +1,7 @@
+2013-08-23 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * configure.ac: Recover test for sqrtf().
+
2013-08-08 Peter Breitenlohner <peb@mppmu.mpg.de>
Import pixman-0.30.2.
diff --git a/Build/source/libs/pixman/config.h.in b/Build/source/libs/pixman/config.h.in
index 256fef23cd8..bd4c113d85e 100644
--- a/Build/source/libs/pixman/config.h.in
+++ b/Build/source/libs/pixman/config.h.in
@@ -119,3 +119,6 @@
#ifndef __cplusplus
#undef inline
#endif
+
+/* Define to sqrt if you do not have the `sqrtf' function. */
+#undef sqrtf
diff --git a/Build/source/libs/pixman/configure b/Build/source/libs/pixman/configure
index 5e4b686392c..df979b19c93 100755
--- a/Build/source/libs/pixman/configure
+++ b/Build/source/libs/pixman/configure
@@ -5595,7 +5595,106 @@ else
build_FALSE=
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5
+
+if :; then
+
+$as_echo "#define PIXMAN_NO_TLS 1" >>confdefs.h
+
+else
+
+$as_echo "#define USE_LOONGSON_MMI 1" >>confdefs.h
+
+
+$as_echo "#define USE_X86_MMX 1" >>confdefs.h
+
+
+$as_echo "#define USE_SSE2 1" >>confdefs.h
+
+
+$as_echo "#define USE_VMX 1" >>confdefs.h
+
+
+$as_echo "#define USE_ARM_SIMD 1" >>confdefs.h
+
+
+$as_echo "#define USE_ARM_NEON 1" >>confdefs.h
+
+
+$as_echo "#define USE_ARM_IWMMXT 1" >>confdefs.h
+
+
+$as_echo "#define USE_MIPS_DSPR2 1" >>confdefs.h
+
+
+$as_echo "#define USE_GCC_INLINE_ASM 1" >>confdefs.h
+
+
+$as_echo "#define PIXMAN_TIMERS 1" >>confdefs.h
+
+
+$as_echo "#define TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrtf" >&5
+$as_echo_n "checking for library containing sqrtf... " >&6; }
+if ${ac_cv_search_sqrtf+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sqrtf ();
+int
+main ()
+{
+return sqrtf ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' m; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_sqrtf=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_sqrtf+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_sqrtf+:} false; then :
+
+else
+ ac_cv_search_sqrtf=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sqrtf" >&5
+$as_echo "$ac_cv_search_sqrtf" >&6; }
+ac_res=$ac_cv_search_sqrtf
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+else
+
+$as_echo "#define sqrtf sqrt" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5
$as_echo_n "checking for library containing sqrt... " >&6; }
if ${ac_cv_search_sqrt+:} false; then :
$as_echo_n "(cached) " >&6
@@ -5651,49 +5750,11 @@ if test "$ac_res" != no; then :
fi
-
-if :; then
-
-$as_echo "#define PIXMAN_NO_TLS 1" >>confdefs.h
-
-else
-
-$as_echo "#define USE_LOONGSON_MMI 1" >>confdefs.h
-
-
-$as_echo "#define USE_X86_MMX 1" >>confdefs.h
-
-
-$as_echo "#define USE_SSE2 1" >>confdefs.h
-
-
-$as_echo "#define USE_VMX 1" >>confdefs.h
-
-
-$as_echo "#define USE_ARM_SIMD 1" >>confdefs.h
-
-
-$as_echo "#define USE_ARM_NEON 1" >>confdefs.h
-
-
-$as_echo "#define USE_ARM_IWMMXT 1" >>confdefs.h
-
-
-$as_echo "#define USE_MIPS_DSPR2 1" >>confdefs.h
-
-
-$as_echo "#define USE_GCC_INLINE_ASM 1" >>confdefs.h
-
-
-$as_echo "#define PIXMAN_TIMERS 1" >>confdefs.h
-
-
-$as_echo "#define TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR 1" >>confdefs.h
-
fi
+
ac_fn_c_check_decl "$LINENO" "SIZE_MAX" "ac_cv_have_decl_SIZE_MAX" "$ac_includes_default"
if test "x$ac_cv_have_decl_SIZE_MAX" = xyes; then :
diff --git a/Build/source/libs/pixman/configure.ac b/Build/source/libs/pixman/configure.ac
index 5fe61aed6cb..9750a2a676d 100644
--- a/Build/source/libs/pixman/configure.ac
+++ b/Build/source/libs/pixman/configure.ac
@@ -32,7 +32,6 @@ AC_C_INLINE
AC_CONFIG_HEADERS([config.h])
AM_CONDITIONAL([build], [test "x$enable_build" != xno])
-AC_SEARCH_LIBS([sqrt], [m])
if :; then
AC_DEFINE([PIXMAN_NO_TLS], 1, [We do not want threading])
@@ -52,6 +51,12 @@ dnl add all these to config.h.in but do not define them in config.h
[Whether the tool chain supports __attribute__((constructor))])
fi
+dnl Check for missing sqrtf() as, e.g., for Solaris 9
+AC_SEARCH_LIBS([sqrtf], [m], ,
+ [AC_DEFINE([sqrtf], [sqrt],
+ [Define to sqrt if you do not have the `sqrtf' function.])
+ AC_SEARCH_LIBS([sqrt], [m])])
+
dnl PIXMAN_LINK_WITH_ENV(env-setup, program, true-action, false-action)
dnl
dnl Compiles and links the given program in the environment setup by env-setup
diff --git a/Build/source/libs/poppler/config.h.in b/Build/source/libs/poppler/config.h.in
index ebf5b7b6095..94f471a34b7 100644
--- a/Build/source/libs/poppler/config.h.in
+++ b/Build/source/libs/poppler/config.h.in
@@ -108,6 +108,9 @@
/* Use fixed point arithmetic */
#undef USE_FIXEDPOINT
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -124,3 +127,6 @@
/* Define for MinGW32 to 0x0500 to declare `GetFileSizeEx'. */
#undef _WIN32_WINNT
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/libs/poppler/configure b/Build/source/libs/poppler/configure
index 48bceb5b282..89660fe77e5 100755
--- a/Build/source/libs/poppler/configure
+++ b/Build/source/libs/poppler/configure
@@ -6482,6 +6482,9 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+kpse_save_CPPFLAGS=$CPPFLAGS
+kpse_save_LIBS=$LIBS
+
## _KPSE_INIT: Initialize TL infrastructure
kpse_BLD=`(cd "./../../." && pwd)`
kpse_SRC=`(cd "$srcdir/../../." && pwd)`
@@ -6520,6 +6523,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
if test "x$enable_build" != xno; then
@@ -6533,9 +6577,6 @@ fi
if test "x$enable_build" != xno || test -f config.force; then
-kpse_save_CPPFLAGS=$CPPFLAGS
-kpse_save_LIBS=$LIBS
-
eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
eval LIBS=\"$ZLIB_LIBS \$LIBS\"
diff --git a/Build/source/libs/teckit/config.h.in b/Build/source/libs/teckit/config.h.in
index acd02948a8d..7ef5c7da3ed 100644
--- a/Build/source/libs/teckit/config.h.in
+++ b/Build/source/libs/teckit/config.h.in
@@ -77,3 +77,9 @@
# undef WORDS_BIGENDIAN
# endif
#endif
+
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/libs/teckit/configure b/Build/source/libs/teckit/configure
index 9dbebe940fb..b958ff03459 100755
--- a/Build/source/libs/teckit/configure
+++ b/Build/source/libs/teckit/configure
@@ -6561,6 +6561,9 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
ac_config_headers="$ac_config_headers config.h"
+kpse_save_CPPFLAGS=$CPPFLAGS
+kpse_save_LIBS=$LIBS
+
## _KPSE_INIT: Initialize TL infrastructure
kpse_BLD=`(cd "./../../." && pwd)`
kpse_SRC=`(cd "$srcdir/../../." && pwd)`
@@ -6599,6 +6602,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
if test "x$enable_build" != xno; then
@@ -6612,9 +6656,6 @@ fi
if test "x$enable_build" != xno || test -f config.force; then
-kpse_save_CPPFLAGS=$CPPFLAGS
-kpse_save_LIBS=$LIBS
-
eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
eval LIBS=\"$ZLIB_LIBS \$LIBS\"
diff --git a/Build/source/libs/zziplib/config.h.in b/Build/source/libs/zziplib/config.h.in
index 41a3df87a5e..43758c1fcbe 100644
--- a/Build/source/libs/zziplib/config.h.in
+++ b/Build/source/libs/zziplib/config.h.in
@@ -142,6 +142,9 @@
# endif
#endif
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -190,3 +193,6 @@
/* Define to `int' if <sys/types.h> does not define. */
#undef ssize_t
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/libs/zziplib/configure b/Build/source/libs/zziplib/configure
index 9439dca2f9a..4f1d2972498 100755
--- a/Build/source/libs/zziplib/configure
+++ b/Build/source/libs/zziplib/configure
@@ -6625,6 +6625,9 @@ fi
done
+kpse_save_CPPFLAGS=$CPPFLAGS
+kpse_save_LIBS=$LIBS
+
## _KPSE_INIT: Initialize TL infrastructure
kpse_BLD=`(cd "./../../." && pwd)`
kpse_SRC=`(cd "$srcdir/../../." && pwd)`
@@ -6663,6 +6666,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
if test "x$enable_build" != xno; then
@@ -6676,9 +6720,6 @@ fi
if test "x$enable_build" != xno || test -f config.force; then
-kpse_save_CPPFLAGS=$CPPFLAGS
-kpse_save_LIBS=$LIBS
-
eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
eval LIBS=\"$ZLIB_LIBS \$LIBS\"
diff --git a/Build/source/m4/ChangeLog b/Build/source/m4/ChangeLog
index 8230257245a..cf95c4adc0e 100644
--- a/Build/source/m4/ChangeLog
+++ b/Build/source/m4/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * kpse-zlib-flags.m4 (KPSE_ZLIB_FLAGS): Test if <<zlib.h> defines
+ 'z_const' and accordingly define either ZLIB_CONST or z_const.
+
2013-08-07 Peter Breitenlohner <peb@mppmu.mpg.de>
* cho-libs.m4: Moved ...
diff --git a/Build/source/m4/kpse-zlib-flags.m4 b/Build/source/m4/kpse-zlib-flags.m4
index d442e941ff0..e95eb868762 100644
--- a/Build/source/m4/kpse-zlib-flags.m4
+++ b/Build/source/m4/kpse-zlib-flags.m4
@@ -1,5 +1,5 @@
# Public macros for the TeX Live (TL) tree.
-# Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org>
+# Copyright (C) 2009-2013 Peter Breitenlohner <tex-live@tug.org>
#
# This file is free software; the copyright holder
# gives unlimited permission to copy and/or distribute it,
@@ -12,12 +12,26 @@
# Provide the configure options '--with-system-zlib' (if in the TL tree),
# '--with-zlib-includes', and '--with-zlib-libdir'.
#
+# Also test if <<zlib.h> defines 'z_const' and define ZLIB_CONST or z_const.
+#
# Set the make variables ZLIB_INCLUDES and ZLIB_LIBS to the CPPFLAGS and
# LIBS required for the `-lz' library in libs/zlib/ of the TL tree.
-AC_DEFUN([KPSE_ZLIB_FLAGS],
-[_KPSE_LIB_FLAGS([zlib], [z], [],
- [-IBLD/libs/zlib/include], [BLD/libs/zlib/libz.a], [],
- [], [${top_builddir}/../../libs/zlib/include/zconf.h])[]dnl
+AC_DEFUN([KPSE_ZLIB_FLAGS], [dnl
+AC_REQUIRE([KPSE_SAVE_FLAGS])[]dnl
+_KPSE_LIB_FLAGS([zlib], [z], [],
+ [-IBLD/libs/zlib/include], [BLD/libs/zlib/libz.a], [],
+ [], [${top_builddir}/../../libs/zlib/include/zconf.h])[]dnl
+AC_CACHE_CHECK([if <zlib.h> defines 'z_const'],
+ [kpse_cv_have_decl_z_const],
+ [KPSE_ADD_FLAGS([zlib])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <zlib.h>]],
+ [[z_const char * foo();]])],
+ [kpse_cv_have_decl_z_const=yes],
+ [kpse_cv_have_decl_z_const=no])
+ KPSE_RESTORE_FLAGS])
+AS_CASE([$kpse_cv_have_decl_z_const],
+ [yes], [AC_DEFINE([ZLIB_CONST], [1], [Define to 1 if <zlib.h> declares 'z_const'.])],
+ [AC_DEFINE([z_const], [], [Define as empty if not declared in <zlib.h>.])])
]) # KPSE_ZLIB_FLAGS
# KPSE_ZLIB_OPTIONS([WITH-SYSTEM])
diff --git a/Build/source/texk/dvipdf-x/ChangeLog b/Build/source/texk/dvipdf-x/ChangeLog
index 14a39fb0497..9b9819b94f1 100644
--- a/Build/source/texk/dvipdf-x/ChangeLog
+++ b/Build/source/texk/dvipdf-x/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * xsrc/epdf.c (add_stream_flate): Use z_const.
+ * (x)src/pdfobj.c (pdf_add_stream_flate): Use z_const.
+
2013-08-08 Peter Breitenlohner <peb@mppmu.mpg.de>
* src/dvipdfmx.c, src/pdfdoc.[ch], src/spc_pdfm.c,
diff --git a/Build/source/texk/dvipdf-x/config.h.in b/Build/source/texk/dvipdf-x/config.h.in
index f5e7527b596..684bb4c43a0 100644
--- a/Build/source/texk/dvipdf-x/config.h.in
+++ b/Build/source/texk/dvipdf-x/config.h.in
@@ -214,6 +214,9 @@
# endif
#endif
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -261,3 +264,6 @@
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef uint64_t
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/texk/dvipdf-x/configure b/Build/source/texk/dvipdf-x/configure
index c65b9e1b330..6ac4efff518 100755
--- a/Build/source/texk/dvipdf-x/configure
+++ b/Build/source/texk/dvipdf-x/configure
@@ -15482,6 +15482,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
diff --git a/Build/source/texk/dvipdf-x/src/pdfobj.c b/Build/source/texk/dvipdf-x/src/pdfobj.c
index ba431d9be9a..55cc96912d9 100644
--- a/Build/source/texk/dvipdf-x/src/pdfobj.c
+++ b/Build/source/texk/dvipdf-x/src/pdfobj.c
@@ -1815,7 +1815,7 @@ pdf_add_stream_flate (pdf_obj *dst, const void *data, long len)
z.zalloc = Z_NULL; z.zfree = Z_NULL; z.opaque = Z_NULL;
- z.next_in = (Bytef *) data; z.avail_in = len;
+ z.next_in = (z_const Bytef *) data; z.avail_in = len;
z.next_out = (Bytef *) wbuf; z.avail_out = WBUF_SIZE;
if (inflateInit(&z) != Z_OK) {
diff --git a/Build/source/texk/dvipdf-x/xsrc/epdf.c b/Build/source/texk/dvipdf-x/xsrc/epdf.c
index 73a8ec21f63..53c9fdf554c 100644
--- a/Build/source/texk/dvipdf-x/xsrc/epdf.c
+++ b/Build/source/texk/dvipdf-x/xsrc/epdf.c
@@ -816,7 +816,7 @@ add_stream_flate (pdf_obj *dst, const void *data, long len)
z.zalloc = Z_NULL; z.zfree = Z_NULL; z.opaque = Z_NULL;
- z.next_in = (Bytef *) data; z.avail_in = len;
+ z.next_in = (z_const Bytef *) data; z.avail_in = len;
z.next_out = (Bytef *) wbuf; z.avail_out = WBUF_SIZE;
if (inflateInit(&z) != Z_OK) {
diff --git a/Build/source/texk/dvipdf-x/xsrc/pdfobj.c b/Build/source/texk/dvipdf-x/xsrc/pdfobj.c
index 30a9b6bdb3b..6c8d66780f4 100644
--- a/Build/source/texk/dvipdf-x/xsrc/pdfobj.c
+++ b/Build/source/texk/dvipdf-x/xsrc/pdfobj.c
@@ -1776,7 +1776,7 @@ pdf_add_stream_flate (pdf_obj *dst, const void *data, long len)
z.zalloc = Z_NULL; z.zfree = Z_NULL; z.opaque = Z_NULL;
- z.next_in = (Bytef *) data; z.avail_in = len;
+ z.next_in = (z_const Bytef *) data; z.avail_in = len;
z.next_out = (Bytef *) wbuf; z.avail_out = WBUF_SIZE;
if (inflateInit(&z) != Z_OK) {
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog
index b56abb93416..994159c78e3 100644
--- a/Build/source/texk/dvipdfm-x/ChangeLog
+++ b/Build/source/texk/dvipdfm-x/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * epdf.c (add_stream_flate): Use z_const.
+ * pdfobj.c (pdf_add_stream_flate): Use z_const.
+
2013-08-12 Peter Breitenlohner <peb@mppmu.mpg.de>
* dvipdfmx.c (show_usage): Adapt to modified program (stdin).
diff --git a/Build/source/texk/dvipdfm-x/config.h.in b/Build/source/texk/dvipdfm-x/config.h.in
index f5e7527b596..684bb4c43a0 100644
--- a/Build/source/texk/dvipdfm-x/config.h.in
+++ b/Build/source/texk/dvipdfm-x/config.h.in
@@ -214,6 +214,9 @@
# endif
#endif
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -261,3 +264,6 @@
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef uint64_t
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/texk/dvipdfm-x/configure b/Build/source/texk/dvipdfm-x/configure
index 6409a164940..6e5804f4521 100755
--- a/Build/source/texk/dvipdfm-x/configure
+++ b/Build/source/texk/dvipdfm-x/configure
@@ -15483,6 +15483,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
diff --git a/Build/source/texk/dvipdfm-x/epdf.c b/Build/source/texk/dvipdfm-x/epdf.c
index e2c9e99878e..43d2f46cdac 100644
--- a/Build/source/texk/dvipdfm-x/epdf.c
+++ b/Build/source/texk/dvipdfm-x/epdf.c
@@ -883,7 +883,7 @@ add_stream_flate (pdf_obj *dst, const void *data, long len)
z.zalloc = Z_NULL; z.zfree = Z_NULL; z.opaque = Z_NULL;
- z.next_in = (Bytef *) data; z.avail_in = len;
+ z.next_in = (z_const Bytef *) data; z.avail_in = len;
z.next_out = (Bytef *) wbuf; z.avail_out = WBUF_SIZE;
if (inflateInit(&z) != Z_OK) {
diff --git a/Build/source/texk/dvipdfm-x/pdfobj.c b/Build/source/texk/dvipdfm-x/pdfobj.c
index 711a4aca288..cbad9b8014d 100644
--- a/Build/source/texk/dvipdfm-x/pdfobj.c
+++ b/Build/source/texk/dvipdfm-x/pdfobj.c
@@ -1828,7 +1828,7 @@ pdf_add_stream_flate (pdf_obj *dst, const void *data, long len)
z.zalloc = Z_NULL; z.zfree = Z_NULL; z.opaque = Z_NULL;
- z.next_in = (Bytef *) data; z.avail_in = len;
+ z.next_in = (z_const Bytef *) data; z.avail_in = len;
z.next_out = (Bytef *) wbuf; z.avail_out = WBUF_SIZE;
if (inflateInit(&z) != Z_OK) {
diff --git a/Build/source/texk/dvipng/config.h.in b/Build/source/texk/dvipng/config.h.in
index 240ccb9b567..3f7bb5bd45c 100644
--- a/Build/source/texk/dvipng/config.h.in
+++ b/Build/source/texk/dvipng/config.h.in
@@ -279,6 +279,9 @@
/* Version number of package */
#undef VERSION
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -323,3 +326,6 @@
/* Define as `fork' if `vfork' does not work. */
#undef vfork
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/texk/dvipng/configure b/Build/source/texk/dvipng/configure
index 752b6637acf..0d501ada4ed 100755
--- a/Build/source/texk/dvipng/configure
+++ b/Build/source/texk/dvipng/configure
@@ -16019,6 +16019,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
diff --git a/Build/source/texk/dvisvgm/config.h.in b/Build/source/texk/dvisvgm/config.h.in
index aa5bbd51f51..a05ced4c230 100644
--- a/Build/source/texk/dvisvgm/config.h.in
+++ b/Build/source/texk/dvisvgm/config.h.in
@@ -172,6 +172,9 @@
/* Version number of package */
#undef VERSION
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -210,3 +213,6 @@
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef uint64_t
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/texk/dvisvgm/configure b/Build/source/texk/dvisvgm/configure
index 0426a5455de..f040ac95c3b 100755
--- a/Build/source/texk/dvisvgm/configure
+++ b/Build/source/texk/dvisvgm/configure
@@ -19089,6 +19089,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
## _KPSE_LIB_FLAGS: Setup freetype2 (-lfreetype) flags
diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog
index 8eba46fcce4..d50b666bf5f 100644
--- a/Build/source/texk/kpathsea/ChangeLog
+++ b/Build/source/texk/kpathsea/ChangeLog
@@ -1,3 +1,7 @@
+2013-08-17 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * configure.ac (AH_TOP): Simplify the generation of c-auto.h.
+
2013-08-14 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* win32lib.c, mingw32.c (texlive_gs_init()): Fix a bug. 'n' and 'f' can
diff --git a/Build/source/texk/kpathsea/c-auto.in b/Build/source/texk/kpathsea/c-auto.in
index 82d09aeb13a..60d6c1c72ec 100644
--- a/Build/source/texk/kpathsea/c-auto.in
+++ b/Build/source/texk/kpathsea/c-auto.in
@@ -23,7 +23,7 @@
#define KPATHSEA_C_AUTO_H
/* kpathsea: the version string. */
-#define KPSEVERSION "REPLACE-WITH-KPSEVERSION"
+#define KPSEVERSION "kpathsea version 6.2.0dev"
/* Define to 1 if the `closedir' function returns void instead of `int'. */
#undef CLOSEDIR_VOID
diff --git a/Build/source/texk/kpathsea/configure b/Build/source/texk/kpathsea/configure
index a31863b3aaa..299689b7dda 100755
--- a/Build/source/texk/kpathsea/configure
+++ b/Build/source/texk/kpathsea/configure
@@ -2751,8 +2751,6 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
KPSEVERSION=6.2.0dev
-$as_echo "#define KPSEVERSION \"kpathsea version 6.2.0dev\"" >>confdefs.h
-
KPSE_LT_VERSINFO=8:0:2
diff --git a/Build/source/texk/kpathsea/configure.ac b/Build/source/texk/kpathsea/configure.ac
index 6497629baa6..7a8929756aa 100644
--- a/Build/source/texk/kpathsea/configure.ac
+++ b/Build/source/texk/kpathsea/configure.ac
@@ -14,7 +14,6 @@ AC_CONFIG_AUX_DIR([../../build-aux])
AC_CONFIG_MACRO_DIR([../../m4])
AC_SUBST([KPSEVERSION], [kpse_version])
-AC_DEFINE([KPSEVERSION], ["kpathsea version kpse_version"])
KPSE_LT_VERSION([kpse])
m4_include([../../version.ac])[] dnl define tex_live_version
@@ -139,7 +138,7 @@ AH_TOP([/* c-auto.h: defines for kpathsea, as determined by configure.
#define KPATHSEA_C_AUTO_H
/* kpathsea: the version string. */
-#define KPSEVERSION "REPLACE-WITH-KPSEVERSION"])
+#define KPSEVERSION "kpathsea version] kpse_version["])
AH_BOTTOM([#endif /* !KPATHSEA_C_AUTO_H */])
AC_CONFIG_FILES([Makefile doc/Makefile man/Makefile win32/Makefile])
diff --git a/Build/source/texk/kpathsea/doc/Makefile.am b/Build/source/texk/kpathsea/doc/Makefile.am
index 54e91acabbb..57bea3f26e5 100644
--- a/Build/source/texk/kpathsea/doc/Makefile.am
+++ b/Build/source/texk/kpathsea/doc/Makefile.am
@@ -1,11 +1,8 @@
## Makefile.am for the TeX Live subdirectory texk/kpathsea/doc/
##
-## Copyright (C) 2009, 2010 Peter Breitenlohner <tex-live@tug.org>
+## Copyright (C) 2009-2013 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
-
-DISTCLEANFILES = $(DVIS) $(PSS)
-
-## The info files
+##
info_TEXINFOS = kpathsea.texi
kpathsea_TEXINFOS = bugs.texi hier.texi install.texi unixtex.texi
diff --git a/Build/source/texk/kpathsea/doc/Makefile.in b/Build/source/texk/kpathsea/doc/Makefile.in
index 8afd2e18ca2..672e3b7ccb8 100644
--- a/Build/source/texk/kpathsea/doc/Makefile.in
+++ b/Build/source/texk/kpathsea/doc/Makefile.in
@@ -310,7 +310,6 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-DISTCLEANFILES = $(DVIS) $(PSS)
info_TEXINFOS = kpathsea.texi
kpathsea_TEXINFOS = bugs.texi hier.texi install.texi unixtex.texi
all: all-am
@@ -567,7 +566,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
diff --git a/Build/source/texk/ptexenc/ChangeLog b/Build/source/texk/ptexenc/ChangeLog
index eba077e7b40..89d896cd0d4 100644
--- a/Build/source/texk/ptexenc/ChangeLog
+++ b/Build/source/texk/ptexenc/ChangeLog
@@ -1,3 +1,7 @@
+2013-08-17 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * configure.ac (AH_TOP): Simplify the generation of c-auto.h.
+
2013-07-06 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Use ../../am/rebuild.am.
diff --git a/Build/source/texk/ptexenc/c-auto.in b/Build/source/texk/ptexenc/c-auto.in
index e50cc5cba72..482385b12e4 100644
--- a/Build/source/texk/ptexenc/c-auto.in
+++ b/Build/source/texk/ptexenc/c-auto.in
@@ -6,7 +6,7 @@
#define PTEXENC_C_AUTO_H
/* ptexenc: the version string. */
-#define PTEXENCVERSION "REPLACE-WITH-PTEXENCVERSION"
+#define PTEXENCVERSION "ptexenc version 1.3.2dev"
/* Define to 1 if the `closedir' function returns void instead of `int'. */
#undef CLOSEDIR_VOID
diff --git a/Build/source/texk/ptexenc/configure b/Build/source/texk/ptexenc/configure
index d10f8b2f271..f012f0d0753 100755
--- a/Build/source/texk/ptexenc/configure
+++ b/Build/source/texk/ptexenc/configure
@@ -2509,8 +2509,6 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
PTEXENCVERSION=1.3.2dev
-$as_echo "#define PTEXENCVERSION \"ptexenc version 1.3.2dev\"" >>confdefs.h
-
PTEXENC_LT_VERSINFO=4:2:3
diff --git a/Build/source/texk/ptexenc/configure.ac b/Build/source/texk/ptexenc/configure.ac
index feef29b29c1..cea7b00825b 100644
--- a/Build/source/texk/ptexenc/configure.ac
+++ b/Build/source/texk/ptexenc/configure.ac
@@ -14,7 +14,6 @@ AC_CONFIG_AUX_DIR([../../build-aux])
AC_CONFIG_MACRO_DIR([../../m4])
AC_SUBST([PTEXENCVERSION], [ptexenc_version])
-AC_DEFINE([PTEXENCVERSION], ["ptexenc version ptexenc_version"])
KPSE_LT_VERSION([ptexenc])
dnl Common code for all programs (or libraries) using libkpathsea.
@@ -48,7 +47,7 @@ AH_TOP([/* ptexenc/c-auto.h: defines for ptexenc, as determined by configure. */
#define PTEXENC_C_AUTO_H
/* ptexenc: the version string. */
-#define PTEXENCVERSION "REPLACE-WITH-PTEXENCVERSION"])
+#define PTEXENCVERSION "ptexenc version] ptexenc_version["])
AH_BOTTOM([#endif /* !PTEXENC_C_AUTO_H */])
AC_CONFIG_FILES([Makefile])
diff --git a/Build/source/texk/ttf2pk2/config.h.in b/Build/source/texk/ttf2pk2/config.h.in
index 08b8ce41a5a..94c996d4369 100644
--- a/Build/source/texk/ttf2pk2/config.h.in
+++ b/Build/source/texk/ttf2pk2/config.h.in
@@ -130,6 +130,9 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -168,3 +171,6 @@
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef uint64_t
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/texk/ttf2pk2/configure b/Build/source/texk/ttf2pk2/configure
index 7cdd46b53a2..37c43c2664d 100755
--- a/Build/source/texk/ttf2pk2/configure
+++ b/Build/source/texk/ttf2pk2/configure
@@ -14476,6 +14476,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
## _KPSE_LIB_FLAGS: Setup freetype2 (-lfreetype) flags
diff --git a/Build/source/texk/web2c/c-auto.in b/Build/source/texk/web2c/c-auto.in
index 67b7cd9a10a..5c02f3bd4f3 100644
--- a/Build/source/texk/web2c/c-auto.in
+++ b/Build/source/texk/web2c/c-auto.in
@@ -317,6 +317,9 @@
`char[]'. */
#undef YYTEXT_POINTER
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -361,4 +364,7 @@
such a type exists and the standard includes do not define it. */
#undef uint64_t
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
+
#endif /* !WEB2C_C_AUTO_H */
diff --git a/Build/source/texk/web2c/configure b/Build/source/texk/web2c/configure
index 26822965fe7..2329aa0ea91 100755
--- a/Build/source/texk/web2c/configure
+++ b/Build/source/texk/web2c/configure
@@ -23018,6 +23018,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
## _KPSE_LIB_FLAGS: Setup lua52 (-llua52) flags
LUA52_INCLUDES="-I$kpse_BLD/libs/lua52/include"
diff --git a/Build/source/texk/xdvik/c-auto.in b/Build/source/texk/xdvik/c-auto.in
index 0c524476920..8978c761130 100644
--- a/Build/source/texk/xdvik/c-auto.in
+++ b/Build/source/texk/xdvik/c-auto.in
@@ -396,6 +396,9 @@
/* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
+/* Define to 1 if <zlib.h> declares 'z_const'. */
+#undef ZLIB_CONST
+
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
@@ -452,3 +455,6 @@
/* Define as `fork' if `vfork' does not work. */
#undef vfork
+
+/* Define as empty if not declared in <zlib.h>. */
+#undef z_const
diff --git a/Build/source/texk/xdvik/configure b/Build/source/texk/xdvik/configure
index 9461bfa997e..ef148f28b72 100755
--- a/Build/source/texk/xdvik/configure
+++ b/Build/source/texk/xdvik/configure
@@ -18199,6 +18199,47 @@ $(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h
${top_builddir}/../../libs/zlib/include/zconf.h:
cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild'
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5
+$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; }
+if ${kpse_cv_have_decl_z_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\"
+eval LIBS=\"$ZLIB_LIBS \$LIBS\"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <zlib.h>
+int
+main ()
+{
+z_const char * foo();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ kpse_cv_have_decl_z_const=yes
+else
+ kpse_cv_have_decl_z_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS=$kpse_save_CPPFLAGS
+LIBS=$kpse_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5
+$as_echo "$kpse_cv_have_decl_z_const" >&6; }
+case $kpse_cv_have_decl_z_const in #(
+ yes) :
+
+$as_echo "#define ZLIB_CONST 1" >>confdefs.h
+ ;; #(
+ *) :
+
+$as_echo "#define z_const /**/" >>confdefs.h
+ ;;
+esac
## _KPSE_LIB_FLAGS: Setup freetype2 (-lfreetype) flags