summaryrefslogtreecommitdiff
path: root/Build/source/texk/kpathsea/common.ac
blob: 85ca33a57c19f7a15fd23a97e7dd6297b4355c27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
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'.)

dnl These configure scripts won't work with anything else.
AC_PREREQ(2.12.1)

dnl Write output here, instead of putting a zillion -D's on the command line.
AC_CONFIG_HEADERS([c-auto.h:c-auto.in], [date >stamp-auto])

AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET

sinclude(../libtool.m4)

AC_PROG_LIBTOOL

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)

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.
KPSE_STRUCT_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 <stdarg.h>], [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)
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)
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)
fi
fi

# Common --with and --enable options.
sinclude(../../texk/kpathsea/withenable.ac)

# Implementation of those options.
if test "x$with_mktexmf_default" = xyes; then
  AC_DEFINE(MAKE_TEX_MF_BY_DEFAULT)
fi
if test "x$with_mktexpk_default" = xyes; then
  AC_DEFINE(MAKE_TEX_PK_BY_DEFAULT)
fi
if test "x$with_mktextex_default" = xyes; then
  AC_DEFINE(MAKE_TEX_TEX_BY_DEFAULT)
fi
if test "x$with_mktexfmt_default" = xyes; then
  AC_DEFINE(MAKE_TEX_FMT_BY_DEFAULT)
fi
if test "x$with_mktextfm_default" = xyes; then
  AC_DEFINE(MAKE_TEX_TFM_BY_DEFAULT)
fi
if test "x$with_mkocp_default" = xyes; then
  AC_DEFINE(MAKE_OMEGA_OCP_BY_DEFAULT)
fi
if test "x$with_mkofm_default" = xyes; then
  AC_DEFINE(MAKE_OMEGA_OFM_BY_DEFAULT)
fi

# 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))