$Id: README 69813 2024-02-11 23:09:34Z 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/.

- 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

Email tlbuild@tug.org if problems.

(Nearly everything the Build script does can be overridden via
environment variables; just take a look to see the names.)

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 contextgarden, see below, except for asy:
  aarch64 Debian GNU/Linux 10 (buster)
  gcc (Debian 8.3.0-6) 8.3.0
  ./Build --enable-arm-neon=on

armhf-linux:
  Built on contextgarden, see below.
  Raspbian/Raspberry Pi OS (Debian Buster)
  Previously, built by Simon Dales:
  gcc version 10.2.1 20210110 (Raspbian 10.2.1-6+rpi1)
  ./Build --enable-xindy CLISP=${BUILD_ROOT_DIR}/clisp/clisp-build/clisp}
  armhf-linux binaries are created and tested on RPi;
  they run on RPi, as well as ARMv7 CPUs, but are untested on non-RPi
  ARMv6 machines.

x86_64-cygwin: gcc-10.2.0, cygwin-3.1.7
  TL_CONFIGURE_ARGS="--enable-xindy --enable-shared CLISP=/path/to/clisp.exe
    LDFLAGS='-Wl,--no-insert-timestamp -Wl,--stack,0x800000'" \
  ./Build
  
i386-freebsd amd64-freebsd:
  Built on contextgarden, see below.
  FreeBSD 11.4
  upstream: https://www.freshports.org/devel/tex-web2c/

i386-linux: see travis below.

i386-netbsd, amd64-netbsd:
  NetBSD/amd64 9.3
  gcc version 7.5.0 (nb4 20200810)
    TL_MAKE=gmake CC=gcc CXX=g++ \
    CFLAGS=-D_NETBSD_SOURCE \
    CXXFLAGS='-D_NETBSD_SOURCE -std=c++11' \
    LDFLAGS='-L/usr/X11R7/lib -Wl,-rpath,/usr/X11R7/lib' \
  ./Build --enable-xindy CLISP=/usr/local/bin/clisp

i386-solaris, x86_64-solaris:
  Built on contextgarden, see below.
  Solaris 10, gcc 5.5.  See doc/README.solaris.

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.

x86_64-darwinlegacy:
  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.)

i386-linux,
x86_64-linux,
x86_64-linuxmusl:
  CentOS 7 Docker image with musl libc 1.1.5, plus gcc10:
    yum -y install centos-release-scl-rh
    yum -y install devtoolset-9-gcc-c++
    yum install -y fontconfig-devel libX11-devel libXmu-devel libXaw-devel
  Binaries are taken from the CI testing via github;
  see the source/.github/* files for details on how to build,
  and tlpkg/bin/tl-update-bindir for updating binaries (in general).
