2c50e61161f9268de3ef5ba46e0753dd00c24536
[privoxy.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 dnl 
3 dnl $Id: configure.in,v 1.74 2002/09/03 17:31:33 oes Exp $
4 dnl 
5 dnl Written by and Copyright (C) 2001, 2002 the SourceForge
6 dnl Privoxy team. http://www.privoxy.org/
7 dnl
8 dnl Based on the Internet Junkbuster originally written
9 dnl by and Copyright (C) 1997 Anonymous Coders and 
10 dnl Junkbusters Corporation.  http://www.junkbusters.com
11 dnl
12 dnl This program is free software; you can redistribute it 
13 dnl and/or modify it under the terms of the GNU General
14 dnl Public License as published by the Free Software
15 dnl Foundation; either version 2 of the License, or (at
16 dnl your option) any later version.
17 dnl 
18 dnl This program is distributed in the hope that it will
19 dnl be useful, but WITHOUT ANY WARRANTY; without even the
20 dnl implied warranty of MERCHANTABILITY or FITNESS FOR A
21 dnl PARTICULAR PURPOSE.  See the GNU General Public
22 dnl License for more details.
23 dnl 
24 dnl The GNU General Public License should be included with
25 dnl this file.  If not, you can view it at
26 dnl http://www.gnu.org/copyleft/gpl.html
27 dnl or write to the Free Software Foundation, Inc., 59
28 dnl Temple Place - Suite 330, Boston, MA  02111-1307, USA.
29 dnl 
30 dnl $Log: configure.in,v $
31 dnl Revision 1.74  2002/09/03 17:31:33  oes
32 dnl Added workaround for very strange behaviour of AC_PROG_CC, which sets CFLAGS to -g -O2 if empty
33 dnl
34 dnl Revision 1.73  2002/06/05 00:26:21  hal9
35 dnl Move all doc build stuff to doc/source/GNUmakefile, leaving a 'make dok'
36 dnl target only in toplevel. Add DOC_STATUS variable so docs can be built without
37 dnl touching sgml source.
38 dnl
39 dnl Revision 1.72  2002/06/04 15:52:25  jongfoster
40 dnl Removing need for acconfig.h (apparently using acconfig.h is an
41 dnl obsolete coding style).
42 dnl Moving the DocBook stuff together
43 dnl
44 dnl Revision 1.71  2002/06/04 14:51:49  jongfoster
45 dnl Updating for new paths:
46 dnl - Source files in src/
47 dnl - Object files in obj/
48 dnl
49 dnl Revision 1.70  2002/05/27 23:26:34  mal0rd
50 dnl Made doc-generation configuration automatic.
51 dnl References to DB2HTML were removed, not used.
52 dnl --with-docbook now only needed if in odd path.
53 dnl
54 dnl Revision 1.69  2002/05/25 18:11:49  jongfoster
55 dnl Wahay!!! 3.0.x has branched!
56 dnl New development version is 3.1.1 alpha
57 dnl
58 dnl Revision 1.68  2002/05/25 16:54:54  jongfoster
59 dnl Detect if the compiler supports -pthread.
60 dnl Hopefully this will fix bug 560442.  (I don't have a HP PA-RISC
61 dnl machine to test this!)
62 dnl
63 dnl Revision 1.67  2002/05/03 14:33:59  oes
64 dnl Generate doc/soucre/ldp.dsl
65 dnl
66 dnl Revision 1.66  2002/05/03 00:41:56  oes
67 dnl Set version to 2.9.15 to comply with new versioning scheme
68 dnl
69 dnl Revision 1.65  2002/04/25 19:13:57  morcego
70 dnl Removed RPM release number declaration on configure.in
71 dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading
72 dnl targets (will produce an error, explaining who to do it, if no value
73 dnl if provided).
74 dnl
75 dnl Revision 1.64  2002/04/22 16:32:31  morcego
76 dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2)
77 dnl -rh.spec: uid and gid are now macros
78 dnl -suse.spec: Changing the header Copyright to License (Copyright is
79 dnl             deprecable)
80 dnl
81 dnl Revision 1.63  2002/04/11 11:00:21  oes
82 dnl Applied Moritz' fix for socklen_t on Solaris
83 dnl
84 dnl Revision 1.62  2002/04/11 10:09:20  oes
85 dnl Version 2.9.14
86 dnl
87 dnl Revision 1.61  2002/04/10 18:14:45  morcego
88 dnl - (privoxy-rh.spec only) Relisting template files on the %%files section
89 dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5
90 dnl
91 dnl Revision 1.60  2002/04/09 16:38:49  oes
92 dnl Added detection of missing config.h.in
93 dnl
94 dnl Revision 1.59  2002/04/06 20:23:55  jongfoster
95 dnl Removing unnessacery tests (C++, ranlib)
96 dnl
97 dnl Revision 1.58  2002/04/04 20:49:20  swa
98 dnl attempt to consolidate the
99 dnl different dokbook versions.
100 dnl
101 dnl Revision 1.57  2002/04/04 00:36:36  gliptak
102 dnl always use pcre for matching
103 dnl
104 dnl Revision 1.56  2002/04/03 22:28:03  gliptak
105 dnl Removed references to gnu_regex
106 dnl
107 dnl Revision 1.55  2002/04/03 03:54:38  gliptak
108 dnl Checking pcre version
109 dnl
110 dnl Revision 1.54  2002/04/01 00:54:24  gliptak
111 dnl More changes needed around regex support.
112 dnl
113 dnl Revision 1.53  2002/03/29 20:09:01  swa
114 dnl al's patch
115 dnl
116 dnl Revision 1.52  2002/03/29 19:51:40  gliptak
117 dnl Correcting compile problem with Debian
118 dnl
119 dnl Revision 1.51  2002/03/28 20:43:00  swa
120 dnl set make correctly
121 dnl
122 dnl Revision 1.50  2002/03/27 03:03:45  hal9
123 dnl Add test for man2html
124 dnl
125 dnl Revision 1.49  2002/03/27 02:19:52  david__schmidt
126 dnl More Mac OSX support:
127 dnl - Get rid of extraneous, noisy -pthread warnings
128 dnl - Define unix so we get oes' unix-tagged changes
129 dnl
130 dnl Revision 1.48  2002/03/26 22:29:54  swa
131 dnl we have a new homepage!
132 dnl
133 dnl Revision 1.47  2002/03/26 16:41:00  hal9
134 dnl Upped RPM Release to 3 (need to build new RH packages)
135 dnl
136 dnl Revision 1.46  2002/03/24 18:55:06  jongfoster
137 dnl Making Docbook work under Windows
138 dnl
139 dnl Revision 1.45  2002/03/24 14:19:55  swa
140 dnl set rpm package release in configure.in. nowhere else.
141 dnl
142 dnl Revision 1.44  2002/03/24 13:25:43  swa
143 dnl name change related issues
144 dnl
145 dnl Revision 1.43  2002/03/24 12:56:21  swa
146 dnl name change related issues.
147 dnl
148 dnl Revision 1.42  2002/03/22 18:11:37  jongfoster
149 dnl Bumping version number to 2.9.12
150 dnl
151 dnl Revision 1.41  2002/03/19 19:30:04  morcego
152 dnl - Fixing stylesheet checking on configure. If it is found, no further checks
153 dnl   should be done
154 dnl
155 dnl - configure will now check for db2html or docbook2html (should work now
156 dnl   on SuSe without the docbktls package)
157 dnl
158 dnl Revision 1.40  2002/03/09 14:33:30  oes
159 dnl Fixing the (harmless) AC_CHECK_FILE warnings
160 dnl
161 dnl Revision 1.39  2002/03/08 16:46:13  oes
162 dnl Added --enable-no-gifs
163 dnl
164 dnl Revision 1.38  2002/03/08 14:13:50  morcego
165 dnl Fixing configure, to remove a command not found error.
166 dnl
167 dnl Revision 1.37  2002/03/08 12:58:21  oes
168 dnl Tiny bugfix in AC_ARG_WITH(debug)
169 dnl
170 dnl Revision 1.36  2002/03/06 23:50:36  morcego
171 dnl Will not test for a text browser if we are not using docbook.
172 dnl
173 dnl Revision 1.35  2002/03/06 21:55:52  morcego
174 dnl New configure option: --with-docbook=(yes|no|directory)
175 dnl Preliminary new platform detection code included. Will work with the
176 dnl old one for now. No use just trowing it away
177 dnl
178 dnl Revision 1.34  2002/03/06 20:57:00  morcego
179 dnl Fixing detection of stylesheets on SuSe.
180 dnl
181 dnl Revision 1.33  2002/03/05 17:31:11  morcego
182 dnl Search for docbook.dsl. Should solve portability problems for SuSe.
183 dnl
184 dnl Revision 1.32  2002/03/05 14:07:43  morcego
185 dnl configure now detects rpm topdir, and change GNUmakefile acordingly
186 dnl    (based on sugestion by Sarantis Paskalis)
187 dnl
188 dnl Revision 1.31  2002/03/05 13:43:28  morcego
189 dnl Checking for text browser, so redhat-dok can work.
190 dnl
191 dnl Revision 1.30  2002/03/04 17:58:01  oes
192 dnl Deleted _DEBUG and PID_FILE_PATH
193 dnl
194 dnl Revision 1.29  2002/02/28 14:20:53  oes
195 dnl Fixed detection of gethost*_r functions on Solaris
196 dnl
197 dnl Revision 1.28  2002/02/27 15:02:38  oes
198 dnl Incremented version number
199 dnl
200 dnl Revision 1.27  2002/01/10 12:35:18  oes
201 dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
202 dnl to silence autoconf warnings. Numbers are for Intel/Linux.
203 dnl Is there a better way?
204 dnl
205 dnl Revision 1.26  2002/01/09 14:29:49  oes
206 dnl - Added AC_CHECK_FUNC tests for the availability of
207 dnl   gethostbyname_r, gethostbyaddr_r, gmtime_r and
208 dnl   localtime_r, as well as AC_TRY_COMPILE tests to
209 dnl   determine their signatures.
210 dnl
211 dnl - Fixed a bug with the init of CFLAGS that was
212 dnl   reported by barsnick
213 dnl
214 dnl Revision 1.25  2002/01/04 15:27:18  oes
215 dnl Changed quoting of CODE_STATUS for use in make
216 dnl
217 dnl Revision 1.24  2001/12/30 14:07:31  steudten
218 dnl - Add signal handling (unix)
219 dnl - Add SIGHUP handler (unix)
220 dnl - Add creation of pidfile (unix)
221 dnl - Add action 'top' in rc file (RH)
222 dnl - Add entry 'SIGNALS' to manpage
223 dnl - Add exit message to logfile (unix)
224 dnl
225 dnl Revision 1.23  2001/12/09 20:24:42  david__schmidt
226 dnl Change from "alpha" to "beta" in configure.in
227 dnl
228 dnl Revision 1.22  2001/12/01 11:24:01  jongfoster
229 dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
230 dnl make break in a more obvious way.
231 dnl
232 dnl Revision 1.21  2001/11/30 21:35:54  jongfoster
233 dnl Bumping version number to 2.9.10
234 dnl
235 dnl Revision 1.20  2001/10/23 21:24:09  jongfoster
236 dnl Support for FEATURE_CGI_EDIT_ACTIONS
237 dnl
238 dnl Revision 1.19  2001/10/07 15:33:14  oes
239 dnl Removed FEATURE_DENY_GZIP
240 dnl Bumped up version number
241 dnl
242 dnl Revision 1.18  2001/09/13 13:10:24  steudten
243 dnl
244 dnl PreWork for Debug Interface.
245 dnl Add new option "--with-debug" to enable debugging (flags aso.)
246 dnl
247 dnl Revision 1.17  2001/09/12 23:44:55  david__schmidt
248 dnl Mac OSX (Darwin) support added.
249 dnl
250 dnl Revision 1.16  2001/09/12 22:55:45  joergs
251 dnl AmigaOS support added.
252 dnl
253 dnl Revision 1.15  2001/09/12 17:28:59  david__schmidt
254 dnl
255 dnl OS/2 port: update autoconf'd support for the platform.
256 dnl
257 dnl Revision 1.14  2001/07/30 22:12:11  jongfoster
258 dnl Fixing Solaris build (I hope) and tidying up #defines:
259 dnl - All feature #defines are now of the form FEATURE_xxx
260 dnl - Permanently turned off WIN_GUI_EDIT
261 dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
262 dnl
263 dnl Revision 1.13  2001/07/29 17:09:17  jongfoster
264 dnl Major changes to build system in order to fix these bugs:
265 dnl - pthreads under Linux was broken - changed -lpthread to -pthread
266 dnl - Compiling in MinGW32 mode under CygWin now correctly detects
267 dnl   which shared libraries are available
268 dnl - Solaris support (?) (Not tested under Solaris yet)
269 dnl
270 dnl Revision 1.12  2001/07/25 19:16:27  oes
271 dnl Bumping version number to 2.9.8
272 dnl
273 dnl Revision 1.11  2001/07/21 18:00:07  jongfoster
274 dnl Bumping version number to 2.9.7
275 dnl
276 dnl Revision 1.10  2001/07/18 17:25:04  oes
277 dnl Fixed a typo
278 dnl
279 dnl Revision 1.9  2001/07/15 19:45:13  jongfoster
280 dnl Added support for linking with POSIX threads library
281 dnl
282 dnl Revision 1.8  2001/07/15 17:54:29  jongfoster
283 dnl Renaming #define STATIC to STATIC_PCRE
284 dnl Adding new #define FEATURE_PTHREAD that will be used to enable
285 dnl POSIX threads support.
286 dnl
287 dnl Revision 1.7  2001/07/13 13:58:05  oes
288 dnl    Completely reorganized the selection scheme for
289 dnl    pcre, pcreposix, pcrs and gnu_regex:
290 dnl
291 dnl    The presence of shared pcre, pcreposix or pcrs
292 dnl    libraried is now autodetected. Additionally, the
293 dnl    user can enforce using the built-in static variants
294 dnl    by specifying --disable-dynamic-(pcre|pcrs).
295 dnl    Care is taken to avoid that pcre is dyn, while pcreposix
296 dnl    is static, if both are used and that pcrs is static if
297 dnl    pcrs is.
298 dnl
299 dnl    The choice between pcre, gnu or no regex for actionsfile
300 dnl    URL matching is now via
301 dnl    --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
302 dnl    default being pcre.
303 dnl
304 dnl Revision 1.6  2001/06/29 21:56:40  oes
305 dnl Version -> 2.9.5
306 dnl
307 dnl Revision 1.5  2001/06/29 13:26:27  oes
308 dnl Introduced #define CODE_STATUS
309 dnl
310 dnl Revision 1.4  2001/05/29 09:50:24  jongfoster
311 dnl Unified blocklist/imagelist/permissionslist.
312 dnl File format is still under discussion, but the internal changes
313 dnl are (mostly) done.
314 dnl
315 dnl Also modified interceptor behaviour:
316 dnl - We now intercept all URLs beginning with one of the following
317 dnl   prefixes (and *only* these prefixes):
318 dnl     * http://i.j.b/
319 dnl     * http://ijbswa.sf.net/config/
320 dnl     * http://ijbswa.sourceforge.net/config/
321 dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
322 dnl - Internal changes so that intercepted and fast redirect pages
323 dnl   are not replaced with an image.
324 dnl - Interceptors now have the option to send a binary page direct
325 dnl   to the client. (i.e. ijb-send-banner uses this)
326 dnl - Implemented show-url-info interceptor.  (Which is why I needed
327 dnl   the above interceptors changes - a typical URL is
328 dnl   "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
329 dnl   The previous mechanism would not have intercepted that, and
330 dnl   if it had been intercepted then it then it would have replaced
331 dnl   it with an image.)
332 dnl
333 dnl Revision 1.3  2001/05/22 18:46:04  oes
334 dnl
335 dnl - Enabled filtering banners by size rather than URL
336 dnl   by adding patterns that replace all standard banner
337 dnl   sizes with the "Junkbuster" gif to the re_filterfile
338 dnl
339 dnl - Enabled filtering WebBugs by providing a pattern
340 dnl   which kills all 1x1 images
341 dnl
342 dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
343 dnl   which is selected by the (nonstandard and therefore
344 dnl   capital) letter 'U' in the option string.
345 dnl   It causes the quantifiers to be ungreedy by default.
346 dnl   Appending a ? turns back to greedy (!).
347 dnl
348 dnl - Added a new interceptor ijb-send-banner, which
349 dnl   sends back the "Junkbuster" gif. Without imagelist or
350 dnl   MSIE detection support, or if tinygif = 1, or the
351 dnl   URL isn't recognized as an imageurl, a lame HTML
352 dnl   explanation is sent instead.
353 dnl
354 dnl - Added new feature, which permits blocking remote
355 dnl   script redirects and firing back a local redirect
356 dnl   to the browser.
357 dnl   The feature is conditionally compiled, i.e. it
358 dnl   can be disabled with --disable-fast-redirects,
359 dnl   plus it must be activated by a "fast-redirects"
360 dnl   line in the config file, has its own log level
361 dnl   and of course wants to be displayed by show-proxy-args
362 dnl   Note: Boy, all the #ifdefs in 1001 locations and
363 dnl   all the fumbling with configure.in and acconfig.h
364 dnl   were *way* more work than the feature itself :-(
365 dnl
366 dnl - Because a generic redirect template was needed for
367 dnl   this, tinygif = 3 now uses the same.
368 dnl
369 dnl - Moved GIFs, and other static HTTP response templates
370 dnl   to project.h
371 dnl
372 dnl - Some minor fixes
373 dnl
374 dnl - Removed some >400 CRs again (Jon, you really worked
375 dnl   a lot! ;-)
376 dnl
377 dnl Revision 1.2  2001/05/20 01:21:20  jongfoster
378 dnl Version 2.9.4 checkin.
379 dnl - Merged popupfile and cookiefile, and added control over PCRS
380 dnl   filtering, in new "permissionsfile".
381 dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
382 dnl   file error you now get a message box (in the Win32 GUI) rather
383 dnl   than the program exiting with no explanation.
384 dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
385 dnl   skipping.
386 dnl - Removed tabs from "config"
387 dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
388 dnl - Bumped up version number.
389 dnl
390 dnl Revision 1.1.1.1  2001/05/15 13:58:50  oes
391 dnl Initial import of version 2.9.3 source tree
392 dnl
393 dnl 
394
395
396 dnl =================================================================
397 dnl AutoConf Initialization
398 dnl =================================================================
399
400 AC_REVISION($Revision: 1.74 $)
401 AC_INIT(src/jcc.c)
402
403 if test ! -f src/config.h.in; then
404    echo "You need to run autoheader first. "
405    echo -n "Shall I do this for you now? (y/n) "
406    read answer
407    if test $answer != "y"; then
408       exit 1
409    else
410       autoheader
411   fi
412 fi  
413
414 AC_CONFIG_HEADER([src/config.h])
415 AC_CANONICAL_HOST
416
417
418 dnl =================================================================
419 dnl Application version number
420 dnl =================================================================
421
422 VERSION_MAJOR=3
423 VERSION_MINOR=1
424 VERSION_POINT=1
425 CODE_STATUS="alpha"
426
427 dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
428 dnl used for CGI output
429
430 dnl =================================================================
431 dnl Substitute the version numbers
432 dnl =================================================================
433
434 AC_SUBST(VERSION_MAJOR)
435 AC_SUBST(VERSION_MINOR)
436 AC_SUBST(VERSION_POINT)
437 AC_SUBST(CODE_STATUS)
438
439 dnl
440 AC_DEFINE_UNQUOTED(VERSION_MAJOR,${VERSION_MAJOR},
441   [Version number - Major (X._._).])
442 AC_DEFINE_UNQUOTED(VERSION_MINOR,${VERSION_MINOR},
443   [Version number - Minor (_.X._).])
444 AC_DEFINE_UNQUOTED(VERSION_POINT,${VERSION_POINT},
445   [Version number - Point (_._.X).])
446 AC_DEFINE_UNQUOTED(VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_POINT}",
447   [Version number, as a string.])
448 AC_DEFINE_UNQUOTED(CODE_STATUS,"${CODE_STATUS}",
449   [Status of the code: "alpha", "beta" or "stable".])
450
451 dnl =================================================================
452 dnl Checks for programs needed to build.
453 dnl =================================================================
454
455 dnl Keep AC_PROG_CC from setting its own defaults:
456 CFLAGS=" "
457
458 AC_PROG_CC
459 AC_PROG_CPP
460 AC_PROG_INSTALL
461 AC_PROG_LN_S
462 AC_PROG_MAKE_SET
463
464 AC_CHECK_PROG(GDB,gdb,yes,no)
465
466 dnl =================================================================
467 dnl debug, gcc and gdb support 
468 dnl =================================================================
469
470 AC_ARG_WITH(debug,
471         [  --with-debug            Enable debug mode],
472         [
473                 if test "x$withval" != "xno" ; then
474                     if test $ac_cv_prog_cc_g = yes; then
475                       if test "$GCC" = yes; then
476                         if test "$GDB"; then
477                           CFLAGS="-ggdb"
478                         else
479                           CFLAGS="-g"
480                         fi
481                         CFLAGS="$CFLAGS -Wshadow  -Wconversion"
482                       else
483                         CFLAGS="-g"
484                       fi
485                    fi
486                 fi
487         ],
488         [
489             if test "X$CFLAGS" = "X"; then # if CFLAGS are unset
490               if test "$GCC" = yes; then
491                 CFLAGS="-O2"
492               else
493                 CFLAGS=
494               fi
495             fi
496         ]
497 )
498
499 AC_ARG_WITH(user,
500         [  --with-user=privoxy            Set user under which privoxy run],
501         [
502                 if test "x$withval" != "xyes"; then
503                     USER=$with_user;
504                   else
505                    AC_MSG_ERROR(We need a user if you give me this parameter)
506                 fi
507         ],
508         [
509           USER=privoxy;
510         ]
511 )
512 AC_SUBST(USER)
513
514 AC_ARG_WITH(group,
515         [  --with-group=privoxy         Set group for privoxy],
516         [
517                 if test "x$withval" != "xyes"; then
518                     GROUP=$with_group;
519                   else
520                    AC_MSG_ERROR(We need a group if you give me this parameter)
521                 fi
522         ],
523         [
524           GROUP=privoxy;
525         ]
526 )
527 AC_SUBST(GROUP)
528
529 dnl =================================================================
530 dnl additional gcc flags
531 dnl =================================================================
532 dnl 
533 if test "$GCC"; then
534   CFLAGS="-pipe $CFLAGS"
535 fi
536
537
538 dnl =================================================================
539 dnl Build type
540 dnl =================================================================
541 dnl
542 dnl Must do this first.
543 dnl
544 dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
545 dnl into Cygwin or MinGW32 modes.  Depending on the mode selected,
546 dnl the compiler will use completely different sets of library
547 dnl and include files.
548 dnl 
549 dnl =================================================================
550
551 AC_MINGW32
552 AC_CYGWIN
553
554 if test "$MINGW32" = "yes"; then
555   target_type=mingw
556 else
557   if test "$CYGWIN" = "yes"; then
558     target_type=cygwin
559   else
560     target_type=unix
561   fi
562 fi
563
564 dnl Decide what to do based on target_type
565 dnl Note: PTHREAD_LIB is always set, even if pthread is disabled.
566 dnl This is because we don't know yet whether pthread is enabled.
567
568 AC_ARG_ENABLE(mingw32,
569 [  --enable-mingw32        Use mingw32 for a Windows GUI],
570 [if test $enableval = yes; then
571   target_type=mingw
572 fi])
573
574 if test $target_type = mingw; then
575   WIN_ONLY=
576   SPECIAL_CFLAGS="-mwindows -mno-cygwin"
577   PTHREAD_LIB=-lpthreadGC
578   echo "Using mingw32 (Win32 GUI)"
579 else
580   WIN_ONLY=#
581   if test $target_type = cygwin; then
582     SPECIAL_CFLAGS="-mno-win32"
583     PTHREAD_LIB=
584     echo "Using Cygnus (Win32 command line)"
585   else
586     SPECIAL_CFLAGS=
587     PTHREAD_LIB=-lpthread
588   fi
589 fi
590 AC_SUBST(WIN_ONLY)
591
592 dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
593 old_CFLAGS_nospecial=$CFLAGS
594 CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
595
596 # Hack to force AutoConf to use the CFLAGS we just set
597 dnl Warning: This may break with a future version of Autoconf
598 dnl          Tested with autoconf 2.13
599 ac_cpp='$CPP $CPPFLAGS $SPECIAL_CFLAGS'
600 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
601 ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
602
603
604 dnl =================================================================
605 dnl Thread support
606 dnl =================================================================
607
608 AC_CHECK_HEADER(pthread.h, [have_pthread=yes], [have_pthread=no])
609
610 AC_ARG_ENABLE(pthread,
611 [  --disable-pthread       Don't use POSIX threads (pthreads)],
612 [if test $enableval = no; then
613   # Disable pthreads
614   have_pthread=no
615 fi])
616
617 if test $have_pthread = yes; then
618   PTHREAD_ONLY=
619   AC_DEFINE(FEATURE_PTHREAD,1,
620   [Define to use POSIX threads instead of native threads.])
621   echo Using POSIX threads
622   if test "$GCC" = "yes"; then
623     # Set a GCC specific switch:
624     if test "$target_type" = "unix"; then
625       ac_jgf_save_CFLAGS=$CFLAGS
626       CFLAGS="$CFLAGS -pthread"
627       AC_TRY_LINK([#include <pthread.h>],
628         [void *p = pthread_create;],
629         [
630           # This compiler switch makes GCC on Linux thread-safe
631           # However, it's not supported on most other OS.
632           PTHREAD_LIB=
633           SPECIAL_CFLAGS="-pthread"
634         ])
635       CFLAGS=$ac_jgf_save_CFLAGS
636     fi
637   fi
638 else
639   PTHREAD_ONLY=#
640   echo Using native threads
641 fi
642
643 AC_SUBST(PTHREAD_ONLY)
644
645 dnl =================================================================
646 dnl Support for thread-safe versions of gethostbyaddr, gethostbyname,
647 dnl gmtime and localtime
648 dnl =================================================================
649
650 dnl Next line needed to find the gethost*_r functions on Solaris
651 AC_CHECK_LIB(nsl, gethostbyname)
652
653 AC_CHECK_FUNC(gethostbyaddr_r, [
654   AC_MSG_CHECKING([signature of gethostbyaddr_r])
655   AC_TRY_COMPILE([
656 #   include <netdb.h>
657   ], [
658     struct hostent *h, *hp;
659     char *a, *b;
660     int l, bl, t, e;
661     (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
662   ], [
663     AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS,1,
664       [Define if gethostbyaddr_r() exists and takes 8 arguments])
665     AC_MSG_RESULT([8 args])
666   ], [
667     AC_TRY_COMPILE([
668 #     include <netdb.h>
669     ], [
670       struct hostent *h;
671       char *a, *b;
672       int l, bl, t, e;
673       (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
674     ], [
675       AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS,1,
676       [Define if gethostbyaddr_r() exists and takes 7 arguments])
677       AC_MSG_RESULT([7 args])
678     ], [
679       AC_TRY_COMPILE([
680 #       include <netdb.h>
681       ], [
682         struct hostent_data *d;
683         struct hostent *h;
684         char a,
685         int l, t;
686         (void) gethostbyaddr_r(a, l, t, h, d)
687       ], [
688         AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS,1,
689       [Define if gethostbyaddr_r() exists and takes 5 arguments])
690         AC_MSG_RESULT([5 args])
691       ], [
692         AC_MSG_RESULT(unrecognised)
693       ])
694     ])
695   ])
696 ], [
697   AC_MSG_RESULT(no)
698 ])
699
700 AC_CHECK_FUNC(gethostbyname_r, [
701   AC_MSG_CHECKING([signature of gethostbyname_r])
702   AC_TRY_COMPILE([
703 #   include <netdb.h>
704   ], [
705     struct hostent *h, *r;
706     char *n, *b;
707     int bl, e;
708     (void) gethostbyname_r(n, h, b, bl, &r, &e)
709   ], [
710     AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS,1,
711       [Define if gethostbyname_r() exists and takes 6 arguments])
712     AC_MSG_RESULT([6 args])
713   ], [
714     AC_TRY_COMPILE([
715 #     include <netdb.h>
716     ], [
717       struct hostent *h;
718       char *n, *b;
719       int bl, e;
720       (void) gethostbyname_r(n, h, b, bl, &e)
721     ], [
722       AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS,1,
723       [Define if gethostbyname_r() exists and takes 5 arguments])
724       AC_MSG_RESULT([5 args])
725     ], [
726       AC_TRY_COMPILE([
727 #       include <netdb.h>
728       ], [
729         struct hostent_data *d;
730         struct hostent *h;
731         char *n,
732         (void) gethostbyname_r(n, h, d)
733       ], [
734         AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS,1,
735       [Define if gethostbyname_r() exists and takes 3 arguments])
736         AC_MSG_RESULT([3 args])
737       ], [
738         AC_MSG_RESULT(unrecognised)
739       ])
740     ])
741   ])
742 ], [
743   AC_MSG_RESULT(no)
744 ])
745
746 AC_CHECK_FUNC(gmtime_r, [
747   AC_MSG_CHECKING([signature of gmtime_r])
748   AC_TRY_COMPILE([
749 #   include <time.h>
750   ], [
751     struct time *t;
752     struct tm *tm;
753     (void) gmtime_r(t, tm)
754   ], [
755     AC_MSG_RESULT(ok)
756     AC_DEFINE(HAVE_GMTIME_R,1,
757       [Define if gmtime_r(struct time *, struct tm *) exists])
758   ], [
759     AC_MSG_RESULT(unrecognised)
760   ])
761 ], [
762   AC_MSG_RESULT(no)
763 ])
764
765 AC_CHECK_FUNC(localtime_r, [
766   AC_MSG_CHECKING([signature of localtime_r])
767   AC_TRY_COMPILE([
768 #   include <time.h>
769   ], [
770     struct time *t;
771     struct tm *tm;
772     (void) localtime_r(t, tm)
773   ], [
774     AC_MSG_RESULT(ok)
775     AC_DEFINE(HAVE_LOCALTIME_R,1,
776       [Define if localtime_r(struct time *, struct tm *) exists])
777   ], [
778     AC_MSG_RESULT(unrecognised)
779   ])
780 ], [
781   AC_MSG_RESULT(no)
782 ])
783
784 dnl =================================================================
785 dnl Solaris specific
786 dnl FIXME: Not tested on Solaris yet...
787 dnl ISFIXED: Have tested it on Solaris, but there are other ways to
788 dnl     make these checks generic, e.g.:
789 dnl AC_CHECK_FUNC(getsockopt, , AC_CHECK_LIB(socket, getsockopt))
790 dnl     (Moritz Barsnick <moritz@barsnick.net>)
791 dnl =================================================================
792
793
794 SOCKET_LIB=
795
796 case "$host" in
797 *-solaris*) SOCKET_LIB="-lsocket -lnsl"
798             AC_DEFINE(__EXTENSIONS__,1,
799               [Define to 1 on Solaris.  Do not define on other platforms.])
800             if test "$GCC" = "yes"; then
801               # Set a GCC specific switch:
802               # This compiler switch makes Solaris thread-safe
803               PTHREAD_LIB=
804               SPECIAL_CFLAGS="-pthreads"
805             else
806               # What do we do without GCC? Guess this:
807               SPECIAL_CFLAGS="-D_REENTRANT"
808             fi
809 ;;
810 esac
811
812 AC_SUBST(SOCKET_LIB)
813
814 dnl =================================================================
815 dnl Solaris problem, and others perhaps (socklen_t is undefined)
816 dnl =================================================================
817
818 AC_MSG_CHECKING([for socklen_t])
819 AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
820         AC_MSG_RESULT([no])
821         AC_DEFINE(socklen_t,int,
822                 [ Define to 'int' if <sys/socket.h> doesn't have it. ]))
823
824
825 dnl =================================================================
826 dnl OS/2 specific
827 dnl =================================================================
828
829 case "$host" in
830 *-os2-emx*) SOCKET_LIB=-lsocket
831 ;;
832 esac
833
834 AC_SUBST(SOCKET_LIB)
835
836 dnl =================================================================
837 dnl Mac OSX specific
838 dnl =================================================================
839     
840 case "$host" in
841 *-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
842 ;;  
843 esac
844
845 dnl =================================================================
846 dnl AmigaOS specific
847 dnl =================================================================
848
849 AMIGAOS_ONLY=#
850
851 case "$host" in
852 *-amigaos) AMIGAOS_ONLY=
853 ;;
854 esac
855
856 AC_SUBST(AMIGAOS_ONLY)
857
858 dnl =================================================================
859 dnl Check for standard compiler stuff
860 dnl =================================================================
861
862 AC_EXEEXT
863 AC_OBJEXT
864 AC_HEADER_STDC
865 AC_HEADER_DIRENT
866 AC_C_CONST
867 AC_TYPE_SIZE_T
868 AC_TYPE_PID_T
869 AC_HEADER_TIME
870 AC_STRUCT_TM
871 AC_CHECK_SIZEOF(int, 4)
872 AC_CHECK_SIZEOF(char *, 4)
873 AC_CHECK_SIZEOF(long, 4)
874 AC_CHECK_SIZEOF(long long, 8)
875 AC_CHECK_SIZEOF(size_t, 4)
876
877 dnl Checks for header files.
878 dnl AC_HEADER_SYS_WAIT
879 dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
880 AC_CHECK_HEADERS([OS.h arpa/inet.h errno.h fcntl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/timeb.h sys/wait.h unistd.h])
881
882 dnl Checks for library functions.
883 dnl AC_TYPE_SIGNAL
884 dnl AC_CHECK_FUNC(strstr)
885 dnl bcopy and memmove are for PCRE
886 AC_CHECK_FUNCS([strerror bcopy memmove])
887 AC_PROG_GCC_TRADITIONAL
888 dnl uncommenting does not work for swa. suse linux
889 dnl AC_FUNC_MALLOC
890 AC_FUNC_SETPGRP
891 AC_TYPE_SIGNAL
892 dnl uncommenting does not work for swa. suse linux
893 dnl AC_FUNC_STAT
894 AC_CHECK_FUNCS([atexit getcwd gethostbyaddr gethostbyname inet_ntoa localtime_r memchr memmove memset regcomp select setlocale socket strchr strdup strerror strftime strstr strtoul])
895
896
897 dnl =================================================================
898 dnl Checks for libraries.
899 dnl =================================================================
900 dnl Note: Some systems may have the library but not the system header
901 dnl       file, so we must check for both.
902 dnl       Also check for correct version
903 AC_CHECK_LIB(pcre, pcre_compile, [AC_CHECK_HEADER(pcre.h, [AC_EGREP_HEADER(pcre_fullinfo, pcre.h, [have_pcre=yes], [AC_MSG_WARN([[pcre old version installed]]); have_pcre=no])], [have_pcre=no])], [have_pcre=no])
904 AC_CHECK_LIB(pcreposix, regcomp, [AC_CHECK_HEADER(pcreposix.h, [AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])], [have_pcreposix=no])], [have_pcreposix=no], -lpcre)
905 AC_CHECK_LIB(pcrs, pcrs_compile, [AC_CHECK_HEADER(pcrs.h, [have_pcrs=yes], [have_pcrs=no])], [have_pcrs=no])
906
907
908 dnl =================================================================
909 dnl Always defined
910 dnl =================================================================
911
912 AC_DEFINE(__MT__,1,
913   [Always define this, for thread safety on some platforms.])
914
915 dnl =================================================================
916 dnl Features
917 dnl =================================================================
918
919 AC_ARG_ENABLE(toggle,
920 [  --disable-toggle         Don't support temporary disable],
921 [enableval2=$enableval],
922 [enableval2=yes])
923 if test $enableval2 = yes; then
924   AC_DEFINE(FEATURE_TOGGLE,1,
925     [ Allow Privoxy to be "disabled" so it is just a normal non-blocking
926       non-anonymizing proxy.  This is useful if you're trying to access a
927       blocked or broken site - just change the setting in the config file,
928       or use the handy "Disable" menu option in the Windows GUI. ])
929 fi
930
931 AC_ARG_ENABLE(force,
932 [  --disable-force          Don't allow single-page disable],
933 [enableval2=$enableval],
934 [enableval2=yes])
935 if test $enableval2 = yes; then
936   AC_DEFINE(FEATURE_FORCE_LOAD,1,
937     [ Bypass filtering for 1 page only. ])
938 fi
939
940 AC_ARG_ENABLE(fast-redirects,
941 [  --disable-fast-redirects Don't support fast redirects],
942 [enableval2=$enableval],
943 [enableval2=yes])
944 if test $enableval2 = yes; then
945   AC_DEFINE(FEATURE_FAST_REDIRECTS,1,
946     [ Locally redirect remote script-redirect URLs. ])
947 fi
948
949 AC_ARG_ENABLE(killpopup,
950 [  --disable-killpopup      Never block popups],
951 [enableval2=$enableval],
952 [enableval2=yes])
953 if test $enableval2 = yes; then
954   AC_DEFINE(FEATURE_KILL_POPUPS,1,
955     [ Kills JavaScript popups - window.open, onunload, etc. ])
956 fi
957
958 AC_ARG_ENABLE(stats,
959 [  --disable-stats          Don't keep statistics],
960 [enableval2=$enableval],
961 [enableval2=yes])
962 if test $enableval2 = yes; then
963   AC_DEFINE(FEATURE_STATISTICS,1,
964     [ Enables statistics function. ])
965 fi
966
967 AC_ARG_ENABLE(ie-images,
968 [  --enable-ie-images      Don't auto-detect whether a request from MS Internet
969                            Explorer is for an image or HTML.],
970 [enableval2=$enableval],
971 [enableval2=yes])
972 if test $enableval2 = yes; then
973   AC_DEFINE(FEATURE_IMAGE_DETECT_MSIE,1,
974     [ Detect image requests automatically for MSIE.  Will fall back to
975       other image-detection methods (i.e. ´´+image´´ action) for other
976       browsers.
977
978       You must also define FEATURE_IMAGE_BLOCKING to use this feature.
979
980       It detects the following header pair as an image request:
981       ´´User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)´´,
982       ´´Accept: * / *´´.
983
984       And the following as a HTML request:
985       User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0),
986       Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *.
987
988       And no, I haven't got that backwards - IE is being wierd.
989
990       Known limitations: 
991       1) If you press shift-reload on a blocked HTML page, you get
992          the image blocked page, not the HTML ´´blocked´´ page.
993       2) Once an image ´´blocked´´ page has been sent, viewing it 
994          in it's own browser window *should* bring up the HTML
995          ´´blocked´´ page, but it doesn't.  You need to clear the 
996          browser cache to get the HTML version again.
997
998       These limitations are due to IE making inconsistent choices
999       about which ´´Accept:´´ header to send. ])
1000 fi
1001
1002 AC_ARG_ENABLE(image-blocking,
1003 [  --disable-image-blocking Don't try to figure out whether a request is 
1004                            for an image or HTML - assume HTML.],
1005 [enableval2=$enableval],
1006 [enableval2=yes])
1007 if test $enableval2 = yes; then
1008   AC_DEFINE(FEATURE_IMAGE_BLOCKING,1,
1009     [ Allow blocking using images as well as HTML.
1010       If you do not define this then everything is blocked as HTML.
1011       Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE. ])
1012 fi
1013
1014 AC_ARG_ENABLE(acl-files,
1015 [  --disable-acl-files      Prevents the use of ACL files to control access to
1016                            the proxy by IP address.],
1017 [enableval2=$enableval],
1018 [enableval2=yes])
1019 if test $enableval2 = yes; then
1020   AC_DEFINE(FEATURE_ACL,1,
1021     [ Define to 1 to allow the use of an ACL to control access to the proxy by IP address. ])
1022 fi
1023
1024 AC_ARG_ENABLE(trust-files,
1025 [  --disable-trust-files    Prevents the use of trust files.],
1026 [enableval2=$enableval],
1027 [enableval2=yes])
1028 if test $enableval2 = yes; then
1029   AC_DEFINE(FEATURE_TRUST,1,
1030     [ Define to 1 to allow the use of trust files. ])
1031 fi
1032
1033 AC_ARG_ENABLE(jar-files,
1034 [  --disable-jar-files      Prevents the use of jar files to capture cookies.],
1035 [enableval2=$enableval],
1036 [enableval2=yes])
1037 if test $enableval2 = yes; then
1038   AC_DEFINE(FEATURE_COOKIE_JAR,1,
1039     [ Define to 1 to allow the user to capture cookies. ])
1040 fi
1041
1042 AC_ARG_ENABLE(editor,
1043 [  --disable-editor         Prevents the use of the web-based actions file
1044                            editor and web-based temporary disable setting.],
1045 [enableval2=$enableval],
1046 [enableval2=yes])
1047 if test $enableval2 = yes; then
1048   AC_DEFINE(FEATURE_CGI_EDIT_ACTIONS,1,
1049     [ Define to 1 to enable the web-based configuration (actions file) editor.
1050       If you have a shared proxy, you might want to turn this off. ])
1051 fi
1052
1053 AC_ARG_ENABLE(no-gifs,
1054 [  --enable-no-gifs         Use politically correct PNG format instead of GIF
1055                            for built-in images. May not work with all browsers.],
1056 [enableval2=$enableval],
1057 [enableval2=no])
1058 if test $enableval2 = yes; then
1059   AC_DEFINE(FEATURE_NO_GIFS,1,
1060     [ Deine to 1 to use PNG instead of GIF for built-in images. ])
1061 fi
1062
1063
1064 dnl pcre/pcrs is needed for CGI anyway, so
1065 dnl the choice is only between static and
1066 dnl dynamic:
1067
1068 AC_ARG_ENABLE(dynamic-pcre,
1069 [  --disable-dynamic-pcre        Use the built-in, static pcre, even if
1070                                 libpcre is available],
1071 [ if test $enableval = "no"; then have_pcre=no; fi ])
1072
1073 AC_ARG_ENABLE(dynamic-pcrs,
1074 [  --disable-dynamic-pcrs        Use the built-in, static pcrs, even if
1075                                 libpcrs is available],
1076 [ if test $enableval = "no"; then have_pcrs=no; fi ])
1077
1078
1079 # If we have libpcre and either we also have pcreposix or
1080 # we don't need pcreposix, then link pcre dynamically; else
1081 # build it and link statically
1082 #
1083 if test $have_pcre = "yes"; then
1084   echo "using libpcre"
1085   pcre_dyn=yes
1086   STATIC_PCRE_ONLY=#
1087   LIBS="$LIBS -lpcre -lpcreposix"
1088 else
1089   echo "using built-in static pcre"
1090   pcre_dyn=no
1091   AC_DEFINE(STATIC_PCRE,1,
1092     [Define to 1 if PCRE should be statically built in instead of linking
1093      with libpcre.
1094      (This is determined by configure depending on the availiability of
1095      libpcre and user preferences). The name is ugly, but pcre needs it.
1096      Don't try to change this here! Use configure instead.])
1097   STATIC_PCRE_ONLY=
1098 fi
1099
1100 # If we have libpcrs and pcre is linked dynamically
1101 # then also link pcrs dynamically, else build and link
1102 # pcrs statically
1103 #
1104 if test $have_pcrs = "yes" -a $pcre_dyn = "yes"; then
1105   echo "using libpcrs"
1106   STATIC_PCRS_ONLY=#
1107   LIBS="$LIBS -lpcrs"
1108 else
1109   echo "using built-in static pcrs"
1110   AC_DEFINE(STATIC_PCRS,1,
1111     [Define to 1 if PCRS should be statically built in instead of linking
1112      with libpcrs.
1113      (This is determined by configure depending on the availiability of
1114      libpcrs and user preferences).
1115      Don't try to change this here! Use configure instead.])
1116   STATIC_PCRS_ONLY=
1117 fi
1118
1119 AC_SUBST(STATIC_PCRE_ONLY)
1120 AC_SUBST(STATIC_PCRS_ONLY)
1121
1122 dnl =================================================================
1123 dnl DocBook stuff
1124 dnl =================================================================
1125
1126 AC_ARG_WITH(docbook, dnl
1127   --with-docbook=<directory>    
1128                            Set the location of the dsssl stylesheet
1129                            (default = search),[dnl
1130 DKPREFIX=$withval
1131 ])
1132
1133 dnl Check for jade, so we can build the documentation
1134 dnl Openjade is preferred according to docs, but jade
1135 dnl is *much* faster.
1136 AC_CHECK_PROGS(JADEBIN,jade openjade,false)
1137 AC_SUBST(JADEBIN)
1138
1139 dnl Checking for the docbook.dsl stylesheet file
1140 dnl It is still not portable (directory slash)
1141 dnl   ^ Why not?  All systems use / don't they?
1142 dnl   Windows certainly can.  Is this a Mac or
1143 dnl   Amiga issue?  -- Jon
1144 DKPREFIXCOPY=$DKPREFIX
1145 DKPREFIX=false
1146 for i in $DKPREFIXCOPY /usr/share/sgml/docbook/stylesheet/dsssl/modular \
1147         /usr/share/sgml/docbook/dsssl-stylesheets /usr/share/sgml/docbkdsl \
1148         /usr/share/sgml/docbook-dsssl; do
1149         echo -n "checking for $i/html/docbook.dsl..."
1150         if test -f $i/html/docbook.dsl; then
1151                 echo "yes"
1152                 DKPREFIX=$i
1153                 break
1154         else
1155                 echo "no"
1156         fi
1157 done
1158 AC_SUBST(DKPREFIX)
1159
1160 JADECAT=""
1161 dnl where are the catalogs?
1162 for i in /usr/share/sgml/CATALOG.docbk30 \
1163          /usr/share/sgml/CATALOG.docbk31; do
1164         echo -n "checking for $i..."
1165         if test -f $i; then
1166                 echo "yes"
1167                 JADECAT="$JADECAT -c $i"
1168         else
1169                 echo "no"
1170         fi
1171 done
1172 AC_SUBST(JADECAT)
1173
1174 dnl NOT USED?
1175 dnl DB2HTML=false
1176 dnl AC_ARG_WITH(db2html, dnl
1177 dnl  --with-db2html=<path/executable>
1178 dnl                          Set the location of the docbook to html converter
1179 dnl                           (default = search),[dnl
1180 dnl DB2HTML=$withval
1181 dnl ])
1182 dnl if ! test -x $DB2HTML; then
1183 dnl     DB2HTML=""
1184 dnl fi
1185 dnl 
1186 dnl Check for a docbook -> HTML converter
1187 dnl AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
1188 dnl AC_SUBST(DB2HTML)
1189
1190 dnl Check for a text browser that supports -dump
1191 AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
1192 AC_SUBST(WDUMP)
1193
1194 dnl Check for man2html for docs.
1195 AC_CHECK_PROGS(MAN2HTML,man2html,false)
1196 AC_SUBST(MAN2HTML)
1197
1198 dnl Set doc status, used for conditional content inclusions
1199 DOC_STATUS=""
1200 if  test $CODE_STATUS = alpha; then
1201      DOC_STATUS="-ip-alpha -ip-not-stable"
1202 fi
1203 if  test $CODE_STATUS = beta; then
1204      DOC_STATUS="-ip-beta -ip-not-stable"
1205 fi
1206 if  test $CODE_STATUS = stable; then
1207      DOC_STATUS="-ip-stable"
1208 fi
1209 echo "checking for doc status flags... $DOC_STATUS"
1210 AC_SUBST(DOC_STATUS)
1211
1212 dnl =================================================================
1213 dnl RPM stuff
1214 dnl =================================================================
1215
1216 dnl If we use rpm, we need to check where %_topdir is
1217 AC_CHECK_PROGS(RPMBIN,rpm,false)
1218 if test $RPMBIN != false; then
1219                 RPM_BASE=`rpm --eval "%{_topdir}"`
1220                 if test "$RPM_BASE" = ""; then
1221                         RPM_BASE=/usr/src/redhat
1222                 fi
1223 fi
1224 AC_SUBST(RPM_BASE)
1225
1226
1227 dnl =================================================================
1228 dnl Final cleanup and output
1229 dnl =================================================================
1230
1231 dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
1232 dnl in the Makefile
1233 CFLAGS=$old_CFLAGS_nospecial
1234 AC_SUBST(SPECIAL_CFLAGS)
1235
1236 AC_SUBST(PTHREAD_LIB)
1237
1238 AC_OUTPUT(GNUmakefile doc/source/ldp.dsl doc/source/GNUmakefile)