summaryrefslogtreecommitdiff
path: root/Build/source/configure.ac
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
commitad547a6b5986815fda458221149728d9d9ab1d87 (patch)
tree16296910eb3eca724371474ea9aea3994dc69614 /Build/source/configure.ac
parent947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff)
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/configure.ac')
-rw-r--r--Build/source/configure.ac201
1 files changed, 201 insertions, 0 deletions
diff --git a/Build/source/configure.ac b/Build/source/configure.ac
new file mode 100644
index 00000000000..3144b054e3d
--- /dev/null
+++ b/Build/source/configure.ac
@@ -0,0 +1,201 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl Copyright (C) 2009-2013 Peter Breitenlohner <tex-live@tug.org>
+dnl
+dnl This file is free software; the copyright holder
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+m4_include([tardate.ac])[] dnl define tex_live_tardate
+m4_include([version.ac])[] dnl define tex_live_version
+AC_INIT([TeX Live], tex_live_tardate, [tex-k@tug.org])
+AC_PREREQ([2.65])
+AC_CONFIG_SRCDIR([m4/kpse-pkgs.m4])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIRS([m4])
+
+dnl Prevent to configure the source tree by mistake.
+if test "x$srcdir" = x. && test "x$enable_build_in_source_tree" != xyes; then
+ rm -rf config.log
+ AC_MSG_ERROR([Configuring and building TeX Live in the source tree
+is strongly discouraged. If you really want to do that, you must
+specify the configure option `--enable-build-in-source-tree', but
+then do not ask for help -- you have been warned.])
+fi
+
+dnl ## ------------------------------------------- ##
+dnl ## Setup of the TeX Live (TL) infrastructure ##
+dnl ## done in ./, libs/, utils/, and texk/ ##
+dnl ## ------------------------------------------- ##
+dnl
+dnl 1. Define four lists of TeXk programs, utility programs,
+dnl and (generic or TeX specific) libraries in the TL tree.
+dnl These list are defined in m4/kpse-pkgs.m4.
+dnl
+dnl 2. For each program Prog in the list of
+dnl utility programs:
+dnl sinclude utils/Prog/ac/withenable.ac
+dnl TeXk programs:
+dnl sinclude texk/Prog/ac/withenable.ac
+dnl These fragments usually provide the configure options
+dnl --disable-Prog or --enable-Prog
+dnl If Prog is to be built, then set need_SubLib=yes
+dnl for each TL library SubLib required by Prog (if any)
+dnl
+dnl 3. For each library Lib in the list of
+dnl generic TL libraries:
+dnl sinclude libs/Lib/ac/withenable.ac
+dnl TeX specific TL libraries:
+dnl sinclude texk/Lib/ac/withenable.ac
+dnl These fragments usually provide the configure options
+dnl --with-system-Lib, --with-Lib-includes=DIR, and --with-Lib-libdir=DIR
+dnl For each TL library SubLib required by Lib (if any):
+dnl disallow with_system_Lib=yes and with_system_SubLib=no
+dnl if $need_Lib=yes then set need_SubLib=yes
+dnl
+KPSE_SETUP([])
+
+dnl Common code for all programs using libkpathsea.
+KPSE_COMMON([TeX Live top-level], [tar-pax dist-xz no-dist-gzip])
+KPSE_CANONICAL_HOST
+
+AC_PROG_MKDIR_P
+
+AC_PATH_XTRA
+
+AC_PROG_CXX
+
+AC_PROG_LN_S
+AC_ARG_WITH([ln-s],
+ AS_HELP_STRING([--without-ln-s],
+ [do build even if `ln -s' does not work]))[]dnl
+if test "x$LN_S" != "xln -s" && test "x$kpse_cv_have_win32" = xno && test "x$with_ln_s" != xno; then
+ AC_MSG_ERROR([You could use `--without-ln-s' to build without working `ln -s'])
+fi
+
+if test "x$enable_native_texlive_build" = xyes; then
+ if test "x$datarootdir" = 'x${prefix}/share'; then
+ datarootdir='${prefix}'
+ ac_configure_args="$ac_configure_args '--datarootdir=$datarootdir'"
+ fi
+ if test "x$mandir" = 'x${datarootdir}/man'; then
+ mandir='${prefix}/texmf-dist/doc/man'
+ ac_configure_args="$ac_configure_args '--mandir=$mandir'"
+ fi
+ if test "x$infodir" = 'x${datarootdir}/info'; then
+ infodir='${prefix}/texmf-dist/doc/info'
+ ac_configure_args="$ac_configure_args '--infodir=$infodir'"
+ fi
+fi
+
+dnl Although quite unusual, it is possible to build Web2C (TeX & Co)
+dnl using installed (system) kpathsea headers and library.
+dnl In that case we need the location of <kpathsea/paths.h>.
+if test "x$enable_web2c" = xyes && test "x$with_system_kpathsea" = xyes; then
+ if test "x$with_kpathsea_includes" = x; then
+ list="/usr/include /usr/local/include"
+ else
+ list=$with_kpathsea_includes
+ fi
+ found=no
+ for ac_dir in $list; do
+ if test -r "$ac_dir/kpathsea/paths.h"; then
+ found=yes
+ break
+ fi
+ done
+ if test "x$found" = xno; then
+ AC_MSG_NOTICE([You requested to build `web2c' using an installed `kpathsea' version,])
+ AC_MSG_NOTICE([ which requires to locate the <kpathsea/paths.h> header file.])
+ AC_MSG_ERROR([Sorry, not found under any of: $list *****])
+ fi
+fi
+
+KPSE_RECURSE_LIBS([texlibs], [TeX specific], [texk/])
+
+dnl We check that all required system libraries are usable, and may
+dnl reduce frustration if anything is wrong by doing this first.
+dnl A native TeX Live build must not use any system libraries.
+KPSE_SAVE_FLAGS
+syslib_status=yes
+syslib_used=no
+KPSE_ALL_SYSTEM_FLAGS
+KPSE_LT_HACK
+KPSE_FOR_PKGS([sys_texk], [m4_sinclude([texk/]Kpse_Pkg[/ac/]Kpse_Pkg[.ac])])[]dnl
+KPSE_FOR_PKGS([sys_libs], [m4_sinclude([libs/]Kpse_Pkg[/ac/]Kpse_Pkg[.ac])])[]dnl
+if test "x$syslib_status" = xno; then
+ AC_MSG_ERROR([some requested system libraries failed])
+fi
+if test "x$syslib_used:$enable_native_texlive_build" = xyes:yes; then
+ AC_MSG_ERROR([you can not use system libraries for a native TeX Live build])
+fi
+KPSE_RESTORE_FLAGS
+
+AM_CONDITIONAL([cross], [test "x$cross_compiling" = xyes])
+
+AC_CONFIG_SUBDIRS([auxdir/auxsub libs utils texk])
+
+AC_CONFIG_FILES([Makefile doc/Makefile])
+
+dnl Try to detect GNU make early, '-v' is verbose for BSD make.
+rm -f Makefile
+kpse_GNU_make=`${MAKE-make} -v 2>/dev/null | grep GNU`
+
+AC_OUTPUT
+
+dnl Most probably we need GNU make.
+if test -z "$kpse_GNU_make"; then
+ if test "x$enable_native_texlive_build" = xno; then
+ AC_MSG_WARN([Building TeX Live may require GNU make])
+ else
+ AC_MSG_ERROR([Building TeX Live requires GNU make])
+ fi
+fi
+
+AS_IF([test "x$cross_compiling" = xyes],
+ [msg_compiling="cross-compiling on $build_alias for $host_alias"],
+ [msg_compiling="compiling for $kpse_build_alias"])
+kpse_bld=`pwd`
+kpse_src=`cd "$srcdir" && pwd`
+msg_compiling="$msg_compiling
+ in $kpse_bld"
+test "x$srcdir" = x. || msg_compiling="$msg_compiling
+ from sources in $kpse_src"
+AC_MSG_RESULT([
+** Configuration summary for $PACKAGE_STRING (tex_live_version$with_banner_add):
+
+ $msg_compiling])
+case $kpse_src$kpse_bld in
+ *' '*) AC_MSG_ERROR([Absolute source and/or build path with embedded spaces]);;
+esac
+
+cc_version=`$CC --version 2>/dev/null | sed 1q`
+test -n "$cc_version" && cc_version=" ($cc_version)"
+#
+cxx_version=`$CXX --version 2>/dev/null | sed 1q`
+test -n "$cxx_version" && cxx_version=" ($cxx_version)"
+
+AC_MSG_RESULT([
+ C compiler (CC): $CC$cc_version
+ C++ compiler (CXX): $CXX$cxx_version
+ PATH: $PATH
+
+ enable_native_texlive_build: $enable_native_texlive_build
+ enable_largefile: $enable_largefile
+ enable_shared: $enable_shared
+ enable_multiplatform: $enable_multiplatform
+ enable_cxx_runtime_hack: $enable_cxx_runtime_hack
+ enable_libtool_hack: $enable_libtool_hack
+ enable_compiler_warnings: $enable_compiler_warnings
+
+ prefix: $prefix
+ includedir: $includedir
+ datarootdir: $datarootdir
+ mandir: $mandir
+ infodir: $infodir
+ exec_prefix: $exec_prefix
+ bindir: $bindir
+ libdir: $libdir
+
+** Next run `make' to configure and build each library and program.
+])