dnl Public domain. dnl Originally written by Karl Berry dnl dnl Common Autoconf sinclude file for kpathsea-using programs. (Have to dnl use the m4 `sinclude' builtin instead of `include', since Autoconf dnl disables `include'.) AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET sinclude(../libtool.m4) AC_PROG_LIBTOOL AC_SYS_LARGEFILE AC_FUNC_FSEEKO AC_HEADER_DIRENT AC_HEADER_STDC AC_FUNC_CLOSEDIR_VOID AC_CHECK_HEADERS([assert.h float.h limits.h memory.h pwd.h stdlib.h \ string.h strings.h sys/param.h unistd.h]) AC_CHECK_DECLS([putenv, strstr]) dnl Libtool supporting objects that may be required on ancient broken system. AC_CHECK_FUNCS(putenv,, LTLIBOBJS="$LTLIBOBJS putenv.lo") AC_CHECK_FUNCS(strcasecmp,, LTLIBOBJS="$LTLIBOBJS strcasecmp.lo") AC_CHECK_FUNCS(strtol,, LTLIBOBJS="$LTLIBOBJS strtol.lo") AC_CHECK_FUNCS(strstr,, LTLIBOBJS="$LTLIBOBJS strstr.lo") AC_SUBST(LTLIBOBJS) AC_CHECK_FUNCS(bcmp bcopy bzero getcwd getwd index memcmp memcpy rindex strchr strrchr) AC_C_CONST # Check whether struct stat provides high-res time. AC_CHECK_MEMBERS([struct stat.st_mtim]) # Check whether prototypes work. AC_MSG_CHECKING(whether the compiler accepts prototypes) AC_CACHE_VAL(kb_cv_c_prototypes, [AC_TRY_COMPILE([#include ], [extern void foo(int i,...);], kb_cv_c_prototypes=yes, kb_cv_c_prototypes=no)])dnl AC_MSG_RESULT($kb_cv_c_prototypes) if test "$kb_cv_c_prototypes" = yes; then AC_DEFINE([HAVE_PROTOTYPES], 1, [Define to 1 if your compiler understands prototypes.]) fi # This is a GNU libc invention. AC_MSG_CHECKING([whether program_invocation_name is predefined]) AC_CACHE_VAL([kb_cv_var_program_inv_name], [AC_TRY_LINK(, [extern char *program_invocation_name; program_invocation_name = "love";], [kb_cv_var_program_inv_name=yes], [kb_cv_var_program_inv_name=no])])dnl AC_MSG_RESULT([$kb_cv_var_program_inv_name]) if test "$kb_cv_var_program_inv_name" = yes; then AC_DEFINE([HAVE_PROGRAM_INVOCATION_NAME], 1, [Define to 1 if you are using GNU libc or otherwise have global variables `program_invocation_name' and `program_invocation_short_name'.]) fi if test $ac_cv_func_getcwd = yes; then # We only need to run this if we have getcwd. AC_MSG_CHECKING([whether getcwd uses fork or vfork]) AC_CACHE_VAL([kb_cv_func_getcwd_forks], [AC_TRY_RUN([ int fork() { exit(1); } int vfork() { exit(1); } extern char *getcwd(); char path[100]; int main() { getcwd(path,100); return 0; }], [kb_cv_func_getcwd_forks=no], [kb_cv_func_getcwd_forks=yes], [kb_cv_func_getcwd_forks=no])])dnl AC_MSG_RESULT([$kb_cv_func_getcwd_forks]) if test $kb_cv_func_getcwd_forks = yes; 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 # Common --with and --enable options. sinclude(../../texk/kpathsea/withenable.ac) # Implementation of those options. AC_DEFUN([_KPSE_DEFINE_MAKE_BY_DEFAULT], [if test "x$with_$1_default" = xyes; then AC_DEFINE([MAKE_$2_BY_DEFAULT], 1, [Define to 1 if you want to run $1 if $3 missing, and to 0 if you don't.]) else AC_DEFINE([MAKE_$2_BY_DEFAULT], 0) fi ])# _KPSE_DEFINE_MAKE_BY_DEFAULT _KPSE_DEFINE_MAKE_BY_DEFAULT([mktexmf], [TEX_MF], [MF source]) _KPSE_DEFINE_MAKE_BY_DEFAULT([mktexpk], [TEX_PK], [PK font]) _KPSE_DEFINE_MAKE_BY_DEFAULT([mktextex], [TEX_TEX], [TeX source]) _KPSE_DEFINE_MAKE_BY_DEFAULT([mktexfmt], [TEX_FMT], [format file]) _KPSE_DEFINE_MAKE_BY_DEFAULT([mktextfm], [TEX_TFM], [TFM file]) _KPSE_DEFINE_MAKE_BY_DEFAULT([mkocp], [OMEGA_OCP], [OCP file]) _KPSE_DEFINE_MAKE_BY_DEFAULT([mkofm], [OMEGA_OFM], [OFM file]) # Is libm present. FIXME: do we need it at all? AC_CHECK_LIB(m, main) # If you're cross-compiling, these macros set up the variables in # ../make/cross.mk: BUILDCC, BUILDCFLAGS, BUILDCCLD etc. KPSE_CROSS_BUILD_VAR(CC, cc) KPSE_CROSS_BUILD_VAR(CFLAGS, $(BUILDXCFLAGS)) KPSE_CROSS_BUILD_VAR(CPPFLAGS, $(BUILDXCPPFLAGS)) KPSE_CROSS_BUILD_VAR(LDFLAGS, $(BUILDXLDFLAGS)) KPSE_CROSS_BUILD_VAR(CCLD, $(BUILDCC))