summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2010-04-23 08:44:57 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2010-04-23 08:44:57 +0000
commit6c83b2609bba73ed2fb8bf4e11eee8522ff173bb (patch)
tree42b49d2fd731d024dd723e750d2fe3b5db0d8d17 /Build
parent4e413d1cf45e3573d4eff85693ef8d59ea9a2fac (diff)
build system
git-svn-id: svn://tug.org/texlive/trunk@17972 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/README.hacking48
-rw-r--r--Build/source/README.layout71
-rw-r--r--Build/source/texk/web2c/Makefile.in60
-rw-r--r--Build/source/texk/web2c/etexdir/ChangeLog4
-rw-r--r--Build/source/texk/web2c/etexdir/am/etex.am2
-rw-r--r--Build/source/texk/web2c/etexdir/etex-binpool.ch83
-rw-r--r--Build/source/texk/web2c/pdftexdir/ChangeLog5
-rw-r--r--Build/source/texk/web2c/pdftexdir/am/pdftex.am11
-rw-r--r--Build/source/texk/web2c/ptexdir/ChangeLog2
-rw-r--r--Build/source/texk/web2c/ptexdir/am/ptex.am3
10 files changed, 121 insertions, 168 deletions
diff --git a/Build/source/README.hacking b/Build/source/README.hacking
index fba4e12a413..51e0bfd773b 100644
--- a/Build/source/README.hacking
+++ b/Build/source/README.hacking
@@ -45,17 +45,17 @@ similar places that might need updating (not done automatically by the
----------------------------------
To add a new program directory utils/Util/ (not using Kpathsea) or
-texk/Prog/ (possibly using Kpathsea) you must add the directory Util to the
-M4 list kpse_utils_pkgs or Prog to the M4 list kpse_texk_pkgs defined in
-m4/kpse-pkgs.m4. In addition you must create a configure.ac fragment
-utils/Util/ac/witheanble.ac or texk/Prog/ac/witheanble.ac defining any
-required libraries from the TL tree and whether this new program is to be
-built by default (in the absence of the corresponding '--enable-Util/Prog'
-or '--disable-Util/Prog' configure options). If a program in texk/Prog/ or
-utils/Util/ requires specific configure options to be seen at the top-level,
-they should be defined in an additional configure.ac fragment
-texk/Prog/ac/Prog.ac or utils/Util/ac/Util.ac (included from
-texk/Prog/ac/withenable.ac and texk/Prog/configure.ac or
+texk/Prog/ (possibly using Kpathsea and Ptexenc) you must add the directory
+Util to the M4 list kpse_utils_pkgs or Prog to the M4 list kpse_texk_pkgs
+defined in m4/kpse-pkgs.m4. In addition you must create a configure.ac
+fragment utils/Util/ac/witheanble.ac or texk/Prog/ac/witheanble.ac defining
+any required libraries from the TL tree and whether this new program is to
+be built by default (in the absence of the corresponding
+'--enable-Util/Prog' or '--disable-Util/Prog' configure options). If a
+program in texk/Prog/ or utils/Util/ requires specific configure options to
+be seen at the top-level, they should be defined in an additional
+configure.ac fragment texk/Prog/ac/Prog.ac or utils/Util/ac/Util.ac
+(included from texk/Prog/ac/withenable.ac and texk/Prog/configure.ac or
utils/Util/ac/withenable.ac and utils/Util/configure.ac) as, e.g., for
texk/web2c/, texk/xdvik/, and utils/xindy/.
@@ -69,13 +69,13 @@ by default, 'native' if cross compilation is not possible), and a comment
added to the help text for the disable or enable configure option for this
program.
-3.2 Adding a new library directory
-----------------------------------
+3.2 Adding a new generic library directory
+------------------------------------------
-To add a new library directory libs/Lib/ you must add the directory Lib to
-the M4 list kpse_libs_pkgs defined in m4/kpse-pkgs.m4. In addition you must
-create a configure.ac fragment libs/Lib/ac/witheanble.ac defining any
-required libraries from the TL tree and whether an installed (system)
+To add a new generic library directory libs/Lib/ you must add the directory
+Lib to the M4 list kpse_libs_pkgs defined in m4/kpse-pkgs.m4. In addition
+you must create a configure.ac fragment libs/Lib/ac/witheanble.ac defining
+any required libraries from the TL tree and whether an installed (system)
version of this library can be used. If that is the case, another
configure.ac fragment libs/Lib/ac/Lib.ac should specify a small program as
test for a system version to be acceptable. Finally you must create a file
@@ -115,6 +115,20 @@ This causes the configure script to compile and link the C program
as sanity check for using an installed PNG library. The analogous macro
KPSE_TRY_LIBXX uses the C++ compiler.
+3.3 Adding a new TeX specific library directory
+-----------------------------------------------
+
+To add a new TeX specific library directory texk/Lib/ proceed as for a
+generic library (described above) with these exceptions:
+
+(*) Add the directory Lib to the M4 list kpse_texlibs_pkgs (also defined in
+m4/kpse-pkgs.m4) instead of kpse_libs_pkgs.
+
+(*) The configure.ac fragment libs/Lib/ac/witheanble.ac must use
+KPSE_WITH_TEXLIB instead of KPSE_WITH_LIB.
+
+(*) The new library must not depend on any generic libraries.
+
4. Using libraries from the TL tree
===================================
diff --git a/Build/source/README.layout b/Build/source/README.layout
index 62a24fb6833..c226194d442 100644
--- a/Build/source/README.layout
+++ b/Build/source/README.layout
@@ -1,12 +1,13 @@
-Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org>
+Copyright (C) 2009, 2010 Peter Breitenlohner <tex-live@tug.org>
You may freely use, modify and/or distribute this file.
Design of the TeX Live (TL) build system
========================================
The TL 2009 build system has been completely redesigned, using Autoconf,
-Automake, and Libtool. The main components are program modules (directories
-texk/*/ and utils/*/) and library modules (directories tex/kpathsea/ and
+Automake, and Libtool. The main components are TeX specific or utility
+program modules (directories texk/*/ and utils/*/), and TeX specific or
+generic library modules (directories texk/kpathsea/, texk/ptexenc/, and
libs/*/) providing libraries required by the program modules.
The primary design goal was modularity. Each module specifies its own
@@ -20,9 +21,9 @@ configuring any (program or other library) module depending on 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 libraries and several programs that are mintained independently use the
-distributed source tree, any modifications of that source tree are kept as
-patches.
+Most generic libraries and several programs that are mintained independently
+use the distributed source tree, any modifications of that source tree are
+kept as patches.
All this should simplify upgrading of modules maintained independently
and/or integrating new modules into the TL build system.
@@ -36,19 +37,11 @@ and/or integrating new modules into the TL build system.
1.1. Overall layout
-------------------
-texk/kpathsea/*/ the Kpathsea library
-libs/*/ various other libraries
-
-texk/*/ programs (mostly using Kpathsea)
-utils/*/ utility programs (not using Kpathsea)
-
-texk/am/*.am Makefile.am fragments
-texk/web2c/am/*.am for the Kpathsea library
-texk/web2c/*/am/*.am and the Web2C programs
-
-libs/Lib/ library Lib (zlib, libpng, t1lib, etc.)
-texk/Prog/ program package Prog (web2c, afm2pl, bibtex8, etc.)
-utils/Util/ utility program package Util (dialog, pdfopen, ps2eps, etc.)
+texk/kpathsea/ the two TeX specific Kpathsea
+texk/ptexenc/ and Ptexenc libraries
+libs/Lib/ generic library Lib (zlib, libpng, t1lib, etc.)
+texk/Prog/ TeX specific program package Prog (web2c, afm2pl, etc.)
+utils/Util/ utility program package Util (dialog, ps2eps, etc.)
auxdir/auxsub/ dummy module used to configure the real modules
@@ -56,12 +49,16 @@ auxdir/auxsub/ dummy module used to configure the real modules
build-aux/ auxiliary build scripts (config.guess etc.)
-m4/kpse-pkgs.m4 Autoconf macros defining the lists of Lib, Prog, and Util
+m4/kpse-pkgs.m4 Autoconf macros defining lists of library and program
modules and handling loops over these lists
m4/*.m4 other Autoconf macros
-1.2. A library `Lib'
---------------------
+texk/am/*.am Makefile.am fragments
+texk/web2c/am/*.am for the Kpathsea library
+texk/web2c/*/am/*.am and the Web2C programs
+
+1.2. A generic library `Lib'
+----------------------------
libs/Lib/ac/withenable.ac defines libraries required by Lib
libs/Lib/ac/Lib.ac defines basic tests for a system version of Lib
@@ -80,8 +77,10 @@ The header files for many libraries are `installed' (as symlinks) under
libs/Lib/include/ in the build tree exactly as they are for a system version
under, e.g., /usr/include/.
-1.3. A program `Prog'
----------------------
+The same structure is used for the TeX specific libraries.
+
+1.3. A TeX specific program `Prog'
+----------------------------------
texk/Prog/ac/withenable.ac defines libraries required by Prog, provides the
configure option --disable-Prog
@@ -98,16 +97,19 @@ utils/Util/ac/withenable.ac defines libraries required by Util, provides the
======================
Running 'configure' for the top-level directory will in addition configure
-the directories auxdir/auxsub/, texk/kpathsea/, libs/, utils/, and texk/.
-This will determine the programs (utils/Util/ and texk/Prog/) to be built
-and libraries from the TL tree (texk/kpathsea/ and libs/Lib/) required by
-these programs.
+the directories auxdir/auxsub/, libs/, utils/, and texk/. This will
+determine the programs (utils/Util/ and texk/Prog/) to be built and
+libraries from the TL tree (texk/kpathsea/, texk/ptexenc/. and libs/Lib/)
+required by these programs.
-3. Running `make'
-=================
+3. Running `make' at the top-level
+==================================
-Running 'make' in the top-level directory will recurse into the directories
-texk/kpathsea/, libs/, utils/, and texk/.
+First, if texk/kpathsea/ and texk/ptexenc/ are not yet configured, this runs
+`configure' and if required `make all' in that directory. Then this
+recurses into all required subdirectories texk/kpathsea/, texk/ptexenc/,
+libs/, utils/, and texk/ for the selected Make target: `default' or `all' to
+(re-)build, `check' to run tests, `install' etc.
3.1. Running `make' in libs/
----------------------------
@@ -132,14 +134,13 @@ The TL build system allows for parallel builds ('make -j n' with n>1),
carefully formulating Make rules when a tool (such as 'tangle' or 'convert')
creates several output files. This can considerably speed up a TL build on
multi core systems. I usually use 'make -j 4 -l 8.0' or even 'make -j' with
-up to 50 compilations in parallel; please report any failures.
+up to 50 compilations in parallel.
3.4 Using a Configure Cache File
--------------------------------
Further speed up of a TL build can be achieved by using a configure cache
-file, e.g., running 'configure -C' at the top-level. This should work after
-some initial problem have been fixed; please report any failures.
+file, e.g., running 'configure -C' at the top-level.
3.5 Comments
------------
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 4923c6a33b2..d3ce571193a 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -1234,15 +1234,16 @@ EXTRA_DIST = PROJECTS cftests config.h cpascal.h help.h triptrap-sh \
ptexdir/ptrip.diffs ptexdir/Files ptexdir/pbibtex.defines \
ptexdir/ptex.mk ptexdir/ptex-base.ch.orig \
ptexdir/ptex-include.ch ptexdir/ptexhelp.h ptexdir/reautoconf \
- $(pdftex_ch_srcs) pdftexdir/pdftex.defines pdftexdir/pdftex.h \
- pdftexdir/pdftexextra.in pdftexdir/ChangeLog pdftexdir/NEWS \
- pdftexdir/README pdftexdir/change-files.txt \
- pdftexdir/pdftex.mak pdftexdir/pdftex.mk \
- pdftexdir/regex/COPYING.LIB pdftexdir/regex/README \
- luatexdir/ptexlib.h luatexdir/getluatexsvnversion.sh \
- luatexdir/lua51/Makefile luatexdir/lua51/liolib.c \
- luatexdir/lua51/lua.c luatexdir/lua51/luac.c \
- luatexdir/lua51/print.c luatexdir/luasocket/src/socket_lua.c \
+ $(pdftex_ch_srcs) etexdir/etex.ch pdftexdir/pdftex.defines \
+ pdftexdir/pdftex.h pdftexdir/pdftexextra.in \
+ pdftexdir/ChangeLog pdftexdir/NEWS pdftexdir/README \
+ pdftexdir/change-files.txt pdftexdir/pdftex.mak \
+ pdftexdir/pdftex.mk pdftexdir/regex/COPYING.LIB \
+ pdftexdir/regex/README luatexdir/ptexlib.h \
+ luatexdir/getluatexsvnversion.sh luatexdir/lua51/Makefile \
+ luatexdir/lua51/liolib.c luatexdir/lua51/lua.c \
+ luatexdir/lua51/luac.c luatexdir/lua51/print.c \
+ luatexdir/luasocket/src/socket_lua.c \
luatexdir/luasocket/src/ftp_lua.c \
luatexdir/luasocket/src/http_lua.c \
luatexdir/luasocket/src/smtp_lua.c \
@@ -1412,20 +1413,21 @@ DISTCLEANFILES = $(EXTRA_LIBRARIES) tangle.c tangle.h tangle.p \
tests/xpagenum.typ tests/xcmr10.tfm tests/xcmr10.pl \
ptrip.diffs $(nodist_pdftex_SOURCES) pdftex.ch pdftex-web2c \
pdftex.p pdftex.pool pdftex-tangle pdftexdir/pdftex.version \
- $(nodist_libluatex_a_SOURCES) $(nodist_xetex_SOURCES) \
- xetex.web xetex-web2c xetex.p xetex.pool xetex-tangle \
- xetexdir/etex.version xetexdir/xetex.version \
- $(omegaware_programs:=.c) $(omegaware_programs:=.h) \
- $(omegaware_programs:=.p) $(omegaware_programs:=-web2c) \
- omegaware/tests/xlevel1.ofm omegaware/tests/xlevel1.opl \
- ofont*vf omegaware/tests/xofont* omegaware/tests/Cherokee.tfm \
- omegaware/tests/OCherokee.ofm omegaware/tests/OCherokee.opl \
- omegaware/tests/OCherokee.ovf omegaware/tests/xCherokee.* \
- omegaware/tests/xOCherokee.* cftest.p \
- omegaware/tests/xrepeated.* omegaware/tests/specialhex.ofm \
- omegaware/tests/specialhex.opl omegaware/tests/specialhex.ovf \
- omegaware/tests/xspecialhex.* $(nodist_aleph_SOURCES) \
- aleph.web aleph.ch aleph-web2c aleph.p aleph.pool aleph-tangle
+ pdftexdir/etex.version $(nodist_libluatex_a_SOURCES) \
+ $(nodist_xetex_SOURCES) xetex.web xetex-web2c xetex.p \
+ xetex.pool xetex-tangle xetexdir/etex.version \
+ xetexdir/xetex.version $(omegaware_programs:=.c) \
+ $(omegaware_programs:=.h) $(omegaware_programs:=.p) \
+ $(omegaware_programs:=-web2c) omegaware/tests/xlevel1.ofm \
+ omegaware/tests/xlevel1.opl ofont*vf omegaware/tests/xofont* \
+ omegaware/tests/Cherokee.tfm omegaware/tests/OCherokee.ofm \
+ omegaware/tests/OCherokee.opl omegaware/tests/OCherokee.ovf \
+ omegaware/tests/xCherokee.* omegaware/tests/xOCherokee.* \
+ cftest.p omegaware/tests/xrepeated.* \
+ omegaware/tests/specialhex.ofm omegaware/tests/specialhex.opl \
+ omegaware/tests/specialhex.ovf omegaware/tests/xspecialhex.* \
+ $(nodist_aleph_SOURCES) aleph.web aleph.ch aleph-web2c aleph.p \
+ aleph.pool aleph-tangle
CLEANFILES =
TRIPTRAP = $(am__append_6) $(am__append_9) $(am__append_15) \
$(am__append_19) $(am__append_24)
@@ -1610,7 +1612,7 @@ etex_ch_srcs = \
$(etex_ch_synctex) \
etexdir/tex.ch1 \
etexdir/tex.ech \
- etexdir/etex-binpool.ch
+ tex-binpool.ch
# e-TeX Tests
@@ -1648,7 +1650,6 @@ ptex_web_srcs = \
tex.ch
ptex_ch_srcs = \
- $(ptex_ch_synctex) \
ptexdir/ptex-base.ch \
tex-binpool.ch
@@ -9009,7 +9010,7 @@ ptex-tangle: tangle$(EXEEXT) ptex.web ptex.ch tangle-sh
# Extract ptex version
ptexdir/ptex.version: ptexdir/ptex-base.ch
- $(MKDIR_P) ptexdir/lib
+ $(MKDIR_P) ptexdir
grep "^@d TeX_banner=='This is pTeX" $(srcdir)/ptexdir/ptex-base.ch \
| sed "s/^.*-//;s/'.*$$//" >ptexdir/ptex.version
@@ -9075,12 +9076,17 @@ pdftex-tangle: tangle$(EXEEXT) pdftexdir/pdftex.web pdftex.ch tangle-sh
@$(pdf_tangle) pdftex pdftex
pdftex-pool.c: pdftex.pool pdftexd.h $(makecpool_stamp)
$(makecpool) pdftex >$@ || rm -f $@
+# Extract etex version
+pdftexdir/etex.version: etexdir/etex.ch
+ $(MKDIR_P) pdftexdir
+ grep '^@d eTeX_version_string==' $(srcdir)/etexdir/etex.ch \
+ | sed "s/^.*'-//;s/'.*$$//" >$@
# Extract pdftex version
pdftexdir/pdftex.version: pdftexdir/pdftex.web
$(MKDIR_P) pdftexdir
grep '^@d pdftex_version_string==' $(srcdir)/pdftexdir/pdftex.web \
| sed "s/^.*'-//;s/'.*$$//" >pdftexdir/pdftex.version
-pdftexdir/pdftexextra.h: pdftexdir/pdftexextra.in pdftexdir/pdftex.version etexdir/etex.version
+pdftexdir/pdftexextra.h: pdftexdir/pdftexextra.in pdftexdir/pdftex.version pdftexdir/etex.version
sed -e s/PDFTEX-VERSION/`cat pdftexdir/pdftex.version`/ \
-e s/ETEX-VERSION/`cat etexdir/etex.version`/ \
$(srcdir)/pdftexdir/pdftexextra.in >$@
diff --git a/Build/source/texk/web2c/etexdir/ChangeLog b/Build/source/texk/web2c/etexdir/ChangeLog
index d8e2fd0a761..ea79734b801 100644
--- a/Build/source/texk/web2c/etexdir/ChangeLog
+++ b/Build/source/texk/web2c/etexdir/ChangeLog
@@ -1,3 +1,7 @@
+2010-04-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/etex.am (etex_ch_srcs): Use tex-binpool.ch as for TeX.
+
2010-03-04 Peter Breitenlohner <peb@mppmu.mpg.de>
* am/etex.am (TRIPTRAP): Add etrip.diffs.
diff --git a/Build/source/texk/web2c/etexdir/am/etex.am b/Build/source/texk/web2c/etexdir/am/etex.am
index 33567225a26..135061c9a73 100644
--- a/Build/source/texk/web2c/etexdir/am/etex.am
+++ b/Build/source/texk/web2c/etexdir/am/etex.am
@@ -68,7 +68,7 @@ etex_ch_srcs = \
$(etex_ch_synctex) \
etexdir/tex.ch1 \
etexdir/tex.ech \
- etexdir/etex-binpool.ch
+ tex-binpool.ch
##
EXTRA_DIST += $(etex_web_srcs) $(etex_ch_srcs) etexdir/etexextra.in \
lib/texmfmp.c tmf-pool.h
diff --git a/Build/source/texk/web2c/etexdir/etex-binpool.ch b/Build/source/texk/web2c/etexdir/etex-binpool.ch
deleted file mode 100644
index d55114962c9..00000000000
--- a/Build/source/texk/web2c/etexdir/etex-binpool.ch
+++ /dev/null
@@ -1,83 +0,0 @@
-%
-% pool in binary
-%
-@x
-@!m,@!n:text_char; {characters input from |pool_file|}
-@!g:str_number; {garbage}
-@!a:integer; {accumulator for check sum}
-@!c:boolean; {check sum has been checked}
-@y
-@!g:str_number; {garbage}
-@z
-@x
-@ @d bad_pool(#)==begin wake_up_terminal; write_ln(term_out,#);
- a_close(pool_file); get_strings_started:=false; return;
- end
-@<Read the other strings...@>=
-name_length := strlen (pool_name);
-name_of_file := xmalloc_array (ASCII_code, name_length + 1);
-strcpy (stringcast(name_of_file+1), pool_name); {copy the string}
-if a_open_in (pool_file, kpse_texpool_format) then
- begin c:=false;
- repeat @<Read one string, but return |false| if the
- string memory space is getting too tight for comfort@>;
- until c;
- a_close(pool_file); get_strings_started:=true;
- end
-else bad_pool('! I can''t read ', pool_name, '; bad path?')
-@.I can't read TEX.POOL@>
-
-@ @<Read one string...@>=
-begin if eof(pool_file) then bad_pool('! ', pool_name, ' has no check sum.');
-@.TEX.POOL has no check sum@>
-read(pool_file,m); read(pool_file,n); {read two digits of string length}
-if m='*' then @<Check the pool check sum@>
-else begin if (xord[m]<"0")or(xord[m]>"9")or@|
- (xord[n]<"0")or(xord[n]>"9") then
- bad_pool('! ', pool_name, ' line doesn''t begin with two digits.');
-@.TEX.POOL line doesn't...@>
- l:=xord[m]*10+xord[n]-"0"*11; {compute the length}
- if pool_ptr+l+string_vacancies>pool_size then
- bad_pool('! You have to increase POOLSIZE.');
-@.You have to increase POOLSIZE@>
- for k:=1 to l do
- begin if eoln(pool_file) then m:=' '@+else read(pool_file,m);
- append_char(xord[m]);
- end;
- read_ln(pool_file); g:=make_string;
- end;
-end
-
-@ The \.{WEB} operation \.{@@\$} denotes the value that should be at the
-end of this \.{TEX.POOL} file; any other value means that the wrong pool
-file has been loaded.
-@^check sum@>
-
-@<Check the pool check sum@>=
-begin a:=0; k:=1;
-loop@+ begin if (xord[n]<"0")or(xord[n]>"9") then
- bad_pool('! ', pool_name, ' check sum doesn''t have nine digits.');
-@.TEX.POOL check sum...@>
- a:=10*a+xord[n]-"0";
- if k=9 then goto done;
- incr(k); read(pool_file,n);
- end;
-done: if a<>@$ then
- bad_pool('! ', pool_name, ' doesn''t match; tangle me again (or fix the path).');
-@.TEX.POOL doesn't match@>
-c:=true;
-end
-@y
-@ @<Read the other strings...@>=
- g := loadpoolstrings((pool_size-string_vacancies));
- if g=0 then begin
- wake_up_terminal; write_ln(term_out,'! You have to increase POOLSIZE.');
- get_strings_started:=false;
- return;
- end;
- get_strings_started:=true;
-
-@ Empty module
-
-@ Empty module
-@z
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog
index 66552b70c34..f568296d3e5 100644
--- a/Build/source/texk/web2c/pdftexdir/ChangeLog
+++ b/Build/source/texk/web2c/pdftexdir/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * am/pdftex.am (EXTRA_DIST): Add etexdir/etex.ch.
+ Use pdftexdir/etex.version instead of etexdir/etex.version.
+
2010-04-20 Peter Breitenlohner <peb@mppmu.mpg.de>
* ptexlib.h: Move extern declaration of ptexbanner to here
diff --git a/Build/source/texk/web2c/pdftexdir/am/pdftex.am b/Build/source/texk/web2c/pdftexdir/am/pdftex.am
index 6c1e87788c8..ea9fd9601d4 100644
--- a/Build/source/texk/web2c/pdftexdir/am/pdftex.am
+++ b/Build/source/texk/web2c/pdftexdir/am/pdftex.am
@@ -53,12 +53,17 @@ pdftex-tangle: tangle$(EXEEXT) pdftexdir/pdftex.web pdftex.ch tangle-sh
@$(pdf_tangle) pdftex pdftex
pdftex-pool.c: pdftex.pool pdftexd.h $(makecpool_stamp)
$(makecpool) pdftex >$@ || rm -f $@
+# Extract etex version
+pdftexdir/etex.version: etexdir/etex.ch
+ $(MKDIR_P) pdftexdir
+ grep '^@d eTeX_version_string==' $(srcdir)/etexdir/etex.ch \
+ | sed "s/^.*'-//;s/'.*$$//" >$@
# Extract pdftex version
pdftexdir/pdftex.version: pdftexdir/pdftex.web
$(MKDIR_P) pdftexdir
grep '^@d pdftex_version_string==' $(srcdir)/pdftexdir/pdftex.web \
| sed "s/^.*'-//;s/'.*$$//" >pdftexdir/pdftex.version
-pdftexdir/pdftexextra.h: pdftexdir/pdftexextra.in pdftexdir/pdftex.version etexdir/etex.version
+pdftexdir/pdftexextra.h: pdftexdir/pdftexextra.in pdftexdir/pdftex.version pdftexdir/etex.version
sed -e s/PDFTEX-VERSION/`cat pdftexdir/pdftex.version`/ \
-e s/ETEX-VERSION/`cat etexdir/etex.version`/ \
$(srcdir)/pdftexdir/pdftexextra.in >$@
@@ -72,11 +77,11 @@ pdftex_ch_srcs = \
$(pdftex_ch_synctex) \
pdftexdir/pdftex.ch
##
-EXTRA_DIST += $(pdftex_ch_srcs) \
+EXTRA_DIST += $(pdftex_ch_srcs) etexdir/etex.ch \
pdftexdir/pdftex.defines pdftexdir/pdftex.h pdftexdir/pdftexextra.in
DISTCLEANFILES += $(nodist_pdftex_SOURCES) pdftex.ch pdftex-web2c \
- pdftex.p pdftex.pool pdftex-tangle pdftexdir/pdftex.version
+ pdftex.p pdftex.pool pdftex-tangle pdftexdir/pdftex.version pdftexdir/etex.version
EXTRA_DIST += \
pdftexdir/ChangeLog \
diff --git a/Build/source/texk/web2c/ptexdir/ChangeLog b/Build/source/texk/web2c/ptexdir/ChangeLog
index d9053aa8473..588ea2908ce 100644
--- a/Build/source/texk/web2c/ptexdir/ChangeLog
+++ b/Build/source/texk/web2c/ptexdir/ChangeLog
@@ -8,6 +8,8 @@
* pbibtex.ch: Correct handling of buffer_overflow. From Akira.
* ptex.defines (inputline3): Removed.
+ * am/ptex.am: No synctex. No reason to create ptexdir/lib/.
+
2010-04-21 Peter Breitenlohner <peb@mppmu.mpg.de>
* pdvitype.test, ppltotf.test, ptftopl.test (new): Shell scripts
diff --git a/Build/source/texk/web2c/ptexdir/am/ptex.am b/Build/source/texk/web2c/ptexdir/am/ptex.am
index 05a20f9f90c..14cb8361c65 100644
--- a/Build/source/texk/web2c/ptexdir/am/ptex.am
+++ b/Build/source/texk/web2c/ptexdir/am/ptex.am
@@ -78,7 +78,7 @@ ptex-tangle: tangle$(EXEEXT) ptex.web ptex.ch tangle-sh
# Extract ptex version
ptexdir/ptex.version: ptexdir/ptex-base.ch
- $(MKDIR_P) ptexdir/lib
+ $(MKDIR_P) ptexdir
grep "^@d TeX_banner=='This is pTeX" $(srcdir)/ptexdir/ptex-base.ch \
| sed "s/^.*-//;s/'.*$$//" >ptexdir/ptex.version
@@ -93,7 +93,6 @@ ptex_web_srcs = \
ptex.ch: tie$(EXEEXT) ptex.web $(ptex_ch_srcs)
$(tie) -c ptex.ch ptex.web $(ptex_ch_srcs)
ptex_ch_srcs = \
- $(ptex_ch_synctex) \
ptexdir/ptex-base.ch \
tex-binpool.ch