summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-03-28 22:40:11 +0000
committerKarl Berry <karl@freefriends.org>2013-03-28 22:40:11 +0000
commit777b478d51f39ab6ad29ce5605efea19d094a089 (patch)
tree9f8c0e258cabb1ed3208d0aff81db10860fed984
parenta993aea688e656c6b264049b2092443869c56653 (diff)
clisp build process, other build docs
git-svn-id: svn://tug.org/texlive/trunk@29540 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/ChangeLog5
-rw-r--r--Build/source/README123
-rw-r--r--Build/source/README.config5
-rw-r--r--Build/source/utils/README61
4 files changed, 105 insertions, 89 deletions
diff --git a/Build/source/ChangeLog b/Build/source/ChangeLog
index 5663a4fd28b..2bd6b7b0622 100644
--- a/Build/source/ChangeLog
+++ b/Build/source/ChangeLog
@@ -1,3 +1,8 @@
+2013-03-26 Karl Berry <karl@tug.org>
+
+ * Build: use $MAKE rather than $TL_MAKE for the make clean
+ in the unlikely event of a local Makefile.
+
2013-03-21 Mojca Miklavec <mojca.miklavec.lists@gmail.com>
* Build: Remove GNUMAKE variable (after freetype2 as the only library
diff --git a/Build/source/README b/Build/source/README
index 9caeb754d36..825cffc34ea 100644
--- a/Build/source/README
+++ b/Build/source/README
@@ -12,13 +12,14 @@ To make without configuring, run TL_CONFIGURE=true ./Build.
environment variables; just take a look to see all the names.)
Prerequisites:
+- C and C++ compilers.
+
- GNU make. If your GNU make is invoked by some name other than `make',
- try setting the envvar TL_MAKE to what is needed.
+ try: env TL_MAKE=/your/gnu/make ./Build
- GNU clisp and GNU libffcall, for xindy. See more
details in utils/README. (Alternative: Build --disable-xindy.)
-
- Perl, latex, and pdflatex to build the rules and/or documentation.
+ Also perl, latex, and pdflatex to build the rules and/or documentation.
- Perl to autodetect the TeX Live platform name for biber.
@@ -27,8 +28,8 @@ Prerequisites:
(Alternative: Build --without-x.)
- libfontconfig (again both headers and library), for XeTeX and xdvipdfmx,
- except on MacOSX. (Alternative:
- Build --disable-xetex --disable-xdvipdfmx.)
+ except on MacOSX. (Alternative: Build --disable-xetex --disable-xdvipdfmx.)
+ While on MacOSX, an Objective C compiler is needed.
- If you modify any .y or .l source files, then Bison and Flex (or maybe
equivalents) are needed. The distributed .c and .h files are generated
@@ -58,61 +59,61 @@ programs or libraries, recompiling after fixing problems, etc., are in
the other README.* files here.
-Build information:
- In general, xe(la)tex and xdvipdfmx depend on fontconfig.
- We cannot statically link it because it varies by os version.
+Build information for some of the platforms.
- i386-linux: Debian sarge, gcc 3.3.5, libc 2.3.2, Linux 2.6.9-67.0.4.ELsmp
- chroot /home/texlive/sarge; Build --with-xindy --with-clisp=...
-
- x86_64-linux: gcc 4.5, libc 2.3.6, Linux 2.6.28.6
+i386-linux: gcc 4.6.3, Linux 2.6.18-* (CentOS 5)
+ ~karl/bin/mybuild
+
+x86_64-linux: gcc 4.5, libc 2.3.6, Linux 2.6.28.6
- universal-darwin, x86_64-darwin: a menagerie of versions.
- See Master/source/mactexdoc.tar.xz.
-
- i386-solaris, x86_64-solaris: Solaris 11.
-
- powerpc-linux (Debian Squeeze)
-Linux homer 2.6.32-5-powerpc64 #1 SMP Tue Mar 8 02:01:42 UTC 2011
-ppc64 Debian GNU/Linux 6.0
-(only the kernel is 64bit, the entire userland is 32bit.)
-
- sparc-solaris
-OS: Sun Solaris 8
-compiler: Sun Studio 11
-bison (GNU Bison) 2.3
-flex version 2.5.4
-GNU m4 1.4.5
-GNU Make 3.81
- Because Solaris 8 does not include fontconfig, we used fontconfig
- package (version 2.3.2) from http://www.blastwave.org/
- (together with its dependencies)
-
- powerpc-aix
-OS: AIX 4.3
-compiler: IBM C for AIX Compiler, Version 5 (xlc)
-bison (GNU Bison) 1.34
-flex version 2.5.4
-GNU m4 1.4
-GNU Make 3.79.1
- You can download fontconfig for AIX from
- http://www-03.ibm.com/servers/aix/products/aixos/linux/download.html
- ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/fontconfig/
-
- alpha-linux
-OS: Debian GNU/Linux 4.0 (Etch), kernel 2.6.18
-gcc (GCCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
-bison (GNU Bison) 2.3
-flex 2.5.33
-GNU M4 1.4.8
-GNU Make 3.81
- - you have to set the ulimit high enough before compiling clisp and texlive
- ulimit -s 16384
- did suffice for me
- - compiling of texk/web2c/pdftexdir/writezip.c is broken and triggers a
- compiler error with the above gcc. This is a known optimization error
- of gcc on alphas. The solution is to set
- LDFLAGS=-Wl,--no-relax
- before running Build.
- - compilation of clisp needs --disable-mmap
- - asy compilation with --disable-gsl && make
+universal-darwin, x86_64-darwin: a menagerie of versions.
+ See Master/source/mactexdoc.tar.xz.
+
+i386-solaris, x86_64-solaris: Solaris 11.
+
+i386-cygwin: gcc-4.5.3.
+
+powerpc-linux (Debian Squeeze)
+ Linux homer 2.6.32-5-powerpc64 #1 SMP Tue Mar 8 02:01:42 UTC 2011
+ ppc64 Debian GNU/Linux 6.0
+ (only the kernel is 64bit, the entire userland is 32bit.)
+
+sparc-solaris
+ OS: Sun Solaris 8
+ compiler: Sun Studio 11
+ bison (GNU Bison) 2.3
+ flex version 2.5.4
+ GNU m4 1.4.5
+ GNU Make 3.81
+ Because Solaris 8 does not include fontconfig, we used fontconfig
+ package (version 2.3.2) from http://www.blastwave.org/
+ (together with its dependencies)
+
+powerpc-aix
+ OS: AIX 4.3
+ compiler: IBM C for AIX Compiler, Version 5 (xlc)
+ bison (GNU Bison) 1.34
+ flex version 2.5.4
+ GNU m4 1.4
+ GNU Make 3.79.1
+ You can download fontconfig for AIX from
+ http://www-03.ibm.com/servers/aix/products/aixos/linux/download.html
+ ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/fontconfig/
+
+alpha-linux
+ OS: Debian GNU/Linux 4.0 (Etch), kernel 2.6.18
+ gcc (GCCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
+ bison (GNU Bison) 2.3
+ flex 2.5.33
+ GNU M4 1.4.8
+ GNU Make 3.81
+ - you have to set the ulimit high enough before compiling clisp and texlive
+ ulimit -s 16384
+ did suffice for me
+ - compiling of texk/web2c/pdftexdir/writezip.c is broken and triggers a
+ compiler error with the above gcc. This is a known optimization error
+ of gcc on alphas. The solution is to set
+ LDFLAGS=-Wl,--no-relax
+ before running Build.
+ - compilation of clisp needs --disable-mmap
+ - asy compilation with --disable-gsl && make
diff --git a/Build/source/README.config b/Build/source/README.config
index 96e03ba4fa2..d3f69b89382 100644
--- a/Build/source/README.config
+++ b/Build/source/README.config
@@ -295,8 +295,9 @@ For system icu libraries.
-----------------------------------
For most system libraries.
-You need a pkg-config executable when compiling the TL's cairo.
-A symlink to, e.g., /bin/false is sufficient.
+You need a pkg-config executable when compiling the cairo included in
+TL, but it doesn't need to do anything. A symlink to, e.g., /bin/false
+is sufficient.
4.4. CLISP=/path/to/clisp
-------------------------
diff --git a/Build/source/utils/README b/Build/source/utils/README
index c77610d6ee8..79bf90d62fd 100644
--- a/Build/source/utils/README
+++ b/Build/source/utils/README
@@ -52,10 +52,6 @@ After building clisp as described below, run the TL
Build --enable-xindy CLISP=$clisp_builddir/clisp
to include xindy in the build. It is disabled by default.
-Before clisp 2.48, do not use nohup when building clisp; this may cause
-weird build problems. Regular redirections of stdout/stderr are ok.
-Fixed in 2.48: http://sourceforge.net/tracker/?func=detail&aid=2805778&group_id=1355&atid=101355
-
mkdir clisp; cd clisp
clisp_basedir=`pwd`
clisp_toolsdir=$clisp_basedir/clisp-tools
@@ -64,43 +60,56 @@ mkdir $clisp_toolsdir
wget=wget # or "curl -O" or whatever
+libsigsegv_ver=libsigsegv-2.10
cd $clisp_basedir
-$wget http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.10.tar.gz
-gzip -dc libsigsegv-2.10.tar.gz | tar xf -
-cd libsigsegv-2.10
-./configure --prefix=$clisp_toolsdir && make && make check && make install
-
+$wget http://ftp.gnu.org/gnu/libsigsegv/$libsigsegv_ver.tar.gz
+gzip -dc $libsigsegv_ver.tar.gz | tar xf -
+cd $libsigsegv_ver
+./configure --prefix=$clisp_toolsdir --disable-shared --enable-static \
+&& make && make check && make install
+#
# you may need this hack on 64-bit systems
-# if clisp's configure will not find libsigsegv.
+# if clisp's configure does not find libsigsegv. Harmless anyway.
ln -s lib $clisp_toolsdir/lib64
-# on the mac, get libiconv and ensure link statically.
-# not needed on other platforms?
+libiconv_ver=libiconv-1.14
cd $clisp_basedir
-$wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz
-gzip -dc libiconv-1.13.1.tar.gz | tar xf -
-cd libiconv-1.13.1
-./configure --enable-static --prefix=$clisp_toolsdir \
+$wget http://ftp.gnu.org/gnu/libiconv/$libiconv_ver.tar.gz
+gzip -dc $libiconv_ver.tar.gz | tar xf -
+cd $libiconv_ver
+./configure --prefix=$clisp_toolsdir --disable-shared --enable-static \
&& make && make check && make install
-#
-cd $clisp_basedir/clisp-tools/lib
-rm *.dylib
-rm *.la
+ffcall_ver=ffcall-1.10
cd $clisp_basedir
-$wget http://ftp.gnu.org/gnu/clisp/release/2.49/clisp-2.49.tar.gz
-gzip -dc clisp-2.49.tar.gz | tar xf -
-cd clisp-2.49
+$wget http://www.haible.de/bruno/gnu/$ffcall_ver.tar.gz
+gzip -dc $ffcall_ver.tar.gz | tar xf -
+cd $ffcall_ver
+./configure --prefix=$clisp_toolsdir --disable-shared --enable-static \
+&& make && make check && make install
+
+# would probably be ideal to also do a local libtermcap or ncurses,
+# but doesn't seem to be a problem in practice?
+
+# foil wrong attempts at dynamic linking, etc.
+(cd $clisp_basedir/clisp-tools/lib && rm -f *.dylib *.la)
+
+clisp_ver=clisp-2.49
+cd $clisp_basedir
+$wget http://ftp.gnu.org/gnu/clisp/release/2.49/$clisp_ver.tar.gz
+gzip -dc $clisp_ver.tar.gz | tar xf -
+cd $clisp_ver
# On Cygwin:
# mv modules/syscalls/configure modules/syscalls/configure.orig
# sed -e '{s%-luuid%-L/usr/lib/w32api -luuid%}' \
# modules/syscalls/configure.orig > modules/syscalls/configure
-#
# On FreeBSD/amd64: add --disable-mmap.
#
-./configure --with-libsigsegv-prefix=$clisp_toolsdir --without-readline \
- --disable-nls \
+./configure --without-readline --disable-nls \
+ --with-libsigsegv-prefix=$clisp_toolsdir \
+ --with-libiconv-prefix=$clisp_toolsdir \
+ --with-libffcall-prefix=$clisp_toolsdir \
$clisp_builddir \
&& cd $clisp_builddir \
&& make