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