merged tag ooo/DEV300_m103
[LibreOffice.git] / configure.in
blobb9fec5b18f25cdc4e17ac3f24234f5dc149c861c
1 dnl /******************************************************************
2 dnl *     vi:set sw=3 ts=3 et:
3 dnl *
4 dnl * Name: configure.in
5 dnl * Auth: Willem van Dorp, Ross Nicholson, Oisin Boydell - Sun Microsystems Ireland
6 dnl * Date: $Date: 2008-09-08 07:38:40 $
7 dnl *
8 dnl * Desc: This file serves as input for the GNU autoconf package
9 dnl *       in order to create a configure script.
10 dnl *       In this stage configure just checks the pre-requisites
11 dnl *       necessary to build OpenOffice.org
12 dnl *
13 dnl *
14 dnl ******************************************************************/
15 AC_REVISION( $Revision: 1.290 $ )
16 AC_PREREQ(2.50)
17 AC_INIT()
18 echo "$@" >config.parms
19 AC_ARG_WITH(gnu-patch,
20 [  --with-gnu-patch        Specify location of GNU patch on Solaris or FreeBSD
21 ],,)
22 AC_ARG_WITH(agg,
23 [  --without-agg           Disable the use of agg altogether
24 ],,with_agg=yes)
25 AC_ARG_WITH(gnu-cp,
26 [  --with-gnu-cp           Specify location of GNU cp on Solaris or FreeBSD
27 ],,)
28 AC_ARG_ENABLE(graphite,
29 [  --enable-graphite       Enables the compilation of Graphite smart font rendering
30 ],,)
31 AC_ARG_WITH(system-graphite,
32 [  --with-system-graphite    use graphite library already installed on system
33 ],,)
34 AC_ARG_ENABLE(ldap,
35 [  --disable-ldap          Disables the use of LDAP backend via Netscape/Mozilla
36                           or OpenLDAP LDAP SDK
37 ],,)
38 AC_ARG_ENABLE(fetch-external,
39 [  --disable-fetch-external Disables fetching external tarballs from web sources.
40 ],,)
41 AC_ARG_WITH(external-tar,
42 [  --with-external-tar=<TARFILE PATH>   Specify path to tarfiles manually ],
43 [ TARFILE_LOCATION="$withval"
45 AC_ARG_WITH(openldap,
46 [  --with-openldap         Enables the use of the OpenLDAP LDAP SDK instead
47                           of the Netscape/Mozilla one
48 ],,)
49 AC_ARG_ENABLE(lockdown,
50 [  --enable-lockdown       Enables the gconf integration work in OOo
51 ],,)
52 AC_ARG_ENABLE(vba,
53 [  --disable-vba           disables the vba compatibility feature
54 ],,)
55 AC_ARG_WITH(vba-package-format,
56 [  --with-vba-package-format   specify package format for vba compatibility api.
57                           Specifying  "builtin" means the api component and 
58                           associated type library are  part of the installation set.
59                           Specifying "extn" creates an uno extension that is
60                           part of the installation set ( located in the program 
61                           directory ) that MUST be optionly registered using
62                           either the unopkg executeable or the extension manager
63                           gui.
64                          
65                           Note: "builtin" is the default, "extn" can cause
66                           problems.
67                           Usage: --with-vba-package-format="builtin" or
68                                  --with-vba-package-format="extn"
69 ],,)              
70 AC_ARG_ENABLE(pch,
71 [  --enable-pch            EXPERIMENTAL: Enables precompiled header support for C++.
72 ],,)
73 AC_ARG_ENABLE(mozilla,
74 [  --disable-mozilla       OO.o usually includes a strangely hacked up mozilla
75                           binary for your platform, to build without this
76                           version, use this option.
77 ],,enable_mozilla="yes")
78 AC_ARG_WITH(fonts,
79 [  --without-fonts         OOo includes some third-party fonts to provide a reliable
80                           basis for help content, templates, samples, etc.
81                           When these fonts are already known to be available on the
82                           system then you should use this option.
83 ],,)
84 AC_ARG_WITH(ppds,
85 [  --without-ppds          Removes Postscript Printer definition files from
86                           openoffice.org installation set, for people building
87                           for specific distributions where PPDs are known to be
88                           already available (every recent distro with CUPS
89                           backend)
90 ],,)
91 AC_ARG_WITH(afms,
92 [  --without-afms          Removes bitmap font files from openoffice.org
93                           installation set, for people building for specific
94                           distributions where AFM files or TrueType Fonts
95                           are known to be available.
96 ],,)
97 AC_ARG_ENABLE(epm,
98 [  --disable-epm           OO.o includes self-packaging code, that requires
99                           epm, however epm is useless for large scale
100                           package building.
101 ],,enable_epm="yes")
102 AC_ARG_WITH(epm,
103 [  --with-epm             Decides which epm to use. Default is to use
104                           the one from the system if one is built. When
105                           either this is not there or you say =internal
106                           epm will be built.
107 ],,)
108 AC_ARG_WITH(package-format,
109 [  --with-package-format   specify package format(s) for OOo installsets.
110                           Default is "normal" one of the OS/Distribution.
112                           Usage: --with-package-format="foo bar"
113 ],,)                   
114 AC_ARG_ENABLE(odk,
115 [  --disable-odk           OO.o includes an ODK, office development kit
116                           which some packagers may with to build without
117 ],,enable_odk="yes")
118 AC_ARG_ENABLE(mathmldtd,
119 [  --disable-mathmldtd     disable mathmldtd
120                           (useful for distributions that want to avoid packaging
121                           it)
122 ],,enable_mathmldtd="yes")
123 AC_ARG_ENABLE(evolution2,
124 [  --enable-evolution2     Allows the built-in evolution 2 addressbook
125                           connectivity build to be enabled.
126 ],,)
127 AC_ARG_WITH(system-stdlibs,
128 [  --with-system-stdlibs   use libstdc++/libgcc_s already on system
129 ],,)
130 AC_ARG_ENABLE(cups,
131 [  --disable-cups          disable cups support in the psprint project
132 ],,enable_cups=yes)
133 AC_ARG_ENABLE(fontconfig,
134 [  --disable-fontconfig    disable support for the fontconfig library
135 ],,enable_fontconfig=yes)
136 AC_ARG_ENABLE(directx,
137 [  --disable-directx       Remove DirectX implementation for the new XCanvas
138                           interface. The DirectX support requires more stuff
139                           installed on Windows to compile.
140                           (DirectX SDK, GDI+ libs)
141 ],,enable_directx=yes)
142 AC_ARG_ENABLE(activex,
143 [  --disable-activex       Disable the use of ActiveX for windows build.
144                           This switch is mandatory when using VC++ 2005/2008 Express.
145 ],,)
147 AC_ARG_ENABLE(atl,
148 [  --disable-atl          Disable the use of ATL for windows build.
149                           This switch is mandatory when using VC++ 2005/2008 Express.
150 ],,)
152 AC_ARG_ENABLE(symbols,
153 [  --enable-symbols        Include debugging symbols in output.
154                           WARNING - a complete build needs 8 Gb of space and
155                           takes much longer. (enables -g compiler flag)
157                           --enable-symbols=SMALL sets the gcc -g1 setting
158                           which is smaller.
160                           Enabling symbols disables the stripping of the solver
161                           (--disable-strip-solver).
162 ],,)
163 AC_ARG_ENABLE(strip-solver,
164 [  --disable-strip-solver  Disable the stripping of the solver.
165                           By default the solver is stripped unless a build with
166                           debugging symbols (--enable-symbols) is requested.
168                           This switch allows to override this setting.
169 ],,)
170 AC_ARG_ENABLE(werror,
171 [  --enable-werror         Turn warnings to errors. (Has no effect in modules
172                           where the treating of warnings as errors is disabled
173                           explicitely)
174 ],,)
175 AC_ARG_ENABLE(debug,
176 [  --enable-debug          Include debugging symbols from --enable-symbols
177                           plus extra debugging code.  Extra large build!
178                           (enables -g compiler flag and dmake debug=true)
179 ],,)
180 AC_ARG_ENABLE(dbgutil,
181 [  --enable-dbgutil        Include additional debugging utilities, such as
182                           assertions, object counting, etc. Larger build.
183                           Independent from --enable-debug
184 ],,)
185 AC_ARG_ENABLE(crashdump,
186 [  --enable-crashdump      Enable the crashdump feature code.
187 ],,)
188 AC_ARG_ENABLE(cl-standard,
189 [  --enable-cl-standard    For Microsoft C/C++ compiler users, use non-optimizing
190                           standard compiler. ( This just disavles optimization
191                           options and therefore removes a lot of warnings when
192                           using the cheaper standard compiler. )
193 ],,)
194 AC_ARG_ENABLE(gtk,
195 [  --disable-gtk           Determines whether to use Gtk+ vclplug on platforms
196                           where Gtk+ is available.
197 ],,enable_gtk=yes)
198 AC_ARG_ENABLE(gstreamer,
199 [  --disable-gstreamer     Determines whether to use the GStreamer media
200                           backend on platforms where GStreamer is available.
201 ],,enable_gstreamer=yes)
202 AC_ARG_ENABLE(systray,
203 [  --disable-systray       Determines whether to build the systray quickstarter.
204 ],,enable_systray=yes)
205 AC_ARG_ENABLE(cairo,
206 [  --enable-cairo          Determines whether to use Cairo library on
207                           platforms where Cairo is available.
208 ],,enable_cairo=no)
209 AC_ARG_WITH(system-cairo,
210 [  --with-system-cairo      Use Cairo libraries already on system
211 ],,)
212 AC_ARG_ENABLE(opengl,
213 [  --enable-opengl         Determines whether to build the OpenGL 3D slide 
214                           transitions component
215 ],,enable_opengl=no)
216 AC_ARG_ENABLE(dbus,
217 [  --enable-dbus           Determines whether to enable presentation mode 
218                           screensaver control under GNOME via DBUS 
219 ],,enable_dbus=no)
220 AC_ARG_ENABLE(gconf,
221 [  --disable-gconf         Determines whether to use the GConf support
222 ],,enable_gconf=yes)
223 AC_ARG_ENABLE(gnome-vfs,
224 [  --disable-gnome-vfs     Determines whether to use the Gnome Virtual Filing
225                           System on platforms where that VFS is available
226 ],,enable_gnome_vfs=yes)
227 AC_ARG_ENABLE(gio,
228 [  --enable-gio            Determines whether to use the GIO support
229 ],,enable_gio=no)
230 AC_ARG_ENABLE(static-gtk,
231 [  --enable-static-gtk     Modules that are linked against gtk libraries use
232                           the static libraries instead of the dynamic ones. 
233                           (enables -Bstatic linker flag for gtk libraries)
234 ],,)
235 AC_ARG_ENABLE(layout,
236 [  --enable-layout         Enable the compilation and use of layout dialogs
237 ],,)
238 AC_ARG_ENABLE(build-mozilla,
239 [  --disable-build-mozilla Use this option if you do not want to build the
240                           mozilla components from the mozilla source code but
241                           take precompiled zips
242 ],,)
243 AC_ARG_WITH(mozilla-version,
244 [  --with-mozilla-version  Choose which version of mozilla to use while building
245                           mozilla. Default: 1.7.5.
246                           Note that not all versions are supported.
247 ],,)
248 AC_ARG_WITH(mozilla-toolkit,
249 [  --with-mozilla-toolkit  Choose which GUI toolkit to use while building mozilla
250                           components. Default: gtk2
251 ],,)
252 AC_ARG_ENABLE(nss_module,
253 [  --disable-nss-module    Whether to use provided NSS module     
254 ],,enable_nss_module=yes)
255 AC_ARG_ENABLE(kde,
256 [  --enable-kde            Determines whether to use Qt/KDE vclplug on platforms
257                           where Qt and KDE are available.
258 ],,)
259 AC_ARG_ENABLE(kdeab,
260 [  --disable-kdeab         Disable the KDE address book support
261 ],,if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi)
262 AC_ARG_ENABLE(kde4,
263 [  --enable-kde4            Determines whether to use Qt4/KDE4 vclplug on platforms
264                           where Qt4 and KDE4 are available. May be used with --enable-kde 
265                           if you want to support both KDE3 and KDE4.
266 ],,)
267 AC_ARG_ENABLE(binfilter,
268 [  --disable-binfilter     Disable legacy binary file formats filters
269 ],,if ! test -d ./binfilter; then enable_binfilter=no; fi)
270 AC_ARG_ENABLE(rpath,
271 [  --disable-rpath         Disable the use of relative paths in shared libraries
272 ],,)
273 AC_ARG_ENABLE(pam,
274 [  --disable-pam           Disable pam support.
275 ],,)
276 AC_ARG_ENABLE(pam-link,
277 [  --enable-pam-link       link with libpam instead of dynamically open it
278 ],,)
279 AC_ARG_ENABLE(crypt-link,
280 [  --disable-crypt-link    disable linking with libcrypt instead of dynamically
281                           open it (needed for ancient GNU/Linux distributions
282                           without crypt()/libcrypt)
283 ],,enable_crypt_link=yes)
284 AC_ARG_ENABLE(xrender-link,
285 [  --enable-xrender-link   link with libXrender instead of dynamically open it
286 ],,)
287 AC_ARG_ENABLE(randr,
288 [  --disable-randr         disable RandR support in the vcl project
289 ],,enable_randr=yes)
290 AC_ARG_ENABLE(randr-link,
291 [  --disable-randr-link    disable linking with libXrandr, instead dynamically 
292                            open it at runtime
293 ],,enable_randr_link=yes)
294 AC_ARG_WITH(myspell-dicts,
295 [  --without-myspell-dicts Removes myspell dictionaries from openoffice.org
296                           installation set, for people building for specific
297                           distributions where the myspell dictionaries are
298                           installed from other sources
299 ],,)
300 AC_ARG_WITH(system-dicts,
301 [  --with-system-dicts    Use dictionaries from system paths- Specify
302                          them via --with-{dict,hyph,thes}-path=/path
303                          if you want to override the default ones
304 ],,)
305 AC_ARG_WITH(external-dict-dir,
306 [  --with-external-dict-dir Specify external dictionary dir
307 ],,)
308 AC_ARG_WITH(external-hyph-dir,
309 [  --with-external-hyph-dir Specify external hyphenation pattern dir
310 ],,)
311 AC_ARG_WITH(external-thes-dir,
312 [  --with-external-thes-dir Specify external thesaurus dir
313 ],,)
314 AC_ARG_WITH(system-libs,
315 [  --with-system-libs      Use libs already on system -- enables all
316                           --with-system-* flags except mozilla and
317                           odbc/sane/xrender-header(s)
318 ],,)
319 AC_ARG_WITH(system-headers,
320 [  --with-system-headers   Use headers already on system -- enables all
321                           --with-system-* flags for external packages
322                           whose headers are the only entities used i.e.
323                           boost/vigra/odbc/sane/xrender-header(s)
324 ],,)
325 AC_ARG_WITH(system-jars,
326 [  --without-system-jars   When building with --with-system-libs, also the
327                           needed jars are expected on the system. Use this to
328                           disable that. 
329                           (except for the db case where --with-system-db
330                           *has to* imply using the db.jar from there, too)
331 ],,)
332 AC_ARG_WITH(system-zlib,
333 [  --with-system-zlib      Use zlib already on system
334 ],,)
335 AC_ARG_WITH(system-openssl,
336 [  --with-system-openssl   Use OpenSSL already on system
337 ],,)
338 AC_ARG_WITH(system-jpeg,
339 [  --with-system-jpeg      Use jpeg already on system
340 ],,)
341 AC_ARG_WITH(system-expat,
342 [  --with-system-expat     Use expat already on system
343 ],,)
344 AC_ARG_WITH(system-libwpd,
345 [  --with-system-libwpd    Use libwpd already on system
346 ],,)
347 AC_ARG_WITH(system-libxml,
348 [  --with-system-libxml    Use libxml already on system
349 ],,)
350 AC_ARG_WITH(system-python,
351 [  --with-system-python    Use python already on system
352 ],,)
353 AC_ARG_WITH(system-icu,
354 [  --with-system-icu       Use icu already on system
355 ],,)
356 AC_ARG_WITH(system-poppler,
357 [  --with-system-poppler   Use poppler already on system
358 ],,)
359 AC_ARG_WITH(system-db,
360 [  --with-system-db        Use berkeley db already on system
361 ],,)
362 AC_ARG_WITH(system-lucene,
363 [  --with-system-lucene    Use lucene already on system
364 ],,)
365 AC_ARG_WITH(lucene-core-jar,
366 [  --with-lucene-core-jar=JARFILE   Specify path to jarfile manually ],
367 [ LUCENE_CORE_JAR="$withval"
369 AC_ARG_WITH(lucene-analyzers-jar,
370 [  --with-lucene-analyzers-jar=JARFILE   Specify path to jarfile manually ],
371 [ LUCENE_ANALYZERS_JAR="$withval"
373 AC_ARG_ENABLE(mysql-connector,
374 [  --enable-mysql-connector     enables the build of the MySQL Connector/OOo extension.
375                                 This requires access to the MySQL Connector/C (aka libmysql) to be given, too, with
376                                 either the --with-system-mysql or --with-libmysql-path option.
377 ],,)
378 AC_ARG_WITH(system-mysql,
379 [  --with-system-mysql          Use MySQL libraries already on system, for building the MySQL Connector/OOo extension.
380                                 Requires MYSQLCONFIG to point to the mysql_config executable.
381 ],,)
382 AC_ARG_WITH(libmysql-path,
383 [  --with-libmysql-path         Use Connector/C (libmysql) installation for building the MySQL Connector/OOo extension.
385                                 Usage: --with-libmysql-path=<absolute path to your Connector/C installation>
386 ],,)
387 AC_ARG_WITH(system-mysql-cppconn,
388 [  --with-system-mysql-cppconn  Use MySQL C++ Connector libraries already on system
389 ],,)
390 AC_ARG_WITH(system-hsqldb,
391 [  --with-system-hsqldb    Use hsqldb already on system
392 ],,)
393 AC_ARG_WITH(hsqldb-jar,
394 [  --with-hsqldb-jar=JARFILE   Specify path to jarfile manually ],
395 [ HSQLDB_JAR="$withval"
397 AC_ARG_WITH(system-beanshell,
398 [  --with-system-beanshell Use beanshell already on system
399 ],,)
400 AC_ARG_WITH(beanshell-jar,
401 [  --with-beanshell-jar=JARFILE   Specify path to jarfile manually ],
402 [ BSH_JAR="$withval"
404 AC_ARG_ENABLE(presenter-extra-ui,
405 [  --enable-presenter-extra-ui   enables extra functionality during slideshow,
406                                  e.g. selecting pen color, erasing drawings etc.
407 ],,enable_presenter_extra_ui=no)
408 AC_ARG_ENABLE(minimizer,
409 [  --enable-minimizer          enables the build of the Presentation Minimizer extension
410 ],,)
411 AC_ARG_ENABLE(presenter-console,
412 [  --enable-presenter-console          enables the build of the Presenter Console extension
413 ],,)
414 AC_ARG_ENABLE(pdfimport,
415 [  --enable-pdfimport          enables the build of the PDF Import extension and xpdf
416 ],,)
417 AC_ARG_ENABLE(wiki-publisher,
418 [  --enable-wiki-publisher      enables the build of the Wiki Publisher extension
419 ],,)
420 AC_ARG_WITH(commons-codec-jar,
421 [  --with-commons-codec-jar=JARFILE   Specify path to jarfile manually ],
422 [ COMMONS_CODEC_JAR="$withval"
424 AC_ARG_WITH(commons-lang-jar,
425 [  --with-commons-lang-jar=JARFILE   Specify path to jarfile manually ],
426 [ COMMONS_LANG_JAR="$withval"
428 AC_ARG_WITH(commons-httpclient-jar,
429 [  --with-commons-httpclient-jar=JARFILE   Specify path to jarfile manually ],
430 [ COMMONS_HTTPCLIENT_JAR="$withval"
432 AC_ARG_WITH(commons-logging-jar,
433 [  --with-commons-logging-jar=JARFILE   Specify path to jarfile manually ],
434 [ COMMONS_LOGGING_JAR="$withval"
436 AC_ARG_WITH(servlet-api-jar,
437 [  --servlet-api-jar=JARFILE   Specify path to jarfile manually ],
438 [ SERVLETAPI_JAR="$withval"
440 AC_ARG_ENABLE(report-builder,
441 [  --enable-report-builder  enables the build of the Report Builder extension
442 ],,)
443 AC_ARG_WITH(system-jfreereport,
444 [  --with-system-jfreereport      Use JFreeReport already on system
445 ],,)
446 AC_ARG_WITH(sac-jar,
447 [  --with-sac-jar=JARFILE   Specify path to jarfile manually ],
448 [ SAC_JAR="$withval"
450 AC_ARG_WITH(libxml-jar,
451 [  --with-libxml-jar=JARFILE   Specify path to jarfile manually ],
452 [ LIBXML_JAR="$withval"
454 AC_ARG_WITH(flute-jar,
455 [  --with-flute-jar=JARFILE   Specify path to jarfile manually ],
456 [ FLUTE_JAR="$withval"
458 AC_ARG_WITH(jfreereport-jar,
459 [  --with-jfreereport-jar=JARFILE   Specify path to jarfile manually ],
460 [ JFREEREPORT_JAR="$withval"
462 AC_ARG_WITH(liblayout-jar,
463 [  --with-liblayout-jar=JARFILE   Specify path to jarfile manually ],
464 [ LIBLAYOUT_JAR="$withval"
466 AC_ARG_WITH(libloader-jar,
467 [  --with-libloader-jar=JARFILE   Specify path to jarfile manually ],
468 [ LIBLOADER_JAR="$withval"
470 AC_ARG_WITH(libloader-jar,
471 [  --with-libloader-jar=JARFILE   Specify path to jarfile manually ],
472 [ LIBLOADER_JAR="$withval"
474 AC_ARG_WITH(libformula-jar,
475 [  --with-libformula-jar=JARFILE   Specify path to jarfile manually ],
476 [ LIBFORMULA_JAR="$withval"
478 AC_ARG_WITH(librepository-jar,
479 [  --with-librepository-jar=JARFILE   Specify path to jarfile manually ],
480 [ LIBREPOSITORY_JAR="$withval"
482 AC_ARG_WITH(libfonts-jar,
483 [  --with-libfonts-jar=JARFILE   Specify path to jarfile manually ],
484 [ LIBFONTS_JAR="$withval"
486 AC_ARG_WITH(libserializer-jar,
487 [  --with-libserializer-jar=JARFILE   Specify path to jarfile manually ],
488 [ LIBSERIALIZER_JAR="$withval"
490 AC_ARG_WITH(libbase-jar,
491 [  --with-libbase-jar=JARFILE   Specify path to jarfile manually ],
492 [ LIBBASE_JAR="$withval"
494 AC_ARG_WITH(system-saxon,
495 [  --with-system-saxon     Use saxon already on system
496 ],,)
497 AC_ARG_WITH(saxon-jar,
498 [  --with-saxon-jar=JARFILE   Specify path to jarfile manually ],
499 [ SAXON_JAR="$withval"
501 AC_ARG_WITH(system-libxslt,
502 [  --with-system-libxslt   Use libxslt already on system
503 ],,)
504 AC_ARG_WITH(system-odbc,
505 [  --with-system-odbc-headers     Use the odbc headers already on system
506 ],,)
507 AC_ARG_WITH(system-sane,
508 [  --with-system-sane-header      Use sane.h already on system
509 ],,)
510 AC_ARG_WITH(system-xrender,
511 [  --with-system-xrender-headers  Use XRender headers already on system
512 ],,)
513 AC_ARG_WITH(system-curl,
514 [  --with-system-curl      Use curl already on system
515 ],,)
516 AC_ARG_WITH(system-boost,
517 [  --with-system-boost     Use boost already on system
518 ],,)
519 AC_ARG_WITH(system-mdds,
520 [  --with-system-mdds      Use mdds already on system
521 ],,)
522 AC_ARG_WITH(system-vigra,
523 [  --with-system-vigra     Use vigra already on system
524 ],,)
525 AC_ARG_ENABLE(neon,
526 [  --disable-neon          Disable neon and the compilation of webdav binding
527 ],,)
528 AC_ARG_ENABLE(Xaw,
529 [  --disable-Xaw           Disables the use of Xaw for the Netscape/Mozilla
530                            plugin
531 ],,)
532 AC_ARG_WITH(system-neon,
533 [  --with-system-neon      Use neon already on system
534 ],,)
535 AC_ARG_WITH(system-agg,
536 [  --with-system-agg       Use AGG already on system
537 ],,)
538 AC_ARG_WITH(system-hunspell,
539 [  --with-system-hunspell   Use libhunspell already on system
540 ],,)
541 AC_ARG_WITH(system-mythes,
542 [  --with-system-mythes    Use mythes already on system
543 ],,)
544 AC_ARG_WITH(system-altlinuxhyph,
545 [  --with-system-altlinuxhyph    Use ALTLinuxhyph already on system
546 ],,)
547 AC_ARG_WITH(system-lpsolve,
548 [  --with-system-lpsolve         Use lpsolve already on system
549 ],,)
550 AC_ARG_WITH(system-libtextcat,
551 [  --with-system-libtextcat      Use libtextcat already on system
552 ],,)
553 AC_ARG_WITH(external-libtextcat-data,
554 [  --with-system-libtextcat-data Use libtextcat data already on system
555 ],,)
556 AC_ARG_WITH(system-cppunit,
557 [  --with-system-cppunit         Use cppunit already on system
558 ],,)
559 AC_ARG_WITH(system-redland,
560 [  --with-system-redland   Use redland library already on system
561 ],,)
562 AC_ARG_WITH(system-mozilla,
563 [  --with-system-mozilla   Use mozilla already on system. Note that some
564                           components cannot be built against a contemporary
565                           mozilla. The flavour used can be specified by
566                           --with-system-mozilla=<flavour>. Supported are:
567                           libxul (default), xulrunner, firefox, seamonkey,
568                           mozilla
569 ], WITH_SYSTEM_MOZILLA=$withval, WITH_SYSTEM_MOZILLA=no)
570 AC_ARG_WITH(stlport,
571 [  --with-stlport         The location that STLport is installed in. The STL
572                           header files are assumed to be in
573                           stlport-home/stlport and the STLPort library in
574                           stlport-home/lib.
576                           Usage: --with-stlport=<absolute path to stlport home>
578                           Warning!!, disabling using --without-stlport or 
579                           enabling using --with-stlport on a platform that
580                           defaults to the opposite will break ABI compatability
581 ], WITH_STLPORT=$withval , WITH_STLPORT=auto)
582 AC_ARG_WITH(jdk-home,
583 [  --with-jdk-home         if you have installed JDK 1.3 or later on your system
584                           please supply the path here.
585                           Note that this is not the location of the Java binary
586                           but the location of the entire distribution.
588                           Usage: --with-jdk-home=<absolute path to JDK home>
589 ],,)
590 AC_ARG_WITH(gxx_include_path,
591 [  --with-gxx-include-path if you want to override the autodetected g++ include
592                           path.
594                           Usage: --with-gxx-include-path=<absolute path to g++ include dir>
595 ],,)
596 AC_ARG_WITH(java,
597 [  --with-java             Build with[[out]] Java support.  If you use
598                           --without-java/--with-java=no then the build will have
599                           no support for Java components, applets, accessibility
600                           or XML filters. 
601 ], if test "$withval" = "yes"; then WITH_JAVA=java; else WITH_JAVA=$withval; fi, WITH_JAVA=java)
602 AC_ARG_ENABLE(gcjaot,
603 [  --enable-gcjaot         Build with[[out]] using Ahead of Time java compilation
604                           support to speed up buildsi by compiling the jars also
605                           to native code..
606                           --enable-gcjaot is only known to work with bytecode
607                           created with gcj or ecj
608 ],,)
609 AC_ARG_WITH(ant-home,
610 [  --with-ant-home         If you have installed Jakarta Ant on your system,
611                           please supply the path here.
612                           Note that this is not the location of the Ant binary
613                           but the location of the entire distribution.
615                           Usage: --with-ant-home=<absolute path to Ant home>
616 ],,)
617 AC_ARG_WITH(junit,
618 [  --with-junit            Specifies the JUnit 4 jar file to use for JUnit-based
619                           tests.  --without-junit disables those tests.  Not
620                           relevant in the --without-java case.
622                           Usage: --with-junit=<absolute path to JUnit 4 jar>
623 ],,with_junit=yes)
624 AC_ARG_WITH(perl-home,
625 [  --with-perl-home        If you have installed the Perl 5 Distribution, on your
626                           system, please supply the path here.
627                           Note that this is not the location of the Perl binary
628                           but the location of the entire distribution.
630                           Usage: --with-perl-home=<absolute path to Perl 5 home>
631 ],,)
632 AC_ARG_WITH(cl-home,
633 [  --with-cl-home          For Windows NT users, please supply the path
634                           for the Microsoft C/C++ compiler. 
635                           Note that this is not the location of the compiler
636                           binary but the location of the entire distribution.
638                           Usage: --with-cl-home=<absolute path to Microsoft C/C++ compiler home>
639 ],,)
640 AC_ARG_WITH(mspdb-path,
641 [  --with-mspdb-path       For Microsoft C/C++ compiler users, please supply the
642                           path pointing to the mspdb71.dll (.NET 2003).
644                           Usage: --with-mspdb-path=<absolute path to mspdb71.dll>
645 ],,)
646 AC_ARG_WITH(midl-path,
647 [  --with-midl-path        For Microsoft C/C++ .NET compiler users, please supply
648                           the path pointing to the midl.exe.
650                           Usage: --with-midl-path=<absolute path to midl.exe>
651 ],,)
652 AC_ARG_WITH(csc-path,
653 [  --with-csc-path         For Microsoft C/C++ .NET compiler users, please supply
654                           the path pointing to the csc.exe.
656                           Usage: --with-csc-path=<absolute path to csc.exe>
657 ],,)
658 AC_ARG_WITH(nsis-path,
659 [  --with-nsis-path        For Windows users, please supply the path to the
660                           "Nullsoft Scriptable Install System" (NSIS). If NSIS
661                           is found in the path or this option is supplied a self
662                           contained executable installer for OpenOffice.org will
663                           be created.
665                           Usage: --with-nsis-path=<absolute path to nsis.exe>
666 ],,)
667 AC_ARG_WITH(frame-home,
668 [  --with-frame-home       For Microsoft C/C++ .NET compiler users, please supply
669                           the path pointing to lib/mscoree.lib, usually
670                           something like:
671                           "/cygdrive/c/Program Files/Microsoft Visual Studio .NET/FrameworkSDK"
673                           MS Visual Toolkit compiler users, please supply the
674                           path pointing to lib/msvcrt.lib, usually something
675                           like:
676                           "/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Vc7"
678                           Usage: --with-frame-home=<absolute path to Framework SDK [[home]]>
679 ],,)
680 AC_ARG_WITH(psdk-home,
681 [  --with-psdk-home        For Windows users, please supply the path to the
682                           Microsoft Platform SDK.
684                           Usage: --with-psdk-home=<absolute path to Microsoft Platform SDK>
685 ],,)
686 AC_ARG_WITH(directx-home,
687 [  --with-directx-home     For Windows users, please supply the path to the
688                           Microsoft DirectX SDK.
690                           Usage: --with-directx-home=<absolute path to Microsoft DirectX SDK>
691 ],,)
692 AC_ARG_WITH(mozilla-build,
693 [  --with-mozilla-build    For Windows users, please supply the path to the
694                           mozilla build tools.
696                           Usage: --with-mozilla-build=<absolute path to mozilla build tools>
698                                                   At the moment of this writing, an installer for the mozilla build tools
699                                                   can be obtained from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32.
700 ],[MOZILLABUILD=$withval],)
701 AC_ARG_WITH(local-solenv,
702 [  --with-local-solenv     If you have solenv in a location other than ./solenv,
703                           please supply the path here.
705                           Usage: --with-local-solenv=<absolute path to solenv>
706 ],,)
707 AC_ARG_WITH(local-solver,
708 [  --with-local-solver     if you have solver in a location other than ./solver,
709                           please supply the path here.
711                           Usage: --with-local-solver=<absolute path to solver>
712 ],,)
713 AC_ARG_ENABLE(check-only,
714 [  --enable-check-only     Use this option option if you just want to check your
715                           environment.  This option stops the generation of an 
716                           ????env.set
718                           Usage: --enable-check-only=yes
719 ],,)
720 AC_ARG_ENABLE(ccache-skip,
721 [[  --enable-ccache-skip    [default=auto] allow the use of --ccache-skip to 
722                           escape compiler flags that would otherwise prevent 
723                           caching of the result (currently used on Mac only)
724                           NOTE: requires patched version because of a bug in
725                           ccache (see issue 104567 for details and patch) 
726                           explicitly enable if your version of ccache doesn't 
727                           identify as version 2.4_OOo
728 ]],,enable_ccache_skip=auto)
729 AC_ARG_WITH(lang,
730 [  --with-lang             Use this option to build OpenOffice.org with
731                           additional language support. English (US) is always
732                           included by default. Separate multiple languages with
733                           space. For all languages, use --with-lang=ALL.
735                           Usage: --with-lang="es sw tu cs sk"
736 ],,)
737 AC_ARG_WITH(poor-help-localizations,
738 [  --with-poor-help-localizations
739                            Use this option to specify which languages have
740                           unusable help localizations. Separate multiple
741                           languages with space.
743                           Usage: --with-poor-help-localizations="af ar be-BY ca"
744 ],,)
745 AC_ARG_WITH(dict,
746 [  --with-dict             Use this option to build OpenOffice.org with
747                           dictionary support. ALL dictionaries are always
748                           included by default unless overridden with
749                           this option. Separate multiple dictionaries with
750                           commas. For all dictionaries, use --with-dict=ALL.
752                           Usage: --with-dict=ENGB,ENUS,ITIT
753 ],,)
754 AC_ARG_WITH(intro-bitmaps,
755 [  --with-intro-bitmaps    Prefer the specified intro bitmaps over the
756                           the default one.  Can be more than one (separated by
757                           commas), the order means priority of fallback if the
758                           first does not exist (in the installed tree).
760                           Usage: --with-intro-bitmaps=/path/my_ooo_intro.bmp
761 ],,)
762 AC_ARG_WITH(about-bitmaps,
763 [  --with-about-bitmaps    Similarly to --with-intro-bitmaps, this allows
764                           specification of bitmaps for the About box.
766                           Usage: --with-about-bitmaps=/path/my_ooo_about.bmp
767 ],,)
768 AC_ARG_WITH(vendor,
769 [  --with-vendor           Set vendor of the build.
771                           Usage: --with-vendor="John the Builder"
772 ],,)
773 AC_ARG_WITH(unix-wrapper,
774 [  --with-unix-wrapper    Redefines the name of the UNIX wrapper that will be used
775                           in the desktop files and in the desktop-integration RPMs.
777                           Usage: --with-unix-wrapper=ooffice
778 ],,)
779 AC_ARG_WITH(asm-home,
780 [  --with-asm-home         For Windows users, please supply the path for the
781                           ml.exe assembler.
783                           Usage: --with-asm-home=<path to ml.exe directory>
784 ],,)
785 AC_ARG_WITH(os-version,
786 [  --with-os-version       For FreeBSD users, use this option option to override
787                           the detected OSVERSION.
789                           Usage: --with-os-version=<OSVERSION>
790 ],,)
791 AC_ARG_WITH(unzip-home,
792 [  --with-unzip-home       Deprecated: use --with-zip-home instead],,)
793 AC_ARG_WITH(zip-home,
794 [  --with-zip-home         If you use a non standard zip, for example windows
795                           please supply the path for zip
797                           Usage: --with-zip-home=<path to zip executable>
798 ],,)
799 AC_ARG_WITH(mingwin,
800 [  --with-mingwin          For Windows users, use the mingwin32 compiler within
801                           cygwin environment
803                           Usage: --with-mingwin=yes
805                           For !Windows use, use the mingw32 C++ compiler to
806                           (re-) build unowinreg.dll. Specify the MinGW C++
807                           Compilers name.
809                           Usage: --with-mingwin=i586-mingw32msvc-g++
810 ],WITH_MINGWIN=$withval,WITH_MINGWIN=0)
811 AC_ARG_WITH(build-version,
812 [  --with-build-version    Allows the builder to add a custom version tag
813                           that will appear in the Help/About box for QA
814                           purposes.
816                           Usage: --with-build-version="Built by Jim"
817 ],with_build_version=$withval)
818 AC_ARG_WITH(alloc,
819 [  --with-alloc            Define which allocator to build with
820                           (choices are oo, system, tcmalloc, jemalloc)
822                           Note that on FreeBSD/NetBSD system==jemalloc
823 ],,)
824 AC_ARG_ENABLE(verbose,
825 [  --enable-verbose        Increase build verbosity.
826   --disable-verbose       Decrease build verbosity.
827 ],,)
828 AC_ARG_ENABLE(dependency-tracking,
829 [  --disable-dependency-tracking  Disables generation of dependency information.
830 ],,)
832 BUILD_TYPE="OOo"
834 dnl ===================================================================
835 dnl Message.
836 dnl ===================================================================
837 echo "********************************************************************"
838 echo "*                                                                  *"
839 echo "*   OpenOffice.org build configuration.                            *"
840 echo "*                                                                  *"
841 echo "*   The configure process checks your platform to see whether      *"
842 echo "*   you can build OpenOffice.org on it.                            *"
843 echo "*   This process checks all pre-requisites and generates a file    *"
844 echo "*   containing the necessary environment variables.                *"
845 echo "*   Source this file after configure has ended successfully.       *"
846 echo "*                                                                  *"
847 echo "*   Any warning that is generated during the configure process     *"
848 echo "*   must be taken into account since it can be a reason for        *"
849 echo "*   an unsuccessful build of OpenOffice.org                        *"
850 echo "*                                                                  *"
851 echo "********************************************************************"
852 echo ""
853 echo "********************************************************************"
854 echo "*                                                                  *"
855 echo "*   Checking the platform pre-requisites.                          *"
856 echo "*                                                                  *"
857 echo "********************************************************************"
858 echo ""
859 dnl ===================================================================
860 dnl Configure pre-requisites.
861 dnl ===================================================================
862 cat /dev/null > warn
863 AC_PROG_EGREP
864 AC_PROG_AWK
865 AC_PATH_PROG( AWK, $AWK)
866 if test -z "$AWK"; then
867    AC_MSG_ERROR([install awk to run this script])
870 AC_PATH_PROGS(SED, sed )
871 if test -z "$SED"; then
872    AC_MSG_ERROR([install sed to run this script])
875 AC_MSG_CHECKING([for solenv environment])
876 if test -z "$with_local_solenv"; then
877    LOCAL_SOLENV="DEFAULT"
878    AC_MSG_RESULT([default])
879 else
880    LOCAL_SOLENV=$with_local_solenv
881    AC_MSG_RESULT([$with_local_solenv])
883 AC_SUBST(LOCAL_SOLENV)
885 if test "$LOCAL_SOLENV" = "DEFAULT"; then 
886   _solenv="./solenv"
887 else
888   _solenv="$LOCAL_SOLENV"
890 AC_SUBST(_solenv)
892 if test -e $_solenv/inc/minor.mk; then
893    # Get UPD number from ./solenv/inc/minor.mk
894    UPD="`grep RSCVERSION= $_solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`"
895    AC_SUBST(UPD)
896    SOURCEVERSION="`grep SOURCEVERSION= $_solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`"
897    AC_SUBST(SOURCEVERSION)
898 else
899    AC_MSG_ERROR([$_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation...])
902 dnl ===================================================================
903 dnl Checks for the operating system and processor.
904 dnl ===================================================================
905 AC_CANONICAL_SYSTEM
906 if test "$build" != "$host" -o "$build" != "$target" \
907   -o "$host" != "$target"; then
908         AC_MSG_WARN([cross-compiling by any means is not supported (yet)!])
909         echo "cross-compiling by any means is not supported (yet)!" >> warn
912 if echo "$build_os" | grep cygwin; then
913    AC_MSG_CHECKING([Cygwin version])
914    CygwinVer=`uname -r`
915    AC_MSG_RESULT([$CygwinVer])
916    if test "`echo $CygwinVer | $AWK -F . '{ print $1$2 }'`" -lt "15"; then
917       AC_MSG_ERROR([You need at least Cygwin V1.5.x])
918    fi
919 else
920    CygwinVer="false"
923 dnl ===================================================================
924 dnl The following is a list of supported systems.
925 dnl Sequential to keep the logic very simple
926 dnl These values may be checked and reset later.
927 dnl ===================================================================
928 case "$build_os" in
929         solaris*)
930                 test_gtk=yes
931                 test_cairo=yes
932                 test_kde=yes
933                 test_cups=yes
934         test_randr=yes
935                 test_freetype=yes
936         test_gstreamer=yes
937                 _os=SunOS
938                 AC_PATH_PROG( GNUTAR, gtar,,$PATH:/usr/sfw/bin)
939                 if test -z "$GNUTAR"; then
940                         AC_MSG_ERROR([gtar (gnu tar) not found but needed. Install it (SUN Freeware package).])
941                 fi
942                 AC_SUBST(GNUTAR)
944                 dnl ===========================================================
945                 dnl check whether we're using solaris 6,7,8 - sparc or intel.
946                 dnl ===========================================================
947                 AC_MSG_CHECKING([the Solaris operating system release])
948                 _os_release=`echo $build_os | $SED -e s/solaris2\.//`
949                 if test "$_os_release" -lt "6"; then
950                         AC_MSG_ERROR([use solaris >= 6 to build OpenOffice.org])
951                 else
952                         AC_MSG_RESULT([ok ($_os_release)])
953                 fi
955                 dnl check whether we're using a sparc or i386 processor
956                 AC_MSG_CHECKING([the processor type])
957                 if test "$build_cpu" = "sparc" -o "$build_cpu" = "i386"; then
958                         AC_MSG_RESULT([ok ($build_cpu)])
959                 else
960                         AC_MSG_ERROR([only sparc and i386 processors are supported])
961                 fi
962                 ;;
963         linux-gnu*|k*bsd*-gnu*)
964                 test_gtk=yes
965                 test_cairo=yes
966                 test_kde=yes
967                 test_kde4=yes
968                 test_cups=yes
969         test_randr=yes
970                 test_freetype=yes
971         test_gstreamer=yes
972         _os=Linux       
973                 ;;
974         gnu)
975                 test_cups=no
976                 _os=GNU
977                 ;;
978         cygwin*) # Windows
979                 test_cups=no
980                 test_cairo=yes
981                 test_freetype=no
982         test_gstreamer=no
983                 _os=WINNT
984                 ;;
985         darwin*) # Mac OS X
986                 test_cups=yes
987                 test_gtk=yes
988                 test_cairo=yes
989         test_randr=no
990                 test_freetype=no
991         test_gstreamer=no
992                 _os=Darwin
993       if test "$enable_systray" = "yes" && test "$enable_gtk" != "no"; then
994          AC_MSG_WARN([Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray])
995          echo "Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >>warn
996          enable_systray=no
997       fi
998                 ;;
999         os2*)
1000                 test_x=no
1001                 test_cups=no
1002         test_randr=no
1003                 test_gtk=no
1004                 test_freetype=no
1005         test_gstreamer=no
1006                 _os=OS2
1007                 ;;
1008         freebsd*)
1009                 test_gtk=yes
1010                 test_cairo=yes
1011                 test_kde=yes
1012                 test_kde4=yes
1013                 test_cups=yes
1014         test_randr=yes
1015                 test_freetype=yes
1016         test_gstreamer=yes
1017                 AC_MSG_CHECKING([the FreeBSD operating system release])
1018                 if test -n "$with_os_version"; then
1019                         OSVERSION="$with_os_version"
1020                 else
1021                         OSVERSION=`/sbin/sysctl -n kern.osreldate`
1022                 fi
1023                 AC_MSG_RESULT([found OSVERSION=$OSVERSION])
1024                 AC_MSG_CHECKING([which thread library to use])
1025                 if test "$OSVERSION" -lt "500016"; then
1026                         PTHREAD_CFLAGS="-D_THREAD_SAFE"
1027                         PTHREAD_LIBS="-pthread"
1028                 elif test "$OSVERSION" -lt "502102"; then
1029                         PTHREAD_CFLAGS="-D_THREAD_SAFE"
1030                         PTHREAD_LIBS="-lc_r"
1031                 else 
1032                         PTHREAD_CFLAGS=""
1033                         PTHREAD_LIBS="-pthread"
1034                 fi
1035                 AC_MSG_RESULT([$PTHREAD_LIBS])
1036                 _os=FreeBSD
1037                 ;;
1038         osf)
1039                 test_cups=no
1040         test_randr=no
1041                 _os=OSF1
1042                 ;;
1043         netbsd)
1044                 test_gtk=yes
1045                 test_cairo=yes
1046                 test_kde=yes
1047                 test_kde4=yes
1048                 test_cups=no
1049         test_randr=yes
1050                 test_freetype=yes
1051         test_gstreamer=yes
1052                 PTHREAD_CFLAGS="-pthread"
1053                 PTHREAD_LIBS="-pthread -lpthread"
1054                 _os=NetBSD
1055                 ;;
1056         aix*)
1057                 test_cups=no
1058         test_randr=no
1059                 test_freetype=yes
1060         test_gstreamer=yes
1061            PTHREAD_LIBS=-pthread
1062                 echo "AIX is an alpha port --- Use at own risk" >> warn
1063                 _os=AIX
1064                 ;;
1065    *)
1066    AC_MSG_ERROR([$_os operating system is not suitable to build OpenOffice.org!])
1067    ;;
1068 esac
1070 AC_SUBST(OSVERSION)
1071 AC_SUBST(PTHREAD_CFLAGS)
1072 AC_SUBST(PTHREAD_LIBS)
1074 dnl ===================================================================
1075 dnl Set the ENABLE_CRASHDUMP variable.
1076 dnl ===================================================================
1077 AC_MSG_CHECKING([whether to enable crashdump feature])
1078 if test "$enable_crashdump" = "yes"; then
1079    ENABLE_CRASHDUMP="TRUE"
1080    BUILD_TYPE="$BUILD_TYPE CRASHREP"
1081    AC_MSG_RESULT([yes])
1082 else
1083    ENABLE_CRASHDUMP=""
1084    AC_MSG_RESULT([no])
1086 AC_SUBST(ENABLE_CRASHDUMP)
1088 if test "$_os" = "WINNT"; then
1089    BUILD_TYPE="$BUILD_TYPE TWAIN"
1092 if test "$_os" = "WINNT"; then
1093    dnl ===================================================================
1094    dnl Set the VC_STANDARD variable.
1095    dnl ===================================================================
1096    AC_MSG_CHECKING([whether to use the standard non-optimizing compiler])
1097    if test "$enable_cl_standard" = "" -o "$enable_cl_standard" = "no"; then
1098       VC_STANDARD=""
1099       AC_MSG_RESULT([no])
1100    else
1101       VC_STANDARD="TRUE"
1102       AC_MSG_RESULT([yes])
1103    fi
1104    AC_SUBST(VC_STANDARD)
1107 dnl ===================================================================
1108 dnl Set the ENABLE_WERROR variable. (Activate --enable-werror)
1109 dnl ===================================================================
1110 AC_MSG_CHECKING([whether to turn warnings to errors])
1111 if test -n "$enable_werror" && test "$enable_werror" != "no"; then
1112    ENABLE_WERROR="TRUE"
1113    AC_MSG_RESULT([yes])
1114    AC_MSG_WARN([Turning warnings to errors has no effect in modules or])
1115    AC_MSG_WARN([on platforms where it has been disabled explicitely])
1116    echo "Turning warnings to errors has no effect in modules or on platforms where it has been disabled explicitely" >> warn
1117 else
1118    ENABLE_WERROR="FALSE"
1119    AC_MSG_RESULT([no])
1121 AC_SUBST(ENABLE_WERROR)
1123 dnl ===================================================================
1124 dnl Set the ENABLE_DEBUG variable. (Activate --enable-symbols)
1125 dnl ===================================================================
1126 AC_MSG_CHECKING([whether to do a debug build])
1127 if test -n "$enable_debug" && test "$enable_debug" != "no"; then
1128    ENABLE_DEBUG="TRUE"
1129    if test -z "$enable_symbols"; then
1130       enable_symbols="yes"
1131    fi
1132    AC_MSG_RESULT([yes])
1133 else
1134    ENABLE_DEBUG="FALSE"
1135    AC_MSG_RESULT([no])
1137 AC_SUBST(ENABLE_DEBUG)
1139 dnl ===================================================================
1140 dnl Set the ENABLE_DBGUTIL variable
1141 dnl ===================================================================
1142 AC_MSG_CHECKING([whether to build with additional debug utilities])
1143 if test -n "$enable_dbgutil" && test "$enable_dbgutil" != "no"; then
1144    PROEXT=""
1145    PRODUCT=""
1146    PROFULLSWITCH=""
1147    AC_MSG_RESULT([yes])
1148 else
1149    PRODUCT="full"
1150    PROFULLSWITCH="product=full"
1151    PROEXT=".pro"
1152    AC_MSG_RESULT([no, full product build])
1154 AC_SUBST(PRODUCT)
1155 AC_SUBST(PROFULLSWITCH)
1156 AC_SUBST(PROEXT)
1158 dnl ===================================================================
1159 dnl First setting is whether to include symbols into final build.
1160 dnl ===================================================================
1161 AC_MSG_CHECKING([whether to include symbols into final build])
1162 if test -n "$enable_symbols" && test "$enable_symbols" != "no"; then
1163         if test "$enable_symbols" = "yes" -o "$enable_symbols" = "TRUE"; then
1164                 ENABLE_SYMBOLS="TRUE"
1165                 AC_MSG_RESULT([yes])
1166         else
1167                 if test "$enable_symbols" = "SMALL" -o "$enable_symbols" = "small"; then
1168                         ENABLE_SYMBOLS="SMALL"
1169                         AC_MSG_RESULT([yes, small ones])
1170                 else if test "$enable_symbols" != "no" ; then
1171                              echo enable symbols is: $enable_symbols
1172                              AC_MSG_ERROR([--enable-symbols only accepts yes, TRUE or SMALL as parameter.])
1173                      else
1174                              ENABLE_SYMBOLS=
1175                      fi
1176                 fi
1177         fi
1178 else
1179    ENABLE_SYMBOLS=
1180    AC_MSG_RESULT([no])
1182 AC_SUBST(ENABLE_SYMBOLS)
1184 dnl ===================================================================
1185 dnl Determine if the solver is to be stripped or not.
1186 dnl ===================================================================
1187 AC_MSG_CHECKING([whether to strip the solver or not.])
1188 if test -n "$enable_strip_solver"; then
1189    if test "$enable_strip_solver" = "yes"; then
1190       DISABLE_STRIP=
1191    else if test "$enable_strip_solver" = "no"; then
1192            DISABLE_STRIP="TRUE"
1193         else
1194            AC_MSG_ERROR([--disable-strip-solver only accepts yes or no as parameter.])
1195         fi
1196    fi
1197 else
1198    if test -n "$ENABLE_SYMBOLS"; then
1199       DISABLE_STRIP="TRUE"
1200    else
1201       DISABLE_STRIP=
1202    fi
1204 AC_SUBST(DISABLE_STRIP)
1206 dnl ===================================================================
1207 dnl Build options
1208 dnl ===================================================================
1209 AC_MSG_CHECKING([whether to enable native CUPS support])
1210 if test "$test_cups" = "yes" -a \( "$enable_cups" = "yes" -o "$enable_cups" = "TRUE" \) ; then
1211    ENABLE_CUPS="TRUE"
1212    AC_MSG_RESULT([yes])
1213 else
1214    ENABLE_CUPS=""
1215    AC_MSG_RESULT([no])
1217 AC_SUBST(ENABLE_CUPS)
1219 AC_MSG_CHECKING([whether to enable fontconfig support])
1220 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a \( "$enable_fontconfig" = "yes" -o "$enable_fontconfig" = "TRUE" \); then
1221    ENABLE_FONTCONFIG="TRUE"
1222    AC_MSG_RESULT([yes])
1223 else
1224    ENABLE_FONTCONFIG=""
1225    AC_MSG_RESULT([no])
1227 AC_SUBST(ENABLE_FONTCONFIG)
1229 dnl ===================================================================
1230 dnl find external tarballs.
1231 dnl ===================================================================
1232 if test -z $TARFILE_LOCATION; then
1233    TARFILE_LOCATION="DEFAULT"
1235 AC_SUBST(TARFILE_LOCATION)
1237 if test -z "$enable_fetch_external" || test "$enable_fetch_external" = "yes" \
1238    && test -z "$with_system_libs" -a "$with_system_jars" != "no"; then
1239    DO_FETCH_TARBALLS="yes"
1241 AC_SUBST(DO_FETCH_TARBALLS)
1243 dnl ===================================================================
1244 dnl Disable legacy binary file formats filters
1245 dnl ===================================================================
1246 AC_MSG_CHECKING([whether to enable filters for legacy binary file formats (StarOffice 5.2)])
1247 if test "$enable_binfilter" = "no"; then
1248    WITH_BINFILTER="NO"
1249    AC_MSG_RESULT([no])
1250 else
1251    WITH_BINFILTER="YES"
1252    BUILD_TYPE="$BUILD_TYPE BINFILTER"
1253    AC_MSG_RESULT([yes])
1255 AC_SUBST(WITH_BINFILTER)
1257 if test "$_os" = "WINNT"; then
1258    AC_MSG_CHECKING([whether to use DirectX])
1259    if test "$enable_directx" = "yes" -o "$enable_directx" = "TRUE" -o "$enable_directx" = ""; then
1260       ENABLE_DIRECTX="TRUE"
1261       AC_MSG_RESULT([yes])
1262    else
1263       ENABLE_DIRECTX=""
1264       AC_MSG_RESULT([no])
1265    fi
1266    AC_SUBST(ENABLE_DIRECTX)
1268    AC_MSG_CHECKING([whether to use ActiveX])
1269    if test "$enable_activex" = "yes" -o "$enable_activex" = "TRUE" -o "$enable_activex" = ""; then
1270       DISABLE_ACTIVEX=""
1271       AC_MSG_RESULT([yes])
1272    else
1273       DISABLE_ACTIVEX="TRUE"
1274       AC_MSG_RESULT([no])
1275    fi
1276    AC_SUBST(DISABLE_ACTIVEX)
1278    AC_MSG_CHECKING([whether to use ATL])
1279    if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE" -o "$enable_atl" = ""; then
1280       DISABLE_ATL=""
1281       AC_MSG_RESULT([yes])
1282    else
1283       DISABLE_ATL="TRUE"
1284       AC_MSG_RESULT([no])
1285    fi
1286    AC_SUBST(DISABLE_ATL)
1290 dnl ===================================================================
1291 dnl Disable rpath in shared libraries?
1292 dnl ===================================================================
1293 AC_MSG_CHECKING([whether to use RPATH in shared libraries])
1294 if test "$enable_rpath" = "no"; then
1295    ENABLE_RPATH="no"
1296 else
1297    ENABLE_RPATH="yes"
1299 AC_MSG_RESULT([$ENABLE_RPATH])
1300 AC_SUBST(ENABLE_RPATH)
1302 dnl Test whether to include MySpell dictionaries
1303 dnl ===================================================================
1304 AC_MSG_CHECKING([whether to include MySpell dictionaries])
1305 if test -z "$with_myspell_dicts" || test "$with_myspell_dicts" = "yes"; then
1306   AC_MSG_RESULT([yes])
1307   WITH_MYSPELL_DICTS=YES
1308   BUILD_TYPE="$BUILD_TYPE DICTIONARIES"
1309 else
1310   AC_MSG_RESULT([no])
1311   WITH_MYSPELL_DICTS=NO
1313 AC_SUBST(WITH_MYSPELL_DICTS)
1315 if test "$WITH_MYSPELL_DICTS" = "NO"; then
1316   AC_MSG_CHECKING([whether to use dicts from external paths])
1317   if test -n "$with_system_dicts" -a "$with_system_dicts" = "yes"; then
1318         AC_MSG_RESULT([yes])
1319         SYSTEM_DICTS=YES
1320         AC_MSG_CHECKING([for spelling dictionary directory])
1321         if test -n "$with_external_dict_dir"; then
1322                 DICT_SYSTEM_DIR=file://$with_external_dict_dir
1323         else
1324                 DICT_SYSTEM_DIR=file:///usr/share/hunspell
1325         fi
1326         AC_MSG_RESULT([$DICT_SYSTEM_DIR])
1327         AC_MSG_CHECKING([for hyphenation patterns directory])
1328         if test -n "$with_external_hyph_dir"; then
1329                 HYPH_SYSTEM_DIR=file://$with_external_hyph_dir
1330         else
1331                 HYPH_SYSTEM_DIR=file:///usr/share/hyphen
1332         fi
1333         AC_MSG_RESULT([$HYPH_SYSTEM_DIR])
1334         AC_MSG_CHECKING([for thesaurus directory])
1335         if test -n "$with_external_thes_dir"; then
1336                 THES_SYSTEM_DIR=file://$with_external_thes_dir
1337         else
1338                 THES_SYSTEM_DIR=file:///usr/share/mythes
1339         fi
1340         AC_MSG_RESULT([$THES_SYSTEM_DIR])
1341   else
1342         AC_MSG_RESULT([no])
1343         SYSTEM_DICTS=NO
1344   fi
1346 AC_SUBST(SYSTEM_DICTS)
1347 AC_SUBST(DICT_SYSTEM_DIR)
1348 AC_SUBST(HYPH_SYSTEM_DIR)
1349 AC_SUBST(THES_SYSTEM_DIR)
1351 if test $_os = "WINNT"; then
1352    AC_MSG_CHECKING([Windows build environment sanity])
1353    dnl ===================================================================
1354    dnl Sanity check! Native windows programs cannot use cygwin symlinks!
1355    dnl ===================================================================
1356    dnl As long as awk instead of $AWK is used somewhere in the sources,
1357    dnl check for $AWK and awk. $AWK is pointing to gawk in cygwin.
1358       if test -L $AWK -o -L `which awk` -o -L `which tar` -o -L `which gunzip` ; then
1359          AC_MSG_ERROR([$AWK, awk, tar or gunzip is a cygwin symlink!
1360 Native windows programs cannot use cygwin symlinks. Remove the symbolic
1361 link, and copy the program to the name of the link.])
1362       fi
1363    dnl ===================================================================
1364    dnl Another sanity check! More a band-aid. winenv.* adds guw.exe to
1365    dnl CC and CXX but the configure checks here assume that guw.exe
1366    dnl (if needed at all) is not yet present.
1367    dnl ===================================================================
1368    CC=`echo $CC | $SED "s/^guw.exe //"`
1369    CXX=`echo $CXX | $SED "s/^guw.exe //"`
1370    dnl ===================================================================
1371    dnl If $CC is set to a MinGW compiler, e.g. "gcc -mno-cygwin" enable
1372    dnl $WITH_MINGWIN
1373    dnl ===================================================================
1374       if test -n "$CC";then
1375          if test "`$CC -dumpmachine 2>/dev/null | $SED -e 's/^.*-//'`" = "mingw32"; then
1376             WITH_MINGWIN="yes"
1377          fi
1378       fi
1379    dnl ===================================================================
1380    if test "$WITH_MINGWIN" = "yes" ; then
1381       if test -z "$CC"; then
1382          CC="gcc -mno-cygwin"
1383          CXX="g++ -mno-cygwin"
1384       fi
1385    fi
1386    AC_MSG_RESULT([ok])
1388 AC_SUBST(WITH_MINGWIN)
1390 dnl ===================================================================
1391 dnl Extra check for Windows. cygwin builds need gcc to build dmake
1392 dnl and g++ to build guw.exe although MS cl (or MinGW) is used to
1393 dnl build OOo.
1394 dnl ===================================================================
1395 if test "$_os" = "WINNT" ; then
1396    AC_MSG_CHECKING([for cygwin gcc/g++])
1397    if which gcc > /dev/null && which g++ > /dev/null ; then
1398       AC_MSG_RESULT([found])
1399    else
1400       AC_MSG_ERROR([cygwin gcc and g++ are needed, please install them.])
1401    fi
1405 dnl ===================================================================
1406 dnl Check whether the bash shell can be used.
1407 dnl ===================================================================
1408 AC_PATH_PROG(SHELLPATH, bash)
1409 if test -z "$SHELLPATH"; then
1410    AC_MSG_ERROR([bash not found in \$PATH])
1411 else
1412    SHELLPATH=`echo $SHELLPATH | $SED -n "s/\/bash$//p"`
1414 AC_SUBST(SHELLPATH)
1416 dnl ===================================================================
1417 dnl  Checks for c compiler,
1418 dnl  The check for the c++ compiler is later on.
1419 dnl ===================================================================
1420 AC_MSG_CHECKING([gcc home])
1421 if test -z "$with_gcc_home"; then
1422         GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,`
1423 else    
1424         GCC_HOME="$with_gcc_home"
1426 AC_MSG_RESULT($GCC_HOME)
1427 AC_SUBST(GCC_HOME)
1429 save_CC=$CC
1430 save_CXX=$CXX
1432 if test -n "$with_gcc_home"; then
1433    if test -z "$CC"; then
1434       CC="$with_gcc_home/bin/gcc"
1435    fi
1438 dnl The following checks for gcc, cc and then cl (if it weren't guarded for win32)
1439 if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
1440    AC_PROG_CC
1443 COMPATH=`dirname "$CC"`
1444 if test "$COMPATH" = "." ; then
1445     AC_PATH_PROGS(COMPATH, $CC)
1446     dnl double square bracket to get single because of M4 quote...
1447     COMPATH=`echo $COMPATH | $SED "s@/[[^/:]]*\\\$@@"`;
1449 COMPATH=`echo $COMPATH | $SED "s@/[[Bb]][[Ii]][[Nn]]\\\$@@"`;
1451 dnl ===================================================================
1452 dnl  Test the gcc version,  3 is OK
1453 dnl ===================================================================
1454 GCCVER=20995
1455 if test \( "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes" \) -a "$GCC" = "yes"; then
1456     AC_MSG_CHECKING([the GNU gcc compiler version])
1457    _gcc_version=`$CC -dumpversion`
1458    _gcc_major=`echo $_gcc_version | $AWK -F. '{ print \$1 }'`
1459    GCCVER=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
1461    if test "$_gcc_major" -lt "3"; then
1462       AC_MSG_ERROR([found version "$_gcc_version", use version 3+ of the gcc compiler])
1463    else
1464       if test "$GCCVER" -eq "030203"; then
1465             if test "$ENABLE_SYMBOLS" = "SMALL"; then
1466            AC_MSG_ERROR([version "$_gcc_version" gives internal error with small.])
1467             fi
1468       fi
1469    fi
1470    if test "$_os" = "Darwin" -a "$GCCVER" -ge "040100" ; then
1471       if test -z "$save_CC" -a -x "$GCC_HOME/bin/gcc-4.0" ; then
1472          export CC=$GCC_HOME/bin/gcc-4.0
1473           dnl  export CC to have it available in set_soenv -> config.guess
1474          GCCVER2=`"$CC" -dumpversion | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
1475          if test "$GCCVER2" -ge "040000" -a "$GCCVER2" -lt "040100" ; then
1476             GCCVER=$GCCVER2
1477          fi
1478       fi
1479       if test "$GCCVER" -ge "040100" ; then
1480          AC_MSG_ERROR([You need to use the gcc-4.0 compiler (gcc $_gcc_version won't work with the MacOSX10.4u.sdk) - set CC accordingly])
1481       else
1482          AC_MSG_RESULT([implicitly using CC=$CC])
1483       fi
1484    else
1485       AC_MSG_RESULT([checked (gcc $_gcc_version)])
1486    fi
1487    if test "$_os" = "SunOS"; then
1488       AC_MSG_CHECKING([gcc linker])
1489       if $CC -Wl,--version 2>&1 |head -n 1| grep -v GNU > /dev/null;then
1490           AC_MSG_ERROR([failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris])
1491       fi
1492       AC_MSG_RESULT([ok (GNU ld)])
1493    fi
1494 fi 
1495 AC_SUBST(GCCVER)
1497 HAVE_LD_BSYMBOLIC_FUNCTIONS=
1498 if test "$GCC" = "yes"; then
1499    AC_MSG_CHECKING( for -Bsymbolic-functions linker support )
1500    bsymbolic_functions_ldflags_save=$LDFLAGS
1501    LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo"
1502    AC_LINK_IFELSE([AC_LANG_PROGRAM([
1503    #include <stdio.h>
1504    ],[
1505     printf ("hello world\n");
1506    ])], HAVE_LD_BSYMBOLIC_FUNCTIONS=TRUE, [])
1507    if test "z$HAVE_LD_BSYMBOLIC_FUNCTIONS" = "zTRUE"; then
1508      AC_MSG_RESULT( found )
1509    else
1510      AC_MSG_RESULT( not found )
1511    fi
1512    LDFLAGS=$bsymbolic_functions_ldflags_save
1514 AC_SUBST(HAVE_LD_BSYMBOLIC_FUNCTIONS)
1516 dnl ===================================================================
1517 dnl Set the ENABLE_PCH variable. (Activate --enable-pch)
1518 dnl ===================================================================
1519 AC_MSG_CHECKING([whether to enable pch feature])
1520 if test -n "$enable_pch" && test "$enable_pch" != "no"; then
1521    if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
1522            ENABLE_PCH="TRUE"
1523            AC_MSG_RESULT([yes])
1524 dnl There is no PCH support in GCC versions prior to this
1525    elif test "$GCC" = "yes" -a "$GCCVER" -gt "030400"; then
1526            ENABLE_PCH="TRUE"
1527            AC_MSG_RESULT([yes])
1528    else
1529            ENABLE_PCH=""
1530            AC_MSG_WARN([Precompiled header not yet supported for your platform/compiler])
1531    fi
1532 else
1533    ENABLE_PCH=""
1534    AC_MSG_RESULT([no])
1536 AC_SUBST(ENABLE_PCH)
1538 dnl ===================================================================
1539 dnl Search all the common names for GNU make
1540 dnl ===================================================================
1541 AC_MSG_CHECKING([for GNU make])
1542 for a in "$MAKE" $GNUMAKE make gmake gnumake; do
1543       $a --version 2> /dev/null | grep GNU  2>&1 > /dev/null
1544       if test $? -eq 0;  then
1545            GNUMAKE=$a
1546            break
1547       fi
1548 done
1549 AC_MSG_RESULT($GNUMAKE)
1550 if test -z "$GNUMAKE"; then
1551     AC_MSG_ERROR([not found. install GNU make.])
1554 AC_MSG_CHECKING([the GNU make version])
1555 _make_version=`$GNUMAKE --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
1556 _make_longver=`echo $_make_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
1557 if test "$_make_longver" -ge "038100" ; then
1558    AC_MSG_RESULT([$GNUMAKE $_make_version])
1559 else
1560    AC_MSG_ERROR([failed ($GNUMAKE version >= 3.81 needed])
1562 AC_SUBST(GNUMAKE)
1564 dnl ===================================================================
1565 dnl Search all the common names for GNU tar
1566 dnl ===================================================================
1567 AC_MSG_CHECKING([for GNU tar])
1568 for a in $GNUTAR gtar gnutar tar; do
1569       $a --version 2> /dev/null | grep GNU  2>&1 > /dev/null
1570       if test $? -eq 0;  then
1571            GNUTAR=$a
1572            break
1573       fi
1574 done
1575 AC_MSG_RESULT($GNUTAR)
1576 if test -z "$GNUTAR"; then
1577     AC_MSG_ERROR([not found. install GNU tar.])
1580 AC_SUBST(GNUTAR)
1582 dnl ===================================================================
1583 dnl  Test the solaris compiler version
1584 dnl ===================================================================
1585 if test "$_os" = "SunOS"; then
1586    if test "$CC" = "cc"; then
1587       AC_PATH_PROGS(_cc, cc)
1588       COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"`
1589       AC_MSG_CHECKING([the SunStudio C/C++ compiler version])
1590       dnl cc -V outputs to standard error!!!!
1591       _sunstudio_string=`$CC -V 2>&1 | grep '^cc' | sed -e 's/.* C //'`
1592       _sunstudio_version=`echo $_sunstudio_string | $AWK '{ print $1 }'`
1593       _sunstudio_major=`echo $_sunstudio_version | $AWK -F. '{ print $1 }'` 
1594       if test "$_sunstudio_major" != "5"; then
1595          AC_MSG_ERROR([found version "$_sunstudio_version", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler])
1596       else
1597          _sunstudio_minor=`echo $_sunstudio_version | $AWK -F. '{ if ($2 == 5) print "true"; else if ($2 == 7) print "true"; else if ($2 == 8) print "true"; else if ($2 == 9) print "true"; else print "false" }'` 
1598          if test "$_sunstudio_minor" = "false"; then
1599             AC_MSG_ERROR([found version "$_sunstudio_version", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler])
1600          else
1601             dnl compiler will do
1602             AC_MSG_RESULT([checked])
1603          fi
1604       fi
1605    fi
1608 if test "$GCC" = "yes"; then
1609    AC_MSG_CHECKING( for --hash-style=both linker support )
1610    hash_style_ldflags_save=$LDFLAGS
1611    LDFLAGS="$LDFLAGS -Wl,--hash-style=both"
1612    AC_LINK_IFELSE([AC_LANG_PROGRAM([
1613    #include <stdio.h>
1614    ],[
1615     printf ("hello world\n");
1616    ])], HAVE_LD_HASH_STYLE=TRUE, HAVE_LD_HASH_STYLE=FALSE)
1617    if test "z$HAVE_LD_HASH_STYLE" = "zTRUE"; then
1618      AC_MSG_RESULT( found )
1619    else
1620      AC_MSG_RESULT( not found )
1621    fi
1622    LDFLAGS=$hash_style_ldflags_save
1624 AC_SUBST(HAVE_LD_HASH_STYLE)
1626 dnl ===================================================================
1627 dnl  Test the Compaq compiler for OSF1
1628 dnl ===================================================================
1629 if test "$_os" = "OSF1"; then
1630    if test "$CC" = "cc"; then
1631       AC_PATH_PROGS(_cc, cc)
1632       COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"`
1633       AC_MSG_WARN([******* $_cc , $COMPATH])
1634       AC_MSG_CHECKING([the Compaq C compiler version])
1635       dnl cc -V outputs to standard error!!!!
1636       _compaqc_version=`$CC -V 2>&1 | $AWK '{ print $3 }'`
1637       _compaqc_major=`echo $_compaqc_version | $AWK -F. '{ print $1 }'`
1638       if test "$_compaqc_major" != "T6"; then
1639          AC_MSG_ERROR([found version "$_compaqc_version", use version 6 of the Compaq C compiler])
1640       else
1641          dnl compiler will do
1642          AC_MSG_RESULT([checked])
1643       fi
1644    fi
1647 dnl ===================================================================
1648 dnl Check whether there's a Perl version available.
1649 dnl ===================================================================
1650 if test -z "$with_perl_home"; then
1651    AC_PATH_PROG(PERL, perl)
1652 else
1653    if test "$_os" = "WINNT"; then
1654       with_perl_home=`cygpath -u "$with_perl_home"`
1655    fi
1656    _perl_path="$with_perl_home/bin/perl"
1657    if test -x "$_perl_path"; then
1658       PERL=$_perl_path
1659    else
1660       AC_MSG_ERROR([$_perl_path not found])
1661    fi
1664 dnl ===================================================================
1665 dnl Testing for Perl version 5 or greater.
1666 dnl $] is the perl version variable, it is returned as an integer
1667 dnl ===================================================================
1668 if test "$PERL"; then
1669    AC_MSG_CHECKING([the Perl version])
1670    ${PERL} -e "exit($]);"
1671    _perl_version=$?
1672    if test "$_perl_version" -lt 5; then
1673       AC_MSG_ERROR([found Perl version "$_perl_version", use version 5 of Perl])
1674    fi 
1675    AC_MSG_RESULT([checked (perl $_perl_version)])
1676 else
1677    AC_MSG_ERROR([Perl not found, install version 5 of Perl])
1679 AC_SUBST(PERL)
1681 dnl ===================================================================
1682 dnl Testing for required Perl modules
1683 dnl ===================================================================
1684 AC_MSG_CHECKING([for required Perl modules])
1685 if `$PERL -e 'use Archive::Zip;'`; then
1686         AC_MSG_RESULT([all modules found])
1687 else
1688         AC_MSG_ERROR([Failed to find some modules])
1691 dnl ===================================================================
1692 dnl  Check which Microsoft C/C++ or MinGW compiler is used for WINNT
1693 dnl ===================================================================
1694 if test "$_os" = "WINNT"; then
1695         if test "$WITH_MINGWIN" != "yes"; then
1696                 AC_MSG_CHECKING([for friendly registry keys])
1697                 # VS.Net 2003, VS.Net 2005
1698                 if test -z "$with_cl_home"; then
1699                         vctest=`./oowintool --msvc-productdir`;
1700                         if test -x "$vctest/bin/cl.exe"; then
1701                                 with_cl_home=$vctest;
1702                         fi
1703                 else
1704                         with_cl_home=`cygpath -u "$with_cl_home"`
1705                 fi
1706                 AC_MSG_RESULT([done])
1708                 dnl ===========================================================
1709                 dnl  Check for mspdb71.dll/mspdb80.dll
1710                 dnl ===========================================================
1711                 dnl  .NET 2003/5/8 Compiler
1712                 if test -n "$with_mspdb_path";then
1713                         with_mspdb_path=`cygpath -u "$with_mspdb_path"`
1714                 fi
1715                 if test -e "$with_mspdb_path/mspdb71.dll" -o -e "$with_mspdb_path/mspdb80.dll"; then
1716                         MSPDB_PATH="$with_mspdb_path"
1717                 fi
1718                 dnl .NET 2003 case
1719                 if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb71.dll"; then
1720                         MSPDB_PATH="$with_cl_home/../Common7/IDE"
1721                 fi
1722                 dnl .NET 2005/2008 case
1723                 if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb80.dll"; then
1724                         MSPDB_PATH="$with_cl_home/../Common7/IDE"
1725                 fi
1726                 dnl Windows SDK 6.0 case
1727                 if test -z "$MSPDB_PATH" -a -e "$with_cl_home/bin/mspdb80.dll"; then
1728                         MSPDB_PATH="$with_cl_home/bin"
1729                 fi
1731                 if test -z "$MSPDB_PATH";then
1732                         dnl AC_PATH_PROG only checks if MSPDB_PATH is still empty
1733                         AC_PATH_PROG(MSPDB_PATH, mspdb80.dll)
1734                         AC_PATH_PROG(MSPDB_PATH, mspdb71.dll)
1735                         MSPDB_PATH=`dirname "$MSPDB_PATH"`
1736                 fi
1738                 if test -z "$MSPDB_PATH"; then
1739                         AC_MSG_ERROR([You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path])
1740                 fi
1741                 MSPDB_PATH=`cygpath -d "$MSPDB_PATH"`
1742                 MSPDB_PATH=`cygpath -u "$MSPDB_PATH"`
1743                 dnl The path needs to be added before cl is called
1744                 PATH="$MSPDB_PATH:$PATH"
1746                 AC_MSG_CHECKING([the Microsoft C/C++ Compiler])
1747                 if test -x "$with_cl_home/bin/cl.exe"; then
1748                         CC="$with_cl_home/bin/cl.exe"
1749                 else
1750                         AC_PATH_PROG(CC, cl.exe)
1751                 fi
1752                 if test -e "$CC"; then
1753                         # This gives us a posix path with 8.3 filename restrictions
1754                         CC=`cygpath -d "$CC"`
1755                         CC=`cygpath -u "$CC"`
1756                         # Remove /cl.exe from CC case insensitive
1757                         AC_MSG_RESULT([found ($CC)])
1758                         COMPATH=`echo $CC | $SED 's@\/[[Bb]][[Ii]][[Nn]]\/[[cC]][[lL]]\.[[eE]][[xX]][[eE]]@@'`
1759                         export INCLUDE=`cygpath -d "$COMPATH/Include"`
1760                         dnl  Check which Microsoft C/C++ compiler is found
1761                         AC_MSG_CHECKING([the Version of Microsoft C/C++ Compiler])
1762 dnl      The following find microsoft, matches nn.nn.nnnn then pulls numbers out.         
1763                         CCNUMVER=`$CC 2>&1 | $AWK "/Microsoft/ && /..\\...\\...../ {
1764                                                         x = match( \\\$0, /..\\...\\...../ )
1765                                                         CCversion = substr( \\\$0, RSTART, RLENGTH)
1766                                                         tokencount = split (CCversion,vertoken,\".\")
1767                                                         for ( i = 1 ; i <= tokencount ; i++ ) {
1768                                                                 printf (\"%04d\",vertoken[[i]] )
1769                                                         }
1770                                                         }"`
1771                         AC_MSG_RESULT([found Compiler version $CCNUMVER.])
1772                         if test "$CCNUMVER" -ge "001500000000"; then
1773                                 COMEX=12
1774                                 MSVSVER=2008
1775                                 AC_MSG_RESULT([found .NET 2008 / VS 9.0.])
1776                         elif test "$CCNUMVER" -ge "001400000000"; then
1777                                 COMEX=11
1778                                 MSVSVER=2005
1779                                 AC_MSG_RESULT([found .NET 2005.])
1780                         elif test "$CCNUMVER" -ge "001300102240"; then
1781                                 COMEX=10
1782                                 MSVSVER=2003
1783                                 AC_MSG_RESULT([found .NET 2003.])
1784                         else
1785                                 AC_MSG_ERROR([Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler.])
1786                         fi
1787                 else
1788                         AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe.])
1789                 fi
1790         else
1791                 AC_MSG_CHECKING([the Mingwin32 C++ Compiler])
1792                 if test `$CC -dumpmachine | $SED -e 's/^.*-//'` = "mingw32"; then
1793                         AC_MSG_RESULT([found.])
1794                         if $CC -dumpspecs | grep -q "mno-cygwin"; then
1795                                 USE_MINGW="cygwin"
1796                         else
1797                                 USE_MINGW="pure-mingw"
1798                         fi
1799                 else
1800                         AC_MSG_ERROR([Mingwin32 C++ Compiler not found.])
1801                 fi
1802         fi
1804 AC_SUBST(COMEX)
1805 AC_SUBST(MSPDB_PATH)
1806 AC_SUBST(USE_MINGW)
1808 dnl ===================================================================
1809 dnl  .NET needs special treatment
1810 dnl ===================================================================
1811 if test "$_os" = "WINNT"; then
1812 if test "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then
1813         dnl Check midl.exe
1814         AC_PATH_PROG(MIDL_PATH, midl.exe)
1815         if test -n "$MIDL_PATH";then
1816                 MIDL_PATH=`dirname "$MIDL_PATH"`
1817         fi
1818         if test -n "$with_midl_path";then
1819                 with_midl_path=`cygpath -u "$with_midl_path"`
1820         fi
1821         if test -x "$with_midl_path/midl.exe"; then
1822                 MIDL_PATH="$with_midl_path"
1823         fi
1824         if test -z "$MIDL_PATH" -a -e "$with_cl_home/../Common7/Tools/Bin/midl.exe"; then
1825                 MIDL_PATH="$with_cl_home/../Common7/Tools/Bin"
1826         fi
1827         if test -z "$MIDL_PATH" ; then
1828       vstest=`./oowintool --msvs-productdir`;
1829       if test -x "$vstest/Common7/Tools/Bin/midl.exe" ; then
1830                   MIDL_PATH="$vstest/Common7/Tools/Bin"
1831       fi
1832         fi
1833         if test -z "$MIDL_PATH" ; then
1834                 psdktest=`./oowintool --psdk-home`
1835                 if test -x "$psdktest/Bin/midl.exe" ; then
1836                         MIDL_PATH="$psdktest/Bin"
1837                 fi
1838         fi
1839         if test ! -x "$MIDL_PATH/midl.exe"; then
1840                 AC_MSG_ERROR([midl.exe not found. Make sure it's in the path or use --with-midl-path])
1841         fi
1842         # Convert to posix path with 8.3 filename restrictions ( No spaces )
1843         MIDL_PATH=`cygpath -d "$MIDL_PATH"`
1844         MIDL_PATH=`cygpath -u "$MIDL_PATH"`
1846         dnl Check csc.exe
1847         AC_PATH_PROG(CSC_PATH, csc.exe)
1848         if test -n "$CSC_PATH";then
1849                 CSC_PATH=`dirname "$CSC_PATH"`
1850         fi
1851         if test -n "$with_csc_path";then
1852                 with_csc_path=`cygpath -u "$with_csc_path"`
1853         fi
1854         if test -x "$with_csc_path/csc.exe"; then
1855                 CSC_PATH="$with_csc_path"
1856         else
1857            csctest=`./oowintool --csc-compilerdir`;
1858            if test -x "$csctest/csc.exe"; then
1859               CSC_PATH="$csctest"
1860            fi
1861         fi
1862         if test ! -x "$CSC_PATH/csc.exe"; then
1863                 AC_MSG_ERROR([csc.exe not found. Make sure it's in the path or use --with-csc-path])
1864         fi
1865         # Convert to posix path with 8.3 filename restrictions ( No spaces )
1866         CSC_PATH=`cygpath -d "$CSC_PATH"`
1867         CSC_PATH=`cygpath -u "$CSC_PATH"`
1869     dnl Check mscoree.lib / .NET Frameworks dir
1870     dnl For VS2003/2005 $with_frame_home has to point to the directory with lib/mscoree.lib.
1871        AC_MSG_CHECKING(.NET Framework)
1872             if test -n "$with_frame_home"; then
1873                 with_frame_home=`cygpath -u "$with_frame_home"`
1874             fi
1875             if test -f "$with_frame_home/lib/mscoree.lib"; then
1876                     FRAME_HOME="$with_frame_home"
1877             fi
1878             if test -z "$FRAME_HOME" -a -e "$with_cl_home/../SDK/v1.1/lib/mscoree.lib"; then
1879                     FRAME_HOME="$with_cl_home/../SDK/v1.1"
1880             fi
1881             if test -z "$FRAME_HOME" ; then
1882           frametest=`./oowintool --dotnetsdk-dir`
1883           if test -f "$frametest/lib/mscoree.lib"; then
1884              FRAME_HOME="$frametest"
1885           else
1886              frametest=`./oowintool --psdk-home`
1887              if test -f "$frametest/lib/mscoree.lib"; then
1888                 FRAME_HOME="$frametest"
1889              fi
1890           fi
1891             fi
1892             if test ! -f "$FRAME_HOME/lib/mscoree.lib"; then
1893                 AC_MSG_ERROR([mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home])
1894             fi
1895             AC_MSG_RESULT(found)
1896         # Convert to posix path with 8.3 filename restrictions ( No spaces )
1897         FRAME_HOME=`cygpath -d "$FRAME_HOME"`
1898         FRAME_HOME=`cygpath -u "$FRAME_HOME"`
1900 AC_SUBST(MIDL_PATH)
1901 AC_SUBST(CSC_PATH)
1902 AC_SUBST(FRAME_HOME)
1905 dnl ===================================================================
1906 dnl Check if stdc headers are available excluding windows.
1907 dnl ===================================================================
1908 if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
1909    AC_HEADER_STDC
1912 dnl ===================================================================
1913 dnl Find pre-processors.
1914 dnl ===================================================================
1915 if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
1916    AC_PROG_CXXCPP
1918 dnl Check whether there's a C pre-processor.
1919 dnl ===================================================================
1920 dnl When using SunStudio compiler, there is a bug with the cc
1921 dnl preprocessor, so use CC preprocessor as the cc preprocessor
1922 dnl See Issuezilla #445.
1923 dnl ===================================================================
1924    if test "$_os" = "SunOS"; then
1925       CPP=$CXXCPP
1926    else
1927       AC_PROG_CPP
1928    fi
1931 AC_CHECK_SIZEOF(long)
1932 SIZEOF_LONG=$ac_cv_sizeof_long
1933 AC_SUBST(SIZEOF_LONG)
1934 AC_C_BIGENDIAN
1935 WORDS_BIGENDIAN=$ac_cv_c_bigendian
1936 AC_SUBST(WORDS_BIGENDIAN)
1938 dnl Check for large file support
1939 AC_SYS_LARGEFILE
1940 if test -n "$ac_cv_sys_file_offset_bits"; then
1941    LFS_CFLAGS="-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
1943 if test -n "$ac_cv_sys_large_files" && test "$ac_cv_sys_large_files" != "no"; then
1944    LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES"
1946 AC_SUBST(LFS_CFLAGS)
1948 dnl ===================================================================
1949 dnl Check if valgrind.h is available 
1950 dnl ===================================================================
1951 if test -n "$enable_dbgutil" && test "$enable_dbgutil" != "no"; then
1952    dnl Test $prefix (currently only testing for /usr and /usr/local)
1953    dnl so that VALGRIND_CFLAGS = -I$prefix/include/valgrind
1954    VALGRIND_CFLAGS=""
1955    prev_cppflags=$CPPFLAGS
1956    if test -z "$VALGRIND_CFLAGS"; then
1957       CPPFLAGS="-I/usr/include/valgrind"
1958       AC_CHECK_HEADER([valgrind.h], [VALGRIND_CFLAGS=$CPPFLAGS], [unset ac_cv_header_valgrind_h])
1959    fi
1960    if test -z "$VALGRIND_CFLAGS"; then
1961       CPPFLAGS="-I/usr/local/include/valgrind"
1962       AC_CHECK_HEADER([valgrind.h], [VALGRIND_CFLAGS=$CPPFLAGS], [])
1963    fi
1964    if test -n "$VALGRIND_CFLAGS"; then
1965       CPPFLAGS=$VALGRIND_CFLAGS
1966       AC_CHECK_HEADER([memcheck.h], [], [VALGRIND_CFLAGS=""])
1967    fi
1968    CPPFLAGS=$prev_cppflags
1970 AC_SUBST([VALGRIND_CFLAGS])
1972 dnl ===================================================================
1973 dnl Check if cups/cups.h is available 
1974 dnl ===================================================================
1975 if test "$test_cups" = "yes" -a "$ENABLE_CUPS" = "TRUE" ; then
1976     AC_CHECK_HEADER(cups/cups.h, [],
1977                     [AC_MSG_ERROR([cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?])], [])
1980 dnl ===================================================================
1981 dnl Check if PAM/pam_appl.h is available on Linux or FreeBSD
1982 dnl ===================================================================
1983 if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "GNU"; then
1984   AC_MSG_CHECKING([whether to enable pam support])
1985   if test -z "$enable_pam" || test "$enable_pam" != "no"; then
1986     AC_MSG_RESULT([yes])
1987     PAM=YES
1988     AC_CHECK_HEADER(security/pam_appl.h, [],
1989                     [AC_MSG_ERROR([pam_appl.h could not be found. libpam-dev or pam-devel missing?])], [])
1990     AC_MSG_CHECKING([whether to link to libpam])
1991     if test -n "$enable_pam_link" -a "$enable_pam_link" != "no"; then
1992       AC_MSG_RESULT([yes])
1993       PAM_LINK=YES
1994       AC_CHECK_LIB(pam, pam_start, [],
1995           [AC_MSG_ERROR(libpam not found or functional)], [])
1996     else
1997       AC_MSG_RESULT([no, dynamically open it])
1998       PAM_LINK=NO
1999     fi
2000   else
2001     AC_MSG_RESULT([no])
2002     PAM=NO
2003     PAM_LINK=NO
2004     dnl check getspnam_r for needed args (4 or 5)
2005     AX_FUNC_WHICH_GETSPNAM_R
2006   fi
2008 AC_SUBST(PAM)
2009 AC_SUBST(NEW_SHADOW_API)
2010 AC_SUBST(PAM_LINK)
2012 if test "$_os" = "Linux"; then
2013     AC_MSG_CHECKING([whether to link to libcrypt])
2014     if test -n "$enable_crypt_link" -a "$enable_crypt_link" != "no"; then
2015         AC_MSG_RESULT([yes])
2016         CRYPT_LINK=YES
2017         AC_CHECK_LIB(crypt, crypt, [],
2018             [AC_MSG_ERROR(libcrypt not found or functional)], [])
2019     else
2020         AC_MSG_RESULT([no, dynamically open it])
2021         CRYPT_LINK=NO
2022     fi
2024 AC_SUBST(CRYPT_LINK)
2026 dnl ===================================================================
2027 dnl Testing for c++ compiler and version...
2028 dnl ===================================================================
2029 if test -n "$with_gcc_home"; then
2030    if test -z "$CXX"; then
2031       CXX="$with_gcc_home/bin/g++"
2032    fi
2035 if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
2036    if test -e "$CC"; then
2037       CXX="$CC"
2038    fi
2041 dnl Autoconf 2.53 can do this test for cl.exe, 2.13 can't!
2042 if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2043    AC_PROG_CXX
2046 dnl check if we are using a buggy version of g++ (currently 3.4.0, 3.4.1 and trunk)
2047 if test "$GXX" = "yes"; then
2048    AC_MSG_CHECKING([the GNU C++ compiler version])
2050    _gpp_version=`$CXX -dumpversion`
2051    _gpp_majmin=`echo $_gpp_version | $AWK -F. '{ print \$1*100+\$2 }'`
2053    if test "$_os" = "Darwin" -a "$_gpp_majmin" -ge "401" ; then
2054       if test -z "$save_CXX" -a -x "$GCC_HOME/bin/g++-4.0" ; then
2055          CXX=$GCC_HOME/bin/g++-4.0
2056          _gpp_majmin_2=`"$CXX" -dumpversion | $AWK -F. '{ print \$1*100+\$2 }'`
2057          if test "$_gpp_majmin_2" -ge "400" -a "$_gpp_majmin_2" -lt "401" ; then
2058             _gpp_majmin=$_gpp_majmin_2
2059          fi
2060       fi
2061       if test "$_gpp_majmin" -ge "401" ; then
2062          AC_MSG_ERROR([You need to use the g++-4.0 compiler (g++ $_gpp_version won't work with the MacOSX10.4u.sdk) - set CXX accordingly])
2063       else
2064          AC_MSG_RESULT([implicitly using CXX=$CXX])
2065       fi
2066    else
2067       AC_MSG_RESULT([checked (g++ $_gpp_version)])
2068    fi
2070    if test "$_gpp_majmin" = "304"; then
2071       AC_MSG_CHECKING([whether $CXX has the enum bug])
2072 AC_TRY_RUN([
2073 extern "C" void abort (void);
2074 extern "C" void exit (int status);
2076 enum E { E0, E1, E2, E3, E4, E5 };
2078 void
2079 test (enum E e)
2081   if (e == E2 || e == E3 || e == E1)
2082   exit (1);
2086 main (void)
2088   test (E4);
2089   test (E5);
2090   test (E0);
2091   return 0;
2093 ],[AC_MSG_ERROR([your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details.])], [AC_MSG_RESULT([no])])
2094    fi
2097 dnl ===================================================================
2098 dnl Set the gcc/gxx include directories
2099 dnl ===================================================================
2100 # Removed the special FreeBSD treatment. The problem was that with_gxx_include_path
2101 # often contains an i386 which is expanded as a macro. Solved in stlport.
2102 if test "$GXX" = "yes"; then
2103    AC_MSG_CHECKING([for g++ include path])
2104    if test -z "$with_gxx_include_path"; then
2105       with_gxx_include_path=`echo "#include <cstring>" | $CXX -E -xc++ - | $SED -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
2106       if test "$with_gxx_include_path" = "/usr/libexec/(null)/include"; then
2107           with_gxx_include_path="/usr/include"
2108       fi
2109       if test "$WITH_MINGWIN" = "yes"; then
2110          with_gxx_include_path=`cygpath -d "$with_gxx_include_path"`
2111          with_gxx_include_path=`cygpath -u "$with_gxx_include_path"`
2112       fi
2113       if echo $with_gxx_include_path | grep -q linux; then
2114          # workaround for Mandriva - issue 100049
2115          with_gxx_include_path=`cd $with_gxx_include_path && pwd`
2116       fi
2117    fi
2119 dnl This is the original code...
2120 dnl with_gxx_include_path=`$CXX -print-search-dirs | grep instal |$AWK '{ print \$2 }'`/include 
2121 if test -z "$with_gxx_include_path"; then
2122    with_gxx_include_path="NO_GXX_INCLUDE"
2123    AC_MSG_RESULT([no g++ includes])
2124 else
2125    AC_MSG_RESULT([$with_gxx_include_path])
2127 GXX_INCLUDE_PATH="$with_gxx_include_path"
2128 AC_SUBST(GXX_INCLUDE_PATH)
2130 dnl ===================================================================
2131 dnl Set the mingw runtime library include directories
2132 dnl ===================================================================
2133 if test "$WITH_MINGWIN" = "yes"; then
2134    AC_MSG_CHECKING([for mingwin runtime include path])
2135    cat >conftest.$ac_ext <<_ACEOF
2136 #include <stddef.h>
2137 #include <bits/c++config.h>
2138 _ACEOF
2139    _mingw_lib_include_path=`$CXX -E -xc++ conftest.$ac_ext | $SED -n -e '/.*1*"\(.*\)\/stddef.h".*/s//\1/p' -e '/.*1*"\(.*\)\/bits\/c++config.h".*/s//\1/p' | sort -u | xargs echo`
2140    rm conftest.$ac_ext
2141    if test -n "$_mingw_lib_include_path"; then
2142       _temp=""
2143       for a in $_mingw_lib_include_path
2144          do
2145             a=`cygpath -d "$a"`
2146             _temp="$_temp "`cygpath -u "$a"`
2147          done
2148       _mingw_lib_include_path=$_temp
2149    fi
2150    if test -z "$_mingw_lib_include_path"; then
2151       _mingw_lib_include_path="NO_LIB_INCLUDE"
2152       AC_MSG_RESULT([no mingwin runtime includes])
2153    else
2154       AC_MSG_RESULT([$_mingw_lib_include_path])
2155    fi
2156   MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path"
2157   AC_SUBST(MINGW_LIB_INCLUDE_PATH)
2158 dnl mingw gcc 4.4.0 needs backward in include path to use hash_set/hash_map
2159    AC_MSG_CHECKING([for mingwin c++ backward include path])
2160    cat >conftest.$ac_ext <<_ACEOF
2161 #include <hash_set>
2162 _ACEOF
2163    _mingw_backward_include_path=`$CXX -E -xc++ -Wno-deprecated conftest.$ac_ext 2>&5| $SED -n -e '/.*1*"\(.*\)\/hash_set".*/s//\1/p' | sort -u | xargs echo`
2164    rm conftest.$ac_ext
2165    if test -n "$_mingw_backward_include_path"; then
2166       _mingw_backward_include_path=`cygpath -d $_mingw_backward_include_path`
2167       _mingw_backward_include_path=`cygpath -u $_mingw_backward_include_path`
2168       AC_MSG_RESULT([$_mingw_backward_include_path])
2169    else
2170       _mingw_backward_include_path="NO_BACKWARD_INCLUDE"
2171       AC_MSG_RESULT([no mingwin c++ backward includes])
2172    fi
2173   MINGW_BACKWARD_INCLUDE_PATH="$_mingw_backward_include_path"
2174   AC_SUBST(MINGW_BACKWARD_INCLUDE_PATH)
2175   mingw_crtbegin=`$CC -print-file-name=crtbegin.o`
2176   MINGW_CLIB_DIR=`dirname $mingw_crtbegin`
2177   AC_MSG_CHECKING([whether to use dynamic libgcc])
2178   if test -e "$MINGW_CLIB_DIR/libgcc_s.a"; then
2179     AC_MSG_CHECKING([dynamic libgcc name])
2180     MINGW_GCCDLL_pattern=`nm $MINGW_CLIB_DIR/libgcc_s.a | sed -ne 's@.* _libgcc\(.*\)_dll_iname@libgcc\1.dll@p' | uniq | sed -e 's@_@?@g'`
2181     MINGW_GCCDLL=`cd $COMPATH/bin && ls $MINGW_GCCDLL_pattern 2>/dev/null`
2182     if test -n "$MINGW_GCCDLL"; then
2183         MINGW_SHARED_GCCLIB=YES
2184         AC_MSG_RESULT([use $MINGW_GCCDLL])
2185     else
2186         AC_MSG_RESULT([no])
2187     fi
2188   else
2189     AC_MSG_RESULT([no])
2190   fi
2191   if test -e "$MINGW_CLIB_DIR/libgcc_eh.a"; then
2192       MINGW_GCCLIB_EH=YES
2193   fi
2194   AC_MSG_CHECKING([whether to use dynamic libstdc++])
2195   MINGW_SHARED_LIBSTDCPP=
2196   if test -e "$MINGW_CLIB_DIR/libstdc++_s.a" ; then
2197     MINGW_SHARED_LIBSTDCPP=stdc++_s
2198   fi
2199   if test -e "$MINGW_CLIB_DIR/libstdc++.dll.a" ; then
2200     MINGW_SHARED_LIBSTDCPP=stdc++.dll
2201   fi
2202   if test -n "$MINGW_SHARED_LIBSTDCPP" ; then
2203     AC_MSG_CHECKING([dynamic libstdc++ name])
2204     MINGW_GXXDLL_pattern=`nm $MINGW_CLIB_DIR/lib$MINGW_SHARED_LIBSTDCPP.a | sed -ne 's@.* _libstdc__\(.*\)_dll_iname@libstdc++\1.dll@p' | uniq | sed -e 's@_@?@g'`
2205     MINGW_GXXDLL=`cd $COMPATH/bin && ls $MINGW_GXXDLL_pattern 2>/dev/null`
2206     if test -n "$MINGW_GXXDLL"; then
2207         MINGW_SHARED_LIBSTDCPP=-l$MINGW_SHARED_LIBSTDCPP
2208         MINGW_SHARED_GXXLIB=YES
2209         AC_MSG_RESULT([use $MINGW_GXXDLL])
2210     else
2211         MINGW_SHARED_LIBSTDCPP=
2212         AC_MSG_RESULT([no])
2213     fi
2214   else
2215     AC_MSG_RESULT([no])
2216   fi
2217   MINGW_CLIB_DIR=`cygpath $MINGW_CLIB_DIR`
2218   AC_SUBST(MINGW_CLIB_DIR)
2219   AC_SUBST(MINGW_SHARED_GCCLIB)
2220   AC_SUBST(MINGW_GCCLIB_EH)
2221   AC_SUBST(MINGW_SHARED_GXXLIB)
2222   AC_SUBST(MINGW_SHARED_LIBSTDCPP)
2223   AC_SUBST(MINGW_GCCDLL)
2224   AC_SUBST(MINGW_GXXDLL)
2227 dnl ===================================================================
2228 dnl Extra checking for the SUN OS compiler
2229 dnl ===================================================================
2230 if test "$_os" = "SunOS"; then
2231    dnl SunStudio C++ compiler packaged with SunStudio C compiler
2232    if test "$CC" = "cc"; then
2233    AC_MSG_CHECKING([SunStudio C++ Compiler])
2234       if test "$CXX" != "CC"; then
2235          AC_MSG_WARN([SunStudio C++ was not found])
2236          echo "SunStudio C++ was not found" >> warn
2237       else
2238          AC_MSG_RESULT([checked]) 
2239       fi
2240    fi 
2242 dnl ===================================================================
2243 dnl Extra checking for the OSF compiler
2244 dnl ===================================================================
2245 if test "$_os" = "OSF1"; then
2246    AC_MSG_CHECKING([Compaq C++ compiler version])
2247    dnl cxx -V outputs to standard error!!!!
2248    _compaqcxx_version=`$CXX -V 2>&1 | $AWK '{ print $3 }'`
2249    _compaqcxx_major=`echo $_compaqcxx_version | $AWK -F. '{ print $1 }'`
2250    if test "$_compaqcxx_major" != "V6"; then
2251       AC_MSG_WARN([found version "$_compaqc_version", use version 6 of the Compaq C++ compiler])
2252       echo "found version $_compaqc_version, use version 6 of the Compaq C++ compiler" >> warn
2253    else
2254       dnl compiler will do
2255       AC_MSG_RESULT([checked])
2256    fi
2259 dnl *************************************************************
2260 dnl Testing for exception handling - dwarf2 or sjlj exceptions...
2261 dnl *************************************************************
2262 AC_MSG_CHECKING([exception type])
2263 AC_LANG_PUSH([C++])
2264 if test "$WITH_MINGWIN" = "yes"; then
2265   AC_TRY_LINK(
2266         [#include <iostream>
2268 extern "C" void _Unwind_SjLj_RaiseException(void) __attribute__ ((__noreturn__));
2270         ],
2271         [_Unwind_SjLj_RaiseException() ],
2272         [exceptions_type="sjlj"],
2273         [exceptions_type="dwarf2"]
2274   )
2277 AC_MSG_RESULT($exceptions_type)
2278 AC_LANG_POP([C++])
2279 EXCEPTIONS="$exceptions_type"
2280 AC_SUBST(EXCEPTIONS)
2282 dnl **************************************************************
2283 dnl Testing for required  Solaris and SunStudio compiler patches...
2284 dnl **************************************************************
2285 dnl Check whether the OS is SunOS.
2286 if test "$_os" = "SunOS"; then
2287    _temp=`showrev -p | $AWK -F" " '{ print $2 }'` 
2288    if test "$_os_release" = "7"; then
2289       dnl ***************
2290       dnl patch 106327-06
2291       dnl ***************
2292       AC_MSG_CHECKING([for patch 106327-06 or greater])
2293       _patch=`echo $_temp | $AWK '/106327-06/ { print "found" }'`
2294       _patch="false"
2295       for i in $_temp
2296       do
2297          _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'`
2298          if test "$_patch_major" = "106327"; then
2299             _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'`
2300             if test "$_patch_rev" -ge "6"; then
2301                _patch="found"
2302             fi
2303         fi
2304       done
2305       if test "$_patch" = "found"; then
2306          AC_MSG_RESULT([found])
2307       else
2308          AC_MSG_WARN([patch 106327-06 not found, please install compiler patch 106327-06 or greater])
2309          echo "patch 106327-06 not found, please install compiler patch 106327-06 or greater" >> warn
2310       fi
2311       dnl ***************
2312       dnl patch 106950-11
2313       dnl ***************
2314       AC_MSG_CHECKING([for patch 106950-11 or greater])
2315       _patch=`echo $_temp | $AWK '/106950-11/ { print "found" }'`
2316       _patch="false"
2317       for i in $_temp
2318       do
2319          _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'`
2320          if test "$_patch_major" = "106950"; then
2321             _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'`
2322             if test "$_patch_rev" -ge "11"; then
2323                _patch="found"
2324             fi
2325          fi
2326       done
2327       if test "$_patch" = "found"; then
2328          AC_MSG_RESULT([found])
2329       else
2330          AC_MSG_WARN([patch 106950-11 not found, please install linker patch 106950-11 or greater])
2331          echo "patch 106950-11 not found, please install linker patch 106950-11 or greater" >> warn
2332       fi
2333    else
2334       if test "$_os_release" = "6"; then
2335          dnl ***************
2336          dnl patch 105591-09
2337          dnl ***************
2338          AC_MSG_CHECKING([for patch 105591-09 or greater])
2339          _patch=`echo $_temp | $AWK '/105591-09/ { print "found" }'`
2340          _patch="false"
2341          for i in $_temp
2342          do
2343             _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'`
2344             if test "$_patch_major" = "105591"; then
2345                _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'`
2346                if test "$_patch_rev" -ge "9"; then
2347                   _patch="found"
2348                fi
2349            fi
2350          done
2351          if test "$_patch" = "found"; then
2352             AC_MSG_RESULT([found])
2353          else
2354             AC_MSG_WARN([patch 105591-09 not found, please install compiler patch 105591-09 or greater])
2355             echo "patch 105591-09 not found, please install compiler patch 105591-09 or greater" >> warn
2356          fi
2357          dnl ***************
2358          dnl patch 107733-08
2359          dnl ***************
2360          AC_MSG_CHECKING([for patch 107733-08 or greater])
2361          _patch=`echo $_temp | $AWK '/107733-08/ { print "found" }'`
2362          _patch="false"
2363          for i in $_temp
2364          do
2365             _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'`
2366             if test "$_patch_major" = "107733"; then
2367                _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'`
2368                if test "$_patch_rev" -ge "8"; then
2369                   _patch="found"
2370                fi
2371            fi
2372          done
2373          if test "$_patch" = "found"; then
2374             AC_MSG_RESULT([found])
2375          else
2376             AC_MSG_WARN([patch 107733-06 not found, please install linker patch 107733-08 or greater])
2377             echo "patch 107733-06 not found, please install linker patch 107733-08 or greater" >> warn
2378          fi
2379       fi
2380    fi
2383 dnl ===================================================================
2384 dnl Checks for what the default STL should be
2385 dnl ===================================================================
2386    AC_MSG_CHECKING([what the default STL should be])
2387    DEFAULT_TO_STLPORT="no"
2388    if test "$_os" = "Linux"; then
2389      case "$build_cpu" in
2390        i?86)
2391          case "$build_os" in k*bsd*-gnu*)
2392                 DEFAULT_TO_STLPORT="no"
2393                 ;;
2394          *) 
2395                 DEFAULT_TO_STLPORT="yes"
2396                 ;;
2397           esac
2398          ;;
2399        *)
2400          DEFAULT_TO_STLPORT="no"
2401          ;;
2402      esac
2403    elif test "$_os" = "SunOS"; then
2404       DEFAULT_TO_STLPORT="yes"
2405    elif test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
2406       DEFAULT_TO_STLPORT="yes"
2407    elif test "$_os" = "OS2"; then
2408       DEFAULT_TO_STLPORT="yes" 
2409    elif test "$_os" = "FreeBSD"; then
2410       DEFAULT_TO_STLPORT="yes"
2411    fi
2412    if test "$DEFAULT_TO_STLPORT" = "yes"; then
2413       AC_MSG_RESULT([stlport])
2414    else
2415       AC_MSG_RESULT([system])
2416    fi
2417    if test "$WITH_STLPORT" = "auto"; then
2418       WITH_STLPORT=$DEFAULT_TO_STLPORT
2419    fi
2421 dnl ===================================================================
2422 dnl Checks for STLPORT
2423 dnl ===================================================================
2424    AC_MSG_CHECKING([for STL providing headers])
2425    STLPORT4=""
2426    USE_SYSTEM_STL=""
2427    if test "$WITH_STLPORT" = "yes"; then
2428       AC_MSG_RESULT([using internal stlport.])
2429       if test "$DEFAULT_TO_STLPORT" != "yes"; then
2430          AC_MSG_WARN([using stlport. Warning, breaks your ABI compatability!])
2431          echo "using stlport. Warning, breaks your ABI compatability!" >>warn
2432       fi
2433    elif test "$WITH_STLPORT" = "no"; then
2434       AC_MSG_RESULT([using system STL])
2435       USE_SYSTEM_STL="YES"
2436       if test "$DEFAULT_TO_STLPORT" != "no"; then
2437          AC_MSG_WARN([using system STL. Warning, breaks your ABI compatability!])
2438          echo "using system STL. Warning, breaks your ABI compatability!" >>warn
2439       fi
2440    else
2441       STLPORT4=$WITH_STLPORT
2442       if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2443          AC_TRY_CPP($STLPORT4/stlport/hash_map, AC_MSG_RESULT([checked.]), AC_MSG_ERROR([STLport headers not found.]))
2444       else
2445          dnl AC_TRY_CPP doesn't work for MSVC because C++ preprocessor is not found by autoconf.
2446          if test -f "$STLPORT4/stlport/hash_map"; then
2447             AC_MSG_RESULT([checked.])
2448          else
2449             AC_MSG_ERROR([STLport headers not found.])
2450          fi
2451       fi
2452       if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2453          AC_MSG_CHECKING([for STLport libraries])
2454          if test "$_os" = "SunOS"; then
2455                       if test -f "$STLPORT4/lib/libstlport_sunpro.so"; then
2456                               AC_MSG_RESULT([checked])
2457                       elif test -f "$STLPORT4/lib/libstlport.so"; then
2458                               AC_MSG_RESULT([checked])
2459                               STLPORT_VER=500
2460                       else
2461                               AC_MSG_ERROR([STLport libraries not found])
2462                       fi
2463               elif test "$_os" = "Darwin"; then
2464                       if test -f "$STLPORT4/lib/libstlport_gcc.dylib"; then
2465                               AC_MSG_RESULT([checked])
2466                       elif test -f "$STLPORT4/lib/libstlport.dylib"; then
2467                               AC_MSG_RESULT([checked])
2468                               STLPORT_VER=500
2469                       else
2470                               AC_MSG_ERROR([STLport libraries not found])
2471                       fi
2472                    else
2473                            if test -f "$STLPORT4/lib/libstlport_gcc.so"; then
2474                                    AC_MSG_RESULT([checked])
2475                            elif test -f "$STLPORT4/lib/libstlport.so"; then
2476                                    AC_MSG_RESULT([checked])
2477                                    STLPORT_VER=500
2478                            else
2479                                    AC_MSG_ERROR([STLport libraries not found])
2480                            fi
2481                    fi
2482            fi
2483       if test "$DEFAULT_TO_STLPORT" != "yes"; then
2484          AC_MSG_WARN([using stlport. Warning, breaks your ABI compatability!])
2485          echo "using stlport. Warning, breaks your ABI compatability!" >>warn
2486       fi
2487    fi
2489 if test -z "$STLPORT4"; then
2490   STLPORT4="NO_STLPORT4"
2492 if test -z "$STLPORT_VER"; then
2493   STLPORT_VER=400
2495 AC_SUBST(STLPORT4)
2496 AC_SUBST(STLPORT_VER)
2497 AC_SUBST(USE_SYSTEM_STL)
2499 dnl ===================================================================
2500 dnl visibility feature
2501 dnl ===================================================================
2502 if test "$GCC" = "yes"; then
2503    AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
2504    save_CFLAGS=$CFLAGS
2505    CFLAGS="$CFLAGS -fvisibility=hidden"
2506    AC_TRY_LINK([], [ return 0; ], [ HAVE_GCC_VISIBILITY_FEATURE=TRUE ], [])
2507    CFLAGS=$save_CFLAGS
2508    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2509       AC_MSG_RESULT([yes])
2510    else
2511       AC_MSG_RESULT([no])
2512    fi
2515 # ===================================================================
2516 # use --ccache-skip?
2517 # ===================================================================
2518 dnl used to escape compiler options for ccache that otherwise prevent 
2519 dnl caching of the results (like "-x objective-c++" for Mac)
2520 AC_MSG_CHECKING([whether we are allowed and able to use --ccache-skip])
2521 if test "$_os" != "Darwin" ; then
2522    AC_MSG_RESULT([only used on Mac currently, skipping])
2523 elif test "$enable_ccache_skip" = "no" ; then
2524    AC_MSG_RESULT([no - diabled explicitly])
2525 elif test "$enable_ccache_skip" = "yes" ; then
2526    AC_MSG_RESULT([yes - enabled explicitly, skipping checks])
2527    AC_SUBST([USE_CCACHE], [YES])
2528 elif test "$enable_ccache_skip" = "auto" ; then
2529    # checking for ccache presence/version
2530    AC_MSG_RESULT([probing...])
2531    AC_PATH_PROG([CCACHE],[ccache],[not_found])
2532    if test "$CCACHE" = "not_found" ; then
2533       AC_MSG_NOTICE([not enabling --ccache-skip (ccache not found)])
2534    else
2535       # check ccache version 
2536       AC_MSG_CHECKING([whether version of ccache is suitable])
2537       CCACHE_VERSION=`"$CCACHE" -V | "$AWK" '/^ccache version/{print $3}'`
2538       if test "$CCACHE_VERSION" = "2.4_OOo"; then
2539          AC_MSG_RESULT([yes])
2540          AC_MSG_CHECKING([whether ccache is actually used for the build])
2541          AC_LANG_PUSH([C++])
2542          save_CXXFLAGS=$CXXFLAGS
2543          CXXFLAGS="$CXXFLAGS --ccache-skip -O2"
2544          dnl an empty program will do, we're checking the compiler flags
2545          AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[]), 
2546             [use_ccache=yes], [use_ccache=no])
2547          if test $use_ccache = yes ; then
2548             AC_MSG_RESULT([yes, will enable --ccache-skip])
2549             AC_SUBST([USE_CCACHE], [YES])
2550          else
2551             AC_MSG_RESULT([no, will not enable --ccache-skip])
2552          fi
2553          CXXFLAGS=$save_CXXFLAGS
2554          AC_LANG_POP([C++])
2555       else
2556          AC_MSG_RESULT([no])
2557          AC_MSG_NOTICE([ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip])
2558       fi
2559    fi
2560 else
2561    AC_MSG_ERROR([invalid option to --enable-ccache-skip. Valid values are "auto", "yes" and "no"])
2564 dnl ===================================================================
2565 dnl system stl sanity tests
2566 dnl ===================================================================
2567 if test "$USE_SYSTEM_STL" = "YES"; then
2568    AC_MSG_CHECKING([if hash_map will be in __gnu_cxx namespace])
2569    AC_LANG_PUSH([C++])
2571    AC_TRY_COMPILE([#include <ext/hash_map>
2572 using namespace __gnu_cxx;
2573 ],[hash_map<int, int> t; return 0;],
2574   ac_cv_cxx_have_ext_hash_map=yes, ac_cv_cxx_have_ext_hash_map=no)
2576    if test "$ac_cv_cxx_have_ext_hash_map" = "no"; then
2577       AC_MSG_ERROR([Can't find hash_map. Try with --with-stlport])
2578    else
2579       AC_MSG_RESULT([$ac_cv_cxx_have_ext_hash_map])
2580    fi
2582    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2583       AC_MSG_CHECKING([if STL headers are visibility safe])
2584       AC_EGREP_HEADER(visibility push, string, stlvisok=yes, stlvisok=no)
2585       AC_MSG_RESULT([$stlvisok])
2586       if test "$stlvisok" = "no"; then
2587          AC_MSG_WARN([Your gcc STL headers are not visibility safe. Disabling visibility])
2588          echo "Your gcc STL headers are not visibility safe. Disabling visibility" >> warn
2589          unset HAVE_GCC_VISIBILITY_FEATURE
2590       fi
2591    fi
2593    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2594       sharedlink_ldflags_save=$LDFLAGS
2595       LDFLAGS="$LDFLAGS -fvisibility-inlines-hidden -fpic -shared"
2597       AC_MSG_CHECKING([if gcc is -fvisibility-inlines-hidden safe with STL headers])
2598       AC_TRY_LINK([#include <sstream>
2599 using namespace std;
2600 ],[istringstream strm( "test" ); return 0;],
2601       $EGREP -q  unresolvable conftest.err;
2602       if test $? -eq 0; then gccvisok=no; else gccvisok=yes; fi, 
2603       gccvisok=no)
2604       AC_MSG_RESULT([$gccvisok])
2605       if test "$gccvisok" = "no"; then
2606          AC_MSG_WARN([Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility])
2607          echo "Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >> warn
2608          unset HAVE_GCC_VISIBILITY_FEATURE
2609       fi
2611       LDFLAGS=$sharedlink_ldflags_save
2612    fi
2614    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2615       AC_MSG_CHECKING([if gcc has a visibility bug with class-level attributes (GCC bug 26905)])
2616       cat >visibility.cxx <<_ACEOF
2617 #pragma GCC visibility push(hidden)
2618 struct __attribute__ ((visibility ("default"))) TestStruct {
2619   static void Init();
2621 __attribute__ ((visibility ("default"))) void TestFunc() {
2622   TestStruct::Init();
2624 _ACEOF
2625       if ! $CXX $CXXFLAGS $CPPFLAGS -fpic -S visibility.cxx 2>/dev/null > /dev/null; then
2626          gccvisbroken=yes
2627       else
2628          case "$build_cpu" in
2629             i?86|x86_64)
2630                if $EGREP -q '@PLT' visibility.s; then
2631                   gccvisbroken=no
2632                else 
2633                   gccvisbroken=yes
2634                fi
2635                ;;
2636             *)
2637                gccvisbroken=no
2638                ;;
2639          esac
2640       fi
2641       rm -f visibility.s
2643       AC_MSG_RESULT([$gccvisbroken])
2644       if test "$gccvisbroken" = "yes"; then
2645          AC_MSG_WARN([Your gcc is not -fvisibility=hidden safe. Disabling visibility])
2646          echo "Your gcc is not -fvisibility=hidden safe. Disabling visibility" >> warn
2647          unset HAVE_GCC_VISIBILITY_FEATURE
2648       fi
2649    fi
2651    AC_LANG_POP([C++])
2654 AC_SUBST(HAVE_GCC_VISIBILITY_FEATURE)
2656 dnl ===================================================================
2657 dnl allocator
2658 dnl ===================================================================
2659 AC_MSG_CHECKING([which memory allocator to use])
2660 if test "$with_alloc" = "system"; then
2661     AC_MSG_RESULT([system])
2662     ALLOC="SYS_ALLOC";
2663     AC_CHECK_FUNCS([malloc realloc calloc free])
2665 if test "$with_alloc" = "tcmalloc"; then
2666     AC_MSG_RESULT(tcmalloc)
2667     if ! echo $build_cpu | grep -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
2668         AC_MSG_ERROR([tcmalloc only available/usable on ix86])
2669     fi
2670     AC_CHECK_LIB(tcmalloc, malloc, [],
2671         [AC_MSG_ERROR(tcmalloc not found or functional. Install the Google Profiling Tools)], [])
2672     ALLOC="TCMALLOC";
2674 if test "$with_alloc" = "jemalloc"; then
2675   if test "$_os" != "FreeBSD" -o "$_os" != "NetBSD"; then
2676     AC_MSG_RESULT(jemalloc)
2677     save_CFLAGS=$CFLAGS
2678     CFLAGS="$CFLAGS -pthread"
2679     AC_CHECK_LIB(jemalloc, malloc, [],
2680         [AC_MSG_ERROR(jemalloc not found or functional. Install the jemalloc allocator.)], [])
2681     ALLOC="JEMALLOC";
2682     CFLAGS=$save_CFLAGS
2683   else
2684     AC_MSG_RESULT([system])
2685     ALLOC="SYS_ALLOC";
2686     AC_CHECK_FUNCS([malloc realloc calloc free])
2687   fi
2689 if test "$with_alloc" = "internal" -o -z "$with_alloc"; then
2690    AC_MSG_RESULT([internal])
2692 AC_SUBST(ALLOC)
2694 dnl ===================================================================
2695 dnl Custom build version
2696 dnl ===================================================================
2698 AC_MSG_CHECKING([whether to add custom build version])
2699 if test "z$with_build_version" != "z"; then
2700    BUILD_VER_STRING=$with_build_version
2701    AC_MSG_RESULT([yes, $BUILD_VER_STRING])
2702 else
2703    BUILD_VER_STRING=
2704    AC_MSG_RESULT([no])
2706 AC_SUBST(BUILD_VER_STRING)
2708 dnl ===================================================================
2709 dnl Java support enable
2710 dnl ===================================================================
2711 AC_MSG_CHECKING([whether to build with Java support])
2712 if test "$WITH_JAVA" != "no"; then
2713    AC_MSG_RESULT([yes])
2714    SOLAR_JAVA="TRUE"
2715 else
2716    AC_MSG_RESULT([no])
2717    SOLAR_JAVA=""
2719    AC_MSG_WARN([building without java will mean some features will not be available])
2720    echo "building without java will mean some features will not be available" >>warn
2722 AC_SUBST(SOLAR_JAVA)
2724 if test "$_os" = "Linux" && test "$build_cpu" = "powerpc"; then
2725    # IBMs JDK needs this...
2726    JITC_PROCESSOR_TYPE=6
2727    export JITC_PROCESSOR_TYPE
2730 if test "$_os" = "WINNT"; then
2731    if test -z "$with_jdk_home"; then
2732       _jdk_home=`./oowintool --jdk-home`
2733        if test -d "$_jdk_home"; then
2734           with_jdk_home="$_jdk_home"
2735        fi
2736    else
2737       with_jdk_home=`cygpath -u "$with_jdk_home"`
2738    fi
2741 dnl ===================================================================
2742 dnl Checks for java
2743 dnl ===================================================================
2744 if test "$SOLAR_JAVA" != ""; then
2745    JAVA_HOME=; export JAVA_HOME
2746    if test -z "$with_jdk_home"; then
2747       AC_PATH_PROG(JAVAINTERPRETER, $WITH_JAVA)
2748    else
2749       _java_path="$with_jdk_home/bin/$WITH_JAVA"
2750       dnl Check if there is a java interpreter at all.
2751       if test -x "$_java_path"; then
2752          JAVAINTERPRETER=$_java_path
2753       else
2754          AC_MSG_ERROR([$_java_path not found set with_jdk_home])
2755       fi
2756    fi
2757    if test "$_os" = "WINNT"; then
2758       if test x`echo "$JAVAINTERPRETER" | grep -i '\.exe$'` = x; then
2759           JAVAINTERPRETER="${JAVAINTERPRETER}.exe"
2760       fi
2761       JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"`
2762       JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"`
2763    elif test "$_os" = "Darwin"; then
2764       dnl HACK:  There currently is only a 32 bit version of OOo for Mac OS X,
2765       dnl and Tiger java complains about -d32 while Snow Leopard java needs it
2766       dnl to run in 32 bit mode and be able to load OOo jnilibs:
2767       AC_MSG_CHECKING([whether to pass -d32 to Java interpreter])
2768       if "$JAVAINTERPRETER" -d32 >&5 2>&5; then
2769          AC_MSG_RESULT([yes])
2770          JAVAIFLAGS=-d32
2771       else
2772          AC_MSG_RESULT([no])
2773       fi
2774    fi
2777 dnl ===================================================================
2778 dnl Checks for JDK.
2779 dnl ===================================================================
2780 if test "$SOLAR_JAVA" != ""; then
2781    _gij_longver=0
2782    AC_MSG_CHECKING([the installed JDK])
2783    if test -n "$JAVAINTERPRETER"; then
2784       dnl java -version sends output to stderr!
2785       if test `$JAVAINTERPRETER -version 2>&1 | grep -c "Kaffe"` -gt 0; then
2786          AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.in])
2787 #        dnl Kaffe specific tests
2788 #        KAFFE_VER=`$JAVAINTERPRETER -version 2>&1 | $EGREP "  Version:" | $SED -r "s/.*  Version: ([[0-9\.]]*).*/\1/"`
2789 #        if test -z "$KAFFE_VER"; then
2790 #          AC_MSG_ERROR([looks like Kaffe but version detection failed])
2791 #        fi
2792 #        _kaffe_ver=`echo "$KAFFE_VER" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
2793 #        if test "$_kaffe_ver" -lt 10100; then
2794 #           AC_MSG_ERROR([Kaffe is too old ($KAFFE_VER - $_kaffe_ver), you need at least 1.1.0])
2795 #        fi
2796 #        JDK=kaffe
2797 #        
2798 #        dnl TODO: define some project exclusion variables
2799 #        
2800 #        AC_MSG_RESULT([checked (Kaffe $KAFFE_VER)])
2801 #        AC_MSG_WARN([EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile])
2802 #        echo "EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile" >>warn
2803 #        JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
2804       elif test `$JAVAINTERPRETER --version 2>&1 | grep -c "GNU libgcj"` -gt 0; then
2805         JDK=gcj
2806         AC_MSG_RESULT([checked (gcj)]) 
2807         _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
2808         _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
2810       elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | grep -c "BEA"` -gt 0; then
2811          AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.in])
2812 #        JDK=bea
2814 #        dnl BEA JDK specific tests
2815 #        _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
2816 #        _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
2818 #        if test "$_jdk_ver" -lt 10500; then
2819 #          AC_MSG_ERROR([JDK is too old, you need at least BEA JDK 1.5.0])
2820 #        fi
2822 #        AC_MSG_RESULT([checked (BEA JDK $_jdk)])
2824 #        if test "$with_jdk_home" = ""; then
2825 #             AC_MSG_ERROR([In order to successfully build OpenOffice.org using the BEA JDK,
2826 #you must use the "--with-jdk-home" configure option explicitly])
2827 #        fi
2829 #        AC_MSG_WARN([A bug in certain BEA JREs can prevent you from successfully compiling some modules])
2830 #        echo "A bug in certain BEA JREs can prevent you from successfully compiling some modules" >>warn
2832 #        JAVA_HOME=$with_jdk_home
2834       elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | grep -c "IBM"` -gt 0; then
2835         JDK=ibm
2837         dnl IBM JDK specific tests
2838         _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
2839         _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
2840    
2841         if test "$_jdk_ver" -lt 10500; then
2842              AC_MSG_ERROR([IBM JDK is too old, you need at least 1.5])
2843         fi
2845         AC_MSG_RESULT([checked (IBM JDK $_jdk)])
2847         if test "$with_jdk_home" = ""; then
2848              AC_MSG_ERROR([In order to successfully build OpenOffice.org using the IBM JDK,
2849 you must use the "--with-jdk-home" configure option explicitly])
2850         fi
2852         JAVA_HOME=$with_jdk_home
2853         
2854       else      
2855         JDK=sun
2857         dnl SUN JDK specific tests
2858         _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
2859         _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
2860    
2861         if test "$_jdk_ver" -lt 10500; then
2862              AC_MSG_ERROR([JDK is too old, you need at least 1.5])
2863         fi
2864         AC_MSG_RESULT([checked (JDK $_jdk)])
2865         JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
2866         if test "$_os" = "WINNT"; then
2867           JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
2868         fi
2869         if test "$_os" = "OS2"; then
2870           JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
2871         fi
2872       fi
2873    else
2874       AC_MSG_ERROR([JAVA not found. You need at least jdk-1.5, or gcj-4])
2875    fi
2876 else
2877    dnl Java disabled
2878    JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME
2881 dnl ===================================================================
2882 dnl Checks for javac
2883 dnl ===================================================================
2884 if test "$SOLAR_JAVA" != ""; then
2885     if test "$JDK" = "gcj"; then 
2886         javacompiler=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g" | $SED -e "s/java/javac/g"`
2887     else
2888         javacompiler="javac"
2889     fi
2890     if test "$_os" = "OS2"; then
2891       if test x`echo "$javacompiler" | grep -i '\.exe$'` = x; then
2892           javacompiler="${javacompiler}.exe"
2893       fi
2894     fi
2895     if test -z "$with_jdk_home"; then
2896         AC_PATH_PROG(JAVACOMPILER, $javacompiler)
2897     else
2898         _javac_path="$with_jdk_home/bin/$javacompiler"
2899         dnl Check if there is a java compiler at all.
2900         if test -x "$_javac_path"; then
2901             JAVACOMPILER=$_javac_path
2902         fi
2903     fi
2904     if test -z "$JAVACOMPILER"; then
2905       AC_MSG_ERROR([$javacompiler not found set with_jdk_home])
2906     fi
2907     if test "$_os" = "WINNT"; then
2908        if test x`echo "$JAVACOMPILER" | grep -i '\.exe$'` = x; then
2909           JAVACOMPILER="${JAVACOMPILER}.exe"
2910        fi
2911        JAVACOMPILER=`cygpath -d "$JAVACOMPILER"`
2912        JAVACOMPILER=`cygpath -u "$JAVACOMPILER"`
2913     fi
2914     if test "$_os" = "OS2"; then
2915        if test x`echo "$JAVACOMPILER" | grep -i '\.exe$'` = x; then
2916           JAVACOMPILER="${JAVACOMPILER}.exe"
2917        fi
2918     fi
2920     if test `$JAVACOMPILER -version 2>&1 | grep -c "Eclipse Java Compiler"` -gt 0; then
2921         AC_MSG_CHECKING([re-checking JDK])
2922         JDK=gcj
2923         AC_MSG_RESULT([checked (ecj)])
2924         #TODO: what's to do here? some switch to do 1.5 compiling?
2925         JAVAFLAGS="-source 1.5 -target 1.5"
2926         _gij_longver="40200"
2927     fi
2930 JAVACISGCJ=""
2931 dnl ===================================================================
2932 dnl Checks that javac is gcj
2933 dnl ===================================================================
2934 if test "$SOLAR_JAVA" != ""; then
2935     if test `$JAVACOMPILER --version 2>&1 | grep -c "GCC"` -gt 0; then
2936         JAVACISGCJ="yes"
2937     fi
2939 AC_SUBST(JAVACISGCJ)
2941 dnl ===================================================================
2942 dnl Checks for javadoc
2943 dnl ===================================================================
2944 if test "$SOLAR_JAVA" != ""; then
2945     if test -z "$with_jdk_home"; then
2946         AC_PATH_PROG(JAVADOC, javadoc)
2947     else
2948         _javadoc_path="$with_jdk_home/bin/javadoc"
2949         if test "$_os" = "OS2"; then
2950           if test x`echo "$_javadoc_path" | grep -i '\.exe$'` = x; then
2951               _javadoc_path="${_javadoc_path}.exe"
2952           fi
2953         fi
2954         dnl Check if there is a javadoc at all.
2955         if test -x "$_javadoc_path"; then
2956             JAVADOC=$_javadoc_path
2957         else
2958             AC_PATH_PROG(JAVADOC, javadoc)
2959         fi
2960     fi
2961     if test -z "$JAVADOC"; then
2962       AC_MSG_ERROR([$_javadoc_path not found set with_jdk_home])
2963     fi
2964     if test "$_os" = "WINNT"; then
2965         if test x`echo "$JAVADOC" | grep -i '\.exe$'` = x; then
2966             JAVADOC="${JAVADOC}.exe"
2967         fi
2968         JAVADOC=`cygpath -d "$JAVADOC"`
2969         JAVADOC=`cygpath -u "$JAVADOC"`
2970     fi
2971     if test "$_os" = "OS2"; then
2972         if test x`echo "$JAVADOC" | grep -i '\.exe$'` = x; then
2973             JAVADOC="${JAVADOC}.exe"
2974         fi
2975     fi
2978 if test "$SOLAR_JAVA" != ""; then
2979     dnl first check if we have been asked to autodetect JAVA_HOME with a recent gij
2980     if test "$JDK" = "gcj" -a -z "$JAVA_HOME"; then
2981       if test "x$with_jdk_home" = "x" -a "$_gij_longver" -ge "40200"; then
2982         cat > findhome.java <<_ACEOF
2983 [import java.io.File;
2985 class findhome
2987     public static void main(String args[])
2988     {
2989         String jrelocation = System.getProperty("java.home");
2990         File jre = new File(jrelocation);
2991         System.out.println(jre.getParent());
2992     }
2994 _ACEOF
2995         AC_MSG_CHECKING([if javac works])
2996         javac_cmd="$JAVACOMPILER findhome.java 1>&2"
2997         AC_TRY_EVAL(javac_cmd)
2998         if test $? = 0 && test -f ./findhome.class ; then
2999           AC_MSG_RESULT([javac works])
3000         else
3001           echo "configure: javac test failed" >&5
3002           cat findhome.java >&5
3003           AC_MSG_ERROR([javac does not work - java projects will not build!])
3004         fi
3006         AC_MSG_CHECKING([if gij knows its java.home])
3007         JAVA_HOME=`$JAVAINTERPRETER findhome`
3008         if test $? = 0 && test "$JAVA_HOME" != "" ; then
3009           AC_MSG_RESULT([$JAVA_HOME])
3010         else
3011           echo "configure: java test failed" >&5
3012           cat findhome.java >&5
3013           AC_MSG_ERROR([gij does not know its java.home - use --with-jdk-home])
3014         fi
3015       else
3016         JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*$WITH_JAVA,,p"`
3017       fi
3018     fi
3020     dnl second sanity check JAVA_HOME if possible
3021     if test "$JDK" != "gcj" -o "$_gij_longver" -ge "40200"; then
3022       # check if JAVA_HOME was (maybe incorrectly?) set automatically to /usr
3023       if test "$JAVA_HOME" = "/usr" -a "x$with_jdk_home" = "x"; then
3025          if basename $(readlink $(readlink $JAVACOMPILER)) >/dev/null 2>/dev/null; then
3026           # try to recover first by looking whether we have a alternatives 
3027           # system as in Debian or newer SuSEs where following /usr/bin/javac
3028           # over /etc/alternatives/javac leads to the right bindir where we
3029           # just need to strip a bit away to get a valid JAVA_HOME
3030             JAVA_HOME=$(readlink $(readlink $JAVACOMPILER))
3031          elif readlink $JAVACOMPILER >/dev/null 2>/dev/null; then
3032             # maybe only one level of symlink (e.g. on Mac)
3033             JAVA_HOME=$(readlink $JAVACOMPILER)
3034          else
3035           # else warn
3036           AC_MSG_WARN([JAVA_HOME is set to /usr - this is very likely to be incorrect])
3037           AC_MSG_WARN([if this is the case, please inform the correct JAVA_HOME with --with-jdk-home])
3038           echo "JAVA_HOME is set to /usr - this is very likely to be incorrect" >> warn
3039           echo "if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >> warn
3040           fi
3041          dnl now that we have the path to the real javac, make a JAVA_HOME out of it..
3042          if test "$JAVA_HOME" != "/usr"; then
3043             if test "$_os" = "Darwin"; then
3044                dnl Leopard returns a non-suitable path with readlink - points to "Current" only
3045                JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/Current/Commands/javac$,/CurrentJDK/Home,)
3046                dnl Tiger already returns a JDK path..
3047                JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/CurrentJDK/Commands/javac$,/CurrentJDK/Home,)
3048             else
3049                JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/bin/javac$,,)
3050             fi
3051          fi
3052       fi
3053       # now check if $JAVA_HOME is really valid
3054       if test "$_os" = "Darwin"; then
3055          if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then
3056             JAVA_HOME_OK="NO"
3057          fi
3058       elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then
3059          JAVA_HOME_OK="NO"
3060       fi
3061       if test "$JAVA_HOME_OK" = "NO"; then
3062          AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script])
3063          AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed])
3064          AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly])
3065          echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn
3066          echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn
3067          echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn
3068 #         if test "$JDK" = "gcj"; then
3069 #             echo "e.g. install java-1.4.2-gcj-compat-devel and use --with-jdk-home=/usr/lib/jvm/java-1.4.2-gcj" >> warn
3070 #         fi
3071       fi
3072     fi
3075 AWTLIB=
3076 if test "$SOLAR_JAVA" != ""; then
3077    AC_MSG_CHECKING([for jawt lib name])
3078    if test "$JDK" = "gcj"; then 
3079       save_CFLAGS=$CFLAGS
3080       save_LDFLAGS=$LDFLAGS
3081       CFLAGS="$CFLAGS -I$JAVA_HOME/include"
3082       LDFLAGS="$LDFLAGS -L$JAVA_HOME/lib -lgcj"
3083       exec 6>/dev/null # no output
3084       AC_CHECK_HEADER(jni.h, [],
3085                     [AC_MSG_ERROR([jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?])], [])
3086       AC_CHECK_LIB(gcjawt, JAWT_GetAWT, [ AWTLIB="-lgcjawt -lgcj"] )
3087       exec 6>&1 # output on again
3088       CFLAGS=$save_CFLAGS
3089       LDFLAGS=$save_LDFLAGS
3090    fi
3091    # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols.
3092    # A workaround is to link also against libpmawt.so
3093    if test "$JDK" = "ibm" ; then
3094       save_CFLAGS=$CFLAGS
3095       save_LDFLAGS=$LDFLAGS
3096       save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
3097       CFLAGS="$CFLAGS -I$JAVA_HOME/include"
3098       LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin"
3099       LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH
3100       export LD_LIBRARY_PATH
3101       exec 6>/dev/null # no output
3102       AC_CHECK_HEADER(jni.h, [],
3103                     [AC_MSG_ERROR([jni.h could not be found.])], [])
3104       AC_CHECK_LIB(jawt, JAWT_GetAWT, [ AWTLIB="-ljawt"] )
3105       if test -z "$AWTLIB"; then
3106          LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt"
3107          AC_CHECK_LIB(mawt, JAWT_GetAWT, [ AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt"])
3108       fi
3109       exec 6>&1 # output on again
3110       CFLAGS=$save_CFLAGS
3111       LDFLAGS=$save_LDFLAGS
3112       LD_LIBRARY_PATH=$save_LD_LIBRARY_PATH
3113    fi
3114    if test -z "$AWTLIB"; then
3115       AWTLIB=-ljawt
3116    fi
3117    AC_MSG_RESULT([$AWTLIB])
3118    AC_SUBST(AWTLIB)
3121 dnl ===================================================================
3122 dnl Check for optional gcj for AOT
3123 dnl ===================================================================
3124 if test "$SOLAR_JAVA" != ""; then
3125   AC_MSG_CHECKING([whether to enable gcj aot compilation])
3126   if test -n "$enable_gcjaot" && test "$enable_gcjaot" != "no"; then
3127      AC_MSG_RESULT([yes])
3128      if test `echo $WITH_JAVA | grep -c "gij"` -eq 0; then
3129         gcjaot="gcj"
3130      else
3131         gcjaot=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g"`
3132      fi
3133      AC_MSG_RESULT([$gcjaot])
3134      if test -n "$with_jdk_home"; then
3135         _javac_path="$with_jdk_home/bin/$gcjaot"
3136         dnl Check if there is a gcj at all.
3137         if test -x "$_javac_path"; then
3138            JAVAAOTCOMPILER=$_javac_path
3139         fi
3140      fi
3141      if test -z "$JAVAAOTCOMPILER"; then
3142         AC_PATH_PROG(JAVAAOTCOMPILER, $gcjaot)
3143      fi
3144      if test -z "$JAVAAOTCOMPILER"; then
3145         AC_MSG_WARN([$gcjaot not found, set with_jdk_home])
3146      fi
3147   else
3148      AC_MSG_RESULT([no])
3149   fi
3152 AC_SUBST(JAVA_HOME)
3153 AC_SUBST(JDK)
3154 AC_SUBST(JAVAFLAGS)
3155 AC_SUBST(JAVAINTERPRETER)
3156 AC_SUBST(JAVAIFLAGS)
3157 AC_SUBST(JAVACOMPILER)
3158 AC_SUBST(JAVAAOTCOMPILER)
3159 AC_SUBST(JAVADOC)
3161 dnl ===================================================================
3162 dnl Checks for specific files.
3163 dnl ===================================================================
3165 dnl ===================================================================
3166 dnl Checks for programs.
3167 dnl ===================================================================
3169 dnl ===================================================================
3170 dnl Check whether we already have dmake
3171 dnl ===================================================================
3172 AC_PATH_PROG(DMAKE, dmake, no)
3173 if test "$DMAKE" = "no"; then
3174     BUILD_DMAKE=YES
3175     echo "dmake will be built on ./bootstrap"
3176 else
3177     AC_MSG_CHECKING([whether the found dmake is the right dmake])
3178     # we need to find out whether that dmake we found is "our" dmake
3179     # or the dmake from Sun's SunStudio Compiler which is something
3180     # different
3181     # This test _should_ work because the one accepts -V (ours) and one
3182     # (the other) not...
3183     $DMAKE -V 2>/dev/null | grep 'dmake .* Version .*' >/dev/null
3184     if test $? -eq 0; then 
3185        BUILD_DMAKE=NO
3186        AC_MSG_RESULT([yes])
3187        AC_MSG_CHECKING([the dmake version])
3188        DMAKE_VERSION=`$DMAKE -V | $AWK '$3 == "Version" {print $4}'`
3189        if test "`echo $DMAKE_VERSION | cut -d'.' -f1`" -gt "4"; then
3190          AC_MSG_RESULT([OK, >= 4.11])
3191        elif test "`echo $DMAKE_VERSION | cut -d'.' -f1`" = "4" && \
3192             test "`echo $DMAKE_VERSION | cut -d'.' -f2`" -ge "11"; then
3193          AC_MSG_RESULT([OK, >= 4.11])
3194        else
3195          AC_MSG_RESULT([too old. >= 4.11 is needed])
3196          echo "A newer dmake will be built on ./bootstrap"
3197          BUILD_DMAKE=YES
3198        fi
3199     else
3200        AC_MSG_RESULT([no])
3201        echo "dmake will be built on ./bootstrap"
3202        BUILD_DMAKE=YES
3203     fi
3205 AC_SUBST(BUILD_DMAKE)
3207 AC_MSG_CHECKING([whether to enable EPM for packing])
3208 if test "$enable_epm" = "yes"; then
3209    AC_MSG_RESULT([yes])
3210    dnl ===================================================================
3211    dnl Check for epm - not needed for windows
3212    dnl ===================================================================
3213    if test "$_os" != "WINNT"; then
3214       if test -n "$with_epm"; then
3215               EPM=$with_epm
3216       else
3217          AC_PATH_PROG(EPM, epm, no)
3218       fi
3219       if test "$EPM" = "no" || test "$EPM" = "internal"; then
3220          echo "EPM will be built."
3221          BUILD_EPM=YES
3222          BUILD_TYPE="$BUILD_TYPE EPM"
3223       else
3224          # Gentoo has some epm which is something different...
3225          AC_MSG_CHECKING([whether the found epm is the right epm])
3226          if $EPM | grep "ESP Package Manager" >/dev/null 2>/dev/null; then
3227             AC_MSG_RESULT([yes])
3228          else
3229             AC_MSG_ERROR([no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm])
3230          fi
3231          AC_MSG_CHECKING([epm version])
3232          EPM_VERSION=`$EPM | grep 'ESP Package Manager' | cut -d' ' -f4 | $SED -e s/v//`
3233          if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \
3234                test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then
3235            AC_MSG_RESULT([OK, >= 3.7])
3236            BUILD_EPM=NO
3237                 if test "$_os" = "Darwin"; then
3238                AC_MSG_CHECKING([which PackageMaker EPM thinks to use])
3239                       _pm=`strings $EPM | grep PackageMaker | cut -d" " -f1`
3240                       if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then
3241                               AC_MSG_ERROR([$_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)])
3242                       elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then
3243                             AC_MSG_RESULT([$_pm, ok])
3244                       else # we never should get here, but go safe
3245                                   AC_MSG_ERROR([$_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)])
3246                           fi
3247                fi
3248          else
3249            AC_MSG_RESULT([too old. epm >= 3.7 is required.])
3250            echo "EPM will be built."
3251            BUILD_EPM=YES
3252            BUILD_TYPE="$BUILD_TYPE EPM"
3253          fi
3254       fi
3255    fi
3257    # test which package format to use
3258    AC_MSG_CHECKING([which package format to use])
3260    # defaults
3261    case "$_os" in
3262         OS2)
3263                 PKGFORMAT=native
3264                 ;;
3265         Darwin)
3266                 PKGFORMAT=dmg
3267                 ;;
3268         SunOS)
3269                 PKGFORMAT=pkg
3270                 ;;
3271         Linux)
3272       # if building on Debian, default should be deb...
3273       if test -e /etc/debian_version; then
3274          PKGFORMAT=deb
3275       else
3276          PKGFORMAT=rpm
3277       fi
3278                 ;;
3279         AIX)
3280                 PKGFORMAT=aix
3281                 ;;
3282         *BSD)
3283                 PKGFORMAT=bsd
3284                 ;;
3285         OSF1)
3286                 PKGFORMAT=setld
3287                 ;;
3288     WINNT)
3289         PKGFORMAT=msi
3290         ;;
3291         # we never should get here since we check the arciecture/os at the beginning,
3292         # but go sure...
3293         *)
3294                 AC_MSG_ERROR([unknown system])
3295    esac
3296    if test -n "$with_package_format"; then
3297         for i in $with_package_format; do 
3298                 case "$i" in
3299                         aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable | archive | dmg | installed | msi)
3300                         ;;
3301                 *)
3302                         AC_MSG_ERROR([unsupported format $i. Supported by EPM are:
3303 aix - AIX software distribution
3304 bsd - FreeBSD, NetBSD, or OpenBSD software distribution
3305 depot or swinstall - HP-UX software distribution
3306 deb - Debian software distribution
3307 inst or tardist - IRIX software distribution
3308 osx - MacOS X software distribution
3309 pkg - Solaris software distribution
3310 rpm - RedHat software distribution
3311 setld - Tru64 (setld) software distribution
3312 native - "Native" software distribution for the platform
3313 portable - Portable software distribution
3314 OOo additionally supports:
3315 archive - .tar.gz or .zip
3316 dmg - Mac OS X .dmg
3317 installed - installation tree
3318 msi - Windows .msi
3319                         ]) 
3320                         ;;
3321                 esac
3322         done
3323         PKGFORMAT="$with_package_format"
3324    fi
3325    AC_MSG_RESULT([$PKGFORMAT])
3326    if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then
3327       AC_MSG_CHECKING([for rpm])
3328       for a in "$RPM" rpmbuild rpm; do
3329          $a --usage >/dev/null 2> /dev/null
3330          if test $? -eq 0; then
3331             RPM=$a
3332             break
3333          else
3334             $a --version >/dev/null 2> /dev/null
3335             if test $? -eq 0; then
3336                RPM=$a
3337                break
3338             fi 
3339          fi
3340        done
3341        if test -z "$RPM" ; then
3342           AC_MSG_ERROR([not found])
3343        elif "$RPM" --usage 2>&1 | $EGREP -- -bb >/dev/null; then
3344           RPM_PATH=`which $RPM`
3345           AC_MSG_RESULT([$RPM_PATH])
3346        else
3347           AC_MSG_ERROR([cannot build packages. Try installing rpmbuild.])
3348        fi
3349    fi
3350    if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then
3351       AC_PATH_PROG(DPKG, dpkg, no)
3352       if test "$DPKG" = "no"; then
3353          AC_MSG_ERROR([dpkg needed for deb creation. Install dpkg.])
3354       fi
3355    fi
3356    if echo "PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then
3357       if test "$_os" = "Darwin"; then
3358          AC_MSG_CHECKING([for PackageMaker availability])
3359          if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then
3360             AC_MSG_ERROR([not installed. Please install Apples Dev Tools])
3361          else
3362             AC_MSG_RESULT([ok])
3363          fi
3364       else
3365          AC_MSG_ERROR([PackageMaker needed to build OSX packages and you are not on OSX...])
3366        fi
3367    fi
3368    if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null || \
3369       echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
3370         if test "$EPM" != "no" && test "$EPM" != "internal"; then
3371            if test "`echo $EPM_VERSION | cut -d'.' -f1`" -lt "4"; then
3372                AC_MSG_CHECKING([whether epm is patched for OOos needs])
3373                if grep "Patched for OpenOffice.org" $EPM >/dev/null 2>/dev/null; then
3374                   AC_MSG_RESULT([yes])
3375                else
3376                   AC_MSG_RESULT([no])
3377                   if echo "$PKGFORMAT" | grep -q rpm; then
3378                       _pt="rpm"
3379                       AC_MSG_WARN([the rpms will need to be installed with --nodeps])
3380                       echo "the rpms will need to be installed with --nodeps" >> warn
3381                   else
3382                       _pt="pkg"
3383                   fi
3384                   AC_MSG_WARN([the ${_pt}s will not be relocateable])
3385                   echo "the ${_pt}s will not be relocateable" >> warn
3386                   AC_MSG_WARN([if you want to make sure installation without --nodeps and
3387                   relocation will work, you need to patch your epm with the
3388                   patch in epm/epm-3.7.patch or build with
3389                   --with-epm=internal which will build a suitable epm])
3390                fi
3391            fi
3392         fi
3393    fi
3394    if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
3395       AC_PATH_PROG(PKGMK, pkgmk, no)
3396       if test "$PKGMK" = "no"; then
3397          AC_MSG_ERROR([pkgmk needed for Solaris pkg creation. Install it.])
3398       fi
3399    fi
3400    AC_SUBST(BUILD_EPM)
3401    AC_SUBST(RPM)
3402    AC_SUBST(DPKG)
3403    AC_SUBST(PKGMK)
3404 else
3405    AC_MSG_RESULT([no])
3406    EPM=NO
3407    PKGFORMAT=native
3409 AC_SUBST(EPM)
3410 AC_SUBST(PKGFORMAT)
3412 dnl ===================================================================
3413 dnl Check for gperf
3414 dnl ===================================================================
3415 AC_PATH_PROG(GPERF, gperf)
3416 if test -z "$GPERF"; then
3417         AC_MSG_ERROR([gperf not found but needed. Install it.])
3419 AC_MSG_CHECKING([gperf version])
3420 if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then
3421         AC_MSG_RESULT([OK])
3422 else
3423         AC_MSG_ERROR([too old, you need at least 3.0.0])
3426 dnl ===================================================================
3427 dnl Check for building stax
3428 dnl ===================================================================
3429 AC_MSG_CHECKING([whether to build the stax])
3430 if test -f "./stax/download/jsr173_1.0_api.jar"; then
3431    BUILD_STAX=NO
3432    AC_MSG_RESULT([no, will use the prebuilt stax/download/jsr173_1.0_api.jar])
3433 else
3434    BUILD_STAX=YES
3435    AC_MSG_RESULT([yes])
3437 AC_SUBST(BUILD_STAX)
3439 dnl ===================================================================
3440 dnl Check for building ODK
3441 dnl ===================================================================
3442 AC_MSG_CHECKING([whether to build the ODK])
3443 if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then
3444    AC_MSG_RESULT([yes])
3445    if test "$WITH_JAVA" != "no"; then
3446    AC_MSG_CHECKING([for external/unowinreg/unowinreg.dll])
3447    if ! test -f "./external/unowinreg/unowinreg.dll"; then
3448       HAVE_UNOWINREG_DLL=no
3449    else
3450       HAVE_UNOWINREG_DLL=yes
3451    fi
3452    if test "$HAVE_UNOWINREG_DLL" = "yes"; then
3453       AC_MSG_RESULT([found])
3454       BUILD_UNOWINREG=NO
3455    else
3456       if test "$_os" = "WINNT"; then
3457          AC_MSG_RESULT([not found, will be built])
3458       else
3459          AC_MSG_WARN([not found, will be cross-built using mingw32])
3460       fi
3461       BUILD_UNOWINREG=YES
3462    fi
3463    if test "$_os" != "WINNT" && test "$BUILD_UNOWINREG" = "YES"; then
3464       if test -z "$WITH_MINGWIN" || test "$WITH_MINGWIN" = "0"; then
3465          AC_MSG_ERROR([for rebuilding unowinreg.dll you need the mingw32 C++ compiler.
3466          Specify mingw32 g++ executable name with --with-mingwin.
3467          Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and
3468          put it into external/unowinreg])
3469       fi
3470       if echo "$WITH_MINGWIN" | $EGREP -q "/"; then
3471          if ! test -x "$WITH_MINGWIN"; then MINGWCXX=false; else MINGWCXX=`basename $WITH_MINGWIN`; fi
3472       else
3473          AC_CHECK_TOOL(MINGWCXX, $WITH_MINGWIN, false)
3474       fi
3475       if test "$MINGWCXX" = "false"; then
3476          AC_MSG_ERROR(specified MinGW32 C++ cross-compiler not found. Install it or correct name.)
3477       fi
3478       AC_MSG_CHECKING(whether we are using the MinGW32 cross C++ compiler)
3479       if ! echo "`$MINGWCXX -dumpmachine`" | grep -q mingw32; then
3480          AC_MSG_ERROR(no)
3481       else
3482          AC_MSG_RESULT(yes)
3483       fi
3484       if echo "$WITH_MINGWIN" | $EGREP -q "/"; then
3485          if ! test -x "`echo $WITH_MINGWIN | $SED -e s/g++/strip/ | $SED -e s/c++/strip/`"; then MINGSTRIP=false; else MINGWSTRIP=$(basename $(echo $WITH_MINGWIN | $SED -e s/g++/strip/ | $SED -e s/c++/strip/)); fi
3486       else
3487          AC_CHECK_TOOL(MINGWSTRIP, `echo $WITH_MINGWIN | $SED -e s/g++/strip/ | $SED -e s/c++/strip/`, false)
3488       fi
3489       if test "$MINGWSTRIP" = "false"; then
3490          AC_MSG_ERROR(MinGW32 binutils needed. Install them.)
3491       fi
3492       AC_LANG_PUSH([C++])
3493       save_CXX=$CXX
3494       save_CXXCPP=$CXXCPP
3495       CXX=$MINGWCXX
3496       CXXCPP="$MINGWCXX -E"
3497       save_CXXFLAGS=$CXXFLAGS
3498       save_CPPFLAGS=$CPPFLAGS
3499       CXXFLAGS="$CXXFLAGS -I$JAVA_HOME/include"
3500       CPPFLAGS="$CPPFLAGS -I$JAVA_HOME/include"
3501       # LIBS contains -lcrypt etc due to teh AC_CHECK_LIBS which obviously
3502       # do not make sense here (and 'd make the check fail)
3503       save_LIBS=$LIBS
3504       LIBS=""
3505       AC_HAVE_LIBRARY(kernel32)
3506       AC_HAVE_LIBRARY(advapi32)
3507       AC_CHECK_HEADER(windows.h, [], [AC_MSG_ERROR([windows.h missing])])
3508       CXXFLAGS=$save_CXXFLAGS
3509       CPPFLAGS=$save_CPPFLAGS
3510       CXX=$save_CXX
3511       CXXCPP=$save_CXXCPP
3512       LIBS=$save_LIBS
3513       AC_LANG_POP([C++])
3514       fi
3515    fi
3516    BUILD_TYPE="$BUILD_TYPE ODK"
3517 else
3518    AC_MSG_RESULT([no])
3519    BUILD_UNOWINREG=NO
3521 AC_SUBST(BUILD_UNOWINREG)
3522 AC_SUBST(MINGWCXX)
3523 AC_SUBST(MINGWSTRIP)
3525 dnl ===================================================================
3526 dnl Check for system stdlibs
3527 dnl ===================================================================
3528 AC_MSG_CHECKING([whether to provide libstdc++/libgcc_s in the installset])
3529 if test -n "$with_system_stdlibs" -o -n "$with_system_libs" && \
3530    test "$with_system_stdlibs" != "no"; then
3531    AC_MSG_RESULT([no])
3532    SYSTEM_STDLIBS=YES
3533 else
3534    AC_MSG_RESULT([yes])
3535    SYSTEM_STDLIBS=NO
3537 AC_SUBST(SYSTEM_STDLIBS)
3539 dnl ===================================================================
3540 dnl Check for system zlib
3541 dnl ===================================================================
3542 if test "$_os" = "Darwin" && test "$with_system_zlib" != "no"; then
3543    with_system_zlib=yes
3545 AC_MSG_CHECKING([which zlib to use])
3546 if test -n "$with_system_zlib" -o -n "$with_system_libs" && \
3547         test "$with_system_zlib" != "no"; then
3548     AC_MSG_RESULT([external])
3549     SYSTEM_ZLIB=YES
3550     AC_CHECK_HEADER(zlib.h, [],
3551         [AC_MSG_ERROR(zlib.h not found. install zlib)], [])
3552     AC_CHECK_LIB(z, deflate, [ ZLIB=-lz ],
3553         [AC_MSG_ERROR(zlib not found or functional)], [])
3554 else
3555     AC_MSG_RESULT([internal])
3556     SYSTEM_ZLIB=NO
3557     BUILD_TYPE="$BUILD_TYPE ZLIB"
3559 AC_SUBST(SYSTEM_ZLIB)
3561 dnl ===================================================================
3562 dnl Check for system jpeg
3563 dnl ===================================================================
3564 AC_MSG_CHECKING([which jpeg to use])
3565 if test -n "$with_system_jpeg" -o -n "$with_system_libs" && \
3566         test "$with_system_jpeg" != "no"; then
3567     AC_MSG_RESULT([external])
3568     SYSTEM_JPEG=YES
3569     AC_CHECK_HEADER(jpeglib.h, [],
3570         [AC_MSG_ERROR(jpeg.h not found. install libjpeg)], [])
3571     AC_CHECK_LIB(jpeg, jpeg_resync_to_restart, [ JPEG3RDLIB=-ljpeg ],
3572         [AC_MSG_CHECKING(jpeg library not found or fuctional)], [])
3573 else
3574     AC_MSG_RESULT([internal])
3575     SYSTEM_JPEG=NO
3576     BUILD_TYPE="$BUILD_TYPE JPEG"
3578 AC_SUBST(SYSTEM_JPEG)
3580 dnl ===================================================================
3581 dnl Check for system expat
3582 dnl ===================================================================
3583 AC_MSG_CHECKING([which expat to use])
3584 if test -n "$with_system_expat" -o -n "$with_system_libs" && \
3585         test "$with_system_expat" != "no"; then
3586     AC_MSG_RESULT([external])
3587     SYSTEM_EXPAT=YES
3588     AC_CHECK_HEADER(expat.h, [],
3589         [AC_MSG_ERROR(expat.h not found. install expat)], [])
3590     AC_CHECK_LIB(expat, XML_ParserCreate, [],
3591         [AC_MSG_RESULT(expat library not found or functional.)], [])
3592 else
3593     AC_MSG_RESULT([internal])
3594     SYSTEM_EXPAT=NO
3595     BUILD_TYPE="$BUILD_TYPE EXPAT"
3597 AC_SUBST(SYSTEM_EXPAT)
3599 dnl ===================================================================
3600 dnl Check for system libwpd
3601 dnl ===================================================================
3602 AC_MSG_CHECKING([which libwpd to use])
3603 if test -n "$with_system_libwpd" -o -n "$with_system_libs" && \
3604         test "$with_system_libwpd" != "no"; then
3605     AC_MSG_RESULT([external])
3606     SYSTEM_LIBWPD=YES
3607     PKG_CHECK_MODULES( LIBWPD, libwpd-0.8 )
3608 else
3609     AC_MSG_RESULT([internal])
3610     SYSTEM_LIBWPD=NO
3611     BUILD_TYPE="$BUILD_TYPE LIBWPD"
3613 AC_SUBST(SYSTEM_LIBWPD)
3614 AC_SUBST(LIBWPD_CFLAGS)
3615 AC_SUBST(LIBWPD_LIBS)
3617 dnl ===================================================================
3618 dnl Check for system cppunit
3619 dnl ===================================================================
3620 AC_MSG_CHECKING([which cppunit to use])
3621 if test -n "$with_system_cppunit" -o -n "$with_system_libs" && \
3622         test "$with_system_cppunit" != "no"; then
3623     AC_MSG_RESULT([external])
3624     SYSTEM_CPPUNIT=YES
3625     # might work for earlier, too but go sure:
3626     PKG_CHECK_MODULES( CPPUNIT, cppunit >= 1.12.0 )
3627 else
3628     AC_MSG_RESULT([internal])
3629     SYSTEM_CPPUNIT=NO
3630     BUILD_TYPE="$BUILD_TYPE CPPUNIT"
3632 AC_SUBST(SYSTEM_CPPUNIT)
3633 AC_SUBST(CPPUNIT_CFLAGS)
3634 AC_SUBST(CPPUNIT_LIBS)
3636 dnl ===================================================================
3637 dnl Check whether freetype is available
3638 dnl ===================================================================
3639 if test  "$test_freetype" = "yes"; then
3640    AC_MSG_CHECKING([whether freetype is available])
3641         PKG_CHECK_MODULES( FREETYPE, freetype2 >= 2.0 )
3643 AC_SUBST(FREETYPE_CFLAGS)
3644 AC_SUBST(FREETYPE_LIBS)
3646 dnl ===================================================================
3647 dnl Check whether freetype2 supports emboldening
3648 dnl ===================================================================
3649 if test  "$test_freetype" = "yes"; then
3650     save_CPPFLAGS="$CPPFLAGS"
3651     save_LDFLAGS="$LDFLAGS"
3652     save_LIBS="$LIBS"
3653     CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
3654     LDFLAGS="$LDFLAGS $FREETYPE_LIBS"
3655     AC_CHECK_LIB(freetype, FT_GlyphSlot_Embolden,
3656                  [USE_FT_EMBOLDEN="YES"], [USE_FT_EMBOLDEN="NO"], [])
3657     LDFLAGS="$save_LDFLAGS"
3658     CPPFLAGS="$save_CPPFLAGS"
3659     LIBS="$save_LIBS"
3661 AC_SUBST(USE_FT_EMBOLDEN)
3663 if test -n "$with_system_libxslt" -o -n "$with_system_libs" && \
3664    test "$with_system_libxslt" != "no"; then
3665     if test -z "$with_system_libxml" -a -z "$with_system_libs" || \
3666       test "$with_system_libxml" = "no"; then
3667       # somehow AC_MSG_WARN won't work...
3668        echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml"
3669        echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml" >> warn
3670        with_system_libxml=yes
3671     fi
3673 if test -n "$with_system_libxml" -o -n "$with_system_libs" && \
3674    test "$with_system_libxml" != "no"; then
3675     if test -z "$with_system_libxslt" -a -z "$with_system_libs" || \
3676       test "$with_system_libxslt" = "no"; then
3677       # somehow AC_MSG_WARN won't work...
3678        echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt"
3679        echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt" >> warn
3680        with_system_libxslt=yes
3681     fi
3684 dnl ===================================================================
3685 dnl Check for system libxslt
3686 dnl ===================================================================
3687 AC_MSG_CHECKING([which libxslt to use])
3688 if test -n "$with_system_libxslt" -o -n "$with_system_libs" -o \
3689        "$_os" = "Darwin" && \
3690    test "$with_system_libxslt" != "no"; then
3691    AC_MSG_RESULT([external])
3692    SYSTEM_LIBXSLT=YES
3694    PKG_CHECK_MODULES_MACHACK(LIBXSLT, xslt-config, libxslt)
3696    dnl Check for xsltproc
3697    AC_PATH_PROG(XSLTPROC, xsltproc, no)
3698    if test "$XSLTPROC" = "no"; then
3699       AC_MSG_ERROR([xsltproc is required])
3700    fi
3701 else
3702    AC_MSG_RESULT([internal])
3703    SYSTEM_LIBXSLT=NO
3704    BUILD_TYPE="$BUILD_TYPE LIBXSLT"
3706 AC_SUBST(SYSTEM_LIBXSLT)
3707 AC_SUBST(LIBXSLT_CFLAGS)
3708 AC_SUBST(LIBXSLT_LIBS)
3711 dnl ===================================================================
3712 dnl Check for system libxml
3713 dnl ===================================================================
3714 AC_MSG_CHECKING([which libxml to use])
3715 if test -n "$with_system_libxml" -o -n "$with_system_libs" -o \
3716             "$_os" = "Darwin" && \
3717         test "$with_system_libxml" != "no"; then
3718     AC_MSG_RESULT([external])
3719     SYSTEM_LIBXML=YES
3720     PKG_CHECK_MODULES_MACHACK(LIBXML, xml2-config, libxml-2.0 >= 2.0)
3721     BUILD_TYPE="$BUILD_TYPE LIBXMLSEC"
3722 else
3723     AC_MSG_RESULT([internal])
3724     SYSTEM_LIBXML=NO
3725     BUILD_TYPE="$BUILD_TYPE LIBXML2 LIBXMLSEC"
3727 AC_SUBST(SYSTEM_LIBXML)
3728 AC_SUBST(LIBXML_CFLAGS)
3729 AC_SUBST(LIBXML_LIBS)
3731 dnl ===================================================================
3732 dnl Check for system python
3733 dnl ===================================================================
3734 AC_MSG_CHECKING([which python to use])
3735 if test "$_os" = "Darwin" && test "$with_system_python" != "no"; then
3736    with_system_python=yes
3737    AC_MSG_RESULT([compiling against MacOSX10.4u.sdk (python version 2.3)])
3738    PYTHON_CFLAGS="-I/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Python.framework/Versions/2.3/include/python2.3"
3739    PYTHON_LIBS="-framework Python"
3740 elif test -n "$with_system_python" -o -n "$with_system_libs" && \
3741         test "$with_system_python" != "no"; then
3742    with_system_python=yes
3743    AC_MSG_RESULT([external])
3744    AM_PATH_PYTHON([2.2])
3746    python_include=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('INCLUDEPY');"`
3747    python_version=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('VERSION');"`
3748    PYTHON_CFLAGS="-I$python_include"
3749    PYTHON_LIBS="-lpython$python_version"
3751 if test "$with_system_python" = "yes" ; then
3752    SYSTEM_PYTHON=YES
3753    dnl check if the headers really work:
3754    save_CPPFLAGS="$CPPFLAGS"
3755    CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS"
3756    AC_CHECK_HEADER(Python.h, [],
3757        [AC_MSG_ERROR(Python headers not found)], [])
3758    CPPFLAGS="$save_CPPFLAGS"
3759 else
3760    SYSTEM_PYTHON=NO
3761    BUILD_TYPE="$BUILD_TYPE PYTHON"
3762    AC_MSG_RESULT([internal])
3763    # Embedded python dies without Home set
3764    if test "z$HOME" = "z"; then
3765       export HOME="";
3766    fi
3767    # bz2 tarball and bzip2 is not standard
3768    if test -z "$BZIP2"; then
3769         AC_PATH_PROG( BZIP2, bzip2)
3770         if test -z "$BZIP2"; then
3771                 AC_MSG_ERROR([the internal Python module has a .tar.bz2. You need bzip2])
3772         fi
3773    fi
3775 AC_SUBST(SYSTEM_PYTHON)
3776 AC_SUBST(PYTHON_CFLAGS)
3777 AC_SUBST(PYTHON_LIBS)
3778 HOME=`echo $HOME | sed 's:\\\\:/:g'`
3779 AC_SUBST(HOME)
3781 dnl ===================================================================
3782 dnl Check for system berkley db
3783 dnl ===================================================================
3784 AC_MSG_CHECKING([which db to use])
3785 if test -n "$with_system_db" -o -n "$with_system_libs" && \
3786         test "$with_system_db" != "no"; then
3787     SYSTEM_DB=YES
3788     AC_MSG_RESULT([external])
3789     AC_CHECK_HEADER(db.h, [ DB_INCLUDES=/usr/include ],
3790         [
3791              CFLAGS=-I/usr/include/db4
3792              AC_CHECK_HEADER(db4/db.h,
3793              [ DB_INCLUDES=/usr/include/db4 ],
3794              [ AC_MSG_ERROR(no. install the db4 libraries) ], []+             )
3795         ], []
3796     )
3797     AC_MSG_CHECKING([whether db is at least 4.1])
3798     AC_TRY_RUN([
3799 #include <db.h>
3801 int main(int argc, char **argv) {
3802        if(DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)) return 0;
3803        else return 1;
3805     ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no. you need at least db 4.1])])
3806     AC_HAVE_LIBRARY(db, [],
3807       [AC_MSG_ERROR([db not installed or functional])], [])
3808     SCPDEFS="$SCPDEFS -DSYSTEM_DB"
3809 else
3810     AC_MSG_RESULT([internal])
3811     SYSTEM_DB=NO
3812     BUILD_TYPE="$BUILD_TYPE BERKELEYDB"
3814 AC_SUBST(SYSTEM_DB)
3815 AC_SUBST(DB_VERSION)
3816 AC_SUBST(DB_INCLUDES)
3817 AC_SUBST(DB_JAR)
3819 dnl ===================================================================
3820 dnl Check for system lucene
3821 dnl ===================================================================
3822 AC_MSG_CHECKING([which lucene to use])
3823 if test -n "$with_system_lucene" -o -n "$with_system_libs" && \
3824        test "$with_system_lucene" != "no" && test "$with_system_jars" != "no"; then
3825         AC_MSG_RESULT([external])
3826         SYSTEM_LUCENE=YES
3827         if test -z $LUCENE_CORE_JAR; then
3828           AC_CHECK_FILE(/usr/share/java/lucene-core-2.3.jar, 
3829             [ LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.3.jar ],
3830             [
3831               AC_CHECK_FILE(/usr/share/java/lucene-core.jar, 
3832                 [ LUCENE_CORE_JAR=/usr/share/java/lucene-core.jar ],
3833                 [ AC_CHECK_FILE(/usr/share/java/lucene.jar, 
3834                    [ LUCENE_CORE_JAR=/usr/share/java/lucene.jar ],
3835                    [ AC_MSG_ERROR(lucene-core.jar replacement not found)]
3836                   )
3837                 ]
3838               )
3839             ]
3840           )
3841         else
3842           AC_CHECK_FILE($LUCENE_CORE_JAR, [],
3843                [AC_MSG_ERROR(lucene-core.jar not found.)], [])
3844         fi
3846         if test -z $LUCENE_ANALYZERS_JAR; then
3847           AC_CHECK_FILE(/usr/share/java/lucene-analyzers-2.3.jar, 
3848             [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-analyzers-2.3.jar ],
3849             [
3850               AC_CHECK_FILE(/usr/share/java/lucene-contrib/lucene-analyzers.jar, 
3851                 [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-contrib/lucene-analyzers.jar ],
3852                 [ AC_MSG_ERROR(lucene-analyzers.jar replacement not found.)]
3853               )
3854             ]
3855           )
3856         else
3857           AC_CHECK_FILE($LUCENE_CORE_JAR, [],
3858                [ AC_MSG_ERROR(lucene-analyzers.jar not found.)], [])
3859         fi
3860         AC_MSG_CHECKING([whether lucene is version 2.x])
3861         export LUCENE_CORE_JAR
3862         if $PERL -e 'use Archive::Zip;
3863             my $file = "$ENV{'LUCENE_CORE_JAR'}";
3864             my $zip = Archive::Zip->new( $file );
3865             my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
3866             if ( $mf =~ m/Specification-Version: 2.*/ ) {
3867                 exit 0;
3868             } else {
3869                 exit 1;
3870             }'; then
3871             AC_MSG_RESULT([yes])
3872          else
3873             AC_MSG_ERROR([no, you need lucene 2])
3874          fi
3876 else
3877     AC_MSG_RESULT([internal])
3878     SYSTEM_LUCENE=NO
3879     BUILD_TYPE="$BUILD_TYPE LUCENE"
3881 AC_SUBST(SYSTEM_LUCENE)
3882 AC_SUBST(LUCENE_CORE_JAR)
3883 AC_SUBST(LUCENE_ANALYZERS_JAR)
3885 AC_MSG_CHECKING([whether to build the MySQL Connector extension])
3886 if test -n "$enable_mysql_connector" -a "$enable_mysql_connector" != "no"; then
3887   AC_MSG_RESULT([yes])
3888   ENABLE_MYSQLC=YES
3889   AC_MSG_CHECKING([for mysqlc module])
3890   if test -d mysqlc; then
3891    AC_MSG_RESULT([OK])
3892   else
3893    AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
3894   fi
3895   BUILD_TYPE="$BUILD_TYPE MYSQLC"
3896 else
3897   AC_MSG_RESULT([no])
3898   ENABLE_MYSQLC=NO
3900 AC_SUBST(ENABLE_MYSQLC)
3902 if test "$ENABLE_MYSQLC" = "YES"; then
3903 dnl ===================================================================
3904 dnl Check for system MySQL
3905 dnl ===================================================================
3906 AC_MSG_CHECKING([for mysql pre-requisites])
3907 if test -n "$with_system_mysql" -o -n "$with_system_libs" && \
3908        test "$with_system_mysql" != "no" && test "$with_system_libs" != "no"; then
3909         AC_MSG_RESULT([external MySQL])
3910         SYSTEM_MYSQL=YES
3911         AC_PATH_PROG( MYSQLCONFIG, mysql_config)
3912         AC_MSG_CHECKING([MySQL version])
3913         MYSQL_VERSION=`$MYSQLCONFIG --version` 
3914         MYSQL_MAJOR=`$MYSQLCONFIG --version | cut -d"." -f1`
3915         if test "$MYSQL_MAJOR" -ge "5"; then
3916                 AC_MSG_RESULT([OK])
3917         else
3918                 AC_MSG_ERROR([too old, use 5.0.x or 5.1.x])
3919         fi
3920         AC_MSG_CHECKING([for MySQL Client library])
3921         MYSQL_INC=`$MYSQLCONFIG --include` 
3922         MYSQL_LIB=`$MYSQLCONFIG --libs`
3923         MYSQL_DEFINES=`$MYSQLCONFIG --cflags | sed -e s,$MYSQL_INC,,`
3924         AC_MSG_RESULT([includes $MYSQL_INC, libraries $MYSQL_LIB])
3925 else
3926     SYSTEM_MYSQL=NO
3927     if test -n "$with_libmysql_path"; then
3928         AC_MSG_RESULT([external Connector/C (libmysql)])
3929         LIBMYSQL=libmysql.so
3930         if test "$_os" = "Darwin"; then
3931             LIBMYSQL=libmysql.dylib
3932         elif test "$_os" = "WINNT"; then
3933             LIBMYSQL=libmysql.dll
3934         fi
3935         AC_MSG_CHECKING([for $LIBMYSQL])
3936         if test -e "$with_libmysql_path/lib/$LIBMYSQL"; then
3937             AC_MSG_RESULT([found.])
3938             LIBMYSQL_PATH=$with_libmysql_path
3939         else
3940             AC_MSG_ERROR([not found. Please specify proper path in --with-libmysql-path.])
3941         fi
3942     else
3943         AC_MSG_ERROR([not given. Please specify either --with-system-mysql or --with-libmysql-path])
3944     fi
3946 AC_SUBST(SYSTEM_MYSQL)
3947 AC_SUBST(MYSQL_INC)
3948 AC_SUBST(MYSQL_LIB)
3949 AC_SUBST(MYSQL_DEFINES)
3950 AC_SUBST(LIBMYSQL_PATH)
3952 AC_LANG_PUSH([C++])
3953 dnl ===================================================================
3954 dnl Check for system MySQL C++ Connector
3955 dnl ===================================================================
3956 # FIXME!
3957 # who thought this too-generic cppconn dir was a good idea?
3958 AC_MSG_CHECKING([MySQL Connector/C++])
3959 if test -n "$with_system_mysql_cppconn" -o -n "$with_system_libs" && \
3960                 test "$with_system_mysql_cppconn" != "no" && test "$with_system_libs" != "no"; then
3961         AC_MSG_RESULT([external])
3962         SYSTEM_MYSQL_CPPCONN=YES
3963         AC_LANG_PUSH([C++])
3964         AC_CHECK_HEADER(mysql_driver.h, [],
3965                                         [AC_MSG_ERROR(mysql_driver.h not found. install MySQL C++ Connectivity)], [])
3966         AC_CHECK_LIB(mysqlcppconn, main, [],
3967                                         [AC_MSG_ERROR(MySQL C++ Connectivity lib not found or functional)], [])
3968    AC_MSG_CHECKING([version])
3969       AC_TRY_RUN([
3970 #include <mysql_driver.h>
3972 int main(int argc, char **argv) {
3973         sql::Driver *driver;
3974         driver = get_driver_instance();
3975         if (driver->getMajorVersion() > 1 || \
3976            (driver->getMajorVersion() == 1 && driver->getMinorVersion() > 0) || \
3977            (driver->getMajorVersion() == 1 && driver->getMinorVersion() == 0 && driver->getPatchVersion() >= 6)) 
3978         return 0;
3979       else
3980         return 1;
3982       ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, we need >= 1.0.6])])
3983         AC_LANG_POP([C++])
3985 else
3986         AC_MSG_RESULT([internal])
3987         AC_MSG_CHECKING([for mysqlcppconn module])
3988         if test -d mysqlcppconn; then
3989           AC_MSG_RESULT([OK])
3990         else
3991           AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
3992         fi
3993         BUILD_TYPE="$BUILD_TYPE MYSQLCPPCONN"
3994         SYSTEM_MYSQL_CPPCONN=NO
3996 AC_LANG_POP([C++])
3997 AC_SUBST(SYSTEM_MYSQL_CPPCONN)
4000 dnl ===================================================================
4001 dnl Check for system hsqldb
4002 dnl ===================================================================
4003 AC_MSG_CHECKING([which hsqldb to use])
4004 if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \
4005        test "$with_system_hsqldb" != "no" && test "$with_system_jars" != "no"; then
4006         AC_MSG_RESULT([external])
4007         SYSTEM_HSQLDB=YES
4008         if test -z $HSQLDB_JAR; then
4009                HSQLDB_JAR=/usr/share/java/hsqldb.jar
4010         fi
4011         AC_CHECK_FILE($HSQLDB_JAR, [],
4012                [AC_MSG_ERROR(hsqldb.jar not found.)], [])
4013         AC_MSG_CHECKING([whether hsqldb is 1.8.0.x])
4014         export HSQLDB_JAR
4015         if $PERL -e 'use Archive::Zip;
4016             my $file = "$ENV{'HSQLDB_JAR'}";
4017             my $zip = Archive::Zip->new( $file );
4018             my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
4019             if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
4020                push @l, split(/\n/, $mf);
4021                foreach my $line (@l) {
4022                   if ($line =~ m/Specification-Version:/) {
4023                       ($t, $version) = split (/:/,$line);
4024                       $version =~ s/^\s//;
4025                       ($a, $b, $c, $d) = split (/\./,$version);
4026                       if ($c == "0" && $d > "8")  {
4027                           exit 0;
4028                       } else {
4029                           exit 1;
4030                       }
4031                   }
4032                }
4033             } else {
4034                 exit 1;
4035             }'; then
4036             AC_MSG_RESULT([yes])
4037          else
4038             AC_MSG_ERROR([no, you need hsqldb >= 1.8.0.9 but < 1.8.1])
4039          fi
4040 else
4041     AC_MSG_RESULT([internal])
4042     SYSTEM_HSQLDB=NO
4043     BUILD_TYPE="$BUILD_TYPE HSQLDB"
4045 AC_SUBST(SYSTEM_HSQLDB)
4046 AC_SUBST(HSQLDB_JAR)
4048 dnl ===================================================================
4049 dnl Check for system beanshell
4050 dnl ===================================================================
4051 AC_MSG_CHECKING([which beanshell to use])
4052 if test -n "$with_system_beanshell" -o -n "$with_system_libs" && \
4053        test "$with_system_beanshell" != "no" && test "$with_system_jars" != "no"; then
4054         AC_MSG_RESULT([external])
4055         SYSTEM_BSH=YES
4056         if test -z $BSH_JAR; then
4057                BSH_JAR=/usr/share/java/bsh.jar
4058         fi
4059         AC_CHECK_FILE($BSH_JAR, [],
4060                [AC_MSG_ERROR(bsh.jar not found.)], [])
4061 else
4062     AC_MSG_RESULT([internal])
4063     SYSTEM_BSH=NO
4064     BUILD_TYPE="$BUILD_TYPE BSH"
4066 AC_SUBST(SYSTEM_BSH)
4067 AC_SUBST(BSH_JAR)
4070 dnl ===================================================================
4071 dnl Check for system saxon
4072 dnl ===================================================================
4073 AC_MSG_CHECKING([which saxon to use])
4074 if test -n "$with_system_saxon" -o -n "$with_system_libs" && \
4075        test "$with_system_saxon" != "no" && test "$with_system_jars" != "no"; then
4076         AC_MSG_RESULT([external])
4077         SYSTEM_SAXON=YES
4078         if test -z $SAXON_JAR; then
4079           AC_CHECK_FILE(/usr/share/java/saxon9.jar, 
4080             [ SAXON_JAR=/usr/share/java/saxon9.jar ],
4081             [
4082               AC_CHECK_FILE(/usr/share/java/saxon.jar, 
4083                 [ SAXON_JAR=/usr/share/java/saxon.jar ],
4084                 [ AC_CHECK_FILE(/usr/share/java/saxon9.jar,
4085                     [ SAXON_JAR=/usr/share/java/saxon9.jar ],
4086                     [ AC_MSG_ERROR(saxon.jar replacement not found)]
4087                   )
4088                 ]
4089               )
4090             ]
4091           )
4092         else
4093           AC_CHECK_FILE($SAXON_JAR, [],
4094                [AC_MSG_ERROR(saxon.jar replacement not found.)], [])
4095         fi
4096         if test -n "$SERIALIZER_JAR"; then
4097           AC_CHECK_FILE($SERIALIZER_JAR, [],
4098                [AC_MSG_ERROR(serializer.jar not found.)], [])
4099           AC_SUBST(SERIALIZER_JAR)
4100         fi
4102 dnl Saxon comes in two practically available versions, the out-of-date saxonb which
4103 dnl supports the java extensions that OOo uses, and the up-to-date saxon he 
4104 dnl "home edition" version, which is crippled to not support those java extensions.
4105 dnl And as an aside the he one also needs to be tweaked to include 
4106 dnl a META-INF/services to broadcast that it supports the jaxp transform factory
4108         AC_MSG_CHECKING([if saxon works])
4109         cat > saxontest.java <<_ACEOF
4110 [import javax.xml.transform.TransformerFactory;
4111 import javax.xml.transform.Transformer;
4112 import javax.xml.transform.stream.StreamSource;
4113 import java.io.*;
4115 import net.sf.saxon.FeatureKeys;
4117 class saxontest {
4118     public static void main(String[] args) {
4119       System.setProperty("javax.xml.transform.TransformerFactory",
4120         "net.sf.saxon.TransformerFactoryImpl");
4121       try {
4122         TransformerFactory tfactory = TransformerFactory.newInstance();
4123         // some external saxons (Debian, Ubuntu, ...) have this disabled
4124         // per default
4125         tfactory.setAttribute(FeatureKeys.ALLOW_EXTERNAL_FUNCTIONS, new Boolean(true));
4126         System.out.println("TransformerFactory is" +
4127           tfactory.getClass().getName());
4128         Transformer transformer = tfactory.newTransformer(
4129           new StreamSource(new File(args[0])));
4130       } catch(Exception e){
4131         e.printStackTrace(System.err);
4132         System.exit(-1);
4133       }
4134       System.exit(0);
4135     }
4138 _ACEOF
4139         cat > saxontest.xsl<<_ACEOF
4140 [<?xml version="1.0" encoding="UTF-8"?>
4141 <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4142  <xsl:template match="/">
4143   <xsl:value-of select="math:sqrt(1)" xmlns:math="java:java.lang.Math"/>
4144  </xsl:template>
4145 </xsl:stylesheet>
4147 _ACEOF
4148         javac_cmd="$JAVACOMPILER -cp $SAXON_JAR saxontest.java 1>&2"
4149         AC_TRY_EVAL(javac_cmd)
4150         if test $? = 0 && test -f ./saxontest.class ; then
4151             java_cmd="$JAVAINTERPRETER -cp $SAXON_JAR:. saxontest saxontest.xsl 1>&2"
4152             AC_TRY_EVAL(java_cmd)
4153             if test $? = 0; then
4154               AC_MSG_RESULT([yes])
4155             else
4156               cat saxontest.java >&5
4157               AC_MSG_RESULT([no])
4158               AC_MSG_ERROR([Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb])
4159             fi
4160         else
4161           AC_MSG_RESULT([no])
4162           cat saxontest.java >&5
4163           AC_MSG_ERROR([saxontest could not be compiled, non-functional saxon jar])
4164         fi
4165 else
4166     AC_MSG_RESULT([internal])
4167     SYSTEM_SAXON=NO
4168     NEED_SAXON=TRUE
4170 AC_SUBST(SYSTEM_SAXON)
4171 AC_SUBST(SAXON_JAR)
4173 if test -n "$NEED_SAXON"; then
4174    BUILD_TYPE="$BUILD_TYPE SAXON"
4177 dnl ===================================================================
4178 dnl Check for system curl
4179 dnl ===================================================================
4180 if test "$_os" = "Darwin" && test "$with_system_curl" != "no"; then
4181    with_system_curl=yes
4183 AC_MSG_CHECKING([which curl to use])
4184 if test -n "$with_system_curl" -o -n "$with_system_libs" && \
4185         test "$with_system_curl" != "no"; then
4186    AC_MSG_RESULT([external])
4187    SYSTEM_CURL=YES
4189    AC_PATH_PROG( CURLCONFIG, curl-config)
4190    if test -z "$CURLCONFIG"; then
4191       AC_MSG_ERROR([install curl to run this script])
4192    fi
4194    # check curl version
4195    AC_MSG_CHECKING([whether curl is >= 7.13.1])
4196    if test "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $1 }'`" -gt "7" -a \
4197         "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $2 }'`" -gt "13" -a \
4198         "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $3 }'`" -gt "1"; then 
4199       AC_MSG_ERROR([no, you need at least curl 7.13,1])
4200    else
4201       AC_MSG_RESULT([yes])
4202    fi
4203    CURL_LIBS=`$CURLCONFIG --libs`
4204    CURL_CFLAGS=`$CURLCONFIG --cflags`
4205 else
4206    AC_MSG_RESULT([internal])
4207    SYSTEM_CURL=NO
4208    BUILD_TYPE="$BUILD_TYPE CURL"
4210 AC_SUBST(SYSTEM_CURL)
4211 AC_SUBST(CURL_CFLAGS)
4212 AC_SUBST(CURL_LIBS)
4214 dnl ===================================================================
4215 dnl Check for system mdds
4216 dnl ===================================================================
4217 AC_MSG_CHECKING([which mdds to use])
4218 if test -n "$with_system_mdds" -o -n "$with_system_headers" && \
4219         test "$with_system_mdds" != "no"; then
4220     AC_MSG_RESULT([external])
4221     SYSTEM_MDDS=YES
4222     AC_LANG_PUSH([C++])
4223     AC_CHECK_HEADER(mdds/flat_segment_tree.hpp, [],
4224         [AC_MSG_ERROR(mdds/flat_segment_tree.hpp not found. install mdds)], [])
4225     AC_LANG_POP([C++])
4226 else
4227    AC_MSG_RESULT([internal])
4228    BUILD_TYPE="$BUILD_TYPE MDDS"
4229    SYSTEM_MDDS=NO
4231 AC_SUBST(SYSTEM_MDDS)
4233 dnl ===================================================================
4234 dnl Check for system boost
4235 dnl ===================================================================
4236 AC_MSG_CHECKING([which boost to use])
4237 if test -n "$with_system_boost" -o -n "$with_system_headers" && \
4238         test "$with_system_boost" != "no"; then
4239    AC_MSG_RESULT([external])
4240    SYSTEM_BOOST=YES
4241    AC_LANG_PUSH([C++])
4242    AC_CHECK_HEADER(boost/shared_ptr.hpp, [],
4243        [AC_MSG_ERROR(boost/shared_ptr.hpp not found. install boost)], [])
4244    AC_CHECK_HEADER(boost/spirit/include/classic_core.hpp, [],
4245        [AC_MSG_ERROR(boost/spirit/include/classic_core.hpp not found. install boost >= 1.36)], [])
4246    AC_CHECK_HEADER(boost/function.hpp, [],
4247        [AC_MSG_ERROR(boost/function.hpp not found. install boost)], [])
4249    save_CXXFLAGS=$CXXFLAGS
4250    CXXFLAGS="$CXXFLAGS -fno-exceptions"
4251    AC_MSG_CHECKING([whether boost/function.hpp compiles with -fno-exceptions])
4252    AC_TRY_COMPILE([#include <boost/function.hpp>
4253 ], [],
4254    ac_cv_cxx_boost_no_exceptons_broken=no, ac_cv_cxx_boost_no_exceptons_broken=yes)
4256    if test "$ac_cv_cxx_boost_no_exceptons_broken" = "yes"; then
4257         AC_MSG_ERROR([no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131])
4258    else
4259         AC_MSG_RESULT([yes])
4260    fi
4261    CXXFLAGS=$save_CXXFLAGS
4262    AC_LANG_POP([C++])
4263 else
4264    AC_MSG_RESULT([internal])
4265    BUILD_TYPE="$BUILD_TYPE BOOST"
4266    SYSTEM_BOOST=NO
4268 AC_SUBST(SYSTEM_BOOST)
4270 dnl ===================================================================
4271 dnl Check for system vigra
4272 dnl ===================================================================
4273 AC_MSG_CHECKING([which vigra to use])
4274 if test -n "$with_system_vigra" -o -n "$with_system_headers" && \
4275         test "$with_system_vigra" != "no"; then
4276    AC_MSG_RESULT([external])
4277    SYSTEM_VIGRA=YES
4278    AC_LANG_PUSH([C++])
4279    AC_CHECK_HEADER(vigra/copyimage.hxx, [],
4280        [AC_MSG_ERROR(vigra/copyimage.hxx not found. install vigra)], [])
4281    AC_LANG_POP([C++])
4282 else
4283    AC_MSG_RESULT([internal])
4284    BUILD_TYPE="$BUILD_TYPE VIGRA"
4285    SYSTEM_VIGRA=NO
4287 AC_SUBST(SYSTEM_VIGRA)
4289 dnl ===================================================================
4290 dnl Check for system odbc
4291 dnl ===================================================================
4292 AC_MSG_CHECKING([which odbc headers to use])
4293 if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \
4294         test "$with_system_odbc_headers" != "no"; then
4295    AC_MSG_RESULT([external])
4296    SYSTEM_ODBC_HEADERS=YES
4298    AC_CHECK_HEADER(sqlext.h, [],
4299       [AC_MSG_ERROR(odbc not found. install odbc)], [])
4300 else
4301    AC_MSG_RESULT([internal])
4302    SYSTEM_ODBC_HEADERS=NO
4303    BUILD_TYPE="$BUILD_TYPE UNIXODBC"
4305 AC_SUBST(SYSTEM_ODBC_HEADERS)
4307 AC_MSG_CHECKING([whether to enable build of Mozilla/Mozilla NSS-using components])
4308 if test "$enable_mozilla" = "no"; then
4309    AC_MSG_RESULT([no])
4310    WITH_MOZILLA=NO
4311    ENABLE_NSS_MODULE=NO
4312 else
4313    AC_MSG_RESULT([yes])
4314    WITH_MOZILLA=YES
4316 AC_SUBST(WITH_MOZILLA)
4318 AC_MSG_CHECKING([whether to build Mozilla addressbook connectivity])
4319 if test "$enable_mozilla" = "no"; then
4320    AC_MSG_RESULT([no])
4321 elif test "$with_system_mozilla" = "yes"; then
4322    AC_MSG_RESULT([no, not possible with system-mozilla])
4323 else
4324    AC_MSG_RESULT([yes])
4327 AC_MSG_CHECKING([whether to build XML Security support])
4328 if test "$enable_mozilla" = "no"; then
4329    AC_MSG_RESULT([no, since Mozilla (NSS) disabled but needed])
4330 else
4331    AC_MSG_RESULT([yes])
4334 AC_MSG_CHECKING([whether to build LDAP configuration backend])
4335 if test -z "$enable_ldap" || test "$enable_ldap" = "yes"; then
4336    if test "$enable_mozilla" = "yes" || test "$with_openldap" = "yes"; then
4337       AC_MSG_RESULT([yes])
4338       WITH_LDAP=YES
4339    else
4340       AC_MSG_RESULT([no. Either Mozilla or OpenLDAP needed])
4341       WITH_LDAP=NO
4342    fi
4343 else
4344    AC_MSG_RESULT([no])
4345    WITH_LDAP=NO
4348 if test "$WITH_LDAP" = "YES"; then
4349    dnl ===================================================================
4350    dnl Test whether we want to use the Mozilla or the OpenLDAP LDAP SDK
4351    dnl ===================================================================
4352    AC_MSG_CHECKING([which LDAP SDK to use])
4353    if test -n "$with_openldap" && test "$with_openldap" != "no"; then
4354            AC_MSG_RESULT([OpenLDAP])
4355            WITH_OPENLDAP=YES
4356            AC_CHECK_HEADERS(ldap.h, [],
4357                    [AC_MSG_ERROR(ldap.h not found. install openldap libs)], [])
4358            AC_CHECK_LIB(ldap, ldap_simple_bind_s, [],
4359                    [AC_MSG_ERROR(openldap lib not found or functional)], [])
4360            # rumours say that OpenLDAP doesn't have that function. I looked and
4361            # it has it. Test for it to be sure
4362          AC_CHECK_LIB(ldap, ldap_set_option, [],
4363                 [AC_MSG_ERROR(openldap lib not found or functional)], [])
4364    else
4365            AC_MSG_RESULT([Netscape/Mozilla])
4366            # TODO. Actually do a sanity check and check for
4367            # LDAP_OPT_SIZELIMIT and LDAP_X_OPT_CONNECT_TIMEOUT 
4368            WITH_OPENLDAP=NO
4369    fi
4371 AC_SUBST(WITH_LDAP)
4372 AC_SUBST(WITH_OPENLDAP)
4374 dnl ===================================================================
4375 dnl Check for system mozilla
4376 dnl ===================================================================
4377 AC_MSG_CHECKING([which mozilla to use])
4378 if test -n "$with_system_mozilla" && test "$with_system_mozilla" != "no"; then
4379     AC_MSG_RESULT([external])
4380     SYSTEM_MOZILLA=YES
4381     ENABLE_NSS_MODULE=NO
4382     enable_nss_module=no
4383     AC_MSG_CHECKING([which Mozilla flavour to use])
4384     if test -n "$with_system_mozilla" && test "$with_system_mozilla" = "libxul"; then
4385       MOZ_FLAVOUR=libxul
4386     elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "xulrunner"; then
4387       MOZ_FLAVOUR=xulrunner
4388     elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "seamonkey"; then
4389       MOZ_FLAVOUR=seamonkey
4390     elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "firefox"; then
4391       MOZ_FLAVOUR=firefox
4392     elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "mozilla"; then
4393       MOZ_FLAVOUR=mozilla
4394     else
4395       MOZ_FLAVOUR=libxul
4396     fi
4397     tmp=`echo $MOZ_FLAVOUR | $PERL -e 'print ucfirst(<STDIN>);'`
4398     AC_MSG_RESULT($tmp)
4400     PKG_CHECK_MODULES( MOZ_NSS, nss, STANDALONENSS="TRUE", STANDALONENSS="" )
4401     if test -z "$STANDALONENSS"; then
4402         PKG_CHECK_MODULES( MOZ_NSS, $MOZ_FLAVOUR-nss )
4403     else
4404         NSS_LIB="-L`$PKG_CONFIG --variable=libdir nss`"
4405         AC_SUBST(NSS_LIB)
4406     fi
4408     if $PKG_CONFIG --exists nspr ; then
4409       PKG_CHECK_MODULES( MOZ_NSPR, nspr )
4410       NSPR_LIB="-L`$PKG_CONFIG --variable=libdir nspr`"
4411       AC_SUBST(NSPR_LIB)
4412     else
4413       PKG_CHECK_MODULES( MOZ_NSPR, $MOZ_FLAVOUR-nspr )
4414     fi
4416     if test "$MOZ_FLAVOUR" != "libxul"; then
4417       PKG_CHECK_MODULES( MOZILLAXPCOM, $MOZ_FLAVOUR-xpcom, HASXPCOM="TRUE", HASXPCOM="" )
4418       MOZ_INC=`$PKG_CONFIG --variable=includedir $MOZ_FLAVOUR-xpcom`
4419       MOZ_LIB=`$PKG_CONFIG --variable=libdir $MOZ_FLAVOUR-xpcom`
4420     fi
4422     if test -z "$HASXPCOM"; then
4423       PKG_CHECK_MODULES( MOZILLAXPCOM, libxul )
4424       MOZ_INC=`$PKG_CONFIG --variable=includedir libxul`
4425       MOZ_LIB=`$PKG_CONFIG --variable=libdir libxul`
4426       if ! test -e "$MOZ_LIB/libxul.so"; then
4427          MOZ_LIB=`$PKG_CONFIG --variable=sdkdir libxul`
4428          if test -e "$MOZ_LIB/sdk/lib/libxul.so"; then
4429             MOZ_LIB="$MOZ_LIB/sdk/lib"
4430          fi
4431       fi
4432     fi
4434     save_CPPFLAGS="$CPPFLAGS"
4435     save_LDFLAGS="$LDFLAGS"
4436     save_LIBS="$LIBS"
4437     CPPFLAGS="$CPPFLAGS $MOZ_NSS_CFLAGS"
4438     LDFLAGS="$LDFLAGS $MOZ_NSS_LIBS"
4439     AC_CHECK_LIB(nss3, PK11_GetCertFromPrivateKey, [], 
4440       [AC_MSG_ERROR(PK11_GetCertFromPrivateKey missing but needed.
4441 See https://bugzilla.mozilla.org/show_bug.cgi?id=262274.
4442 Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5))], [])
4443     LDFLAGS="$save_LDFLAGS"
4444     CPPFLAGS="$save_CPPFLAGS"
4445     LIBS="$save_LIBS"
4447     MOZ_LIB_XPCOM=$MOZILLAXPCOM_LIBS
4448     if test "$WITH_LDAP" != "NO" && test "$WITH_OPENLDAP" != "YES"; then
4449       AC_MSG_CHECKING([whether $tmp was compiled with --enable-ldap])
4450       if test -d "$MOZ_INC/ldap"; then
4451          AC_MSG_RESULT([yes])
4452          MOZ_LDAP_CFLAGS="-I$MOZ_INC"
4453       else
4454         AC_MSG_ERROR([no.
4455 Could not find LDAP header include files in $MOZ_INC/ldap.
4456 Please recompile $tmp with --enable-ldap or use --with-openldap.])
4457       fi
4458     fi
4460     #e.g. http://fedoraproject.org/wiki/Releases/FeatureXULRunnerAPIChanges
4461     #the plugin pkg-config etc. reverts to "mozilla-plugin" with libxul
4462     if test "$MOZ_FLAVOUR" = "libxul"; then
4463         MOZ_FLAVOUR="mozilla"
4464     fi
4466 elif test "$enable_mozilla" = "no"; then
4467     AC_MSG_RESULT([none])
4468     WITH_MOZILLA=NO
4469     ENABLE_NSS_MODULE=NO
4470     enable_nss_module=no
4471 else
4472     AC_MSG_RESULT([internal])
4473     SYSTEM_MOZILLA=NO
4474     BUILD_TYPE="$BUILD_TYPE MOZ"
4475 if test -z "$with_mozilla_version"; then
4476    MOZILLA_VERSION=
4477 else
4478    AC_MSG_CHECKING([which mozilla version to build])
4479    MOZILLA_VERSION=$with_mozilla_version
4480    enable_build_mozilla=1
4481    AC_MSG_RESULT([$MOZILLA_VERSION])
4484 AC_SUBST(MOZILLA_VERSION)
4486 AC_MSG_CHECKING([for toolkit mozilla should use])
4487 if test -z "$with_mozilla_toolkit"; then
4488    if test "$_os" != "WINNT" ; then
4489       if test "$_os" = "Darwin" ; then
4490          MOZILLA_TOOLKIT=mac  
4491          AC_MSG_RESULT([mac])
4492       else
4493          MOZILLA_TOOLKIT=gtk2
4494          AC_MSG_RESULT([gtk2])
4495       fi
4496    fi
4497 else
4498    MOZILLA_TOOLKIT=$with_mozilla_toolkit
4499    enable_build_mozilla=1
4500    AC_MSG_RESULT([$MOZILLA_TOOLKIT])
4502 #if test "$_os" = "Darwin" && test "$MOZILLA_TOOLKIT" != "gtk2"; then
4503 #   #only gtk2 toolkit supported - xlib or cocoa nees glib1 and libIDL1 - the latter is not
4504 #   #available using fink, mac (carbon) doesn't work because xcode installs conflicting headers
4505 #   AC_MSG_ERROR([Only gtk2 toolkit supported on Mac, sorry.])
4508 AC_SUBST(MOZILLA_TOOLKIT)
4510 # default to enabling build mozilla
4511 if test "$enable_build_mozilla" != "no"; then
4512       enable_build_mozilla=yes
4513 else
4514       enable_build_mozilla=
4517 AC_MSG_CHECKING([whether to build Mozilla/SeaMonkey])
4518 if test -n "$enable_build_mozilla"; then
4519    BUILD_MOZAB="TRUE"
4520    AC_MSG_RESULT([yes])
4521 else
4522    BUILD_MOZAB=""       
4523    AC_MSG_RESULT([no])
4526 AC_MSG_CHECKING([whether to build provided NSS module])
4527 if test "$enable_nss_module" != "no"; then
4528    ENABLE_NSS_MODULE="YES"
4529    BUILD_TYPE="$BUILD_TYPE NSS"
4530    AC_MSG_RESULT([yes])
4531    if test "$_os" = "WINNT"; then
4532       AC_MSG_CHECKING([for Mozilla build tooling])
4533       if test -z "$MOZILLABUILD" ; then
4534 AC_MSG_ERROR([Mozilla build tooling not found.
4535 Use the --with-mozilla-build option after installling the tools obtained
4536 from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32])
4537       else
4538          if test \( "$WITH_MINGWIN" = "yes" \) ; then
4539             if test ! -d "$MOZILLABUILD" ; then
4540 AC_MSG_ERROR([Mozilla build tooling incomplete!])
4541             else
4542                AC_MSG_RESULT([ok])
4543             fi
4544          else
4545             if test ! -d "$MOZILLABUILD/moztools" \
4546                -o ! -d "$MOZILLABUILD/msys" ; then
4547 AC_MSG_ERROR([Mozilla build tooling incomplete!])
4548             else
4549                AC_MSG_RESULT([ok])
4550             fi
4551          fi
4552       fi
4553    fi
4554 else
4555    ENABLE_NSS_MODULE="NO"
4556    AC_MSG_RESULT([no])
4559 if test "$BUILD_MOZAB" = "TRUE"; then
4560   if test "$_os" = "WINNT"; then
4561     if test "$WITH_MINGWIN" != "yes"; then
4562       # compiling with MSVC. Only supported platform here is MSVS2005 at the moment.
4563       if test "$MSVSVER" != "2005"; then
4564         AC_MSG_ERROR([Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only.])
4565       fi
4566     else
4567       AC_MSG_WARN([Building SeaMonkey with mingwin is not tested, and likely to break.])
4568       echo "Building SeaMonkey with mingwin is not tested, and likely to break." >> warn
4569     fi
4570   fi
4572    if test -z "$MOZILLA_VERSION"; then
4573       MOZILLA_VERSION=1.1.14
4574    fi
4575    MOZILLA_SOURCE_VERSION="seamonkey-${MOZILLA_VERSION}.source"
4576    MOZILLA_FETCH_FILE=`grep $MOZILLA_SOURCE_VERSION ooo.lst`
4577    AC_MSG_CHECKING([for mozilla sources])
4578    if test -z "$MOZILLA_FETCH_FILE"; then
4579       AC_MSG_RESULT([not found])
4580       HAVE_MOZILLA_TARBALL=n
4581    else
4582       AC_MSG_CHECKING([for $MOZILLA_FETCH_FILE])
4583       if test ! -e "$TARFILE_LOCATION/$MOZILLA_FETCH_FILE"; then
4584          if test -z "$DO_FETCH"; then
4585             AC_MSG_RESULT([will be fetched])
4586             HAVE_MOZILLA_TARBALL=y
4587          else
4588             AC_MSG_RESULT([not found])
4589             HAVE_MOZILLA_TARBALL=n
4590          fi
4591       else
4592          AC_MSG_RESULT([found])
4593          HAVE_MOZILLA_TARBALL=y
4594       fi
4595    fi
4596    if test "$HAVE_MOZILLA_TARBALL" != "y"; then
4597       AC_MSG_ERROR([Mozilla/SeaMonkey source archive not found.
4598 Use "./fetch_tarballs.sh ooo.lst" to download.])
4599    fi
4600    if test "$_os" = "WINNT"; then
4601       AC_MSG_CHECKING([for moztools binaries])
4602       if test ! -e "$TARFILE_LOCATION/vc8-moztools.zip" ; then
4603         AC_MSG_ERROR([The following file is missing in $TARFILE_LOCATION: vc8-moztools.zip
4604 (from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)])
4605       else
4606          AC_MSG_RESULT([ok])
4607       fi
4608    elif test "$_os" = "Darwin"; then
4609       if test "$MOZILLA_TOOLKIT" = "gtk2"; then
4610          AC_MSG_NOTICE([checking whether mozilla can be built...])
4611          PKG_CHECK_MODULES(MOZGTK2, gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8, AC_MSG_NOTICE([OK - can build mozilla]), AC_MSG_ERROR([Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages]))
4612       else
4613          PKG_CHECK_MODULES(MOZLIBREQ, libIDL-2.0 >= 0.6.3,  MOZIDL="TRUE", MOZIDL="")
4614          if test -z "$MOZIDL"; then
4615             AC_MSG_ERROR([libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit.])
4616          fi
4617       fi
4618    else
4619       # Generic Unix/Linux section
4620       if test "$MOZILLA_TOOLKIT" = "gtk2"; then
4621          PKG_CHECK_MODULES(MOZLIBREQ, gtk+-2.0, MOZGTK="TRUE", MOZGTK="")
4622          if test -z "$MOZGTK"; then
4623             AC_MSG_ERROR([GTK2 is needed to build mozilla.])
4624          fi
4625          PKG_CHECK_MODULES(MOZLIBREQ, libIDL-2.0 >= 0.8.0, MOZIDL="TRUE", MOZIDL="")
4626          if test -z "$MOZIDL"; then
4627             AC_MSG_ERROR([libIDL >= 0.8.0 is needed when using GTK2 to build mozilla.])
4628          fi 
4629       else
4630          PKG_CHECK_MODULES(MOZLIBREQ, gtk+ >= 1.2.3, MOZGTK="TRUE", MOZGTK="")
4631          if test -z "$MOZGTK"; then
4632             AC_MSG_ERROR([gtk 1.2 is needed when not using GTK2 to build mozilla.])
4633          fi
4634          PKG_CHECK_MODULES(MOZLIBREQ, libidl >= 0.6.3 libidl <= 0.6.8, MOZIDL="TRUE", MOZIDL="")
4635          if test -z "$MOZIDL"; then
4636             AC_MSG_ERROR([libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla.])
4637          fi
4638       fi
4639    fi
4642 AC_SUBST(BUILD_MOZAB)
4645 AC_SUBST(ENABLE_NSS_MODULE)
4646 AC_SUBST(MOZILLABUILD)
4647 AC_SUBST(SYSTEM_MOZILLA)
4648 AC_SUBST(MOZ_FLAVOUR)
4649 AC_SUBST(MOZ_INC)
4650 AC_SUBST(MOZ_LIB)
4651 AC_SUBST(MOZ_LIB_XPCOM)
4652 AC_SUBST(MOZ_NSPR_CFLAGS)
4653 AC_SUBST(MOZ_NSS_CFLAGS)
4654 AC_SUBST(MOZ_LDAP_CFLAGS)
4656 dnl ===================================================================
4657 dnl Check for system sane
4658 dnl ===================================================================
4659 AC_MSG_CHECKING([which sane header to use])
4660 if test -n "$with_system_sane_header" -o -n "$with_system_headers" && \
4661         test "$with_system_sane_header" != "no"; then
4662    AC_MSG_RESULT([external])
4663    SYSTEM_SANE_HEADER=YES
4664    AC_CHECK_HEADER(sane/sane.h, [],
4665       [AC_MSG_ERROR(sane not found. install sane)], [])
4666 else
4667    AC_MSG_RESULT([internal])
4668    SYSTEM_SANE_HEADER=NO
4669    BUILD_TYPE="$BUILD_TYPE SANE"
4671 AC_SUBST(SYSTEM_SANE_HEADER)
4673 dnl ===================================================================
4674 dnl Check for system icu
4675 dnl ===================================================================
4676 AC_MSG_CHECKING([which icu to use])
4677 if test -n "$with_system_icu" -o -n "$with_system_libs" && \
4678         test "$with_system_icu" != "no"; then
4679    AC_MSG_RESULT([external])
4680    SYSTEM_ICU=YES
4681    AC_LANG_PUSH([C++])
4682    AC_MSG_CHECKING([for unicode/rbbi.h])
4683    AC_TRY_CPP(unicode/rbbi.h, AC_MSG_RESULT([checked.]), AC_MSG_ERROR([icu headers not found.]))
4684    AC_LANG_POP([C++])
4685    AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin])
4686    if test -z "$SYSTEM_GENBRK"; then
4687       AC_MSG_ERROR([\"genbrk\" not found in \$PATH, install the icu development tool \"genbrk"\])
4688    fi
4689    AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin])
4690    if test -z "$SYSTEM_GENCCODE"; then
4691       AC_MSG_ERROR([\"genccode\" not found in \$PATH, install the icu development tool \"genccode"\])
4692    fi
4693    AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin])
4694    if test -z "$SYSTEM_GENCMN"; then
4695       AC_MSG_ERROR([\"gencmn\" not found in \$PATH, install the icu development tool \"gencmn"\])
4696    fi
4698    AC_PATH_PROG( ICUCONFIG, icu-config)
4699    AC_MSG_CHECKING([ICU version])
4700    ICU_VERSION=`$ICUCONFIG --version`
4701    ICU_MAJOR=`$ICUCONFIG --version | cut -d"." -f1`
4702    ICU_MINOR=`$ICUCONFIG --version | cut -d"." -f2`
4703    ICU_MICRO=`$ICUCONFIG --version | cut -d"." -f3`
4705    if test "$ICU_MAJOR" -ge "4"; then
4706       AC_MSG_RESULT([OK])
4707    else
4708       AC_MSG_ERROR([not suitable, only >= 4.0 supported currently])
4709    fi
4711 else
4712     AC_MSG_RESULT([internal])
4713     SYSTEM_ICU=NO
4714     BUILD_TYPE="$BUILD_TYPE ICU"
4716 AC_SUBST(SYSTEM_ICU)
4717 AC_SUBST(SYSTEM_GENBRK)
4718 AC_SUBST(SYSTEM_GENCCODE)
4719 AC_SUBST(SYSTEM_GENCMN)
4720 AC_SUBST(ICU_MAJOR)
4721 AC_SUBST(ICU_MINOR)
4722 AC_SUBST(ICU_MICRO)
4724 dnl ===================================================================
4725 dnl Graphite
4726 dnl ===================================================================
4728 AC_MSG_CHECKING([whether to enable graphite support])
4729 if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" = "z" -o "$enable_graphite" != "no" ; then
4730     AC_MSG_RESULT([yes])
4731     ENABLE_GRAPHITE="TRUE"
4732     AC_MSG_CHECKING([which graphite to use])
4733     if test -n "$with_system_graphite" -o -n "$with_system_libs" && \
4734         test "$with_system_graphite" != "no"; then
4735         AC_MSG_RESULT([external])
4736         SYSTEM_GRAPHITE=YES
4737         PKG_CHECK_MODULES( GRAPHITE, silgraphite )
4738     else
4739         AC_MSG_RESULT([internal])
4740         SYSTEM_GRAPHITE=NO
4741         BUILD_TYPE="$BUILD_TYPE GRAPHITE"
4742     fi
4743 else
4744    AC_MSG_RESULT([no])
4746 AC_SUBST(ENABLE_GRAPHITE)
4747 AC_SUBST(SYSTEM_GRAPHITE)
4748 AC_SUBST(GRAPHITE_LIBS)
4749 AC_SUBST(GRAPHITE_CFLAGS)
4751 dnl ===================================================================
4752 dnl Checks for libraries.
4753 dnl ===================================================================
4754 dnl Check for Mac OS X native GUI, which may is now required; the X11 build is no longer supported
4755 dnl See if we have the AppKit framework for building with Quartz graphics.
4757 if test  "$_os" = "Darwin"; then
4758    if test "x$with_x" = "xyes"; then
4759       AC_MSG_ERROR([X11 build is no longer supported on MacOSX, please use the native aqua build])
4760    else
4761       AC_MSG_CHECKING([for /System/Library/Frameworks/AppKit.framework])
4762       if test -d "/System/Library/Frameworks/AppKit.framework/"; then
4763          AC_MSG_RESULT([yes])
4764          x_includes="no_x_includes"
4765          x_libraries="no_x_libraries"
4766          dnl disable some things used on other Unix versions but not on the aqua build
4767          enable_gtk=no
4768          enable_cups=no
4769          ENABLE_CUPS=""
4770          AC_SUBST(ENABLE_CUPS)
4771       else
4772          AC_MSG_ERROR([No AppKit.framewrok found])
4773       fi
4774    fi
4777 dnl ***************************************
4778 dnl testing for X libraries and includes...
4779 dnl ***************************************
4780 if test "$_os" = "Darwin" -a "x$x_includes" = "xno_x_includes"; then
4781    echo "Do Nothing for _os = Darwin"
4782    dnl Mac OS X using Aqua graphics. Don't check for X11.
4783    :
4784 elif test "$_os" = "OS2" ; then
4785    echo "Do Nothing for _os = OS2. Don't check for X11."
4786    dnl OS/2 uses native graphics. Don't check for X11.
4787    :
4788 elif test "$_os" != "WINNT" ; then
4789    AC_PATH_X
4790    AC_PATH_XTRA
4791    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
4793    if test "x$x_includes" = "x"; then
4794      x_includes="default_x_includes"
4795    fi
4796    if test "x$x_libraries" = "x"; then
4797      x_libraries="default_x_libraries"
4798    fi
4799    dnl The variables $x_libraries and $x_includes are set.
4800    if test -z "$x_libraries"; then
4801       AC_MSG_ERROR([No X libraries found]) # Exit
4802    fi
4803    if test -z "$x_includes"; then
4804       AC_MSG_ERROR([No X includes found]) # Exit
4805    fi
4806    CFLAGS=$X_CFLAGS
4807    LDFLAGS="$X_LDFLAGS $X_LIBS"
4808    AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", [AC_MSG_ERROR([X Development libraries not found])])
4809    dnl Check if the XauDisposeAuth symbol is provided by libXau.
4810    AC_CHECK_LIB(Xau, XauDisposeAuth, XAU_LIBS="-lXau", [])
4811 else
4812    x_includes="no_x_includes"
4813    x_libraries="no_x_libraries"
4815 if test -z "$x_includes"; then
4816    x_includes="no_x_includes"
4818 if test -z "$x_libraries"; then
4819    x_libraries="no_x_libraries"
4821 if test "$x_includes" = "default_x_includes"; then
4822    XINC="/usr/include"
4823 else
4824    XINC="$x_includes"
4826 AC_SUBST(XINC)
4827 if test "$x_libraries" = "default_x_libraries"; then
4828    XLIB=`$PKG_CONFIG --variable=libdir x11`
4829    if test "x$XLIB" = x; then
4830          XLIB="/usr/lib"
4831    fi
4832 else
4833    XLIB="$x_libraries"
4835 AC_SUBST(XLIB)
4836 AC_SUBST(XAU_LIBS)
4838 if test "$_os" != "WINNT" -a "$_os" != "OS2" -a "$_os" != "Darwin"; then
4839    dnl ===================================================================
4840    dnl Check for using Xaw
4841    dnl ===================================================================
4842    AC_MSG_CHECKING([whether to use Xaw])
4843    if test "$enable_Xaw" = "no"; then
4844        DISABLE_XAW=TRUE
4845        AC_MSG_RESULT([no])
4846        AC_CHECK_HEADERS(X11/Composite.h,[],[AC_MSG_ERROR([Xt include headers not found])],
4847          [#include <X11/Intrinsic.h>])
4848    else
4849        AC_MSG_RESULT([yes])
4850        AC_CHECK_HEADERS(X11/Xaw/Label.h,[],[AC_MSG_ERROR([Xaw include headers not found])],
4851          [#include <X11/Intrinsic.h>])
4852        AC_CHECK_LIB(Xaw, main, [],
4853            [AC_MSG_ERROR(Xaw library not found or functional)], [])
4854    fi
4856 AC_SUBST(DISABLE_XAW)
4860 dnl ===================================================================
4861 dnl Check if fontconfig/fontconfig.h is available 
4862 dnl ===================================================================
4863 if test "$ENABLE_FONTCONFIG" = "TRUE" ; then
4864     AC_CHECK_HEADER(fontconfig/fontconfig.h, [],
4865                     [AC_MSG_ERROR([fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?])], [])
4866     AC_MSG_CHECKING([whether fontconfig is >= 2.2.0])
4867     AC_TRY_RUN([
4868 #include <fontconfig/fontconfig.h>
4870 int main(int argc, char **argv) {
4871         if(FC_MAJOR > 2 || (FC_MAJOR == 2 && FC_MINOR >= 2)) return 0;
4872         else return 1;
4874 ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, fontconfig >= 2.2.0 needed])])
4877 dnl ===================================================================
4878 dnl Check for system Xrender
4879 dnl ===================================================================
4880 AC_MSG_CHECKING([whether to link to Xrender])
4881 if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then
4882    AC_MSG_RESULT([yes])
4883    XRENDER_LINK=YES
4884    with_system_xrender_headers=yes
4885 else
4886    AC_MSG_RESULT([no, dynamically open it])
4887    XRENDER_LINK=NO
4889 AC_MSG_CHECKING([which Xrender headers to use])
4890 if test -n "$with_system_xrender_headers" -o -n "$with_system_headers" && \
4891         test "$with_system_xrender_headers" != "no"; then
4892    AC_MSG_RESULT([external])
4893    SYSTEM_XRENDER_HEADERS=YES
4894    AC_CHECK_HEADER(X11/extensions/Xrender.h, [],
4895       [AC_MSG_ERROR(Xrender not found. install X)], [])
4896 else
4897    AC_MSG_RESULT([internal])
4898    SYSTEM_XRENDER_HEADERS=NO
4899    BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS"
4901 if test "$XRENDER_LINK" = "YES"; then
4902    AC_CHECK_LIB(Xrender, XRenderQueryVersion, [],
4903       [AC_MSG_ERROR(libXrender not found or functional)], [])
4905 AC_SUBST(SYSTEM_XRENDER_HEADERS)
4906 AC_SUBST(XRENDER_LINK)
4908 dnl ===================================================================
4909 dnl Check for XRandr
4910 dnl ===================================================================
4911 AC_MSG_CHECKING([whether to enable RandR support])
4912 if test "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \) ; then
4913    if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then
4914           XRANDR_DLOPEN="TRUE"
4915           AC_MSG_RESULT([resorting to dlopen libXrandr at runtime])
4916    else
4917           XRANDR_DLOPEN="FALSE"
4918       PKG_CHECK_MODULES(XRANDR, xrandr >= 1.2, ENABLE_RANDR="TRUE", ENABLE_RANDR="")
4919       if test "$ENABLE_RANDR" != "TRUE"; then
4920          AC_CHECK_HEADER(X11/extensions/Xrandr.h, [],
4921                         [AC_MSG_ERROR([X11/extensions/Xrandr.h could not be found. X11 dev missing?])], [])
4922          XRANDR_CFLAGS=" "
4923          AC_CHECK_LIB(Xrandr, XRRQueryExtension, [],
4924               [ AC_MSG_ERROR(libXrandr not found or functional) ], [])
4925          XRANDR_LIBS="-lXrandr "
4926          ENABLE_RANDR="TRUE"
4927              AC_MSG_RESULT([enabling RandR support])
4928       fi
4929    fi
4930 else
4931    ENABLE_RANDR=""
4932    AC_MSG_RESULT([no])
4934 AC_SUBST(XRANDR_DLOPEN)
4935 AC_SUBST(XRANDR_CFLAGS)
4936 AC_SUBST(XRANDR_LIBS)
4937 AC_SUBST(ENABLE_RANDR)
4939 dnl ===================================================================
4940 dnl Check for building neon
4941 dnl ===================================================================
4942 AC_MSG_CHECKING([whether to use neon])
4943 if test "$enable_neon" = "no"; then
4944     AC_MSG_RESULT([no])
4945     DISABLE_NEON=TRUE
4946     AC_SUBST(DISABLE_NEON)
4947 else
4948     AC_MSG_RESULT([yes])
4949 dnl ===================================================================
4950 dnl Check for system neon
4951 dnl ===================================================================
4952 AC_MSG_CHECKING([which neon to use])
4953 if test -n "$with_system_neon" -o -n "$with_system_libs" && \
4954         test "$with_system_neon" != "no"; then
4955         AC_MSG_RESULT([external])
4956         PKG_CHECK_MODULES(NEON, neon >= 0.26.0, , AC_MSG_ERROR([you need neon >= 0.26.x for system-neon]))
4957         NEON_VERSION="`$PKG_CONFIG --modversion neon | $SED 's/\.//g'`"
4958         NEON_CFLAGS="$NEON_CFLAGS -DSYSTEM_NEON -DUSE_DAV_LOCKS=1"
4959         SYSTEM_NEON=YES
4960 else
4961     AC_MSG_RESULT([internal])
4962     SYSTEM_NEON=NO
4963     NEON_LIBS=-lneon
4964     NEON_CFLAGS=
4965     BUILD_TYPE="$BUILD_TYPE NEON"
4967 AC_SUBST(SYSTEM_NEON)
4968 AC_SUBST(NEON_VERSION)
4969 AC_SUBST(NEON_LIBS)
4970 AC_SUBST(NEON_CFLAGS)
4973 dnl ===================================================================
4974 dnl Check for system openssl
4975 dnl ===================================================================
4976 if test "$_os" = "Darwin" && test "$with_system_openssl" != "no"; then
4977    with_system_openssl=yes
4979 AC_MSG_CHECKING([which libssl to use])
4980 if test -n "$with_system_openssl" -o -n "$with_system_libs" && \
4981         test "$with_system_openssl" != "no"; then
4982     AC_MSG_RESULT([external])
4983     # Mac OS builds should get out without extra stuff is the Mac porters'
4984     # wish. And pkg-config is although Xcode ships a .pc for openssl
4985     if test "$_os" = "Darwin"; then
4986         OPENSSL_CFLAGS=
4987         OPENSSL_LIBS="-lssl -lcrypto"
4988     else
4989         PKG_CHECK_MODULES( OPENSSL, openssl )
4990     fi
4991     SYSTEM_OPENSSL=YES
4992 else
4993     AC_MSG_RESULT([internal])
4994     SYSTEM_OPENSSL=NO
4995     BUILD_TYPE="$BUILD_TYPE OPENSSL"
4997 AC_SUBST(SYSTEM_OPENSSL)
4998 AC_SUBST(OPENSSL_CFLAGS)
4999 AC_SUBST(OPENSSL_LIBS)
5001 dnl ===================================================================
5002 dnl Test for disabling agg
5003 dnl ===================================================================
5004 AC_MSG_CHECKING([whether to enable agg])
5005 if test "$with_agg" = "no"; then
5006   AC_MSG_RESULT([no])
5007 else
5008   AC_MSG_RESULT([yes])
5009   ENABLE_AGG=YES
5010   AC_SUBST(ENABLE_AGG)
5012   dnl ===================================================================
5013   dnl Check for system AGG
5014   dnl ===================================================================
5015   AC_MSG_CHECKING([which AGG to use])
5016   if test -n "$with_system_agg" -o -n "$with_system_libs" && \
5017      test "$with_system_agg" != "no"; then
5018          AC_MSG_RESULT([external])
5019          PKG_CHECK_MODULES(AGG, libagg >= 2.3)
5020          AC_MSG_CHECKING([agg version])
5021          # workaround; if AGG_CFLAGS is empty (broken libagg.pc in 2.3), add /usr/include/agg2 anyway
5022          # (/usr/include gets stripped from pkg-config output)
5023          if test -z "$AGG_CFLAGS" || test "$AGG_CFLAGS" = " "; then
5024             AGG_INCDIR="`$PKG_CONFIG --variable includedir libagg`/agg2"
5025          else
5026             AGG_INCDIR="`echo $AGG_CFLAGS | $SED -e s/-I//`"
5027          fi
5028          if $PKG_CONFIG --modversion libagg | grep -q 2.3 || \
5029                 $PKG_CONFIG --modversion libagg | grep -q 2.4; then
5030             # 2.4's libagg.pc.in still contains 2.3 :/
5031             if $EGREP -q "Version 2.4" `echo $AGG_INCDIR`/agg_basics.h; then
5032                AC_MSG_RESULT([2.4])
5033                AGG_VERSION=2400
5034             else
5035                AC_MSG_RESULT([2.3])
5036                AGG_VERSION=2300
5037             fi
5038             SYSTEM_AGG=YES
5039          else
5040             AC_MSG_ERROR([only agg 2.3 and 2.4 are supported])
5041          fi
5042   else
5043          AC_MSG_RESULT([internal])
5044          SYSTEM_AGG=NO
5045          AGG_VERSION=2300
5046          BUILD_TYPE="$BUILD_TYPE AGG"
5047   fi
5048   AC_SUBST(SYSTEM_AGG)
5049   AC_SUBST(AGG_VERSION)
5052 dnl ===================================================================
5053 dnl Check for system redland
5054 dnl ===================================================================
5055 AC_MSG_CHECKING([which redland library to use])
5056 if test -n "$with_system_redland" -o -n "$with_system_libs" && \
5057         test "$with_system_redland" != "no"; then
5058         AC_MSG_RESULT([external])
5059         SYSTEM_REDLAND=YES
5060    dnl versions before 1.0.8 write RDF/XML that is useless for ODF (@xml:base)
5061    PKG_CHECK_MODULES(REDLAND, redland >= 1.0.8)
5062 else
5063         AC_MSG_RESULT([internal])
5064         BUILD_TYPE="$BUILD_TYPE REDLAND"
5065         SYSTEM_REDLAND=NO
5067 AC_SUBST(SYSTEM_REDLAND)
5068 AC_SUBST(REDLAND_CFLAGS)
5069 AC_SUBST(REDLAND_LIBS)
5071 dnl ===================================================================
5072 dnl Check for system hunspell
5073 dnl ===================================================================
5074 AC_MSG_CHECKING([which libhunspell to use])
5075 if test -n "$with_system_hunspell" -o -n "$with_system_libs" && \
5076         test "$with_system_hunspell" != "no"; then
5077     AC_MSG_RESULT([external])
5078     SYSTEM_HUNSPELL=YES
5079     AC_LANG_PUSH([C++])
5080     PKG_CHECK_MODULES(HUNSPELL, hunspell, HUNSPELL_PC="TRUE", HUNSPELL_PC="" )
5081     if test "$HUNSPELL_PC" != "TRUE"; then
5082       AC_CHECK_HEADER(hunspell.hxx, [],
5083       [
5084       AC_CHECK_HEADER(hunspell/hunspell.hxx, [ HUNSPELL_CFLAGS=-I/usr/include/hunspell ],
5085            [AC_MSG_ERROR(hunspell headers not found.)], [])
5086          ], [])
5087       AC_CHECK_LIB(hunspell, main, [],
5088            [ AC_MSG_ERROR(hunspell library not found.) ], [])
5089       HUNSPELL_LIBS=-lhunspell
5090      fi
5091     AC_LANG_POP([C++])
5092 else
5093     AC_MSG_RESULT([internal])
5094     SYSTEM_HUNSPELL=NO
5095     BUILD_TYPE="$BUILD_TYPE HUNSPELL"
5097 AC_SUBST(SYSTEM_HUNSPELL)
5098 AC_SUBST(HUNSPELL_CFLAGS)
5099 AC_SUBST(HUNSPELL_LIBS)
5101 dnl ===================================================================
5102 dnl Checking for altlinuxhyph
5103 dnl ===================================================================
5104 AC_MSG_CHECKING([which altlinuxhyph to use])
5105 if test -n "$with_system_altlinuxhyph" -o -n "$with_system_libs" && \
5106         test "$with_system_altlinuxhyph" != "no"; then
5107     AC_MSG_RESULT([external])
5108     SYSTEM_HYPH=YES
5109     AC_CHECK_HEADER(hyphen.h, [],
5110        [ AC_MSG_ERROR(altlinuxhyph headers not found.)], [])
5111     AC_CHECK_MEMBER(struct _HyphenDict.cset, [],
5112        [ AC_MSG_ERROR(no. You are sure you have altlinuyhyph headers?)],
5113        [#include <hyphen.h>])
5114     AC_CHECK_LIB(hyphen, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyphen],
5115         [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
5116     if test -z "$HYPHEN_LIB"; then
5117        AC_CHECK_LIB(hyph, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyph],
5118            [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
5119     fi
5120     if test -z "$HYPHEN_LIB"; then
5121        AC_CHECK_LIB(hnj, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhnj],
5122            [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
5123     fi
5124 else
5125     AC_MSG_RESULT([internal])
5126     SYSTEM_HYPH=NO
5127     BUILD_TYPE="$BUILD_TYPE HYPHEN"
5129 AC_SUBST(SYSTEM_HYPH)
5130 AC_SUBST(HYPHEN_LIB)
5132 dnl ===================================================================
5133 dnl Checking for mythes
5134 dnl ===================================================================
5135 AC_MSG_CHECKING([which mythes to use])
5136 if test -n "$with_system_mythes" && test "$with_system_mythes" != "no"; then
5137     AC_MSG_RESULT([external])
5138     SYSTEM_MYTHES=YES
5139     AC_LANG_PUSH([C++])
5140     PKG_CHECK_MODULES(MYTHES, mythes, MYTHES_PKGCONFIG=yes, MYTHES_PKGCONFIG=no)
5141     if test "$MYTHES_PKGCONFIG" = "no"; then
5142         AC_CHECK_HEADER(mythes.hxx, [],
5143             [ AC_MSG_ERROR(mythes.hxx headers not found.)], [])
5144         AC_CHECK_LIB(mythes-1.2, main, [],
5145             [ MYTHES_FOUND=no], [])
5146         if test "$MYTHES_FOUND" = "no"; then
5147             AC_CHECK_LIB(mythes, main, [MYTHES_FOUND=yes],
5148                 [ MYTHES_FOUND=no], [])
5149         fi
5150         if test "$MYTHES_FOUND" = "no"; then
5151                 AC_MSG_ERROR([mythes library not found!.])
5152         fi
5153     fi
5154     AC_LANG_POP([C++])
5155 else
5156     AC_MSG_RESULT([internal])
5157     SYSTEM_MYTHES=NO
5158     BUILD_TYPE="$BUILD_TYPE MYTHES"
5160 AC_SUBST(SYSTEM_MYTHES)
5161 AC_SUBST(MYTHES_CFLAGS)
5162 AC_SUBST(MYTHES_LIBS)
5164 dnl ===================================================================
5165 dnl Checking for lpsolve
5166 dnl ===================================================================
5167 AC_MSG_CHECKING([which lpsolve to use])
5168 if test -n "$with_system_lpsolve" -o -n "$with_system_libs" && \
5169         test "$with_system_lpsolve" != "no"; then
5170     AC_MSG_RESULT([external])
5171     SYSTEM_LPSOLVE=YES
5172     AC_CHECK_HEADER(lpsolve/lp_lib.h, [],
5173        [ AC_MSG_ERROR(lpsolve headers not found.)], [])
5174     # some systems need this. Like Ubuntu....
5175     AC_CHECK_LIB(m, floor)
5176     AC_CHECK_LIB(dl, dlopen)
5177     AC_CHECK_LIB(lpsolve55, make_lp, ,
5178         [ AC_MSG_ERROR(lpsolve library not found or too old.)], [])
5179 else
5180     AC_MSG_RESULT([internal])
5181     SYSTEM_LPSOLVE=NO
5182     BUILD_TYPE="$BUILD_TYPE LPSOLVE"
5184 AC_SUBST(SYSTEM_LPSOLVE)
5186 dnl ===================================================================
5187 dnl Checking for libtextcat
5188 dnl ===================================================================
5189 AC_MSG_CHECKING([which libtextcat to use])
5190 if test -n "$with_system_libtextcat" && test "$with_system_libtextcat" != "no"; then
5191     AC_MSG_RESULT([external])
5192     SYSTEM_LIBTEXTCAT=YES
5193     AC_CHECK_HEADER(libtextcat/textcat.h, [],
5194        [ AC_MSG_ERROR(libtextcat headers not found.)], [])
5195     AC_CHECK_LIB(textcat, special_textcat_Init, ,
5196         [ AC_MSG_ERROR(libtextcat library not found or not suitable. libtextcat typically needs to be patched)], [])
5197 else
5198     AC_MSG_RESULT([internal])
5199     SYSTEM_LIBTEXTCAT=NO
5200     BUILD_TYPE="$BUILD_TYPE LIBTEXTCAT"
5202 AC_SUBST(SYSTEM_LIBTEXTCAT)
5204 AC_MSG_CHECKING([which libtextcat data directory to use])
5205 if test -n "$with_system_libtextcat_data" && test "$with_system_libtextcat_data" != "no"; then
5206     if test "$with_system_libtextcat_data" = "yes"; then
5207         SYSTEM_LIBTEXTCAT_DATA=file:///usr/share/libtextcat
5208     else
5209         SYSTEM_LIBTEXTCAT_DATA=file://$with_system_libtextcat_data
5210     fi
5211     AC_MSG_RESULT([$SYSTEM_LIBTEXTCAT_DATA])
5212 else
5213     AC_MSG_RESULT([internal])
5214     BUILD_TYPE="$BUILD_TYPE LIBTEXTCATDATA"
5216 AC_SUBST(SYSTEM_LIBTEXTCAT_DATA)
5218 dnl ***************************************
5219 dnl testing libc version for Linux...
5220 dnl ***************************************
5221 if test "$_os" = "Linux"; then
5222    AC_MSG_CHECKING([whether libc is >= 2.1.1])
5223    exec 6>/dev/null # no output
5224    AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC)
5225    exec 6>&1 # output on again
5226    if test "$HAVE_LIBC"; then
5227       AC_MSG_RESULT([yes])
5228    else
5229       AC_MSG_ERROR([no, upgrade libc])
5230    fi
5233 if test "$_os" != "WNT"; then
5234   AC_CHECK_FUNCS(getopt, HAVE_GETOPT=YES, [HAVE_GETOPT=NO])
5235   AC_CHECK_FUNCS(readdir_r, HAVE_READDIR_R=YES, [HAVE_READDIR_R=NO])
5236   if test "$HAVE_GETOPT" = "YES" -a "$HAVE_READDIR_R" = "YES"; then
5237         SYSTEM_LIBC=YES
5238   fi
5239 else
5240   HAVE_GETOPT=NO
5241   HAVE_READDIR_R=NO
5242   SYSTEM_LIBC=YES
5244 AC_SUBST(HAVE_GETOPT)
5245 AC_SUBST(HAVE_READDIR_R)
5246 AC_SUBST(SYSTEM_LIBC)
5248 dnl =========================================
5249 dnl Check for the Microsoft Platform SDK.
5250 dnl =========================================
5251 dnl FIXME: I don't know yet if PSDK works with MinGW, keep it until I know better,
5252 dnl and add "-a \( "$WITH_MINGWIN" != "yes" \)" then
5253 if test \( "$_os" = "WINNT" \) ; then
5254         AC_MSG_CHECKING([for PSDK files])
5255         if test -z "$with_psdk_home"; then
5256                 # This first line will detect a February 2003 Microsoft Platform SDK
5257                 PSDK_HOME=`./oowintool --psdk-home`
5258         # But there might be also an April 2005 PSDK, unfortunately MS changed
5259         # the registry entry. (we prefer the old version!?)
5260         if test -z "$PSDK_HOME"; then
5261           PSDK_HOME=`cat /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/*/Install\ Dir 2> /dev/null | tr '\000' '\n' | head -n 1`
5262         fi
5263             # normalize if found
5264             if test -n "$PSDK_HOME"; then
5265               PSDK_HOME=`cygpath -d "$PSDK_HOME"`
5266               PSDK_HOME=`cygpath -u "$PSDK_HOME"`
5267            fi
5268         else
5269            PSDK_HOME=`cygpath -u "$with_psdk_home"`
5270         fi
5271         # Remove a possible trailing backslash
5272         PSDK_HOME=`echo $PSDK_HOME | $SED 's/\/$//'`
5273     # Problem with current PSDK (iz 49865)
5274     if test -f "$PSDK_HOME/Lib/libcp.lib"; then
5275         AC_MSG_ERROR([
5277 Some modules do not build correctly with MS Platform SDK - April 2005
5278 Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found.
5279 Remove/rename/backup that file and restart configure. Details about this
5280 problem can be found in issue 49856.])
5281     fi
5282 # WIndows SDK has different headers
5283         if test \( -f "$PSDK_HOME/Include/adoint.h" \) \
5284                  -a \( -f "$PSDK_HOME/Include/SqlUcode.h" \) \
5285                  -a \( -f "$PSDK_HOME/Include/usp10.h" \); then
5286                 HAVE_PSDK_H="yes"
5287         else
5288                 HAVE_PSDK_H="no"
5289         fi
5290         if test -f "$PSDK_HOME/lib/unicows.lib"; then
5291                 HAVE_PSDK_LIB="yes"
5292         else
5293                 HAVE_PSDK_LIB="no"
5294         fi
5295     if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then
5296         AC_MSG_ERROR([Some (all?) PSDK files not found, please check if all needed Platform SDKs
5297 are installed or use --with-psdk-home .])
5298     fi
5299     if test ! -x "$PSDK_HOME/bin/msiinfo.exe" \
5300          -o ! -x "$PSDK_HOME/bin/msidb.exe" \
5301          -o ! -x "$PSDK_HOME/bin/uuidgen.exe" \
5302          -o ! -x "$PSDK_HOME/bin/msitran.exe" ; then
5303         AC_MSG_ERROR([Some (all) files of the Windows Installer SDK are missing, please install.])
5304     fi
5305     AC_MSG_RESULT([SDK files found ...)])
5306 dnl Check if this is the right SDK.
5307     if echo $PSDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then
5308         AC_MSG_RESULT([Found Windows SDK 6.1 ($PSDK_HOME)])
5309         WINDOWS_VISTA_PSDK=TRUE
5310     elif echo $PSDK_HOME | grep "v6.0" >/dev/null 2>/dev/null; then
5311         AC_MSG_RESULT([Found Windows SDK 6.0 ($PSDK_HOME)])
5312         WINDOWS_VISTA_PSDK=TRUE
5313     else
5314         AC_MSG_RESULT([Found Legacy Windows Platform SDK ($PSDK_HOME)])
5315     fi
5317 AC_SUBST(PSDK_HOME)
5318 AC_SUBST(WINDOWS_VISTA_PSDK)
5320 dnl =========================================
5321 dnl Check for the Microsoft DirectX SDK.
5322 dnl =========================================
5323 if test \( "$_os" = "WINNT" \) ; then
5324     AC_MSG_CHECKING([for DirectX SDK files])
5325     if test -z "$with_directx_home"; then
5326         dnl A standard installation of the DirectX SDK sets $DXSDK_DIR
5327         if test -n "$DXSDK_DIR"; then
5328             DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"`
5329             DIRECTXSDK_HOME=`cygpath -u "$DIRECTXSDK_HOME"`
5330         fi
5331         # At this point $DIRECTXSDK_HOME might still be undefined. This will lead to
5332         # the "DirectX SDK files not found" error later
5333     else
5334         DIRECTXSDK_HOME=`cygpath -u "$with_directx_home"`
5335     fi
5336     # Remove a possible trailing backslash
5337     DIRECTXSDK_HOME=`echo $DIRECTXSDK_HOME | $SED 's/\/$//'`
5339     if test -f "$DIRECTXSDK_HOME/Include/ddraw.h" ; then
5340         HAVE_DIRECTXSDK_H="yes"
5341     else
5342         HAVE_DIRECTXSDK_H="no"
5343     fi
5344     # MS changed the location of the libraries with dec 2004 directx sdk
5345     if test -d "$DIRECTXSDK_HOME/lib/x86" ; then
5346         DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib/x86"
5347     else
5348         DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib"
5349     fi
5350     if test -f "$DIRECTXSDK_LIB/ddraw.lib" ; then
5351         HAVE_DIRECTXSDK_LIB="yes"
5352     else
5353         HAVE_DIRECTXSDK_LIB="no"
5354     fi
5355     if test -n "$ENABLE_DIRECTX"; then
5356             if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then
5357                     AC_MSG_RESULT([found])
5358             else
5359                     AC_MSG_ERROR([DirectX SDK files not found, please use --with-directx-home or -disable-directx.])
5360             fi
5361     else
5362                 DIRECTXSDK_HOME=""
5363                 AC_MSG_RESULT([disabled])
5364     fi
5366 AC_SUBST(DIRECTXSDK_HOME)
5367 AC_SUBST(DIRECTXSDK_LIB)
5369 dnl ============================================
5370 dnl Check for Nullsoft Scriptable Install System
5371 dnl ============================================
5372 NSIS_PATH=""
5373 if test "$_os" = "WINNT" ; then
5374     AC_MSG_CHECKING([for NSIS])
5375     AC_PATH_PROG(NSIS_PATH, nsis.exe)
5376     if test -n "$NSIS_PATH"; then
5377         NSIS_PATH=`dirname "$NSIS_PATH"`
5378     fi
5379     if test -n "$with_nsis_path"; then
5380         with_nsis_path=`cygpath -u "$with_nsis_path"`
5381     fi
5382     if test -e "$with_nsis_path/nsis.exe"; then
5383         NSIS_PATH="$with_nsis_path"
5384     fi
5385     nsistest=`./oowintool --nsis-dir`;
5386     if test -x "$nsistest/nsis.exe"; then
5387         NSIS_PATH="$nsistest"
5388     fi
5389     if test -z "$NSIS_PATH"; then
5390         AC_MSG_WARN([NSIS not found, no self contained installer will be build.])
5391         echo "NSIS not found, no self contained installer will be build." >> warn
5392     else
5393         NSIS_PATH=`cygpath -d "$NSIS_PATH"`
5394         NSIS_PATH=`cygpath -u "$NSIS_PATH"`
5395         AC_MSG_RESULT([found ($NSIS_PATH)])
5396     fi
5398 AC_SUBST(NSIS_PATH)
5400 dnl ***************************************
5401 dnl testing bison and flex exist
5402 dnl ***************************************
5403 AC_PATH_PROG(BISON, bison)
5404 if test -z "$BISON"; then
5405    AC_MSG_ERROR([no bison found in \$PATH, install bison])
5406 else
5407    AC_MSG_CHECKING([the bison version])
5408    _bison_version=`$BISON --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
5409     _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'`
5410     # Accept newer than 1.875 or older(equal) than 1.75
5411     if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then
5412        if test "$_bison_version" = "1.875" ; then
5413           AC_MSG_WARN([suspect ($BISON $_bison_version)])
5414           echo "Suspect ($BISON $_bison_version) suggest upgrade" >> warn
5415        else
5416           AC_MSG_RESULT([checked ($BISON $_bison_version)])
5417        fi
5418     else
5419        AC_MSG_ERROR([failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))])
5420     fi
5422 AC_PATH_PROG(FLEX, flex)
5423 if test -z "$FLEX"; then
5424    AC_MSG_ERROR([no flex found in \$PATH, install flex])
5426 dnl ***************************************
5427 dnl testing that patch exists
5428 dnl ***************************************
5429 AC_PATH_PROG(PATCH, patch)
5430 if test -z "$PATCH"; then
5431    AC_MSG_ERROR([\"patch\" not found in \$PATH, install the development tool named\"patch"\])
5434 dnl On Solaris, FreeBSD or MacOS X, check if --with-gnu-patch was used
5435 if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then
5436    if test -z "$with_gnu_patch"; then
5437       GNUPATCH=$PATCH
5438    else
5439       if test -x "$with_gnu_patch"; then
5440               GNUPATCH=$with_gnu_patch
5441       else
5442          AC_MSG_ERROR([--with-gnu-patch did not point to an executable])
5443       fi
5444    fi
5446    AC_MSG_CHECKING([whether $GNUPATCH is GNU patch])
5447    if $GNUPATCH --version | grep "Free Software Foundation" >/dev/null 2>/dev/null; then
5448            AC_MSG_RESULT([yes])
5449    else
5450       AC_MSG_ERROR([no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it])
5451    fi
5454 dnl We also need to check for --with-gnu-cp
5456 if test -z "$with_gnu_cp"; then
5457    AC_PATH_PROGS(GNUCP, gnucp cp)
5458    if test -z $GNUCP; then
5459       AC_MSG_ERROR([Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it])
5460    fi
5461 else
5462    if test -x "$with_gnu_cp"; then
5463       GNUCP=$with_gnu_cp
5464    else
5465       AC_MSG_ERROR([--with-gnu-cp did not point to an executable])
5466    fi
5469 AC_MSG_CHECKING([whether $GNUCP is GNU cp from coreutils with preserve= support])
5470 if $GNUCP --version 2>/dev/null | grep "coreutils" >/dev/null 2>/dev/null; then
5471    AC_MSG_RESULT([yes])
5472 else
5473    AC_MSG_RESULT([no])
5474    GNUCP=''
5477 if test -z "$GNUCP"; then
5478    if test "$_os" = "SunOS" -o "$_os" = "FreeBSD"; then
5479       AC_MSG_ERROR([no, GNU cp from coreutils is needed. install or specify with --with-gnu-cp=/path/to/it])
5480    else
5481       AC_MSG_RESULT([no GNU cp from coreutils found - using the system's cp command])
5482    fi
5485 AC_SUBST(GNUPATCH)
5486 AC_SUBST(GNUCP)
5488 dnl ***************************************
5489 dnl testing bash tools path on Windows
5490 dnl ***************************************
5491 if test "$_os" = "WINNT"; then
5492     CYGWIN_PATH=""
5493     AC_PATH_PROG(CYGWIN_PATH, bash)
5494     CYGWIN_PATH=`dirname "$CYGWIN_PATH"`
5496 if test -z "$CYGWIN_PATH"; then
5497    CYGWIN_PATH="NO_CYGWIN"
5499 AC_SUBST(CYGWIN_PATH)
5501 dnl ***************************************
5502 dnl testing ml.exe assembler path
5503 dnl ***************************************
5504 if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
5505   AC_MSG_CHECKING([ml.exe assembler path])
5506   if test -n "$with_asm_home"; then
5507     with_asm_home=`cygpath -u "$with_asm_home"`
5508   fi
5509   if test ! -x "$with_asm_home/ml.exe"; then
5510     AC_PATH_PROG(ML_EXE, ml.exe)
5511     if test -z "$ML_EXE"; then
5512       if test -x "$with_cl_home/bin/ml.exe"; then
5513         with_asm_home=$with_cl_home/bin
5514         AC_MSG_RESULT([found ($with_asm_home)])
5515       else
5516         AC_MSG_ERROR([Configure did not find ml.exe assembler.])
5517       fi
5518     else
5519        with_asm_home="ASM_IN_PATH"
5520     fi
5521   fi
5522   AC_MSG_RESULT([$ASM_HOME])
5523 else
5524   with_asm_home="NO_ASM_HOME"
5526 ASM_HOME="$with_asm_home"
5527 AC_SUBST(ASM_HOME)
5529 dnl ===================================================================
5530 dnl testing handle deprecated unzip switch
5531 dnl ===================================================================
5532 if test -z "$with_zip_home"; then
5533         with_zip_home="$with_unzip_home"
5535 dnl ===================================================================
5536 dnl Zip will be found where you tell me to find it
5537 dnl ===================================================================
5538 if test -n "$with_zip_home" ; then
5539     if test "$_os" = "WINNT"; then
5540         with_zip_home=`cygpath -u "$with_zip_home"`
5541     fi
5542     ZIP="$with_zip_home/zip"
5543     UNZIP="$with_zip_home/unzip"
5544     ZIP_HOME="$with_zip_home"
5545 else
5546     AC_PATH_PROG(ZIP, zip)
5547     AC_PATH_PROG(UNZIP, unzip)
5548     ZIP_HOME=`dirname "$ZIP"`
5550 dnl ===================================================================
5551 dnl Zip must be available or else it is an error, all platforms
5552 dnl ===================================================================
5553 if test -z "$ZIP" -o -z "$UNZIP"; then
5554     AC_MSG_ERROR([Zip/Unzip are required to build, please install or use --with-zip-home],,)
5557 dnl ===================================================================
5558 dnl Zip must be a specific type for different build types.
5559 dnl ===================================================================
5560 if test "$_os" = "WINNT"; then
5561     if test -n "`$ZIP -h | grep -i WinNT`" ; then
5562 AC_MSG_ERROR([$ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe.])
5563     fi
5565 AC_SUBST(ZIP_HOME)
5567 dnl ===================================================================
5568 dnl Windows builds need unicows.dll in external/unicows/
5569 dnl ===================================================================
5570 if test "$_os" = "WINNT"; then
5571    AC_MSG_CHECKING([for unicows.dll])
5572    if test -x ./external/unicows/unicows.dll; then
5573       AC_MSG_RESULT([found])
5574    else
5575       AC_MSG_ERROR([The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/.
5576 Get it from the Microsoft site and put it into external/unicows.
5577 (Note: Microsoft seems to enjoy changing the exact location of this file. You
5578 may have to search Microsoft's website.) Last time it was seen at:
5579 <http://download.microsoft.com/download/b/7/5/b75eace3-00e2-4aa0-9a6f-0b6882c71642/unicows.exe>.])
5580    fi
5583 dnl ===================================================================
5584 dnl Windows builds need dbghelp.dll in external/dbghelp/
5585 dnl ===================================================================
5586 if test "$_os" = "WINNT"; then
5587    AC_MSG_CHECKING([for dbghelp.dll])
5588    if test -x ./external/dbghelp/dbghelp.dll; then
5589       AC_MSG_RESULT([found])
5590    else
5591       AC_MSG_ERROR([dbghelp.dll is missing in external/dbghelp/.
5592 Get it from the Microsoft site and put it into external/dbghelp.
5593 (Note: Microsoft seems to enjoy changing the exact location of this file. You
5594 may have to search Microsoft's website.) Last time it was seen at:
5595 <http://www.microsoft.com/downloads/release.asp?releaseid=30682>.])
5596    fi
5599 dnl ===================================================================
5600 dnl Windows builds - use oowintool to copy CRT dlls and manifest
5601 dnl ===================================================================
5602 if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
5603        if ./oowintool --msvc-copy-dlls ./external/msvcp ; then
5604           :
5605        else
5606           AC_MSG_ERROR([oowintool failed to copy CRT])
5607        fi
5610 dnl ===================================================================
5611 dnl Windows builds need gdiplus.dll in external/gdiplus/
5612 dnl ===================================================================
5613 if test "$_os" = "WINNT"; then
5614    AC_MSG_CHECKING([for gdiplus.dll])
5615    if test -x ./external/gdiplus/gdiplus.dll; then
5616       AC_MSG_RESULT([found])
5617    else
5618       AC_MSG_ERROR([gdiplus.dll is missing in external/gdiplus/.
5619 Get it from the Microsoft site and put it into external/gdiplus.
5620 You may have to search Microsoft's website. Last time it was seen at:
5621 <http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en>.])
5622    fi
5625 dnl ===================================================================
5626 dnl Windows builds - attempt to auto-copy required instmsiX.exe into external/
5627 dnl ===================================================================
5628 if test "$_os" = "WINNT"; then
5629        ./oowintool --msvc-copy-instmsi ./external/msi
5632 dnl ===================================================================
5633 dnl Windows builds with VS 2003/2005/2008 need instmsia.exe and instmsiw.exe in external/msi
5634 dnl ===================================================================
5635 if test "$_os" = "WINNT"; then
5636    if test  "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then
5637    AC_MSG_CHECKING([for instmsia.exe/instmsiw.exe])
5638    if test -x ./external/msi/instmsia.exe -a -x ./external/msi/instmsiw.exe; then
5639       AC_MSG_RESULT([found])
5640    else
5641       MSIAPATH=`/bin/find "$COMPATH/.." -iname instmsia.exe | head -n 1`
5642       MSIWPATH=`/bin/find "$COMPATH/.." -iname instmsiw.exe | head -n 1`
5643       if test -n "$MSIAPATH" -a -n "$MSIWPATH"; then
5644          cp "$MSIAPATH" ./external/msi/ && chmod +x ./external/msi/instmsia.exe && MSIACOPY="OK"
5645          cp "$MSIWPATH" ./external/msi/ && chmod +x ./external/msi/instmsiw.exe && MSIWCOPY="OK"
5646       fi
5647       if test -z "$MSIACOPY" -o -z "$MSIWCOPY"; then
5648          AC_MSG_ERROR([instmsia.exe and/or instmsiw.exe are/is missing in the default location.
5649 These programs are part of the Visual Studio installation and should be found in a
5650 directory similar to:
5651 "c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\Deployment\\MsiRedist\\"
5652 As the automatic detection fails please copy the files to external/msi/.])
5653       else
5654          AC_MSG_RESULT([found and copied])
5655       fi
5656    fi
5660 dnl ===================================================================
5661 dnl Test which vclplugs have to be built.
5662 dnl ===================================================================
5663 AC_MSG_CHECKING([which VCLplugs shall be built])
5664 ENABLE_GTK=""
5665 if test "x$enable_gtk" = "xyes"; then
5666     ENABLE_GTK="TRUE"
5667     R="gtk"
5669 AC_SUBST(ENABLE_GTK)
5671 ENABLE_KDE=""
5672 if test "x$enable_kde" = "xyes"; then
5673     ENABLE_KDE="TRUE"
5674     R="$R kde"
5676 AC_SUBST(ENABLE_KDE)
5678 ENABLE_KDE4=""
5679 if test "x$enable_kde4" = "xyes"; then
5680     ENABLE_KDE4="TRUE"
5681     R="$R kde4"
5683 AC_SUBST(ENABLE_KDE4)
5685 if test -z "$R"; then
5686         AC_MSG_RESULT([none])
5687 else
5688         AC_MSG_RESULT([$R])
5691 dnl ===================================================================
5692 dnl GCONF check
5693 dnl ===================================================================
5695 ENABLE_GCONF=""
5696 AC_MSG_CHECKING([whether to enable GConf support])
5697 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then
5698     ENABLE_GCONF="TRUE"
5699     AC_MSG_RESULT([yes])
5700     PKG_CHECK_MODULES( GCONF, gconf-2.0 )
5701 else
5702     AC_MSG_RESULT([no])
5704 AC_SUBST(ENABLE_GCONF)
5706 dnl ===================================================================
5707 dnl Gnome VFS check
5708 dnl ===================================================================
5710 ENABLE_GNOMEVFS=""
5711 AC_MSG_CHECKING([whether to enable GNOME VFS support])
5712 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then
5713     ENABLE_GNOMEVFS="TRUE"
5714     AC_MSG_RESULT([yes])
5715     PKG_CHECK_MODULES( GNOMEVFS, gnome-vfs-2.0 >= 2.6.0 )
5716     if test "$ENABLE_GCONF" != "TRUE"; then
5717         PKG_CHECK_MODULES( GCONF, gconf-2.0 )
5718     fi
5719 else
5720     AC_MSG_RESULT([no])
5722 AC_SUBST(ENABLE_GNOMEVFS)
5724 dnl ===================================================================
5725 dnl Check whether the gtk 2.0 libraries are available.
5726 dnl ===================================================================
5728 GTK_CFLAGS=""
5729 GTK_LIBS=""
5730 ENABLE_SYSTRAY_GTK=""
5731 ENABLE_DBUS=""
5732 if test  "$test_gtk" = "yes"; then
5734    if test "$ENABLE_GTK" = "TRUE" ; then
5735       PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ,,AC_MSG_ERROR([requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages]))
5736       BUILD_TYPE="$BUILD_TYPE GTK"
5738       if test "x$enable_systray" = "xyes"; then
5739          ENABLE_SYSTRAY_GTK="TRUE"
5740          BUILD_TYPE="$BUILD_TYPE SYSTRAY_GTK"
5741       fi
5743       AC_MSG_CHECKING([whether to enable DBUS support])
5744       if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_dbus" = "yes"; then
5745           ENABLE_DBUS="TRUE"
5746           AC_MSG_RESULT([yes])
5747           PKG_CHECK_MODULES( DBUS, dbus-glib-1 >= 0.70 )
5748       else
5749           AC_MSG_RESULT([no])
5750       fi
5752       AC_MSG_CHECKING([whether to enable GIO support])
5753       if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then
5754           if test "$ENABLE_GNOMEVFS" = "TRUE" ; then
5755              AC_MSG_ERROR([please use --enable-gio only together with --disable-gnome-vfs.])
5756           fi
5757           ENABLE_GIO="TRUE"
5758           AC_MSG_RESULT([yes])
5759           PKG_CHECK_MODULES( GIO, gio-2.0 )
5760       else
5761           AC_MSG_RESULT([no])
5762       fi
5764    fi
5767 AC_SUBST(ENABLE_GIO)
5768 AC_SUBST(ENABLE_DBUS)
5769 AC_SUBST(ENABLE_SYSTRAY_GTK)
5770 AC_SUBST(GTK_CFLAGS)
5771 AC_SUBST(GTK_LIBS)
5773 dnl ===================================================================
5774 dnl Check whether the GStreamer libraries are available.
5775 dnl ===================================================================
5777 GSTREAMER_CFLAGS=""
5778 GSTREAMER_LIBS=""
5779 ENABLE_GSTREAMER=""
5781 if test "$test_gstreamer" = "yes"; then
5782     AC_MSG_CHECKING([whether to build the GStreamer media backend])
5783     if test "x$enable_gstreamer" != "xno" ; then
5784         PKG_CHECK_MODULES( GSTREAMER, gtk+-2.0 >= 2.4 gthread-2.0 gstreamer-0.10 gstreamer-interfaces-0.10 ,,AC_MSG_ERROR([requirements to build the GStreamer media backend not met. Use --disable-gstreamer or install the missing packages]))
5785         ENABLE_GSTREAMER="TRUE"
5786         AC_MSG_RESULT([yes])
5787     else
5788         AC_MSG_RESULT([no])
5789     fi
5791 AC_SUBST(ENABLE_GSTREAMER)
5792 AC_SUBST(GSTREAMER_CFLAGS)
5793 AC_SUBST(GSTREAMER_LIBS)
5796 dnl ===================================================================
5797 dnl Check whether the Cairo libraries are available.
5798 dnl ===================================================================
5800 ENABLE_CAIRO=""
5801 BUILD_PIXMAN=""
5802 SYSTEM_CAIRO=""
5804 if test  "$test_cairo" = "yes"; then
5806     AC_MSG_CHECKING([whether to use cairo])
5807     if test "x$enable_cairo" != "xno" ; then
5808         ENABLE_CAIRO="TRUE"
5809         AC_MSG_RESULT([yes])
5810         AC_MSG_CHECKING([which cairo to use])
5811         if test -n "$with_system_cairo" -o -n "$with_system_libs" && \
5812            test "$with_system_cairo" != "no"; then
5813            AC_MSG_RESULT([external])
5814            SYSTEM_CAIRO=YES
5815            
5816            PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
5817            if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$ENABLE_FONTCONFIG" != "TRUE" ; then
5818               AC_MSG_ERROR([Cairo library requires fontconfig.])
5819            fi
5820            if test "$with_system_xrender_headers" = "yes"; then
5821               AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8])
5822               AC_TRY_RUN([
5823 #include <X11/extensions/Xrender.h>
5825 int main(int argc, char **argv) {
5826 #ifdef PictStandardA8
5827       return 0;
5828 #else
5829       return 1;
5830 #endif
5832                ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, X headers too old.])])
5833            fi
5834         else
5835            BUILD_TYPE="$BUILD_TYPE CAIRO"
5836            dnl === compiler fails on pixman with 64bit architectures...===
5837            if test "$build_cpu" != "x86_64"; then
5838               BUILD_PIXMAN=YES
5839            fi
5840            AC_MSG_RESULT([internal])       
5841         fi
5842     else
5843            AC_MSG_RESULT([no])
5844     fi
5847 AC_SUBST(ENABLE_CAIRO)
5848 AC_SUBST(BUILD_PIXMAN)
5849 AC_SUBST(SYSTEM_CAIRO)
5850 AC_SUBST(CAIRO_CFLAGS)
5851 AC_SUBST(CAIRO_LIBS)
5853 dnl ===================================================================
5854 dnl Check whether the OpenGL libraries are available
5855 dnl ===================================================================
5857 AC_MSG_CHECKING([whether to build the OpenGL Transitions component])
5858 ENABLE_OPENGL=
5860 if test "x$enable_opengl" != "xno" ; then
5861    AC_MSG_RESULT([yes])
5862    AC_CHECK_HEADER(GL/gl.h, [],
5863                    [AC_MSG_ERROR([OpenGL headers not found])], [])
5864    AC_CHECK_LIB(GL, main, [],
5865      [AC_MSG_ERROR(libGL not installed or functional)], [])
5866    AC_CHECK_LIB(GLU, main, [],
5867      [AC_MSG_ERROR(libGLU not installed or functional)], [])
5868    ENABLE_OPENGL=TRUE
5869 else
5870    AC_MSG_RESULT([no])
5873 AC_SUBST(ENABLE_OPENGL)
5875 AC_MSG_CHECKING([whether to build extra presenter ui])
5876 if test -n "$enable_presenter_extra_ui" -a "$enable_presenter_extra_ui" != "no"; then
5877    AC_MSG_RESULT([yes])
5878    ENABLE_PRESENTER_EXTRA_UI=YES
5879 else
5880    AC_MSG_RESULT([no])
5881    ENABLE_PRESENTER_EXTRA_UI=NO
5883 AC_SUBST(ENABLE_PRESENTER_EXTRA_UI)
5885 AC_MSG_CHECKING([whether to build the Presentation Minimizer extension])
5886 if test -n "$enable_minimizer" -a "$enable_minimizer" != "no"; then
5887    AC_MSG_RESULT([yes])
5888    ENABLE_MINIMIZER=YES
5889 else
5890    AC_MSG_RESULT([no])
5891    ENABLE_MINIMIZER=NO
5893 AC_SUBST(ENABLE_MINIMIZER)
5895 AC_MSG_CHECKING([whether to build the Presenter Screen extension])
5896 if test -n "$enable_presenter_console" -a "$enable_presenter_screen" != "no"; then
5897    AC_MSG_RESULT([yes])
5898    ENABLE_PRESENTER_SCREEN=YES
5899 else
5900    AC_MSG_RESULT([no])
5901    ENABLE_PRESENTER_SCREEN=NO
5903 AC_SUBST(ENABLE_PRESENTER_SCREEN)
5905 AC_MSG_CHECKING([whether to build the PDF Import extension])
5906 if test -n "$enable_pdfimport" -a "$enable_pdfimport" != "no"; then
5907   AC_MSG_RESULT([yes])
5908   ENABLE_PDFIMPORT=YES
5910   dnl ===================================================================
5911   dnl Check for system poppler
5912   dnl ===================================================================
5913   AC_MSG_CHECKING([which pdf backend to use])
5914   if test -n "$with_system_poppler" -o -n "$with_system_libs" && \
5915        test "$with_system_poppler" != "no"; then
5916       AC_MSG_RESULT([external])
5917       SYSTEM_POPPLER=YES
5918       PKG_CHECK_MODULES( POPPLER, poppler >= 0.8.0 )
5919   else
5920       AC_MSG_RESULT([internal])
5921       SYSTEM_POPPLER=NO
5922       BUILD_TYPE="$BUILD_TYPE XPDF"
5923       AC_MSG_CHECKING([for xpdf module])
5924       if test -d ./xpdf; then
5925        AC_MSG_RESULT([OK])
5926       else
5927         AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5928       fi
5929   fi
5930 else
5931    AC_MSG_RESULT([no])
5932    ENABLE_PDFIMPORT=NO
5934 AC_SUBST(ENABLE_PDFIMPORT)
5935 AC_SUBST(SYSTEM_POPPLER)
5936 AC_SUBST(POPPLER_CFLAGS)
5937 AC_SUBST(POPPLER_LIBS)
5939 if test "$ENABLE_PRESENTER_SCREEN" = "YES" -o "$ENABLE_MINIMIZER" = "YES" -o "$ENABLE_PDFIMPORT" = "YES"; then
5940   AC_MSG_CHECKING([for sdext module])
5941   if test -d ./sdext; then
5942    AC_MSG_RESULT([OK])
5943   else
5944    AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5945   fi
5946   BUILD_TYPE="$BUILD_TYPE SDEXT"
5949 AC_MSG_CHECKING([whether to build the Wiki Publisher extension])
5950 if test -n "$enable_wiki_publisher" -a "$enable_wiki_publisher" != "no" && test  "$WITH_JAVA" != "no"; then
5951   AC_MSG_RESULT([yes])
5952   AC_MSG_CHECKING([for swext module])
5953   if test -d ./swext; then
5954    AC_MSG_RESULT([OK])
5955   else
5956    AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5957   fi
5958   ENABLE_MEDIAWIKI=YES
5959   BUILD_TYPE="$BUILD_TYPE SWEXT"
5960 else
5961   AC_MSG_RESULT([no])
5962   ENABLE_MEDIAWIKI=NO
5964 AC_SUBST(ENABLE_MEDIAWIKI)
5966 if test "$ENABLE_MEDIAWIKI" = "YES"; then
5967   AC_MSG_CHECKING([which Servlet API Jar to use])
5968   if test -n "$with_system_servlet_api"; then
5969     AC_MSG_RESULT([external])
5970     SYSTEM_SERVLETAPI=YES
5971       if test -z "$SERVLETAPI_JAR"; then
5972         SERVLETAPI_JAR=/usr/share/java/servlet-api.jar
5973       fi
5974       AC_CHECK_FILE($SERVLETAPI_JAR, [],
5975              [AC_MSG_ERROR(servlet-api.jar not found.)], [])
5976   else
5977     AC_MSG_RESULT([internal])
5978     SYSTEM_SERVLETAPI=NO
5979     BUILD_TYPE="$BUILD_TYPE TOMCAT"
5980   fi
5982 AC_SUBST(SYSTEM_SERVLETAPI)
5983 AC_SUBST(SERVLETAPI_JAR)
5985 AC_MSG_CHECKING([whether to build the Report Builder extension])
5986 if test -n "$enable_report_builder" -a "$enable_report_builder" != "no" && test "$WITH_JAVA" != "no"; then
5987   AC_MSG_RESULT([yes])
5988   ENABLE_REPORTBUILDER=YES
5989   AC_MSG_CHECKING([for reportbuilder module])
5990   if test -d ./reportbuilder; then
5991     AC_MSG_RESULT([OK])
5992   else
5993     AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5994   fi
5995   AC_MSG_CHECKING([which jfreereport libs to use])
5996   if test "$with_system_jfreereport" = "yes"; then
5997       SYSTEM_JFREEREPORT=YES
5998       AC_MSG_RESULT([external])
5999       if test -z $SAC_JAR; then
6000              SAC_JAR=/usr/share/java/sac.jar
6001       fi
6002       AC_CHECK_FILE($SAC_JAR, [],
6003              [AC_MSG_ERROR(sac.jar not found.)], [])
6005       if test -z $LIBXML_JAR; then
6006         AC_CHECK_FILE(/usr/share/java/libxml-1.0.0.jar, 
6007           [ LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar ],
6008           [
6009             AC_CHECK_FILE(/usr/share/java/libxml.jar, 
6010               [ LIBXML_JAR=/usr/share/java/libxml.jar ],
6011               [AC_MSG_ERROR(libxml.jar replacement not found.)]
6012             )
6013           ]
6014         )
6015       else
6016         AC_CHECK_FILE($LIBXML_JAR, [],
6017              [AC_MSG_ERROR(libxml.jar not found.)], [])
6018       fi
6020       if test -z $FLUTE_JAR; then
6021         AC_CHECK_FILE(/usr/share/java/flute-1.3.0.jar, 
6022           [ FLUTE_JAR=/usr/share/java/flute-1.3.0.jar ],
6023           [
6024             AC_CHECK_FILE(/usr/share/java/flute.jar, 
6025               [ FLUTE_JAR=/usr/share/java/flute.jar ],
6026               [ AC_MSG_ERROR(flute-1.3.0.jar replacement not found.)]
6027             )
6028           ]
6029         )
6030       else
6031         AC_CHECK_FILE($FLUTE_JAR, [],
6032              [AC_MSG_ERROR(flute-1.3.0.jar not found.)], [])
6033       fi
6035       if test -z $JFREEREPORT_JAR; then
6036         AC_CHECK_FILE(/usr/share/java/flow-engine-0.9.2.jar, 
6037           [ JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar ],
6038           [
6039             AC_CHECK_FILE(/usr/share/java/flow-engine.jar, 
6040               [ JFREEREPORT_JAR=/usr/share/java/flow-engine.jar ],
6041               [AC_MSG_ERROR(jfreereport.jar replacement not found.)]
6042             )
6043           ]
6044         )
6045       else
6046         AC_CHECK_FILE($JFREEREPORT_JAR, [],
6047              [AC_MSG_ERROR(jfreereport.jar not found.)], [])
6048       fi
6050       if test -z $LIBLAYOUT_JAR; then
6051         AC_CHECK_FILE(/usr/share/java/liblayout-0.2.9.jar, 
6052           [ LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar ],
6053           [
6054             AC_CHECK_FILE(/usr/share/java/liblayout.jar, 
6055               [ LIBLAYOUT_JAR=/usr/share/java/liblayout.jar ],
6056               [AC_MSG_ERROR(liblayout.jar replacement not found.)]
6057             )
6058           ]
6059         )
6060       else
6061         AC_CHECK_FILE($LIBLAYOUT_JAR, [],
6062              [AC_MSG_ERROR(liblayout.jar not found.)], [])
6063       fi
6065       if test -z $LIBLOADER_JAR; then
6066         AC_CHECK_FILE(/usr/share/java/libloader-1.0.0.jar, 
6067           [ LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar ],
6068           [
6069             AC_CHECK_FILE(/usr/share/java/libloader.jar, 
6070               [ LIBLOADER_JAR=/usr/share/java/libloader.jar ],
6071               [AC_MSG_ERROR(libloader.jar replacement not found.)]
6072             )
6073           ]
6074         )
6075       else
6076         AC_CHECK_FILE($LIBLOADER_JAR, [],
6077              [AC_MSG_ERROR(libloader.jar not found.)], [])
6078       fi
6080       if test -z $LIBFORMULA_JAR; then
6081         AC_CHECK_FILE(/usr/share/java/libformula-0.2.0.jar, 
6082           [ LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar ],
6083           [
6084             AC_CHECK_FILE(/usr/share/java/libformula.jar, 
6085               [ LIBFORMULA_JAR=/usr/share/java/libformula.jar ],
6086               [AC_MSG_ERROR(libformula.jar replacement not found.)]
6087             )
6088           ]
6089         )
6090       else
6091         AC_CHECK_FILE($LIBFORMULA_JAR, [],
6092              [AC_MSG_ERROR(libformula.jar not found.)], [])
6093       fi
6095       if test -z $LIBREPOSITORY_JAR; then
6096         AC_CHECK_FILE(/usr/share/java/librepository-1.0.0.jar, 
6097           [ LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar ],
6098           [
6099             AC_CHECK_FILE(/usr/share/java/librepository.jar, 
6100               [ LIBREPOSITORY_JAR=/usr/share/java/librepository.jar ],
6101               [AC_MSG_ERROR(librepository.jar replacement not found.)]
6102             )
6103           ]
6104         )
6105       else
6106         AC_CHECK_FILE($LIBREPOSITORY_JAR, [],
6107              [AC_MSG_ERROR(librepository.jar not found.)], [])
6108       fi
6110       if test -z $LIBFONTS_JAR; then
6111         AC_CHECK_FILE(/usr/share/java/libfonts-1.0.0.jar, 
6112           [ LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar ],
6113           [
6114             AC_CHECK_FILE(/usr/share/java/libfonts.jar, 
6115               [ LIBFONTS_JAR=/usr/share/java/libfonts.jar ],
6116               [AC_MSG_ERROR(libfonts.jar replacement not found.)]
6117             )
6118           ]
6119         )
6120       else
6121         AC_CHECK_FILE($LIBFONTS_JAR, [],
6122              [AC_MSG_ERROR(libfonts.jar not found.)], [])
6123       fi
6125       if test -z $LIBSERIALIZER_JAR; then
6126         AC_CHECK_FILE(/usr/share/java/libserializer-1.0.0.jar, 
6127           [ LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar ],
6128           [
6129             AC_CHECK_FILE(/usr/share/java/libserializer.jar, 
6130               [ LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar ],
6131               [AC_MSG_ERROR(libserializer.jar replacement not found.)]
6132             )
6133           ]
6134         )
6135       else
6136         AC_CHECK_FILE($LIBSERIALIZER_JAR, [],
6137              [AC_MSG_ERROR(libserializer.jar not found.)], [])
6138       fi
6141       if test -z $LIBBASE_JAR; then
6142         AC_CHECK_FILE(/usr/share/java/libbase-1.0.0.jar, 
6143           [ LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar ],
6144           [
6145             AC_CHECK_FILE(/usr/share/java/libbase.jar, 
6146               [ LIBBASE_JAR=/usr/share/java/libbase.jar ],
6147               [AC_MSG_ERROR(libbase.jar replacement not found.)]
6148             )
6149           ]
6150         )
6151       else
6152         AC_CHECK_FILE($LIBBASE_JAR, [],
6153              [AC_MSG_ERROR(libbase.jar not found.)], [])
6154       fi
6156   else
6157      AC_MSG_RESULT([internal])
6158      AC_MSG_CHECKING([for jfreereport module])
6159      if test -d ./jfreereport; then
6160       AC_MSG_RESULT([OK]) 
6161      else
6162       AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
6163      fi
6164      SYSTEM_JFREEREPORT=NO
6165      BUILD_TYPE="$BUILD_TYPE JFREEREPORT"
6166   fi
6167   BUILD_TYPE="$BUILD_TYPE REPORTBUILDER"
6168 else
6169   AC_MSG_RESULT([no])
6170   ENABLE_REPORTBUILDER=NO
6171   SYSTEM_JFREEREPORT=NO
6173 AC_SUBST(ENABLE_REPORTBUILDER)
6174 AC_SUBST(SYSTEM_JFREEREPORT)
6175 AC_SUBST(SAC_JAR)
6176 AC_SUBST(LIBXML_JAR)
6177 AC_SUBST(FLUTE_JAR)
6178 AC_SUBST(JFREEREPORT_JAR)
6179 AC_SUBST(LIBBASE_JAR)
6180 AC_SUBST(LIBLAYOUT_JAR)
6181 AC_SUBST(LIBLOADER_JAR)
6182 AC_SUBST(LIBFORMULA_JAR)
6183 AC_SUBST(LIBREPOSITORY_JAR)
6184 AC_SUBST(LIBFONTS_JAR)
6185 AC_SUBST(LIBSERIALIZER_JAR)
6187 # this has to be here because both the wiki publisher and the SRB use
6188 # commons-logging
6189 if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then
6190   AC_MSG_CHECKING([which Apache commons-* libs to use])
6191   if test "$with_system_apache_commons" = "yes"; then
6192     SYSTEM_APACHE_COMMONS=YES
6193     AC_MSG_RESULT([external])
6194     if test "$ENABLE_MEDIAWIKI" = "YES"; then
6195       if test -z $COMMONS_CODEC_JAR; then
6196         AC_CHECK_FILE(/usr/share/java/commons-codec-1.3.jar, 
6197           [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.3.jar ],
6198           [
6199             AC_CHECK_FILE(/usr/share/java/commons-codec.jar, 
6200               [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec.jar ],
6201               [AC_MSG_ERROR(commons-codec.jar replacement not found.)]
6202             )
6203           ]
6204         )
6205       else
6206         AC_CHECK_FILE($COMMONS_CODEC_JAR, [],
6207              [AC_MSG_ERROR(commons-codec.jar not found.)], [])
6208       fi
6210       if test -z $COMMONS_LANG_JAR; then
6211         AC_CHECK_FILE(/usr/share/java/commons-lang-2.3.jar, 
6212           [ COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.3.jar ],
6213           [
6214             AC_CHECK_FILE(/usr/share/java/commons-lang.jar, 
6215               [ COMMONS_LANG_JAR=/usr/share/java/commons-lang.jar ],
6216               [AC_MSG_ERROR(commons-lang.jar replacement not found.)]
6217             )
6218           ]
6219         )
6220       else
6221         AC_CHECK_FILE($COMMONS_LANG_JAR, [],
6222              [AC_MSG_ERROR(commons-lang.jar not found.)], [])
6223       fi
6225       if test -z $COMMONS_HTTPCLIENT_JAR; then
6226         AC_CHECK_FILE(/usr/share/java/commons-httpclient-3.1.jar, 
6227           [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar ],
6228           [
6229             AC_CHECK_FILE(/usr/share/java/commons-httpclient.jar, 
6230               [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient.jar ],
6231               [AC_MSG_ERROR(commons-httpclient.jar replacement not found.)]
6232             )
6233           ]
6234         )
6235       else
6236         AC_CHECK_FILE($COMMONS_HTTPCLIENT_JAR, [],
6237              [AC_MSG_ERROR(commons-httpclient.jar not found.)], [])
6238       fi
6239     fi
6240     if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then
6241       if test -z $COMMONS_LOGGING_JAR; then
6242         AC_CHECK_FILE(/usr/share/java/commons-logging-1.1.1.jar, 
6243           [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar ],
6244           [
6245             AC_CHECK_FILE(/usr/share/java/commons-logging.jar, 
6246               [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar ],
6247               [AC_MSG_ERROR(commons-logging.jar replacement not found.)]
6248             )
6249           ]
6250         )
6251       else
6252         AC_CHECK_FILE($COMMONS_LOGGING_JAR, [],
6253              [AC_MSG_ERROR(commons-logging.jar not found.)], [])
6254       fi
6255     fi
6256   else
6257     AC_MSG_RESULT([internal])
6258     SYSTEM_APACHE_COMMONS=NO
6259     BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT"
6260   fi
6262 AC_SUBST(SYSTEM_APACHE_COMMONS)
6263 AC_SUBST(COMMONS_CODEC_JAR)
6264 AC_SUBST(COMMONS_LANG_JAR)
6265 AC_SUBST(COMMONS_HTTPCLIENT_JAR)
6266 AC_SUBST(COMMONS_LOGGING_JAR)
6268 dnl ===================================================================
6269 dnl Check whether the Qt and KDE libraries are available.
6270 dnl ===================================================================
6272 KDE_CFLAGS=""
6273 KDE_LIBS=""
6274 MOC="moc"
6275 if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then
6276     dnl Search paths for Qt and KDE
6277     if test "$build_cpu" != "x86_64" ; then
6278         qt_incdirs="$QTINC /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/lib/qt3/include /usr/lib/qt/include /usr/share/qt3/include $x_includes"
6279         qt_libdirs="$QTLIB /usr/local/qt/lib /usr/lib/qt /usr/lib /usr/X11R6/lib/X11/qt /usr/X11R6/lib/qt /usr/lib/qt3/lib /usr/lib/qt/lib /usr/share/qt3/lib $x_libraries"
6280     else
6281         qt_incdirs="$QTINC /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/lib64/qt3/include /usr/lib64/qt/include /usr/share/qt3/include /usr/lib/qt3/include /usr/lib/qt/include $x_includes"
6282         qt_libdirs="$QTLIB /usr/local/qt/lib64 /usr/lib64/qt /usr/lib64 /usr/X11R6/lib64/X11/qt /usr/X11R6/lib64/qt /usr/lib64/qt3/lib64 /usr/lib64/qt/lib64 /usr/share/qt3/lib64 /usr/local/qt/lib /usr/lib/qt /usr/lib /usr/X11R6/lib/X11/qt /usr/X11R6/lib/qt /usr/lib/qt3/lib /usr/lib/qt/lib /usr/share/qt3/lib $x_libraries"
6283     fi
6284     if test -n "$QTDIR" ; then
6285         qt_incdirs="$QTDIR/include $qt_incdirs"
6286         if test "$build_cpu" != "x86_64" ; then
6287             qt_libdirs="$QTDIR/lib $qt_libdirs"
6288         else
6289             qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs"
6290         fi
6291     fi
6292     if test "$build_cpu" != "x86_64" ; then
6293         kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /opt/kde3/include /opt/kde/include $x_includes"
6294         kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib /usr/lib $x_libraries"
6295     else
6296         kde_incdirs="/usr/lib64/kde/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /opt/kde3/include /opt/kde/include $x_includes"
6297         kde_libdirs="/usr/lib64/kde/lib64 /usr/local/kde/lib64 /usr/kde/lib64 /usr/lib64/kde /usr/lib64/kde3 /usr/X11R6/lib64 /usr/local/lib64 /opt/kde3/lib64 /opt/kde/lib64 /usr/X11R6/kde/lib64 /usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib /usr/lib64 $x_libraries"
6298     fi
6299     if test -n "$KDEDIR" ; then
6300         kde_incdirs="$KDEDIR/include $kde_incdirs"
6301         if test "$build_cpu" != "x86_64" ; then
6302             kde_libdirs="$KDEDIR/lib $kde_libdirs"
6303         else
6304             kde_libdirs="$KDEDIR/lib64 $KDEDIR/lib $kde_libdirs"
6305         fi
6306     fi
6308     dnl What to test
6309     qt_test_include="qstyle.h"
6310     qt_test_library="libqt-mt.so"
6311     kde_test_include="ksharedptr.h"
6312     kde_test_library="libkdeui.so"
6314     dnl Check for Qt headers
6315     AC_MSG_CHECKING([for Qt headers])
6316     qt_incdir="no"
6317     for kde_check in $qt_incdirs ; do
6318         if test -r "$kde_check/$qt_test_include" ; then
6319             qt_incdir="$kde_check"
6320             break
6321         fi
6322     done
6323     AC_MSG_RESULT([$qt_incdir])
6324     if test "x$qt_incdir" = "xno" ; then
6325         AC_MSG_ERROR([Qt headers not found.  Please specify the root of
6326 your Qt installation by exporting QTDIR before running "configure".])
6327     fi
6329     dnl Check for Qt libraries
6330     AC_MSG_CHECKING([for Qt libraries])
6331     qt_libdir="no"
6332     for qt_check in $qt_libdirs ; do
6333         if test -r "$qt_check/$qt_test_library" ; then
6334             qt_libdir="$qt_check"
6335             break
6336         fi
6337     done
6338     AC_MSG_RESULT([$qt_libdir])
6339     if test "x$qt_libdir" = "xno" ; then
6340         AC_MSG_ERROR([Qt libraries not found.  Please specify the root of
6341 your Qt installation by exporting QTDIR before running "configure".])
6342     fi
6344     dnl Check for Meta Object Compiler
6345     AC_PATH_PROG( MOC, moc, no, [$QTDIR/bin:$PATH] )
6346     if test "$MOC" = "no" ; then
6347         AC_MSG_ERROR([Qt Meta Object Compiler not found.  Please specify
6348 the root of your Qt installation by exporting QTDIR before running "configure".])
6349     fi
6351     dnl Check for KDE headers
6352     AC_MSG_CHECKING([for KDE headers])
6353     kde_incdir="no"
6354     for kde_check in $kde_incdirs ; do
6355         if test -r "$kde_check/$kde_test_include" ; then
6356             kde_incdir="$kde_check"
6357             break
6358         fi
6359     done
6360     AC_MSG_RESULT([$kde_incdir])
6361     if test "x$kde_incdir" = "xno" ; then
6362         AC_MSG_ERROR([KDE headers not found.  Please specify the root of
6363 your KDE installation by exporting KDEDIR before running "configure".])
6364     fi
6366     dnl Check for KDE libraries
6367     AC_MSG_CHECKING([for KDE libraries])
6368     kde_libdir="no"
6369     for kde_check in $kde_libdirs ; do
6370         if test -r "$kde_check/$kde_test_library" ; then
6371             kde_libdir="$kde_check"
6372             break
6373         fi
6374     done
6375     AC_MSG_RESULT([$kde_libdir])
6376     if test "x$kde_libdir" = "xno" ; then
6377         AC_MSG_ERROR([KDE libraries not found.  Please specify the root of
6378 your KDE installation by exporting KDEDIR before running "configure".])
6379     fi
6381     dnl Set the variables
6382     KDE_CFLAGS="-I$qt_incdir -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
6383     KDE_LIBS="-L$kde_libdir -L$qt_libdir -lkdeui -lkdecore -lqt-mt"
6385 AC_SUBST(KDE_CFLAGS)
6386 AC_SUBST(KDE_LIBS)
6387 AC_SUBST(MOC)
6389 dnl ===================================================================
6390 dnl KDE4 Integration
6391 dnl ===================================================================
6393 KDE4_CFLAGS=""
6394 KDE4_LIBS=""
6395 MOC4="moc"
6396 if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then
6397    qt_incdirs="$QT4INC $QT4DIR /usr/include/qt4 /usr/include $x_includes"
6398    qt_libdirs="$QT4LIB /usr/lib $x_libraries"
6399    
6400    kde_incdirs="/usr/include $x_includes"
6401    kde_libdirs="/usr/lib $x_libraries"
6402    
6403    if test "$build_cpu" = "x86_64" ; then
6404       qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64"
6405       kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4"
6406    fi
6408    if test -n "$KDE4DIR" ; then
6409       kde_incdirs="$KDE4DIR/include $kde_incdirs"
6410       if test "$build_cpu" != "x86_64" ; then
6411          kde_libdirs="$KDE4DIR/lib $kde_libdirs"
6412       else
6413          kde_libdirs="$KDE4DIR/lib64 $KDE4DIR/lib $kde_libdirs"
6414       fi
6415    fi
6417    qt_test_include="Qt/qobject.h"
6418    qt_test_library="libQtCore.so"
6419    kde_test_include="ksharedptr.h"
6420    kde_test_library="libkdeui.so"
6421    
6422    AC_MSG_CHECKING([for Qt4 headers])
6423    qt_header_dir="no"
6424    for inc_dir in $qt_incdirs ; do
6425       if test -r "$inc_dir/$qt_test_include" ; then
6426          qt_header_dir="$inc_dir"
6427          break
6428       fi
6429    done
6430    
6431    AC_MSG_RESULT([$qt_header_dir])
6432    if test "x$qt_header_dir" = "xno" ; then
6433       AC_MSG_ERROR([Qt4 headers not found.  Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".])
6434    fi
6435    
6436    AC_MSG_CHECKING([for Qt4 libraries])
6437    qt_lib_dir="no"
6438    for lib_dir in $qt_libdirs ; do
6439       if test -r "$lib_dir/$qt_test_library" ; then
6440          qt_lib_dir="$lib_dir"
6441          break
6442       fi
6443    done
6444    
6445    AC_MSG_RESULT([$qt_lib_dir])
6446    
6447    if test "x$qt_lib_dir" = "xno" ; then
6448       AC_MSG_ERROR([Qt4 libraries not found.  Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".])
6449    fi
6451    dnl Check for Meta Object Compiler
6452    AC_PATH_PROG( MOC4, moc, no, [$PATH:$QT4DIR/bin] )
6453    if test "$MOC4" = "no" ; then
6454       AC_MSG_ERROR([Qt Meta Object Compiler not found.  Please specify
6455 the root of your Qt installation by exporting QT4DIR before running "configure".])
6456    fi
6458    dnl Check for KDE4 headers
6459    AC_MSG_CHECKING([for KDE4 headers])
6460    kde_incdir="no"
6461    for kde_check in $kde_incdirs ; do
6462       if test -r "$kde_check/$kde_test_include" ; then
6463          kde_incdir="$kde_check"
6464          break
6465       fi
6466    done
6467    AC_MSG_RESULT([$kde_incdir])
6468    if test "x$kde_incdir" = "xno" ; then
6469       AC_MSG_ERROR([KDE4 headers not found.  Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".])
6470    fi
6472    dnl Check for KDE4 libraries
6473    AC_MSG_CHECKING([for KDE4 libraries])
6474    kde_libdir="no"
6475    for kde_check in $kde_libdirs ; do
6476       if test -r "$kde_check/$kde_test_library" ; then
6477          kde_libdir="$kde_check"
6478          break
6479       fi
6480    done
6481    
6482    AC_MSG_RESULT([$kde_libdir])
6483    if test "x$kde_libdir" = "xno" ; then
6484       AC_MSG_ERROR([KDE4 libraries not found.  Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".])
6485    fi
6487    KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
6488    KDE4_LIBS="-L$kde_libdir -L$qt_lib_dir -lkdeui -lkdecore -lQtCore -lQtGui"
6490 AC_SUBST(KDE4_CFLAGS)
6491 AC_SUBST(KDE4_LIBS)
6492 AC_SUBST(MOC4)
6494 dnl ===================================================================
6495 dnl Test for the enabling the lockdown pieces
6496 dnl ===================================================================
6497 AC_MSG_CHECKING([whether to enable the lockdown pieces])
6498 ENABLE_LOCKDOWN=""
6499 if test -n "$enable_lockdown" && test "$enable_lockdown" != "no"; then
6500   ENABLE_LOCKDOWN=YES
6501   AC_MSG_RESULT([yes])
6502 else
6503   AC_MSG_RESULT([no])
6505 AC_SUBST(ENABLE_LOCKDOWN)
6507 dnl ===================================================================
6508 dnl Test whether to include Evolution 2 support
6509 dnl ===================================================================
6510 AC_MSG_CHECKING([whether to enable evolution 2 support])
6511 if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then
6512    AC_MSG_RESULT([yes])
6513    PKG_CHECK_MODULES(GOBJECT, gobject-2.0)
6514    ENABLE_EVOAB2="TRUE"
6515 else
6516    ENABLE_EVOAB2=""
6517    AC_MSG_RESULT([no])
6519 AC_SUBST(ENABLE_EVOAB2)
6520 AC_SUBST(GOBJECT_CFLAGS)
6521 AC_SUBST(GOBJECT_LIBS) 
6523 dnl ===================================================================
6524 dnl Test whether to include KDE AB support
6525 dnl ===================================================================
6526 AC_MSG_CHECKING([whether to enable KDE address book support])
6527 if test "$enable_kdeab" = "yes" && test "$enable_kde" = "yes"; then
6528    AC_MSG_RESULT([yes])
6529    AC_LANG_PUSH([C++])
6530    save_CXXFLAGS=$CXXFLAGS
6531    CXXFLAGS="$CXXFLAGS $KDE_CFLAGS"
6532    AC_MSG_CHECKING([whether KDE is between 3.2 and 3.6])
6533        AC_TRY_RUN([
6534 #include <kdeversion.h>
6536 int main(int argc, char **argv) {
6537        if (KDE_VERSION_MAJOR == 3 && 2 <= KDE_VERSION_MINOR && KDE_VERSION_MINOR <= 6) return 0;
6538        else return 1;
6540        ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([KDE version too old or too recent, please use another version of KDE or disable KDE address book support])])
6541    CXXFLAGS=$save_CXXFLAGS
6542    AC_LANG_POP([C++])
6543    ENABLE_KAB=TRUE
6544 else
6545    AC_MSG_RESULT([no])
6546    ENABLE_KAB=
6548 AC_SUBST(ENABLE_KAB)
6550 dnl ===================================================================
6551 dnl Test whether to include MathMLDTD
6552 dnl ===================================================================
6553 AC_MSG_CHECKING([whether to include MathMLDTD])
6554 if test -n "$enable_mathmldtd"; then
6555   if test "$enable_mathmldtd" = "no"; then
6556     AC_MSG_RESULT([no])
6557     SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD"
6558   else
6559     AC_MSG_RESULT([yes])
6560     BUILD_TYPE="$BUILD_TYPE MATHMLDTD"
6561   fi
6562 else
6563   AC_MSG_RESULT([no])
6564   SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD"
6567 dnl ===================================================================
6568 dnl Test whether to include fonts
6569 dnl ===================================================================
6570 AC_MSG_CHECKING([whether to include third-party fonts])
6571 if test "$with_fonts" != "no" ; then
6572   AC_MSG_RESULT([yes])
6573   WITH_FONTS=YES
6574   BUILD_TYPE="$BUILD_TYPE MORE_FONTS"
6575 else
6576   AC_MSG_RESULT([no])
6577   WITH_FONTS=NO
6578   SCPDEFS="$SCPDEFS -DWITHOUT_FONTS"
6580 AC_SUBST(WITH_FONTS)
6582 dnl ===================================================================
6583 dnl Test whether to include ppds
6584 dnl ===================================================================
6585 AC_MSG_CHECKING([whether to include PPDs])
6586 if test "$with_ppds" != "no"; then
6587   AC_MSG_RESULT([yes])
6588 else
6589   AC_MSG_RESULT([no])
6590   WITHOUT_PPDS=YES
6591   SCPDEFS="$SCPDEFS -DWITHOUT_PPDS"
6593 AC_SUBST(WITHOUT_PPDS)
6595 dnl ===================================================================
6596 dnl Test whether to include afms
6597 dnl ===================================================================
6598 AC_MSG_CHECKING([whether to include AFMs])
6599 if test "$with_afms" != "no"; then
6600   AC_MSG_RESULT([yes])
6601   BUILD_TYPE="$BUILD_TYPE AFMS"
6602 else
6603   AC_MSG_RESULT([no])
6604   WITHOUT_AFMS=YES
6605   SCPDEFS="$SCPDEFS -DWITHOUT_AFMS"
6607 AC_SUBST(WITHOUT_AFMS)
6609 AC_SUBST(SCPDEFS)
6611 AC_MSG_CHECKING([whether and how to use Xinerama])
6612 if test "$_os" = "Darwin"; then
6613    USE_XINERAMA=YES
6614    XINERAMA_LINK=dynamic
6615    AC_MSG_RESULT([yes])
6616 elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then
6617    if test -e "$XLIB/libXinerama.so" -a -e "$XLIB/libXinerama.a"; then
6618       # we have both versions, let the user decide but use the dynamic one
6619       # per default
6620       USE_XINERAMA=YES
6621       if test -z "$with_static_xinerama" -o -n "$with_system_libs"; then
6622          XINERAMA_LINK=dynamic
6623       else
6624          XINERAMA_LINK=static
6625       fi
6626    elif test -e "$XLIB/libXinerama.so" -a ! -e "$XLIB/libXinerama.a"; then
6627       # we have only the dynamic version
6628       USE_XINERAMA=YES
6629       XINERAMA_LINK=dynamic
6630    elif test -e "$XLIB/libXinerama.a"; then
6631       # static version
6632       if echo $build_cpu | grep -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
6633          USE_XINERAMA=YES
6634          XINERAMA_LINK=static
6635       else
6636          USE_XINERAMA=NO
6637          XINERAMA_LINK=none
6638       fi
6639    else
6640       # no Xinerama
6641       USE_XINERAMA=NO
6642       XINERAMA_LINK=none
6643    fi
6644    if test "$USE_XINERAMA" = "YES"; then
6645       AC_MSG_RESULT([yes, with $XINERAMA_LINK linking])
6646       AC_CHECK_HEADER(X11/extensions/Xinerama.h, [],
6647           [AC_MSG_ERROR(Xinerama header not found.)], [])
6648       XINERAMA_EXTRA_LIBS="-L$XLIB -lXext"
6649       if test "$_os" = "FreeBSD"; then
6650           XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -lXt"
6651       fi
6652       if test "$_os" = "Linux"; then
6653           XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl"
6654       fi
6655       AC_CHECK_LIB(Xinerama, XineramaIsActive, [],
6656           [AC_MSG_ERROR(Xinerama not functional?)], [$XINERAMA_EXTRA_LIBS])
6657    else
6658       AC_MSG_RESULT([no, libXinerama not found or wrong architecture.])
6659    fi
6660 else
6661    AC_MSG_RESULT([no])
6663 AC_SUBST(USE_XINERAMA)
6664 AC_SUBST(XINERAMA_LINK)
6666 dnl ===================================================================
6667 dnl Test for the presence of Ant and that it works
6668 dnl ===================================================================
6670 if test "$SOLAR_JAVA" != ""; then
6671 ANT_HOME=; export ANT_HOME
6672 WITH_ANT_HOME=; export WITH_ANT_HOME
6673 if test -z "$with_ant_home"; then
6674    AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd])
6675 else
6676    if test "$_os" = "WINNT"; then
6677       with_ant_home=`cygpath -u "$with_ant_home"`
6678    fi
6679    AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd],,$with_ant_home/bin:$PATH)
6680    WITH_ANT_HOME=$with_ant_home
6681    ANT_HOME=$with_ant_home
6684 if test -z "$ANT"; then
6685   AC_MSG_ERROR([Ant not found - Make sure it's in the path or use --with-ant-home])
6686 else
6687   # resolve relative or absolute symlink
6688   while test -h "$ANT"; do
6689      a_cwd=`pwd`
6690      a_basename=`basename "$ANT"`
6691      a_script=`ls -l "$ANT" | sed "s/.*${a_basename} -> //g"`
6692      cd "`dirname "$ANT"`"
6693      cd "`dirname "$a_script"`"
6694      ANT="`pwd`"/"`basename "$a_script"`"
6695      cd "$a_cwd"
6696   done
6698   if test "$_os" = "OS2"; then
6699     ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
6700     export ANT_HOME
6701   fi
6703   AC_MSG_CHECKING([if $ANT works])
6704 cat > conftest.java << EOF
6705     public class conftest {
6706         int testmethod(int a, int b) {
6707             return a + b;
6708         }
6709     }
6712 cat > conftest.xml << EOF
6713     <project name="conftest" default="conftest">
6714         <target name="conftest">
6715             <javac srcdir="." includes="conftest.java">
6716             </javac>
6717         </target>
6718     </project>
6720   oldJAVA_HOME=$JAVA_HOME
6721   if test "$JAVACISGCJ" = "yes"; then
6722     JAVA_HOME=; export JAVA_HOME
6723     ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2"
6724   else
6725     ant_cmd="$ANT -buildfile conftest.xml 1>&2"
6726   fi
6727   AC_TRY_EVAL(ant_cmd)
6728   if test $? = 0 && test -f ./conftest.class ; then
6729     AC_MSG_RESULT([Ant works]) 
6730     if test -z "$WITH_ANT_HOME"; then
6731         ANT_HOME=`$ANT -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"`
6732         if test -z "$ANT_HOME"; then
6733             ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
6734         fi
6735     else
6736         ANT_HOME="$WITH_ANT_HOME"
6737     fi
6738   else
6739     echo "configure: Ant test failed" >&5
6740     cat conftest.java >&5
6741     cat conftest.xml >&5
6742     AC_MSG_WARN([Ant does not work - Some Java projects will not build!])
6743     ANT_HOME=""
6744     echo "Ant does not work - Some Java projects will not build!" >>warn
6745   fi
6746   JAVA_HOME=$oldJAVA_HOME
6747   rm -f conftest* core core.* *.core
6749 if test -z "$ANT_HOME"; then
6750    ANT_HOME="NO_ANT_HOME"
6752 AC_SUBST(ANT_HOME)
6754 dnl Checking for ant.jar
6755 if test "$ANT_HOME" != "NO_ANT_HOME"; then
6756    AC_MSG_CHECKING([Ant lib directory])
6757    if test -f $ANT_HOME/lib/ant.jar; then
6758           ANT_LIB="$ANT_HOME/lib"
6759    else
6760       if test -f $ANT_HOME/ant.jar; then
6761              ANT_LIB="$ANT_HOME"
6762       else
6763           if test -f /usr/share/java/ant.jar; then
6764               ANT_LIB=/usr/share/java
6765           else
6766              if test -f /usr/share/ant-core/lib/ant.jar; then
6767                  ANT_LIB=/usr/share/ant-core/lib
6768              else
6769                 if test -f $ANT_HOME/lib/ant/ant.jar; then
6770                     ANT_LIB="$ANT_HOME/lib/ant"
6771                 else
6772                     AC_MSG_ERROR([Ant libraries not found!])
6773                 fi  
6774              fi
6775           fi
6776       fi
6777    fi
6778    AC_MSG_RESULT([Ant lib directory found.])
6780 AC_SUBST(ANT_LIB)
6783 ant_minver=1.6.0
6784 # update for more extensions...
6785 if test "$ENABLE_MEDIAWIKI" = "YES"; then
6786   ant_minver=1.7.0
6788 ant_minminor1=`echo $ant_minver | cut -d"." -f2`
6790 AC_MSG_CHECKING([whether ant is >= $ant_minver])
6791 ant_version=`$ANT -version | $AWK '{ print $4; }'`
6792 ant_version_major=`echo $ant_version | cut -d. -f1`
6793 ant_version_minor=`echo $ant_version | cut -d. -f2`
6794 echo "configure: ant_version $ant_version " >&5
6795 echo "configure: ant_version_major $ant_version_major " >&5
6796 echo "configure: ant_version_minor $ant_version_minor " >&5
6797 if test "$ant_version_major" -ge "2"; then
6798    AC_MSG_RESULT([yes, $ant_version])
6799 elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then
6800    AC_MSG_RESULT([yes, $ant_version])
6801 else
6802    AC_MSG_ERROR([no, you need at least ant >= $ant_minver])
6805 if test "$ENABLE_MEDIAWIKI" = "YES"; then
6806 AC_MSG_CHECKING([whether ant supports mapper type="regexp"])
6807 rm -rf confdir
6808 mkdir confdir
6809 cat > conftest.java << EOF
6810     public class conftest {
6811         int testmethod(int a, int b) {
6812             return a + b;
6813         }
6814     }
6817 cat > conftest.xml << EOF
6818     <project name="conftest" default="conftest">
6819         <target name="conftest" depends="copytest">
6820             <javac srcdir="." includes="conftest.java">
6821             </javac>
6822         </target>
6823         <target name="copytest">
6824              <copy todir="confdir">
6825                  <fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/>
6826                  <filterset/>
6827                  <mapper type="regexp" from="^(.*[/\\])foo([/\\].*)" to="\1baa\2"/>
6828              </copy>
6829         </target>
6830     </project>
6832   if test "$JAVACISGCJ" = "yes"; then
6833     JAVA_HOME=; export JAVA_HOME
6834     ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2"
6835   else
6836     ant_cmd="$ANT -buildfile conftest.xml 1>&2"
6837   fi
6838   AC_TRY_EVAL(ant_cmd)
6839   if test $? = 0 && test -f ./conftest.class ; then
6840     AC_MSG_RESULT([yes]) 
6841     rm -rf confdir
6842   else
6843     echo "configure: Ant test failed" >&5
6844     cat conftest.java >&5
6845     cat conftest.xml >&5
6846     rm -rf confdir
6847     AC_MSG_ERROR([no. Did you install ant-apache-regexp?])
6848   fi
6850 rm -f conftest* core core.* *.core
6852 OOO_JUNIT_JAR=
6853 if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no"; then
6854     AC_MSG_CHECKING([for JUnit 4])
6855     if test "$with_junit" == "yes"; then
6856         if test -e /usr/share/java/junit4.jar; then
6857             OOO_JUNIT_JAR=/usr/share/java/junit4.jar
6858         else
6859             OOO_JUNIT_JAR=/usr/share/java/junit.jar
6860         fi
6861     else
6862         OOO_JUNIT_JAR=$with_junit
6863     fi
6864     if test "$_os" = "WINNT"; then
6865         OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"`
6866     fi
6867     "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" 2>&5 | \
6868         grep org/junit/Before.class > /dev/null 2>&5
6869     if test $? -eq 0; then
6870         AC_MSG_RESULT([$OOO_JUNIT_JAR])
6871     else
6872         AC_MSG_RESULT([no])
6873         AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the default
6874 location (/usr/share/java), specify its pathname via
6875 --with-junit=..., or disable it via --without-junit])
6876     fi
6878 AC_SUBST(OOO_JUNIT_JAR)
6880 AC_MSG_CHECKING([which languages to be built])
6881 WITH_LANG="$with_lang"
6882 if test -z "$WITH_LANG"; then
6883    AC_MSG_RESULT([en-US])
6884 else
6885    AC_MSG_RESULT([$WITH_LANG])
6887 AC_SUBST(WITH_LANG)
6889 AC_MSG_CHECKING([which languages have poor help localizations])
6890 WITH_POOR_HELP_LOCALIZATIONS="$with_poor_help_localizations"
6891 if test -z "$WITH_POOR_HELP_LOCALIZATIONS"; then
6892    AC_MSG_RESULT([none])
6893 else
6894    AC_MSG_RESULT([$WITH_POOR_HELP_LOCALIZATIONS])
6896 AC_SUBST(WITH_POOR_HELP_LOCALIZATIONS)
6898 AC_MSG_CHECKING([which dictionaries to include])
6899 if test -z "$with_dict"; then
6900    WITH_DICT=,ALL,
6901    AC_MSG_RESULT([ALL])
6902 else
6903    WITH_DICT=","$with_dict","
6904    AC_MSG_RESULT([$with_dict])
6906 AC_SUBST(WITH_DICT)
6908 AC_MSG_CHECKING([for additional 'intro' bitmaps])
6909 INTRO_BITMAPS=
6910 if test -z "$with_intro_bitmaps" -o "$with_intro_bitmaps" = "no" ; then
6911    INTRO_BITMAPS=
6912    AC_MSG_RESULT([none])
6913 else
6914    for bitmap in `echo $with_intro_bitmaps | tr ',' ' '` ; do
6915       case "$bitmap" in
6916          *.bmp) ;;
6917          *)     bitmap= ; AC_MSG_WARN([Intro bitmaps should be .bmp files!]) ;;
6918       esac
6919       if test -n "$bitmap" ; then
6920          INTRO_BITMAPS="$INTRO_BITMAPS $bitmap"
6921       fi
6922    done
6923    AC_MSG_RESULT([$INTRO_BITMAPS])
6925 AC_SUBST(INTRO_BITMAPS)
6927 AC_MSG_CHECKING([for additional 'about' bitmaps])
6928 ABOUT_BITMAPS=
6929 if test -z "$with_about_bitmaps" -o "$with_about_bitmaps" = "no" ; then
6930    ABOUT_BITMAPS=
6931    AC_MSG_RESULT([none])
6932 else
6933    for bitmap in `echo $with_about_bitmaps | tr ',' ' '` ; do
6934       case "$bitmap" in
6935          *.bmp) ;;
6936          *)     bitmap= ; AC_MSG_WARN([About bitmaps should be .bmp files!]) ;;
6937       esac
6938       if test -n "$bitmap" ; then
6939          ABOUT_BITMAPS="$ABOUT_BITMAPS $bitmap"
6940       fi
6941    done
6942    AC_MSG_RESULT([$ABOUT_BITMAPS])
6944 AC_SUBST(ABOUT_BITMAPS)
6946 OOO_VENDOR=
6947 AC_MSG_CHECKING([for vendor])
6948 if test -z "$with_vendor" -o "$with_vendor" = "no" ; then
6949    AC_MSG_RESULT([not set])
6950 else
6951    OOO_VENDOR="$with_vendor"
6952    AC_MSG_RESULT([$OOO_VENDOR])
6954 AC_SUBST(OOO_VENDOR)
6956 UNIXWRAPPERNAME=
6957 AC_MSG_CHECKING([for UNIX wrapper name])
6958 if test -z "$with_unix_wrapper" -o "$with_unix_wrapper" = "no"  -o "$with_unix_wrapper" = "yes" ; then
6959    AC_MSG_RESULT([not set])
6960 else
6961    UNIXWRAPPERNAME="$with_unix_wrapper"
6962    AC_MSG_RESULT([$UNIXWRAPPERNAME])
6964 AC_SUBST(UNIXWRAPPERNAME)
6966 AC_MSG_CHECKING([whether to statically link to Gtk])
6967 if test -n "$enable_static_gtk" && test "$enable_static_gtk" != "no"; then
6968    ENABLE_STATIC_GTK="TRUE"
6969    AC_MSG_RESULT([yes])
6970 else
6971    ENABLE_STATIC_GTK="FALSE"    
6972    AC_MSG_RESULT([no])
6974 AC_SUBST(ENABLE_STATIC_GTK)
6976 AC_MSG_CHECKING([whether to use layout dialogs])
6977 if test -n "$enable_layout" && test "$enable_layout" != "no"; then
6978    ENABLE_LAYOUT="TRUE"
6979    AC_MSG_RESULT([yes])
6980 else
6981    ENABLE_LAYOUT="FALSE"        
6982    AC_MSG_RESULT([no])
6984 AC_SUBST(ENABLE_LAYOUT)
6986 # ===================================================================
6987 # De- or increase default verbosity of build process
6988 # ===================================================================
6989 AC_MSG_CHECKING([build verbosity])
6990 if test -n "$enable_verbose"; then
6991    if test "$enable_verbose" = "yes"; then
6992       VERBOSE="TRUE"
6993       AC_MSG_RESULT([high])
6994    fi
6995    if test "$enable_verbose" = "no"; then
6996       VERBOSE="FALSE"
6997       AC_MSG_RESULT([low])
6998    fi
6999 else
7000    AC_MSG_RESULT([not set])
7002 AC_SUBST(VERBOSE)
7004 dnl ===================================================================
7005 dnl Hook up OOos nodep environmental variable to automake's equivalent
7006 dnl --enable-dependency-tracking configure option
7007 dnl ===================================================================
7008 AC_MSG_CHECKING([whether to enable dependency tracking])
7009 if test "$enable_dependency_tracking" = "no"; then
7010     nodep=TRUE
7011     AC_MSG_RESULT([no])
7012 else
7013     AC_MSG_RESULT([yes])
7015 AC_SUBST(nodep)
7017 dnl ===================================================================
7018 dnl Setting up the environment.
7019 dnl ===================================================================
7020 echo "********************************************************************"
7021 echo "*                                                                  *"
7022 echo "*   Setting up the build environment variables.                    *"
7023 echo "*                                                                  *"
7024 echo "********************************************************************"
7026 if test -z "$COMPATH"; then
7027    AC_MSG_ERROR([No compiler found.])
7029 AC_SUBST(COMPATH)
7031 AC_MSG_CHECKING([solver path])
7032 if test -z "$with_local_solver"; then
7033    LOCAL_SOLVER="DEFAULT"
7034    AC_MSG_RESULT([default])
7035 else
7036    LOCAL_SOLVER=$with_local_solver
7037    AC_MSG_RESULT([$with_local_solver])
7039 AC_SUBST(LOCAL_SOLVER)
7041 AC_SUBST(BUILD_TYPE)
7043 # make sure config.guess is +x; we execute config.guess, so it has to be so; 
7044 chmod +x ./config.guess
7046 AC_OUTPUT([set_soenv Makefile])
7048 dnl Executing the set_soenv script to setup the environment variables.
7049 chmod a+x set_soenv
7050 if test -z "$enable_check_only"; then
7051    './set_soenv'
7052 else
7053    echo
7054    echo Test Complete
7055    echo No environment file will be generated
7056    echo
7057    num_warnings=`wc -l warn`
7058    _num=`echo $num_warnings | $AWK '{ print $1 }'`
7059    if test $_num -gt 0; then
7060       echo The following warning\(s\) were generated by configure
7061       echo ----------------------------------------------------
7062       echo
7063       cat warn
7064       echo
7065    else
7066       echo There were no warnings
7067    fi
7068    echo
7069 fi