summaryrefslogtreecommitdiff
path: root/configure.in
blob: ebc9cdff46733d8237f463eda3d4469a6c660192 (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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
dnl Process this file with autoconf to produce a configure script.
AC_REVISION([$Id$])
AC_PREREQ(2.12)dnl		dnl Minimum Autoconf version required.
AC_INIT(vpath.c)dnl		dnl A distinctive file to look for in srcdir.

AM_INIT_AUTOMAKE(make, 3.77.90)
AM_CONFIG_HEADER(config.h)

AM_CONDITIONAL(MAINT_MAKEFILE, test -r $srcdir/maintMakefile)

dnl Regular configure stuff

AC_PROG_MAKE_SET
AC_PROG_CC
AC_PROG_INSTALL
AC_CHECK_PROG(AR, ar, ar, ar)
AC_PROG_RANLIB
AC_PROG_CPP			dnl Later checks need this.
dnl AC_ARG_PROGRAM -- implied by AM_INIT_AUTOMAKE; gives errors if run twice.
AC_AIX
AC_ISC_POSIX
AC_MINIX

dnl This test must come as early as possible after the compiler configuration
dnl tests, because the choice of the file model can (in principle) affect
dnl whether functions and headers are available, whether they work, etc.
AC_LFS

AC_HEADER_STDC
AC_HEADER_DIRENT
AC_TYPE_UID_T			dnl Also does gid_t.
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_CHECK_HEADERS(stdlib.h unistd.h limits.h sys/param.h fcntl.h string.h \
		 memory.h sys/timeb.h)
AC_PROG_CC_C_O
AC_C_CONST			dnl getopt needs this.
AC_HEADER_STAT

AC_STRUCT_ST_MTIM_NSEC
jm_AC_TYPE_UINTMAX_T

AC_SUBST(LIBOBJS)

AC_DEFUN(AC_CHECK_SYMBOL, [dnl
AC_MSG_CHECKING(for $1)
AC_CACHE_VAL(ac_cv_check_symbol_$1, [dnl
AC_TRY_LINK(, [extern char *sys_siglist[]; puts(*sys_siglist);],
	    ac_cv_check_symbol_$1=yes, ac_cv_check_symbol_$1=no)])
if test "$ac_cv_check_symbol_$1" = yes; then
changequote(,)dnl
  ac_tr_symbol=`echo $1 | tr '[a-z]' '[A-Z]'`
changequote([,])dnl
  AC_DEFINE_UNQUOTED(HAVE_${ac_tr_symbol})
fi
AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl

# clock_gettime is in -lposix4 in Solaris 2.6.
AC_CHECK_LIB(posix4, clock_gettime)

AC_CHECK_FUNCS(memmove psignal mktemp pstat_getdynamic \
	       clock_gettime dup2 getcwd sigsetmask getgroups setlinebuf \
	       seteuid setegid setreuid setregid strerror strsignal)
AC_CHECK_SYMBOL(sys_siglist)
AC_FUNC_ALLOCA
AC_FUNC_VFORK
AC_FUNC_VPRINTF
AC_FUNC_STRCOLL
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_SETVBUF_REVERSED
AC_FUNC_GETLOADAVG
AC_CHECK_LIB(kstat, kstat_open)

# Check out the wait reality.
AC_CHECK_HEADERS(sys/wait.h)
AC_CHECK_FUNCS(waitpid wait3)
AC_MSG_CHECKING(for union wait)
AC_CACHE_VAL(make_cv_union_wait, [dnl
AC_TRY_LINK([#include <sys/types.h>
#include <sys/wait.h>],
	    [union wait status; int pid; pid = wait (&status);
#ifdef WEXITSTATUS
/* Some POSIXoid systems have both the new-style macros and the old
   union wait type, and they do not work together.  If union wait
   conflicts with WEXITSTATUS et al, we don't want to use it at all.  */
if (WEXITSTATUS (status) != 0) pid = -1;
#ifdef WTERMSIG
/* If we have WEXITSTATUS and WTERMSIG, just use them on ints.  */
-- blow chunks here --
#endif
#endif
#ifdef HAVE_WAITPID
/* Make sure union wait works with waitpid.  */
pid = waitpid (-1, &status, 0);
#endif
],
	    [make_cv_union_wait=yes], [make_cv_union_wait=no])])
if test "$make_cv_union_wait" = yes; then
  AC_DEFINE(HAVE_UNION_WAIT)
fi
AC_MSG_RESULT($make_cv_union_wait)

AC_DECL_SYS_SIGLIST

# The presence of the following is not meant to imply
# that make necessarily works on those systems.
AC_CHECK_LIB(sun, getpwnam)

AC_SUBST(REMOTE) REMOTE=stub
make_try_customs=no
AC_ARG_WITH(customs,
[  --with-customs=DIR      Enable remote jobs via Customs--see README.customs],
[case "$withval" in
  n|no) ;;
  *) make_cppflags="$CPPFLAGS"
     case "$withval" in
       y|ye|yes) ;;
       *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
	  make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
     esac
     CF_NETLIBS
     AC_CHECK_HEADER(customs.h,
	             REMOTE=cstms
                       LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags",
		     with_customs=no
                       CPPFLAGS="$make_cppflags" make_badcust=yes)
     ;;
esac])

echo checking for location of SCCS get command
if test -f /usr/sccs/get; then
  SCCS_GET=/usr/sccs/get
  AC_DEFINE(SCCS_GET, "/usr/sccs/get")
else
  SCCS_GET=get
  AC_DEFINE(SCCS_GET, "get")
fi
ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
   test -f s.conftest; then
  # We successfully created an SCCS file.
  echo checking if SCCS get command understands -G
  if $SCCS_GET -Gconftoast s.conftest >/dev/null 2>&1 &&
     test -f conftoast; then
    AC_DEFINE(SCCS_GET_MINUS_G)
  fi
fi
rm -f s.conftest conftoast

AC_OUTPUT(Makefile glob/Makefile build.sh)

case "$make_badcust" in
  yes) echo
       echo "WARNING: --with-customs specified but no customs.h could be found;"
       echo "         disabling Customs support."
       echo ;;
esac

case "$with_customs" in
  ""|n|no|y|ye|yes) ;;
  *) if test -f "$with_customs/lib/libcustoms.a"; then
       :
     else
       echo
       echo "WARNING: \`$with_customs/lib' does not appear to contain the"
       echo "         Customs library.  You must build and install Customs"
       echo "         before compiling GNU make."
       echo
     fi ;;
esac

case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
  no/no) echo
         echo "WARNING: Your system has neither waitpid() nor wait3()."
         echo "         Without one of these, signal handling is unreliable."
         echo "         You should be aware that run GNU make with -j could"
         echo "         result in erratic behavior."
         echo ;;
esac

dnl Local Variables:
dnl comment-start: "dnl "
dnl comment-end: ""
dnl comment-start-skip: "\\bdnl\\b\\s *"
dnl compile-command: "make configure config.h.in"
dnl End: