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