diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
commit | ad547a6b5986815fda458221149728d9d9ab1d87 (patch) | |
tree | 16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/kpathsea/configure.ac | |
parent | 947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (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/texk/kpathsea/configure.ac')
-rw-r--r-- | Build/source/texk/kpathsea/configure.ac | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/Build/source/texk/kpathsea/configure.ac b/Build/source/texk/kpathsea/configure.ac new file mode 100644 index 00000000000..0851e82f011 --- /dev/null +++ b/Build/source/texk/kpathsea/configure.ac @@ -0,0 +1,153 @@ +dnl $Id$ +dnl Process this file with autoconf to produce a configure script. +dnl +dnl Copyright 2015-2021 Karl Berry <tex-live@tug.org> +dnl Copyright 2009-2015 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([version.ac])[] dnl define kpse_version +AC_INIT([Kpathsea], kpse_version, [tex-k@tug.org]) +AC_PREREQ([2.65]) +AC_CONFIG_SRCDIR([pathsearch.c]) +AC_CONFIG_AUX_DIR([../../build-aux]) +AC_CONFIG_MACRO_DIR([../../m4]) + +AC_SUBST([KPSEVERSION], [kpse_version]) +KPSE_LT_VERSION([kpse]) + +m4_include([../../version.ac])[] dnl define tex_live_version +AC_SUBST([WEB2CVERSION], [" (TeX Live tex_live_version)"]) + +dnl Common code for all programs using libkpathsea. +KPSE_COMMON([kpathsea]) +dnl Include additional code for kpathsea. +KPSE_MKTEX_PREPARE +m4_sinclude([ac/mktex.ac]) + +dnl Generate MAKE_TEX_*_BY_DEFAULT and MAKE_OMEGA_*_BY_DEFAULT defines. +m4_foreach([Kpse_Mktex], [kpse_mktex_opts], + [m4_ifset([Kpse_Mktex], + [KPSE_MKTEX_DEFINE(Kpse_Mktex)])])[]dnl + +# So we can use reasonable awk in the Makefile. +AC_PROG_AWK + +AC_CHECK_SIZEOF([long]) + +dnl Replacement functions that may be required on ancient broken system. +AC_CHECK_DECLS([putenv]) +AC_REPLACE_FUNCS([putenv]) + +if test "x$ac_cv_func_getcwd" = xyes; then +# We only need to run this if we have getcwd. +AC_CACHE_CHECK([whether getcwd uses fork or vfork], + [kb_cv_func_getcwd_forks], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[int fork() { exit(1); } + int vfork() { exit(1); } + extern char *getcwd(); + char path[100];]], + [[getcwd(path,100);]])], + [kb_cv_func_getcwd_forks=no], + [kb_cv_func_getcwd_forks=yes], + [kb_cv_func_getcwd_forks=no])]) +if test "x$kb_cv_func_getcwd_forks" = xyes; then + AC_DEFINE([GETCWD_FORKS], 1, + [Define to 1 if getcwd is implemented using fork or vfork. + Let me know if you have to add this by hand because configure + failed to detect it.]) +fi +fi + +KPSE_COND_MINGW32 + +AC_SUBST([LT_OBJDIR], ["$lt_cv_objdir"]) + +# Checking snprintf and vsnprintf +AC_ARG_WITH([snprintf-wrapper], + AS_HELP_STRING([--with-snprintf-wrapper], + [use (v)snprintf wrapper functions @<:@automatic + for native compilation or Windows@:>@]), + [kpse_cv_wrap_snprintf=$withval], + [test "x$kpse_cv_have_win32" != xno && kpse_cv_wrap_snprintf=yes])[]dnl +if test "x$kpse_cv_have_win32" = xno; then + snfunc=snprintf vsnfunc=vsnprintf +else + snfunc=_snprintf vsnfunc=_vsnprintf +fi +AC_CACHE_CHECK([for $snfunc and $vsnfunc], + [kpse_cv_have_snfuncs], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h> + #include <stdio.h> + char buf[16]; + va_list ap;]], + [[$snfunc (buf, 16, "%s", "abc"); + $vsnfunc (buf, 16, "%s", ap);]])], + [kpse_cv_have_snfuncs=yes], + [kpse_cv_have_snfuncs=no])]) +if test "x$kpse_cv_have_snfuncs" != xyes; then + AC_MSG_ERROR([Sorry, you need $snfunc and $vsnfunc.]) +fi +AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h> + #include <stdio.h> + char buf[4] = "abc";]], + [[if ($snfunc (buf, 1, "%s", "x") == 0 || buf[1] != 'b') + return 1;]])], + [], + [AC_MSG_ERROR([Sorry, your $snfunc is badly broken.])], + [:]) +AC_CACHE_CHECK([if we need (v)snprintf wrapper functions], + [kpse_cv_wrap_snprintf], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h> + #include <stdio.h> + char buf[4] = "abc";]], + [[$snfunc (buf, 3, "xyz"); + if (buf[2] != 0) return 1; + $snfunc (buf, 2, "xyz"); + if (buf[1] != 0) return 1;]])], + [kpse_cv_wrap_snprintf=no], + [kpse_cv_wrap_snprintf=yes], + [kpse_cv_wrap_snprintf=no])]) +if test "x$kpse_cv_wrap_snprintf" = xyes; then + AC_DEFINE([WRAP_SNPRINTF], 1, + [Define to 1 if we need (v)snprintf wrapper functions.]) +fi + +AM_CONDITIONAL([have_EXEEXT], [test -n "$EXEEXT"]) + +dnl Write output here, instead of putting a zillion -D's on the command line. +AC_CONFIG_HEADERS([c-auto.h:c-auto.in], + [sed -e 's/^#define PACKAGE/#define KPSE_PACKAGE/' \ + -e 's/^#define VERSION/#define KPSE_VERSION/' c-auto.h >c-auto.tmp && mv -f c-auto.tmp c-auto.h]) + +AH_TOP([/* c-auto.h: defines for kpathsea, as determined by configure. + + Copyright 1994-97, 2008-2015 Karl Berry. + Copyright 1997-99, 2002, 2005 Olaf Weber. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this library; if not, see <http://www.gnu.org/licenses/>. */ + +/* Guard against double inclusion. */ +#ifndef KPATHSEA_C_AUTO_H +#define KPATHSEA_C_AUTO_H + +/* kpathsea: the version string. */ +#define KPSEVERSION "kpathsea version] kpse_version["]) +AH_BOTTOM([#endif /* !KPATHSEA_C_AUTO_H */]) + +AC_CONFIG_FILES([Makefile doc/Makefile man/Makefile win32/Makefile kpathsea.pc]) + +AC_OUTPUT |