configure.in 6.87 KB
Newer Older
1
dnl $Id: configure.in,v 1.43 1998/07/08 23:10:14 ceder Exp $
2
dnl Configuration for LysKOM
Per Cederqvist's avatar
Per Cederqvist committed
3
dnl Copyright (C) 1993, 1994, 1995, 1996  Lysator Academic Computer Association.
Per Cederqvist's avatar
Per Cederqvist committed
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
dnl
dnl Please mail bug reports to bug-lyskom@lysator.liu.se. 
dnl
21
AC_REVISION($Revision: 1.43 $)
Per Cederqvist's avatar
Per Cederqvist committed
22
AC_INIT(src/server/lyskomd.h)
23
24
25
AC_CONFIG_AUX_DIR(scripts)
AM_INIT_AUTOMAKE(lyskom-server, 2.0.0.pcl.2)

Per Cederqvist's avatar
Per Cederqvist committed
26
27
28
29
AC_ARG_WITH([gnu-malloc],
	[  --with-gnu-malloc       use GNU malloc],
	[use_gnu_malloc=$withval],
	[use_gnu_malloc=no])
30
31
32
33
AC_ARG_WITH([purify],
	[  --with-purify           link with Purify],
	[use_purify=$withval],
	[use_purify=no])
34
AC_PREFIX_DEFAULT(/usr/lyskom)
Per Cederqvist's avatar
Per Cederqvist committed
35
AC_PROG_CC
36
37
38
AC_AIX
AC_ISC_POSIX
AC_MINIX
39
40
AM_C_PROTOTYPES

Per Cederqvist's avatar
Per Cederqvist committed
41
[if test -n "$GCC"; then
42
43
44
45
46
47
48
49
50
51
52
	CFLAGS="$CFLAGS -Wall -W -Wtraditional -Wshadow -Wpointer-arith"]
	dnl AC_DEFINE(_GNU_SOURCE)
	CMOD_COMPILER_CC_ACCEPTS([-Wbad-function-cast])
	CMOD_COMPILER_CC_ACCEPTS([-Wcast-qual])
	CMOD_COMPILER_CC_ACCEPTS([-Wcast-align])
	CMOD_COMPILER_CC_ACCEPTS([-Wwrite-strings])
	CMOD_COMPILER_CC_ACCEPTS([-Wstrict-prototypes])
	CMOD_COMPILER_CC_ACCEPTS([-Wmissing-prototypes])
	CMOD_COMPILER_CC_ACCEPTS([-Wmissing-declarations])
	CMOD_COMPILER_CC_ACCEPTS([-Wnested-externs])
	CMOD_COMPILER_CC_ACCEPTS([-pipe]) [
53
fi]
54
55
56
57
58
AC_SUBST(PURIFY)
[if test "$use_purify" = "yes"
then
	PURIFY=purify
fi]
59
60
# Do this test early since it may define _POSIX_SOURCE, which may
# affect future tests.
61
# FIXME: is this needed, now that we use AM_C_PROTOTYPES?
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
AC_MSG_CHECKING([if <signal.h> defines struct sigaction])
AC_CACHE_VAL([kom_cv_header_posix_source_needed],
	[# This default may be overridden below.
	kom_cv_header_posix_source_needed=no])
