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