$Id: README 78098 2026-02-23 22:59:59Z karl $
Public domain.  Originally written 2005 by Karl Berry.

For a high-level overview of building TeX Live, see
http://tug.org/texlive/build.html.  In brief:

- To configure and make the source tree, run ./Build.
  This builds in subdirectory Work/, and installs into subdirectory inst/.
  (Nearly everything the Build script does can be overridden via
   environment variables; just take a look at the script for the details.)

- To build (mostly) without optimization, run ./Build --debug.

- If the make fails and you want to rebuild without starting from scratch:
  cd Work/whatever/subdir && make

- The result of make install is not a working TeX system, unfortunately.
  Much more needs to be done afterwards.  For a starting point, see
  the "Installing" chapter in the ./doc/tlbuild* document, online at
  https://tug.org/texinfohtml/tlbuild.html#Installing.  Looking at how
  various distros handle TeX can also be useful.

Email tlbuild@tug.org if problems with the build.

Many more details about the TL build system, such as configuring to work
on a single program, adding new programs or libraries, documentation
about the many pieces of the system, etc., are in the ./doc/tlbuild*
document and the sibling README* files here (which are generated from
that document).


Build information for some of the platforms.
See also Master/tlpkg/bin/tl-update-bindir.

aarch64-linux: Built on github, see below.
  ./Build --enable-arm-neon=on

armhf-linux: github, see below.

x86_64-cygwin: gcc-10.2.0, cygwin-3.1.7
  TL_CONFIGURE_ARGS="--enable-xindy --enable-shared CLISP=/path/to/clisp.exe
    CXXFLAGS=-Wa,-mbig-obj
    LDFLAGS='-Wl,--no-insert-timestamp -Wl,--stack,0x800000'" \
  ./Build
  
i386-freebsd amd64-freebsd: github, see below.

i386-linux: github, see below.

i386-netbsd, amd64-netbsd:
  NetBSD/amd64 10.1
    TL_MAKE=gmake CC=gcc CXX=g++ \
    CFLAGS=-D_NETBSD_SOURCE \
    CXXFLAGS='-D_NETBSD_SOURCE -std=c++17' \
    LDFLAGS='-L/usr/X11R7/lib -Wl,-rpath,/usr/X11R7/lib' \
  ./Build --enable-xindy CLISP=/usr/local/bin/clisp

i386-solaris, x86_64-solaris: github, see below.

universal-darwin: See Master/source/mactexdoc.tar.xz.

windows:
  Makefiles written by hand, see Master/source/windows-src.tar.xz.
  Visual Studio 2010 and Visual Studio 2015.
  
  Although we do not use mingw for the distributed Windows
  binaries, TL can be built with mingw by passing
    --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu
  to configure. For a full invocation as of 2025, see:
    https://tug.org/pipermail/tlbuild/2025q3/005847.html
  For another invocation, and entire workflow (not just for Windows):
    https://tug.org/pipermail/tlbuild/2025q2/005794.html
  A shorter message with incantations:
    https://github.com/vtex-soft/xdvipsk/issues/17

x86_64-darwinlegacy: Built on ConTeXtGarden.
  Mac OS X 10.6, clang 5.0, libc++ required
  auxiliary installer binaries: Mac OS X 10.6, gcc -std=c99.
  https://github.com/TeXLive-M/texlive-buildbot
  http://build.contextgarden.net/waterfall?tag=c/texlive
  (These links have info on all platforms built by Mojca.)

x86_64-linux,
x86_64-linuxmusl,
and others noted above for github:
  built at https://github.com/TeX-Live/texlive-source/releases.
  see ./github/scripts/build-tl.sh and workflows/main.yml.
  Some asy binaries are also built here; see */build-asy.*.
