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