-
Notifications
You must be signed in to change notification settings - Fork 1
/
configure.in
251 lines (212 loc) · 7.99 KB
/
configure.in
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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
dnl Process this file with autoconf to produce a configure script.
AC_INIT(webalizer.c)
dnl default language (don't change!)
DEFAULT_LANG="english"
AC_SUBST(DEFAULT_LANG)
OPTS=${DEFS}
AC_SUBST(OPTS)
dnl Checks for programs.
IN_CFLAGS=${CFLAGS}
AC_PROG_CC
AC_PROG_LN_S
AC_PROG_INSTALL
AC_C_CHAR_UNSIGNED
dnl force our own CFLAGS defaults
if test "$GCC" = "yes"; then
AC_ARG_ENABLE(static,--enable-static Build as static executable,
LDFLAGS="--static ${LDFLAGS}")
if test "$IN_CFLAGS" = ""; then
CFLAGS="-Wall -O2"
fi
if test "$ac_cv_c_char_unsigned" = "yes"; then
CFLAGS="-fsigned-char ${CFLAGS}"
fi
AC_ARG_ENABLE(debug,--enable-debug Compile with debugging code,
CFLAGS="-g ${CFLAGS}")
else
if test "$IN_CFLAGS" = ""; then
CFLAGS="-g"
fi
fi
dnl Check for command line arguments
AC_ARG_WITH(etcdir,--with-etcdir=DIR Where to look for default config file [[/etc]],
ETCDIR="${withval}",CACHE_ETC="yes")
AC_ARG_WITH(gdlib,--with-gdlib=DIR Where to additionally look for libgd.a,
EXTRA_GDLIB="${withval}", EXTRA_GDLIB="")
AC_ARG_WITH(gd,--with-gd=DIR Where to additionally look for gd headers,
EXTRA_GD="${withval}"; CFLAGS="-I${withval} ${CFLAGS}", EXTRA_GD="")
AC_ARG_WITH(z-inc,--with-z-inc=DIR Alternate location for libz headers,
CFLAGS="-I${withval} ${CFLAGS}")
AC_ARG_WITH(zlib,--with-zlib=DIR Alternate location for libz library,
LDFLAGS="-L${withval} ${LDFLAGS}")
AC_ARG_WITH(png-inc,--with-png-inc=DIR Alternate location of png header files, CFLAGS="-I${withval} ${CFLAGS}")
AC_ARG_WITH(png,--with-png=DIR Alternate location for libpng library,
LDFLAGS="-L${withval} ${LDFLAGS}")
AC_ARG_WITH(db,--with-db=DIR Alternate location for db headers,
CFLAGS="-I${withval} ${CFLAGS}")
AC_ARG_WITH(dblib,--with-dblib=DIR Alternate location for db library,
LDFLAGS="-L${withval} ${LDFLAGS}"; HAVE_DB="yes", HAVE_DB="")
AC_ARG_WITH(geoip-inc,--with-geoip-inc=DIR Alternate location for GeoIP headers,
EXTRA_GEOIPINC="${withval}")
AC_ARG_WITH(geoip-lib,--with-geoip-lib=DIR Alternate location for GeoIP library,
EXTRA_GEOIPLIB="${withval}")
dnl enable-dns forces use of DNS code
AC_ARG_ENABLE(dns,--enable-dns Enable DNS lookup code,
USE_DNS="yes")
USE_GEOIP="yes"
dnl enable-geoip disables use of GeoIP library
AC_ARG_ENABLE(geoip,--disable-geoip Disable GeoIP country lookup,
USE_GEOIP="")
USE_FLAGS="yes"
dnl enable-flags disables use of flag pictures
AC_ARG_ENABLE(flags,--disable-flags Disable country flag pictures,
USE_FLAGS="")
if test "$USE_FLAGS" = "yes"; then
OPTS="-DUSE_FLAGS ${OPTS}"
fi
dnl DNS library check
if test "$USE_DNS" = "yes"; then
if test "$HAVE_DB" = ""; then
AC_CHECK_FUNCS(dbopen)
if test $ac_cv_func_dbopen = no; then
AC_SEARCH_LIBS(dbopen, db db1, OPTS="-DUSE_DNS ${OPTS}"; HAVE_DB="yes")
if test "$HAVE_DB" = ""; then
AC_MSG_WARN(You must have a V1.85 compatable DB library!)
AC_MSG_WARN(DNS lookup code will be disabled...)
fi
else
OPTS="-DUSE_DNS ${OPTS}"; HAVE_DB="yes"
fi
else
OPTS="-DUSE_DNS ${OPTS}"; LIBS="-ldb ${LIBS}"; HAVE_DB="yes"
fi
if test "$HAVE_DB" = "yes"; then
dnl on my RH6 system, db.h is db_185.h ?!?
AC_CHECK_HEADERS(db_185.h)
AC_CHECK_HEADERS(errno.h)
fi
dnl Some systems need these at link time (not Linux)
AC_CHECK_FUNCS(socket)
if test $ac_cv_func_socket = no; then
AC_CHECK_LIB(socket, main, LIBS="-lsocket ${LIBS}";)
fi
AC_CHECK_HEADERS(sys/socket.h)
AC_CHECK_LIB(nsl, main, LIBS="-lnsl ${LIBS}")
fi
dnl Check for bsd 4.4 library -l44bsd:
AC_CHECK_LIB(44bsd, main, LIBS="-l44bsd ${LIBS}")
dnl Check for math library -lm
AC_CHECK_LIB(m, main, HAVE_LIBM="1"; LIBS="-lm ${LIBS}")
dnl Check for z library -lz
AC_CHECK_LIB(z, main,LIBZ="yes",LIBZ="no")
if test "$LIBZ" = "no"; then
AC_MSG_ERROR(z library not found... please install zlib.)
else
AC_CHECK_LIB(z, gzrewind,LIBS="-lz ${LIBS}",LIBZ="no")
if test "$LIBZ" = "no"; then
AC_MSG_ERROR(Old version of zlib found, please upgrade!)
fi
fi
dnl Check for png library -lpng
AC_CHECK_LIB(png, main, LIBS="-lpng ${LIBS}", LIBPNG="no")
if test "$LIBPNG" = "no"; then
AC_MSG_ERROR(png library not found... please install png.)
fi
dnl check for gd graphics library -lgd
if test "$EXTRA_GD" = ""; then
if test "$EXTRA_GDLIB" = ""; then
AC_CHECK_LIB(gd, gdImagePng,LIBS="-lgd ${LIBS}"; HAVE_LIBGD="yes", HAVE_LIBGD="")
fi
fi
if test "$HAVE_LIBGD" = ""; then
AC_FIND_PATH(GDLOC,libgd.a,"", ${PREFIX}/lib ${PREFIX}/lib/gd /usr/local/lib /usr/local/lib/gd /usr/local/gd /usr/local/include /usr/local/include/gd /usr/lib/gd /usr/lib /lib ./ ./gd ../gd ${EXTRA_GDLIB} ${EXTRA_GD})
if test "$GDLOC" = ""; then
AC_FIND_PATH(GDLOC,libgd.so,"", ${PREFIX}/lib ${PREFIX}/lib/gd /usr/local/lib /usr/local/lib/gd /usr/local/gd /usr/local/include /usr/local/include/gd /usr/lib/gd /usr/lib /lib ./ ./gd ../gd ${EXTRA_GDLIB} ${EXTRA_GD})
fi
if test "$GDLOC" = ""; then
AC_MSG_ERROR(gd library not found... please install gd.)
else
LIBS="-lgd ${LIBS}"
LDFLAGS="-L${GDLOC} ${LDFLAGS}"
fi
fi
dnl find path to GD library headers
AC_FIND_PATH(GDLIB,gd.h,"", ${PREFIX}/include ${PREFIX}/include/gd /usr/local/include/gd /usr/local/include /usr/include/gd /usr/include /include/gd /include ./ ./gd ../gd ${EXTRA_GD} ${EXTRA_GDLIB})
dnl Abort if GD headers not found
if test "$GDLIB" = ""; then
AC_MSG_ERROR(gd headers not found... please install gd.)
fi
dnl Check GeoIP if user wants it
if test "$USE_GEOIP" = "yes"; then
dnl Check for GeoIP headers
AC_FIND_PATH(GEOIPINC,GeoIP.h,"", ${PREFIX}/include /usr/local/include /usr/include /include ${prefix}/include ./ ${EXTRA_GEOIPINC})
if test "$GEOIPINC" = ""; then
AC_MSG_ERROR(GeoIP headers not found... please install GeoIP.)
else
CFLAGS="-I${GEOIPINC} ${CFLAGS}"
fi
dnl Check for GeoIP library
AC_FIND_PATH(GEOIPLIB,libGeoIP.a,"", ${PREFIX}/lib /usr/local/lib /usr/lib /lib ${prefix}/lib ./ ${EXTRA_GEOIPLIB})
if test "$GEOIPLIB" = ""; then
AC_MSG_ERROR(GeoIP library not found... please install GeoIP.)
else
LDFLAGS="-L${GEOIPLIB} ${LDFLAGS}"
fi
AC_CHECK_LIB(GeoIP, GeoIP_new, LIBS="-lGeoIP ${LIBS}", LIBGEOIP="no")
if test "$LIBGEOIP" = "no"; then
AC_MSG_ERROR(GeoIP library not functional... please install GeoIP.)
else
OPTS="-DUSE_GEOIP ${OPTS}"
fi
fi
dnl additonal platform specific checks
AC_CHECK_HEADERS(getopt.h)
if test "$HAVE_LIBM" = "1"; then
AC_CHECK_HEADERS(math.h)
fi
AC_MSG_CHECKING(default config dir)
if test "$CACHE_ETC" = "yes"; then
AC_CACHE_VAL(ac_cv_etcdir, ac_cv_etcdir=/etc)
ETCDIR=$ac_cv_etcdir
fi
ac_cv_etcdir=$ETCDIR
AC_MSG_RESULT($ETCDIR)
AC_SUBST(ETCDIR)
LANG_CACHE=yes
AC_ARG_WITH(language,--with-language=language Use 'language' (default is english),
WEBALIZER_LANG="${withval}"; LANG_CACHE=no, LANG_CACHE=yes)
if test "$WEBALIZER_LANG" = "no"; then WEBALIZER_LANG=english; fi
dnl
dnl check for valid language file
dnl
AC_MSG_CHECKING(for language file)
if test "$LANG_CACHE" = "yes"; then
AC_CACHE_VAL(ac_cv_language, ac_cv_language=$DEFAULT_LANG)
WEBALIZER_LANG=$ac_cv_language
fi
if test -f lang/webalizer_lang.${WEBALIZER_LANG}; then
AC_MSG_RESULT(yes - ${WEBALIZER_LANG})
else
if test -f lang/webalizer_lang.${DEFAULT_LANG}; then
AC_MSG_RESULT('${WEBALIZER_LANG}' not found - using ${DEFAULT_LANG})
WEBALIZER_LANG=${DEFAULT_LANG}
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(language files not found... fix before continuing)
fi
fi
ac_cv_language=${WEBALIZER_LANG}
dnl create link to language file
AC_LINK_FILES(lang/webalizer_lang.${WEBALIZER_LANG}, webalizer_lang.h)
dnl the stuff below was automatically generated by autoscan...
dnl since we don't (yet) have conditionals in our code to handle these
dnl situations, we just ignore them for now...
dnl Checks for header files.
dnl AC_HEADER_STDC
dnl AC_CHECK_HEADERS(unistd.h)
dnl Checks for typedefs, structures, and compiler characteristics.
dnl AC_STRUCT_TM
dnl Checks for library functions.
dnl AC_FUNC_STRFTIME
dnl AC_CHECK_FUNCS(strstr strtoul uname)
AC_OUTPUT(Makefile)