tlbuild: Linked scripts
5.2 Linked scripts
==================
Quite a few executables are architecture-independent shell, Perl, or
other interpreted scripts, rather than compiled binaries. A few are
maintained as part of the TL source tree, but most are maintained
elsewhere with copies under 'texk/texlive/linked_scripts'.
These so-called "linked scripts" are installed under
'DATAROOTDIR/texmf-dist/scripts'; for Unix-like systems a symbolic link
is made in 'BINDIR'. For example, a symlink points from 'BINDIR/ps2eps'
to 'DATAROOTDIR/texmf-dist/scripts/ps2eps/ps2eps.pl'. For Windows, a
standard wrapper binary (copied to, e.g., 'BINDIR/ps2eps.exe') serves
the same purpose. The source for the wrapper is in
'texk/texlive/w32_wrapper'.
One reason for this is to avoid having many copies of the same
script; a more important reason is that it guarantees the scripts will
stay in sync across the different supported operating systems.
Most important of all, we want the 'BINDIR' resulting from the build
to be as close as possible to what is in the TL distribution. At
present, there are a few exceptions--Asymptote, Biber, Xindy--and each
one creates considerable extra work. We don't want to add more. (See
<https://tug.org/texlive/build.html> for information about building
those exceptions, as well as the 'xz' and 'wget' programs that are used
in the TL infrastructure.)