AC_CACHE_VAL([kom_cv_struct_sigaction],
AC_TRY_COMPILE([#include <signal.h>],
[struct sigaction foosig;],
[kom_cv_struct_sigaction=yes],
[kom_cv_struct_sigaction=no])
[if test $kom_cv_struct_sigaction = no ; then]
  AC_TRY_COMPILE(
  [#define _POSIX_SOURCE
  #include <signal.h>],
  [struct sigaction barsig;],
  [kom_cv_struct_sigaction=yes
  kom_cv_header_posix_source_needed=yes],
  [kom_cv_struct_sigaction=no])
[fi])
[if test $kom_cv_header_posix_source_needed = yes ; then]
  AC_MSG_RESULT([yes, but _POSIX_SOURCE was needed])
  AC_DEFINE(_POSIX_SOURCE)
[else]
  AC_MSG_RESULT($kom_cv_struct_sigaction)
[fi]
[if test $kom_cv_struct_sigaction = yes ; then]
  AC_DEFINE(HAVE_STRUCT_SIGACTION)
[fi]

Per Cederqvist's avatar
Per Cederqvist committed
90
AC_C_CONST
91
CMOD_C_ATTRIBUTE_UNUSED
Per Cederqvist's avatar
Per Cederqvist committed
92
AC_HEADER_STDC
Per Cederqvist's avatar
Per Cederqvist committed
93
AC_TYPE_PID_T
94
# FIXME: is this needed now that we use AM_C_PROTOTYPES?
Per Cederqvist's avatar
Per Cederqvist committed
95
96
97
AC_MSG_CHECKING([if _HPUX_SOURCE needs to be defined])
AC_CACHE_VAL([kom_cv_sys_hpux_source],
[AC_TRY_LINK(
98
[#include <sys/types.h>
Per Cederqvist's avatar
Per Cederqvist committed
99
100
101
102
103
#include <sys/socket.h>],
[struct sockaddr foo;],
[kom_cv_sys_hpux_source=no], dnl IF FOUND
[dnl IF NOT FOUND
AC_TRY_LINK(
Per Cederqvist's avatar
Per Cederqvist committed
104
[#define _HPUX_SOURCE
105
#include <sys/types.h>
Per Cederqvist's avatar
Per Cederqvist committed
106
107
108
109
110
111
112
113
#include <sys/socket.h>],
[struct sockaddr foo;],
[kom_cv_sys_hpux_source=yes],
[kom_cv_sys_hpux_source=no])])])
AC_MSG_RESULT($kom_cv_sys_hpux_source)
[if test $kom_cv_sys_hpux_source = yes ; then]
  AC_DEFINE(_HPUX_SOURCE)
[fi]
114
115
dnl
dnl
116
117
118
119
120
121
122
123
124
125
AC_MSG_CHECKING([if the compiler understands __attribute__ ((format))])
AC_CACHE_VAL([kom_cv_c_attribute_format_printf],
[AC_TRY_COMPILE([extern void log (const char *f, ...) 
__attribute__ ((format (printf, 1, 2)));],,
[kom_cv_c_attribute_format_printf=yes],
[kom_cv_c_attribute_format_printf=no])])
AC_MSG_RESULT($kom_cv_c_attribute_format_printf)
[if test $kom_cv_c_attribute_format_printf = yes ; then]
  AC_DEFINE(HAVE_ATTRIBUTE_FORMAT_PRINTF)
[fi]
Per Cederqvist's avatar
Per Cederqvist committed
126
127
128
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_PROG_AWK
Per Cederqvist's avatar
Per Cederqvist committed
129
AC_PROG_LN_S
Per Cederqvist's avatar
Per Cederqvist committed
130
AC_PROG_YACC
131
AM_PROG_LEX
132
133
AC_CHECK_PROGS(BISON, bison)
AC_CHECK_PROGS(FLEX, flex)
Per Cederqvist's avatar
Per Cederqvist committed
134
135
136
AC_CHECK_PROGS(SED, sed)
AC_CHECK_HEADERS(string.h memory.h strings.h sys/param.h sys/time.h)
AC_CHECK_HEADERS(stdarg.h stdlib.h stddef.h locale.h sys/resource.h)
137
AC_CHECK_HEADERS(crypt.h unistd.h)
138
AC_CHECK_HEADERS(values.h) dnl libmisc/pom.c
Per Cederqvist's avatar
Per Cederqvist committed
139
140
141
142
AC_HEADER_TIME
AC_FUNC_ALLOCA
AC_CHECK_LIB(resolv,main) dnl Host name lookup.
AC_CHECK_LIB(authuser,auth_tcpuser3) dnl User authentication according to RFC 931.
Per Cederqvist's avatar
Per Cederqvist committed
143
AC_CHECK_LIB(nsl,gethostbyname) dnl Low-level networking code on Solaris 2.
144
AC_CHECK_LIB(socket,socket) dnl socket() et c on Solaris 2.
Per Cederqvist's avatar
Per Cederqvist committed
145
AC_CHECK_LIB(i,setlocale) dnl For setlocale() on Ultrix.
146
AC_CHECK_LIB(crypt,crypt) dnl For crypt() on Sparc NetBSD 1.1
Per Cederqvist's avatar
Per Cederqvist committed
147
148
AC_CHECK_FUNCS(difftime getdtablesize sysconf strchr getcwd vfprintf)
AC_CHECK_FUNCS(setrlimit)
149
AC_REPLACE_FUNCS(memcpy strerror remove memset memchr memcmp setsid)
Per Cederqvist's avatar
Per Cederqvist committed
150
151
152
153
154
155
dnl
dnl I don't know how to test for buggy inet_ntoa functions
dnl programmatically, but the supplied substitute should always work,
dnl so we define BUGGY_INET_NTOA unconditionally.
AC_DEFINE(BUGGY_INET_NTOA)
dnl
Per Cederqvist's avatar
Per Cederqvist committed
156
157
158
159
160
161
162
163
164
165
166
167
168
169
AC_SUBST(GNUMALLOC)
GNUMALLOC=
[if [ "$use_gnu_malloc" = "yes" ]]
[then]
	AC_DEFINE(USE_GNU_MALLOC)
dnl	This is only needed on SunOS 4 machines, but it does not
dnl	do much harm on other system.  This causes GNU malloc to
dnl	unconditionally treat malloc(x) as malloc(16) if x<16.
dnl	FIXME: find a proper check for if this is really needed.
	AC_DEFINE(SUNOS_LOCALTIME_BUG)
dnl
dnl	GNU Malloc also needs these:
dnl
	AC_CHECK_FUNCS(getpagesize)
170
	AC_CHECK_FUNC(memmove,,AC_DEFINE(MEMMOVE_MISSING))
Per Cederqvist's avatar
Per Cederqvist committed
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
	AC_CHECK_HEADERS(unistd.h)
dnl
dnl	AC_USG is obsolete, but GNU malloc still uses it.
dnl
	AC_USG
dnl
dnl	AC_HEADER_STDC  -- already provided
dnl	Tell the Makefiles that we want GNU Malloc.
dnl
	GNUMALLOC=gnumalloc
[else]
dnl	Make sure that the GNU malloc header and library are not left
dnl	from a previous build attempt
	[rm -f include/malloc.h lib/libgmalloc*.a]
[fi]
dnl
187
dnl Unencrypted passwords are no longer supported.
Per Cederqvist's avatar
Per Cederqvist committed
188
189
190
191
192
193
194
AC_DEFINE(ENCRYPT_PASSWORDS)
dnl
dnl Once upon a time, the server shared some code with the tty-client.
dnl Because of that, you still have to define SERVER while compiling
dnl some of the files in this package.  Nowadays sharing is done by copying.
AC_DEFINE(SERVER)
dnl
195
196
197
dnl Tests for GNU getopt (used in dbck)
AC_CHECK_HEADERS(alloca.h)
dnl
198
AC_CONFIG_SUBDIRS(src/libraries/libisc-new)
Per Cederqvist's avatar
Per Cederqvist committed
199
AC_OUTPUT(Makefile
200
db-crypt/Makefile
Per Cederqvist's avatar
Per Cederqvist committed
201
202
203
204
205
206
207
208
209
210
211
doc/Makefile
doc/man/Makefile
scripts/Makefile
src/Makefile
src/include/Makefile
src/include/server/Makefile
src/libraries/Makefile
src/libraries/libansi/Makefile
src/libraries/libcommon/Makefile
src/libraries/libmisc/Makefile
src/libraries/regex/Makefile
Per Cederqvist's avatar
Per Cederqvist committed
212
src/libraries/gnumalloc/Makefile
213
src/server/Makefile
214
src/server/testsuite/Makefile
215
run-support/Makefile)