Update to m13
[ooovba.git] / configure.in
blob6fb504a027df2c05e1318cac42b114b7c9ba1651
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_WITH(gpc,
29 [  --without-gpc           Use the internal polygon clipping code instead of
30                           the external GPC polygon clipping library.
31 ],,if test ! -e ./external/gpc/gpc.c && test ! -e ./external/gpc/gpc.h; then without_gpc=yes; fi)
32 AC_ARG_ENABLE(ldap,
33 [  --disable-ldap          Disables the use of LDAP backend via Netscape/Mozilla
34                           or OpenLDAP LDAP SDK
35 ],,)
36 AC_ARG_ENABLE(mono,
37 [  --enable-mono           Enables the compilation of the Mono bindings
38 ],,)
39 AC_ARG_WITH(openldap,
40 [  --with-openldap         Enables the use of the OpenLDAP LDAP SDK instead
41                           of the Netscape/Mozilla one
42 ],,)
43 AC_ARG_ENABLE(lockdown,
44 [  --enable-lockdown       Enables the gconf integration work in OOo
45 ],,)
46 AC_ARG_ENABLE(vba,
47 [  --disable-vba           disables the vba compatibility feature
48 ],,)
49 AC_ARG_WITH(vba-package-format,
50 [  --with-vba-package-format   specify package format for vba compatibility api.
51                           Specifying  "builtin" means the api component and 
52                           associated type library are  part of the installation set.
53                           Specifying "extn" creates an uno extension that is
54                           part of the installation set ( located in the program 
55                           directory ) that MUST be optionly registered using
56                           either the unopkg executeable or the extension manager
57                           gui.
58                          
59                           Note: "builtin" is the default, "extn" can cause
60                           problems.
61                           Usage: --with-vba-package-format="builtin" or
62                                  --with-vba-package-format="extn"
63 ],,)              
64 AC_ARG_ENABLE(pch,
65 [  --enable-pch            EXPERIMENTAL: Enables precompiled header support for C++.
66 ],,)
67 AC_ARG_ENABLE(mozilla,
68 [  --disable-mozilla       OO.o usually includes a strangely hacked up mozilla
69                           binary for your platform, to build without this
70                           version, use this option.
71 ],,enable_mozilla="yes")
72 AC_ARG_WITH(fonts,
73 [  --without-fonts         Removes Bitstream Vera fonts from
74                           openoffice.org installation set, for people building
75                           for specific distributions where the fonts are known 
76                           to be already available
77 ],,)
78 AC_ARG_WITH(ppds,
79 [  --without-ppds          Removes Postscript Printer definition files from
80                           openoffice.org installation set, for people building
81                           for specific distributions where PPDs are known to be
82                           already available (every recent distro with CUPS
83                           backend)
84 ],,)
85 AC_ARG_WITH(afms,
86 [  --without-afms          Removes bitmap font files from openoffice.org
87                           installation set, for people building for specific
88                           distributions where AFM files or TrueType Fonts
89                           are known to be available.
90 ],,)
91 AC_ARG_WITH(agfa-monotype-fonts,
92 [  --without-agfa-monotype-fonts Remove proprietary Agfa Monotype fonts
93                                 (even if present) in the openoffice.org installation
94                                 set.
95 ],,with_agfa_monotype_fonts="yes")
96 AC_ARG_ENABLE(epm,
97 [  --disable-epm           OO.o includes self-packaging code, that requires
98                           epm, however epm is useless for large scale
99                           package building.
100 ],,enable_epm="yes")
101 AC_ARG_WITH(epm,
102 [  --with-epm             Decides which epm to use. Default is to use
103                           the one from the system if one is built. When
104                           either this is not there or you say =internal
105                           epm will be built.
106 ],,)
107 AC_ARG_WITH(package-format,
108 [  --with-package-format   specify package format(s) for OOo installsets.
109                           Default is "normal" one of the OS/Distribution.
111                           Usage: --with-package-format="foo bar"
112 ],,)                   
113 AC_ARG_ENABLE(odk,
114 [  --disable-odk           OO.o includes an ODK, office development kit
115                           which some packagers may with to build without
116 ],,enable_odk="yes")
117 AC_ARG_ENABLE(qadevooo,
118 [  --disable-qadevooo      OO.o includes some qa testsuites which some
119                           packagers may wish to build without
120 ],,enable_qadevooo="yes")
121 AC_ARG_ENABLE(fontooo,
122 [  --disable-fontooo       disable FontOOo
123                           (useful for distributions using fontconfig for OOo)
124 ],,enable_fontooo="yes")
125 AC_ARG_ENABLE(mathmldtd,
126 [  --disable-mathmldtd     disable mathmldtd
127                           (useful for distributions that want to avoid packaging
128                           it)
129 ],,enable_mathmldtd="yes")
130 AC_ARG_ENABLE(evolution2,
131 [  --enable-evolution2     Allows the built-in evolution 2 addressbook
132                           connectivity build to be enabled.
133 ],,)
134 AC_ARG_WITH(system-stdlibs,
135 [  --with-system-stdlibs   use libstdc++/libgcc_s already on system
136 ],,checkforprelink=yes)
137 AC_ARG_WITH(system-mspack,
138 [  --with-system-mspack    use libmspack already installed on system
139 ],,)
140 AC_ARG_ENABLE(cups,
141 [  --disable-cups          disable cups support in the psprint project
142 ],,enable_cups=yes)
143 AC_ARG_ENABLE(fontconfig,
144 [  --disable-fontconfig    disable support for the fontconfig library
145 ],,enable_fontconfig=yes)
146 AC_ARG_ENABLE(directx,
147 [  --disable-directx       Remove DirectX implementation for the new XCanvas
148                           interface. The DirectX support requires more stuff
149                           installed on Windows to compile.
150                           (DirectX SDK, GDI+ libs)
151 ],,enable_directx=yes)
152 AC_ARG_ENABLE(activex,
153 [  --disable-activex       Disable the use of ActiveX for windows build.
154                           This switch is mandatory when using VC++ 2005/2008 Express.
155 ],,)
157 AC_ARG_ENABLE(atl,
158 [  --disable-atl          Disable the use of ATL for windows build.
159                           This switch is mandatory when using VC++ 2005/2008 Express.
160 ],,)
162 AC_ARG_ENABLE(symbols,
163 [  --enable-symbols        Include debugging symbols in output.
164                           WARNING - a complete build needs 8 Gb of space and
165                           takes much longer. (enables -g compiler flag)
167                           --enable-symbols=SMALL sets the gcc -g1 setting
168                           which is smaller.
170                           Enabling symbols disables the stripping of the solver
171                           (--disable-strip-solver).
172 ],,)
173 AC_ARG_ENABLE(strip-solver,
174 [  --disable-strip-solver  Disable the stripping of the solver.
175                           By default the solver is stripped unless a build with
176                           debugging symbols (--enable-symbols) is requested.
178                           This switch allows to override this setting.
179 ],,)
180 AC_ARG_ENABLE(werror,
181 [  --enable-werror         Turn warnings to errors. (Has no effect in modules
182                           where the treating of warnings as errors is disabled
183                           explicitely)
184 ],,)
185 AC_ARG_ENABLE(debug,
186 [  --enable-debug          Include debugging symbols from --enable-symbols
187                           plus extra debugging code.  Extra large build!
188                           (enables -g compiler flag and dmake debug=true)
189 ],,)
190 AC_ARG_ENABLE(dbgutil,
191 [  --enable-dbgutil        Include additional debugging utilities, such as
192                           assertions, object counting, etc. Larger build.
193                           Independent from --enable-debug
194 ],,)
195 AC_ARG_ENABLE(crashdump,
196 [[  --enable-crashdump[=yes|TRUE|STATIC|no]
197                           Enable (disable) the crashdump feature code.
198                           [default=no]
199 ]],,enable_crashdump=no)
200 AC_ARG_ENABLE(cl-standard,
201 [  --enable-cl-standard    For Microsoft C/C++ compiler users, use non-optimizing
202                           standard compiler. ( This just disavles optimization
203                           options and therefore removes a lot of warnings when
204                           using the cheaper standard compiler. )
205 ],,)
206 AC_ARG_ENABLE(gtk,
207 [  --disable-gtk           Determines whether to use Gtk+ vclplug on platforms
208                           where Gtk+ is available.
209 ],,enable_gtk=yes)
210 AC_ARG_ENABLE(systray,
211 [  --disable-systray       Determines whether to build the systray quickstarter.
212 ],,enable_systray=yes)
213 AC_ARG_ENABLE(cairo,
214 [  --enable-cairo          Determines whether to use Cairo library on
215                           platforms where Cairo is available.
216 ],,enable_cairo=no)
217 AC_ARG_WITH(system-cairo,
218 [  --with-system-cairo      Use Cairo libraries already on system
219 ],,)
220 AC_ARG_ENABLE(opengl,
221 [  --enable-opengl         Determines whether to use OpenGL (for 3D transitions)
222                           This is built as an UNO extension and not deployed
223                           in the install per default.
224 ],,enable_opengl=no)
225 AC_ARG_ENABLE(dbus,
226 [  --enable-dbus           Determines whether to enable presentation mode 
227                           screensaver control under GNOME via DBUS 
228 ],,enable_dbus=no)
229 AC_ARG_ENABLE(gconf,
230 [  --disable-gconf         Determines whether to use the GConf support
231 ],,enable_gconf=yes)
232 AC_ARG_ENABLE(gnome-vfs,
233 [  --disable-gnome-vfs     Determines whether to use the Gnome Virtual Filing
234                           System on platforms where that VFS is available
235 ],,enable_gnome_vfs=yes)
236 AC_ARG_ENABLE(gio,
237 [  --enable-gio            Determines whether to use the GIO support
238 ],,enable_gio=no)
239 AC_ARG_ENABLE(static-gtk,
240 [  --enable-static-gtk     Modules that are linked against gtk libraries use
241                           the static libraries instead of the dynamic ones. 
242                           (enables -Bstatic linker flag for gtk libraries)
243 ],,)
244 AC_ARG_ENABLE(layout,
245 [  --disable-layout        Disable the compilation and use of layout dialogs
246 ],,)
247 AC_ARG_ENABLE(layout_experimental,
248 [  --enable-layout-experimental  Enable the compilation and use of layout dialogs
249                                tagged experimental.
250 ],,)
251 AC_ARG_ENABLE(build-mozilla,
252 [  --disable-build-mozilla Use this option if you do not want to build the
253                           mozilla components from the mozilla source code but
254                           take precompiled zips
255 ],,)
256 AC_ARG_WITH(mozilla-version,
257 [  --with-mozilla-version  Choose which version of mozilla to use while building
258                           mozilla. Default: 1.7.5.
259                           Note that not all versions are supported.
260 ],,)
261 AC_ARG_WITH(mozilla-toolkit,
262 [  --with-mozilla-toolkit  Choose which GUI toolkit to use while building mozilla
263                           components. Default: gtk2
264 ],,)
265 AC_ARG_ENABLE(kde,
266 [  --enable-kde            Determines whether to use Qt/KDE vclplug on platforms
267                           where Qt and KDE are available.
268 ],,)
269 AC_ARG_ENABLE(kdeab,
270 [  --disable-kdeab         Disable the KDE address book support
271 ],,if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi)
272 AC_ARG_ENABLE(kde4,
273 [  --enable-kde4            Determines whether to use Qt4/KDE4 vclplug on platforms
274                           where Qt4 and KDE4 are available. Should not be used with --enable-kde.
275 ],,)
276 AC_ARG_ENABLE(binfilter,
277 [  --disable-binfilter     Disable legacy binary file formats filters
278 ],,if ! test -d ./binfilter; then enable_binfilter=no; fi)
279 AC_ARG_ENABLE(rpath,
280 [  --disable-rpath         Disable the use of relative paths in shared libraries
281 ],,)
282 AC_ARG_ENABLE(pam,
283 [  --disable-pam           Disable pam support.
284 ],,)
285 AC_ARG_ENABLE(pam-link,
286 [  --enable-pam-link       link with libpam instead of dynamically open it
287 ],,)
288 AC_ARG_ENABLE(crypt-link,
289 [  --disable-crypt-link    disable linking with libcrypt instead of dynamically
290                           open it (needed for ancient GNU/Linux distributions
291                           without crypt()/libcrypt)
292 ],,enable_crypt_link=yes)
293 AC_ARG_ENABLE(xrender-link,
294 [  --enable-xrender-link   link with libXrender instead of dynamically open it
295 ],,)
296 AC_ARG_ENABLE(randr,
297 [  --disable-randr         disable RandR support in the vcl project
298 ],,enable_randr=yes)
299 AC_ARG_ENABLE(randr-link,
300 [  --disable-randr-link    disable linking with libXrandr, instead dynamically 
301                            open it at runtime
302 ],,enable_randr_link=yes)
303 AC_ARG_WITH(myspell-dicts,
304 [  --without-myspell-dicts Removes myspell dictionaries from openoffice.org
305                           installation set, for people building for specific
306                           distributions where the myspell dictionaries are
307                           installed from other sources
308 ],,)
309 AC_ARG_WITH(system-dicts,
310 [  --with-system-dicts    Use dictionaries from system paths- Specify
311                          them via --with-{dict,hyph,thes}-path=/path
312                          if you want to override the default ones
313 ],,)
314 AC_ARG_WITH(external-dict-dir,
315 [  --with-external-dict-dir Specify external dictionary dir
316 ],,)
317 AC_ARG_WITH(external-hyph-dir,
318 [  --with-external-hyph-dir Specify external hyphenation pattern dir
319 ],,)
320 AC_ARG_WITH(external-thes-dir,
321 [  --with-external-thes-dir Specify external thesaurus dir
322 ],,)
323 AC_ARG_WITH(system-libs,
324 [  --with-system-libs      Use libs already on system -- enables all
325                           --with-system-* flags except mozilla and
326                           odbc/sane/xrender-header(s)
327 ],,)
328 AC_ARG_WITH(system-headers,
329 [  --with-system-headers   Use headers already on system -- enables all
330                           --with-system-* flags for external packages
331                           whose headers are the only entities used i.e.
332                           boost/vigra/odbc/sane/xrender-header(s)
333 ],,)
334 AC_ARG_WITH(system-jars,
335 [  --without-system-jars   When building with --with-system-libs, also the
336                           needed jars are expected on the system. Use this to
337                           disable that. 
338                           (except for the db case where --with-system-db
339                           *has to* imply using the db.jar from there, too)
340 ],,)
341 AC_ARG_WITH(system-zlib,
342 [  --with-system-zlib      Use zlib already on system
343 ],,)
344 AC_ARG_WITH(system-openssl,
345 [  --with-system-openssl   Use OpenSSL already on system
346 ],,)
347 AC_ARG_WITH(system-jpeg,
348 [  --with-system-jpeg      Use jpeg already on system
349 ],,)
350 AC_ARG_WITH(system-expat,
351 [  --with-system-expat     Use expat already on system
352 ],,)
353 AC_ARG_WITH(system-libwpd,
354 [  --with-system-libwpd    Use libwpd already on system
355 ],,)
356 AC_ARG_WITH(system-libwps,
357 [  --with-system-libwps    Use libwps already on system
358 ],,)
359 AC_ARG_WITH(system-libwpg,
360 [  --with-system-libwpg    Use libwpg already on system
361 ],,)
362 AC_ARG_WITH(system-libxml,
363 [  --with-system-libxml    Use libxml already on system
364 ],,)
365 AC_ARG_WITH(system-python,
366 [  --with-system-python    Use python already on system
367 ],,)
368 AC_ARG_WITH(system-icu,
369 [  --with-system-icu       Use icu already on system
370 ],,)
371 AC_ARG_WITH(system-poppler,
372 [  --with-system-poppler   Use poppler already on system
373 ],,)
374 AC_ARG_WITH(system-db,
375 [  --with-system-db        Use berkeley db already on system
376 ],,)
377 AC_ARG_WITH(system-lucene,
378 [  --with-system-lucene    Use lucene already on system
379 ],,)
380 AC_ARG_WITH(lucene-core-jar,
381 [  --with-lucene-core-jar=JARFILE   Specify path to jarfile manually ],
382 [ LUCENE_CORE_JAR="$withval"
384 AC_ARG_WITH(lucene-analyzers-jar,
385 [  --with-lucene-analyzers-jar=JARFILE   Specify path to jarfile manually ],
386 [ LUCENE_ANALYZERS_JAR="$withval"
388 AC_ARG_WITH(system-hsqldb,
389 [  --with-system-hsqldb    Use hsqldb already on system
390 ],,)
391 AC_ARG_WITH(hsqldb-jar,
392 [  --with-hsqldb-jar=JARFILE   Specify path to jarfile manually ],
393 [ HSQLDB_JAR="$withval"
395 AC_ARG_WITH(system-beanshell,
396 [  --with-system-beanshell Use beanshell already on system
397 ],,)
398 AC_ARG_WITH(beanshell-jar,
399 [  --with-beanshell-jar=JARFILE   Specify path to jarfile manually ],
400 [ BSH_JAR="$withval"
402 AC_ARG_ENABLE(minimizer,
403 [  --enable-minimizer          enables the build of the Presentation Minimizer extension
404 ],,)
405 AC_ARG_ENABLE(presenter-console,
406 [  --enable-presenter-console          enables the build of the Presenter Console extension
407 ],,)
408 AC_ARG_ENABLE(pdfimport,
409 [  --enable-pdfimport          enables the build of the PDF Import extension and xpdf
410 ],,)
411 AC_ARG_ENABLE(wiki-publisher,
412 [  --enable-wiki-publisher      enables the build of the Wiki Publisher extension
413 ],,)
414 AC_ARG_WITH(commons-codec-jar,
415 [  --with-commons-codec-jar=JARFILE   Specify path to jarfile manually ],
416 [ COMMONS_CODEC_JAR="$withval"
418 AC_ARG_WITH(commons-lang-jar,
419 [  --with-commons-lang-jar=JARFILE   Specify path to jarfile manually ],
420 [ COMMONS_LANG_JAR="$withval"
422 AC_ARG_WITH(commons-httpclient-jar,
423 [  --with-commons-httpclient-jar=JARFILE   Specify path to jarfile manually ],
424 [ COMMONS_HTTPCLIENT_JAR="$withval"
426 AC_ARG_WITH(commons-logging-jar,
427 [  --with-commons-logging-jar=JARFILE   Specify path to jarfile manually ],
428 [ COMMONS_LOGGING_JAR="$withval"
430 AC_ARG_WITH(servlet-api-jar,
431 [  --servlet-api-jar=JARFILE   Specify path to jarfile manually ],
432 [ SERVLETAPI_JAR="$withval"
434 AC_ARG_ENABLE(ogltrans,
435 [  --enable-ogltrans       enables the build of the OGLTrans extension
436 ],,)
437 AC_ARG_ENABLE(report-builder,
438 [  --enable-report-builder  enables the build of the Report Builder extension
439 ],,)
440 AC_ARG_WITH(system-jfreereport,
441 [  --with-system-jfreereport      Use JFreeReport already on system
442 ],,)
443 AC_ARG_WITH(sac-jar,
444 [  --with-sac-jar=JARFILE   Specify path to jarfile manually ],
445 [ SAC_JAR="$withval"
447 AC_ARG_WITH(libxml-jar,
448 [  --with-libxml-jar=JARFILE   Specify path to jarfile manually ],
449 [ LIBXML_JAR="$withval"
451 AC_ARG_WITH(flute-jar,
452 [  --with-flute-jar=JARFILE   Specify path to jarfile manually ],
453 [ FLUTE_JAR="$withval"
455 AC_ARG_WITH(jfreereport-jar,
456 [  --with-jfreereport-jar=JARFILE   Specify path to jarfile manually ],
457 [ JFREEREPORT_JAR="$withval"
459 AC_ARG_WITH(liblayout-jar,
460 [  --with-liblayout-jar=JARFILE   Specify path to jarfile manually ],
461 [ LIBLAYOUT_JAR="$withval"
463 AC_ARG_WITH(libloader-jar,
464 [  --with-libloader-jar=JARFILE   Specify path to jarfile manually ],
465 [ LIBLOADER_JAR="$withval"
467 AC_ARG_WITH(libloader-jar,
468 [  --with-libloader-jar=JARFILE   Specify path to jarfile manually ],
469 [ LIBLOADER_JAR="$withval"
471 AC_ARG_WITH(libformula-jar,
472 [  --with-libformula-jar=JARFILE   Specify path to jarfile manually ],
473 [ LIBFORMULA_JAR="$withval"
475 AC_ARG_WITH(librepository-jar,
476 [  --with-librepository-jar=JARFILE   Specify path to jarfile manually ],
477 [ LIBREPOSITORY_JAR="$withval"
479 AC_ARG_WITH(libfonts-jar,
480 [  --with-libfonts-jar=JARFILE   Specify path to jarfile manually ],
481 [ LIBFONTS_JAR="$withval"
483 AC_ARG_WITH(libserializer-jar,
484 [  --with-libserializer-jar=JARFILE   Specify path to jarfile manually ],
485 [ LIBSERIALIZER_JAR="$withval"
487 AC_ARG_WITH(libbase-jar,
488 [  --with-libbase-jar=JARFILE   Specify path to jarfile manually ],
489 [ LIBBASE_JAR="$withval"
491 AC_ARG_WITH(system-saxon,
492 [  --with-system-saxon     Use saxon already on system
493 ],,)
494 AC_ARG_WITH(saxon-jar,
495 [  --with-saxon-jar=JARFILE   Specify path to jarfile manually ],
496 [ SAXON_JAR="$withval"
498 AC_ARG_WITH(system-libxslt,
499 [  --with-system-libxslt   Use libxslt already on system
500 ],,)
501 AC_ARG_WITH(system-odbc,
502 [  --with-system-odbc-headers     Use the odbc headers already on system
503 ],,)
504 AC_ARG_WITH(system-sane,
505 [  --with-system-sane-header      Use sane.h already on system
506 ],,)
507 AC_ARG_WITH(system-xrender,
508 [  --with-system-xrender-headers  Use XRender headers already on system
509 ],,)
510 AC_ARG_WITH(system-mesa-headers,
511 [  --with-system-mesa-headers     Use Mesa 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-vigra,
520 [  --with-system-vigra     Use vigra already on system
521 ],,)
522 AC_ARG_ENABLE(neon,
523 [  --disable-neon          Disable neon and the compilation of webdav binding
524 ],,)
525 AC_ARG_ENABLE(Xaw,
526 [  --disable-Xaw           Disables the use of Xaw for the Netscape/Mozilla
527                            plugin
528 ],,)
529 AC_ARG_WITH(system-neon,
530 [  --with-system-neon      Use neon already on system
531 ],,)
532 AC_ARG_WITH(system-agg,
533 [  --with-system-agg       Use AGG already on system
534 ],,)
535 AC_ARG_WITH(system-hunspell,
536 [  --with-system-hunspell   Use libhunspell already on system
537 ],,)
538 AC_ARG_WITH(system-mythes,
539 [  --with-system-mythes    Use mythes already on system
540 ],,)
541 AC_ARG_WITH(system-altlinuxhyph,
542 [  --with-system-altlinuxhyph    Use ALTLinuxhyph already on system
543 ],,)
544 AC_ARG_WITH(system-lpsolve,
545 [  --with-system-lpsolve         Use lpsolve already on system
546 ],,)
547 AC_ARG_WITH(system-mozilla,
548 [  --with-system-mozilla   Use mozilla already on system. Note that some
549                           components cannot be built against a contemporary
550                           mozilla. The flavour used can be specified by
551                           --with-system-mozilla=<flavour>. Supported are:
552                           libxul (default), xulrunner, firefox, seamonkey,
553                           mozilla
554 ], WITH_SYSTEM_MOZILLA=$withval, WITH_SYSTEM_MOZILLA=no)
555 AC_ARG_WITH(linker-hash-style,
556 [  --with-linker-hash-style  
557 ], WITH_LINKER_HASH_STYLE=$withval, WITH_LINKER_HASH_STYLE=gnu)
558 AC_ARG_WITH(stlport,
559 [  --with-stlport         The location that STLport is installed in. The STL
560                           header files are assumed to be in
561                           stlport-home/stlport and the STLPort library in
562                           stlport-home/lib.
564                           Usage: --with-stlport=<absolute path to stlport home>
566                           Warning!!, disabling using --without-stlport or 
567                           enabling using --with-stlport on a platform that
568                           defaults to the opposite will break ABI compatability
569 ], WITH_STLPORT=$withval , WITH_STLPORT=auto)
570 AC_ARG_WITH(jdk-home,
571 [  --with-jdk-home         if you have installed JDK 1.3 or later on your system
572                           please supply the path here.
573                           Note that this is not the location of the Java binary
574                           but the location of the entire distribution.
576                           Usage: --with-jdk-home=<absolute path to JDK home>
577 ],,)
578 AC_ARG_WITH(gxx_include_path,
579 [  --with-gxx-include-path if you want to override the autodetected g++ include
580                           path.
582                           Usage: --with-gxx-include-path=<absolute path to g++ include dir>
583 ],,)
584 AC_ARG_WITH(java,
585 [  --with-java             Build with[[out]] Java support.  If you use
586                           --without-java/--with-java=no then the build will have
587                           no support for Java components, applets, accessibility
588                           or XML filters. 
589 ], if test "$withval" = "yes"; then WITH_JAVA=java; else WITH_JAVA=$withval; fi, WITH_JAVA=java)
590 AC_ARG_WITH(java_target_version,
591 [  --with-java-target-version   Generate class files that will work on JVMs with
592                           the specified version. For example, use
593                           --with-java-target-version=1.4 to make sure that the
594                           application will work with JVM 1.4 even when compiled
595                           with JDK 1.5.
596                           
597                           This option is ignored when you compile with gcj/gij.
599                           Usage: --with-java-target-version=<jvm version>
600 ],,)
601 AC_ARG_ENABLE(gcjaot,
602 [  --enable-gcjaot         Build with[[out]] using Ahead of Time java compilation
603                           support to speed up buildsi by compiling the jars also
604                           to native code..
605                           --enable-gcjaot is only known to work with bytecode
606                           created with gcj or ecj
607 ],,)
608 AC_ARG_WITH(ant-home,
609 [  --with-ant-home         If you have installed Jakarta Ant on your system,
610                           please supply the path here.
611                           Note that this is not the location of the Ant binary
612                           but the location of the entire distribution.
614                           Usage: --with-ant-home=<absolute path to Ant home>
615 ],,)
616 AC_ARG_WITH(perl-home,
617 [  --with-perl-home        If you have installed the Perl 5 Distribution, on your
618                           system, please supply the path here.
619                           Note that this is not the location of the Perl binary
620                           but the location of the entire distribution.
622                           Usage: --with-perl-home=<absolute path to Perl 5 home>
623 ],,)
624 AC_ARG_WITH(cl-home,
625 [  --with-cl-home          For Windows NT users, please supply the path
626                           for the Microsoft C/C++ compiler. 
627                           Note that this is not the location of the compiler
628                           binary but the location of the entire distribution.
630                           Usage: --with-cl-home=<absolute path to Microsoft C/C++ compiler home>
631 ],,)
632 AC_ARG_WITH(mspdb-path,
633 [  --with-mspdb-path       For Microsoft C/C++ compiler users, please supply the
634                           path pointing to the mspdb71.dll (.NET 2003).
636                           Usage: --with-mspdb-path=<absolute path to mspdb71.dll>
637 ],,)
638 AC_ARG_WITH(midl-path,
639 [  --with-midl-path        For Microsoft C/C++ .NET compiler users, please supply
640                           the path pointing to the midl.exe.
642                           Usage: --with-midl-path=<absolute path to midl.exe>
643 ],,)
644 AC_ARG_WITH(csc-path,
645 [  --with-csc-path         For Microsoft C/C++ .NET compiler users, please supply
646                           the path pointing to the csc.exe.
648                           Usage: --with-csc-path=<absolute path to csc.exe>
649 ],,)
650 AC_ARG_WITH(nsis-path,
651 [  --with-nsis-path        For Windows users, please supply the path to the
652                           "Nullsoft Scriptable Install System" (NSIS). If NSIS
653                           is found in the path or this option is supplied a self
654                           contained executable installer for OpenOffice.org will
655                           be created.
657                           Usage: --with-nsis-path=<absolute path to nsis.exe>
658 ],,)
659 AC_ARG_WITH(frame-home,
660 [  --with-frame-home       For Microsoft C/C++ .NET compiler users, please supply
661                           the path pointing to lib/mscoree.lib, usually
662                           something like:
663                           "/cygdrive/c/Program Files/Microsoft Visual Studio .NET/FrameworkSDK"
665                           MS Visual Toolkit compiler users, please supply the
666                           path pointing to lib/msvcrt.lib, usually something
667                           like:
668                           "/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Vc7"
670                           Usage: --with-frame-home=<absolute path to Framework SDK [[home]]>
671 ],,)
672 AC_ARG_WITH(psdk-home,
673 [  --with-psdk-home        For Windows users, please supply the path to the
674                           Microsoft Platform SDK.
676                           Usage: --with-psdk-home=<absolute path to Microsoft Platform SDK>
677 ],,)
678 AC_ARG_WITH(directx-home,
679 [  --with-directx-home     For Windows users, please supply the path to the
680                           Microsoft DirectX SDK.
682                           Usage: --with-directx-home=<absolute path to Microsoft DirectX SDK>
683 ],,)
684 AC_ARG_WITH(local-solenv,
685 [  --with-local-solenv     If you have solenv in a location other than ./solenv,
686                           please supply the path here.
688                           Usage: --with-local-solenv=<absolute path to solenv>
689 ],,)
690 AC_ARG_WITH(local-solver,
691 [  --with-local-solver     if you have solver in a location other than ./solver,
692                           please supply the path here.
694                           Usage: --with-local-solver=<absolute path to solver>
695 ],,)
696 AC_ARG_ENABLE(check-only,
697 [  --enable-check-only     Use this option option if you just want to check your
698                           environment.  This option stops the generation of an 
699                           ????env.set
701                           Usage: --enable-check-only=yes
702 ],,)
703 AC_ARG_WITH(lang,
704 [  --with-lang             Use this option to build OpenOffice.org with
705                           additional language support. English (US) is always
706                           included by default. Separate multiple languages with
707                           space. For all languages, use --with-lang=ALL.
709                           Usage: --with-lang="es sw tu cs sk"
710 ],,)
711 AC_ARG_WITH(poor-help-localizations,
712 [  --with-poor-help-localizations
713                            Use this option to specify which languages have
714                           unusable help localizations. Separate multiple
715                           languages with space.
717                           Usage: --with-poor-help-localizations="af ar be-BY ca"
718 ],,)
719 AC_ARG_WITH(dict,
720 [  --with-dict             Use this option to build OpenOffice.org with
721                           dictionary support. ALL dictionaries are always
722                           included by default unless overridden with
723                           this option. Separate multiple dictionaries with
724                           commas. For all dictionaries, use --with-dict=ALL.
726                           Usage: --with-dict=ENGB,ENUS,ITIT
727 ],,)
728 AC_ARG_WITH(intro-bitmaps,
729 [  --with-intro-bitmaps    Prefer the specified intro bitmaps over the
730                           the default one.  Can be more than one (separated by
731                           commas), the order means priority of fallback if the
732                           first does not exist (in the installed tree).
734                           Usage: --with-intro-bitmaps=/path/my_ooo_intro.bmp
735 ],,)
736 AC_ARG_WITH(about-bitmaps,
737 [  --with-about-bitmaps    Similarly to --with-intro-bitmaps, this allows
738                           specification of bitmaps for the About box.
740                           Usage: --with-about-bitmaps=/path/my_ooo_about.bmp
741 ],,)
742 AC_ARG_WITH(vendor,
743 [  --with-vendor           Set vendor of the build.
745                           Usage: --with-vendor="John the Builder"
746 ],,)
747 AC_ARG_WITH(unix-wrapper,
748 [  --with-unix-wrapper    Redefines the name of the UNIX wrapper that will be used
749                           in the desktop files and in the desktop-integration RPMs.
751                           Usage: --with-unix-wrapper=ooffice
752 ],,)
753 AC_ARG_WITH(asm-home,
754 [  --with-asm-home         For Windows users, please supply the path for the
755                           ml.exe assembler.
757                           Usage: --with-asm-home=<path to ml.exe directory>
758 ],,)
759 AC_ARG_WITH(os-version,
760 [  --with-os-version       For FreeBSD users, use this option option to override
761                           the detected OSVERSION.
763                           Usage: --with-os-version=<OSVERSION>
764 ],,)
765 AC_ARG_WITH(unzip-home,
766 [  --with-unzip-home       Deprecated: use --with-zip-home instead],,)
767 AC_ARG_WITH(zip-home,
768 [  --with-zip-home         If you use a non standard zip, for example windows
769                           please supply the path for zip
771                           Usage: --with-zip-home=<path to zip executable>
772 ],,)
773 AC_ARG_WITH(mingwin,
774 [  --with-mingwin          For Windows users, use the mingwin32 compiler within
775                           cygwin environment, this implies --with-use-shell=tcsh
777                           Usage: --with-mingwin=yes
779                           For !Windows use, use the mingw32 C++ compiler to
780                           (re-) build unowinreg.dll. Specify the MinGW C++
781                           Compilers name.
783                           Usage: --with-mingwin=i586-mingw32msvc-g++
784 ],WITH_MINGWIN=$withval,WITH_MINGWIN=0)
785 AC_ARG_WITH(use-shell,
786 [  --with-use-shell        Use this option to override the default shell to be
787                           used for the build environment.
788                           Supported options:
789                             tcsh (default)
790                             bash
791                             4nt (windows only)
793                           Usage: --with-use-shell=tcsh|bash|4nt
794 ],with_use_shell=$withval,with_use_shell="tcsh")
795 AC_ARG_WITH(build-version,
796 [  --with-build-version    Allows the builder to add a custom version tag
797                           that will appear in the Help/About box for QA
798                           purposes.
800                           Usage: --with-build-version="Built by Jim"
801 ],with_build_version=$withval)
802 AC_ARG_ENABLE(sgistl,
803 [  --enable-sgistl         for IRIX users, use this option option to build
804                           OpenOffice.org using SGI's STL.
806                           Usage: --enable-sgistl=yes
807 ],,)
808 AC_ARG_WITH(alloc,
809 [  --with-alloc            Define which allocator to build with
810                                          (choices are oo, system, tcmalloc)
811 ],,)
812 AC_ARG_ENABLE(verbose,
813 [  --enable-verbose        Increase build verbosity.
814   --disable-verbose       Decrease build verbosity.
815 ],,)
817 BUILD_TYPE="OOo"
819 dnl ===================================================================
820 dnl Message.
821 dnl ===================================================================
822 echo "********************************************************************"
823 echo "*                                                                  *"
824 echo "*   OpenOffice.org build configuration.                            *"
825 echo "*                                                                  *"
826 echo "*   The configure process checks your platform to see whether      *"
827 echo "*   you can build OpenOffice.org on it.                            *"
828 echo "*   This process checks all pre-requisites and generates a file    *"
829 echo "*   containing the necessary environment variables.                *"
830 echo "*   Source this file after configure has ended successfully.       *"
831 echo "*                                                                  *"
832 echo "*   Any warning that is generated during the configure process     *"
833 echo "*   must be taken into account since it can be a reason for        *"
834 echo "*   an unsuccessful build of OpenOffice.org                        *"
835 echo "*                                                                  *"
836 echo "********************************************************************"
837 echo ""
838 echo "********************************************************************"
839 echo "*                                                                  *"
840 echo "*   Checking the platform pre-requisites.                          *"
841 echo "*                                                                  *"
842 echo "********************************************************************"
843 echo ""
844 dnl ===================================================================
845 dnl Configure pre-requisites.
846 dnl ===================================================================
847 cat /dev/null > warn
848 AC_PROG_EGREP
849 AC_PROG_AWK
850 AC_PATH_PROG( AWK, $AWK)
851 if test -z "$AWK"; then
852    AC_MSG_ERROR([install awk to run this script])
855 AC_PATH_PROGS(SED, sed )
856 if test -z "$SED"; then
857    AC_MSG_ERROR([install sed to run this script])
860 AC_MSG_CHECKING([for solenv environment])
861 if test -z "$with_local_solenv"; then
862    LOCAL_SOLENV="DEFAULT"
863    AC_MSG_RESULT([default])
864 else
865    LOCAL_SOLENV=$with_local_solenv
866    AC_MSG_RESULT([$with_local_solenv])
868 AC_SUBST(LOCAL_SOLENV)
870 if test "$LOCAL_SOLENV" = "DEFAULT"; then 
871   _solenv="./solenv"
872 else
873   _solenv="$LOCAL_SOLENV"
875 AC_SUBST(_solenv)
877 if test -e $_solenv/inc/minor.mk; then
878    # Get UPD number from ./solenv/inc/minor.mk
879    UPD="`grep RSCVERSION= $_solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`"
880    AC_SUBST(UPD)
881    SOURCEVERSION="`grep SOURCEVERSION= $_solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`"
882    AC_SUBST(SOURCEVERSION)
883 else
884    AC_MSG_ERROR([$_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation...])
887 dnl ===================================================================
888 dnl Checks for the operating system and processor.
889 dnl ===================================================================
890 AC_CANONICAL_SYSTEM
891 if test "$build" != "$host" -o "$build" != "$target" \
892   -o "$host" != "$target"; then
893         AC_MSG_WARN([cross-compiling by any means is not supported (yet)!])
894         echo "cross-compiling by any means is not supported (yet)!" >> warn
897 if echo "$build_os" | grep cygwin; then
898    AC_MSG_CHECKING([Cygwin version])
899    CygwinVer=`uname -r`
900    AC_MSG_RESULT([$CygwinVer])
901    if test "`echo $CygwinVer | $AWK -F . '{ print $1$2 }'`" -lt "15"; then
902       AC_MSG_ERROR([You need at least Cygwin V1.5.x])
903    fi
904 else
905    CygwinVer="false"
908 dnl ===================================================================
909 dnl The following is a list of supported systems.
910 dnl Sequential to keep the logic very simple
911 dnl These values may be checked and reset later.
912 dnl ===================================================================
913 case "$build_os" in
914         solaris*)
915                 test_gtk=yes
916                 test_cairo=yes
917                 build_gstreamer=yes
918                 test_kde=yes
919                 test_kde4=yes
920                 test_cups=yes
921         test_randr=yes
922                 test_freetype=yes
923                 _os=SunOS
925                 dnl ===========================================================
926                 dnl check whether we're using solaris 6,7,8 - sparc or intel.
927                 dnl ===========================================================
928                 AC_MSG_CHECKING([the Solaris operating system release])
929                 _os_release=`echo $build_os | $SED -e s/solaris2\.//`
930                 if test "$_os_release" -lt "6"; then
931                         AC_MSG_ERROR([use solaris >= 6 to build OpenOffice.org])
932                 else
933                         AC_MSG_RESULT([ok ($_os_release)])
934                 fi
936                 dnl check whether we're using a sparc or i386 processor
937                 AC_MSG_CHECKING([the processor type])
938                 if test "$build_cpu" = "sparc" -o "$build_cpu" = "i386"; then
939                         AC_MSG_RESULT([ok ($build_cpu)])
940                 else
941                         AC_MSG_ERROR([only sparc and i386 processors are supported])
942                 fi
943                 ;;
944         linux-gnu*)
945                 test_gtk=yes
946                 test_cairo=yes
947                 build_gstreamer=yes
948                 test_kde=yes
949                 test_kde4=yes
950                 test_cups=yes
951         test_randr=yes
952                 test_freetype=yes
953                 if getconf GNU_LIBPTHREAD_VERSION |grep -q NPTL; then
954                         PTHREAD_CFLAGS="-DNPTL"
955                 fi
956                 _os=Linux
957                 ;;
958         gnu)
959                 test_cups=no
960                 _os=GNU
961                 ;;
962         cygwin*) # Windows
963                 test_cups=no
964                 test_cairo=yes
965                 test_freetype=no
966                 _os=WINNT
967                 ;;
968         darwin*) # Mac OS X
969                 test_cups=yes
970                 test_gtk=yes
971                 test_cairo=yes
972         test_randr=no
973                 test_freetype=no
974                 _os=Darwin
975       if test "$enable_systray" = "yes" && test "$enable_gtk" != "no"; then
976          AC_MSG_WARN([Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray])
977          echo "Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >>warn
978          enable_systray=no
979       fi
980                 ;;
981         os2*)
982                 test_x=no
983                 test_cups=no
984         test_randr=no
985                 test_gtk=no
986                 test_freetype=no
987                 _os=OS2
988                 ;;
989         freebsd*)
990                 test_gtk=yes
991                 test_cairo=yes
992                 build_gstreamer=yes
993                 test_kde=yes
994                 test_kde4=yes
995                 test_cups=yes
996         test_randr=yes
997                 test_freetype=yes
998                 AC_MSG_CHECKING([the FreeBSD operating system release])
999                 if test -n "$with_os_version"; then
1000                         OSVERSION="$with_os_version"
1001                 else
1002                         OSVERSION=`/sbin/sysctl -n kern.osreldate`
1003                 fi
1004                 AC_MSG_RESULT([found OSVERSION=$OSVERSION])
1005                 AC_MSG_CHECKING([which thread library to use])
1006                 if test "$OSVERSION" -lt "500016"; then
1007                         PTHREAD_CFLAGS="-D_THREAD_SAFE"
1008                         PTHREAD_LIBS="-pthread"
1009                 elif test "$OSVERSION" -lt "502102"; then
1010                         PTHREAD_CFLAGS="-D_THREAD_SAFE"
1011                         PTHREAD_LIBS="-lc_r"
1012                 else 
1013                         PTHREAD_CFLAGS=""
1014                         PTHREAD_LIBS="-pthread"
1015                 fi
1016                 AC_MSG_RESULT([$PTHREAD_LIBS])
1017                 _os=FreeBSD
1018                 ;;
1019         osf)
1020                 test_cups=no
1021         test_randr=no
1022                 _os=OSF1
1023                 ;;
1024         netbsd)
1025                 test_gtk=yes
1026                 test_cairo=yes
1027                 build_gstreamer=yes
1028                 test_kde=yes
1029                 test_kde4=yes
1030                 test_cups=no
1031         test_randr=yes
1032                 test_freetype=yes
1033                 PTHREAD_CFLAGS="-pthread"
1034                 PTHREAD_LIBS="-pthread -lpthread"
1035                 _os=NetBSD
1036                 ;;
1037         irix*)
1038                 test_cups=no
1039         test_randr=no
1040                 test_freetype=yes
1041                 _os=IRIX
1042                 ;;
1043         aix*)
1044                 test_cups=no
1045         test_randr=no
1046                 test_freetype=yes
1047            PTHREAD_LIBS=-pthread
1048                 echo "AIX is an alpha port --- Use at own risk" >> warn
1049                 _os=AIX
1050                 ;;
1051    *)
1052    AC_MSG_ERROR([$_os operating system is not suitable to build OpenOffice.org!])
1053    ;;
1054 esac
1056 AC_SUBST(OSVERSION)
1057 AC_SUBST(PTHREAD_CFLAGS)
1058 AC_SUBST(PTHREAD_LIBS)
1060 dnl ===================================================================
1061 dnl Set the ENABLE_CRASHDUMP variable.
1062 dnl ===================================================================
1063 AC_MSG_CHECKING([whether to enable crashdump feature])
1064 if test "$enable_crashdump" = "yes" -o "$enable_crashdump" = "TRUE"; then
1065    ENABLE_CRASHDUMP="TRUE"
1066    AC_MSG_RESULT([yes])
1067    BUILD_TYPE="$BUILD_TYPE CRASHREP"
1068 else
1069    if test "$enable_crashdump" = "STATIC"; then
1070       ENABLE_CRASHDUMP="STATIC"
1071       AC_MSG_RESULT([yes, STATIC])
1072       BUILD_TYPE="$BUILD_TYPE CRASHREP"
1073    else
1074       if test "$enable_crashdump" = "" -o "$enable_crashdump" = "no"; then
1075          ENABLE_CRASHDUMP=""
1076          AC_MSG_RESULT([no])
1077       else
1078          AC_MSG_ERROR([--enable-crashdump only accepts yes, no, TRUE or STATIC as parameter.])
1079       fi
1080    fi
1082 AC_SUBST(ENABLE_CRASHDUMP)
1084 if test "$_os" = "WINNT"; then
1085    BUILD_TYPE="$BUILD_TYPE TWAIN"
1088 if test "$_os" = "WINNT"; then
1089    dnl ===================================================================
1090    dnl Set the VC_STANDARD variable.
1091    dnl ===================================================================
1092    AC_MSG_CHECKING([whether to use the standard non-optimizing compiler])
1093    if test "$enable_cl_standard" = "" -o "$enable_cl_standard" = "no"; then
1094       VC_STANDARD=""
1095       AC_MSG_RESULT([no])
1096    else
1097       VC_STANDARD="TRUE"
1098       AC_MSG_RESULT([yes])
1099    fi
1100    AC_SUBST(VC_STANDARD)
1103 dnl ===================================================================
1104 dnl Set the ENABLE_WERROR variable. (Activate --enable-werror)
1105 dnl ===================================================================
1106 AC_MSG_CHECKING([whether to turn warnings to errors])
1107 if test -n "$enable_werror" && test "$enable_werror" != "no"; then
1108    ENABLE_WERROR="TRUE"
1109    AC_MSG_RESULT([yes])
1110    AC_MSG_WARN([Turning warnings to errors has no effect in modules or])
1111    AC_MSG_WARN([on platforms where it has been disabled explicitely])
1112    echo "Turning warnings to errors has no effect in modules or on platforms where it has been disabled explicitely" >> warn
1113 else
1114    ENABLE_WERROR="FALSE"
1115    AC_MSG_RESULT([no])
1117 AC_SUBST(ENABLE_WERROR)
1119 dnl ===================================================================
1120 dnl Set the ENABLE_DEBUG variable. (Activate --enable-symbols)
1121 dnl ===================================================================
1122 AC_MSG_CHECKING([whether to do a debug build])
1123 if test -n "$enable_debug" && test "$enable_debug" != "no"; then
1124    ENABLE_DEBUG="TRUE"
1125    if test -z "$enable_symbols"; then
1126       enable_symbols="yes"
1127    fi
1128    AC_MSG_RESULT([yes])
1129 else
1130    ENABLE_DEBUG="FALSE"
1131    AC_MSG_RESULT([no])
1133 AC_SUBST(ENABLE_DEBUG)
1135 dnl ===================================================================
1136 dnl Set the ENABLE_DBGUTIL variable
1137 dnl ===================================================================
1138 AC_MSG_CHECKING([whether to build with additional debug utilities])
1139 if test -n "$enable_dbgutil" && test "$enable_dbgutil" != "no"; then
1140    PROEXT=""
1141    PRODUCT=""
1142    PROFULLSWITCH=""
1143    AC_MSG_RESULT([yes])
1144 else
1145    PRODUCT="full"
1146    PROFULLSWITCH="product=full"
1147    PROEXT=".pro"
1148    AC_MSG_RESULT([no, full product build])
1150 AC_SUBST(PRODUCT)
1151 AC_SUBST(PROFULLSWITCH)
1152 AC_SUBST(PROEXT)
1154 dnl ===================================================================
1155 dnl First setting is whether to include symbols into final build.
1156 dnl ===================================================================
1157 AC_MSG_CHECKING([whether to include symbols into final build])
1158 if test -n "$enable_symbols" && test "$enable_symbols" != "no"; then
1159         if test "$enable_symbols" = "yes" -o "$enable_symbols" = "TRUE"; then
1160                 ENABLE_SYMBOLS="TRUE"
1161                 AC_MSG_RESULT([yes])
1162         else
1163                 if test "$enable_symbols" = "SMALL" -o "$enable_symbols" = "small"; then
1164                         ENABLE_SYMBOLS="SMALL"
1165                         AC_MSG_RESULT([yes, small ones])
1166                 else if test "$enable_symbols" != "no" ; then
1167                              echo enable symbols is: $enable_symbols
1168                              AC_MSG_ERROR([--enable-symbols only accepts yes, TRUE or SMALL as parameter.])
1169                      else
1170                              ENABLE_SYMBOLS=
1171                      fi
1172                 fi
1173         fi
1174 else
1175    ENABLE_SYMBOLS=
1176    AC_MSG_RESULT([no])
1178 AC_SUBST(ENABLE_SYMBOLS)
1180 dnl ===================================================================
1181 dnl Determine if the solver is to be stripped or not.
1182 dnl ===================================================================
1183 AC_MSG_CHECKING([whether to strip the solver or not.])
1184 if test -n "$enable_strip_solver"; then
1185    if test "$enable_strip_solver" = "yes"; then
1186       DISABLE_STRIP=
1187    else if test "$enable_strip_solver" = "no"; then
1188            DISABLE_STRIP="TRUE"
1189         else
1190            AC_MSG_ERROR([--disable-strip-solver only accepts yes or no as parameter.])
1191         fi
1192    fi
1193 else
1194    if test -n "$ENABLE_SYMBOLS"; then
1195       DISABLE_STRIP="TRUE"
1196    else
1197       DISABLE_STRIP=
1198    fi
1200 AC_SUBST(DISABLE_STRIP)
1202 dnl ===================================================================
1203 dnl Build options
1204 dnl ===================================================================
1205 AC_MSG_CHECKING([whether to enable native CUPS support])
1206 if test "$test_cups" = "yes" -a \( "$enable_cups" = "yes" -o "$enable_cups" = "TRUE" \) ; then
1207    ENABLE_CUPS="TRUE"
1208    AC_MSG_RESULT([yes])
1209 else
1210    ENABLE_CUPS=""
1211    AC_MSG_RESULT([no])
1213 AC_SUBST(ENABLE_CUPS)
1215 AC_MSG_CHECKING([whether to enable fontconfig support])
1216 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a \( "$enable_fontconfig" = "yes" -o "$enable_fontconfig" = "TRUE" \); then
1217    ENABLE_FONTCONFIG="TRUE"
1218    AC_MSG_RESULT([yes])
1219 else
1220    ENABLE_FONTCONFIG=""
1221    AC_MSG_RESULT([no])
1223 AC_SUBST(ENABLE_FONTCONFIG)
1226 dnl ===================================================================
1227 dnl Disable legacy binary file formats filters
1228 dnl ===================================================================
1229 AC_MSG_CHECKING([whether to enable filters for legacy binary file formats (StarOffice 5.2)])
1230 if test "$enable_binfilter" = "no"; then
1231    WITH_BINFILTER="NO"
1232    AC_MSG_RESULT([no])
1233 else
1234    WITH_BINFILTER="YES"
1235    BUILD_TYPE="$BUILD_TYPE BINFILTER"
1236    AC_MSG_RESULT([yes])
1238 AC_SUBST(WITH_BINFILTER)
1240 if test "$_os" = "WINNT"; then
1241    AC_MSG_CHECKING([whether to use DirectX])
1242    if test "$enable_directx" = "yes" -o "$enable_directx" = "TRUE" -o "$enable_directx" = ""; then
1243       ENABLE_DIRECTX="TRUE"
1244       AC_MSG_RESULT([yes])
1245    else
1246       ENABLE_DIRECTX=""
1247       AC_MSG_RESULT([no])
1248    fi
1249    AC_SUBST(ENABLE_DIRECTX)
1251    AC_MSG_CHECKING([whether to use ActiveX])
1252    if test "$enable_activex" = "yes" -o "$enable_activex" = "TRUE" -o "$enable_activex" = ""; then
1253       DISABLE_ACTIVEX=""
1254       AC_MSG_RESULT([yes])
1255    else
1256       DISABLE_ACTIVEX="TRUE"
1257       AC_MSG_RESULT([no])
1258    fi
1259    AC_SUBST(DISABLE_ACTIVEX)
1261    AC_MSG_CHECKING([whether to use ATL])
1262    if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE" -o "$enable_atl" = ""; then
1263       DISABLE_ATL=""
1264       AC_MSG_RESULT([yes])
1265    else
1266       DISABLE_ATL="TRUE"
1267       AC_MSG_RESULT([no])
1268    fi
1269    AC_SUBST(DISABLE_ATL)
1273 dnl ===================================================================
1274 dnl Disable rpath in shared libraries?
1275 dnl ===================================================================
1276 AC_MSG_CHECKING([whether to use RPATH in shared libraries])
1277 if test "$enable_rpath" = "no"; then
1278    ENABLE_RPATH="no"
1279 else
1280    ENABLE_RPATH="yes"
1282 AC_MSG_RESULT([$ENABLE_RPATH])
1283 AC_SUBST(ENABLE_RPATH)
1285 dnl Test whether to include MySpell dictionaries
1286 dnl ===================================================================
1287 AC_MSG_CHECKING([whether to include MySpell dictionaries])
1288 if test -z "$with_myspell_dicts" || test "$with_myspell_dicts" = "yes"; then
1289   AC_MSG_RESULT([yes])
1290   WITH_MYSPELL_DICTS=YES
1291   BUILD_TYPE="$BUILD_TYPE DICTIONARIES"
1292 else
1293   AC_MSG_RESULT([no])
1294   WITH_MYSPELL_DICTS=NO
1296 AC_SUBST(WITH_MYSPELL_DICTS)
1298 if test "$WITH_MYSPELL_DICTS" = "NO"; then
1299   AC_MSG_CHECKING([whether to use dicts from external paths])
1300   if test -n "$with_system_dicts" -a "$with_system_dicts" = "yes"; then
1301         AC_MSG_RESULT([yes])
1302         SYSTEM_DICTS=YES
1303         AC_MSG_CHECKING([for spelling dictionary directory])
1304         if test -n "$with_external_dict_dir"; then
1305                 DICT_SYSTEM_DIR=file://$with_external_dict_dir
1306         else
1307                 DICT_SYSTEM_DIR=file:///usr/share/hunspell
1308         fi
1309         AC_MSG_RESULT([$DICT_SYSTEM_DIR])
1310         AC_MSG_CHECKING([for hyphenation patterns directory])
1311         if test -n "$with_external_hyph_dir"; then
1312                 HYPH_SYSTEM_DIR=file://$with_external_hyph_dir
1313         else
1314                 HYPH_SYSTEM_DIR=file:///usr/share/hyphen
1315         fi
1316         AC_MSG_RESULT([$HYPH_SYSTEM_DIR])
1317         AC_MSG_CHECKING([for thesaurus directory])
1318         if test -n "$with_external_thes_dir"; then
1319                 THES_SYSTEM_DIR=file://$with_external_thes_dir
1320         else
1321                 THES_SYSTEM_DIR=file:///usr/share/mythes
1322         fi
1323         AC_MSG_RESULT([$THES_SYSTEM_DIR])
1324   else
1325         AC_MSG_RESULT([no])
1326         SYSTEM_DICTS=NO
1327   fi
1329 AC_SUBST(SYSTEM_DICTS)
1330 AC_SUBST(DICT_SYSTEM_DIR)
1331 AC_SUBST(HYPH_SYSTEM_DIR)
1332 AC_SUBST(THES_SYSTEM_DIR)
1334 dnl ===================================================================
1335 dnl WINNT uses tcsh, bash or 4nt all other O/S use tcsh or bash.
1336 dnl The following sets the with_use_shell variable.
1337 dnl ===================================================================
1338 AC_MSG_CHECKING([which shell to use])
1339 if test $_os = "WINNT"; then
1340    dnl ===================================================================
1341    if test "$with_use_shell" != "tcsh" -a "$with_use_shell" != "bash" -a "$with_use_shell" != "4nt"; then
1342       AC_MSG_ERROR([only "tcsh","bash" or "4nt" are supported options])
1343    fi
1344    dnl ===================================================================
1345    dnl Sanity check! Native windows programs cannot use cygwin symlinks!
1346    dnl ===================================================================
1347    dnl As long as awk instead of $AWK is used somewhere in the sources,
1348    dnl check for $AWK and awk. $AWK is pointing to gawk in cygwin.
1349       if test -L $AWK -o -L `which awk` -o -L `which tar` -o -L `which gunzip` ; then
1350          AC_MSG_ERROR([$AWK, awk, tar or gunzip is a cygwin symlink!
1351 Native windows programs cannot use cygwin symlinks. Remove the symbolic
1352 link, and copy the program to the name of the link.])
1353       fi
1354    dnl ===================================================================
1355    dnl Another sanity check! More a band-aid. winenv.* adds guw.exe to
1356    dnl CC and CXX but the configure checks here assume that guw.exe
1357    dnl (if needed at all) is not yet present.
1358    dnl ===================================================================
1359    CC=`echo $CC | $SED "s/^guw.exe //"`
1360    CXX=`echo $CXX | $SED "s/^guw.exe //"`
1361    dnl ===================================================================
1362    dnl If $CC is set to a MinGW compiler, e.g. "gcc -mno-cygwin" enable
1363    dnl $WITH_MINGWIN
1364    dnl ===================================================================
1365       if test -n "$CC";then
1366          if test "`$CC -dumpmachine 2>/dev/null | $SED -e 's/^.*-//'`" = "mingw32"; then
1367             WITH_MINGWIN="yes"
1368          fi
1369       fi
1370    dnl ===================================================================
1371    dnl If using Mingwin32 then don't use 4NT
1372    dnl ===================================================================
1373    if test "$WITH_MINGWIN" = "yes" ; then
1374       if test "$with_use_shell" = "4nt" -o "x$with_use_shell" = "x"; then
1375          with_use_shell="tcsh"
1376       fi
1377       if test -z "$CC"; then
1378          CC="gcc -mno-cygwin"
1379          CXX="g++ -mno-cygwin"
1380       fi
1381    fi
1382 elif test $_os = "OS2"; then
1383    if test "$with_use_shell" != "tcsh" -a "$with_use_shell" != "4nt"; then
1384       AC_MSG_ERROR([only "tcsh" or "4nt" are supported options])
1385    fi
1386 else 
1387    dnl ===================================================================
1388    dnl All other operating systems use tcsh or bash.
1389    dnl ===================================================================
1390    if test "$with_use_shell" != "tcsh" -a "$with_use_shell" != "bash"; then
1391       AC_MSG_ERROR([only "tcsh" or "bash" are supported options])
1392    fi
1394 USE_SHELL="$with_use_shell"
1395 AC_MSG_RESULT([$USE_SHELL])
1396 AC_SUBST(USE_SHELL)
1397 AC_SUBST(WITH_MINGWIN)
1399 dnl ===================================================================
1400 dnl Extra check for Windows. Non 4nt-builds need gcc to build dmake
1401 dnl and g++ to build guw.exe although MS cl (or MinGW) is used to
1402 dnl build OOo.
1403 dnl ===================================================================
1404 if test "$_os" = "WINNT" -a "$with_use_shell" != "4nt" ; then
1405    AC_MSG_CHECKING([for cygwin gcc/g++])
1406    if which gcc > /dev/null && which g++ > /dev/null ; then
1407       AC_MSG_RESULT([found])
1408    else
1409       AC_MSG_ERROR([cygwin gcc and g++ are needed, please install them.])
1410    fi
1414 dnl ===================================================================
1415 dnl Check whether the chosen shell can be used.
1416 dnl ===================================================================
1417 if test "$with_use_shell" = "tcsh"; then
1418    AC_PATH_PROG(SHELLPATH, tcsh)
1419    if test -z "$SHELLPATH"; then
1420       AC_MSG_ERROR([tcsh not found in \$PATH])
1421    else
1422       SHELLPATH=`echo $SHELLPATH | $SED -n "s/\/tcsh$//p"`
1423    fi
1424 elif test "$with_use_shell" = "bash"; then
1425    AC_PATH_PROG(SHELLPATH, bash)
1426    if test -z "$SHELLPATH"; then
1427       AC_MSG_ERROR([bash not found in \$PATH])
1428    else
1429       SHELLPATH=`echo $SHELLPATH | $SED -n "s/\/bash$//p"`
1430    fi
1431 else
1432    AC_MSG_WARN([Windows/OS/2 4NT builds don't test for the shell])
1433    SHELLPATH="NO_SHELLPATH_NEEDED"
1435 AC_SUBST(SHELLPATH)
1437 dnl ===================================================================
1438 dnl  Checks for c compiler,
1439 dnl  The check for the c++ compiler is later on.
1440 dnl ===================================================================
1441 AC_MSG_CHECKING([gcc home])
1442 if test -z "$with_gcc_home"; then
1443         GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,`
1444 else    
1445         GCC_HOME="$with_gcc_home"
1447 AC_MSG_RESULT($GCC_HOME)
1448 AC_SUBST(GCC_HOME)
1450 if test -n "$with_gcc_home"; then
1451    if test -z "$CC"; then
1452       CC="$with_gcc_home/bin/gcc"
1453    fi
1456 dnl The following checks for gcc, cc and then cl (if it weren't guarded for win32)
1457 if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
1458    AC_PROG_CC
1461 COMPATH=`dirname "$CC"`
1462 if test "$COMPATH" = "." ; then
1463     AC_PATH_PROGS(COMPATH, $CC)
1464     dnl double square bracket to get single because of M4 quote...
1465     COMPATH=`echo $COMPATH | $SED "s@/[[^/:]]*\\\$@@"`;
1468 dnl ===================================================================
1469 dnl  Test the gcc version,  3 is OK
1470 dnl ===================================================================
1471 GCCVER=20995
1472 if test \( "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes" \) -a "$GCC" = "yes"; then
1473     AC_MSG_CHECKING([the GNU gcc compiler version])
1474    _gcc_version=`$CC -dumpversion`
1475    _gcc_major=`echo $_gcc_version | $AWK -F. '{ print \$1 }'`
1476    _gcc_longver=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
1477    GCCVER=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
1479    if test "$_gcc_major" -lt "3"; then
1480       AC_MSG_ERROR([found version "$_gcc_version", use version 3+ of the gcc compiler])
1481    else
1482       if test "$GCCVER" -eq "030203"; then
1483             if test "$ENABLE_SYMBOLS" = "SMALL"; then
1484            AC_MSG_ERROR([version "$_gcc_version" gives internal error with small.])
1485             fi
1486       fi
1487    fi
1488    AC_MSG_RESULT([checked (gcc $_gcc_version)])
1489    if test "$_os" = "SunOS"; then
1490       AC_MSG_CHECKING([gcc linker])
1491       if $CC -Wl,--version 2>&1 |head -n 1| grep -v GNU > /dev/null;then
1492           AC_MSG_ERROR([failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris])
1493       fi
1494       AC_MSG_RESULT([ok (GNU ld)])
1495    fi
1496 fi 
1497 AC_SUBST(GCCVER)
1499 dnl ===================================================================
1500 dnl Set the ENABLE_PCH variable. (Activate --enable-pch)
1501 dnl ===================================================================
1502 AC_MSG_CHECKING([whether to enable pch feature])
1503 if test -n "$enable_pch" && test "$enable_pch" != "no"; then
1504    if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
1505            ENABLE_PCH="TRUE"
1506            AC_MSG_RESULT([yes])
1507 dnl There is no PCH support in GCC versions prior to this
1508    elif test "$GCC" = "yes" -a "$GCCVER" -gt "030400"; then
1509            ENABLE_PCH="TRUE"
1510            AC_MSG_RESULT([yes])
1511    else
1512            ENABLE_PCH=""
1513            AC_MSG_WARN([Precompiled header not yet supported for your platform/compiler])
1514    fi
1515 else
1516    ENABLE_PCH=""
1517    AC_MSG_RESULT([no])
1519 AC_SUBST(ENABLE_PCH)
1521 dnl ===================================================================
1522 dnl Search all the common names for GNU make
1523 dnl ===================================================================
1524 AC_MSG_CHECKING([for GNU make])
1525 for a in "$MAKE" $GNUMAKE make gmake gnumake; do
1526       $a --version 2> /dev/null | grep GNU  2>&1 > /dev/null
1527       if test $? -eq 0;  then
1528            GNUMAKE=$a
1529            break
1530       fi
1531 done
1532 AC_MSG_RESULT($GNUMAKE)
1533 if test -z "$GNUMAKE"; then
1534     AC_MSG_ERROR([not found. install GNU make.])
1537 AC_MSG_CHECKING([the GNU make version])
1538 _make_version=`$GNUMAKE --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
1539 _make_longver=`echo $_make_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
1540 if test "$_make_longver" -ge "037901" ; then
1541    AC_MSG_RESULT([$GNUMAKE $_make_version])
1542 else
1543    if test "$_os" = "Darwin"; then
1544        if test "$_make_longver" -ge "037900" ; then
1545                    AC_MSG_RESULT([$GNUMAKE $_make_version])
1546        else
1547            AC_MSG_WARN([failed ($GNUMAKE $_make_version need 3.79.0+)])
1548        fi
1549    else
1550        AC_MSG_ERROR([failed ($GNUMAKE $_make_version need 3.79.1+)])
1551    fi
1553 AC_SUBST(GNUMAKE)
1555 dnl ===================================================================
1556 dnl  Test the solaris compiler version
1557 dnl ===================================================================
1558 if test "$_os" = "SunOS"; then
1559    if test "$CC" = "cc"; then
1560       AC_PATH_PROGS(_cc, cc)
1561       COMPATH=`echo $_cc | $SED -n "s/\/cc//p"`
1562       AC_MSG_CHECKING([the SunStudio C/C++ compiler version])
1563       dnl cc -V outputs to standard error!!!!
1564       _sunstudio_string=`$CC -V 2>&1 | grep '^cc' | sed -e 's/.* C //'`
1565       _sunstudio_version=`echo $_sunstudio_string | $AWK '{ print $1 }'`
1566       _sunstudio_major=`echo $_sunstudio_version | $AWK -F. '{ print $1 }'` 
1567       if test "$_sunstudio_major" != "5"; then
1568          AC_MSG_ERROR([found version "$_sunstudio_version", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler])
1569       else
1570          _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" }'` 
1571          if test "$_sunstudio_minor" = "false"; then
1572             AC_MSG_ERROR([found version "$_sunstudio_version", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler])
1573          else
1574             dnl compiler will do
1575             AC_MSG_RESULT([checked])
1576          fi
1577       fi
1578    fi
1581 if test "$GCC" = "yes"; then
1582    AC_MSG_CHECKING( for --hash-style=$WITH_LINKER_HASH_STYLE linker support )
1583    hash_style_ldflags_save=$LDFLAGS
1584    LDFLAGS="$LDFLAGS -Wl,--hash-style=$WITH_LINKER_HASH_STYLE"
1585    AC_LINK_IFELSE([AC_LANG_PROGRAM([
1586    #include <stdio.h>
1587    ],[
1588     printf ("hello world\n");
1589    ])], HAVE_LD_HASH_STYLE=TRUE, HAVE_LD_HASH_STYLE=FALSE)
1590    if test "z$HAVE_LD_HASH_STYLE" = "zTRUE"; then
1591      AC_MSG_RESULT( found )
1592    else
1593      AC_MSG_RESULT( not found )
1594    fi
1595    LDFLAGS=$hash_style_ldflags_save
1597 AC_SUBST(HAVE_LD_HASH_STYLE)
1598 AC_SUBST(WITH_LINKER_HASH_STYLE)
1600 dnl ===================================================================
1601 dnl  Check for -Bsymbolic-functions linker support
1602 dnl ===================================================================
1604 HAVE_LD_BSYMBOLIC_FUNCTIONS=
1605 if test "$GCC" = "yes"; then
1606    AC_MSG_CHECKING( for -Bsymbolic-functions linker support )
1607    bsymbolic_functions_ldflags_save=$LDFLAGS
1608    LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo"
1609    AC_LINK_IFELSE([AC_LANG_PROGRAM([
1610    #include <stdio.h>
1611    ],[
1612     printf ("hello world\n");
1613    ])], HAVE_LD_BSYMBOLIC_FUNCTIONS=TRUE, [])
1614    if test "z$HAVE_LD_BSYMBOLIC_FUNCTIONS" = "zTRUE"; then
1615      AC_MSG_RESULT( found )
1616    else
1617      AC_MSG_RESULT( not found )
1618    fi
1619    LDFLAGS=$bsymbolic_functions_ldflags_save
1621 AC_SUBST(HAVE_LD_BSYMBOLIC_FUNCTIONS)
1623 dnl ===================================================================
1624 dnl  Test the IRIX SGI Mips pro compiler
1625 dnl ===================================================================
1626 if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then
1627    if test "$CC" = "cc"; then
1628       AC_PATH_PROGS(_cc, cc)
1629       COMPATH=`echo $_cc | $SED -n "s/\/cc//p"`
1630       AC_MSG_CHECKING([the SGI MIPSpro C compiler version])
1631       dnl cc -version outputs to standard error!!!!
1632       _mipspro_version=`$CC -version 2>&1 | $AWK '{ print $4 }'`
1633       _mipspro_major=`echo $_mipspro_version | $AWK -F. '{ print $1 }'`
1634       if test "$_mipspro_major" != "7"; then
1635          AC_MSG_ERROR([found version "$_mipspro_version", use version 7.2+ of the SGI MIPSpro C compiler])
1636       else
1637          _mipspro_minor=`echo $_mipspro_version | $AWK -F. '{ if ($2 <= 1) print "false"; else print "true" }'`
1638          if test "$_mipspro_minor" = "false"; then
1639             AC_MSG_ERROR([found version "$_mipspro_version", use version 7.2+ of the SGI MIPSpro C compiler])
1640          else
1641             dnl compiler will do
1642             AC_MSG_RESULT([checked])
1643          fi
1644       fi
1645    fi
1648 dnl ===================================================================
1649 dnl  Test the Compaq compiler for OSF1
1650 dnl ===================================================================
1651 if test "$_os" = "OSF1"; then
1652    if test "$CC" = "cc"; then
1653       AC_PATH_PROGS(_cc, cc)
1654       COMPATH=`echo $_cc | $SED -n "s/\/cc//p"`
1655       AC_MSG_WARN([******* $_cc , $COMPATH])
1656       AC_MSG_CHECKING([the Compaq C compiler version])
1657       dnl cc -V outputs to standard error!!!!
1658       _compaqc_version=`$CC -V 2>&1 | $AWK '{ print $3 }'`
1659       _compaqc_major=`echo $_compaqc_version | $AWK -F. '{ print $1 }'`
1660       if test "$_compaqc_major" != "T6"; then
1661          AC_MSG_ERROR([found version "$_compaqc_version", use version 6 of the Compaq C compiler])
1662       else
1663          dnl compiler will do
1664          AC_MSG_RESULT([checked])
1665       fi
1666    fi
1669 dnl ===================================================================
1670 dnl Check whether there's a Perl version available.
1671 dnl ===================================================================
1672 if test -z "$with_perl_home"; then
1673    AC_PATH_PROG(PERL, perl)
1674 else
1675    if test "$_os" = "WINNT"; then
1676       with_perl_home=`cygpath -u "$with_perl_home"`
1677    fi
1678    _perl_path="$with_perl_home/bin/perl"
1679    if test -x "$_perl_path"; then
1680       PERL=$_perl_path
1681    else
1682       AC_MSG_ERROR([$_perl_path not found])
1683    fi
1686 dnl ===================================================================
1687 dnl Testing for Perl version 5 or greater.
1688 dnl $] is the perl version variable, it is returned as an integer
1689 dnl ===================================================================
1690 if test "$PERL"; then
1691    AC_MSG_CHECKING([the Perl version])
1692    ${PERL} -e "exit($]);"
1693    _perl_version=$?
1694    if test "$_perl_version" -lt 5; then
1695       AC_MSG_ERROR([found Perl version "$_perl_version", use version 5 of Perl])
1696    fi 
1697    AC_MSG_RESULT([checked (perl $_perl_version)])
1698 else
1699    AC_MSG_ERROR([Perl not found, install version 5 of Perl])
1701 AC_SUBST(PERL)
1703 dnl ===================================================================
1704 dnl Testing for required Perl modules
1705 dnl ===================================================================
1706 AC_MSG_CHECKING([for required Perl modules])
1707 if `$PERL -e 'use Archive::Zip;'`; then
1708         AC_MSG_RESULT([all modules found])
1709 else
1710         AC_MSG_ERROR([Failed to find some modules])
1713 dnl ===================================================================
1714 dnl  Check which Microsoft C/C++ or MinGW compiler is used for WINNT
1715 dnl ===================================================================
1716 if test "$_os" = "WINNT"; then
1717         if test "$WITH_MINGWIN" != "yes"; then
1718                 AC_MSG_CHECKING([for friendly registry keys])
1719                 # VS.Net 2003, VS.Net 2005
1720                 if test -z "$with_cl_home"; then
1721                         vctest=`./oowintool --msvc-productdir`;
1722                         if test -x "$vctest/bin/cl.exe"; then
1723                                 with_cl_home=$vctest;
1724                         fi
1725                 else
1726                         with_cl_home=`cygpath -u "$with_cl_home"`
1727                 fi
1728                 AC_MSG_RESULT([done])
1730                 dnl ===========================================================
1731                 dnl  Check for mspdb71.dll/mspdb80.dll
1732                 dnl ===========================================================
1733                 dnl  .NET 2003/5/8 Compiler
1734                 if test -n "$with_mspdb_path";then
1735                         with_mspdb_path=`cygpath -u "$with_mspdb_path"`
1736                 fi
1737                 if test -e "$with_mspdb_path/mspdb71.dll" -o -e "$with_mspdb_path/mspdb80.dll"; then
1738                         MSPDB_PATH="$with_mspdb_path"
1739                 fi
1740                 dnl .NET 2003 case
1741                 if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb71.dll"; then
1742                         MSPDB_PATH="$with_cl_home/../Common7/IDE"
1743                 fi
1744                 dnl .NET 2005/2008 case
1745                 if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb80.dll"; then
1746                         MSPDB_PATH="$with_cl_home/../Common7/IDE"
1747                 fi
1748                 dnl Windows SDK 6.0 case
1749                 if test -z "$MSPDB_PATH" -a -e "$with_cl_home/bin/mspdb80.dll"; then
1750                         MSPDB_PATH="$with_cl_home/bin"
1751                 fi
1753                 if test -z "$MSPDB_PATH";then
1754                         dnl AC_PATH_PROG only checks if MSPDB_PATH is still empty
1755                         AC_PATH_PROG(MSPDB_PATH, mspdb80.dll)
1756                         AC_PATH_PROG(MSPDB_PATH, mspdb71.dll)
1757                         MSPDB_PATH=`dirname "$MSPDB_PATH"`
1758                 fi
1760                 if test -z "$MSPDB_PATH"; then
1761                         AC_MSG_ERROR([You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path])
1762                 fi
1763                 MSPDB_PATH=`cygpath -d "$MSPDB_PATH"`
1764                 MSPDB_PATH=`cygpath -u "$MSPDB_PATH"`
1765                 dnl The path needs to be added before cl is called
1766                 PATH="$MSPDB_PATH:$PATH"
1768                 AC_MSG_CHECKING([the Microsoft C/C++ Compiler])
1769                 if test -x "$with_cl_home/bin/cl.exe"; then
1770                         CC="$with_cl_home/bin/cl.exe"
1771                 else
1772                         AC_PATH_PROG(CC, cl.exe)
1773                 fi
1774                 if test -e "$CC"; then
1775                         # This gives us a posix path with 8.3 filename restrictions
1776                         CC=`cygpath -d "$CC"`
1777                         CC=`cygpath -u "$CC"`
1778                         # Remove /cl.exe from CC case insensitive
1779                         AC_MSG_RESULT([found ($CC)])
1780                         COMPATH=`echo $CC | $SED 's@/[[cC]][[lL]]\.[[eE]][[xX]][[eE]]@@'`
1781                         export INCLUDE=`cygpath -d "$COMPATH/../Include"`
1782                         dnl  Check which Microsoft C/C++ compiler is found
1783                         AC_MSG_CHECKING([the Version of Microsoft C/C++ Compiler])
1784 dnl      The following find microsoft, matches nn.nn.nnnn then pulls numbers out.         
1785                         CCNUMVER=`$CC 2>&1 | $AWK "/Microsoft/ && /..\\...\\...../ {
1786                                                         x = match( \\\$0, /..\\...\\...../ )
1787                                                         CCversion = substr( \\\$0, RSTART, RLENGTH)
1788                                                         tokencount = split (CCversion,vertoken,\".\")
1789                                                         for ( i = 1 ; i <= tokencount ; i++ ) {
1790                                                                 printf (\"%04d\",vertoken[[i]] )
1791                                                         }
1792                                                         }"`
1793                         AC_MSG_RESULT([found Compiler version $CCNUMVER.])
1794                         if test "$CCNUMVER" -ge "001500000000"; then
1795                                 COMEX=12
1796                                 MSVSVER=2008
1797                                 AC_MSG_RESULT([found .NET 2008 / VS 9.0.])
1798                         elif test "$CCNUMVER" -ge "001400000000"; then
1799                                 COMEX=11
1800                                 MSVSVER=2005
1801                                 AC_MSG_RESULT([found .NET 2005.])
1802                         elif test "$CCNUMVER" -ge "001300102240"; then
1803                                 COMEX=10
1804                                 MSVSVER=2003
1805                                 AC_MSG_RESULT([found .NET 2003.])
1806                         else
1807                                 AC_MSG_ERROR([Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler.])
1808                         fi
1809                 else
1810                         AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe.])
1811                 fi
1812         else
1813                 AC_MSG_CHECKING([the Mingwin32 C++ Compiler])
1814                 if test `$CC -dumpmachine | $SED -e 's/^.*-//'` = "mingw32"; then
1815                         AC_MSG_RESULT([found.])
1816                         if $CC -dumpspecs | grep -q "mno-cygwin"; then
1817                                 USE_MINGW="cygwin"
1818                         else
1819                                 USE_MINGW="pure-mingw"
1820                         fi
1821                 else
1822                         AC_MSG_ERROR([Mingwin32 C++ Compiler not found.])
1823                 fi
1824         fi
1826 AC_SUBST(COMEX)
1827 AC_SUBST(MSPDB_PATH)
1828 AC_SUBST(USE_MINGW)
1830 dnl ===================================================================
1831 dnl  .NET needs special treatment
1832 dnl ===================================================================
1833 if test "$COMEX" -ge "10"; then
1834         dnl Check midl.exe
1835         AC_PATH_PROG(MIDL_PATH, midl.exe)
1836         if test -n "$MIDL_PATH";then
1837                 MIDL_PATH=`dirname "$MIDL_PATH"`
1838         fi
1839         if test -n "$with_midl_path";then
1840                 with_midl_path=`cygpath -u "$with_midl_path"`
1841         fi
1842         if test -x "$with_midl_path/midl.exe"; then
1843                 MIDL_PATH="$with_midl_path"
1844         fi
1845         if test -z "$MIDL_PATH" -a -e "$with_cl_home/../Common7/Tools/Bin/midl.exe"; then
1846                 MIDL_PATH="$with_cl_home/../Common7/Tools/Bin"
1847         fi
1848         if test -z "$MIDL_PATH" ; then
1849       vstest=`./oowintool --msvs-productdir`;
1850       if test -x "$vstest/Common7/Tools/Bin/midl.exe" ; then
1851                   MIDL_PATH="$vstest/Common7/Tools/Bin"
1852       fi
1853         fi
1854         if test -z "$MIDL_PATH" ; then
1855                 psdktest=`./oowintool --psdk-home`
1856                 if test -x "$psdktest/Bin/midl.exe" ; then
1857                         MIDL_PATH="$psdktest/Bin"
1858                 fi
1859         fi
1860         if test ! -x "$MIDL_PATH/midl.exe"; then
1861                 AC_MSG_ERROR([midl.exe not found. Make sure it's in the path or use --with-midl-path])
1862         fi
1863         # Convert to posix path with 8.3 filename restrictions ( No spaces )
1864         MIDL_PATH=`cygpath -d "$MIDL_PATH"`
1865         MIDL_PATH=`cygpath -u "$MIDL_PATH"`
1867         dnl Check csc.exe
1868         AC_PATH_PROG(CSC_PATH, csc.exe)
1869         if test -n "$CSC_PATH";then
1870                 CSC_PATH=`dirname "$CSC_PATH"`
1871         fi
1872         if test -n "$with_csc_path";then
1873                 with_csc_path=`cygpath -u "$with_csc_path"`
1874         fi
1875         if test -x "$with_csc_path/csc.exe"; then
1876                 CSC_PATH="$with_csc_path"
1877         else
1878            csctest=`./oowintool --csc-compilerdir`;
1879            if test -x "$csctest/csc.exe"; then
1880               CSC_PATH="$csctest"
1881            fi
1882         fi
1883         if test ! -x "$CSC_PATH/csc.exe"; then
1884                 AC_MSG_ERROR([csc.exe not found. Make sure it's in the path or use --with-csc-path])
1885         fi
1886         # Convert to posix path with 8.3 filename restrictions ( No spaces )
1887         CSC_PATH=`cygpath -d "$CSC_PATH"`
1888         CSC_PATH=`cygpath -u "$CSC_PATH"`
1889         CSC="$CSC_PATH/csc.exe"
1890         AL="$CSC_PATH/al.exe"
1892     dnl Check mscoree.lib / .NET Frameworks dir
1893     dnl For VS2003/2005 $with_frame_home has to point to the directory with lib/mscoree.lib.
1894        AC_MSG_CHECKING(.NET Framework)
1895             if test -n "$with_frame_home"; then
1896                 with_frame_home=`cygpath -u "$with_frame_home"`
1897             fi
1898             if test -f "$with_frame_home/lib/mscoree.lib"; then
1899                     FRAME_HOME="$with_frame_home"
1900             fi
1901             if test -z "$FRAME_HOME" -a -e "$with_cl_home/../SDK/v1.1/lib/mscoree.lib"; then
1902                     FRAME_HOME="$with_cl_home/../SDK/v1.1"
1903             fi
1904             if test -z "$FRAME_HOME" ; then
1905           frametest=`./oowintool --dotnetsdk-dir`
1906           if test -f "$frametest/lib/mscoree.lib"; then
1907              FRAME_HOME="$frametest"
1908           else
1909              frametest=`./oowintool --psdk-home`
1910              if test -f "$frametest/lib/mscoree.lib"; then
1911                 FRAME_HOME="$frametest"
1912              fi
1913           fi
1914             fi
1915             if test ! -f "$FRAME_HOME/lib/mscoree.lib"; then
1916                 AC_MSG_ERROR([mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home])
1917             fi
1918             AC_MSG_RESULT(found)
1919         # Convert to posix path with 8.3 filename restrictions ( No spaces )
1920         FRAME_HOME=`cygpath -d "$FRAME_HOME"`
1921         FRAME_HOME=`cygpath -u "$FRAME_HOME"`
1923 AC_SUBST(MIDL_PATH)
1924 AC_SUBST(FRAME_HOME)
1926 if test "$_os" = "Linux"; then
1927         AC_MSG_CHECKING([whether to enable Mono bindings])
1928         CSC_PATH=
1929         CSC=
1930         ENABLE_MONO=NO
1931         if test "$enable_mono" != "no" ; then
1932                 AC_MSG_RESULT([yes])
1933                 if test "z$with_csc_path" != "z"; then
1934                         if test -x "$with_csc_path/mcs"; then
1935                                 CSC_PATH="$with_csc_path"
1936                         fi
1937                         if test -x "$with_csc_path/bin/mcs"; then
1938                                 CSC_PATH="$with_csc_path/bin"
1939                         fi
1940                 fi
1941                 if test "z$CSC_PATH" = "z"; then
1942                         AC_PATH_PROG(MCS, mcs)
1943                         test -z "$MCS" || CSC_PATH=`dirname $MCS`
1944                 fi
1945                 AL="$CSC_PATH/al"
1946                 if test -x "$MCS" -a -x "$AL"; then
1947                         MCS_VERSION=`$MCS --version | cut -d" " -f5`
1948                         if test "`echo $MCS_VERSION | cut -d"." -f1`" -gt "1" || \
1949                            test "`echo $MCS_VERSION | cut -d"." -f1`" = "1" -a \
1950                                 "`echo $MCS_VERSION | cut -d"." -f2`" -ge "2" || \
1951                            test "`echo $MCS_VERSION | cut -d"." -f1`" = "1" -a \
1952                                 "`echo $MCS_VERSION | cut -d"." -f2`" = "1" -a \
1953                                 "`echo $MCS_VERSION | cut -d"." -f3`" -ge "8"; then
1954                                 ENABLE_MONO=YES
1955                                 CSC=$MCS
1956                                 AC_PATH_PROG(GMCS, gmcs, no)
1957                                 AC_PATH_PROG(MKBUNDLE2, mkbundle2, no)
1958                                 GMCS_VERSION=`$GMCS --version | cut -d" " -f5`
1959                                 if test "`echo $GMCS_VERSION | cut -d"." -f1`" -gt "1" || \
1960                                    test "`echo $GMCS_VERSION | cut -d"." -f1`" = "1" -a \
1961                                         "`echo $GMCS_VERSION | cut -d"." -f2`" -ge "3" || \
1962                                    test "`echo $GMCS_VERSION | cut -d"." -f1`" = "1" -a \
1963                                         "`echo $GMCS_VERSION | cut -d"." -f2`" = "2" -a \
1964                                         "`echo $GMCS_VERSION | cut -d"." -f3`" -ge "3"; then
1965                                     # mkbundle2 does not work on ppc, http://bugzilla.ximian.com/show_bug.cgi?id=81525
1966                                     if test "`uname -m`" != "ppc" -a "`uname -m`" != "ppc64" ; then
1967                                         ENABLE_MONO_CLIMAKER=YES
1968                                         AC_MSG_NOTICE([mono is up-to-date enough - building mono climaker])
1969                                     fi
1970                                 fi
1971                         else
1972                                 if test -n "$enable_mono" ; then
1973                                         AC_MSG_ERROR([no, mcs >= 1.1.8 is needed.])
1974                                 fi
1975                         fi
1976                 else
1977                         if test -n "$enable_mono"; then
1978                                 AC_MSG_ERROR([mcs or al not found. Make sure they're in the path or use --with-csc-path])
1979                         fi
1980                 fi
1981                 PKG_CHECK_MODULES(MONO, mono >= 1.1.8)
1982         else
1983                 AC_MSG_RESULT([no])
1984         fi
1986 AC_SUBST(CSC_PATH)
1987 AC_SUBST(CSC)
1988 AC_SUBST(AL)
1989 AC_SUBST(ENABLE_MONO)
1990 AC_SUBST(MONO_CFLAGS)
1991 AC_SUBST(MONO_LIBS)
1992 AC_SUBST(ENABLE_MONO_CLIMAKER)
1994 dnl ===================================================================
1995 dnl Check if stdc headers are available excluding windows.
1996 dnl ===================================================================
1997 if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
1998    AC_HEADER_STDC
2001 dnl ===================================================================
2002 dnl Find pre-processors.
2003 dnl ===================================================================
2004 if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2005    AC_PROG_CXXCPP
2007 dnl Check whether there's a C pre-processor.
2008 dnl ===================================================================
2009 dnl When using SunStudio compiler, there is a bug with the cc
2010 dnl preprocessor, so use CC preprocessor as the cc preprocessor
2011 dnl See Issuezilla #445.
2012 dnl ===================================================================
2013    if test "$_os" = "SunOS"; then
2014       CPP=$CXXCPP
2015    else
2016       AC_PROG_CPP
2017    fi
2020 AC_CHECK_SIZEOF(long)
2021 SIZEOF_LONG=$ac_cv_sizeof_long
2022 AC_SUBST(SIZEOF_LONG)
2023 AC_C_BIGENDIAN
2024 WORDS_BIGENDIAN=$ac_cv_c_bigendian
2025 AC_SUBST(WORDS_BIGENDIAN)
2027 dnl Check for large file support
2028 AC_SYS_LARGEFILE
2029 if test -n "$ac_cv_sys_file_offset_bits"; then
2030    LFS_CFLAGS="-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
2032 if test -n "$ac_cv_sys_large_files" && test "$ac_cv_sys_large_files" != "no"; then
2033    LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES"
2035 AC_SUBST(LFS_CFLAGS)
2037 dnl ===================================================================
2038 dnl Check if we are to enable vba macro interoperability feature
2039 dnl ===================================================================
2040 AC_MSG_CHECKING([whether to disable vba feature])
2041 if test -n "$enable_vba" && test "$enable_vba" = "no"; then
2042    AC_MSG_RESULT([yes])
2043    ENABLE_VBA=NO
2044 else
2045    AC_MSG_RESULT([no])
2046    ENABLE_VBA=YES
2048 AC_SUBST(ENABLE_VBA)
2050 if test "$ENABLE_VBA" = "YES"; then
2051    AC_MSG_CHECKING([how to package the vba compatibility api])
2052    if test -n "$with_vba_package_format"; then
2053       if test "$with_vba_package_format" = "extn"; then
2054          VBA_EXTENSION=YES
2055          AC_MSG_RESULT([uno extension])
2056          AC_MSG_WARN([--with-vba-package-format=extn can cause problems])
2057       else if test "$with_vba_package_format" = "builtin"; then
2058             VBA_EXTENSION=NO
2059             AC_MSG_RESULT([build into installset])
2060          else
2061             AC_MSG_ERROR([unknown packaging method])
2062          fi
2063       fi
2065    else
2066       VBA_EXTENSION=NO
2067       AC_MSG_RESULT([defaulting to build into installset])
2068    fi
2069 else
2070       VBA_EXTENSION=NO
2072 AC_SUBST(VBA_EXTENSION)
2074 dnl ===================================================================
2075 dnl Check the whether vba need to be delivered as an uno package or part
2076 dnl of the install
2077 dnl ===================================================================
2080 dnl ===================================================================
2081 dnl Check if cups/cups.h is available 
2082 dnl ===================================================================
2083 if test "$test_cups" = "yes" -a "$ENABLE_CUPS" = "TRUE" ; then
2084     AC_CHECK_HEADER(cups/cups.h, [],
2085                     [AC_MSG_ERROR([cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?])], [])
2088 dnl ===================================================================
2089 dnl Check if PAM/pam_appl.h is available on Linux or FreeBSD
2090 dnl ===================================================================
2091 if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "GNU"; then
2092   AC_MSG_CHECKING([whether to enable pam support])
2093   if test -z "$enable_pam" || test "$enable_pam" != "no"; then
2094     AC_MSG_RESULT([yes])
2095     PAM=YES
2096     AC_CHECK_HEADER(security/pam_appl.h, [],
2097                     [AC_MSG_ERROR([pam_appl.h could not be found. libpam-dev or pam-devel missing?])], [])
2098     AC_MSG_CHECKING([whether to link to libpam])
2099     if test -n "$enable_pam_link" -a "$enable_pam_link" != "no"; then
2100       AC_MSG_RESULT([yes])
2101       PAM_LINK=YES
2102       AC_CHECK_LIB(pam, pam_start, [],
2103           [AC_MSG_ERROR(libpam not found or functional)], [])
2104     else
2105       AC_MSG_RESULT([no, dynamically open it])
2106       PAM_LINK=NO
2107     fi
2108   else
2109     AC_MSG_RESULT([no])
2110     PAM=NO
2111     PAM_LINK=NO
2112     dnl check getspnam_r for needed args (4 or 5)
2113     AX_FUNC_WHICH_GETSPNAM_R
2114   fi
2116 AC_SUBST(PAM)
2117 AC_SUBST(NEW_SHADOW_API)
2118 AC_SUBST(PAM_LINK)
2120 if test "$_os" = "Linux"; then
2121     AC_MSG_CHECKING([whether to link to libcrypt])
2122     if test -n "$enable_crypt_link" -a "$enable_crypt_link" != "no"; then
2123         AC_MSG_RESULT([yes])
2124         CRYPT_LINK=YES
2125         AC_CHECK_LIB(crypt, crypt, [],
2126             [AC_MSG_ERROR(libcrypt not found or functional)], [])
2127     else
2128         AC_MSG_RESULT([no, dynamically open it])
2129         CRYPT_LINK=NO
2130     fi
2132 AC_SUBST(CRYPT_LINK)
2134 dnl ===================================================================
2135 dnl Testing for c++ compiler and version...
2136 dnl ===================================================================
2137 if test -n "$with_gcc_home"; then
2138    if test -z "$CXX"; then
2139       CXX="$with_gcc_home/bin/g++"
2140    fi
2143 if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
2144    if test -e "$CC"; then
2145       CXX="$CC"
2146    fi
2149 dnl Autoconf 2.53 can do this test for cl.exe, 2.13 can't!
2150 if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2151    AC_PROG_CXX
2154 dnl check if we are using a buggy version of g++ (currently 3.4.0, 3.4.1 and trunk)
2155 if test "$GXX" = "yes"; then
2156    AC_MSG_CHECKING([the GNU C++ compiler version])
2158    _gpp_version=`$CXX -dumpversion`
2159    _gpp_major=`echo $_gpp_version | $AWK -F. '{ print \$1 }'`
2160    _gpp_minor=`echo $_gpp_version | $AWK -F. '{ print \$2 }'`
2161    
2162    AC_MSG_RESULT([checked (g++ $_gpp_version)])
2164    if test "$_gpp_major" = "3"; then
2165       if test "$_gpp_minor" = "4"; then
2166          AC_MSG_CHECKING([whether $CXX has the enum bug])
2167 AC_TRY_RUN([
2168 extern "C" void abort (void);
2169 extern "C" void exit (int status);
2171 enum E { E0, E1, E2, E3, E4, E5 };
2173 void
2174 test (enum E e)
2176   if (e == E2 || e == E3 || e == E1)
2177   exit (1);
2181 main (void)
2183   test (E4);
2184   test (E5);
2185   test (E0);
2186   return 0;
2188 ],[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])])
2189       fi
2190    fi
2193 dnl ===================================================================
2194 dnl Set the gcc/gxx include directories
2195 dnl ===================================================================
2196 # Removed the special FreeBSD treatment. The problem was that with_gxx_include_path
2197 # often contains an i386 which is expanded as a macro. Solved in stlport.
2198 if test "$GXX" = "yes"; then
2199    AC_MSG_CHECKING([for g++ include path])
2200    if test -z "$with_gxx_include_path"; then
2201       with_gxx_include_path=`echo "#include <cstring>" | $CXX -E -xc++ - | $SED -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
2202       if test "$with_gxx_include_path" = "/usr/libexec/(null)/include"; then
2203           with_gxx_include_path="/usr/include"
2204       fi
2205       if test "$WITH_MINGWIN" = "yes"; then
2206          with_gxx_include_path=`cygpath -d "$with_gxx_include_path"`
2207          with_gxx_include_path=`cygpath -u "$with_gxx_include_path"`
2208       fi
2209    fi
2211 dnl This is the original code...
2212 dnl with_gxx_include_path=`$CXX -print-search-dirs | grep instal |$AWK '{ print \$2 }'`/include 
2213 if test -z "$with_gxx_include_path"; then
2214    with_gxx_include_path="NO_GXX_INCLUDE"
2215    AC_MSG_RESULT([no g++ includes])
2216 else
2217    AC_MSG_RESULT([$with_gxx_include_path])
2219 GXX_INCLUDE_PATH="$with_gxx_include_path"
2220 AC_SUBST(GXX_INCLUDE_PATH)
2222 dnl ===================================================================
2223 dnl Set the mingw runtime library include directories
2224 dnl ===================================================================
2225 if test "$WITH_MINGWIN" = "yes"; then
2226    AC_MSG_CHECKING([for mingwin runtime include path])
2227    cat >conftest.$ac_ext <<_ACEOF
2228 #include <stddef.h>
2229 #include <bits/c++config.h>
2230 _ACEOF
2231    _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`
2232    rm conftest.$ac_ext
2233    if test -n "$_mingw_lib_include_path"; then
2234       _temp=""
2235       for a in $_mingw_lib_include_path
2236          do
2237             a=`cygpath -d "$a"`
2238             _temp="$_temp "`cygpath -u "$a"`
2239          done
2240       _mingw_lib_include_path=$_temp
2241    fi
2242    if test -z "$_mingw_lib_include_path"; then
2243       _mingw_lib_include_path="NO_LIB_INCLUDE"
2244       AC_MSG_RESULT([no mingwin runtime includes])
2245    else
2246       AC_MSG_RESULT([$_mingw_lib_include_path])
2247    fi
2248 MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path"
2249 AC_SUBST(MINGW_LIB_INCLUDE_PATH)
2252 dnl ===================================================================
2253 dnl Extra checking for the SUN OS compiler
2254 dnl ===================================================================
2255 if test "$_os" = "SunOS"; then
2256    dnl SunStudio C++ compiler packaged with SunStudio C compiler
2257    if test "$CC" = "cc"; then
2258    AC_MSG_CHECKING([SunStudio C++ Compiler])
2259       if test "$CXX" != "CC"; then
2260          AC_MSG_WARN([SunStudio C++ was not found])
2261          echo "SunStudio C++ was not found" >> warn
2262       else
2263          AC_MSG_RESULT([checked]) 
2264       fi
2265    fi 
2267 dnl ===================================================================
2268 dnl Extra checking for the DARWIN compiler
2269 dnl ===================================================================
2270 if test "$_os" = "Darwin"; then
2271    dnl c++ packaged with cc (gcc) for Macosx
2272    if test "$CC" = "cc"; then
2273       AC_MSG_CHECKING([Macosx c++ Compiler])
2274       if test "$CXX" != "c++"; then
2275          AC_MSG_WARN([Macosx C++ was not found])
2276          echo "Macosx C++ was not found" >> warn
2277       else
2278          AC_MSG_RESULT([checked]) 
2279       fi
2280    fi 
2281 fi 
2282 dnl ===================================================================
2283 dnl Extra checking for the IRIX compiler
2284 dnl ===================================================================
2285 if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then
2286    dnl MIPSpro C++ compiler packaged with MIPSpro C compiler
2287    if test "$CC" = "cc"; then
2288       AC_MSG_CHECKING([SGI MIPSpro C++ Compiler])
2289       if test "$CXX" != "CC"; then
2290          AC_MSG_WARN([SGI MIPSpro C++ was not found])
2291          echo "SGI MIPSpro C++ was not found" >> warn
2292       else
2293          AC_MSG_RESULT([checked])
2294       fi
2295    fi
2297 dnl ===================================================================
2298 dnl Extra checking for the OSF compiler
2299 dnl ===================================================================
2300 if test "$_os" = "OSF1"; then
2301    AC_MSG_CHECKING([Compaq C++ compiler version])
2302    dnl cxx -V outputs to standard error!!!!
2303    _compaqcxx_version=`$CXX -V 2>&1 | $AWK '{ print $3 }'`
2304    _compaqcxx_major=`echo $_compaqcxx_version | $AWK -F. '{ print $1 }'`
2305    if test "$_compaqcxx_major" != "V6"; then
2306       AC_MSG_WARN([found version "$_compaqc_version", use version 6 of the Compaq C++ compiler])
2307       echo "found version $_compaqc_version, use version 6 of the Compaq C++ compiler" >> warn
2308    else
2309       dnl compiler will do
2310       AC_MSG_RESULT([checked])
2311    fi
2314 dnl **************************************************************
2315 dnl Testing for required  Solaris and SunStudio compiler patches...
2316 dnl **************************************************************
2317 dnl Check whether the OS is SunOS.
2318 if test "$_os" = "SunOS"; then
2319    _temp=`showrev -p | $AWK -F" " '{ print $2 }'` 
2320    if test "$_os_release" = "7"; then
2321       dnl ***************
2322       dnl patch 106327-06
2323       dnl ***************
2324       AC_MSG_CHECKING([for patch 106327-06 or greater])
2325       _patch=`echo $_temp | $AWK '/106327-06/ { print "found" }'`
2326       _patch="false"
2327       for i in $_temp
2328       do
2329          _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'`
2330          if test "$_patch_major" = "106327"; then
2331             _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'`
2332             if test "$_patch_rev" -ge "6"; then
2333                _patch="found"
2334             fi
2335         fi
2336       done
2337       if test "$_patch" = "found"; then
2338          AC_MSG_RESULT([found])
2339       else
2340          AC_MSG_WARN([patch 106327-06 not found, please install compiler patch 106327-06 or greater])
2341          echo "patch 106327-06 not found, please install compiler patch 106327-06 or greater" >> warn
2342       fi
2343       dnl ***************
2344       dnl patch 106950-11
2345       dnl ***************
2346       AC_MSG_CHECKING([for patch 106950-11 or greater])
2347       _patch=`echo $_temp | $AWK '/106950-11/ { print "found" }'`
2348       _patch="false"
2349       for i in $_temp
2350       do
2351          _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'`
2352          if test "$_patch_major" = "106950"; then
2353             _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'`
2354             if test "$_patch_rev" -ge "11"; then
2355                _patch="found"
2356             fi
2357          fi
2358       done
2359       if test "$_patch" = "found"; then
2360          AC_MSG_RESULT([found])
2361       else
2362          AC_MSG_WARN([patch 106950-11 not found, please install linker patch 106950-11 or greater])
2363          echo "patch 106950-11 not found, please install linker patch 106950-11 or greater" >> warn
2364       fi
2365    else
2366       if test "$_os_release" = "6"; then
2367          dnl ***************
2368          dnl patch 105591-09
2369          dnl ***************
2370          AC_MSG_CHECKING([for patch 105591-09 or greater])
2371          _patch=`echo $_temp | $AWK '/105591-09/ { print "found" }'`
2372          _patch="false"
2373          for i in $_temp
2374          do
2375             _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'`
2376             if test "$_patch_major" = "105591"; then
2377                _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'`
2378                if test "$_patch_rev" -ge "9"; then
2379                   _patch="found"
2380                fi
2381            fi
2382          done
2383          if test "$_patch" = "found"; then
2384             AC_MSG_RESULT([found])
2385          else
2386             AC_MSG_WARN([patch 105591-09 not found, please install compiler patch 105591-09 or greater])
2387             echo "patch 105591-09 not found, please install compiler patch 105591-09 or greater" >> warn
2388          fi
2389          dnl ***************
2390          dnl patch 107733-08
2391          dnl ***************
2392          AC_MSG_CHECKING([for patch 107733-08 or greater])
2393          _patch=`echo $_temp | $AWK '/107733-08/ { print "found" }'`
2394          _patch="false"
2395          for i in $_temp
2396          do
2397             _patch_major=`echo $i | $AWK -F"-" '{ print $1 }'`
2398             if test "$_patch_major" = "107733"; then
2399                _patch_rev=`echo $i | $AWK -F"-" '{ print $2 }'`
2400                if test "$_patch_rev" -ge "8"; then
2401                   _patch="found"
2402                fi
2403            fi
2404          done
2405          if test "$_patch" = "found"; then
2406             AC_MSG_RESULT([found])
2407          else
2408             AC_MSG_WARN([patch 107733-06 not found, please install linker patch 107733-08 or greater])
2409             echo "patch 107733-06 not found, please install linker patch 107733-08 or greater" >> warn
2410          fi
2411       fi
2412    fi
2415 dnl ===================================================================
2416 dnl Checks for SGI STL
2417 dnl ===================================================================
2418 if test -n "$enable_sgistl" && "$enable_sgistl" != "no"; then
2419         if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then
2420                 AC_MSG_CHECKING([for SGI STL])
2421                 if test -d /usr/include/CC ; then
2422                         AC_MSG_RESULT([yes.])
2424                 else
2425                         AC_MSG_RESULT([not found.])
2426                 fi
2427         else
2428                 AC_MSG_ERROR([Option --enable-sgistl is only valid for IRIX])
2429         fi
2430 else
2432 dnl ===================================================================
2433 dnl Checks for what the default STL should be
2434 dnl ===================================================================
2435    AC_MSG_CHECKING([what the default STL should be])
2436    DEFAULT_TO_STLPORT="no"
2437    if test "$_os" = "Linux"; then
2438      case "$build_cpu" in
2439        i?86)
2440          DEFAULT_TO_STLPORT="yes"
2441          ;;
2442        *)
2443          DEFAULT_TO_STLPORT="no"
2444          ;;
2445      esac
2446    elif test "$_os" = "SunOS"; then
2447       DEFAULT_TO_STLPORT="yes"
2448    elif test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
2449       DEFAULT_TO_STLPORT="yes"
2450    elif test "$_os" = "OS2"; then
2451       DEFAULT_TO_STLPORT="yes" 
2452    elif test "$_os" = "FreeBSD"; then
2453       DEFAULT_TO_STLPORT="yes"
2454    fi
2455    if test "$DEFAULT_TO_STLPORT" = "yes"; then
2456       AC_MSG_RESULT([stlport])
2457    else
2458       AC_MSG_RESULT([system])
2459    fi
2460    if test "$WITH_STLPORT" = "auto"; then
2461       WITH_STLPORT=$DEFAULT_TO_STLPORT
2462    fi
2464 dnl ===================================================================
2465 dnl Checks for STLPORT
2466 dnl ===================================================================
2467    AC_MSG_CHECKING([for STL providing headers])
2468    STLPORT4=""
2469    USE_SYSTEM_STL=""
2470    if test "$WITH_STLPORT" = "yes"; then
2471       AC_MSG_RESULT([using internal stlport.])
2472       if test "$DEFAULT_TO_STLPORT" != "yes"; then
2473          AC_MSG_WARN([using stlport. Warning, breaks your ABI compatability!])
2474          echo "using stlport. Warning, breaks your ABI compatability!" >>warn
2475       fi
2476    elif test "$WITH_STLPORT" = "no"; then
2477       AC_MSG_RESULT([using system STL])
2478       USE_SYSTEM_STL="YES"
2479       if test "$DEFAULT_TO_STLPORT" != "no"; then
2480          AC_MSG_WARN([using system STL. Warning, breaks your ABI compatability!])
2481          echo "using system STL. Warning, breaks your ABI compatability!" >>warn
2482       fi
2483    else
2484       STLPORT4=$WITH_STLPORT
2485       if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2486          AC_TRY_CPP($STLPORT4/stlport/hash_map, AC_MSG_RESULT([checked.]), AC_MSG_ERROR([STLport headers not found.]))
2487       else
2488          dnl AC_TRY_CPP doesn't work for MSVC because C++ preprocessor is not found by autoconf.
2489          if test -f "$STLPORT4/stlport/hash_map"; then
2490             AC_MSG_RESULT([checked.])
2491          else
2492             AC_MSG_ERROR([STLport headers not found.])
2493          fi
2494       fi
2495       if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2496          AC_MSG_CHECKING([for STLport libraries])
2497          if test "$_os" = "SunOS"; then
2498                       if test -f "$STLPORT4/lib/libstlport_sunpro.so"; then
2499                               AC_MSG_RESULT([checked])
2500                       elif test -f "$STLPORT4/lib/libstlport.so"; then
2501                               AC_MSG_RESULT([checked])
2502                               STLPORT_VER=500
2503                       else
2504                               AC_MSG_ERROR([STLport libraries not found])
2505                       fi
2506               elif test "$_os" = "Darwin"; then
2507                       if test -f "$STLPORT4/lib/libstlport_gcc.dylib"; then
2508                               AC_MSG_RESULT([checked])
2509                       elif test -f "$STLPORT4/lib/libstlport.dylib"; then
2510                               AC_MSG_RESULT([checked])
2511                               STLPORT_VER=500
2512                       else
2513                               AC_MSG_ERROR([STLport libraries not found])
2514                       fi
2515               elif test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then
2516                       if test -f "$STLPORT4/lib/libstlport_mipspro_41.so"; then
2517                               AC_MSG_RESULT([checked])
2518                            else
2519                                    if test -f "$STLPORT4/lib/libstlport_gcc.so"; then
2520                                            AC_MSG_RESULT([checked])
2521                                    elif test -f "$STLPORT4/lib/libstlport.so"; then
2522                                            AC_MSG_RESULT([checked])
2523                                            STLPORT_VER=500
2524                                    else
2525                                            AC_MSG_ERROR([STLport libraries not found])
2526                                    fi
2527                            fi
2528                    else
2529                            if test -f "$STLPORT4/lib/libstlport_gcc.so"; then
2530                                    AC_MSG_RESULT([checked])
2531                            elif test -f "$STLPORT4/lib/libstlport.so"; then
2532                                    AC_MSG_RESULT([checked])
2533                                    STLPORT_VER=500
2534                            else
2535                                    AC_MSG_ERROR([STLport libraries not found])
2536                            fi
2537                    fi
2538            fi
2539       if test "$DEFAULT_TO_STLPORT" != "yes"; then
2540          AC_MSG_WARN([using stlport. Warning, breaks your ABI compatability!])
2541          echo "using stlport. Warning, breaks your ABI compatability!" >>warn
2542       fi
2543    fi
2546 if test -z "$STLPORT4"; then
2547   STLPORT4="NO_STLPORT4"
2549 if test -z "$STLPORT_VER"; then
2550   STLPORT_VER=400
2552 AC_SUBST(STLPORT4)
2553 AC_SUBST(STLPORT_VER)
2554 AC_SUBST(USE_SYSTEM_STL)
2556 dnl ===================================================================
2557 dnl visibility feature
2558 dnl ===================================================================
2559 if test "$GCC" = "yes"; then
2560    AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
2561    save_CFLAGS=$CFLAGS
2562    CFLAGS="$CFLAGS -fvisibility=hidden"
2563    AC_TRY_LINK([], [ return 0; ], [ HAVE_GCC_VISIBILITY_FEATURE=TRUE ], [])
2564    CFLAGS=$save_CFLAGS
2565    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2566       AC_MSG_RESULT([yes])
2567    else
2568       AC_MSG_RESULT([no])
2569    fi
2572 dnl ===================================================================
2573 dnl system stl sanity tests
2574 dnl ===================================================================
2575 HAVE_GCC_VISIBILITY_BROKEN=
2576 if test "$USE_SYSTEM_STL" = "YES"; then
2577    AC_MSG_CHECKING([if hash_map will be in __gnu_cxx namespace])
2578    AC_LANG_PUSH([C++])
2580    AC_TRY_COMPILE([#include <ext/hash_map>
2581 using namespace __gnu_cxx;
2582 ],[hash_map<int, int> t; return 0;],
2583   ac_cv_cxx_have_ext_hash_map=yes, ac_cv_cxx_have_ext_hash_map=no)
2585    if test "$ac_cv_cxx_have_ext_hash_map" = "no"; then
2586       AC_MSG_ERROR([Can't find hash_map. Try with --with-stlport])
2587    else
2588       AC_MSG_RESULT([$ac_cv_cxx_have_ext_hash_map])
2589    fi
2591    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2592       AC_MSG_CHECKING([if STL headers are visibility safe])
2593       AC_EGREP_HEADER(visibility push, string, stlvisok=yes, stlvisok=no)
2594       AC_MSG_RESULT([$stlvisok])
2595       if test "$stlvisok" = "no"; then
2596          AC_MSG_WARN([Your gcc STL headers are not visibility safe. Disabling visibility])
2597          echo "Your gcc STL headers are not visibility safe. Disabling visibility" >> warn
2598          unset HAVE_GCC_VISIBILITY_FEATURE
2599       fi
2600    fi
2602    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2603       sharedlink_ldflags_save=$LDFLAGS
2604       LDFLAGS="$LDFLAGS -fvisibility-inlines-hidden -fpic -shared"
2606       AC_MSG_CHECKING([if gcc is -fvisibility-inlines-hidden safe with STL headers])
2607       AC_TRY_LINK([#include <sstream>
2608 using namespace std;
2609 ],[istringstream strm( "test" ); return 0;],
2610       $EGREP -q  unresolvable conftest.err;
2611       if test $? -eq 0; then gccvisok=no; else gccvisok=yes; fi, 
2612       gccvisok=no)
2613       AC_MSG_RESULT([$gccvisok])
2614       if test "$gccvisok" = "no"; then
2615          AC_MSG_WARN([Your gcc is not -fvisibility-inlines-hidden safe, disabling that.])
2616          echo "Your gcc is not -fvisibility-inlines-hidden safe, disabling that." >> warn
2617          HAVE_GCC_VISIBILITY_BROKEN="TRUE"
2618       fi
2620       LDFLAGS=$sharedlink_ldflags_save
2621    fi
2623    if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2624       AC_MSG_CHECKING([if gcc has a visibility bug with class-level attributes (GCC bug 26905)])
2625       cat >visibility.cxx <<_ACEOF
2626 #pragma GCC visibility push(hidden)
2627 struct __attribute__ ((visibility ("default"))) TestStruct {
2628   static void Init();
2630 __attribute__ ((visibility ("default"))) void TestFunc() {
2631   TestStruct::Init();
2633 _ACEOF
2634       if ! $CXX $CXXFLAGS $CPPFLAGS -fpic -S visibility.cxx 2>/dev/null > /dev/null; then
2635          gccvisbroken=yes
2636       else
2637          if $EGREP -q '@PLT|\$stub' visibility.s; then
2638              gccvisbroken=no;
2639          else 
2640              gccvisbroken=yes; 
2641          fi
2642       fi
2643       rm -f visibility.s
2645       AC_MSG_RESULT([$gccvisbroken])
2646       if test "$gccvisbroken" = "yes"; then
2647          AC_MSG_WARN([Your gcc is not -fvisibility=hidden safe. Disabling visibility])
2648          echo "Your gcc is not -fvisibility=hidden safe. Disabling visibility" >> warn
2649          unset HAVE_GCC_VISIBILITY_FEATURE
2650       fi
2651    fi
2653    AC_LANG_POP([C++])
2656 AC_SUBST(HAVE_GCC_VISIBILITY_FEATURE)
2657 AC_SUBST(HAVE_GCC_VISIBILITY_BROKEN)
2659 dnl ===================================================================
2660 dnl allocator
2661 dnl ===================================================================
2662 AC_MSG_CHECKING([which memory allocator to use])
2663 if test "$with_alloc" = "system"; then
2664     AC_MSG_RESULT([system])
2665     ALLOC="SYS_ALLOC";
2666     AC_CHECK_FUNCS([malloc realloc calloc free])
2668 if test "$with_alloc" = "tcmalloc"; then
2669     AC_MSG_RESULT(tcmalloc)
2670     if ! echo $build_cpu | grep -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
2671         AC_MSG_ERROR([tcmalloc only available/usable on ix86])
2672     fi
2673     AC_CHECK_LIB(tcmalloc, malloc, [],
2674         [AC_MSG_ERROR(tcmalloc not found or functional. Install the Google Profiling Tools)], [])
2675     ALLOC="TCMALLOC";
2677 if test "$with_alloc" = "internal" -o -z "$with_alloc"; then
2678    AC_MSG_RESULT([internal])
2680 AC_SUBST(ALLOC)
2682 dnl ===================================================================
2683 dnl Custom build version
2684 dnl ===================================================================
2686 AC_MSG_CHECKING([whether to add custom build version])
2687 if test "z$with_build_version" != "z"; then
2688    BUILD_VER_STRING=$with_build_version
2689    AC_MSG_RESULT([yes, $BUILD_VER_STRING])
2690 else
2691    BUILD_VER_STRING=
2692    AC_MSG_RESULT([no])
2694 AC_SUBST(BUILD_VER_STRING)
2696 dnl ===================================================================
2697 dnl Java support enable
2698 dnl ===================================================================
2699 AC_MSG_CHECKING([whether to build with Java support])
2700 if test "$WITH_JAVA" != "no"; then
2701    AC_MSG_RESULT([yes])
2702    SOLAR_JAVA="TRUE"
2703 else
2704    AC_MSG_RESULT([no])
2705    SOLAR_JAVA=""
2707    AC_MSG_WARN([building without java will mean some features will not be available])
2708    echo "building without java will mean some features will not be available" >>warn
2710 AC_SUBST(SOLAR_JAVA)
2712 if test "$_os" = "Linux" && test "$build_cpu" = "powerpc"; then
2713    # IBMs JDK needs this...
2714    JITC_PROCESSOR_TYPE=6
2715    export JITC_PROCESSOR_TYPE
2718 if test "$_os" = "WINNT"; then
2719    if test -z "$with_jdk_home"; then
2720       _jdk_home=`./oowintool --jdk-home`
2721        if test -d "$_jdk_home"; then
2722           with_jdk_home="$_jdk_home"
2723        fi
2724    else
2725       with_jdk_home=`cygpath -u "$with_jdk_home"`
2726    fi
2729 dnl ===================================================================
2730 dnl Checks for java
2731 dnl ===================================================================
2732 if test "$SOLAR_JAVA" != ""; then
2733    JAVA_HOME=; export JAVA_HOME
2734    if test -z "$with_jdk_home"; then
2735       AC_PATH_PROG(JAVAINTERPRETER, $WITH_JAVA)
2736    else
2737       _java_path="$with_jdk_home/bin/$WITH_JAVA"
2738       dnl Check if there is a java interpreter at all.
2739       if test -x "$_java_path"; then
2740          JAVAINTERPRETER=$_java_path
2741       else
2742          AC_MSG_ERROR([$_java_path not found set with_jdk_home])
2743       fi
2744    fi
2745    if test "$_os" = "WINNT"; then
2746       if test x`echo "$JAVAINTERPRETER" | grep -i '\.exe$'` = x; then
2747           JAVAINTERPRETER="${JAVAINTERPRETER}.exe"
2748       fi
2749       JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"`
2750       JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"`
2751    fi
2754 dnl ===================================================================
2755 dnl Checks for JDK.
2756 dnl ===================================================================
2757 if test "$SOLAR_JAVA" != ""; then
2758    _gij_longver=0
2759    AC_MSG_CHECKING([the installed JDK])
2760    if test -n "$JAVAINTERPRETER"; then
2761       dnl java -version sends output to stderr!
2762       if test `$JAVAINTERPRETER -version 2>&1 | grep -c "Kaffe"` -gt 0; then
2763          AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.in])
2764 #        dnl Kaffe specific tests
2765 #        KAFFE_VER=`$JAVAINTERPRETER -version 2>&1 | $EGREP "  Version:" | $SED -r "s/.*  Version: ([[0-9\.]]*).*/\1/"`
2766 #        if test -z "$KAFFE_VER"; then
2767 #          AC_MSG_ERROR([looks like Kaffe but version detection failed])
2768 #        fi
2769 #        _kaffe_ver=`echo "$KAFFE_VER" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
2770 #        if test "$_kaffe_ver" -lt 10100; then
2771 #           AC_MSG_ERROR([Kaffe is too old ($KAFFE_VER - $_kaffe_ver), you need at least 1.1.0])
2772 #        fi
2773 #        JDK=kaffe
2774 #        
2775 #        dnl TODO: define some project exclusion variables
2776 #        
2777 #        AC_MSG_RESULT([checked (Kaffe $KAFFE_VER)])
2778 #        AC_MSG_WARN([EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile])
2779 #        echo "EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile" >>warn
2780 #        JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
2781       elif test `$JAVAINTERPRETER --version 2>&1 | grep -c "GNU libgcj"` -gt 0; then
2782         JDK=gcj
2783         AC_MSG_RESULT([checked (gcj)]) 
2784         _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
2785         _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
2787       elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | grep -c "BEA"` -gt 0; then
2788          AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.in])
2789 #        JDK=bea
2791 #        dnl BEA JDK specific tests
2792 #        _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
2793 #        _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
2795 #        if test "$_jdk_ver" -lt 10500; then
2796 #          AC_MSG_ERROR([JDK is too old, you need at least BEA JDK 1.5.0])
2797 #        fi
2799 #        AC_MSG_RESULT([checked (BEA JDK $_jdk)])
2801 #        if test "$with_jdk_home" = ""; then
2802 #             AC_MSG_ERROR([In order to successfully build OpenOffice.org using the BEA JDK,
2803 #you must use the "--with-jdk-home" configure option explicitly])
2804 #        fi
2806 #        AC_MSG_WARN([A bug in certain BEA JREs can prevent you from successfully compiling some modules])
2807 #        echo "A bug in certain BEA JREs can prevent you from successfully compiling some modules" >>warn
2809 #        JAVA_HOME=$with_jdk_home
2811       elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | grep -c "IBM"` -gt 0; then
2812         JDK=ibm
2814         dnl IBM 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;}'`
2817    
2818         if test "$_jdk_ver" -lt 10600; then
2819              AC_MSG_ERROR([IBM JDK is too old, you need at least 1.6])
2820         fi
2822         AC_MSG_RESULT([checked (IBM JDK $_jdk)])
2824         if test "$with_jdk_home" = ""; then
2825              AC_MSG_ERROR([In order to successfully build OpenOffice.org using the IBM JDK,
2826 you must use the "--with-jdk-home" configure option explicitly])
2827         fi
2829         JAVA_HOME=$with_jdk_home
2830         
2831       else      
2832         JDK=sun
2834         dnl SUN JDK specific tests
2835         _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
2836         _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
2837    
2838         if test "$_jdk_ver" -lt 10500; then
2839              AC_MSG_ERROR([JDK is too old, you need at least 1.5])
2840         fi
2841         AC_MSG_RESULT([checked (JDK $_jdk)])
2842         JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
2843         if test "$_os" = "WINNT"; then
2844           JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
2845         fi
2846         if test "$_os" = "OS2"; then
2847           JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
2848         fi
2849       fi
2850    else
2851       AC_MSG_ERROR([JAVA not found. You need at least jdk-1.5, or gcj-4])
2852    fi
2853 else
2854    dnl Java disabled
2855    JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME
2858 _java_target_ver="1.5"
2859 dnl ===================================================================
2860 dnl Check for target java bytecode version
2861 dnl ===================================================================
2862 if test "$SOLAR_JAVA" != ""; then
2863     AC_MSG_CHECKING([for target java bytecode version])
2864     if test "$JDK" = "gcj" -o "$JDK" = "kaffe"; then
2865         AC_MSG_RESULT([default by $JDK])
2866         if test -n "$with_java_target_version" -a "$with_java_target_version" != "no" ; then
2867             AC_MSG_WARN([Value defined by --with-java-target-version is ignored!])
2868         fi
2869     else
2870         if test -n "$with_java_target_version" -a "$with_java_target_version" != "no" ; then
2871             _java_target_ver="$with_java_target_version"
2872             AC_MSG_RESULT([$_java_target_ver])
2873         elif test $_jdk_ver -gt 10000 ; then
2874             _java_target_ver=`echo "$_jdk_ver" | $AWK '{ maj=substr($0,1,1); min=substr($0,2,2); print int(maj)"."int(min) }'`
2875             AC_MSG_RESULT([$_java_target_ver])
2876         else
2877             AC_MSG_ERROR([Unable to guess java bytecode version from java version!])
2878         fi
2879     fi
2881     if ! test -z "$_java_target_ver" -o \
2882             "$_java_target_ver" = "1.1" -o \
2883             "$_java_target_ver" = "1.2" -o \
2884             "$_java_target_ver" = "1.3" -o \
2885             "$_java_target_ver" = "1.4" -o \
2886             "$_java_target_ver" = "1.5" -o \
2887             "$_java_target_ver" = "1.6" -o \
2888             "$_java_target_ver" = "5" ; then
2889         AC_MSG_ERROR([$_java_target_ver is not supported java bytecode version!])
2890     fi
2892     JAVA_SOURCE_VER="$_java_target_ver"
2893     JAVA_TARGET_VER="$_java_target_ver"
2896 dnl ===================================================================
2897 dnl Checks for javac
2898 dnl ===================================================================
2899 if test "$SOLAR_JAVA" != ""; then
2900     if test "$JDK" = "gcj"; then 
2901         javacompiler=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g" | $SED -e "s/java/javac/g"`
2902     else
2903         javacompiler="javac"
2904     fi
2905     if test "$_os" = "OS2"; then
2906       if test x`echo "$javacompiler" | grep -i '\.exe$'` = x; then
2907           javacompiler="${javacompiler}.exe"
2908       fi
2909     fi
2910     if test -z "$with_jdk_home"; then
2911         AC_PATH_PROG(JAVACOMPILER, $javacompiler)
2912     else
2913         _javac_path="$with_jdk_home/bin/$javacompiler"
2914         dnl Check if there is a java compiler at all.
2915         if test -x "$_javac_path"; then
2916             JAVACOMPILER=$_javac_path
2917         fi
2918     fi
2919     if test -z "$JAVACOMPILER"; then
2920       AC_MSG_ERROR([$javacompiler not found set with_jdk_home])
2921     fi
2922     if test "$_os" = "WINNT"; then
2923        if test x`echo "$JAVACOMPILER" | grep -i '\.exe$'` = x; then
2924           JAVACOMPILER="${JAVACOMPILER}.exe"
2925        fi
2926        JAVACOMPILER=`cygpath -d "$JAVACOMPILER"`
2927        JAVACOMPILER=`cygpath -u "$JAVACOMPILER"`
2928     fi
2929     if test "$_os" = "OS2"; then
2930        if test x`echo "$JAVACOMPILER" | grep -i '\.exe$'` = x; then
2931           JAVACOMPILER="${JAVACOMPILER}.exe"
2932        fi
2933     fi
2935     if test `$JAVACOMPILER -version 2>&1 | grep -c "Eclipse Java Compiler"` -gt 0; then
2936         AC_MSG_CHECKING([re-checking JDK])
2937         JDK=gcj
2938         AC_MSG_RESULT([checked (ecj)])
2939         #TODO: what's to do here? some switch to do 1.5 compiling?
2940         JAVAFLAGS="-source 1.5 -target 1.5"
2941         _gij_longver="50000"
2942     fi
2945 JAVACISGCJ=""
2946 dnl ===================================================================
2947 dnl Checks that javac is gcj
2948 dnl ===================================================================
2949 if test "$SOLAR_JAVA" != ""; then
2950     if test `$JAVACOMPILER --version 2>&1 | grep -c "GCC"` -gt 0; then
2951         JAVACISGCJ="yes"
2952     fi
2954 AC_SUBST(JAVACISGCJ)
2956 JAVACISKAFFE=""
2957 dnl ===================================================================
2958 dnl Checks that javac is kaffe
2959 dnl ===================================================================
2960 if test "$SOLAR_JAVA" != ""; then
2961     if test `$JAVACOMPILER -version 2>&1 | grep -c "Kaffe"` -gt 0; then
2962         JAVACISKAFFE="yes"
2963     fi
2965 AC_SUBST(JAVACISKAFFE)
2967 dnl ===================================================================
2968 dnl Checks for javadoc
2969 dnl ===================================================================
2970 if test "$SOLAR_JAVA" != ""; then
2971     if test -z "$with_jdk_home"; then
2972         AC_PATH_PROG(JAVADOC, javadoc)
2973     else
2974         _javadoc_path="$with_jdk_home/bin/javadoc"
2975         if test "$_os" = "OS2"; then
2976           if test x`echo "$_javadoc_path" | grep -i '\.exe$'` = x; then
2977               _javadoc_path="${_javadoc_path}.exe"
2978           fi
2979         fi
2980         dnl Check if there is a javadoc at all.
2981         if test -x "$_javadoc_path"; then
2982             JAVADOC=$_javadoc_path
2983         else
2984             AC_PATH_PROG(JAVADOC, javadoc)
2985         fi
2986     fi
2987     if test -z "$JAVADOC"; then
2988       AC_MSG_ERROR([$_javadoc_path not found set with_jdk_home])
2989     fi
2990     if test "$_os" = "WINNT"; then
2991         if test x`echo "$JAVADOC" | grep -i '\.exe$'` = x; then
2992             JAVADOC="${JAVADOC}.exe"
2993         fi
2994         JAVADOC=`cygpath -d "$JAVADOC"`
2995         JAVADOC=`cygpath -u "$JAVADOC"`
2996     fi
2997     if test "$_os" = "OS2"; then
2998         if test x`echo "$JAVADOC" | grep -i '\.exe$'` = x; then
2999             JAVADOC="${JAVADOC}.exe"
3000         fi
3001     fi
3004 if test "$SOLAR_JAVA" != ""; then
3005     dnl first check if we have been asked to autodetect JAVA_HOME with a recent gij
3006     if test "$JDK" == "gcj" -a -z "$JAVA_HOME"; then
3007       if test "x$with_jdk_home" = "x" -a "$_gij_longver" -ge "50000"; then
3008         cat > findhome.java <<_ACEOF
3009 [import java.io.File;
3011 class findhome
3013     public static void main(String args[])
3014     {
3015         String jrelocation = System.getProperty("java.home");
3016         File jre = new File(jrelocation);
3017         System.out.println(jre.getParent());
3018     }
3020 _ACEOF
3021         AC_MSG_CHECKING([if javac works])
3022         javac_cmd="$JAVACOMPILER findhome.java 1>&2"
3023         AC_TRY_EVAL(javac_cmd)
3024         if test $? = 0 && test -f ./findhome.class ; then
3025           AC_MSG_RESULT([javac works])
3026         else
3027           echo "configure: javac test failed" >&5
3028           cat findhome.java >&5
3029           AC_MSG_ERROR([javac does not work - java projects will not build!])
3030         fi
3032         AC_MSG_CHECKING([if gij knows its java.home])
3033         JAVA_HOME=`$JAVAINTERPRETER findhome`
3034         if test $? = 0 && test "$JAVA_HOME" != "" ; then
3035           AC_MSG_RESULT([$JAVA_HOME])
3036         else
3037           echo "configure: java test failed" >&5
3038           cat findhome.java >&5
3039           AC_MSG_ERROR([gij does not know its java.home - use --with-jdk-home])
3040         fi
3041       else
3042         JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*$WITH_JAVA,,p"`
3043       fi
3044     fi
3046     dnl second sanity check JAVA_HOME if possible
3047     if test "$JDK" != "gcj" -o "$_gij_longver" -ge "50000"; then
3048       # check if JAVA_HOME was (maybe incorrectly?) set automatically to /usr
3049       if test "$JAVA_HOME" = "/usr" -a "x$with_jdk_home" = "x"; then
3051          if basename $(readlink $(readlink $JAVACOMPILER)) >/dev/null 2>/dev/null; then
3052           # try to recover first by looking whether we have a alternatives 
3053           # system as in Debian or newer SuSEs where following /usr/bin/javac
3054           # over /etc/alternatives/javac leads to the right bindir where we
3055           # just need to strip a bit away to get a valid JAVA_HOME
3056             JAVA_HOME=$(readlink $(readlink $JAVACOMPILER))
3057          elif readlink $JAVACOMPILER >/dev/null 2>/dev/null; then
3058             # maybe only one level of symlink (e.g. on Mac)
3059             JAVA_HOME=$(readlink $JAVACOMPILER)
3060          else
3061           # else warn
3062           AC_MSG_WARN([JAVA_HOME is set to /usr - this is very likely to be incorrect])
3063           AC_MSG_WARN([if this is the case, please inform the correct JAVA_HOME with --with-jdk-home])
3064           echo "JAVA_HOME is set to /usr - this is very likely to be incorrect" >> warn
3065           echo "if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >> warn
3066           fi
3067          dnl now that we have the path to the real javac, make a JAVA_HOME out of it..
3068          if test "$JAVA_HOME" != "/usr"; then
3069             if test "$_os" = "Darwin"; then
3070                dnl Leopard returns a non-suitable path with readlink - points to "Current" only
3071                JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/Current/Commands/javac$,/CurrentJDK/Home,)
3072                dnl Tiger already returns a JDK path..
3073                JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/CurrentJDK/Commands/javac$,/CurrentJDK/Home,)
3074             else
3075                JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/bin/javac$,,)
3076             fi
3077          fi
3078       fi
3079       # now check if $JAVA_HOME is really valid
3080       if test "$_os" = "Darwin"; then
3081          if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then
3082             JAVA_HOME_OK="NO"
3083          fi
3084       elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then
3085          JAVA_HOME_OK="NO"
3086       fi
3087       if test "$JAVA_HOME_OK" = "NO"; then
3088          AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script])
3089          AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed])
3090          AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly])
3091          echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn
3092          echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn
3093          echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn
3094 #         if test "$JDK" == "gcj"; then
3095 #             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
3096 #         fi
3097       fi
3098     fi
3101 AWTLIB=
3102 if test "$SOLAR_JAVA" != ""; then
3103    AC_MSG_CHECKING([for jawt lib name])
3104    if test "$JDK" = "gcj"; then 
3105       save_CFLAGS=$CFLAGS
3106       save_LDFLAGS=$LDFLAGS
3107       CFLAGS="$CFLAGS -I$JAVA_HOME/include"
3108       LDFLAGS="$LDFLAGS -L$JAVA_HOME/lib -lgcj"
3109       exec 6>/dev/null # no output
3110       AC_CHECK_HEADER(jni.h, [],
3111                     [AC_MSG_ERROR([jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?])], [])
3112       AC_CHECK_LIB(gcjawt, JAWT_GetAWT, [ AWTLIB="-lgcjawt -lgcj"] )
3113       exec 6>&1 # output on again
3114       CFLAGS=$save_CFLAGS
3115       LDFLAGS=$save_LDFLAGS
3116    fi
3117    # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols.
3118    # A workaround is to link also against libpmawt.so
3119    if test "$JDK" = "ibm" ; then
3120       save_CFLAGS=$CFLAGS
3121       save_LDFLAGS=$LDFLAGS
3122       save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
3123       CFLAGS="$CFLAGS -I$JAVA_HOME/include"
3124       LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin"
3125       LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH
3126       export LD_LIBRARY_PATH
3127       exec 6>/dev/null # no output
3128       AC_CHECK_HEADER(jni.h, [],
3129                     [AC_MSG_ERROR([jni.h could not be found.])], [])
3130       AC_CHECK_LIB(jawt, JAWT_GetAWT, [ AWTLIB="-ljawt"] )
3131       if test -z "$AWTLIB"; then
3132          LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt"
3133          AC_CHECK_LIB(mawt, JAWT_GetAWT, [ AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt"])
3134       fi
3135       exec 6>&1 # output on again
3136       CFLAGS=$save_CFLAGS
3137       LDFLAGS=$save_LDFLAGS
3138       LD_LIBRARY_PATH=$save_LD_LIBRARY_PATH
3139    fi
3140    if test -z "$AWTLIB"; then
3141       AWTLIB=-ljawt
3142    fi
3143    AC_MSG_RESULT([$AWTLIB])
3144    AC_SUBST(AWTLIB)
3147 dnl ===================================================================
3148 dnl Check for optional gcj for AOT
3149 dnl ===================================================================
3150 if test "$SOLAR_JAVA" != ""; then
3151   AC_MSG_CHECKING([whether to enable gcj aot compilation])
3152   if test -n "$enable_gcjaot" && test "$enable_gcjaot" != "no"; then
3153      AC_MSG_RESULT([yes])
3154      if test `echo $WITH_JAVA | grep -c "gij"` -eq 0; then
3155         gcjaot="gcj"
3156      else
3157         gcjaot=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g"`
3158      fi
3159      AC_MSG_RESULT([$gcjaot])
3160      if test -n "$with_jdk_home"; then
3161         _javac_path="$with_jdk_home/bin/$gcjaot"
3162         dnl Check if there is a gcj at all.
3163         if test -x "$_javac_path"; then
3164            JAVAAOTCOMPILER=$_javac_path
3165         fi
3166      fi
3167      if test -z "$JAVAAOTCOMPILER"; then
3168         AC_PATH_PROG(JAVAAOTCOMPILER, $gcjaot)
3169      fi
3170      if test -z "$JAVAAOTCOMPILER"; then
3171         AC_MSG_WARN([$gcjaot not found, set with_jdk_home])
3172      fi
3173   else
3174      AC_MSG_RESULT([no])
3175   fi
3178 AC_SUBST(JAVA_HOME)
3179 AC_SUBST(JDK)
3180 AC_SUBST(JAVAFLAGS)
3181 AC_SUBST(JAVA_SOURCE_VER)
3182 AC_SUBST(JAVA_TARGET_VER)
3183 AC_SUBST(JAVAINTERPRETER)
3184 AC_SUBST(JAVACOMPILER)
3185 AC_SUBST(JAVAAOTCOMPILER)
3186 AC_SUBST(JAVADOC)
3188 dnl ===================================================================
3189 dnl Checks for specific files.
3190 dnl ===================================================================
3192 dnl ===================================================================
3193 dnl Checks for programs.
3194 dnl ===================================================================
3196 dnl ===================================================================
3197 dnl Check whether we already have dmake
3198 dnl ===================================================================
3199 AC_PATH_PROG(DMAKE, dmake, no)
3200 if test "$DMAKE" = "no"; then
3201     BUILD_DMAKE=YES
3202     echo "dmake will be built on ./bootstrap"
3203 else
3204     AC_MSG_CHECKING([whether the found dmake is the right dmake])
3205     # we need to find out whether that dmake we found is "our" dmake
3206     # or the dmake from Sun's SunStudio Compiler which is something
3207     # different
3208     # This test _should_ work because the one accepts -V (ours) and one
3209     # (the other) not...
3210     $DMAKE -V 2>/dev/null | grep 'dmake .* Version .*' >/dev/null
3211     if test $? -eq 0; then 
3212        BUILD_DMAKE=NO
3213        AC_MSG_RESULT([yes])
3214        AC_MSG_CHECKING([the dmake version])
3215        DMAKE_VERSION=`$DMAKE -V | $AWK '$3 == "Version" {print $4}'`
3216        if test "`echo $DMAKE_VERSION | cut -d'.' -f1`" -gt "4"; then
3217          AC_MSG_RESULT([OK, >= 4.11])
3218        elif test "`echo $DMAKE_VERSION | cut -d'.' -f1`" = "4" && \
3219             test "`echo $DMAKE_VERSION | cut -d'.' -f2`" -ge "11"; then
3220          AC_MSG_RESULT([OK, >= 4.11])
3221        else
3222          AC_MSG_RESULT([too old. >= 4.11 is needed])
3223          echo "A newer dmake will be built on ./bootstrap"
3224          BUILD_DMAKE=YES
3225        fi
3226     else
3227        AC_MSG_RESULT([no])
3228        echo "dmake will be built on ./bootstrap"
3229        BUILD_DMAKE=YES
3230     fi
3232 AC_SUBST(BUILD_DMAKE)
3234 AC_MSG_CHECKING([whether to enable EPM for packing])
3235 if test "$_os" != "WINNT" -a \( "z$enable_epm" = "z" -o "$enable_epm" != "no" \) ; then
3236    AC_MSG_RESULT([yes])
3237    dnl ===================================================================
3238    dnl Check for epm - not needed for windows
3239    dnl ===================================================================
3240    if test "$_os" != "WINNT"; then
3241       if test -n "$with_epm"; then
3242               EPM=$with_epm
3243       else
3244          AC_PATH_PROG(EPM, epm, no)
3245       fi
3246       if test "$EPM" = "no" || test "$EPM" = "internal"; then
3247          echo "EPM will be built."
3248          BUILD_EPM=YES
3249          BUILD_TYPE="$BUILD_TYPE EPM"
3250       else
3251          # Gentoo has some epm which is something different...
3252          AC_MSG_CHECKING([whether the found epm is the right epm])
3253          if $EPM | grep "ESP Package Manager" >/dev/null 2>/dev/null; then
3254             AC_MSG_RESULT([yes])
3255          else
3256             AC_MSG_ERROR([no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm])
3257          fi
3258          AC_MSG_CHECKING([epm version])
3259          EPM_VERSION=`$EPM | grep 'ESP Package Manager' | cut -d' ' -f4 | $SED -e s/v//`
3260          if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \
3261                test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then
3262            AC_MSG_RESULT([OK, >= 3.7])
3263            BUILD_EPM=NO
3264                 if test "$_os" = "Darwin"; then
3265                AC_MSG_CHECKING([which PackageMaker EPM thinks to use])
3266                       _pm=`strings $EPM | grep PackageMaker | cut -d" " -f1`
3267                       if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then
3268                               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)])
3269                       elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then
3270                             AC_MSG_RESULT([$_pm, ok])
3271                       else # we never should get here, but go safe
3272                                   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)])
3273                           fi
3274                fi
3275          else
3276            AC_MSG_RESULT([too old. epm >= 3.7 is required.])
3277            echo "EPM will be built."
3278            BUILD_EPM=YES
3279            BUILD_TYPE="$BUILD_TYPE EPM"
3280          fi
3281       fi
3282    fi
3284    # test which package format to use
3285    AC_MSG_CHECKING([which package format to use])
3286    # epm supports the following formats:
3287    # aix - AIX software distribution
3288    # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
3289    # depot or swinstall - HP-UX software distribution
3290    # deb - Debian software distribution
3291    # inst or tardist - IRIX software distribution
3292    # osx - MacOS X software distribution
3293    # pkg - Solaris software distribution
3294    # rpm - RedHat software distribution
3295    # setld - Tru64 (setld) software distribution
3296    # native - "Native" software distribution for the platform
3297    # portable - Portable software distribution
3299    # defaults
3300    case "$_os" in
3301         OS2)
3302                 PKGFORMAT=native
3303                 ;;
3304         Darwin)
3305                 PKGFORMAT=dmg
3306                 ;;
3307         SunOS)
3308                 PKGFORMAT=pkg
3309                 ;;
3310         Linux)
3311       # if building on Debian, default should be deb...
3312       if test -e /etc/debian_version; then
3313          PKGFORMAT=deb
3314       else
3315          PKGFORMAT=rpm
3316       fi
3317                 ;;
3318         AIX)
3319                 PKGFORMAT=aix
3320                 ;;
3321         *BSD)
3322                 PKGFORMAT=bsd
3323                 ;;
3324         OSF1)
3325                 PKGFORMAT=setld
3326                 ;;
3327         IRIX)
3328                 PKGFORMAT=tardist
3329                 ;;
3330         # we never should get here since we check the arciecture/os at the beginning,
3331         # but go sure...
3332         *)
3333                 AC_MSG_ERROR([unknown system])
3334    esac
3335    if test -n "$with_package_format"; then
3336         for i in $with_package_format; do 
3337                 case "$i" in
3338                         aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable) 
3339                         ;;
3340                 *)
3341                         AC_MSG_ERROR([unsupported format $i. Supported by EPM are:
3342 aix - AIX software distribution
3343 bsd - FreeBSD, NetBSD, or OpenBSD software distribution
3344 depot or swinstall - HP-UX software distribution
3345 deb - Debian software distribution
3346 inst or tardist - IRIX software distribution
3347 osx - MacOS X software distribution
3348 pkg - Solaris software distribution
3349 rpm - RedHat software distribution
3350 setld - Tru64 (setld) software distribution
3351 native - "Native" software distribution for the platform
3352 portable - Portable software distribution
3353                         ]) 
3354                         ;;
3355                 esac
3356         done
3357         PKGFORMAT="$with_package_format"
3358    fi
3359    AC_MSG_RESULT([$PKGFORMAT])
3360    if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then
3361       AC_MSG_CHECKING([for rpm])
3362       for a in "$RPM" rpmbuild rpm; do
3363          $a --usage >/dev/null 2> /dev/null
3364          if test $? -eq 0; then
3365             RPM=$a
3366             break
3367          else
3368             $a --version >/dev/null 2> /dev/null
3369             if test $? -eq 0; then
3370                RPM=$a
3371                break
3372             fi 
3373          fi
3374        done
3375        if test -z "$RPM" ; then
3376           AC_MSG_ERROR([not found])
3377        else
3378           RPM_PATH=`which $RPM`
3379           AC_MSG_RESULT([$RPM_PATH])
3380        fi
3381    fi
3382    if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then
3383       AC_PATH_PROG(DPKG, dpkg, no)
3384       if test "$DPKG" = "no"; then
3385          AC_MSG_ERROR([dpkg needed for deb creation. Install dpkg.])
3386       fi
3387    fi
3388    if echo "PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then
3389       if test "$_os" = "Darwin"; then
3390          AC_MSG_CHECKING([for PackageMaker availability])
3391          if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then
3392             AC_MSG_ERROR([not installed. Please install Apples Dev Tools])
3393          else
3394             AC_MSG_RESULT([ok])
3395          fi
3396       else
3397          AC_MSG_ERROR([PackageMaker needed to build OSX packages and you are not on OSX...])
3398        fi
3399    fi
3400    if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null || \
3401       echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
3402         if test "$EPM" != "no" && test "$EPM" != "internal"; then
3403            if test "`echo $EPM_VERSION | cut -d'.' -f1`" -lt "4"; then
3404                AC_MSG_CHECKING([whether epm is patched for OOos needs])
3405                if grep "Patched for OpenOffice.org" $EPM >/dev/null 2>/dev/null; then
3406                   AC_MSG_RESULT([yes])
3407                else
3408                   AC_MSG_RESULT([no])
3409                   if echo "$PKGFORMAT" | grep -q rpm; then
3410                       _pt="rpm"
3411                       AC_MSG_WARN([the rpms will need to be installed with --nodeps])
3412                       echo "the rpms will need to be installed with --nodeps" >> warn
3413                   else
3414                       _pt="pkg"
3415                   fi
3416                   AC_MSG_WARN([the ${_pt}s will not be relocateable])
3417                   echo "the ${_pt}s will not be relocateable" >> warn
3418                   AC_MSG_WARN([if you want to make sure installation without --nodeps and
3419                   relocation will work, you need to patch your epm with the
3420                   patch in epm/epm-3.7.patch or build with
3421                   --with-epm=internal which will build a suitable epm])
3422                fi
3423            fi
3424         fi
3425    fi
3426    if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
3427       AC_PATH_PROG(PKGMK, pkgmk, no)
3428       if test "$PKGMK" = "no"; then
3429          AC_MSG_ERROR([pkgmk needed for Solaris pkg creation. Install it.])
3430       fi
3431    fi
3432    AC_SUBST(BUILD_EPM)
3433    AC_SUBST(PKGFORMAT)
3434    AC_SUBST(RPM)
3435    AC_SUBST(DPKG)
3436    AC_SUBST(PKGMK)
3437 else
3438    AC_MSG_RESULT([no])
3439    EPM=NO
3441 AC_SUBST(EPM)
3443 dnl ===================================================================
3444 dnl Check for gperf
3445 dnl ===================================================================
3446 AC_PATH_PROG(GPERF, gperf)
3447 if test -z "$GPERF"; then
3448         AC_MSG_ERROR([gperf not found but needed. Install it.])
3450 AC_MSG_CHECKING([gperf version])
3451 if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then
3452         AC_MSG_RESULT([OK])
3453 else
3454         AC_MSG_ERROR([too old, you need at least 3.0.0])
3457 dnl ===================================================================
3458 dnl Check for building stax
3459 dnl ===================================================================
3460 AC_MSG_CHECKING([whether to build the stax])
3461 if test -f "external/StAX/jsr173_1.0_api.jar"; then
3462    BUILD_STAX=NO
3463    AC_MSG_RESULT([no, will use the prebuilt external/StAX/jsr173_1.0_api.jar])
3464 else
3465    BUILD_STAX=YES
3466    AC_MSG_RESULT([yes])
3468 AC_SUBST(BUILD_STAX)
3470 dnl ===================================================================
3471 dnl Check for building ODK
3472 dnl ===================================================================
3473 AC_MSG_CHECKING([whether to build the ODK])
3474 if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then
3475    AC_MSG_RESULT([yes])
3476    if test "$WITH_JAVA" != "no"; then
3477    AC_MSG_CHECKING([for external/unowinreg/unowinreg.dll])
3478    if ! test -f "./external/unowinreg/unowinreg.dll"; then
3479       HAVE_UNOWINREG_DLL=no
3480    else
3481       HAVE_UNOWINREG_DLL=yes
3482    fi
3483    if test "$HAVE_UNOWINREG_DLL" = "yes"; then
3484       AC_MSG_RESULT([found])
3485       BUILD_UNOWINREG=NO
3486    else
3487       if test "$_os" = "WINNT"; then
3488          AC_MSG_RESULT([not found, will be built])
3489       else
3490          AC_MSG_WARN([not found, will be cross-built using mingw32])
3491       fi
3492       BUILD_UNOWINREG=YES
3493    fi
3494    if test "$_os" != "WINNT" && test "$BUILD_UNOWINREG" = "YES"; then
3495       if test -z "$WITH_MINGWIN" || test "$WITH_MINGWIN" = "0"; then
3496          AC_MSG_ERROR([for rebuilding unowinreg.dll you need the mingw32 C++ compiler.
3497          Specify mingw32 g++ executable name with --with-mingwin.
3498          Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and
3499          put it into external/unowinreg])
3500       fi
3501       if echo "$WITH_MINGWIN" | $EGREP -q "/"; then
3502          if ! test -x "$WITH_MINGWIN"; then MINGWCXX=false; else MINGWCXX=`basename $WITH_MINGWIN`; fi
3503       else
3504          AC_CHECK_TOOL(MINGWCXX, $WITH_MINGWIN, false)
3505       fi
3506       if test "$MINGWCXX" = "false"; then
3507          AC_MSG_ERROR(specified MinGW32 C++ cross-compiler not found. Install it or correct name.)
3508       fi
3509       AC_MSG_CHECKING(whether we are using the MinGW32 cross C++ compiler)
3510       if ! echo "`$MINGWCXX -dumpmachine`" | grep -q mingw32; then
3511          AC_MSG_ERROR(no)
3512       else
3513          AC_MSG_RESULT(yes)
3514       fi
3515       if echo "$WITH_MINGWIN" | $EGREP -q "/"; then
3516          if ! test -x "`echo $WITH_MINGWIN | $SED -e s/g++/strip/`"; then MINGSTRIP=false; else MINGWSTRIP=$(basename $(echo $WITH_MINGWIN | $SED -e s/g++/strip/)); fi
3517       else
3518          AC_CHECK_TOOL(MINGWSTRIP, `echo $WITH_MINGWIN | $SED -e s/g++/strip/`, false)
3519       fi
3520       if test "$MINGWSTRIP" = "false"; then
3521          AC_MSG_ERROR(MinGW32 binutils needed. Install them.)
3522       fi
3523       AC_LANG_PUSH([C++])
3524       save_CXX=$CXX
3525       save_CXXCPP=$CXXCPP
3526       CXX=$MINGWCXX
3527       CXXCPP="$MINGWCXX -E"
3528       save_CXXFLAGS=$CXXFLAGS
3529       save_CPPFLAGS=$CPPFLAGS
3530       CXXFLAGS="$CXXFLAGS -I$JAVA_HOME/include"
3531       CPPFLAGS="$CPPFLAGS -I$JAVA_HOME/include"
3532       # LIBS contains -lcrypt etc due to teh AC_CHECK_LIBS which obviously
3533       # do not make sense here (and 'd make the check fail)
3534       save_LIBS=$LIBS
3535       LIBS=""
3536       AC_HAVE_LIBRARY(kernel32)
3537       AC_HAVE_LIBRARY(advapi32)
3538       AC_CHECK_HEADER(windows.h, [], [AC_MSG_ERROR([windows.h missing])])
3539       CXXFLAGS=$save_CXXFLAGS
3540       CPPFLAGS=$save_CPPFLAGS
3541       CXX=$save_CXX
3542       CXXCPP=$save_CXXCPP
3543       LIBS=$save_LIBS
3544       AC_LANG_POP([C++])
3545       fi
3546    fi
3547    BUILD_TYPE="$BUILD_TYPE ODK"
3548 else
3549    AC_MSG_RESULT([no])
3550    BUILD_UNOWINREG=NO
3552 AC_SUBST(BUILD_UNOWINREG)
3553 AC_SUBST(MINGWCXX)
3554 AC_SUBST(MINGWSTRIP)
3556 dnl ===================================================================
3557 dnl Check for building qadevOOo
3558 dnl ===================================================================
3559 AC_MSG_CHECKING([whether to build qadevOOo])
3560 if test "z$enable_qadevooo" = "z" -o "$enable_qadevooo" != "no"; then
3561    AC_MSG_RESULT([yes])
3562    BUILD_QADEVOOO="YES"
3563    BUILD_TYPE="$BUILD_TYPE QADEVOOO"
3564 else
3565    BUILD_QADEVOOO="NO"
3566    AC_MSG_RESULT([no])
3568 AC_SUBST(BUILD_QADEVOOO)
3570 dnl ===================================================================
3571 dnl Check for prelinked libgcc_s.so.1
3572 dnl ===================================================================
3573 if test -z "$with_system_stdlibs" -a -z "$with_system_libs"; then
3574   if test -n "$checkforprelink" -a -f /etc/rpm/macros.prelink; then
3575     with_system_stdlibs=yes
3576     AC_MSG_WARN([prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override])
3577     echo "prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn
3578   fi
3581 dnl ===================================================================
3582 dnl Check for system stdlibs
3583 dnl ===================================================================
3584 AC_MSG_CHECKING([whether to provide libstdc++/libgcc_s in the installset])
3585 if test -n "$with_system_stdlibs" -o -n "$with_system_libs" && \
3586    test "$with_system_stdlibs" != "no"; then
3587    AC_MSG_RESULT([no])
3588    SYSTEM_STDLIBS=YES
3589 else
3590    AC_MSG_RESULT([yes])
3591    SYSTEM_STDLIBS=NO
3593 AC_SUBST(SYSTEM_STDLIBS)
3595 dnl ===================================================================
3596 dnl Check for system zlib
3597 dnl ===================================================================
3598 if test "$_os" = "Darwin" && test "$with_system_zlib" != "no"; then
3599    with_system_zlib=yes
3601 AC_MSG_CHECKING([which zlib to use])
3602 if test -n "$with_system_zlib" -o -n "$with_system_libs" && \
3603         test "$with_system_zlib" != "no"; then
3604     AC_MSG_RESULT([external])
3605     SYSTEM_ZLIB=YES
3606     AC_CHECK_HEADER(zlib.h, [],
3607         [AC_MSG_ERROR(zlib.h not found. install zlib)], [])
3608     AC_CHECK_LIB(z, deflate, [ ZLIB=-lz ],
3609         [AC_MSG_ERROR(zlib not found or functional)], [])
3610 else
3611     AC_MSG_RESULT([internal])
3612     SYSTEM_ZLIB=NO
3613     BUILD_TYPE="$BUILD_TYPE ZLIB"
3615 AC_SUBST(SYSTEM_ZLIB)
3617 dnl ===================================================================
3618 dnl Check for system jpeg
3619 dnl ===================================================================
3620 AC_MSG_CHECKING([which jpeg to use])
3621 if test -n "$with_system_jpeg" -o -n "$with_system_libs" && \
3622         test "$with_system_jpeg" != "no"; then
3623     AC_MSG_RESULT([external])
3624     SYSTEM_JPEG=YES
3625     AC_CHECK_HEADER(jpeglib.h, [],
3626         [AC_MSG_ERROR(jpeg.h not found. install libjpeg)], [])
3627     AC_CHECK_LIB(jpeg, jpeg_resync_to_restart, [ JPEG3RDLIB=-ljpeg ],
3628         [AC_MSG_CHECKING(jpeg library not found or fuctional)], [])
3629 else
3630     AC_MSG_RESULT([internal])
3631     SYSTEM_JPEG=NO
3632     BUILD_TYPE="$BUILD_TYPE JPEG"
3634 AC_SUBST(SYSTEM_JPEG)
3636 dnl ===================================================================
3637 dnl Check for system expat
3638 dnl ===================================================================
3639 AC_MSG_CHECKING([which expat to use])
3640 if test -n "$with_system_expat" -o -n "$with_system_libs" && \
3641         test "$with_system_expat" != "no"; then
3642     AC_MSG_RESULT([external])
3643     SYSTEM_EXPAT=YES
3644     AC_CHECK_HEADER(expat.h, [],
3645         [AC_MSG_ERROR(expat.h not found. install expat)], [])
3646     AC_CHECK_LIB(expat, XML_ParserCreate, [],
3647         [AC_MSG_RESULT(expat library not found or functional.)], [])
3648 else
3649     AC_MSG_RESULT([internal])
3650     SYSTEM_EXPAT=NO
3651     BUILD_TYPE="$BUILD_TYPE EXPAT"
3653 AC_SUBST(SYSTEM_EXPAT)
3655 dnl ===================================================================
3656 dnl Check for system libwpd
3657 dnl ===================================================================
3658 AC_MSG_CHECKING([which libwpd to use])
3659 if test -n "$with_system_libwpd" -o -n "$with_system_libs" && \
3660         test "$with_system_libwpd" != "no"; then
3661     AC_MSG_RESULT([external])
3662     SYSTEM_LIBWPD=YES
3663     PKG_CHECK_MODULES( LIBWPD, libwpd-0.8 )
3664 else
3665     AC_MSG_RESULT([internal])
3666     SYSTEM_LIBWPD=NO
3667     BUILD_TYPE="$BUILD_TYPE LIBWPD"
3669 AC_SUBST(SYSTEM_LIBWPD)
3670 AC_SUBST(LIBWPD_CFLAGS)
3671 AC_SUBST(LIBWPD_LIBS)
3673 dnl ===================================================================
3674 dnl Check whether freetype is available
3675 dnl ===================================================================
3676 if test  "$test_freetype" = "yes"; then
3677    AC_MSG_CHECKING([whether freetype is available])
3678         PKG_CHECK_MODULES( FREETYPE, freetype2 >= 2.0 )
3680 AC_SUBST(FREETYPE_CFLAGS)
3681 AC_SUBST(FREETYPE_LIBS)
3683 dnl ===================================================================
3684 dnl Check for system libwps
3685 dnl ===================================================================
3686 AC_MSG_CHECKING([which libwps to use])
3687 if test -n "$with_system_libwps" -o -n "$with_system_libs" && \
3688         test "$with_system_libwps" != "no"; then
3689     AC_MSG_RESULT([external])
3690     SYSTEM_LIBWPS=YES
3691     PKG_CHECK_MODULES( LIBWPS, libwps-0.1 )
3692 else
3693     AC_MSG_RESULT([internal])
3694     SYSTEM_LIBWPS=NO
3695     BUILD_TYPE="$BUILD_TYPE LIBWPS"
3697 AC_SUBST(SYSTEM_LIBWPS)
3698 AC_SUBST(LIBWPS_CFLAGS)
3699 AC_SUBST(LIBWPS_LIBS)
3701 dnl ===================================================================
3702 dnl Check for system libwpg
3703 dnl ===================================================================
3704 AC_MSG_CHECKING([which libwpg to use])
3705 if test -n "$with_system_libwpg" -o -n "$with_system_libs" && \
3706         test "$with_system_libwpg" != "no"; then
3707     AC_MSG_RESULT([external])
3708     SYSTEM_LIBWPG=YES
3709     PKG_CHECK_MODULES( LIBWPG, libwpg-0.1 )
3710 else
3711     AC_MSG_RESULT([internal])
3712     SYSTEM_LIBWPG=NO
3713     BUILD_TYPE="$BUILD_TYPE LIBWPG"
3715 AC_SUBST(SYSTEM_LIBWPG)
3716 AC_SUBST(LIBWPG_CFLAGS)
3717 AC_SUBST(LIBWPG_LIBS)
3719 dnl ===================================================================
3720 dnl Check whether freetype2 supports emboldening
3721 dnl ===================================================================
3722 if test  "$test_freetype" = "yes"; then
3723     save_CPPFLAGS="$CPPFLAGS"
3724     save_LDFLAGS="$LDFLAGS"
3725     save_LIBS="$LIBS"
3726     CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
3727     LDFLAGS="$LDFLAGS $FREETYPE_LIBS"
3728     AC_CHECK_LIB(freetype, FT_GlyphSlot_Embolden,
3729                  [USE_FT_EMBOLDEN="YES"], [USE_FT_EMBOLDEN="NO"], [])
3730     LDFLAGS="$save_LDFLAGS"
3731     CPPFLAGS="$save_CPPFLAGS"
3732     LIBS="$save_LIBS"
3734 AC_SUBST(USE_FT_EMBOLDEN)
3736 if test -n "$with_system_libxslt" -o -n "$with_system_libs" && \
3737    test "$with_system_libxslt" != "no"; then
3738     if test -z "$with_system_libxml" -a -z "$with_system_libs" || \
3739       test "$with_system_libxml" == "no"; then
3740       # somehow AC_MSG_WARN won't work...
3741        echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml"
3742        echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml" >> warn
3743        with_system_libxml=yes
3744     fi
3746 if test -n "$with_system_libxml" -o -n "$with_system_libs" && \
3747    test "$with_system_libxml" != "no"; then
3748     if test -z "$with_system_libxslt" -a -z "$with_system_libs" || \
3749       test "$with_system_libxslt" == "no"; then
3750       # somehow AC_MSG_WARN won't work...
3751        echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt"
3752        echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt" >> warn
3753        with_system_libxslt=yes
3754     fi
3757 dnl ===================================================================
3758 dnl Check for system libxslt
3759 dnl ===================================================================
3760 AC_MSG_CHECKING([which libxslt to use])
3761 if test -n "$with_system_libxslt" -o -n "$with_system_libs" -o \
3762        "$_os" = "Darwin" && \
3763    test "$with_system_libxslt" != "no"; then
3764    AC_MSG_RESULT([external])
3765    SYSTEM_LIBXSLT=YES
3767    PKG_CHECK_MODULES_MACHACK(LIBXSLT, xslt-config, libxslt)
3769    dnl Check for xsltproc
3770    AC_PATH_PROG(XSLTPROC, xsltproc, no)
3771    if test "$XSLTPROC" = "no"; then
3772       AC_MSG_ERROR([xsltproc is required])
3773    fi
3774 else
3775    AC_MSG_RESULT([internal])
3776    SYSTEM_LIBXSLT=NO
3777    BUILD_TYPE="$BUILD_TYPE LIBXSLT"
3779 AC_SUBST(SYSTEM_LIBXSLT)
3780 AC_SUBST(LIBXSLT_CFLAGS)
3781 AC_SUBST(LIBXSLT_LIBS)
3784 dnl ===================================================================
3785 dnl Check for system libxml
3786 dnl ===================================================================
3787 AC_MSG_CHECKING([which libxml to use])
3788 if test -n "$with_system_libxml" -o -n "$with_system_libs" -o \
3789             "$_os" = "Darwin" && \
3790         test "$with_system_libxml" != "no"; then
3791     AC_MSG_RESULT([external])
3792     SYSTEM_LIBXML=YES
3793     PKG_CHECK_MODULES_MACHACK(LIBXML, xml2-config, libxml-2.0 >= 2.0)
3794     BUILD_TYPE="$BUILD_TYPE LIBXMLSEC"
3795 else
3796     AC_MSG_RESULT([internal])
3797     SYSTEM_LIBXML=NO
3798     BUILD_TYPE="$BUILD_TYPE LIBXML2 LIBXMLSEC"
3800 AC_SUBST(SYSTEM_LIBXML)
3801 AC_SUBST(LIBXML_CFLAGS)
3802 AC_SUBST(LIBXML_LIBS)
3804 dnl ===================================================================
3805 dnl Check for system python
3806 dnl ===================================================================
3807 if test "$_os" = "Darwin" && test "$with_system_python" != "no"; then
3808    with_system_python=yes
3810 AC_MSG_CHECKING([which python to use])
3811 if test -n "$with_system_python" -o -n "$with_system_libs" && \
3812         test "$with_system_python" != "no"; then
3813    SYSTEM_PYTHON=YES
3814    AC_MSG_RESULT([external])
3815    AM_PATH_PYTHON([2.2])
3817    python_include=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('INCLUDEPY');"`
3818    python_version=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('VERSION');"`
3819    PYTHON_CFLAGS="-I$python_include"
3821    if test "$_os" = "Darwin"; then
3822       PYTHON_LIBS="-framework Python"
3823    else
3824       PYTHON_LIBS="-lpython$python_version"
3825    fi
3826    
3827    dnl check if the headers really work:
3828    save_CPPFLAGS="$CPPFLAGS"
3829    CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS"
3830    AC_CHECK_HEADER(Python.h, [],
3831        [AC_MSG_ERROR(Python headers not found)], [])
3832    CPPFLAGS="$save_CPPFLAGS"
3833 else
3834    SYSTEM_PYTHON=NO
3835    BUILD_TYPE="$BUILD_TYPE PYTHON"
3836    AC_MSG_RESULT([internal])
3837    # Embedded python dies without Home set
3838    if test "z$HOME" = "z"; then
3839       export HOME="";
3840    fi
3841    # bz2 tarball and bzip2 is not standard
3842    if test -z "$BZIP2"; then
3843         AC_PATH_PROG( BZIP2, bzip2)
3844         if test -z "$BZIP2"; then
3845                 AC_MSG_ERROR([the internal Python module has a .tar.bz2. You need bzip2])
3846         fi
3847    fi
3849 AC_SUBST(SYSTEM_PYTHON)
3850 AC_SUBST(PYTHON_CFLAGS)
3851 AC_SUBST(PYTHON_LIBS)
3852 HOME=`echo $HOME | sed 's:\\\\:/:g'`
3853 AC_SUBST(HOME)
3855 dnl ===================================================================
3856 dnl Check for system berkley db
3857 dnl ===================================================================
3858 AC_MSG_CHECKING([which db to use])
3859 if test -n "$with_system_db" -o -n "$with_system_libs" && \
3860         test "$with_system_db" != "no"; then
3861     SYSTEM_DB=YES
3862     AC_MSG_RESULT([external])
3863     AC_CHECK_HEADER(db.h, [ DB_INCLUDES=/usr/include ],
3864         [
3865              CFLAGS=-I/usr/include/db4
3866              AC_CHECK_HEADER(db4/db.h,
3867              [ DB_INCLUDES=/usr/include/db4 ],
3868              [ AC_MSG_ERROR(no. install the db4 libraries) ], []+             )
3869         ], []
3870     )
3871     AC_MSG_CHECKING([whether db is at least 4.1])
3872     for v in `seq 1 7`; do
3873        AC_TRY_RUN([
3874 #include <db.h>
3876 int main(int argc, char **argv) {
3877        if(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == $v) return 0;
3878        else return 1;
3880        ], [DB_VERSION_MINOR=$v], [])
3881     done
3882     if test "$DB_VERSION_MINOR" -gt "1"; then
3883        AC_MSG_RESULT([OK])
3884        DB_VERSION=4.$DB_VERSION_MINOR
3885     else
3886        AC_MSG_ERROR([no. you need at least db 4.1])
3887     fi
3888     # does not work :/
3889     #AC_CHECK_LIB(db, db_create, [],
3890     #  [AC_MSG_ERROR([db library not installed or functional])], [])
3891     AC_HAVE_LIBRARY(db, [],
3892       [AC_MSG_ERROR([db not installed or functional])], [])
3893     SCPDEFS="$SCPDEFS -DSYSTEM_DB"
3894 else
3895     AC_MSG_RESULT([internal])
3896     SYSTEM_DB=NO
3897     BUILD_TYPE="$BUILD_TYPE BERKELEYDB"
3899 AC_SUBST(SYSTEM_DB)
3900 AC_SUBST(DB_VERSION)
3901 AC_SUBST(DB_INCLUDES)
3902 AC_SUBST(DB_JAR)
3904 dnl ===================================================================
3905 dnl Check for system lucene
3906 dnl ===================================================================
3907 AC_MSG_CHECKING([which lucene to use])
3908 if test -n "$with_system_lucene" -o -n "$with_system_libs" && \
3909        test "$with_system_lucene" != "no" && test "$with_system_jars" != "no"; then
3910         AC_MSG_RESULT([external])
3911         SYSTEM_LUCENE=YES
3912         if test -z $LUCENE_CORE_JAR; then
3913           AC_CHECK_FILE(/usr/share/java/lucene-core-2.3.jar, 
3914             [ LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.3.jar ],
3915             [
3916               AC_CHECK_FILE(/usr/share/java/lucene.jar, 
3917                 [ LUCENE_CORE_JAR=/usr/share/java/lucene.jar ],
3918                 [ AC_MSG_ERROR(lucene-core.jar replacement not found)]
3919               )
3920             ]
3921           )
3922         else
3923           AC_CHECK_FILE($LUCENE_CORE_JAR, [],
3924                [AC_MSG_ERROR(lucene-core.jar not found.)], [])
3925         fi
3927         if test -z $LUCENE_ANALYZERS_JAR; then
3928           AC_CHECK_FILE(/usr/share/java/lucene-analyzers-2.3.jar, 
3929             [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-analyzers-2.3.jar ],
3930             [
3931               AC_CHECK_FILE(/usr/share/java/lucene-contrib/lucene-analyzers.jar, 
3932                 [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-contrib/lucene-analyzers.jar ],
3933                 [ AC_MSG_ERROR(lucene-analyzers.jar replacement not found.)]
3934               )
3935             ]
3936           )
3937         else
3938           AC_CHECK_FILE($LUCENE_CORE_JAR, [],
3939                [ AC_MSG_ERROR(lucene-analyzers.jar not found.)], [])
3940         fi
3941 else
3942     AC_MSG_RESULT([internal])
3943     SYSTEM_LUCENE=NO
3944     BUILD_TYPE="$BUILD_TYPE LUCENE"
3946 AC_SUBST(SYSTEM_LUCENE)
3947 AC_SUBST(LUCENE_CORE_JAR)
3948 AC_SUBST(LUCENE_ANALYZERS_JAR)
3950 dnl ===================================================================
3951 dnl Check for system hsqldb
3952 dnl ===================================================================
3953 AC_MSG_CHECKING([which hsqldb to use])
3954 if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \
3955        test "$with_system_hsqldb" != "no" && test "$with_system_jars" != "no"; then
3956         AC_MSG_RESULT([external])
3957         SYSTEM_HSQLDB=YES
3958         if test -z $HSQLDB_JAR; then
3959                HSQLDB_JAR=/usr/share/java/hsqldb.jar
3960         fi
3961         AC_CHECK_FILE($HSQLDB_JAR, [],
3962                [AC_MSG_ERROR(hsqldb.jar not found.)], [])
3963         AC_MSG_CHECKING([whether hsqldb is >= 1.8.0.9])
3964         export HSQLDB_JAR
3965         if $PERL -e 'use Archive::Zip;
3966             my $file = "$ENV{'HSQLDB_JAR'}";
3967             my $zip = Archive::Zip->new( $file );
3968             my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
3969             if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
3970                 push @l, split(/\n/, $mf);
3971                 foreach my $line (@l) {
3972                     if ($line =~ m/Specification-Version:/) {
3973                         ($t, $version) = split (/:/,$line);
3974                         $version =~ s/^\s//;
3975                         ($a, $b, $c, $d) = split (/\./,$version);
3976                         if (($c == "0" && $d > "8") || $c > 0)  {
3977                             exit 0;
3978                         } else {
3979                             exit 1;
3980                         }
3981                     }
3982                 }
3983             } else {
3984                 exit 1;
3985             }'; then
3986             AC_MSG_RESULT([yes])
3987          else
3988             AC_MSG_ERROR([no, hsqldb >= 1.8.0.9 is needed])
3989          fi
3990 else
3991     AC_MSG_RESULT([internal])
3992     SYSTEM_HSQLDB=NO
3993     BUILD_TYPE="$BUILD_TYPE HSQLDB"
3995 AC_SUBST(SYSTEM_HSQLDB)
3996 AC_SUBST(HSQLDB_JAR)
3998 dnl ===================================================================
3999 dnl Check for PostgreSQL stuff
4000 dnl ===================================================================
4001 AC_PATH_PROG(PGCONFIG, pg_config)
4002 if test -z "$PGCONFIG"; then
4003         AC_MSG_ERROR([pg_config needed])
4005 save_CFLAGS=$CFLAGS
4006 save_LIBS=$LIBS
4007 CFLAGS="-I`pg_config --includedir`"
4008 AC_CHECK_HEADER([libpq-fe.h], [], [AC_MSG_ERROR([libpq-fe.h is needed])], [])
4009 AC_HAVE_LIBRARY(pq, [], [AC_MSG_ERROR(libpq is needed)], [])
4010 CFLAGS=$save_CFLAGS
4011 LIBS=$save_LIBS
4012 SYSTEM_POSTGRESQL=YES # only option atm :-)
4013 AC_SUBST(SYSTEM_POSTGRESQL)
4015 dnl ===================================================================
4016 dnl Check for system beanshell
4017 dnl ===================================================================
4018 AC_MSG_CHECKING([which beanshell to use])
4019 if test -n "$with_system_beanshell" -o -n "$with_system_libs" && \
4020        test "$with_system_beanshell" != "no" && test "$with_system_jars" != "no"; then
4021         AC_MSG_RESULT([external])
4022         SYSTEM_BSH=YES
4023         if test -z $BSH_JAR; then
4024                BSH_JAR=/usr/share/java/bsh.jar
4025         fi
4026         AC_CHECK_FILE($BSH_JAR, [],
4027                [AC_MSG_ERROR(bsh.jar not found.)], [])
4028 else
4029     AC_MSG_RESULT([internal])
4030     SYSTEM_BSH=NO
4031     BUILD_TYPE="$BUILD_TYPE BSH"
4033 AC_SUBST(SYSTEM_BSH)
4034 AC_SUBST(BSH_JAR)
4037 dnl ===================================================================
4038 dnl Check for system saxon
4039 dnl ===================================================================
4040 AC_MSG_CHECKING([which saxon to use])
4041 if test -n "$with_system_saxon" -o -n "$with_system_libs" && \
4042        test "$with_system_saxon" != "no" && test "$with_system_jars" != "no"; then
4043         AC_MSG_RESULT([external])
4044         SYSTEM_SAXON=YES
4045         if test -z $SAXON_JAR; then
4046           AC_CHECK_FILE(/usr/share/java/saxon9.jar, 
4047             [ SAXON_JAR=/usr/share/java/saxon9.jar ],
4048             [
4049               AC_CHECK_FILE(/usr/share/java/saxon.jar, 
4050                 [ SAXON_JAR=/usr/share/java/saxon.jar ],
4051                 [ AC_CHECK_FILE(/usr/share/java/saxon9.jar,
4052                     [ SAXON_JAR=/usr/share/java/saxon9.jar ],
4053                     [ AC_MSG_ERROR(saxon.jar replacement not found)]
4054                   )
4055                 ]
4056               )
4057             ]
4058           )
4059         else
4060           AC_CHECK_FILE($SAXON_JAR, [],
4061                [AC_MSG_ERROR(saxon.jar replacement not found.)], [])
4062         fi
4063         if test -n "$SERIALIZER_JAR"; then
4064           AC_CHECK_FILE($SERIALIZER_JAR, [],
4065                [AC_MSG_ERROR(serializer.jar not found.)], [])
4066           AC_SUBST(SERIALIZER_JAR)
4067         fi
4068 else
4069     AC_MSG_RESULT([internal])
4070     SYSTEM_SAXON=NO
4071     NEED_SAXON=TRUE
4073 AC_SUBST(SYSTEM_SAXON)
4074 AC_SUBST(SAXON_JAR)
4076 if test -n "$NEED_SAXON"; then
4077    BUILD_TYPE="$BUILD_TYPE SAXON"
4080 dnl ===================================================================
4081 dnl Check for system curl
4082 dnl ===================================================================
4083 if test "$_os" = "Darwin" && test "$with_system_curl" != "no"; then
4084    with_system_curl=yes
4086 AC_MSG_CHECKING([which curl to use])
4087 if test -n "$with_system_curl" -o -n "$with_system_libs" && \
4088         test "$with_system_curl" != "no"; then
4089    AC_MSG_RESULT([external])
4090    SYSTEM_CURL=YES
4092    AC_PATH_PROG( CURLCONFIG, curl-config)
4093    if test -z "$CURLCONFIG"; then
4094       AC_MSG_ERROR([install curl to run this script])
4095    fi
4097    # check curl version
4098    AC_MSG_CHECKING([whether curl is >= 7.9.8])
4099    if test "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $1 }'`" -gt "7" -a \
4100         "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $2 }'`" -gt "9" -a \
4101         "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $3 }'`" -gt "8"; then 
4102       AC_MSG_ERROR([no, you need at least curl 7.9,8])
4103    else
4104       AC_MSG_RESULT([yes])
4105    fi
4106    CURL_LIBS=`$CURLCONFIG --libs`
4107    CURL_CFLAGS=`$CURLCONFIG --cflags`
4108 else
4109    AC_MSG_RESULT([internal])
4110    SYSTEM_CURL=NO
4111    BUILD_TYPE="$BUILD_TYPE CURL"
4113 AC_SUBST(SYSTEM_CURL)
4114 AC_SUBST(CURL_CFLAGS)
4115 AC_SUBST(CURL_LIBS)
4117 dnl ===================================================================
4118 dnl Check for system boost
4119 dnl ===================================================================
4120 AC_MSG_CHECKING([which boost to use])
4121 if test -n "$with_system_boost" -o -n "$with_system_headers" && \
4122         test "$with_system_boost" != "no"; then
4123    AC_MSG_RESULT([external])
4124    SYSTEM_BOOST=YES
4125    AC_LANG_PUSH([C++])
4126    AC_CHECK_HEADER(boost/shared_ptr.hpp, [],
4127        [AC_MSG_ERROR(boost/shared_ptr.hpp not found. install boost)], [])
4128    AC_CHECK_HEADER(boost/spirit/core.hpp, [],
4129        [AC_MSG_ERROR(boost/spirit/core.hpp not found. install boost)], [])
4130    AC_LANG_POP([C++])
4131 else
4132    AC_MSG_RESULT([internal])
4133    BUILD_TYPE="$BUILD_TYPE BOOST"
4134    SYSTEM_BOOST=NO
4136 AC_SUBST(SYSTEM_BOOST)
4138 dnl ===================================================================
4139 dnl Check for system vigra
4140 dnl ===================================================================
4141 AC_MSG_CHECKING([which vigra to use])
4142 if test -n "$with_system_vigra" -o -n "$with_system_headers" && \
4143         test "$with_system_vigra" != "no"; then
4144    AC_MSG_RESULT([external])
4145    SYSTEM_VIGRA=YES
4146    AC_LANG_PUSH([C++])
4147    AC_CHECK_HEADER(vigra/copyimage.hxx, [],
4148        [AC_MSG_ERROR(vigra/copyimage.hxx not found. install vigra)], [])
4149    AC_LANG_POP([C++])
4150 else
4151    AC_MSG_RESULT([internal])
4152    BUILD_TYPE="$BUILD_TYPE VIGRA"
4153    SYSTEM_VIGRA=NO
4155 AC_SUBST(SYSTEM_VIGRA)
4157 dnl ===================================================================
4158 dnl Check for system odbc
4159 dnl ===================================================================
4160 AC_MSG_CHECKING([which odbc headers to use])
4161 if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \
4162         test "$with_system_odbc_headers" != "no"; then
4163    AC_MSG_RESULT([external])
4164    SYSTEM_ODBC_HEADERS=YES
4166    AC_CHECK_HEADER(sqlext.h, [],
4167       [AC_MSG_ERROR(odbc not found. install odbc)], [])
4168 else
4169    AC_MSG_RESULT([internal])
4170    SYSTEM_ODBC_HEADERS=NO
4171    BUILD_TYPE="$BUILD_TYPE UNIXODBC"
4173 AC_SUBST(SYSTEM_ODBC_HEADERS)
4175 AC_MSG_CHECKING([whether to enable build of Mozilla/Mozilla NSS-using components])
4176 if test "$enable_mozilla" = "no"; then
4177    AC_MSG_RESULT([no])
4178    WITH_MOZILLA=NO
4179 else
4180    AC_MSG_RESULT([yes])
4181    WITH_MOZILLA=YES
4183 AC_SUBST(WITH_MOZILLA)
4185 AC_MSG_CHECKING([whether to build Mozilla addressbook connectivity])
4186 if test "$enable_mozilla" = "no"; then
4187    AC_MSG_RESULT([no])
4188 elif test "$with_system_mozilla" = "yes"; then
4189    AC_MSG_RESULT([no, not possible with system-mozilla])
4190 else
4191    AC_MSG_RESULT([yes])
4194 AC_MSG_CHECKING([whether to build XML Security support])
4195 if test "$enable_mozilla" = "no"; then
4196    AC_MSG_RESULT([no, since Mozilla (NSS) disabled but needed])
4197 else
4198    AC_MSG_RESULT([yes])
4201 AC_MSG_CHECKING([whether to build LDAP configuration backend])
4202 if test -z "$enable_ldap" || test "$enable_ldap" = "yes"; then
4203    if test "$enable_mozilla" = "yes" || test "$with_openldap" = "yes"; then
4204       AC_MSG_RESULT([yes])
4205       WITH_LDAP=YES
4206    else
4207       AC_MSG_RESULT([no. Either Mozilla or OpenLDAP needed])
4208       WITH_LDAP=NO
4209    fi
4210 else
4211    AC_MSG_RESULT([no])
4212    WITH_LDAP=NO
4215 if test "$WITH_LDAP" = "YES"; then
4216    dnl ===================================================================
4217    dnl Test whether we want to use the Mozilla or the OpenLDAP LDAP SDK
4218    dnl ===================================================================
4219    AC_MSG_CHECKING([which LDAP SDK to use])
4220    if test -n "$with_openldap" && test "$with_openldap" != "no"; then
4221            AC_MSG_RESULT([OpenLDAP])
4222            WITH_OPENLDAP=YES
4223            AC_CHECK_HEADERS(ldap.h, [],
4224                    [AC_MSG_ERROR(ldap.h not found. install openldap libs)], [])
4225            AC_CHECK_LIB(ldap, ldap_simple_bind_s, [],
4226                    [AC_MSG_ERROR(openldap lib not found or functional)], [])
4227            # rumours say that OpenLDAP doesn't have that function. I looked and
4228            # it has it. Test for it to be sure
4229          AC_CHECK_LIB(ldap, ldap_set_option, [],
4230                 [AC_MSG_ERROR(openldap lib not found or functional)], [])
4231    else
4232            AC_MSG_RESULT([Netscape/Mozilla])
4233            # TODO. Actually do a sanity check and check for
4234            # LDAP_OPT_SIZELIMIT and LDAP_X_OPT_CONNECT_TIMEOUT 
4235            WITH_OPENLDAP=NO
4236    fi
4238 AC_SUBST(WITH_LDAP)
4239 AC_SUBST(WITH_OPENLDAP)
4241 dnl ===================================================================
4242 dnl Check for system mozilla
4243 dnl ===================================================================
4244 AC_MSG_CHECKING([which mozilla to use])
4245 if test -n "$with_system_mozilla" && test "$with_system_mozilla" != "no"; then
4246     AC_MSG_RESULT([external])
4247     SYSTEM_MOZILLA=YES
4248     AC_MSG_CHECKING([which Mozilla flavour to use])
4249     if test -n "$with_system_mozilla" && test "$with_system_mozilla" = "libxul"; then
4250       MOZ_FLAVOUR=libxul
4251     elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "xulrunner"; then
4252       MOZ_FLAVOUR=xulrunner
4253     elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "seamonkey"; then
4254       MOZ_FLAVOUR=seamonkey
4255     elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "firefox"; then
4256       MOZ_FLAVOUR=firefox
4257     elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "mozilla"; then
4258       MOZ_FLAVOUR=mozilla
4259     else
4260       MOZ_FLAVOUR=libxul
4261     fi
4262     tmp=`echo $MOZ_FLAVOUR | $PERL -e 'print ucfirst(<STDIN>);'`
4263     AC_MSG_RESULT($tmp)
4265     PKG_CHECK_MODULES( MOZ_NSS, nss, STANDALONENSS="TRUE", STANDALONENSS="" )
4266     if test -z "$STANDALONENSS"; then
4267         PKG_CHECK_MODULES( MOZ_NSS, $MOZ_FLAVOUR-nss )
4268     else
4269         NSS_LIB="-L`$PKG_CONFIG --variable=libdir nss`"
4270         AC_SUBST(NSS_LIB)
4271     fi
4273     if $PKG_CONFIG --exists nspr ; then
4274       PKG_CHECK_MODULES( MOZ_NSPR, nspr )
4275       NSPR_LIB="-L`$PKG_CONFIG --variable=libdir nspr`"
4276       AC_SUBST(NSPR_LIB)
4277     else
4278       PKG_CHECK_MODULES( MOZ_NSPR, $MOZ_FLAVOUR-nspr )
4279     fi
4281     if test "$MOZ_FLAVOUR" != "libxul"; then
4282       PKG_CHECK_MODULES( MOZILLAXPCOM, $MOZ_FLAVOUR-xpcom, HASXPCOM="TRUE", HASXPCOM="" )
4283       MOZ_INC=`$PKG_CONFIG --variable=includedir $MOZ_FLAVOUR-xpcom`
4284       MOZ_LIB=`$PKG_CONFIG --variable=libdir $MOZ_FLAVOUR-xpcom`
4285     fi
4287     if test -z "$HASXPCOM"; then
4288       PKG_CHECK_MODULES( MOZILLAXPCOM, libxul )
4289       MOZ_INC=`$PKG_CONFIG --variable=includedir libxul`
4290       MOZ_LIB=`$PKG_CONFIG --variable=libdir libxul`
4291       if ! test -e "$MOZ_LIB/libxul.so"; then
4292          MOZ_LIB=`$PKG_CONFIG --variable=sdkdir libxul`
4293          if test -e "$MOZ_LIB/sdk/lib/libxul.so"; then
4294             MOZ_LIB="$MOZ_LIB/sdk/lib"
4295          fi
4296       fi
4297     fi
4299     save_CPPFLAGS="$CPPFLAGS"
4300     save_LDFLAGS="$LDFLAGS"
4301     save_LIBS="$LIBS"
4302     CPPFLAGS="$CPPFLAGS $MOZ_NSS_CFLAGS"
4303     LDFLAGS="$LDFLAGS $MOZ_NSS_LIBS"
4304     AC_CHECK_LIB(nss3, PK11_GetCertFromPrivateKey, [], 
4305       [AC_MSG_ERROR(PK11_GetCertFromPrivateKey missing but needed.
4306 See https://bugzilla.mozilla.org/show_bug.cgi?id=262274.
4307 Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5))], [])
4308     LDFLAGS="$save_LDFLAGS"
4309     CPPFLAGS="$save_CPPFLAGS"
4310     LIBS="$save_LIBS"
4312     MOZ_LIB_XPCOM=$MOZILLAXPCOM_LIBS
4313     if test "$WITH_LDAP" != "NO" && test "$WITH_OPENLDAP" != "YES"; then
4314       AC_MSG_CHECKING([whether $tmp was compiled with --enable-ldap])
4315       if test -d "$MOZ_INC/ldap"; then
4316          AC_MSG_RESULT([yes])
4317          MOZ_LDAP_CFLAGS="-I$MOZ_INC"
4318       else
4319         AC_MSG_ERROR([no.
4320 Could not find LDAP header include files in $MOZ_INC/ldap.
4321 Please recompile $tmp with --enable-ldap or use --with-openldap.])
4322       fi
4323     fi
4325     #e.g. http://fedoraproject.org/wiki/Releases/FeatureXULRunnerAPIChanges
4326     #the plugin pkg-config etc. reverts to "mozilla-plugin" with libxul
4327     if test "$MOZ_FLAVOUR" == "libxul"; then
4328         MOZ_FLAVOUR="mozilla"
4329     fi
4331 elif test "$enable_mozilla" = "no"; then
4332     AC_MSG_RESULT([none])
4333     WITH_MOZILLA=NO
4334 else
4335     AC_MSG_RESULT([internal])
4336     SYSTEM_MOZILLA=NO
4337     BUILD_TYPE="$BUILD_TYPE MOZ"
4338 if test -z "$with_mozilla_version"; then
4339    MOZILLA_VERSION=
4340 else
4341    AC_MSG_CHECKING([which mozilla version to build])
4342    MOZILLA_VERSION=$with_mozilla_version
4343    enable_build_mozilla=1
4344    AC_MSG_RESULT([$MOZILLA_VERSION])
4347 AC_SUBST(MOZILLA_VERSION)
4349 AC_MSG_CHECKING([for toolkit mozilla should use])
4350 if test -z "$with_mozilla_toolkit"; then
4351    if test "$_os" != "WINNT" ; then
4352       if test "$_os" = "Darwin" ; then
4353          MOZILLA_TOOLKIT=mac  
4354          AC_MSG_RESULT([mac])
4355       else
4356          MOZILLA_TOOLKIT=gtk2
4357          AC_MSG_RESULT([gtk2])
4358       fi
4359    fi
4360 else
4361    MOZILLA_TOOLKIT=$with_mozilla_toolkit
4362    enable_build_mozilla=1
4363    AC_MSG_RESULT([$MOZILLA_TOOLKIT])
4365 #if test "$_os" = "Darwin" && test "$MOZILLA_TOOLKIT" != "gtk2"; then
4366 #   #only gtk2 toolkit supported - xlib or cocoa nees glib1 and libIDL1 - the latter is not
4367 #   #available using fink, mac (carbon) doesn't work because xcode installs conflicting headers
4368 #   AC_MSG_ERROR([Only gtk2 toolkit supported on Mac, sorry.])
4371 AC_SUBST(MOZILLA_TOOLKIT)
4373 # default to enabling build mozilla
4374 if test "$enable_build_mozilla" != "no"; then
4375       enable_build_mozilla=yes
4376 else
4377       enable_build_mozilla=
4380 AC_MSG_CHECKING([whether to build Mozilla/SeaMonkey])
4381 if test -n "$enable_build_mozilla"; then
4382    BUILD_MOZAB="TRUE"
4383    AC_MSG_RESULT([yes])
4384 else
4385    BUILD_MOZAB=""       
4386    AC_MSG_RESULT([no])
4389 if test "$BUILD_MOZAB" = "TRUE"; then
4390   if test "$_os" = "WINNT"; then
4391     if test "$WITH_MINGWIN" != "yes"; then
4392       # compiling with MSVC. Only supported platform here is MSVS2005 at the moment.
4393       if test "$MSVSVER" != "2005"; then
4394         AC_MSG_ERROR([Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only.])
4395       fi
4396     else
4397       AC_MSG_WARN([Building SeaMonkey with mingwin is not tested, and likely to break.])
4398       echo "Building SeaMonkey with mingwin is not tested, and likely to break." >> warn
4399     fi
4400   fi
4402    if test -z "$MOZILLA_VERSION"; then
4403       MOZILLA_VERSION=1.1.13
4404    fi
4405    MOZILLA_SOURCE_VERSION="seamonkey-${MOZILLA_VERSION}.source"
4406    for e in gz bz2; do
4407       AC_MSG_CHECKING([for $MOZILLA_SOURCE_VERSION.tar.$e])
4408       if test ! -e "moz/download/$MOZILLA_SOURCE_VERSION.tar.$e" && test "$HAVE_MOZILLA_TARBALL" != "y"; then
4409          AC_MSG_RESULT([not found])
4410          HAVE_MOZILLA_TARBALL=n
4411       else
4412          AC_MSG_RESULT([found])
4413          HAVE_MOZILLA_TARBALL=y
4414       fi
4415    done
4416    if test "$HAVE_MOZILLA_TARBALL" != "y"; then
4417          AC_MSG_ERROR([Mozilla/SeaMonkey source archive not found.
4418 Please copy $MOZILLA_SOURCE_VERSION.tar.bz2 or $MOZILLA_SOURCE_VERSION.tar.gz to moz/download/.
4419 The archives can be found here:
4420 http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/$MOZILLA_VERSION/])
4421    fi
4422    if test "$_os" = "WINNT"; then
4423       AC_MSG_CHECKING([for moztools binaries])
4424       if test ! -e "moz/download/vc8-moztools.zip" ; then
4425         AC_MSG_ERROR([The following file is missing in moz/download: vc8-moztools.zip
4426 (from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)])
4427       else
4428          AC_MSG_RESULT([ok])
4429       fi
4430    elif test "$_os" = "Darwin"; then
4431       if test "$MOZILLA_TOOLKIT" = "gtk2"; then
4432          AC_MSG_NOTICE([checking whether mozilla can be built...])
4433          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]))
4434       else
4435          PKG_CHECK_MODULES(MOZLIBREQ, libIDL >= 0.6.3 libIDL <= 0.6.8, MOZIDL="TRUE", MOZIDL="")
4436          if test -z "$MOZIDL"; then
4437             AC_MSG_ERROR([libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla.])
4438          fi
4439       fi
4440    else
4441       # Generic Unix/Linux section
4442       if test "$MOZILLA_TOOLKIT" = "gtk2"; then
4443          PKG_CHECK_MODULES(MOZLIBREQ, gtk+-2.0, MOZGTK="TRUE", MOZGTK="")
4444          if test -z "$MOZGTK"; then
4445             AC_MSG_ERROR([GTK2 is needed to build mozilla.])
4446          fi
4447          PKG_CHECK_MODULES(MOZLIBREQ, libIDL-2.0 >= 0.8.0, MOZIDL="TRUE", MOZIDL="")
4448          if test -z "$MOZIDL"; then
4449             AC_MSG_ERROR([libIDL >= 0.8.0 is needed when using GTK2 to build mozilla.])
4450          fi 
4451       else
4452          PKG_CHECK_MODULES(MOZLIBREQ, gtk+ >= 1.2.3, MOZGTK="TRUE", MOZGTK="")
4453          if test -z "$MOZGTK"; then
4454             AC_MSG_ERROR([gtk 1.2 is needed when not using GTK2 to build mozilla.])
4455          fi
4456          PKG_CHECK_MODULES(MOZLIBREQ, libidl >= 0.6.3 libidl <= 0.6.8, MOZIDL="TRUE", MOZIDL="")
4457          if test -z "$MOZIDL"; then
4458             AC_MSG_ERROR([libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla.])
4459          fi
4460       fi
4461    fi
4464 AC_SUBST(BUILD_MOZAB)
4467 AC_SUBST(SYSTEM_MOZILLA)
4468 AC_SUBST(MOZ_FLAVOUR)
4469 AC_SUBST(MOZ_INC)
4470 AC_SUBST(MOZ_LIB)
4471 AC_SUBST(MOZ_LIB_XPCOM)
4472 AC_SUBST(MOZ_NSPR_CFLAGS)
4473 AC_SUBST(MOZ_NSS_CFLAGS)
4474 AC_SUBST(MOZ_LDAP_CFLAGS)
4476 dnl ===================================================================
4477 dnl Check for system sane
4478 dnl ===================================================================
4479 AC_MSG_CHECKING([which sane header to use])
4480 if test -n "$with_system_sane_header" -o -n "$with_system_headers" && \
4481         test "$with_system_sane_header" != "no"; then
4482    AC_MSG_RESULT([external])
4483    SYSTEM_SANE_HEADER=YES
4484    AC_CHECK_HEADER(sane/sane.h, [],
4485       [AC_MSG_ERROR(sane not found. install sane)], [])
4486 else
4487    AC_MSG_RESULT([internal])
4488    SYSTEM_SANE_HEADER=NO
4489    BUILD_TYPE="$BUILD_TYPE SANE"
4491 AC_SUBST(SYSTEM_SANE_HEADER)
4493 dnl ===================================================================
4494 dnl Check for system icu
4495 dnl ===================================================================
4496 AC_MSG_CHECKING([which icu to use])
4497 if test -n "$with_system_icu" -o -n "$with_system_libs" && \
4498         test "$with_system_icu" != "no"; then
4499    AC_MSG_RESULT([external])
4500    SYSTEM_ICU=YES
4501    AC_LANG_PUSH([C++])
4502    AC_MSG_CHECKING([for unicode/rbbi.h])
4503    AC_TRY_CPP(unicode/rbbi.h, AC_MSG_RESULT([checked.]), AC_MSG_ERROR([icu headers not found.]))
4504    AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin])
4505    if test -z "$SYSTEM_GENBRK"; then
4506       AC_MSG_ERROR([\"genbrk\" not found in \$PATH, install the icu development tool \"genbrk"\])
4507    fi
4508    AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin])
4509    if test -z "$SYSTEM_GENCCODE"; then
4510       AC_MSG_ERROR([\"genccode\" not found in \$PATH, install the icu development tool \"genccode"\])
4511    fi
4512    AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin])
4513    if test -z "$SYSTEM_GENCMN"; then
4514       AC_MSG_ERROR([\"gencmn\" not found in \$PATH, install the icu development tool \"gencmn"\])
4515    fi
4516    AC_MSG_CHECKING([ICU version])
4517       AC_TRY_RUN([
4518 #include <unicode/uversion.h>
4520 int main(int argc, char **argv) {
4521       if(U_ICU_VERSION_MAJOR_NUM < 4)
4522         return 1;
4523       else
4524         return 0;
4526       ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, only >= 4.0 supported currently])])
4527       AC_LANG_POP([C++])
4528 else
4529     AC_MSG_RESULT([internal])
4530     SYSTEM_ICU=NO
4531     BUILD_TYPE="$BUILD_TYPE ICU"
4533 AC_SUBST(SYSTEM_ICU)
4534 AC_SUBST(SYSTEM_GENBRK)
4535 AC_SUBST(SYSTEM_GENCCODE)
4536 AC_SUBST(SYSTEM_GENCMN)
4538 dnl ===================================================================
4539 dnl Checks for libraries.
4540 dnl ===================================================================
4541 dnl Check for Mac OS X native GUI, which may be used instead of X11.
4542 dnl Check for a lack of --with-x option on Darwin.  If it is missing, look to
4543 dnl see if we have the AppKit framework for building with Quartz graphics.
4545 if test  "$_os" = "Darwin"  -a  "x$with_x" != "xyes"  -a  "x$x_includes" = "xNONE"  -a  "x$x_libraries" = "xNONE"; then
4546    dnl System is either Mac OS X or pure Darwin, and --with-x was not specified
4547    dnl Default to Aqua graphics if available.
4548    AC_MSG_CHECKING([for /System/Library/Frameworks/AppKit.framework])
4549    if test -d "/System/Library/Frameworks/AppKit.framework/"; then
4550       AC_MSG_RESULT([yes])
4551       x_includes="no_x_includes"
4552       x_libraries="no_x_libraries"
4553       dnl disable some things used on other Unix versions but not on the aqua build
4554       enable_gtk=no
4555       enable_cups=no
4556       ENABLE_CUPS=""
4557       AC_SUBST(ENABLE_CUPS)
4558    else
4559       AC_MSG_RESULT([no])
4560       dnl Probably a pure Darwin system. Check for X11 below.
4561    fi
4564 dnl ***************************************
4565 dnl testing for X libraries and includes...
4566 dnl ***************************************
4567 if test "$_os" = "Darwin" -a "x$x_includes" = "xno_x_includes"; then
4568    echo "Do Nothing for _os = Darwin and x_includes = no_x_includes"
4569    dnl Mac OS X using Aqua graphics. Don't check for X11.
4570    :
4571 elif test "$_os" = "OS2" ; then
4572    echo "Do Nothing for _os = OS2. Don't check for X11."
4573    dnl OS/2 uses native graphics. Don't check for X11.
4574    :
4575 elif test "$_os" != "WINNT" ; then
4576    AC_PATH_X
4577    AC_PATH_XTRA
4578    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
4580    if test "x$x_includes" = "x"; then
4581      x_includes="default_x_includes"
4582    fi
4583    if test "x$x_libraries" = "x"; then
4584      x_libraries="default_x_libraries"
4585    fi
4586    dnl The variables $x_libraries and $x_includes are set.
4587    if test -z "$x_libraries"; then
4588       AC_MSG_ERROR([No X libraries found]) # Exit
4589    fi
4590    if test -z "$x_includes"; then
4591       AC_MSG_ERROR([No X includes found]) # Exit
4592    fi
4593    CFLAGS=$X_CFLAGS
4594    LDFLAGS="$X_LDFLAGS $X_LIBS"
4595    AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", [AC_MSG_ERROR([X Development libraries not found])])
4596    dnl Check if the XauDisposeAuth symbol is provided by libXau.
4597    AC_CHECK_LIB(Xau, XauDisposeAuth, XAU_LIBS="-lXau", [])
4598 else
4599    x_includes="no_x_includes"
4600    x_libraries="no_x_libraries"
4602 if test -z "$x_includes"; then
4603    x_includes="no_x_includes"
4605 if test -z "$x_libraries"; then
4606    x_libraries="no_x_libraries"
4608 if test "$x_includes" = "default_x_includes"; then
4609    XINC="/usr/include"
4610 else
4611    XINC="$x_includes"
4613 AC_SUBST(XINC)
4614 if test "$x_libraries" = "default_x_libraries"; then
4615    XLIB=`$PKG_CONFIG --variable=libdir x11`
4616    if test "x$XLIB" = x; then
4617          XLIB="/usr/lib"
4618    fi
4619 else
4620    XLIB="$x_libraries"
4622 AC_SUBST(XLIB)
4623 AC_SUBST(XAU_LIBS)
4625 if test "$_os" != "WINNT" -a "$_os" != "OS2" -a "$_os" != "Darwin"; then
4626    dnl ===================================================================
4627    dnl Check for using Xaw
4628    dnl ===================================================================
4629    AC_MSG_CHECKING([whether to use Xaw])
4630    if test "$enable_Xaw" = "no"; then
4631        DISABLE_XAW=TRUE
4632        AC_MSG_RESULT([no])
4633        AC_CHECK_HEADERS(X11/Composite.h,[],[AC_MSG_ERROR([Xt include headers not found])],
4634          [#include <X11/Intrinsic.h>])
4635    else
4636        AC_MSG_RESULT([yes])
4637        AC_CHECK_HEADERS(X11/Xaw/Label.h,[],[AC_MSG_ERROR([Xaw include headers not found])])
4638        AC_CHECK_LIB(Xaw, main, [],
4639            [AC_MSG_ERROR(Xaw library not found or functional)], [])
4640    fi
4642 AC_SUBST(DISABLE_XAW)
4646 dnl ===================================================================
4647 dnl Check if fontconfig/fontconfig.h is available 
4648 dnl ===================================================================
4649 if test "$ENABLE_FONTCONFIG" = "TRUE" ; then
4650     AC_CHECK_HEADER(fontconfig/fontconfig.h, [],
4651                     [AC_MSG_ERROR([fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?])], [])
4652     AC_MSG_CHECKING([whether fontconfig is >= 2.2.0])
4653     AC_TRY_RUN([
4654 #include <fontconfig/fontconfig.h>
4656 int main(int argc, char **argv) {
4657         if(FC_MAJOR > 2 || (FC_MAJOR == 2 && FC_MINOR >= 2)) return 0;
4658         else return 1;
4660 ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, fontconfig >= 2.2.0 needed])])
4663 dnl ===================================================================
4664 dnl Check for system Xrender
4665 dnl ===================================================================
4666 AC_MSG_CHECKING([whether to link to Xrender])
4667 if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then
4668    AC_MSG_RESULT([yes])
4669    XRENDER_LINK=YES
4670    with_system_xrender_headers=yes
4671 else
4672    AC_MSG_RESULT([no, dynamically open it])
4673    XRENDER_LINK=NO
4675 AC_MSG_CHECKING([which Xrender headers to use])
4676 if test -n "$with_system_xrender_headers" -o -n "$with_system_headers" && \
4677         test "$with_system_xrender_headers" != "no"; then
4678    AC_MSG_RESULT([external])
4679    SYSTEM_XRENDER_HEADERS=YES
4680    AC_CHECK_HEADER(X11/extensions/Xrender.h, [],
4681       [AC_MSG_ERROR(Xrender not found. install X)], [])
4682 else
4683    AC_MSG_RESULT([internal])
4684    SYSTEM_XRENDER_HEADERS=NO
4685    BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS"
4687 if test "$XRENDER_LINK" = "YES"; then
4688    AC_CHECK_LIB(Xrender, XRenderQueryVersion, [],
4689       [AC_MSG_ERROR(libXrender not found or functional)], [])
4691 AC_SUBST(SYSTEM_XRENDER_HEADERS)
4692 AC_SUBST(XRENDER_LINK)
4694 dnl ===================================================================
4695 dnl Check for XRandr
4696 dnl ===================================================================
4697 AC_MSG_CHECKING([whether to enable RandR support])
4698 if test "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \) ; then
4699    if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then
4700           XRANDR_DLOPEN="TRUE"
4701           AC_MSG_RESULT([resorting to dlopen libXrandr at runtime])
4702    else
4703           XRANDR_DLOPEN="FALSE"
4704       PKG_CHECK_MODULES(XRANDR, xrandr >= 1.2, ENABLE_RANDR="TRUE", ENABLE_RANDR="")
4705       if test "$ENABLE_RANDR" != "TRUE"; then
4706          AC_CHECK_HEADER(X11/extensions/Xrandr.h, [],
4707                         [AC_MSG_ERROR([X11/extensions/Xrandr.h could not be found. X11 dev missing?])], [])
4708          XRANDR_CFLAGS=" "
4709          AC_CHECK_LIB(Xrandr, XRRQueryExtension, [],
4710               [ AC_MSG_ERROR(libXrandr not found or functional) ], [])
4711          XRANDR_LIBS="-lXrandr "
4712          ENABLE_RANDR="TRUE"
4713              AC_MSG_RESULT([enabling RandR support])
4714       fi
4715    fi
4716 else
4717    ENABLE_RANDR=""
4718    AC_MSG_RESULT([no])
4720 AC_SUBST(XRANDR_DLOPEN)
4721 AC_SUBST(XRANDR_CFLAGS)
4722 AC_SUBST(XRANDR_LIBS)
4723 AC_SUBST(ENABLE_RANDR)
4725 dnl ===================================================================
4726 dnl Check for system Mesa
4727 dnl ===================================================================
4728 AC_MSG_CHECKING([which Mesa headers to use])
4729 if test "$with_system_mesa_headers" == "no"; then
4730    AC_MSG_RESULT([internal])
4731    SYSTEM_MESA_HEADERS=NO
4732    BUILD_TYPE="$BUILD_TYPE MESA"
4733 else
4734    AC_MSG_RESULT([external])
4735    SYSTEM_MESA_HEADERS=YES
4737 AC_SUBST(SYSTEM_MESA_HEADERS)
4739 dnl ===================================================================
4740 dnl Check for building neon
4741 dnl ===================================================================
4742 AC_MSG_CHECKING([whether to use neon])
4743 if test "$enable_neon" = "no"; then
4744     AC_MSG_RESULT([no])
4745     DISABLE_NEON=TRUE
4746     AC_SUBST(DISABLE_NEON)
4747 else
4748     AC_MSG_RESULT([yes])
4749 dnl ===================================================================
4750 dnl Check for system neon
4751 dnl ===================================================================
4752 AC_MSG_CHECKING([which neon to use])
4753 if test -n "$with_system_neon" -o -n "$with_system_libs" && \
4754         test "$with_system_neon" != "no"; then
4755         AC_MSG_RESULT([external])
4756         PKG_CHECK_MODULES(NEON, neon >= 0.24.0, , AC_MSG_ERROR([you need neon >= 0.24.x for system-neon]))
4757         NEON_VERSION="`$PKG_CONFIG --modversion neon | $SED 's/\.//g'`"
4758         NEON_CFLAGS="$NEON_CFLAGS -DSYSTEM_NEON -DUSE_DAV_LOCKS=1"
4759         SYSTEM_NEON=YES
4760 else
4761     AC_MSG_RESULT([internal])
4762     SYSTEM_NEON=NO
4763     NEON_LIBS=-lneon
4764     NEON_CFLAGS=
4765     BUILD_TYPE="$BUILD_TYPE NEON"
4767 dnl ===================================================================
4768 dnl Check for system openssl (only neon needs it!)
4769 dnl ===================================================================
4770 if test "$_os" = "Darwin" && test "$with_system_openssl" != "no"; then
4771    with_system_openssl=yes
4773 AC_MSG_CHECKING([which libssl to use])
4774 if test -n "$with_system_openssl" -o -n "$with_system_libs" && \
4775         test "$with_system_openssl" != "no"; then
4776     AC_MSG_RESULT([external])
4777     # Mac OS builds should get out without extra stuff is the Mac porters'
4778     # wish. And pkg-config is although Xcode ships a .pc for openssl
4779     if test "$_os" = "Darwin"; then
4780         OPENSSL_CFLAGS=
4781         OPENSSL_LIBS="-lssl -lcrypto"
4782     else
4783         PKG_CHECK_MODULES( OPENSSL, openssl )
4784     fi
4785     SYSTEM_OPENSSL=YES
4786 else
4787     AC_MSG_RESULT([internal])
4788     SYSTEM_OPENSSL=NO
4789     BUILD_TYPE="$BUILD_TYPE OPENSSL"
4791 AC_SUBST(SYSTEM_OPENSSL)
4792 AC_SUBST(OPENSSL_CFLAGS)
4793 AC_SUBST(OPENSSL_LIBS)
4795 AC_SUBST(SYSTEM_NEON)
4796 AC_SUBST(NEON_VERSION)
4797 AC_SUBST(NEON_LIBS)
4798 AC_SUBST(NEON_CFLAGS)
4801 dnl ===================================================================
4802 dnl Test for disabling agg
4803 dnl ===================================================================
4804 AC_MSG_CHECKING([whether to enable agg])
4805 if test "$with_agg" = "no"; then
4806   AC_MSG_RESULT([no])
4807 else
4808   AC_MSG_RESULT([yes])
4809   ENABLE_AGG=YES
4810   AC_SUBST(ENABLE_AGG)
4812   dnl ===================================================================
4813   dnl Check for system AGG
4814   dnl ===================================================================
4815   AC_MSG_CHECKING([which AGG to use])
4816   if test -n "$with_system_agg" -o -n "$with_system_libs" && \
4817      test "$with_system_agg" != "no"; then
4818          AC_MSG_RESULT([external])
4819          PKG_CHECK_MODULES(AGG, libagg >= 2.3)
4820          AC_MSG_CHECKING([agg version])
4821          # workaround; if AGG_CFLAGS is empty (broken libagg.pc in 2.3), add /usr/include/agg2 anyway
4822          # (/usr/include gets stripped from pkg-config output)
4823          if test -z "$AGG_CFLAGS" || test "$AGG_CFLAGS" = " "; then
4824             AGG_INCDIR="`$PKG_CONFIG --variable includedir libagg`/agg2"
4825          else
4826             AGG_INCDIR="`echo $AGG_CFLAGS | $SED -e s/-I//`"
4827          fi
4828          if $PKG_CONFIG --modversion libagg | grep -q 2.3 || \
4829                 $PKG_CONFIG --modversion libagg | grep -q 2.4; then
4830             # 2.4's libagg.pc.in still contains 2.3 :/
4831             if $EGREP -q "Version 2.4" `echo $AGG_INCDIR`/agg_basics.h; then
4832                AC_MSG_RESULT([2.4])
4833                AGG_VERSION=2400
4834             else
4835                AC_MSG_RESULT([2.3])
4836                AGG_VERSION=2300
4837             fi
4838             SYSTEM_AGG=YES
4839          else
4840             AC_MSG_ERROR([only agg 2.3 and 2.4 are supported])
4841          fi
4842   else
4843          AC_MSG_RESULT([internal])
4844          SYSTEM_AGG=NO
4845          AGG_VERSION=2300
4846          BUILD_TYPE="$BUILD_TYPE AGG"
4847   fi
4848   AC_SUBST(SYSTEM_AGG)
4849   AC_SUBST(AGG_VERSION)
4852 dnl ===================================================================
4853 dnl Check for system redland
4854 dnl ===================================================================
4855 AC_MSG_CHECKING([which redland library to use])
4856 dnl if test -n "$with_system_redland" -o -n "$with_system_libs" && \
4857 dnl     test "$with_system_redland" != "no"; then
4858 dnl mst: NOTE: right now we need patches against redland
4859 dnl            so we only enable system redland if explicitly requested
4860 dnl            if next version includes patches, insert version check here
4861 if test -n "$with_system_redland" && \
4862         test "$with_system_redland" != "no"; then
4863         AC_MSG_RESULT([external])
4864         SYSTEM_REDLAND=YES
4865         PKG_CHECK_MODULES(REDLAND, redland)
4866 else
4867         AC_MSG_RESULT([internal])
4868         BUILD_TYPE="$BUILD_TYPE REDLAND"
4869         SYSTEM_REDLAND=NO
4871 AC_SUBST(SYSTEM_REDLAND)
4872 AC_SUBST(REDLAND_LIBS)
4874 dnl ===================================================================
4875 dnl Check for system hunspell
4876 dnl ===================================================================
4877 AC_MSG_CHECKING([which libhunspell to use])
4878 if test -n "$with_system_hunspell" -o -n "$with_system_libs" && \
4879         test "$with_system_hunspell" != "no"; then
4880     AC_MSG_RESULT([external])
4881     SYSTEM_HUNSPELL=YES
4882     AC_LANG_PUSH([C++])
4883     PKG_CHECK_MODULES(HUNSPELL, hunspell, HUNSPELL_PC="TRUE", HUNSPELL_PC="" )
4884     if test "$HUNSPELL_PC" != "TRUE"; then
4885       AC_CHECK_HEADER(hunspell.hxx, [],
4886       [
4887       AC_CHECK_HEADER(hunspell/hunspell.hxx, [ HUNSPELL_CFLAGS=-I/usr/include/hunspell ],
4888            [AC_MSG_ERROR(hunspell headers not found.)], [])
4889          ], [])
4890       AC_CHECK_LIB(hunspell, main, [],
4891            [ AC_MSG_ERROR(hunspell library not found.) ], [])
4892       HUNSPELL_LIBS=-lhunspell
4893      fi
4894     AC_LANG_POP([C++])
4895 else
4896     AC_MSG_RESULT([internal])
4897     SYSTEM_HUNSPELL=NO
4898     BUILD_TYPE="$BUILD_TYPE HUNSPELL"
4900 AC_SUBST(SYSTEM_HUNSPELL)
4901 AC_SUBST(HUNSPELL_CFLAGS)
4902 AC_SUBST(HUNSPELL_LIBS)
4904 dnl ===================================================================
4905 dnl Checking for altlinuxhyph
4906 dnl ===================================================================
4907 AC_MSG_CHECKING([which altlinuxhyph to use])
4908 if test -n "$with_system_altlinuxhyph" -o -n "$with_system_libs" && \
4909         test "$with_system_altlinuxhyph" != "no"; then
4910     AC_MSG_RESULT([external])
4911     SYSTEM_HYPH=YES
4912     AC_CHECK_HEADER(hyphen.h, [],
4913        [ AC_MSG_ERROR(altlinuxhyph headers not found.)], [])
4914     AC_CHECK_MEMBER(struct _HyphenDict.cset, [],
4915        [ AC_MSG_ERROR(no. You are sure you have altlinuyhyph headers?)],
4916        [#include <hyphen.h>])
4917     AC_CHECK_LIB(hyphen, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyphen],
4918         [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
4919     if test -z "$HYPHEN_LIB"; then
4920        AC_CHECK_LIB(hyph, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyph],
4921            [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
4922     fi
4923     if test -z "$HYPHEN_LIB"; then
4924        AC_CHECK_LIB(hnj, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhnj],
4925            [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
4926     fi
4927 else
4928     AC_MSG_RESULT([internal])
4929     SYSTEM_HYPH=NO
4931 AC_SUBST(SYSTEM_HYPH)
4932 AC_SUBST(HYPHEN_LIB)
4934 dnl ===================================================================
4935 dnl Checking for mythes
4936 dnl ===================================================================
4937 AC_MSG_CHECKING([which mythes to use])
4938 if test -n "$with_system_mythes" && test "$with_system_mythes" != "no"; then
4939     AC_MSG_RESULT([external])
4940     SYSTEM_MYTHES=YES
4941     AC_CHECK_HEADER(mythes.hxx, [],
4942        [ AC_MSG_ERROR(mythes.hxx headers not found.)], [])
4943     AC_CHECK_LIB(mythes, main, [],
4944         [ AC_MSG_ERROR(mythes library not found.)], [])
4945 else
4946     AC_MSG_RESULT([internal])
4947     SYSTEM_MYTHES=NO
4949 AC_SUBST(SYSTEM_MYTHES)
4951 dnl ===================================================================
4952 dnl Checking for lpsolve
4953 dnl ===================================================================
4954 AC_MSG_CHECKING([which lpsolve to use])
4955 if test -n "$with_system_lpsolve" -o -n "$with_system_libs" && \
4956         test "$with_system_lpsolve" != "no"; then
4957     AC_MSG_RESULT([external])
4958     SYSTEM_LPSOLVE=YES
4959     AC_CHECK_HEADER(lpsolve/lp_lib.h, [],
4960        [ AC_MSG_ERROR(lpsolve headers not found.)], [])
4961     AC_CHECK_LIB(lpsolve55, make_lp, ,
4962         [ AC_MSG_ERROR(lpsolve library not found or too old.)], [])
4963 else
4964     AC_MSG_RESULT([internal])
4965     SYSTEM_LPSOLVE=NO
4966     BUILD_TYPE="$BUILD_TYPE LPSOLVE"
4968 AC_SUBST(SYSTEM_LPSOLVE)
4970 dnl ***************************************
4971 dnl testing libc version for Linux...
4972 dnl ***************************************
4973 if test "$_os" = "Linux"; then
4974    AC_MSG_CHECKING([whether libc is >= 2.1.1])
4975    exec 6>/dev/null # no output
4976    AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC)
4977    exec 6>&1 # output on again
4978    if test "$HAVE_LIBC"; then
4979       AC_MSG_RESULT([yes])
4980    else
4981       AC_MSG_ERROR([no, upgrade libc])
4982    fi
4985 dnl =========================================
4986 dnl Check for the Microsoft Platform SDK.
4987 dnl =========================================
4988 dnl FIXME: I don't know yet if PSDK works with MinGW, keep it until I know better,
4989 dnl and add "-a \( "$WITH_MINGWIN" != "yes" \)" then
4990 if test \( "$_os" = "WINNT" \) ; then
4991         AC_MSG_CHECKING([for PSDK files])
4992         if test -z "$with_psdk_home"; then
4993                 # This first line will detect a February 2003 Microsoft Platform SDK
4994                 PSDK_HOME=`./oowintool --psdk-home`
4995         # But there might be also an April 2005 PSDK, unfortunately MS changed
4996         # the registry entry. (we prefer the old version!?)
4997         if test -z "$PSDK_HOME"; then
4998           PSDK_HOME=`cat /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/*/Install\ Dir 2> /dev/null | tr '\000' '\n' | head -n 1`
4999         fi
5000             # normalize if found
5001             if test -n "$PSDK_HOME"; then
5002               PSDK_HOME=`cygpath -d "$PSDK_HOME"`
5003               PSDK_HOME=`cygpath -u "$PSDK_HOME"`
5004            fi
5005         else
5006            PSDK_HOME=`cygpath -u "$with_psdk_home"`
5007         fi
5008         # Remove a possible trailing backslash
5009         PSDK_HOME=`echo $PSDK_HOME | $SED 's/\/$//'`
5010     # Problem with current PSDK (iz 49865)
5011     if test -f "$PSDK_HOME/Lib/libcp.lib"; then
5012         AC_MSG_ERROR([
5014 Some modules do not build correctly with MS Platform SDK - April 2005
5015 Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found.
5016 Remove/rename/backup that file and restart configure. Details about this
5017 problem can be found in issue 49856.])
5018     fi
5019 # WIndows SDK has different headers
5020         if test \( -f "$PSDK_HOME/Include/adoint.h" \) \
5021                  -a \( -f "$PSDK_HOME/Include/SqlUcode.h" \) \
5022                  -a \( -f "$PSDK_HOME/Include/usp10.h" \); then
5023                 HAVE_PSDK_H="yes"
5024         else
5025                 HAVE_PSDK_H="no"
5026         fi
5027         if test -f "$PSDK_HOME/lib/unicows.lib"; then
5028                 HAVE_PSDK_LIB="yes"
5029         else
5030                 HAVE_PSDK_LIB="no"
5031         fi
5032     if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then
5033         AC_MSG_ERROR([Some (all?) PSDK files not found, please check if all needed Platform SDKs
5034 are installed or use --with-psdk-home .])
5035     fi
5036     if test ! -x "$PSDK_HOME/bin/msiinfo.exe" \
5037          -o ! -x "$PSDK_HOME/bin/msidb.exe" \
5038          -o ! -x "$PSDK_HOME/bin/uuidgen.exe" \
5039          -o ! -x "$PSDK_HOME/bin/msitran.exe" ; then
5040         AC_MSG_ERROR([Some (all) files of the Windows Installer SDK are missing, please install.])
5041     fi
5042     AC_MSG_RESULT([SDK files found ...)])
5043 dnl Check if this is the right SDK.
5044     if echo $PSDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then
5045         AC_MSG_RESULT([Found Windows SDK 6.1 ($PSDK_HOME)])
5046         WINDOWS_VISTA_PSDK=TRUE
5047     elif echo $PSDK_HOME | grep "v6.0" >/dev/null 2>/dev/null; then
5048         AC_MSG_RESULT([Found Windows SDK 6.0 ($PSDK_HOME)])
5049         WINDOWS_VISTA_PSDK=TRUE
5050     else
5051         AC_MSG_RESULT([Found Legacy Windows Platform SDK ($PSDK_HOME)])
5052     fi
5054 AC_SUBST(PSDK_HOME)
5055 AC_SUBST(WINDOWS_VISTA_PSDK)
5057 dnl =========================================
5058 dnl Check for the Microsoft DirectX SDK.
5059 dnl =========================================
5060 if test \( "$_os" = "WINNT" \) ; then
5061     AC_MSG_CHECKING([for DirectX SDK files])
5062     if test -z "$with_directx_home"; then
5063         dnl A standard installation of the DirectX SDK sets $DXSDK_DIR
5064         if test -n "$DXSDK_DIR"; then
5065             DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"`
5066             DIRECTXSDK_HOME=`cygpath -u "$DIRECTXSDK_HOME"`
5067         fi
5068         # At this point $DIRECTXSDK_HOME might still be undefined. This will lead to
5069         # the "DirectX SDK files not found" error later
5070     else
5071         DIRECTXSDK_HOME=`cygpath -u "$with_directx_home"`
5072     fi
5073     # Remove a possible trailing backslash
5074     DIRECTXSDK_HOME=`echo $DIRECTXSDK_HOME | $SED 's/\/$//'`
5076     if test -f "$DIRECTXSDK_HOME/Include/ddraw.h" ; then
5077         HAVE_DIRECTXSDK_H="yes"
5078     else
5079         HAVE_DIRECTXSDK_H="no"
5080     fi
5081     # MS changed the location of the libraries with dec 2004 directx sdk
5082     if test -d "$DIRECTXSDK_HOME/lib/x86" ; then
5083         DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib/x86"
5084     else
5085         DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib"
5086     fi
5087     if test -f "$DIRECTXSDK_LIB/ddraw.lib" ; then
5088         HAVE_DIRECTXSDK_LIB="yes"
5089     else
5090         HAVE_DIRECTXSDK_LIB="no"
5091     fi
5092     if test -n "$ENABLE_DIRECTX"; then
5093             if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then
5094                     AC_MSG_RESULT([found])
5095             else
5096                     AC_MSG_ERROR([DirectX SDK files not found, please use --with-directx-home or -disable-directx.])
5097             fi
5098     else
5099                 DIRECTXSDK_HOME=""
5100                 AC_MSG_RESULT([disabled])
5101     fi
5103 AC_SUBST(DIRECTXSDK_HOME)
5104 AC_SUBST(DIRECTXSDK_LIB)
5106 dnl ============================================
5107 dnl Check for Nullsoft Scriptable Install System
5108 dnl ============================================
5109 NSIS_PATH=""
5110 if test "$_os" = "WINNT" ; then
5111     AC_MSG_CHECKING([for NSIS])
5112     AC_PATH_PROG(NSIS_PATH, nsis.exe)
5113     if test -n "$NSIS_PATH"; then
5114         NSIS_PATH=`dirname "$NSIS_PATH"`
5115     fi
5116     if test -n "$with_nsis_path"; then
5117         with_nsis_path=`cygpath -u "$with_nsis_path"`
5118     fi
5119     if test -e "$with_nsis_path/nsis.exe"; then
5120         NSIS_PATH="$with_nsis_path"
5121     fi
5122     nsistest=`./oowintool --nsis-dir`;
5123     if test -x "$nsistest/nsis.exe"; then
5124         NSIS_PATH="$nsistest"
5125     fi
5126     if test -z "$NSIS_PATH"; then
5127         AC_MSG_WARN([NSIS not found, no self contained installer will be build.])
5128         echo "NSIS not found, no self contained installer will be build." >> warn
5129     else
5130         NSIS_PATH=`cygpath -d "$NSIS_PATH"`
5131         NSIS_PATH=`cygpath -u "$NSIS_PATH"`
5132         AC_MSG_RESULT([found ($NSIS_PATH)])
5133     fi
5135 AC_SUBST(NSIS_PATH)
5137 dnl ***************************************
5138 dnl testing bison and flex exist
5139 dnl ***************************************
5140 AC_PATH_PROG(BISON, bison)
5141 if test -z "$BISON"; then
5142    AC_MSG_ERROR([no bison found in \$PATH, install bison])
5143 else
5144    AC_MSG_CHECKING([the bison version])
5145    _bison_version=`$BISON --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
5146     _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'`
5147     # Accept newer than 1.875 or older(equal) than 1.75
5148     if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then
5149        if test "$_bison_version" = "1.875" ; then
5150           AC_MSG_WARN([suspect ($BISON $_bison_version)])
5151           echo "Suspect ($BISON $_bison_version) suggest upgrade" >> warn
5152        else
5153           AC_MSG_RESULT([checked ($BISON $_bison_version)])
5154        fi
5155     else
5156        AC_MSG_ERROR([failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))])
5157     fi
5159 AC_PATH_PROG(FLEX, flex)
5160 if test -z "$FLEX"; then
5161    AC_MSG_ERROR([no flex found in \$PATH, install flex])
5163 dnl ***************************************
5164 dnl testing that patch exists
5165 dnl ***************************************
5166 AC_PATH_PROG(PATCH, patch)
5167 if test -z "$PATCH"; then
5168    AC_MSG_ERROR([\"patch\" not found in \$PATH, install the development tool named\"patch"\])
5171 dnl On Solaris, FreeBSD or MacOS X, check if --with-gnu-patch was used
5172 if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then
5173    if test -z "$with_gnu_patch"; then
5174       GNUPATCH=$PATCH
5175    else
5176       if test -x "$with_gnu_patch"; then
5177         GNUPATCH=$with_gnu_patch
5178       else
5179         AC_MSG_ERROR([--with-gnu-patch did not point to an executable])
5180       fi
5181    fi
5183    AC_MSG_CHECKING([whether $GNUPATCH is GNU patch])
5184    if $GNUPATCH --version | grep "Free Software Foundation" >/dev/null 2>/dev/null; then
5185         AC_MSG_RESULT([yes])
5186    else
5187         AC_MSG_ERROR([no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it])
5188    fi
5190 dnl We also need to check for --with-gnu-cp
5192   if test -z "$with_gnu_cp"; then
5193     AC_PATH_PROGS(GNUCP, gnucp cp)
5194     if test -z $GNUCP; then
5195       AC_MSG_ERROR([Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it])
5196     fi
5197   else
5198     if test -x "$with_gnu_cp"; then
5199       GNUCP=$with_gnu_cp
5200     else
5201       AC_MSG_ERROR([--with-gnu-cp did not point to an executable])
5202     fi
5203   fi
5205   AC_MSG_CHECKING([whether $GNUCP is GNU cp])
5206   if $GNUCP --version 2>/dev/null | grep "Free Software Foundation" >/dev/null 2>/dev/null; then
5207         AC_MSG_RESULT([yes])
5208   else
5209    if $GNUCP --version 2>/dev/null | grep "GNU fileutils" >/dev/null 2>/dev/null; then
5210         AC_MSG_RESULT([yes])
5211    else
5212       if test "$_os" = "Darwin"; then
5213          GNUCP=''
5214          AC_MSG_RESULT([no gnucp found - using the system's cp command])
5215       else      
5216          AC_MSG_ERROR([no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it])
5217       fi
5218    fi
5219   fi    
5222 AC_SUBST(GNUPATCH)
5223 AC_SUBST(GNUCP)
5225 dnl ***************************************
5226 dnl testing bash tools path on Windows
5227 dnl ***************************************
5228 if test "$_os" = "WINNT"; then
5229     CYGWIN_PATH=""
5230     AC_PATH_PROG(CYGWIN_PATH, bash)
5231     CYGWIN_PATH=`dirname "$CYGWIN_PATH"`
5233 if test -z "$CYGWIN_PATH"; then
5234    CYGWIN_PATH="NO_CYGWIN"
5236 AC_SUBST(CYGWIN_PATH)
5238 dnl ***************************************
5239 dnl testing ml.exe assembler path
5240 dnl ***************************************
5241 if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
5242   AC_MSG_CHECKING([ml.exe assembler path])
5243   if test -n "$with_asm_home"; then
5244     with_asm_home=`cygpath -u "$with_asm_home"`
5245   fi
5246   if test ! -x "$with_asm_home/ml.exe"; then
5247     AC_PATH_PROG(ML_EXE, ml.exe)
5248     if test -z "$ML_EXE"; then
5249       if test -x "$with_cl_home/bin/ml.exe"; then
5250         with_asm_home=$with_cl_home/bin
5251         AC_MSG_RESULT([found ($with_asm_home)])
5252       else
5253         AC_MSG_ERROR([Configure did not find ml.exe assembler.])
5254       fi
5255     else
5256        with_asm_home="ASM_IN_PATH"
5257     fi
5258   fi
5259 else
5260         with_asm_home="NO_ASM_HOME"
5262 ASM_HOME="$with_asm_home"
5263 if test -n "$ASM_HOME"; then
5264   AC_MSG_RESULT([$ASM_HOME])
5266 AC_SUBST(ASM_HOME)
5268 dnl ===================================================================
5269 dnl testing handle deprecated unzip switch
5270 dnl ===================================================================
5271 if test -z "$with_zip_home"; then
5272         with_zip_home="$with_unzip_home"
5274 dnl ===================================================================
5275 dnl Zip will be found where you tell me to find it
5276 dnl ===================================================================
5277 if test -n "$with_zip_home" ; then
5278     if test "$_os" = "WINNT"; then
5279         with_zip_home=`cygpath -u "$with_zip_home"`
5280     fi
5281     ZIP="$with_zip_home/zip"
5282     UNZIP="$with_zip_home/unzip"
5283     ZIP_HOME="$with_zip_home"
5284 else
5285     AC_PATH_PROG(ZIP, zip)
5286     AC_PATH_PROG(UNZIP, unzip)
5287     ZIP_HOME=`dirname "$ZIP"`
5289 dnl ===================================================================
5290 dnl Zip must be available or else it is an error, all platforms
5291 dnl ===================================================================
5292 if test -z "$ZIP" -o -z "$UNZIP"; then
5293     AC_MSG_ERROR([Zip/Unzip are required to build, please install or use --with-zip-home],,)
5296 dnl ===================================================================
5297 dnl Zip must be a specific type for different build types.
5298 dnl ===================================================================
5299 if test "$_os" = "WINNT"; then
5300     if test "$with_use_shell" = "4nt" ; then
5301          if test -z "`$ZIP -h | grep -i WinNT`" ; then
5302 AC_MSG_ERROR([$ZIP found in the path is not the required native Windows Version 2.3 of Info-ZIPs zip.exe.
5303 Probably there is a cygwin version in the path.])
5304          fi
5305     else
5306          if test -n "`$ZIP -h | grep -i WinNT`" ; then
5307 AC_MSG_ERROR([$ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe.])
5308          fi
5309     fi
5311 AC_SUBST(ZIP_HOME)
5313 dnl ===================================================================
5314 dnl Windows builds need unicows.dll in external/unicows/
5315 dnl ===================================================================
5316 if test "$_os" = "WINNT"; then
5317    AC_MSG_CHECKING([for unicows.dll])
5318    if test -x ./external/unicows/unicows.dll; then
5319       AC_MSG_RESULT([found])
5320    else
5321       AC_MSG_ERROR([The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/.
5322 Get it from the Microsoft site and put it into external/unicows.
5323 (Note: Microsoft seems to enjoy changing the exact location of this file. You
5324 may have to search Microsoft's website.) Last time it was seen at:
5325 <http://download.microsoft.com/download/b/7/5/b75eace3-00e2-4aa0-9a6f-0b6882c71642/unicows.exe>.])
5326    fi
5329 dnl ===================================================================
5330 dnl Windows builds need dbghelp.dll in external/dbghelp/
5331 dnl ===================================================================
5332 if test "$_os" = "WINNT"; then
5333    AC_MSG_CHECKING([for dbghelp.dll])
5334    if test -x ./external/dbghelp/dbghelp.dll; then
5335       AC_MSG_RESULT([found])
5336    else
5337       AC_MSG_ERROR([dbghelp.dll is missing in external/dbghelp/.
5338 Get it from the Microsoft site and put it into external/dbghelp.
5339 (Note: Microsoft seems to enjoy changing the exact location of this file. You
5340 may have to search Microsoft's website.) Last time it was seen at:
5341 <http://www.microsoft.com/downloads/release.asp?releaseid=30682>.])
5342    fi
5345 dnl ===================================================================
5346 dnl Windows builds - use oowintool to copy CRT dlls and manifest
5347 dnl ===================================================================
5348 if test "$_os" = "WINNT"; then
5349        if ./oowintool --msvc-copy-dlls ./external/msvcp ; then
5350           :
5351        else
5352           AC_MSG_ERROR([oowintool failed to copy CRT])
5353        fi
5356 dnl ===================================================================
5357 dnl Windows builds need gdiplus.dll in external/gdiplus/
5358 dnl ===================================================================
5359 if test "$_os" = "WINNT"; then
5360    AC_MSG_CHECKING([for gdiplus.dll])
5361    if test -x ./external/gdiplus/gdiplus.dll; then
5362       AC_MSG_RESULT([found])
5363    else
5364       AC_MSG_ERROR([gdiplus.dll is missing in external/gdiplus/.
5365 Get it from the Microsoft site and put it into external/gdiplus.
5366 You may have to search Microsoft's website. Last time it was seen at:
5367 <http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en>.])
5368    fi
5371 dnl ===================================================================
5372 dnl Windows builds - attempt to auto-copy required instmsiX.exe into external/
5373 dnl ===================================================================
5374 if test "$_os" = "WINNT"; then
5375        ./oowintool --msvc-copy-instmsi ./external/msi
5378 dnl ===================================================================
5379 dnl Windows builds with VS 2003/2005/2008 need instmsia.exe and instmsiw.exe in external/msi
5380 dnl ===================================================================
5381 if test "$_os" = "WINNT"; then
5382    if test "$COMEX" -ge "10"; then
5383    AC_MSG_CHECKING([for instmsia.exe/instmsiw.exe])
5384    if test -x ./external/msi/instmsia.exe -a -x ./external/msi/instmsiw.exe; then
5385       AC_MSG_RESULT([found])
5386    else
5387       MSIAPATH=`/bin/find "$COMPATH/../.." -iname instmsia.exe | head -n 1`
5388       MSIWPATH=`/bin/find "$COMPATH/../.." -iname instmsiw.exe | head -n 1`
5389       if test -n "$MSIAPATH" -a -n "$MSIWPATH"; then
5390          cp "$MSIAPATH" ./external/msi/ && chmod +x ./external/msi/instmsia.exe && MSIACOPY="OK"
5391          cp "$MSIWPATH" ./external/msi/ && chmod +x ./external/msi/instmsiw.exe && MSIWCOPY="OK"
5392       fi
5393       if test -z "$MSIACOPY" -o -z "$MSIWCOPY"; then
5394          AC_MSG_ERROR([instmsia.exe and/or instmsiw.exe are/is missing in the default location.
5395 These programs are part of the Visual Studio installation and should be found in a
5396 directory similar to:
5397 "c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\Deployment\\MsiRedist\\"
5398 As the automatic detection fails please copy the files to external/msi/.])
5399       else
5400          AC_MSG_RESULT([found and copied])
5401       fi
5402    fi
5406 dnl ===================================================================
5407 dnl Test for the presence of the right polygon clipping code
5408 dnl ===================================================================
5409 AC_MSG_CHECKING([which polygon clipping code to use])
5410 WITH_GPC=NO
5412 if test "$with_gpc" != "no" && test "$without_gpc" != "yes"; then
5413   WITH_GPC=YES
5414   AC_MSG_RESULT([GPC])
5416   AC_MSG_CHECKING([for GPC files])
5417   if test -f ./external/gpc/gpc.h; then
5418         HAVE_GPC_H="yes"
5419   else
5420         HAVE_GPC_H="no"
5421   fi
5422   if test -f ./external/gpc/gpc.c; then
5423         HAVE_GPC_C="yes"
5424   else
5425         HAVE_GPC_C="no"
5426   fi
5428   if test "$HAVE_GPC_H" = "yes" -a "$HAVE_GPC_C" = "yes"; then
5429         AC_MSG_RESULT([GPC files found])
5430   else
5431         AC_MSG_ERROR([GPC files not found
5432 ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z and untar in external/gpc,
5433 or use basegfx' implementation using --without-gpc])
5434   fi
5435 else
5436   AC_MSG_RESULT([internal])
5438 AC_SUBST(WITH_GPC)
5440 dnl ===================================================================
5441 dnl Test which vclplugs have to be built.
5442 dnl ===================================================================
5443 AC_MSG_CHECKING([which VCLplugs shall be built])
5444 ENABLE_GTK=""
5445 if test "x$enable_gtk" = "xyes"; then
5446     ENABLE_GTK="TRUE"
5447     R="gtk"
5449 AC_SUBST(ENABLE_GTK)
5451 ENABLE_KDE=""
5452 if test "x$enable_kde" = "xyes"; then
5453     ENABLE_KDE="TRUE"
5454     R="$R kde"
5456 AC_SUBST(ENABLE_KDE)
5458 ENABLE_KDE4=""
5459 if test "x$enable_kde4" = "xyes"; then
5460     ENABLE_KDE4="TRUE"
5461     R="$R kde4"
5463 AC_SUBST(ENABLE_KDE4)
5465 if test -z "$R"; then
5466         AC_MSG_RESULT([none])
5467 else
5468         AC_MSG_RESULT([$R])
5471 dnl ===================================================================
5472 dnl GCONF check
5473 dnl ===================================================================
5475 ENABLE_GCONF=""
5476 AC_MSG_CHECKING([whether to enable GConf support])
5477 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then
5478     ENABLE_GCONF="TRUE"
5479     AC_MSG_RESULT([yes])
5480     PKG_CHECK_MODULES( GCONF, gconf-2.0 )
5481 else
5482     AC_MSG_RESULT([no])
5484 AC_SUBST(ENABLE_GCONF)
5486 dnl ===================================================================
5487 dnl Gnome VFS check
5488 dnl ===================================================================
5490 ENABLE_GNOMEVFS=""
5491 GNOMEVFS_HAS_LOCKING=""
5492 AC_MSG_CHECKING([whether to enable GNOME VFS support])
5493 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then
5494     ENABLE_GNOMEVFS="TRUE"
5495     AC_MSG_RESULT([yes])
5496     PKG_CHECK_MODULES( GNOMEVFS, gnome-vfs-2.0 >= 2.6.0 )
5497     if test "$ENABLE_GCONF" != "TRUE"; then
5498         PKG_CHECK_MODULES( GCONF, gconf-2.0 )
5499     fi
5501     AC_LANG_SAVE
5502     AC_LANG_CPLUSPLUS
5503     save_CXXFLAGS=$CXXFLAGS
5504     CXXFLAGS="$CXXFLAGS $GNOMEVFS_CFLAGS"
5505     AC_CHECK_DECL(GNOME_VFS_OPEN_LOCKED,
5506                   GNOMEVFS_HAS_LOCKING="YES",,
5507                   [#include <libgnomevfs/gnome-vfs-handle.h>])
5508     CXXFLAGS=$save_CXXFLAGS
5509     AC_LANG_RESTORE
5510 else
5511     AC_MSG_RESULT([no])
5513 AC_SUBST(ENABLE_GNOMEVFS)
5514 AC_SUBST(GNOMEVFS_HAS_LOCKING)
5516 dnl ===================================================================
5517 dnl Check whether the gtk 2.0 libraries are available.
5518 dnl ===================================================================
5520 GTK_CFLAGS=""
5521 GTK_LIBS=""
5522 ENABLE_SYSTRAY_GTK=""
5523 ENABLE_DBUS=""
5524 if test  "$test_gtk" = "yes"; then
5526    if test "$ENABLE_GTK" = "TRUE" ; then
5527       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]))
5528         PKG_CHECK_MODULES(GDK, gdk-2.0 >= 2.10)
5529         if test "x$enable_cairo" == "xno" ; then
5530             PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
5531         fi
5532       BUILD_TYPE="$BUILD_TYPE GTK"
5534       if test "x$enable_systray" = "xyes"; then
5535          ENABLE_SYSTRAY_GTK="TRUE"
5536          BUILD_TYPE="$BUILD_TYPE SYSTRAY_GTK"
5537       fi
5539       AC_MSG_CHECKING([whether to enable DBUS support])
5540       if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_dbus" = "yes"; then
5541           ENABLE_DBUS="TRUE"
5542           AC_MSG_RESULT([yes])
5543           PKG_CHECK_MODULES( DBUS, dbus-glib-1 >= 0.70 )
5544       else
5545           AC_MSG_RESULT([no])
5546       fi
5548       AC_MSG_CHECKING([whether to enable GIO support])
5549       if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then
5550           if test "$ENABLE_GNOMEVFS" = "TRUE" ; then
5551              AC_MSG_ERROR([please use --enable-gio only together with --disable-gnome-vfs.])
5552           fi
5553           ENABLE_GIO="TRUE"
5554           AC_MSG_RESULT([yes])
5555           PKG_CHECK_MODULES( GIO, gio-2.0 )
5556       else
5557           AC_MSG_RESULT([no])
5558       fi
5560    fi
5563 AC_SUBST(ENABLE_GIO)
5564 AC_SUBST(ENABLE_DBUS)
5565 AC_SUBST(ENABLE_SYSTRAY_GTK)
5566 AC_SUBST(GTK_CFLAGS)
5567 AC_SUBST(GTK_LIBS)
5569 dnl ===================================================================
5570 dnl Check whether the Cairo libraries are available.
5571 dnl ===================================================================
5573 ENABLE_CAIRO=""
5574 BUILD_PIXMAN=""
5575 SYSTEM_CAIRO=""
5577 if test  "$test_cairo" = "yes"; then
5579     AC_MSG_CHECKING([whether to use cairo])
5580     if test "x$enable_cairo" != "xno" ; then
5581         ENABLE_CAIRO="TRUE"
5582         AC_MSG_RESULT([yes])
5583         AC_MSG_CHECKING([which cairo to use])
5584         if test -n "$with_system_cairo" -o -n "$with_system_libs" && \
5585            test "$with_system_cairo" != "no"; then
5586            AC_MSG_RESULT([external])
5587            SYSTEM_CAIRO=YES
5588            
5589            PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
5590            if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$ENABLE_FONTCONFIG" != "TRUE" ; then
5591               AC_MSG_ERROR([Cairo library requires fontconfig.])
5592            fi
5593            if test "$with_system_xrender_headers" = "yes"; then
5594               AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8])
5595               AC_TRY_RUN([
5596 #include <X11/extensions/Xrender.h>
5598 int main(int argc, char **argv) {
5599 #ifdef PictStandardA8
5600       return 0;
5601 #else
5602       return 1;
5603 #endif
5605                ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, X headers too old.])])
5606            fi
5607         else
5608            BUILD_TYPE="$BUILD_TYPE CAIRO"
5609            BUILD_PIXMAN=YES
5610            AC_MSG_RESULT([internal])       
5611         fi
5612     else
5613            AC_MSG_RESULT([no])
5614     fi
5617 AC_SUBST(ENABLE_CAIRO)
5618 AC_SUBST(BUILD_PIXMAN)
5619 AC_SUBST(SYSTEM_CAIRO)
5620 AC_SUBST(CAIRO_CFLAGS)
5621 AC_SUBST(CAIRO_LIBS)
5623 dnl ===================================================================
5624 dnl Check whether the GStreamer libraries are available.
5625 dnl ===================================================================
5627 ENABLE_GSTREAMER=""
5629 if test  "$build_gstreamer" = "yes"; then
5631     AC_MSG_CHECKING([whether to enable the GStreamer avmedia backend])
5632     if test "x$enable_gstreamer" != "xno" ; then
5633         ENABLE_GSTREAMER="TRUE"
5634         AC_MSG_RESULT([yes])
5635         PKG_CHECK_MODULES( GSTREAMER, gstreamer-0.10 gstreamer-plugins-base-0.10 )
5636     else
5637              AC_MSG_RESULT([no])
5638     fi
5641 AC_SUBST(ENABLE_GSTREAMER)
5643 dnl ===================================================================
5644 dnl Check whether the OpenGL libraries are available
5645 dnl ===================================================================
5647 AC_MSG_CHECKING([whether to build the OGLTrans extension])
5648 ENABLE_OPENGL=
5650 if test "x$enable_opengl" != "xno" ; then
5651    AC_MSG_RESULT([yes])
5652    AC_CHECK_HEADER(GL/gl.h, [],
5653                    [AC_MSG_ERROR([OpenGL headers not found])], [])
5654    AC_CHECK_LIB(GL, main, [],
5655      [AC_MSG_ERROR(libGL not installed or functional)], [])
5656    AC_CHECK_LIB(GLU, main, [],
5657      [AC_MSG_ERROR(libGLU not installed or functional)], [])
5658    ENABLE_OPENGL=TRUE
5659 else
5660    AC_MSG_RESULT([no])
5663 AC_SUBST(ENABLE_OPENGL)
5665 AC_MSG_CHECKING([whether to build the Presentation Minimizer extension])
5666 if test -n "$enable_minimizer" -a "$enable_minimizer" != "no"; then
5667    AC_MSG_RESULT([yes])
5668    ENABLE_MINIMIZER=YES
5669 else
5670    AC_MSG_RESULT([no])
5671    ENABLE_MINIMIZER=NO
5673 AC_SUBST(ENABLE_MINIMIZER)
5675 AC_MSG_CHECKING([whether to build the Presenter Screen extension])
5676 if test -n "$enable_presenter_console" -a "$enable_presenter_screen" != "no"; then
5677    AC_MSG_RESULT([yes])
5678    ENABLE_PRESENTER_SCREEN=YES
5679 else
5680    AC_MSG_RESULT([no])
5681    ENABLE_PRESENTER_SCREEN=NO
5683 AC_SUBST(ENABLE_PRESENTER_SCREEN)
5685 AC_MSG_CHECKING([whether to build the PDF Import extension])
5686 if test -n "$enable_pdfimport" -a "$enable_pdfimport" != "no"; then
5687   AC_MSG_RESULT([yes])
5688   ENABLE_PDFIMPORT=YES
5690   dnl ===================================================================
5691   dnl Check for system poppler
5692   dnl ===================================================================
5693   AC_MSG_CHECKING([which pdf backend to use])
5694   if test -n "$with_system_poppler" -o -n "$with_system_libs" && \
5695        test "$with_system_poppler" != "no"; then
5696       AC_MSG_RESULT([external])
5697       SYSTEM_POPPLER=YES
5698       PKG_CHECK_MODULES( POPPLER, poppler >= 0.8.0 )
5699   else
5700       AC_MSG_RESULT([internal])
5701       SYSTEM_POPPLER=NO
5702       BUILD_TYPE="$BUILD_TYPE XPDF"
5703       AC_MSG_CHECKING([for xpdf module])
5704       if test -d ./xpdf; then
5705        AC_MSG_RESULT([OK])
5706       else
5707         AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5708       fi
5709   fi
5710 else
5711    AC_MSG_RESULT([no])
5712    ENABLE_PDFIMPORT=NO
5714 AC_SUBST(ENABLE_PDFIMPORT)
5715 AC_SUBST(SYSTEM_POPPLER)
5716 AC_SUBST(POPPLER_CFLAGS)
5717 AC_SUBST(POPPLER_LIBS)
5719 if test "$ENABLE_PRESENTER_SCREEN" = "YES" -o "$ENABLE_MINIMIZER" = "YES" -o "$ENABLE_PDFIMPORT" = "YES"; then
5720   AC_MSG_CHECKING([for sdext module])
5721   if test -d ./sdext; then
5722    AC_MSG_RESULT([OK])
5723   else
5724    AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5725   fi
5726   BUILD_TYPE="$BUILD_TYPE SDEXT"
5729 AC_MSG_CHECKING([whether to build the Wiki Publisher extension])
5730 if test -n "$enable_wiki_publisher" -a "$enable_wiki_publisher" != "no" && test  "$WITH_JAVA" != "no"; then
5731   AC_MSG_RESULT([yes])
5732   AC_MSG_CHECKING([for swext module])
5733   if test -d ./swext; then
5734    AC_MSG_RESULT([OK])
5735   else
5736    AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5737   fi
5738   ENABLE_MEDIAWIKI=YES
5739   BUILD_TYPE="$BUILD_TYPE SWEXT"
5740 else
5741   AC_MSG_RESULT([no])
5742   ENABLE_MEDIAWIKI=NO
5744 AC_SUBST(ENABLE_MEDIAWIKI)
5746 if test "$ENABLE_MEDIAWIKI" == "YES"; then
5747   AC_MSG_CHECKING([which Servlet API Jar to use])
5748   if test -n "$with_system_servlet_api"; then
5749     AC_MSG_RESULT([external])
5750     SYSTEM_SERVLETAPI=YES
5751       if test -z "$SERVLETAPI_JAR"; then
5752         SERVLETAPI_JAR=/usr/share/java/servlet-api.jar
5753       fi
5754       AC_CHECK_FILE($SERVLETAPI_JAR, [],
5755              [AC_MSG_ERROR(servlet-api.jar not found.)], [])
5756   else
5757     AC_MSG_RESULT([internal])
5758     SYSTEM_SERVLETAPI=NO
5759     BUILD_TYPE="$BUILD_TYPE TOMCAT"
5760   fi
5762 AC_SUBST(SYSTEM_SERVLETAPI)
5763 AC_SUBST(SERVLETAPI_JAR)
5765 AC_MSG_CHECKING([whether to build the Report Builder extension])
5766 if test -n "$enable_report_builder" -a "$enable_report_builder" != "no" && test "$WITH_JAVA" != "no"; then
5767   AC_MSG_RESULT([yes])
5768   ENABLE_REPORTBUILDER=YES
5769   AC_MSG_CHECKING([for reportbuilder module])
5770   if test -d ./reportbuilder; then
5771     AC_MSG_RESULT([OK])
5772   else
5773     AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5774   fi
5775   AC_MSG_CHECKING([which jfreereport libs to use])
5776   if test "$with_system_jfreereport" == "yes"; then
5777         SYSTEM_JFREEREPORT=YES
5778            AC_MSG_RESULT([external])
5779       if test -z $SAC_JAR; then
5780              SAC_JAR=/usr/share/java/sac.jar
5781       fi
5782       AC_CHECK_FILE($SAC_JAR, [],
5783              [AC_MSG_ERROR(sac.jar not found.)], [])
5785       if test -z $LIBXML_JAR; then
5786         AC_CHECK_FILE(/usr/share/java/libxml-1.0.0.jar, 
5787           [ LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar ],
5788           [
5789             AC_CHECK_FILE(/usr/share/java/libxml.jar, 
5790               [ LIBXML_JAR=/usr/share/java/libxml.jar ],
5791               [AC_MSG_ERROR(libxml.jar replacement not found.)]
5792             )
5793           ]
5794         )
5795       else
5796         AC_CHECK_FILE($LIBXML_JAR, [],
5797              [AC_MSG_ERROR(libxml.jar not found.)], [])
5798       fi
5800       if test -z $FLUTE_JAR; then
5801         AC_CHECK_FILE(/usr/share/java/flute-1.3.0.jar, 
5802           [ FLUTE_JAR=/usr/share/java/flute-1.3.0.jar ],
5803           [
5804             AC_CHECK_FILE(/usr/share/java/flute.jar, 
5805               [ FLUTE_JAR=/usr/share/java/flute.jar ],
5806               [ AC_MSG_ERROR(flute-1.3.0.jar replacement not found.)]
5807             )
5808           ]
5809         )
5810       else
5811         AC_CHECK_FILE($FLUTE_JAR, [],
5812              [AC_MSG_ERROR(flute-1.3.0.jar not found.)], [])
5813       fi
5815       if test -z $JFREEREPORT_JAR; then
5816         AC_CHECK_FILE(/usr/share/java/flow-engine-0.9.2.jar, 
5817           [ JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar ],
5818           [
5819             AC_CHECK_FILE(/usr/share/java/flow-engine.jar, 
5820               [ JFREEREPORT_JAR=/usr/share/java/flow-engine.jar ],
5821               [AC_MSG_ERROR(jfreereport.jar replacement not found.)]
5822             )
5823           ]
5824         )
5825       else
5826         AC_CHECK_FILE($JFREEREPORT_JAR, [],
5827              [AC_MSG_ERROR(jfreereport.jar not found.)], [])
5828       fi
5830       if test -z $LIBLAYOUT_JAR; then
5831         AC_CHECK_FILE(/usr/share/java/liblayout-0.2.9.jar, 
5832           [ LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar ],
5833           [
5834             AC_CHECK_FILE(/usr/share/java/liblayout.jar, 
5835               [ LIBLAYOUT_JAR=/usr/share/java/liblayout.jar ],
5836               [AC_MSG_ERROR(liblayout.jar replacement not found.)]
5837             )
5838           ]
5839         )
5840       else
5841         AC_CHECK_FILE($LIBLAYOUT_JAR, [],
5842              [AC_MSG_ERROR(liblayout.jar not found.)], [])
5843       fi
5845       if test -z $LIBLOADER_JAR; then
5846         AC_CHECK_FILE(/usr/share/java/libloader-1.0.0.jar, 
5847           [ LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar ],
5848           [
5849             AC_CHECK_FILE(/usr/share/java/libloader.jar, 
5850               [ LIBLOADER_JAR=/usr/share/java/libloader.jar ],
5851               [AC_MSG_ERROR(libloader.jar replacement not found.)]
5852             )
5853           ]
5854         )
5855       else
5856         AC_CHECK_FILE($LIBLOADER_JAR, [],
5857              [AC_MSG_ERROR(libloader.jar not found.)], [])
5858       fi
5860       if test -z $LIBFORMULA_JAR; then
5861         AC_CHECK_FILE(/usr/share/java/libformula-0.2.0.jar, 
5862           [ LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar ],
5863           [
5864             AC_CHECK_FILE(/usr/share/java/libformula.jar, 
5865               [ LIBFORMULA_JAR=/usr/share/java/libformula.jar ],
5866               [AC_MSG_ERROR(libformula.jar replacement not found.)]
5867             )
5868           ]
5869         )
5870       else
5871         AC_CHECK_FILE($LIBFORMULA_JAR, [],
5872              [AC_MSG_ERROR(libformula.jar not found.)], [])
5873       fi
5875       if test -z $LIBREPOSITORY_JAR; then
5876         AC_CHECK_FILE(/usr/share/java/librepository-1.0.0.jar, 
5877           [ LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar ],
5878           [
5879             AC_CHECK_FILE(/usr/share/java/librepository.jar, 
5880               [ LIBREPOSITORY_JAR=/usr/share/java/librepository.jar ],
5881               [AC_MSG_ERROR(librepository.jar replacement not found.)]
5882             )
5883           ]
5884         )
5885       else
5886         AC_CHECK_FILE($LIBREPOSITORY_JAR, [],
5887              [AC_MSG_ERROR(librepository.jar not found.)], [])
5888       fi
5890       if test -z $LIBFONTS_JAR; then
5891         AC_CHECK_FILE(/usr/share/java/libfonts-1.0.0.jar, 
5892           [ LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar ],
5893           [
5894             AC_CHECK_FILE(/usr/share/java/libfonts.jar, 
5895               [ LIBFONTS_JAR=/usr/share/java/libfonts.jar ],
5896               [AC_MSG_ERROR(libfonts.jar replacement not found.)]
5897             )
5898           ]
5899         )
5900       else
5901         AC_CHECK_FILE($LIBFONTS_JAR, [],
5902              [AC_MSG_ERROR(libfonts.jar not found.)], [])
5903       fi
5905       if test -z $LIBSERIALIZER_JAR; then
5906         AC_CHECK_FILE(/usr/share/java/libserializer-1.0.0.jar, 
5907           [ LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar ],
5908           [
5909             AC_CHECK_FILE(/usr/share/java/libserializer.jar, 
5910               [ LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar ],
5911               [AC_MSG_ERROR(libserializer.jar replacement not found.)]
5912             )
5913           ]
5914         )
5915       else
5916         AC_CHECK_FILE($LIBSERIALIZER_JAR, [],
5917              [AC_MSG_ERROR(libserializer.jar not found.)], [])
5918       fi
5921       if test -z $LIBBASE_JAR; then
5922         AC_CHECK_FILE(/usr/share/java/libbase-1.0.0.jar, 
5923           [ LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar ],
5924           [
5925             AC_CHECK_FILE(/usr/share/java/libbase.jar, 
5926               [ LIBBASE_JAR=/usr/share/java/libbase.jar ],
5927               [AC_MSG_ERROR(libbase.jar replacement not found.)]
5928             )
5929           ]
5930         )
5931       else
5932         AC_CHECK_FILE($LIBBASE_JAR, [],
5933              [AC_MSG_ERROR(libbase.jar not found.)], [])
5934       fi
5936   else
5937      AC_MSG_RESULT([internal])
5938      AC_MSG_CHECKING([for jfreereport module])
5939      if test -d ./jfreereport; then
5940       AC_MSG_RESULT([OK]) 
5941      else
5942       AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
5943      fi
5944      SYSTEM_JFREEREPORT=NO
5945      BUILD_TYPE="$BUILD_TYPE JFREEREPORT"
5946   fi
5947   BUILD_TYPE="$BUILD_TYPE REPORTBUILDER"
5948 else
5949   AC_MSG_RESULT([no])
5950   ENABLE_REPORTBUILDER=NO
5951   SYSTEM_JFREEREPORT=NO
5953 AC_SUBST(ENABLE_REPORTBUILDER)
5954 AC_SUBST(SYSTEM_JFREEREPORT)
5955 AC_SUBST(SAC_JAR)
5956 AC_SUBST(LIBXML_JAR)
5957 AC_SUBST(FLUTE_JAR)
5958 AC_SUBST(JFREEREPORT_JAR)
5959 AC_SUBST(LIBBASE_JAR)
5960 AC_SUBST(LIBLAYOUT_JAR)
5961 AC_SUBST(LIBLOADER_JAR)
5962 AC_SUBST(LIBFORMULA_JAR)
5963 AC_SUBST(LIBREPOSITORY_JAR)
5964 AC_SUBST(LIBFONTS_JAR)
5965 AC_SUBST(LIBSERIALIZER_JAR)
5967 # this has to be here because both the wiki publisher and the SRB use
5968 # commons-logging
5969 if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then
5970   AC_MSG_CHECKING([which Apache commons-* libs to use])
5971   if test "$with_system_apache_commons" = "yes"; then
5972        SYSTEM_APACHE_COMMONS=YES
5973        AC_MSG_RESULT([external])
5974     if test "$ENABLE_MEDIAWIKI" = "YES"; then
5975         if test -z "$COMMONS_CODEC_JAR"; then
5976                 COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.3.jar
5977         fi
5978    AC_CHECK_FILE($COMMONS_CODEC_JAR, [],
5979         [AC_MSG_ERROR(commons-codec.jar not found.)], [])
5980         if test -z "$COMMONS_LANG_JAR"; then
5981                 COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.3.jar
5982         fi
5983    AC_CHECK_FILE($COMMONS_LANG_JAR, [],
5984         [AC_MSG_ERROR(commons-lang.jar not found.)], [])
5985         if test -z "$COMMONS_HTTPCLIENT_JAR"; then
5986                 COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar
5987         fi
5988    AC_CHECK_FILE($COMMONS_HTTPCLIENT_JAR, [],
5989         [AC_MSG_ERROR(commons-httpclient.jar not found.)], [])
5990     fi
5991     if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then
5992         if test -z "$COMMONS_LOGGING_JAR"; then
5993                 COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar
5994         fi
5995    AC_CHECK_FILE($COMMONS_LOGGING_JAR, [],
5996         [AC_MSG_ERROR(commons-logging.jar not found.)], [])
5998     fi
5999   else
6000         AC_MSG_RESULT([internal])
6001         SYSTEM_APACHE_COMMONS=NO
6002         BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT"
6003   fi
6005 AC_SUBST(SYSTEM_APACHE_COMMONS)
6006 AC_SUBST(COMMONS_CODEC_JAR)
6007 AC_SUBST(COMMONS_LANG_JAR)
6008 AC_SUBST(COMMONS_HTTPCLIENT_JAR)
6009 AC_SUBST(COMMONS_LOGGING_JAR)
6011 dnl ===================================================================
6012 dnl Check whether the Qt and KDE libraries are available.
6013 dnl ===================================================================
6015 KDE_CFLAGS=""
6016 KDE_LIBS=""
6017 MOC="moc"
6018 if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then
6019     dnl Search paths for Qt and KDE
6020     if test "$build_cpu" != "x86_64" ; then
6021         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"
6022         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"
6023     else
6024         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"
6025         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"
6026     fi
6027     if test -n "$QTDIR" ; then
6028         qt_incdirs="$QTDIR/include $qt_incdirs"
6029         if test "$build_cpu" != "x86_64" ; then
6030             qt_libdirs="$QTDIR/lib $qt_libdirs"
6031         else
6032             qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs"
6033         fi
6034     fi
6035     if test "$build_cpu" != "x86_64" ; then
6036         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"
6037         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"
6038     else
6039         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"
6040         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"
6041     fi
6042     if test -n "$KDEDIR" ; then
6043         kde_incdirs="$KDEDIR/include $kde_incdirs"
6044         if test "$build_cpu" != "x86_64" ; then
6045             kde_libdirs="$KDEDIR/lib $kde_libdirs"
6046         else
6047             kde_libdirs="$KDEDIR/lib64 $KDEDIR/lib $kde_libdirs"
6048         fi
6049     fi
6051     dnl What to test
6052     qt_test_include="qstyle.h"
6053     qt_test_library="libqt-mt.so"
6054     kde_test_include="ksharedptr.h"
6055     kde_test_library="libkdeui.so"
6057     dnl Check for Qt headers
6058     AC_MSG_CHECKING([for Qt headers])
6059     qt_incdir="no"
6060     for kde_check in $qt_incdirs ; do
6061         if test -r "$kde_check/$qt_test_include" ; then
6062             qt_incdir="$kde_check"
6063             break
6064         fi
6065     done
6066     AC_MSG_RESULT([$qt_incdir])
6067     if test "x$qt_incdir" = "xno" ; then
6068         AC_MSG_ERROR([Qt headers not found.  Please specify the root of
6069 your Qt installation by exporting QTDIR before running "configure".])
6070     fi
6072     dnl Check for Qt libraries
6073     AC_MSG_CHECKING([for Qt libraries])
6074     qt_libdir="no"
6075     for qt_check in $qt_libdirs ; do
6076         if test -r "$qt_check/$qt_test_library" ; then
6077             qt_libdir="$qt_check"
6078             break
6079         fi
6080     done
6081     AC_MSG_RESULT([$qt_libdir])
6082     if test "x$qt_libdir" = "xno" ; then
6083         AC_MSG_ERROR([Qt libraries not found.  Please specify the root of
6084 your Qt installation by exporting QTDIR before running "configure".])
6085     fi
6087     dnl Check for Meta Object Compiler
6088     AC_PATH_PROG( MOC, moc, no, [$QTDIR/bin:$PATH] )
6089     if test "$MOC" = "no" ; then
6090         AC_MSG_ERROR([Qt Meta Object Compiler not found.  Please specify
6091 the root of your Qt installation by exporting QTDIR before running "configure".])
6092     fi
6094     dnl Check for KDE headers
6095     AC_MSG_CHECKING([for KDE headers])
6096     kde_incdir="no"
6097     for kde_check in $kde_incdirs ; do
6098         if test -r "$kde_check/$kde_test_include" ; then
6099             kde_incdir="$kde_check"
6100             break
6101         fi
6102     done
6103     AC_MSG_RESULT([$kde_incdir])
6104     if test "x$kde_incdir" = "xno" ; then
6105         AC_MSG_ERROR([KDE headers not found.  Please specify the root of
6106 your KDE installation by exporting KDEDIR before running "configure".])
6107     fi
6109     dnl Check for KDE libraries
6110     AC_MSG_CHECKING([for KDE libraries])
6111     kde_libdir="no"
6112     for kde_check in $kde_libdirs ; do
6113         if test -r "$kde_check/$kde_test_library" ; then
6114             kde_libdir="$kde_check"
6115             break
6116         fi
6117     done
6118     AC_MSG_RESULT([$kde_libdir])
6119     if test "x$kde_libdir" = "xno" ; then
6120         AC_MSG_ERROR([KDE libraries not found.  Please specify the root of
6121 your KDE installation by exporting KDEDIR before running "configure".])
6122     fi
6124     dnl Set the variables
6125     KDE_CFLAGS="-I$qt_incdir -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
6126     KDE_LIBS="-L$kde_libdir -L$qt_libdir -lkdeui -lkdecore -lqt-mt"
6128 AC_SUBST(KDE_CFLAGS)
6129 AC_SUBST(KDE_LIBS)
6130 AC_SUBST(MOC)
6132 dnl ===================================================================
6133 dnl KDE4 Integration
6134 dnl ===================================================================
6136 KDE4_CFLAGS=""
6137 KDE4_LIBS=""
6138 MOC4="moc"
6139 if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then
6140    qt_incdirs="$QTINC $QTDIR /usr/include/qt4 /usr/include $x_includes"
6141    qt_libdirs="$QTLIB /usr/lib $x_libraries"
6142    
6143    kde_incdirs="/usr/include $x_includes"
6144    kde_libdirs="/usr/lib $x_libraries"
6145    
6146    if test "$build_cpu" == "x86_64" ; then
6147       qt_libdirs="$qt_libdirs /usr/lib64/qt /usr/lib64"
6148       kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4"
6149    fi
6151    qt_test_include="Qt/qobject.h"
6152    qt_test_library="libQtCore.so"
6153    kde_test_include="ksharedptr.h"
6154    kde_test_library="libkdeui.so"
6155    
6156    AC_MSG_CHECKING([for Qt4 headers])
6157    qt_header_dir="no"
6158    for inc_dir in $qt_incdirs ; do
6159       if test -r "$inc_dir/$qt_test_include" ; then
6160          qt_header_dir="$inc_dir"
6161          break
6162       fi
6163    done
6164    
6165    AC_MSG_RESULT([$qt_header_dir])
6166    if test "x$qt_header_dir" = "xno" ; then
6167       AC_MSG_ERROR([Qt4 headers not found.  Please specify the root of your Qt4 installation by exporting QTDIR before running "configure".])
6168    fi
6169    
6170    AC_MSG_CHECKING([for Qt4 libraries])
6171    qt_lib_dir="no"
6172    for lib_dir in $qt_libdirs ; do
6173       if test -r "$lib_dir/$qt_test_library" ; then
6174          qt_lib_dir="$lib_dir"
6175          break
6176       fi
6177    done
6178    
6179    AC_MSG_RESULT([$qt_lib_dir])
6180    
6181    if test "x$qt_lib_dir" = "xno" ; then
6182       AC_MSG_ERROR([Qt4 libraries not found.  Please specify the root of your Qt4 installation by exporting QTDIR before running "configure".])
6183    fi
6185    dnl Check for Meta Object Compiler
6186    AC_PATH_PROG( MOC4, moc, no, [$PATH:$QTDIR/bin] )
6187    if test "$MOC4" = "no" ; then
6188       AC_MSG_ERROR([Qt Meta Object Compiler not found.  Please specify
6189 the root of your Qt installation by exporting QTDIR before running "configure".])
6190    fi
6192    dnl Check for KDE4 headers
6193    AC_MSG_CHECKING([for KDE4 headers])
6194    kde_incdir="no"
6195    for kde_check in $kde_incdirs ; do
6196       if test -r "$kde_check/$kde_test_include" ; then
6197          kde_incdir="$kde_check"
6198          break
6199       fi
6200    done
6201    AC_MSG_RESULT([$kde_incdir])
6202    if test "x$kde_incdir" = "xno" ; then
6203       AC_MSG_ERROR([KDE4 headers not found.  Please specify the root of your KDE4 installation by exporting KDEDIR before running "configure".])
6204    fi
6206    dnl Check for KDE4 libraries
6207    AC_MSG_CHECKING([for KDE4 libraries])
6208    kde_libdir="no"
6209    for kde_check in $kde_libdirs ; do
6210       if test -r "$kde_check/$kde_test_library" ; then
6211          kde_libdir="$kde_check"
6212          break
6213       fi
6214    done
6215    
6216    AC_MSG_RESULT([$kde_libdir])
6217    if test "x$kde_libdir" = "xno" ; then
6218       AC_MSG_ERROR([KDE4 libraries not found.  Please specify the root of your KDE4 installation by exporting KDEDIR before running "configure".])
6219    fi
6221    KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
6222    KDE4_LIBS="-L$kde_libdir -L$qt_lib_dir -lkdeui -lkdecore -lQtCore -lQtGui"
6224 AC_SUBST(KDE4_CFLAGS)
6225 AC_SUBST(KDE4_LIBS)
6226 AC_SUBST(MOC4)
6228 dnl ===================================================================
6229 dnl Test for the enabling the lockdown pieces
6230 dnl ===================================================================
6231 AC_MSG_CHECKING([whether to enable the lockdown pieces])
6232 ENABLE_LOCKDOWN=""
6233 if test -n "$enable_lockdown" && test "$enable_lockdown" != "no"; then
6234   ENABLE_LOCKDOWN=YES
6235   AC_MSG_RESULT([yes])
6236 else
6237   AC_MSG_RESULT([no])
6239 AC_SUBST(ENABLE_LOCKDOWN)
6241 dnl ===================================================================
6242 dnl Test whether to include Evolution 2 support
6243 dnl ===================================================================
6244 AC_MSG_CHECKING([whether to enable evolution 2 support])
6245 if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then
6246    AC_MSG_RESULT([yes])
6247    PKG_CHECK_MODULES(GOBJECT, gobject-2.0)
6248    ENABLE_EVOAB2="TRUE"
6249 else
6250    ENABLE_EVOAB2=""
6251    AC_MSG_RESULT([no])
6253 AC_SUBST(ENABLE_EVOAB2)
6254 AC_SUBST(GOBJECT_CFLAGS)
6255 AC_SUBST(GOBJECT_LIBS) 
6257 dnl ===================================================================
6258 dnl Test whether to include KDE AB support
6259 dnl ===================================================================
6260 AC_MSG_CHECKING([whether to enable KDE address book support])
6261 if test "$enable_kdeab" = "yes" && test "$enable_kde" = "yes"; then
6262    AC_MSG_RESULT([yes])
6263    AC_LANG_PUSH([C++])
6264    save_CXXFLAGS=$CXXFLAGS
6265    CXXFLAGS="$CXXFLAGS $KDE_CFLAGS"
6266    AC_MSG_CHECKING([whether KDE is between 3.2 and 3.6])
6267        AC_TRY_RUN([
6268 #include <kdeversion.h>
6270 int main(int argc, char **argv) {
6271        if (KDE_VERSION_MAJOR == 3 && 2 <= KDE_VERSION_MINOR && KDE_VERSION_MINOR <= 6) return 0;
6272        else return 1;
6274        ], [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])])
6275    CXXFLAGS=$save_CXXFLAGS
6276    AC_LANG_POP([C++])
6277    ENABLE_KAB=TRUE
6278 else
6279    AC_MSG_RESULT([no])
6280    ENABLE_KAB=
6282 AC_SUBST(ENABLE_KAB)
6284 dnl ===================================================================
6285 dnl Test whether to include FontOOo
6286 dnl ===================================================================
6287 AC_MSG_CHECKING([whether to include FontOOo])
6288 if test -n "$enable_fontooo"; then
6289   if test "$enable_fontooo" = "no"; then
6290     AC_MSG_RESULT([no])
6291     WITH_FONTOOO=NO
6292     SCPDEFS="$SCPDEFS -DWITHOUT_FONTOOO"
6293   else
6294     AC_MSG_RESULT([yes])
6295     WITH_FONTOOO=YES
6296     BUILD_TYPE="$BUILD_TYPE MSFONTEXTRACT"
6297   fi
6298 else
6299   AC_MSG_RESULT([no])
6300   WITH_FONTOOO=NO
6301   SCPDEFS="$SCPDEFS -DWITHOUT_FONTOOO"
6303 AC_SUBST(WITH_FONTOOO)
6305 if test "$WITH_FONTOOO" = "YES"; then
6306   dnl ===============================================================
6307   dnl Check whether to use libmspack from system
6308   dnl ===============================================================
6309   AC_MSG_CHECKING([whether to use system libmspack])
6310   if test -n "$with_system_mspack" -o -n "$with_system_libs" && \
6311           test "$with_system_mspack" != "no"; then
6312     AC_MSG_RESULT([yes])
6313     SYSTEM_MSPACK=YES
6314     AC_CHECK_HEADER(mspack.h, [],
6315       [AC_MSG_ERROR([mspack.h not found, install libmspack])], [])
6316     AC_CHECK_LIB(mspack, mspack_create_cab_decompressor, [],
6317       [AC_MSG_ERROR(libmspack not installed or functional)], [])
6318   else
6319     AC_MSG_RESULT([no])
6320     SYSTEM_MSPACK=NO
6321   fi
6323 AC_SUBST(SYSTEM_MSPACK)
6325 dnl ===================================================================
6326 dnl Test whether to include MathMLDTD
6327 dnl ===================================================================
6328 AC_MSG_CHECKING([whether to include MathMLDTD])
6329 if test -n "$enable_mathmldtd"; then
6330   if test "$enable_mathmldtd" = "no"; then
6331     AC_MSG_RESULT([no])
6332     SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD"
6333   else
6334     AC_MSG_RESULT([yes])
6335     BUILD_TYPE="$BUILD_TYPE MATHMLDTD"
6336   fi
6337 else
6338   AC_MSG_RESULT([no])
6339   SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD"
6342 dnl ===================================================================
6343 dnl Test whether to include fonts
6344 dnl ===================================================================
6345 AC_MSG_CHECKING([whether to include Bitstream Vera fonts])
6346 if test "$with_fonts" != "no" ; then
6347   AC_MSG_RESULT([yes])
6348   WITH_FONTS=YES
6349   BUILD_TYPE="$BUILD_TYPE BITSTREAM_VERA_FONTS"
6350 else
6351   AC_MSG_RESULT([no])
6352   WITH_FONTS=NO
6353   SCPDEFS="$SCPDEFS -DWITHOUT_FONTS"
6355 AC_SUBST(WITH_FONTS)
6357 AC_MSG_CHECKING([whether to include Agfa Monotype fonts])
6358 if test "$with_agfa_monotype_fonts" != "no" -a -e ../agfa_monotype_fonts/download/agfa-monotype-fonts.tar.gz; then
6359   AC_MSG_RESULT([yes])
6360   WITH_AGFA_MONOTYPE_FONTS=YES
6361   SCPDEFS="$SCPDEFS -DWITH_AGFA_MONOTYPE_FONTS"
6362   BUILD_TYPE="$BUILD_TYPE AGFA_MONOTYPE_FONTS"
6363 else
6364   AC_MSG_RESULT([no])
6365   WITH_AGFA_MONOTYPE_FONTS=NO
6367 AC_SUBST(WITH_AGFA_MONOTYPE_FONTS)
6369 dnl ===================================================================
6370 dnl Test whether to include ppds
6371 dnl ===================================================================
6372 AC_MSG_CHECKING([whether to include PPDs])
6373 if test "$with_ppds" != "no"; then
6374   AC_MSG_RESULT([yes])
6375 else
6376   AC_MSG_RESULT([no])
6377   WITHOUT_PPDS=YES
6378   SCPDEFS="$SCPDEFS -DWITHOUT_PPDS"
6380 AC_SUBST(WITHOUT_PPDS)
6382 dnl ===================================================================
6383 dnl Test whether to include afms
6384 dnl ===================================================================
6385 AC_MSG_CHECKING([whether to include AFMs])
6386 if test "$with_afms" != "no"; then
6387   AC_MSG_RESULT([yes])
6388 else
6389   AC_MSG_RESULT([no])
6390   WITHOUT_AFMS=YES
6391   SCPDEFS="$SCPDEFS -DWITHOUT_AFMS"
6393 AC_SUBST(WITHOUT_AFMS)
6395 AC_SUBST(SCPDEFS)
6397 AC_MSG_CHECKING([whether and how to use Xinerama])
6398 if test "$_os" = "Darwin"; then
6399    USE_XINERAMA=YES
6400    XINERAMA_LINK=dynamic
6401    AC_MSG_RESULT([yes])
6402 elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then
6403    if test -e "$XLIB/libXinerama.so" -a -e "$XLIB/libXinerama.a"; then
6404       # we have both versions, let the user decide but use the dynamic one
6405       # per default
6406       USE_XINERAMA=YES
6407       if test -z "$with_static_xinerama" -o -n "$with_system_libs"; then
6408          XINERAMA_LINK=dynamic
6409       else
6410          XINERAMA_LINK=static
6411       fi
6412    elif test -e "$XLIB/libXinerama.so" -a ! -e "$XLIB/libXinerama.a"; then
6413       # we have only the dynamic version
6414       USE_XINERAMA=YES
6415       XINERAMA_LINK=dynamic
6416    elif test -e "$XLIB/libXinerama.a"; then
6417       # static version
6418       if echo $build_cpu | grep -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
6419          USE_XINERAMA=YES
6420          XINERAMA_LINK=static
6421       else
6422          USE_XINERAMA=NO
6423          XINERAMA_LINK=none
6424       fi
6425    else
6426       # no Xinerama
6427       USE_XINERAMA=NO
6428       XINERAMA_LINK=none
6429    fi
6430    if test "$USE_XINERAMA" = "YES"; then
6431       AC_MSG_RESULT([yes, with $XINERAMA_LINK linking])
6432       AC_CHECK_HEADER(X11/extensions/Xinerama.h, [],
6433           [AC_MSG_ERROR(Xinerama header not found.)], [])
6434       XINERAMA_EXTRA_LIBS="-L$XLIB -lXext"
6435       if test "$_os" = "FreeBSD"; then
6436           XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -lXt"
6437       fi
6438       if test "$_os" = "Linux"; then
6439           XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl"
6440       fi
6441       AC_CHECK_LIB(Xinerama, XineramaIsActive, [],
6442           [AC_MSG_ERROR(Xinerama not functional?)], [$XINERAMA_EXTRA_LIBS])
6443    else
6444       AC_MSG_RESULT([no, libXinerama not found or wrong architecture.])
6445    fi
6446 else
6447    AC_MSG_RESULT([no])
6449 AC_SUBST(USE_XINERAMA)
6450 AC_SUBST(XINERAMA_LINK)
6452 dnl ===================================================================
6453 dnl Test for the presence of Ant and that it works
6454 dnl ===================================================================
6456 if test "$SOLAR_JAVA" != ""; then
6457 ANT_HOME=; export ANT_HOME
6458 WITH_ANT_HOME=; export WITH_ANT_HOME
6459 if test -z "$with_ant_home"; then
6460    AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd])
6461 else
6462    if test "$_os" = "WINNT"; then
6463       with_ant_home=`cygpath -u "$with_ant_home"`
6464    fi
6465    AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd],,$with_ant_home/bin:$PATH)
6466    WITH_ANT_HOME=$with_ant_home
6467    ANT_HOME=$with_ant_home
6470 if test -z "$ANT"; then
6471   AC_MSG_ERROR([Ant not found - Make sure it's in the path or use --with-ant-home])
6472 else
6473   # resolve relative or absolute symlink
6474   while test -h "$ANT"; do
6475      a_cwd=`pwd`
6476      a_basename=`basename "$ANT"`
6477      a_script=`ls -l "$ANT" | sed "s/.*${a_basename} -> //g"`
6478      cd "`dirname "$ANT"`"
6479      cd "`dirname "$a_script"`"
6480      ANT="`pwd`"/"`basename "$a_script"`"
6481      cd "$a_cwd"
6482   done
6484   if test "$_os" = "OS2"; then
6485     ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
6486     export ANT_HOME
6487   fi
6489   ant_minver=1.6.0
6490   ant_minminor1=`echo $ant_minver | cut -d"." -f2`
6492   AC_MSG_CHECKING([whether ant is >= $ant_minver])
6493   ant_version=`$ANT -version | $AWK '{ print $4; }'`
6494   ant_version_major=`echo $ant_version | cut -d. -f1`
6495   ant_version_minor=`echo $ant_version | cut -d. -f2`
6496 echo "configure: ant_version $ant_version " >&5
6497 echo "configure: ant_version_major $ant_version_major " >&5
6498 echo "configure: ant_version_minor $ant_version_minor " >&5
6499   if test "$ant_version_major" -ge "2"; then
6500         AC_MSG_RESULT([yes, $ant_version])
6501   elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then
6502         AC_MSG_RESULT([yes, $ant_version])
6503   else
6504         AC_MSG_ERROR([no, you need at least ant >= $ant_minver])
6505   fi
6506   AC_MSG_CHECKING([if $ANT works])
6507 cat > conftest.java << EOF
6508     public class conftest {
6509         int testmethod(int a, int b) {
6510             return a + b;
6511         }
6512     }
6515 cat > conftest.xml << EOF
6516     <project name="conftest" default="conftest">
6517         <target name="conftest">
6518             <javac srcdir="." includes="conftest.java">
6519             </javac>
6520         </target>
6521     </project>
6523   oldJAVA_HOME=$JAVA_HOME
6524   if test "$JAVACISGCJ" = "yes"; then
6525     JAVA_HOME=; export JAVA_HOME
6526     ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2"
6527   else
6528     ant_cmd="$ANT -buildfile conftest.xml 1>&2"
6529   fi
6530   AC_TRY_EVAL(ant_cmd)
6531   if test $? = 0 && test -f ./conftest.class ; then
6532     AC_MSG_RESULT([Ant works]) 
6533     if test -z "$WITH_ANT_HOME"; then
6534         ANT_HOME=`$ANT -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"`
6535         if test -z "$ANT_HOME"; then
6536             ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
6537         fi
6538     else
6539         ANT_HOME="$WITH_ANT_HOME"
6540     fi
6541   else
6542     echo "configure: Ant test failed" >&5
6543     cat conftest.java >&5
6544     cat conftest.xml >&5
6545     AC_MSG_WARN([Ant does not work - Some Java projects will not build!])
6546     ANT_HOME=""
6547     echo "Ant does not work - Some Java projects will not build!" >>warn
6548   fi
6549   JAVA_HOME=$oldJAVA_HOME
6550   rm -f conftest* core core.* *.core
6552 if test -z "$ANT_HOME"; then
6553    ANT_HOME="NO_ANT_HOME"
6555 AC_SUBST(ANT_HOME)
6557 dnl Checking for ant.jar
6558 if test "$ANT_HOME" != "NO_ANT_HOME"; then
6559    AC_MSG_CHECKING([Ant lib directory])
6560    if test -f $ANT_HOME/lib/ant.jar; then
6561           ANT_LIB="$ANT_HOME/lib"
6562    else
6563       if test -f $ANT_HOME/ant.jar; then
6564              ANT_LIB="$ANT_HOME"
6565       else
6566           if test -f /usr/share/java/ant.jar; then
6567               ANT_LIB=/usr/share/java
6568           else
6569              if test -f /usr/share/ant-core/lib/ant.jar; then
6570                  ANT_LIB=/usr/share/ant-core/lib
6571              else
6572                 if test -f $ANT_HOME/lib/ant/ant.jar; then
6573                     ANT_LIB="$ANT_HOME/lib/ant"
6574                 else
6575                     AC_MSG_ERROR([Ant libraries not found!])
6576                 fi  
6577              fi
6578           fi
6579       fi
6580    fi
6581    AC_MSG_RESULT([Ant lib directory found.])
6583 AC_SUBST(ANT_LIB)
6586 if test "$ENABLE_MEDIAWIKI" = "YES"; then
6587 AC_MSG_CHECKING([whether ant supports mapper type="regexp"])
6588 rm -rf confdir
6589 mkdir confdir
6590 cat > conftest.java << EOF
6591     public class conftest {
6592         int testmethod(int a, int b) {
6593             return a + b;
6594         }
6595     }
6598 cat > conftest.xml << EOF
6599     <project name="conftest" default="conftest">
6600         <target name="conftest" depends="copytest">
6601             <javac srcdir="." includes="conftest.java">
6602             </javac>
6603         </target>
6604         <target name="copytest">
6605              <copy todir="confdir">
6606                  <fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/>
6607                  <filterset/>
6608                  <mapper type="regexp" from="^(.*[/\\])foo([/\\].*)" to="\1baa\2"/>
6609              </copy>
6610         </target>
6611     </project>
6613   if test "$JAVACISGCJ" = "yes"; then
6614     JAVA_HOME=; export JAVA_HOME
6615     ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2"
6616   else
6617     ant_cmd="$ANT -buildfile conftest.xml 1>&2"
6618   fi
6619   AC_TRY_EVAL(ant_cmd)
6620   if test $? = 0 && test -f ./conftest.class ; then
6621     AC_MSG_RESULT([yes]) 
6622     rm -rf confdir
6623   else
6624     echo "configure: Ant test failed" >&5
6625     cat conftest.java >&5
6626     cat conftest.xml >&5
6627     rm -rf confdir
6628     AC_MSG_ERROR([no. Did you install ant-apache-regexp?])
6629   fi
6631 rm -f conftest* core core.* *.core
6633 AC_MSG_CHECKING([which languages to be built])
6634 WITH_LANG="$with_lang"
6635 if test -z "$WITH_LANG"; then
6636    AC_MSG_RESULT([en-US])
6637 else
6638    AC_MSG_RESULT([$WITH_LANG])
6640 AC_SUBST(WITH_LANG)
6642 AC_MSG_CHECKING([which languages have poor help localizations])
6643 WITH_POOR_HELP_LOCALIZATIONS="$with_poor_help_localizations"
6644 if test -z "$WITH_POOR_HELP_LOCALIZATIONS"; then
6645    AC_MSG_RESULT([none])
6646 else
6647    AC_MSG_RESULT([$WITH_POOR_HELP_LOCALIZATIONS])
6649 AC_SUBST(WITH_POOR_HELP_LOCALIZATIONS)
6651 AC_MSG_CHECKING([which dictionaries to include])
6652 if test -z "$with_dict"; then
6653    WITH_DICT=,ALL,
6654    AC_MSG_RESULT([ALL])
6655 else
6656    WITH_DICT=","$with_dict","
6657    AC_MSG_RESULT([$with_dict])
6659 AC_SUBST(WITH_DICT)
6661 AC_MSG_CHECKING([for additional 'intro' bitmaps])
6662 INTRO_BITMAPS=
6663 if test -z "$with_intro_bitmaps" -o "$with_intro_bitmaps" = "no" ; then
6664    INTRO_BITMAPS=
6665    AC_MSG_RESULT([none])
6666 else
6667    for bitmap in `echo $with_intro_bitmaps | tr ',' ' '` ; do
6668       case "$bitmap" in
6669          *.bmp) ;;
6670          *)     bitmap= ; AC_MSG_WARN([Intro bitmaps should be .bmp files!]) ;;
6671       esac
6672       if test -n "$bitmap" ; then
6673          INTRO_BITMAPS="$INTRO_BITMAPS $bitmap"
6674       fi
6675    done
6676    AC_MSG_RESULT([$INTRO_BITMAPS])
6678 AC_SUBST(INTRO_BITMAPS)
6680 AC_MSG_CHECKING([for additional 'about' bitmaps])
6681 ABOUT_BITMAPS=
6682 if test -z "$with_about_bitmaps" -o "$with_about_bitmaps" = "no" ; then
6683    ABOUT_BITMAPS=
6684    AC_MSG_RESULT([none])
6685 else
6686    for bitmap in `echo $with_about_bitmaps | tr ',' ' '` ; do
6687       case "$bitmap" in
6688          *.bmp) ;;
6689          *)     bitmap= ; AC_MSG_WARN([About bitmaps should be .bmp files!]) ;;
6690       esac
6691       if test -n "$bitmap" ; then
6692          ABOUT_BITMAPS="$ABOUT_BITMAPS $bitmap"
6693       fi
6694    done
6695    AC_MSG_RESULT([$ABOUT_BITMAPS])
6697 AC_SUBST(ABOUT_BITMAPS)
6699 OOO_VENDOR=
6700 AC_MSG_CHECKING([for vendor])
6701 if test -z "$with_vendor" -o "$with_vendor" = "no" ; then
6702    AC_MSG_RESULT([not set])
6703 else
6704    OOO_VENDOR="$with_vendor"
6705    AC_MSG_RESULT([$OOO_VENDOR])
6707 AC_SUBST(OOO_VENDOR)
6709 UNIXWRAPPERNAME=
6710 AC_MSG_CHECKING([for UNIX wrapper name])
6711 if test -z "$with_unix_wrapper" -o "$with_unix_wrapper" = "no"  -o "$with_unix_wrapper" = "yes" ; then
6712    AC_MSG_RESULT([not set])
6713 else
6714    UNIXWRAPPERNAME="$with_unix_wrapper"
6715    AC_MSG_RESULT([$UNIXWRAPPERNAME])
6717 AC_SUBST(UNIXWRAPPERNAME)
6719 AC_MSG_CHECKING([whether to statically link to Gtk])
6720 if test -n "$enable_static_gtk" && test "$enable_static_gtk" != "no"; then
6721    ENABLE_STATIC_GTK="TRUE"
6722    AC_MSG_RESULT([yes])
6723 else
6724    ENABLE_STATIC_GTK="FALSE"    
6725    AC_MSG_RESULT([no])
6727 AC_SUBST(ENABLE_STATIC_GTK)
6729 AC_MSG_CHECKING([whether to use layout dialogs])
6730 if test -z "$enable_layout" || test "$enable_layout" != "no"; then
6731    ENABLE_LAYOUT="TRUE"
6732    AC_MSG_RESULT([yes])
6733 else
6734    ENABLE_LAYOUT="FALSE"        
6735    AC_MSG_RESULT([no])
6737 AC_SUBST(ENABLE_LAYOUT)
6739 AC_MSG_CHECKING([whether to use experimental layout dialogs])
6740 if test -n "$enable_layout_experimental" && test "$enable_layout_experimental" == "yes"; then
6741    ENABLE_LAYOUT_EXPERIMENTAL="TRUE"
6742    AC_MSG_RESULT([yes])
6743 else
6744    ENABLE_LAYOUT_EXPERIMENTAL="FALSE"
6745    AC_MSG_RESULT([no])
6747 AC_SUBST(ENABLE_LAYOUT_EXPERIMENTAL)
6749 # ===================================================================
6750 # De- or increase default verbosity of build process
6751 # ===================================================================
6752 AC_MSG_CHECKING([build verbosity])
6753 if test -n "$enable_verbose"; then
6754    if test "$enable_verbose" == "yes"; then
6755       VERBOSE="TRUE"
6756       AC_MSG_RESULT([high])
6757    fi
6758    if test "$enable_verbose" == "no"; then
6759       VERBOSE="FALSE"
6760       AC_MSG_RESULT([low])
6761    fi
6762 else
6763    AC_MSG_RESULT([not set])
6765 AC_SUBST(VERBOSE)
6767 dnl ===================================================================
6768 dnl Setting up the environment.
6769 dnl ===================================================================
6770 echo "********************************************************************"
6771 echo "*                                                                  *"
6772 echo "*   Setting up the build environment variables.                    *"
6773 echo "*                                                                  *"
6774 echo "********************************************************************"
6776 if test -z "$COMPATH"; then
6777    AC_MSG_ERROR([No compiler found.])
6779 AC_SUBST(COMPATH)
6781 AC_MSG_CHECKING([solver path])
6782 if test -z "$with_local_solver"; then
6783    LOCAL_SOLVER="DEFAULT"
6784    AC_MSG_RESULT([default])
6785 else
6786    LOCAL_SOLVER=$with_local_solver
6787    AC_MSG_RESULT([$with_local_solver])
6789 AC_SUBST(LOCAL_SOLVER)
6791 AC_SUBST(BUILD_TYPE)
6793 # make sure config.guess is +x; we execute config.guess, so it has to be so; 
6794 chmod +x ./config.guess
6796 AC_OUTPUT([set_soenv Makefile])
6798 dnl Executing the set_soenv script to setup the environment variables.
6799 chmod a+x set_soenv
6800 if test -z "$enable_check_only"; then
6801    './set_soenv'
6802 else
6803    echo
6804    echo Test Complete
6805    echo No environment file will be generated
6806    echo
6807    num_warnings=`wc -l warn`
6808    _num=`echo $num_warnings | $AWK '{ print $1 }'`
6809    if test $_num -gt 0; then
6810       echo The following warning\(s\) were generated by configure
6811       echo ----------------------------------------------------
6812       echo
6813       cat warn
6814       echo
6815    else
6816       echo There were no warnings
6817    fi
6818    echo
6819 fi