xref: /aoo42x/main/configure.ac (revision 6e64234a)
1dnl * *************************************************************
2dnl *
3dnl *  Licensed to the Apache Software Foundation (ASF) under one
4dnl *  or more contributor license agreements.  See the NOTICE file
5dnl *  distributed with this work for additional information
6dnl *  regarding copyright ownership.  The ASF licenses this file
7dnl *  to you under the Apache License, Version 2.0 (the
8dnl *  "License"); you may not use this file except in compliance
9dnl *  with the License.  You may obtain a copy of the License at
10dnl *
11dnl *    http://www.apache.org/licenses/LICENSE-2.0
12dnl *
13dnl *  Unless required by applicable law or agreed to in writing,
14dnl *  software distributed under the License is distributed on an
15dnl *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16dnl *  KIND, either express or implied.  See the License for the
17dnl *  specific language governing permissions and limitations
18dnl *  under the License.
19dnl *
20dnl * *************************************************************
21AC_REVISION( $Revision$ )
22AC_PREREQ(2.50)
23AC_INIT()
24echo "$@" >config.parms
25AC_ARG_WITH(dmake-path,
26[  --with-dmake-path=<PATH TO EXECUTABLE>   Specify the location of dmake ],
27[  DMAKE_PATH="$withval"
28])
29AC_ARG_WITH(dmake-url,
30[  --with-dmake-url=<URL>   Specify the location of downloadable dmake source code. For example:
31                          http://sourceforge.net/projects/oooextras.mirror/files/dmake-4.12.tar.bz2
32                          Note that dmake is under GPL license.],
33[  DMAKE_URL="$withval"
34])
35AC_ARG_WITH(packager-list,
36[  --with-packager-list=<PATH TO PACK LIST>   Specify a file to drive the packaging process.
37                          The file must follow the format explained in
38                          instsetoo_native/util/pack.lst
39],,)
40AC_ARG_WITH(gnu-patch,
41[  --with-gnu-patch        Specify location of GNU patch on Solaris or FreeBSD
42],,)
43AC_ARG_WITH(gnu-cp,
44[  --with-gnu-cp           Specify location of GNU cp on Solaris
45],,)
46AC_ARG_WITH(gperf,
47[  --with-gperf           Specify location of gperf on Solaris or FreeBSD
48],,)
49AC_ARG_ENABLE(graphite,
50[  --enable-graphite       Enables the compilation of Graphite smart font rendering
51],,)
52AC_ARG_WITH(system-graphite,
53[  --with-system-graphite    use graphite library already installed on system
54],,)
55AC_ARG_WITH(system-apache-commons,
56[  --with-system-apache-commons    use apache-commons jar files already installed on system
57],,)
58AC_ARG_ENABLE(online-update,
59[  --disable-online-update Disables the Online Update feature.
60],,enable_online_update=yes)
61AC_ARG_ENABLE(unit-tests,
62[  --disable-unit-tests		Disables default unit tests (eg. unit tests using Google test, ...).
63],,enable_unit_tests=yes)
64AC_ARG_ENABLE(ldap,
65[  --disable-ldap          Disables the use of LDAP backend via OpenLDAP
66],,)
67AC_ARG_ENABLE(fetch-external,
68[  --disable-fetch-external Disables fetching external tarballs from web sources.
69],,)
70AC_ARG_WITH(external-tar,
71[  --with-external-tar=<TARFILE PATH>   Specify path to tarfiles manually ],
72[ TARFILE_LOCATION="$withval"
73])
74AC_ARG_WITH(openldap,
75[  --with-openldap         Enables the use of the OpenLDAP
76],,)
77AC_ARG_ENABLE(lockdown,
78[  --enable-lockdown       Enables the gconf integration work in OOo
79],,)
80AC_ARG_ENABLE(vba,
81[  --disable-vba           disables the vba compatibility feature
82],,)
83AC_ARG_WITH(vba-package-format,
84[  --with-vba-package-format   specify package format for vba compatibility api.
85                          Specifying  "builtin" means the api component and
86                          associated type library are  part of the installation set.
87                          Specifying "extn" creates an uno extension that is
88                          part of the installation set ( located in the program
89                          directory ) that MUST be optionly registered using
90                          either the unopkg executeable or the extension manager
91                          gui.
92
93                          Note: "builtin" is the default, "extn" can cause
94                          problems.
95                          Usage: --with-vba-package-format="builtin" or
96                                 --with-vba-package-format="extn"
97],,)
98AC_ARG_ENABLE(pch,
99[  --enable-pch            EXPERIMENTAL: Enables precompiled header support for C++.
100],,)
101AC_ARG_WITH(fonts,
102[  --without-fonts         OOo includes some third-party fonts to provide a reliable
103                          basis for help content, templates, samples, etc.
104                          When these fonts are already known to be available on the
105                          system then you should use this option.
106],,)
107AC_ARG_WITH(ppds,
108[  --without-ppds          Removes Postscript Printer definition files from
109                          Apache Openoffice installation set, for people building
110                          for specific distributions where PPDs are known to be
111                          already available (every recent distro with CUPS
112                          backend)
113],,)
114AC_ARG_WITH(afms,
115[  --without-afms          Removes bitmap font files from Apache Openoffice
116                          installation set, for people building for specific
117                          distributions where AFM files or TrueType Fonts
118                          are known to be available.
119],,)
120AC_ARG_ENABLE(epm,
121[  --disable-epm           AOO includes self-packaging code, that requires
122                          epm, however epm is useless for large scale
123                          package building.
124],,enable_epm="yes")
125AC_ARG_WITH(epm,
126[  --with-epm		  Decides which epm to use. Default is to use
127			  the one from the system if one is built. When
128			  either this is not there or you say =internal
129			  epm will be built.
130],,)
131AC_ARG_WITH(epm-url,
132[  --with-epm-url=<URL>    Specify the location of downloadable epm source code. For example:
133                            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 OOo installsets.
141                          Default is "normal" one of the OS/Distribution.
142
143                          Usage: --with-package-format="foo bar"
144],,)
145AC_ARG_ENABLE(odk,
146[  --disable-odk           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 Jakarta 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 recent
685                          versions of JUnit. (Default: disabled.)
686],,with_hamcrest_core=no)
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-registerd
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 OOo.
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} -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		COMID="gcc3";
2241		COMNAME="gcc3";
2242		;;
2243	MSC)
2244		CCVER=`${CC} 2>&1 | $AWK -f ${_solenv}/bin/getcompver.awk`;
2245		CCNUMVER=`${CC} 2>&1 | $AWK -v num=true -f ${_solenv}/bin/getcompver.awk`;
2246		if test "${CCNUMVER}" -ge 001200000000; then
2247			COMID="MSC";
2248			case "$build_cpu" in
2249			  i?86)
2250			    COMNAME="msci";
2251			    ;;
2252			  x86_64)
2253			    if test "$BUILD_WIN64" = "TRUE" ; then
2254			      COMNAME="mscx";
2255			    else
2256			      COMNAME="msci";
2257			    fi
2258			    ;;
2259			  *)
2260			    AC_MSG_ERROR([Unknown/unsupported Windows CPU $build_cpu.])
2261			    ;;
2262			esac
2263		else
2264			AC_MSG_ERROR([MSC compiler too old]);
2265		fi
2266		;;
2267	C55 | C54 | C52 | C40 | sunpro)
2268		CCVER=`${CC} -V 2>&1 | $AWK -f ${_solenv}/bin/getcompver.awk`;
2269		CCNUMVER=`${CC} -V 2>&1 | $AWK -v num=true -f ${_solenv}/bin/getcompver.awk`;
2270		if test "${CCNUMVER}" -ge 00050002; then
2271			COMID="C52";
2272			COMNAME="sunpro5";
2273		else
2274			AC_MSG_ERROR([Sun compiler too old]);
2275		fi
2276		;;
2277	*)
2278		AC_MSG_ERROR([Unable to detect compiler version]);;
2279esac
2280AC_SUBST(CCVER)
2281AC_SUBST(CCNUMVER)
2282AC_SUBST(COMID)
2283AC_SUBST(COMNAME)
2284
2285if test "$_os" = "FreeBSD"; then
2286    FBSD_GCC_RPATH=
2287    if "$COM" = "GCC"; then
2288        rpath=`$CC --print-file-name libstdc++.so`
2289        rpath=`realpath $rpath`
2290        rpath=`dirname $rpath`
2291	if test "$rpath" != "/usr/lib" ; then
2292            FBSD_GCC_RPATH="-Wl,-rpath=$rpath"
2293	fi
2294    fi
2295    AC_SUBST(FBSD_GCC_RPATH)
2296fi
2297
2298dnl ===================================================================
2299dnl  .NET needs special treatment
2300dnl ===================================================================
2301if test "$_os" = "WINNT"; then
2302if test "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then
2303	dnl Check midl.exe
2304	AC_PATH_PROG(MIDL_PATH, midl.exe)
2305	if test -n "$MIDL_PATH";then
2306		MIDL_PATH=`dirname "$MIDL_PATH"`
2307	fi
2308	if test -n "$with_midl_path";then
2309		with_midl_path=`cygpath -u "$with_midl_path"`
2310	fi
2311	if test -x "$with_midl_path/midl.exe"; then
2312		MIDL_PATH="$with_midl_path"
2313	fi
2314	if test -z "$MIDL_PATH" -a -e "$with_cl_home/../Common7/Tools/Bin/midl.exe"; then
2315		MIDL_PATH="$with_cl_home/../Common7/Tools/Bin"
2316	fi
2317	if test -z "$MIDL_PATH" ; then
2318      vstest=`$OOWINTOOL --msvs-productdir`;
2319      if test -x "$vstest/Common7/Tools/Bin/midl.exe" ; then
2320		  MIDL_PATH="$vstest/Common7/Tools/Bin"
2321      fi
2322	fi
2323	if test -z "$MIDL_PATH" ; then
2324		psdktest=`$OOWINTOOL --psdk-home`
2325		if test -x "$psdktest/Bin/midl.exe" ; then
2326			MIDL_PATH="$psdktest/Bin"
2327		fi
2328	fi
2329	if test ! -x "$MIDL_PATH/midl.exe"; then
2330		AC_MSG_ERROR([midl.exe not found. Make sure it's in the path or use --with-midl-path])
2331	fi
2332	# Convert to posix path with 8.3 filename restrictions ( No spaces )
2333	MIDL_PATH=`cygpath -d "$MIDL_PATH"`
2334	MIDL_PATH=`cygpath -u "$MIDL_PATH"`
2335
2336	dnl Check csc.exe
2337	AC_PATH_PROG(CSC_PATH, csc.exe)
2338	if test -n "$CSC_PATH";then
2339		CSC_PATH=`dirname "$CSC_PATH"`
2340	fi
2341	if test -n "$with_csc_path";then
2342		with_csc_path=`cygpath -u "$with_csc_path"`
2343	fi
2344	if test -x "$with_csc_path/csc.exe"; then
2345		CSC_PATH="$with_csc_path"
2346	else
2347	   csctest=`$OOWINTOOL --csc-compilerdir`;
2348	   if test -x "$csctest/csc.exe"; then
2349	      CSC_PATH="$csctest"
2350	   fi
2351	fi
2352	if test ! -x "$CSC_PATH/csc.exe"; then
2353		AC_MSG_ERROR([csc.exe not found. Make sure it's in the path or use --with-csc-path])
2354	fi
2355	# Convert to posix path with 8.3 filename restrictions ( No spaces )
2356	CSC_PATH=`cygpath -d "$CSC_PATH"`
2357	CSC_PATH=`cygpath -u "$CSC_PATH"`
2358
2359    dnl Check mscoree.lib / .NET Frameworks dir
2360    dnl For VS2003/2005 $with_frame_home has to point to the directory with lib/mscoree.lib.
2361       AC_MSG_CHECKING(.NET Framework)
2362	    if test -n "$with_frame_home"; then
2363		with_frame_home=`cygpath -u "$with_frame_home"`
2364	    fi
2365	    if test -f "$with_frame_home/lib/mscoree.lib"; then
2366		    FRAME_HOME="$with_frame_home"
2367	    fi
2368	    if test -z "$FRAME_HOME" -a -e "$with_cl_home/../SDK/v1.1/lib/mscoree.lib"; then
2369		    FRAME_HOME="$with_cl_home/../SDK/v1.1"
2370	    fi
2371	    if test -z "$FRAME_HOME" ; then
2372          frametest=`$OOWINTOOL --dotnetsdk-dir`
2373          if test -f "$frametest/lib/mscoree.lib"; then
2374             FRAME_HOME="$frametest"
2375          else
2376             frametest=`$OOWINTOOL --psdk-home`
2377             if test -f "$frametest/lib/mscoree.lib"; then
2378                FRAME_HOME="$frametest"
2379             fi
2380          fi
2381	    fi
2382	    if test ! -f "$FRAME_HOME/lib/mscoree.lib"; then
2383		AC_MSG_ERROR([mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home])
2384	    fi
2385	    AC_MSG_RESULT(found)
2386	# Convert to posix path with 8.3 filename restrictions ( No spaces )
2387	FRAME_HOME=`cygpath -d "$FRAME_HOME"`
2388	FRAME_HOME=`cygpath -u "$FRAME_HOME"`
2389fi
2390AC_SUBST(MIDL_PATH)
2391AC_SUBST(CSC_PATH)
2392AC_SUBST(FRAME_HOME)
2393fi
2394
2395dnl ===================================================================
2396dnl Check if stdc headers are available excluding windows.
2397dnl ===================================================================
2398if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2399   AC_HEADER_STDC
2400fi
2401
2402dnl ===================================================================
2403dnl Find pre-processors.
2404dnl ===================================================================
2405if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2406   AC_PROG_CXXCPP
2407
2408dnl Check whether there's a C pre-processor.
2409dnl ===================================================================
2410dnl When using SunStudio compiler, there is a bug with the cc
2411dnl preprocessor, so use CC preprocessor as the cc preprocessor
2412dnl See Issuezilla #445.
2413dnl ===================================================================
2414   if test "$_os" = "SunOS"; then
2415      CPP=$CXXCPP
2416   else
2417      AC_PROG_CPP
2418   fi
2419fi
2420
2421AC_CHECK_SIZEOF(long)
2422SIZEOF_LONG=$ac_cv_sizeof_long
2423AC_SUBST(SIZEOF_LONG)
2424AC_C_BIGENDIAN
2425WORDS_BIGENDIAN=$ac_cv_c_bigendian
2426AC_SUBST(WORDS_BIGENDIAN)
2427
2428dnl Check for large file support
2429AC_SYS_LARGEFILE
2430if test -n "$ac_cv_sys_file_offset_bits"; then
2431   LFS_CFLAGS="-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
2432fi
2433if test -n "$ac_cv_sys_large_files" && test "$ac_cv_sys_large_files" != "no"; then
2434   LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES"
2435fi
2436AC_SUBST(LFS_CFLAGS)
2437
2438dnl ===================================================================
2439dnl Check if valgrind.h is available
2440dnl ===================================================================
2441if test -n "$enable_dbgutil" && test "$enable_dbgutil" != "no"; then
2442   dnl Test $prefix (currently only testing for /usr and /usr/local)
2443   dnl so that VALGRIND_CFLAGS = -I$prefix/include/valgrind
2444   VALGRIND_CFLAGS=""
2445   prev_cppflags=$CPPFLAGS
2446   if test -z "$VALGRIND_CFLAGS"; then
2447      CPPFLAGS="-I/usr/include/valgrind"
2448      AC_CHECK_HEADER([valgrind.h], [VALGRIND_CFLAGS=$CPPFLAGS], [unset ac_cv_header_valgrind_h])
2449   fi
2450   if test -z "$VALGRIND_CFLAGS"; then
2451      CPPFLAGS="-I/usr/local/include/valgrind"
2452      AC_CHECK_HEADER([valgrind.h], [VALGRIND_CFLAGS=$CPPFLAGS], [])
2453   fi
2454   if test -n "$VALGRIND_CFLAGS"; then
2455      CPPFLAGS=$VALGRIND_CFLAGS
2456      AC_CHECK_HEADER([memcheck.h], [], [VALGRIND_CFLAGS=""])
2457   fi
2458   CPPFLAGS=$prev_cppflags
2459fi
2460AC_SUBST([VALGRIND_CFLAGS])
2461
2462dnl ===================================================================
2463dnl Check if cups/cups.h is available
2464dnl ===================================================================
2465if test "$test_cups" = "yes" -a "$ENABLE_CUPS" = "TRUE" ; then
2466    AC_CHECK_HEADER(cups/cups.h, [],
2467                    [AC_MSG_ERROR([cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?])], [])
2468fi
2469
2470dnl ===================================================================
2471dnl Check if PAM/pam_appl.h is available on Linux or FreeBSD
2472dnl ===================================================================
2473if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "GNU"; then
2474  AC_MSG_CHECKING([whether to enable pam support])
2475  if test -z "$enable_pam" || test "$enable_pam" != "no"; then
2476    AC_MSG_RESULT([yes])
2477    PAM=YES
2478    AC_CHECK_HEADER(security/pam_appl.h, [],
2479                    [AC_MSG_ERROR([pam_appl.h could not be found. libpam-dev or pam-devel missing?])], [])
2480    AC_MSG_CHECKING([whether to link to libpam])
2481    if test -n "$enable_pam_link" -a "$enable_pam_link" != "no"; then
2482      AC_MSG_RESULT([yes])
2483      PAM_LINK=YES
2484      AC_CHECK_LIB(pam, pam_start, [],
2485          [AC_MSG_ERROR(libpam not found or functional)], [])
2486    else
2487      AC_MSG_RESULT([no, dynamically open it])
2488      PAM_LINK=NO
2489    fi
2490  else
2491    AC_MSG_RESULT([no])
2492    PAM=NO
2493    PAM_LINK=NO
2494    dnl check getspnam_r for needed args (4 or 5)
2495    AX_FUNC_WHICH_GETSPNAM_R
2496  fi
2497fi
2498AC_SUBST(PAM)
2499AC_SUBST(NEW_SHADOW_API)
2500AC_SUBST(PAM_LINK)
2501
2502if test "$_os" = "Linux"; then
2503    AC_MSG_CHECKING([whether to link to libcrypt])
2504    if test -n "$enable_crypt_link" -a "$enable_crypt_link" != "no"; then
2505        AC_MSG_RESULT([yes])
2506        CRYPT_LINK=YES
2507        AC_CHECK_LIB(crypt, crypt, [],
2508            [AC_MSG_ERROR(libcrypt not found or functional)], [])
2509    else
2510        AC_MSG_RESULT([no, dynamically open it])
2511        CRYPT_LINK=NO
2512    fi
2513fi
2514AC_SUBST(CRYPT_LINK)
2515
2516dnl ===================================================================
2517dnl Testing for c++ compiler and version...
2518dnl ===================================================================
2519if test -n "$with_gcc_home"; then
2520   if test -z "$CXX"; then
2521      CXX="$with_gcc_home/bin/g++"
2522   fi
2523fi
2524
2525if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
2526   if test -e "$CC"; then
2527      CXX="$CC"
2528   fi
2529fi
2530
2531dnl Autoconf 2.53 can do this test for cl.exe, 2.13 can't!
2532if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then
2533   AC_PROG_CXX
2534fi
2535
2536dnl check if we are using a buggy version of g++ (currently 3.4.0, 3.4.1 and trunk)
2537if test "$GXX" = "yes"; then
2538   AC_MSG_CHECKING([the GNU C++ compiler version])
2539
2540   _gpp_version=`$CXX -dumpversion`
2541   _gpp_majmin=`echo $_gpp_version | $AWK -F. '{ print \$1*100+\$2 }'`
2542
2543   AC_MSG_RESULT([checked (g++ $_gpp_version)])
2544
2545   if test "$_gpp_majmin" = "304"; then
2546      AC_MSG_CHECKING([whether $CXX has the enum bug])
2547AC_TRY_RUN([
2548extern "C" void abort (void);
2549extern "C" void exit (int status);
2550
2551enum E { E0, E1, E2, E3, E4, E5 };
2552
2553void
2554test (enum E e)
2555{
2556  if (e == E2 || e == E3 || e == E1)
2557  exit (1);
2558}
2559
2560int
2561main (void)
2562{
2563  test (E4);
2564  test (E5);
2565  test (E0);
2566  return 0;
2567}
2568],[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])])
2569   fi
2570fi
2571
2572dnl ===================================================================
2573dnl Set the mingw runtime library include directories
2574dnl ===================================================================
2575if test "$WITH_MINGWIN" = "yes"; then
2576   AC_MSG_CHECKING([for mingwin runtime include path])
2577   cat >conftest.$ac_ext <<_ACEOF
2578#include <stddef.h>
2579#include <bits/c++config.h>
2580_ACEOF
2581   _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`
2582   rm conftest.$ac_ext
2583   if test -n "$_mingw_lib_include_path"; then
2584      _temp=""
2585      for a in $_mingw_lib_include_path
2586         do
2587            a=`cygpath -d "$a"`
2588            _temp="$_temp "`cygpath -u "$a"`
2589         done
2590      _mingw_lib_include_path=$_temp
2591   fi
2592   if test -z "$_mingw_lib_include_path"; then
2593      _mingw_lib_include_path="NO_LIB_INCLUDE"
2594      AC_MSG_RESULT([no mingwin runtime includes])
2595   else
2596      AC_MSG_RESULT([$_mingw_lib_include_path])
2597   fi
2598  MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path"
2599  AC_SUBST(MINGW_LIB_INCLUDE_PATH)
2600dnl mingw gcc 4.4.0 needs backward in include path to use hash_set/hash_map
2601   AC_MSG_CHECKING([for mingwin c++ backward include path])
2602   cat >conftest.$ac_ext <<_ACEOF
2603#include <hash_set>
2604_ACEOF
2605   _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`
2606   rm conftest.$ac_ext
2607   if test -n "$_mingw_backward_include_path"; then
2608      _mingw_backward_include_path=`cygpath -d $_mingw_backward_include_path`
2609      _mingw_backward_include_path=`cygpath -u $_mingw_backward_include_path`
2610      AC_MSG_RESULT([$_mingw_backward_include_path])
2611   else
2612      _mingw_backward_include_path="NO_BACKWARD_INCLUDE"
2613      AC_MSG_RESULT([no mingwin c++ backward includes])
2614   fi
2615  MINGW_BACKWARD_INCLUDE_PATH="$_mingw_backward_include_path"
2616  AC_SUBST(MINGW_BACKWARD_INCLUDE_PATH)
2617  mingw_crtbegin=`$CC -print-file-name=crtbegin.o`
2618  MINGW_CLIB_DIR=`dirname $mingw_crtbegin`
2619  AC_MSG_CHECKING([whether to use dynamic libgcc])
2620  if test -e "$MINGW_CLIB_DIR/libgcc_s.a"; then
2621    AC_MSG_CHECKING([dynamic libgcc name])
2622    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'`
2623    MINGW_GCCDLL=`cd $COMPATH/bin && ls $MINGW_GCCDLL_pattern 2>/dev/null`
2624    if test -n "$MINGW_GCCDLL"; then
2625        MINGW_SHARED_GCCLIB=YES
2626        AC_MSG_RESULT([use $MINGW_GCCDLL])
2627    else
2628        AC_MSG_RESULT([no])
2629    fi
2630  else
2631    AC_MSG_RESULT([no])
2632  fi
2633  if test -e "$MINGW_CLIB_DIR/libgcc_eh.a"; then
2634      MINGW_GCCLIB_EH=YES
2635  fi
2636  AC_MSG_CHECKING([whether to use dynamic libstdc++])
2637  MINGW_SHARED_LIBSTDCPP=
2638  if test -e "$MINGW_CLIB_DIR/libstdc++_s.a" ; then
2639    MINGW_SHARED_LIBSTDCPP=stdc++_s
2640  fi
2641  if test -e "$MINGW_CLIB_DIR/libstdc++.dll.a" ; then
2642    MINGW_SHARED_LIBSTDCPP=stdc++.dll
2643  fi
2644  if test -n "$MINGW_SHARED_LIBSTDCPP" ; then
2645    AC_MSG_CHECKING([dynamic libstdc++ name])
2646    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'`
2647    MINGW_GXXDLL=`cd $COMPATH/bin && ls $MINGW_GXXDLL_pattern 2>/dev/null`
2648    if test -n "$MINGW_GXXDLL"; then
2649        MINGW_SHARED_LIBSTDCPP=-l$MINGW_SHARED_LIBSTDCPP
2650        MINGW_SHARED_GXXLIB=YES
2651        AC_MSG_RESULT([use $MINGW_GXXDLL])
2652    else
2653        MINGW_SHARED_LIBSTDCPP=
2654        AC_MSG_RESULT([no])
2655    fi
2656  else
2657    AC_MSG_RESULT([no])
2658  fi
2659  MINGW_CLIB_DIR=`cygpath $MINGW_CLIB_DIR`
2660  AC_SUBST(MINGW_CLIB_DIR)
2661  AC_SUBST(MINGW_SHARED_GCCLIB)
2662  AC_SUBST(MINGW_GCCLIB_EH)
2663  AC_SUBST(MINGW_SHARED_GXXLIB)
2664  AC_SUBST(MINGW_SHARED_LIBSTDCPP)
2665  AC_SUBST(MINGW_GCCDLL)
2666  AC_SUBST(MINGW_GXXDLL)
2667fi
2668
2669dnl ===================================================================
2670dnl Extra checking for the SUN OS compiler
2671dnl ===================================================================
2672if test "$_os" = "SunOS"; then
2673   dnl SunStudio C++ compiler packaged with SunStudio C compiler
2674   if test "$CC" = "cc"; then
2675   AC_MSG_CHECKING([SunStudio C++ Compiler])
2676      if test "$CXX" != "CC"; then
2677         AC_MSG_WARN([SunStudio C++ was not found])
2678         echo "SunStudio C++ was not found" >> warn
2679      else
2680         AC_MSG_RESULT([checked])
2681      fi
2682   fi
2683fi
2684dnl ===================================================================
2685dnl Extra checking for the OSF compiler
2686dnl ===================================================================
2687if test "$_os" = "OSF1"; then
2688   AC_MSG_CHECKING([Compaq C++ compiler version])
2689   dnl cxx -V outputs to standard error!!!!
2690   _compaqcxx_version=`$CXX -V 2>&1 | $AWK '{ print $3 }'`
2691   _compaqcxx_major=`echo $_compaqcxx_version | $AWK -F. '{ print $1 }'`
2692   if test "$_compaqcxx_major" != "V6"; then
2693      AC_MSG_WARN([found version "$_compaqc_version", use version 6 of the Compaq C++ compiler])
2694      echo "found version $_compaqc_version, use version 6 of the Compaq C++ compiler" >> warn
2695   else
2696      dnl compiler will do
2697      AC_MSG_RESULT([checked])
2698   fi
2699fi
2700
2701dnl *************************************************************
2702dnl Testing for exception handling - dwarf2 or sjlj exceptions...
2703dnl *************************************************************
2704AC_MSG_CHECKING([exception type])
2705AC_LANG_PUSH([C++])
2706if test "$WITH_MINGWIN" = "yes"; then
2707  AC_TRY_LINK(
2708	[#include <iostream>
2709
2710extern "C" void _Unwind_SjLj_RaiseException(void) __attribute__ ((__noreturn__));
2711
2712	],
2713	[_Unwind_SjLj_RaiseException() ],
2714	[exceptions_type="sjlj"],
2715	[exceptions_type="dwarf2"]
2716  )
2717fi
2718
2719AC_MSG_RESULT($exceptions_type)
2720AC_LANG_POP([C++])
2721EXCEPTIONS="$exceptions_type"
2722AC_SUBST(EXCEPTIONS)
2723
2724dnl ===================================================================
2725dnl Checks for what the default STL should be
2726dnl ===================================================================
2727   AC_MSG_CHECKING([what the default STL should be])
2728   DEFAULT_TO_STLPORT="no"
2729if test "$WITH_STLPORT" != "no"; then
2730   AC_MSG_ERROR([Option --with-stlport is no longer available.])
2731else
2732   USE_SYSTEM_STL="YES"
2733fi
2734
2735AC_SUBST(USE_SYSTEM_STL)
2736
2737dnl ===================================================================
2738dnl visibility feature
2739dnl ===================================================================
2740if test "$GCC" = "yes"; then
2741   AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
2742   save_CFLAGS=$CFLAGS
2743   CFLAGS="$CFLAGS -fvisibility=hidden"
2744   AC_TRY_LINK([], [ return 0; ], [ HAVE_GCC_VISIBILITY_FEATURE=TRUE ], [])
2745   CFLAGS=$save_CFLAGS
2746   if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2747      AC_MSG_RESULT([yes])
2748   else
2749      AC_MSG_RESULT([no])
2750   fi
2751fi
2752
2753# ===================================================================
2754# use --ccache-skip?
2755# ===================================================================
2756dnl used to escape compiler options for ccache that otherwise prevent
2757dnl caching of the results (like "-x objective-c++" for Mac)
2758AC_MSG_CHECKING([whether we are allowed and able to use --ccache-skip])
2759if test "$_os" != "Darwin" ; then
2760   AC_MSG_RESULT([only used on Mac currently, skipping])
2761elif test "$enable_ccache_skip" = "no" ; then
2762   AC_MSG_RESULT([no - diabled explicitly])
2763elif test "$enable_ccache_skip" = "yes" ; then
2764   AC_MSG_RESULT([yes - enabled explicitly, skipping checks])
2765   AC_SUBST([USE_CCACHE], [YES])
2766elif test "$enable_ccache_skip" = "auto" ; then
2767   # checking for ccache presence/version
2768   AC_MSG_RESULT([probing...])
2769   AC_PATH_PROG([CCACHE],[ccache],[not_found])
2770   if test "$CCACHE" = "not_found" ; then
2771      AC_MSG_NOTICE([not enabling --ccache-skip (ccache not found)])
2772   else
2773      # check ccache version
2774      AC_MSG_CHECKING([whether version of ccache is suitable])
2775      CCACHE_VERSION=`"$CCACHE" -V | "$AWK" '/^ccache version/{print $3}'`
2776      if test "$CCACHE_VERSION" = "2.4_OOo"; then
2777         AC_MSG_RESULT([yes])
2778         AC_MSG_CHECKING([whether ccache is actually used for the build])
2779         AC_LANG_PUSH([C++])
2780         save_CXXFLAGS=$CXXFLAGS
2781         CXXFLAGS="$CXXFLAGS --ccache-skip -O2"
2782         dnl an empty program will do, we're checking the compiler flags
2783         AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
2784            [use_ccache=yes], [use_ccache=no])
2785         if test $use_ccache = yes ; then
2786            AC_MSG_RESULT([yes, will enable --ccache-skip])
2787            AC_SUBST([USE_CCACHE], [YES])
2788         else
2789            AC_MSG_RESULT([no, will not enable --ccache-skip])
2790         fi
2791         CXXFLAGS=$save_CXXFLAGS
2792         AC_LANG_POP([C++])
2793      else
2794         AC_MSG_RESULT([no])
2795         AC_MSG_NOTICE([ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip])
2796      fi
2797   fi
2798else
2799   AC_MSG_ERROR([invalid option to --enable-ccache-skip. Valid values are "auto", "yes" and "no"])
2800fi
2801
2802dnl ===================================================================
2803dnl system stl sanity tests
2804dnl ===================================================================
2805if false ; then # TODO: update TR1 compliant STLs
2806if test "$USE_SYSTEM_STL" = "YES"; then
2807   AC_MSG_CHECKING([system stl sanity])
2808   AC_LANG_PUSH([C++])
2809
2810   if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2811      AC_MSG_CHECKING([if STL headers are visibility safe])
2812      AC_EGREP_HEADER(visibility push, string, stlvisok=yes, stlvisok=no)
2813      AC_MSG_RESULT([$stlvisok])
2814      if test "$stlvisok" = "no"; then
2815         AC_MSG_WARN([Your gcc STL headers are not visibility safe. Disabling visibility])
2816         echo "Your gcc STL headers are not visibility safe. Disabling visibility" >> warn
2817         unset HAVE_GCC_VISIBILITY_FEATURE
2818      fi
2819   fi
2820
2821   if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2822      sharedlink_ldflags_save=$LDFLAGS
2823      LDFLAGS="$LDFLAGS -fvisibility-inlines-hidden -fpic -shared"
2824
2825      AC_MSG_CHECKING([if gcc is -fvisibility-inlines-hidden safe with STL headers])
2826      AC_TRY_LINK([#include <sstream>
2827using namespace std;
2828],[istringstream strm( "test" ); return 0;],
2829      $EGREP -q  unresolvable conftest.err;
2830      if test $? -eq 0; then gccvisok=no; else gccvisok=yes; fi,
2831      gccvisok=no)
2832      AC_MSG_RESULT([$gccvisok])
2833      if test "$gccvisok" = "no"; then
2834         AC_MSG_WARN([Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility])
2835         echo "Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >> warn
2836         unset HAVE_GCC_VISIBILITY_FEATURE
2837      fi
2838
2839      LDFLAGS=$sharedlink_ldflags_save
2840   fi
2841
2842   if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
2843      AC_MSG_CHECKING([if gcc has a visibility bug with class-level attributes (GCC bug 26905)])
2844      cat >visibility.cxx <<_ACEOF
2845#pragma GCC visibility push(hidden)
2846struct __attribute__ ((visibility ("default"))) TestStruct {
2847  static void Init();
2848};
2849__attribute__ ((visibility ("default"))) void TestFunc() {
2850  TestStruct::Init();
2851}
2852_ACEOF
2853      if ! $CXX $CXXFLAGS $CPPFLAGS -fpic -S visibility.cxx 2>/dev/null > /dev/null; then
2854         gccvisbroken=yes
2855      else
2856         case "$build_cpu" in
2857            i?86|x86_64)
2858               if $EGREP -q '@PLT' visibility.s; then
2859                  gccvisbroken=no
2860               else
2861                  gccvisbroken=yes
2862               fi
2863               ;;
2864            *)
2865               gccvisbroken=no
2866               ;;
2867         esac
2868      fi
2869      rm -f visibility.s visibility.cxx
2870
2871      AC_MSG_RESULT([$gccvisbroken])
2872      if test "$gccvisbroken" = "yes"; then
2873         AC_MSG_WARN([Your gcc is not -fvisibility=hidden safe. Disabling visibility])
2874         echo "Your gcc is not -fvisibility=hidden safe. Disabling visibility" >> warn
2875         unset HAVE_GCC_VISIBILITY_FEATURE
2876      fi
2877   fi
2878
2879   AC_LANG_POP([C++])
2880fi
2881fi # endof TODO: update TR1 compliant STLs
2882
2883AC_SUBST(HAVE_GCC_VISIBILITY_FEATURE)
2884
2885dnl ===================================================================
2886dnl allocator
2887dnl ===================================================================
2888AC_MSG_CHECKING([which memory allocator to use])
2889if test "$with_alloc" = "system"; then
2890    AC_MSG_RESULT([system])
2891    ALLOC="SYS_ALLOC";
2892    AC_CHECK_FUNCS([malloc realloc calloc free])
2893fi
2894if test "$with_alloc" = "tcmalloc"; then
2895    AC_MSG_RESULT(tcmalloc)
2896    if ! echo $build_cpu | $GREP -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
2897        AC_MSG_ERROR([tcmalloc only available/usable on ix86])
2898    fi
2899    AC_CHECK_LIB(tcmalloc, malloc, [],
2900        [AC_MSG_ERROR(tcmalloc not found or functional. Install the Google Profiling Tools)], [])
2901    ALLOC="TCMALLOC";
2902fi
2903if test "$with_alloc" = "jemalloc"; then
2904  if test "$_os" != "FreeBSD" -o "$_os" != "NetBSD"; then
2905    AC_MSG_RESULT(jemalloc)
2906    save_CFLAGS=$CFLAGS
2907    CFLAGS="$CFLAGS -pthread"
2908    AC_CHECK_LIB(jemalloc, malloc, [],
2909        [AC_MSG_ERROR(jemalloc not found or functional. Install the jemalloc allocator.)], [])
2910    ALLOC="JEMALLOC";
2911    CFLAGS=$save_CFLAGS
2912  else
2913    AC_MSG_RESULT([system])
2914    ALLOC="SYS_ALLOC";
2915    AC_CHECK_FUNCS([malloc realloc calloc free])
2916  fi
2917fi
2918if test "$with_alloc" = "internal" -o -z "$with_alloc"; then
2919   AC_MSG_RESULT([internal])
2920fi
2921AC_SUBST(ALLOC)
2922
2923dnl ===================================================================
2924dnl Custom build version
2925dnl ===================================================================
2926
2927AC_MSG_CHECKING([whether to add custom build version])
2928if test "z$with_build_version" != "z"; then
2929   BUILD_VER_STRING=$with_build_version
2930   AC_MSG_RESULT([yes, $BUILD_VER_STRING])
2931else
2932   BUILD_VER_STRING=
2933   AC_MSG_RESULT([no])
2934fi
2935AC_SUBST(BUILD_VER_STRING)
2936
2937dnl ===================================================================
2938dnl Java support enable
2939dnl ===================================================================
2940AC_MSG_CHECKING([whether to build with Java support])
2941if test "$WITH_JAVA" != "no"; then
2942   AC_MSG_RESULT([yes])
2943   SOLAR_JAVA="TRUE"
2944else
2945   AC_MSG_RESULT([no])
2946   SOLAR_JAVA=""
2947
2948   AC_MSG_WARN([building without java will mean some features will not be available])
2949   echo "building without java will mean some features will not be available" >>warn
2950fi
2951AC_SUBST(SOLAR_JAVA)
2952
2953if test "$_os" = "Linux" && test "$build_cpu" = "powerpc"; then
2954   # IBMs JDK needs this...
2955   JITC_PROCESSOR_TYPE=6
2956   export JITC_PROCESSOR_TYPE
2957fi
2958
2959if test "$_os" = "WINNT"; then
2960   if test -z "$with_jdk_home"; then
2961      _jdk_home=`$OOWINTOOL --jdk-home`
2962       if test -d "$_jdk_home"; then
2963          with_jdk_home="$_jdk_home"
2964       fi
2965   else
2966      with_jdk_home=`cygpath -u "$with_jdk_home"`
2967   fi
2968fi
2969
2970dnl ===================================================================
2971dnl Checks for java
2972dnl ===================================================================
2973if test "$SOLAR_JAVA" != ""; then
2974   JAVA_HOME=; export JAVA_HOME
2975   if test -z "$with_jdk_home"; then
2976      AC_PATH_PROG(JAVAINTERPRETER, $WITH_JAVA)
2977   else
2978      _java_path="$with_jdk_home/bin/$WITH_JAVA"
2979      dnl Check if there is a java interpreter at all.
2980      if test -x "$_java_path"; then
2981         JAVAINTERPRETER=$_java_path
2982      else
2983         AC_MSG_ERROR([$_java_path not found, please use --with-jdk-home])
2984      fi
2985   fi
2986   if test "$_os" = "WINNT"; then
2987      if test x`echo "$JAVAINTERPRETER" | $GREP -i '\.exe$'` = x; then
2988          JAVAINTERPRETER="${JAVAINTERPRETER}.exe"
2989      fi
2990      JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"`
2991      JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"`
2992   elif test "$_os" = "Darwin"; then
2993         JAVAIFLAGS=""
2994   fi
2995fi
2996
2997dnl ===================================================================
2998dnl Checks for JDK.
2999dnl ===================================================================
3000if test "$SOLAR_JAVA" != ""; then
3001   _gij_longver=0
3002   AC_MSG_CHECKING([the installed JDK])
3003   if test -n "$JAVAINTERPRETER"; then
3004      dnl java -version sends output to stderr!
3005      if test `$JAVAINTERPRETER -version 2>&1 | $GREP -c "Kaffe"` -gt 0; then
3006         AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.in])
3007#        dnl Kaffe specific tests
3008#        KAFFE_VER=`$JAVAINTERPRETER -version 2>&1 | $EGREP "  Version:" | $SED -r "s/.*  Version: ([[0-9\.]]*).*/\1/"`
3009#        if test -z "$KAFFE_VER"; then
3010#          AC_MSG_ERROR([looks like Kaffe but version detection failed])
3011#        fi
3012#        _kaffe_ver=`echo "$KAFFE_VER" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
3013#        if test "$_kaffe_ver" -lt 10100; then
3014#           AC_MSG_ERROR([Kaffe is too old ($KAFFE_VER - $_kaffe_ver), you need at least 1.1.0])
3015#        fi
3016#        JDK=kaffe
3017#
3018#        dnl TODO: define some project exclusion variables
3019#
3020#        AC_MSG_RESULT([checked (Kaffe $KAFFE_VER)])
3021#        AC_MSG_WARN([EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile])
3022#        echo "EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile" >>warn
3023#        JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
3024      elif test `$JAVAINTERPRETER --version 2>&1 | $GREP -c "GNU libgcj"` -gt 0; then
3025        JDK=gcj
3026        AC_MSG_RESULT([checked (gcj)])
3027        _gij_version=`$JAVAINTERPRETER --version | $GREP GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
3028        _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
3029
3030      elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | $GREP -c "BEA"` -gt 0; then
3031         AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.in])
3032#        JDK=bea
3033#
3034#        dnl BEA JDK specific tests
3035#        _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
3036#        _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
3037#
3038#        if test "$_jdk_ver" -lt 10500; then
3039#          AC_MSG_ERROR([JDK is too old, you need at least BEA JDK 1.5.0])
3040#        fi
3041#
3042#        AC_MSG_RESULT([checked (BEA JDK $_jdk)])
3043#
3044#        if test "$with_jdk_home" = ""; then
3045#             AC_MSG_ERROR([In order to successfully build Apache OpenOffice using the BEA JDK,
3046#you must use the "--with-jdk-home" configure option explicitly])
3047#        fi
3048#
3049#        AC_MSG_WARN([A bug in certain BEA JREs can prevent you from successfully compiling some modules])
3050#        echo "A bug in certain BEA JREs can prevent you from successfully compiling some modules" >>warn
3051#
3052#        JAVA_HOME=$with_jdk_home
3053#
3054      elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | $GREP -c "IBM"` -gt 0; then
3055        JDK=ibm
3056
3057        dnl IBM JDK specific tests
3058        _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
3059        _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
3060
3061        if test "$_jdk_ver" -lt 10500; then
3062             AC_MSG_ERROR([IBM JDK is too old, you need at least 1.5])
3063        fi
3064
3065        AC_MSG_RESULT([checked (IBM JDK $_jdk)])
3066
3067        if test "$with_jdk_home" = ""; then
3068             AC_MSG_ERROR([In order to successfully build Apache OpenOffice using the IBM JDK,
3069you must use the "--with-jdk-home" configure option explicitly])
3070        fi
3071
3072        JAVA_HOME=$with_jdk_home
3073
3074      else
3075        JDK=sun
3076
3077        dnl SUN JDK specific tests
3078        _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
3079        _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
3080
3081        if test "$_jdk_ver" -lt 10500; then
3082             AC_MSG_ERROR([JDK is too old, you need at least 1.5])
3083        fi
3084        AC_MSG_RESULT([checked (JDK $_jdk)])
3085        JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
3086        if test "$_os" = "WINNT"; then
3087          JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
3088        fi
3089        if test "$_os" = "OS2"; then
3090          JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
3091        fi
3092      fi
3093   else
3094      AC_MSG_ERROR([JAVA not found. You need at least jdk-1.5, or gcj-4])
3095   fi
3096else
3097   dnl Java disabled
3098   JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME
3099fi
3100
3101dnl ===================================================================
3102dnl Checks for javac
3103dnl ===================================================================
3104if test "$SOLAR_JAVA" != ""; then
3105    if test "$JDK" = "gcj"; then
3106        javacompiler=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g" | $SED -e "s/java/javac/g"`
3107    else
3108        javacompiler="javac"
3109    fi
3110    if test "$_os" = "OS2"; then
3111      if test x`echo "$javacompiler" | $GREP -i '\.exe$'` = x; then
3112          javacompiler="${javacompiler}.exe"
3113      fi
3114    fi
3115    if test -z "$with_jdk_home"; then
3116        AC_PATH_PROG(JAVACOMPILER, $javacompiler)
3117    else
3118        _javac_path="$with_jdk_home/bin/$javacompiler"
3119        dnl Check if there is a java compiler at all.
3120        if test -x "$_javac_path"; then
3121            JAVACOMPILER=$_javac_path
3122        fi
3123    fi
3124    if test -z "$JAVACOMPILER"; then
3125      AC_MSG_ERROR([$javacompiler not found, please use --with-jdk-home])
3126    fi
3127    if test "$_os" = "WINNT"; then
3128       if test x`echo "$JAVACOMPILER" | $GREP -i '\.exe$'` = x; then
3129          JAVACOMPILER="${JAVACOMPILER}.exe"
3130       fi
3131       JAVACOMPILER=`cygpath -d "$JAVACOMPILER"`
3132       JAVACOMPILER=`cygpath -u "$JAVACOMPILER"`
3133    fi
3134    if test "$_os" = "OS2"; then
3135       if test x`echo "$JAVACOMPILER" | $GREP -i '\.exe$'` = x; then
3136          JAVACOMPILER="${JAVACOMPILER}.exe"
3137       fi
3138    fi
3139
3140    if test `$JAVACOMPILER -version 2>&1 | $GREP -c "Eclipse Java Compiler"` -gt 0; then
3141        AC_MSG_CHECKING([re-checking JDK])
3142        JDK=gcj
3143        AC_MSG_RESULT([checked (ecj)])
3144        #TODO: what's to do here? some switch to do 1.5 compiling?
3145        JAVAFLAGS="-source 1.5 -target 1.5"
3146        _gij_longver="40200"
3147    fi
3148fi
3149
3150JAVACISGCJ=""
3151dnl ===================================================================
3152dnl Checks that javac is gcj
3153dnl ===================================================================
3154if test "$SOLAR_JAVA" != ""; then
3155    if test `$JAVACOMPILER --version 2>&1 | $GREP -c "GCC"` -gt 0; then
3156        JAVACISGCJ="yes"
3157    fi
3158fi
3159AC_SUBST(JAVACISGCJ)
3160
3161dnl ===================================================================
3162dnl Checks for javadoc
3163dnl ===================================================================
3164if test "$SOLAR_JAVA" != ""; then
3165    if test -z "$with_jdk_home"; then
3166        AC_PATH_PROG(JAVADOC, javadoc)
3167    else
3168        _javadoc_path="$with_jdk_home/bin/javadoc"
3169        if test "$_os" = "OS2"; then
3170          if test x`echo "$_javadoc_path" | $GREP -i '\.exe$'` = x; then
3171              _javadoc_path="${_javadoc_path}.exe"
3172          fi
3173        fi
3174        dnl Check if there is a javadoc at all.
3175        if test -x "$_javadoc_path"; then
3176            JAVADOC=$_javadoc_path
3177        else
3178            AC_PATH_PROG(JAVADOC, javadoc)
3179        fi
3180    fi
3181    if test -z "$JAVADOC"; then
3182      AC_MSG_ERROR([$_javadoc_path not found, please use --with-jdk-home])
3183    fi
3184    if test "$_os" = "WINNT"; then
3185        if test x`echo "$JAVADOC" | $GREP -i '\.exe$'` = x; then
3186            JAVADOC="${JAVADOC}.exe"
3187        fi
3188        JAVADOC=`cygpath -d "$JAVADOC"`
3189        JAVADOC=`cygpath -u "$JAVADOC"`
3190    fi
3191    if test "$_os" = "OS2"; then
3192        if test x`echo "$JAVADOC" | $GREP -i '\.exe$'` = x; then
3193            JAVADOC="${JAVADOC}.exe"
3194        fi
3195    fi
3196fi
3197
3198if test "$SOLAR_JAVA" != ""; then
3199    dnl first check if we have been asked to autodetect JAVA_HOME with a recent gij
3200    if test "$JDK" = "gcj" -a -z "$JAVA_HOME"; then
3201      if test "x$with_jdk_home" = "x" -a "$_gij_longver" -ge "40200"; then
3202        cat > findhome.java <<_ACEOF
3203[import java.io.File;
3204
3205class findhome
3206{
3207    public static void main(String args[])
3208    {
3209        String jrelocation = System.getProperty("java.home");
3210        File jre = new File(jrelocation);
3211        System.out.println(jre.getParent());
3212    }
3213}]
3214_ACEOF
3215        AC_MSG_CHECKING([if javac works])
3216        javac_cmd="$JAVACOMPILER findhome.java 1>&2"
3217        AC_TRY_EVAL(javac_cmd)
3218        if test $? = 0 && test -f ./findhome.class ; then
3219          AC_MSG_RESULT([javac works])
3220        else
3221          echo "configure: javac test failed" >&5
3222          cat findhome.java >&5
3223          AC_MSG_ERROR([javac does not work - java projects will not build!])
3224        fi
3225
3226        AC_MSG_CHECKING([if gij knows its java.home])
3227        JAVA_HOME=`$JAVAINTERPRETER findhome`
3228        if test $? = 0 && test "$JAVA_HOME" != "" ; then
3229          AC_MSG_RESULT([$JAVA_HOME])
3230        else
3231          echo "configure: java test failed" >&5
3232          cat findhome.java >&5
3233          AC_MSG_ERROR([gij does not know its java.home - use --with-jdk-home])
3234        fi
3235      else
3236        JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*$WITH_JAVA,,p"`
3237      fi
3238    fi
3239
3240    dnl second sanity check JAVA_HOME if possible
3241    if test "$JDK" != "gcj" -o "$_gij_longver" -ge "40200"; then
3242      # check if JAVA_HOME was (maybe incorrectly?) set automatically to /usr
3243      if test "$JAVA_HOME" = "/usr" -a "x$with_jdk_home" = "x"; then
3244         javac_link_f=`readlink -f "$JAVACOMPILER" 2>/dev/null`
3245         if test $? == 0 && test "$JAVACOMPILER" != "$javac_link_f"; then
3246          # try to recover first by looking whether we have a alternatives
3247          # system as in Debian or newer SuSEs where following /usr/bin/javac
3248          # over /etc/alternatives/javac leads to the right bindir where we
3249          # just need to strip a bit away to get a valid JAVA_HOME
3250          # Solaris 11 is even worse, because target is relative, so use -f
3251            JAVA_HOME="$javac_link_f"
3252         elif readlink $JAVACOMPILER >/dev/null 2>/dev/null; then
3253          # Darwin readlink(1) is so primitive it doesn't even support -f
3254          # maybe only one level of symlink (e.g. on Mac)
3255            JAVA_HOME=`readlink $JAVACOMPILER`
3256         else
3257          # else warn
3258          AC_MSG_WARN([JAVA_HOME is set to /usr - this is very likely to be incorrect])
3259          AC_MSG_WARN([if this is the case, please inform the correct JAVA_HOME with --with-jdk-home])
3260          echo "JAVA_HOME is set to /usr - this is very likely to be incorrect" >> warn
3261          echo "if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >> warn
3262          fi
3263         dnl now that we have the path to the real javac, make a JAVA_HOME out of it..
3264         if test "$JAVA_HOME" != "/usr"; then
3265            if test "$_os" = "Darwin"; then
3266               dnl Leopard returns a non-suitable path with readlink - points to "Current" only
3267               JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/Current/Commands/javac$,/CurrentJDK/Home,)
3268               dnl Tiger already returns a JDK path..
3269               JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/CurrentJDK/Commands/javac$,/CurrentJDK/Home,)
3270            else
3271               JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/bin/javac$,,)
3272            fi
3273         fi
3274      fi
3275      # now check if $JAVA_HOME is really valid
3276      if test "$_os" = "Darwin"; then
3277         if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then
3278            JAVA_HOME_OK="NO"
3279         fi
3280      elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then
3281         JAVA_HOME_OK="NO"
3282      fi
3283      if test "$JAVA_HOME_OK" = "NO"; then
3284         AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script])
3285         AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed])
3286         AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly])
3287         echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn
3288         echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn
3289         echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn
3290#         if test "$JDK" = "gcj"; then
3291#             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
3292#         fi
3293      fi
3294    fi
3295fi
3296
3297AWTLIB=
3298if test "$SOLAR_JAVA" != ""; then
3299   AC_MSG_CHECKING([for jawt lib name])
3300   if test "$JDK" = "gcj"; then
3301      save_CFLAGS=$CFLAGS
3302      save_LDFLAGS=$LDFLAGS
3303      CFLAGS="$CFLAGS -I$JAVA_HOME/include"
3304      LDFLAGS="$LDFLAGS -L$JAVA_HOME/lib -lgcj"
3305      exec 6>/dev/null # no output
3306      AC_CHECK_HEADER(jni.h, [],
3307                    [AC_MSG_ERROR([jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?])], [])
3308      AC_CHECK_LIB(gcjawt, JAWT_GetAWT, [ AWTLIB="-lgcjawt -lgcj"] )
3309      exec 6>&1 # output on again
3310      CFLAGS=$save_CFLAGS
3311      LDFLAGS=$save_LDFLAGS
3312   fi
3313   # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols.
3314   # A workaround is to link also against libpmawt.so
3315   if test "$JDK" = "ibm" ; then
3316      save_CFLAGS=$CFLAGS
3317      save_LDFLAGS=$LDFLAGS
3318      save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
3319      CFLAGS="$CFLAGS -I$JAVA_HOME/include"
3320      LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin"
3321      LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH
3322      export LD_LIBRARY_PATH
3323      exec 6>/dev/null # no output
3324      AC_CHECK_HEADER(jni.h, [],
3325                    [AC_MSG_ERROR([jni.h could not be found.])], [])
3326      AC_CHECK_LIB(jawt, JAWT_GetAWT, [ AWTLIB="-ljawt"] )
3327      if test -z "$AWTLIB"; then
3328         LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt"
3329         AC_CHECK_LIB(mawt, JAWT_GetAWT, [ AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt"])
3330      fi
3331      exec 6>&1 # output on again
3332      CFLAGS=$save_CFLAGS
3333      LDFLAGS=$save_LDFLAGS
3334      LD_LIBRARY_PATH=$save_LD_LIBRARY_PATH
3335   fi
3336   if test -z "$AWTLIB"; then
3337      AWTLIB=-ljawt
3338   fi
3339   AC_MSG_RESULT([$AWTLIB])
3340   AC_SUBST(AWTLIB)
3341fi
3342
3343dnl ===================================================================
3344dnl Check for optional gcj for AOT
3345dnl ===================================================================
3346if test "$SOLAR_JAVA" != ""; then
3347  AC_MSG_CHECKING([whether to enable gcj aot compilation])
3348  if test -n "$enable_gcjaot" && test "$enable_gcjaot" != "no"; then
3349     AC_MSG_RESULT([yes])
3350     if test `echo $WITH_JAVA | $GREP -c "gij"` -eq 0; then
3351        gcjaot="gcj"
3352     else
3353        gcjaot=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g"`
3354     fi
3355     AC_MSG_RESULT([$gcjaot])
3356     if test -n "$with_jdk_home"; then
3357        _javac_path="$with_jdk_home/bin/$gcjaot"
3358        dnl Check if there is a gcj at all.
3359        if test -x "$_javac_path"; then
3360           JAVAAOTCOMPILER=$_javac_path
3361        fi
3362     fi
3363     if test -z "$JAVAAOTCOMPILER"; then
3364        AC_PATH_PROG(JAVAAOTCOMPILER, $gcjaot)
3365     fi
3366     if test -z "$JAVAAOTCOMPILER"; then
3367        AC_MSG_WARN([$gcjaot not found, please use --with-jdk-home])
3368     fi
3369  else
3370     AC_MSG_RESULT([no])
3371  fi
3372fi
3373
3374AC_SUBST(JAVA_HOME)
3375AC_SUBST(JDK)
3376AC_SUBST(JAVAFLAGS)
3377AC_SUBST(JAVAINTERPRETER)
3378AC_SUBST(JAVAIFLAGS)
3379AC_SUBST(JAVACOMPILER)
3380AC_SUBST(JAVAAOTCOMPILER)
3381AC_SUBST(JAVADOC)
3382
3383dnl ===================================================================
3384dnl Checks for specific files.
3385dnl ===================================================================
3386
3387dnl ===================================================================
3388dnl Checks for programs.
3389dnl ===================================================================
3390
3391AC_MSG_CHECKING([whether to enable EPM for packing])
3392if test "$enable_epm" = "yes"; then
3393   AC_MSG_RESULT([yes])
3394   dnl ===================================================================
3395   dnl Check for epm - not needed for windows
3396   dnl ===================================================================
3397   if test "$_os" != "WINNT"; then
3398      if test -n "$with_epm"; then
3399	      EPM=$with_epm
3400      else
3401         AC_PATH_PROG(EPM, epm, no)
3402      fi
3403
3404      # Override system epm and --with-epm if --with-epm-url is used.
3405      if test -n "$with_epm_url" ; then
3406         # At this moment we can not verify the URL or the content that we want to download.
3407       	 EPM_URL=$with_epm_url
3408       	 AC_MSG_RESULT([epm will be downloaded and compiled in bootstrap])
3409       	 EPM=
3410         echo "EPM will be built."
3411         BUILD_EPM=YES
3412         BUILD_TYPE="$BUILD_TYPE EPM"
3413      else
3414         if test "$EPM" = "no" ; then
3415	    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.])
3416	 else
3417	    # Gentoo has some epm which is something different...
3418            AC_MSG_CHECKING([whether the found epm is the right epm])
3419            if $EPM | $GREP "ESP Package Manager" >/dev/null 2>/dev/null; then
3420               AC_MSG_RESULT([yes])
3421            else
3422	       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.])
3423            fi
3424            AC_MSG_CHECKING([epm version])
3425            EPM_VERSION=`$EPM | $GREP 'ESP Package Manager' | cut -d' ' -f4 | $SED -e s/v//`
3426	    if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \
3427	       	    test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then
3428               AC_MSG_RESULT([OK, >= 3.7])
3429               BUILD_EPM=NO
3430	       if test "$_os" = "Darwin"; then
3431	          _osxpkgbuild='no'
3432	          AC_MSG_CHECKING([checking if OS X pkgbuild is supported])
3433	          if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "4" || \
3434	       	     test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "4" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "3"; then
3435                   AC_MSG_RESULT([OK, >= 4.3])
3436                   _osxpkgbuild='yes'
3437              else
3438                  AC_MSG_CHECKING([which PackageMaker EPM thinks to use])
3439        	      _pm=`strings $EPM | $GREP PackageMaker | cut -d" " -f1`
3440        	      if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then
3441          	         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)])
3442        	      elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then
3443          	         AC_MSG_RESULT([$_pm, ok])
3444        	      else # we never should get here, but go safe
3445		             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)])
3446		          fi
3447		      fi
3448	       fi
3449	    else
3450               AC_MSG_ERROR([too old. epm >= 3.7 is required.])
3451	    fi
3452      	 fi
3453      fi
3454   fi
3455
3456   # test which package format to use
3457   AC_MSG_CHECKING([which package format to use])
3458
3459   # defaults
3460   case "$_os" in
3461	OS2)
3462		PKGFORMAT=native
3463		;;
3464	Darwin)
3465		PKGFORMAT=dmg
3466		;;
3467	SunOS)
3468		PKGFORMAT=pkg
3469		;;
3470	Linux)
3471      # if building on Debian, default should be deb...
3472      if test -e /etc/debian_version; then
3473         PKGFORMAT=deb
3474      else
3475         PKGFORMAT=rpm
3476      fi
3477		;;
3478	AIX)
3479		PKGFORMAT=aix
3480		;;
3481	*BSD)
3482		PKGFORMAT=bsd
3483		;;
3484	OSF1)
3485		PKGFORMAT=setld
3486		;;
3487    WINNT)
3488        PKGFORMAT=msi
3489        ;;
3490	# we never should get here since we check the architecture/os at the beginning,
3491	# but go sure...
3492	*)
3493		AC_MSG_ERROR([unknown system])
3494   esac
3495   if test -n "$with_package_format"; then
3496	for i in $with_package_format; do
3497		case "$i" in
3498			aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable | archive | dmg | installed | msi)
3499			;;
3500		*)
3501			AC_MSG_ERROR([unsupported format $i. Supported by EPM are:
3502aix - AIX software distribution
3503bsd - FreeBSD, NetBSD, or OpenBSD software distribution
3504depot or swinstall - HP-UX software distribution
3505deb - Debian software distribution
3506inst or tardist - IRIX software distribution
3507osx - MacOS X software distribution
3508pkg - Solaris software distribution
3509rpm - RedHat software distribution
3510setld - Tru64 (setld) software distribution
3511native - "Native" software distribution for the platform
3512portable - Portable software distribution
3513OOo additionally supports:
3514archive - .tar.gz or .zip
3515dmg - Mac OS X .dmg
3516installed - installation tree
3517msi - Windows .msi
3518			])
3519			;;
3520		esac
3521	done
3522	PKGFORMAT="$with_package_format"
3523   fi
3524   AC_MSG_RESULT([$PKGFORMAT])
3525   if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then
3526      AC_MSG_CHECKING([for rpm])
3527      for a in "$RPM" rpmbuild rpm; do
3528         $a --usage >/dev/null 2> /dev/null
3529         if test $? -eq 0; then
3530            RPM=$a
3531            break
3532         else
3533            $a --version >/dev/null 2> /dev/null
3534            if test $? -eq 0; then
3535               RPM=$a
3536               break
3537            fi
3538         fi
3539       done
3540       if test -z "$RPM" ; then
3541          AC_MSG_ERROR([not found])
3542       elif "$RPM" --usage 2>&1 | $EGREP -- -bb >/dev/null; then
3543          RPM_PATH=`which $RPM`
3544          AC_MSG_RESULT([$RPM_PATH])
3545       else
3546          AC_MSG_ERROR([cannot build packages. Try installing rpmbuild.])
3547       fi
3548   fi
3549   if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then
3550      AC_PATH_PROG(DPKG, dpkg, no)
3551      if test "$DPKG" = "no"; then
3552         AC_MSG_ERROR([dpkg needed for deb creation. Install dpkg.])
3553      fi
3554   fi
3555   if echo "$PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then
3556      if test "$_os" = "Darwin"; then
3557         if test "$_osxpkgbuild" = "no"; then
3558            AC_MSG_CHECKING([for PackageMaker availability])
3559            if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then
3560               AC_MSG_ERROR([not installed. Please install Apples Dev Tools])
3561            else
3562               AC_MSG_RESULT([ok])
3563            fi
3564         fi
3565      else
3566         AC_MSG_ERROR([PackageMaker needed to build OSX packages and you are not on OSX...])
3567       fi
3568   fi
3569   if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null || \
3570      echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
3571      	if test "$EPM" != "no" && test "$EPM" != "internal"; then
3572           if test "`echo $EPM_VERSION | cut -d'.' -f1`" -lt "4"; then
3573               AC_MSG_CHECKING([whether epm is patched for OOos needs])
3574               if $GREP "Patched for Apache OpenOffice" $EPM >/dev/null 2>/dev/null; then
3575                  AC_MSG_RESULT([yes])
3576               else
3577                  AC_MSG_RESULT([no])
3578                  if echo "$PKGFORMAT" | $GREP -q rpm; then
3579                      _pt="rpm"
3580                      AC_MSG_WARN([the rpms will need to be installed with --nodeps])
3581                      echo "the rpms will need to be installed with --nodeps" >> warn
3582                  else
3583                      _pt="pkg"
3584                  fi
3585                  AC_MSG_WARN([the ${_pt}s will not be relocateable])
3586                  echo "the ${_pt}s will not be relocateable" >> warn
3587                  AC_MSG_WARN([if you want to make sure installation without --nodeps and
3588                  relocation will work, you need to patch your epm with the
3589                  patch in epm/epm-3.7.patch or build with
3590                  --with-epm=internal which will build a suitable epm])
3591               fi
3592           fi
3593        fi
3594   fi
3595   if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
3596      AC_PATH_PROG(PKGMK, pkgmk, no)
3597      if test "$PKGMK" = "no"; then
3598         AC_MSG_ERROR([pkgmk needed for Solaris pkg creation. Install it.])
3599      fi
3600   fi
3601   AC_SUBST(RPM)
3602   AC_SUBST(DPKG)
3603   AC_SUBST(PKGMK)
3604else
3605   AC_MSG_RESULT([no])
3606   BUILD_EPM=NO
3607   EPM=NO
3608   PKGFORMAT=native
3609fi
3610AC_SUBST(BUILD_EPM)
3611AC_SUBST(EPM_URL)
3612AC_SUBST(EPM)
3613AC_SUBST(PKGFORMAT)
3614
3615dnl ===================================================================
3616dnl Check for gperf
3617dnl ===================================================================
3618AC_PATH_PROG(GPERF, gperf)
3619if test -z "$with_gperf"; then
3620    AC_PATH_PROG(GPERF, gperf)
3621    if test -z "$GPERF"; then
3622       AC_MSG_ERROR([gperf not found but needed. Install it and/or specify --with-gperf=/path/to/it.])
3623    fi
3624else
3625  if test -x "$with_gperf"; then
3626    GPERF=$with_gperf
3627  else
3628    AC_MSG_ERROR([--with-gperf did not point to an executable])
3629  fi
3630fi
3631AC_MSG_CHECKING([gperf version])
3632if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then
3633	AC_MSG_RESULT([OK])
3634   GPERF=$GPERF
3635else
3636	AC_MSG_ERROR([too old, you need at least 3.0.0])
3637fi
3638AC_SUBST(GPERF)
3639
3640dnl ===================================================================
3641dnl Check for building stax
3642dnl ===================================================================
3643AC_MSG_CHECKING([whether to build the stax])
3644if test -f "./stax/download/stax-1.2.0.jar"; then
3645   BUILD_STAX=NO
3646   AC_MSG_RESULT([no, will use the prebuilt stax/download/stax-1.2.0.jar])
3647else
3648   BUILD_STAX=YES
3649   AC_MSG_RESULT([yes])
3650fi
3651AC_SUBST(BUILD_STAX)
3652
3653dnl ===================================================================
3654dnl Check for building ODK
3655dnl ===================================================================
3656AC_MSG_CHECKING([whether to build the ODK])
3657if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then
3658   AC_MSG_RESULT([yes])
3659   if test "$WITH_JAVA" != "no"; then
3660   AC_MSG_CHECKING([for external/unowinreg/unowinreg.dll])
3661   if ! test -f "./external/unowinreg/unowinreg.dll"; then
3662      HAVE_UNOWINREG_DLL=no
3663   else
3664      HAVE_UNOWINREG_DLL=yes
3665   fi
3666   if test "$HAVE_UNOWINREG_DLL" = "yes"; then
3667      AC_MSG_RESULT([found])
3668      BUILD_UNOWINREG=NO
3669   else
3670      if test "$_os" = "WINNT"; then
3671         AC_MSG_RESULT([not found, will be built])
3672      else
3673         AC_MSG_WARN([not found, will be cross-built using mingw32])
3674      fi
3675      BUILD_UNOWINREG=YES
3676   fi
3677   if test "$_os" != "WINNT" && test "$BUILD_UNOWINREG" = "YES"; then
3678      if test -z "$WITH_MINGWIN" || test "$WITH_MINGWIN" = "0"; then
3679         AC_MSG_ERROR([for rebuilding unowinreg.dll you need the mingw32 C++ compiler.
3680         Specify mingw32 g++ executable name with --with-mingwin.
3681         Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and
3682         put it into external/unowinreg using your browser or a command equivalent to:
3683         wget -O external/unowinreg/unowinreg.dll http://www.openoffice.org/tools/unowinreg_prebuild/680/unowinreg.dll])
3684      fi
3685      if echo "$WITH_MINGWIN" | $EGREP -q "/"; then
3686         if ! test -x "$WITH_MINGWIN"; then MINGWCXX=false; else MINGWCXX=`basename $WITH_MINGWIN`; fi
3687      else
3688         AC_CHECK_TOOL(MINGWCXX, $WITH_MINGWIN, false)
3689      fi
3690      if test "$MINGWCXX" = "false"; then
3691         AC_MSG_ERROR(specified MinGW32 C++ cross-compiler not found. Install it or correct name.)
3692      fi
3693      AC_MSG_CHECKING(whether we are using the MinGW32 cross C++ compiler)
3694      if ! echo "`$MINGWCXX -dumpmachine`" | $GREP -q mingw32; then
3695         AC_MSG_ERROR(no)
3696      else
3697         AC_MSG_RESULT(yes)
3698      fi
3699      if echo "$WITH_MINGWIN" | $EGREP -q "/"; then
3700         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
3701      else
3702         AC_CHECK_TOOL(MINGWSTRIP, `echo $WITH_MINGWIN | $SED -e s/g++/strip/ | $SED -e s/c++/strip/`, false)
3703      fi
3704      if test "$MINGWSTRIP" = "false"; then
3705         AC_MSG_ERROR(MinGW32 binutils needed. Install them.)
3706      fi
3707      AC_LANG_PUSH([C++])
3708      save_CXX=$CXX
3709      save_CXXCPP=$CXXCPP
3710      CXX=$MINGWCXX
3711      CXXCPP="$MINGWCXX -E"
3712      save_CXXFLAGS=$CXXFLAGS
3713      save_CPPFLAGS=$CPPFLAGS
3714      CXXFLAGS="$CXXFLAGS -I$JAVA_HOME/include"
3715      CPPFLAGS="$CPPFLAGS -I$JAVA_HOME/include"
3716      # LIBS contains -lcrypt etc due to the AC_CHECK_LIBS which obviously
3717      # do not make sense here (and 'd make the check fail)
3718      save_LIBS=$LIBS
3719      LIBS=""
3720      AC_HAVE_LIBRARY(kernel32)
3721      AC_HAVE_LIBRARY(advapi32)
3722      AC_CHECK_HEADER(windows.h, [], [AC_MSG_ERROR([windows.h missing])])
3723      CXXFLAGS=$save_CXXFLAGS
3724      CPPFLAGS=$save_CPPFLAGS
3725      CXX=$save_CXX
3726      CXXCPP=$save_CXXCPP
3727      LIBS=$save_LIBS
3728      AC_LANG_POP([C++])
3729      fi
3730   fi
3731   BUILD_TYPE="$BUILD_TYPE ODK"
3732else
3733   AC_MSG_RESULT([no])
3734   BUILD_UNOWINREG=NO
3735fi
3736AC_SUBST(BUILD_UNOWINREG)
3737AC_SUBST(MINGWCXX)
3738AC_SUBST(MINGWSTRIP)
3739
3740dnl ===================================================================
3741dnl Check for system stdlibs
3742dnl ===================================================================
3743AC_MSG_CHECKING([whether to provide libstdc++/libgcc_s in the installset])
3744if test -n "$with_system_stdlibs" -o -n "$with_system_libs" && \
3745   test "$with_system_stdlibs" != "no"; then
3746   AC_MSG_RESULT([no])
3747   SYSTEM_STDLIBS=YES
3748else
3749   AC_MSG_RESULT([yes])
3750   SYSTEM_STDLIBS=NO
3751fi
3752AC_SUBST(SYSTEM_STDLIBS)
3753
3754dnl ===================================================================
3755dnl Check for system zlib
3756dnl ===================================================================
3757if test "$_os" = "Darwin" && test "$with_system_zlib" != "no"; then
3758   with_system_zlib=yes
3759fi
3760AC_MSG_CHECKING([which zlib to use])
3761if test -n "$with_system_zlib" -o -n "$with_system_libs" && \
3762	test "$with_system_zlib" != "no"; then
3763    AC_MSG_RESULT([external])
3764    SYSTEM_ZLIB=YES
3765    AC_CHECK_HEADER(zlib.h, [],
3766        [AC_MSG_ERROR(zlib.h not found. install zlib)], [])
3767    AC_CHECK_LIB(z, deflate, [ ZLIB=-lz ],
3768        [AC_MSG_ERROR(zlib not found or functional)], [])
3769else
3770    AC_MSG_RESULT([internal])
3771    SYSTEM_ZLIB=NO
3772    BUILD_TYPE="$BUILD_TYPE ZLIB"
3773fi
3774AC_SUBST(SYSTEM_ZLIB)
3775
3776dnl ===================================================================
3777dnl Check for system jpeg
3778dnl ===================================================================
3779AC_MSG_CHECKING([which jpeg to use])
3780if test -n "$with_system_jpeg" -o -n "$with_system_libs" && \
3781	test "$with_system_jpeg" != "no"; then
3782    AC_MSG_RESULT([external])
3783    SYSTEM_JPEG=YES
3784    AC_CHECK_HEADER(jpeglib.h, [],
3785        [AC_MSG_ERROR(jpeg.h not found. install libjpeg)], [])
3786    AC_CHECK_LIB(jpeg, jpeg_resync_to_restart, [ JPEG3RDLIB=-ljpeg ],
3787	[AC_MSG_CHECKING(jpeg library not found or fuctional)], [])
3788else
3789    AC_MSG_RESULT([internal])
3790    SYSTEM_JPEG=NO
3791    BUILD_TYPE="$BUILD_TYPE JPEG"
3792fi
3793AC_SUBST(SYSTEM_JPEG)
3794
3795dnl ===================================================================
3796dnl Check for system expat
3797dnl ===================================================================
3798AC_MSG_CHECKING([which expat to use])
3799if test -n "$with_system_expat" -o -n "$with_system_libs" && \
3800	test "$with_system_expat" != "no"; then
3801    AC_MSG_RESULT([external])
3802    SYSTEM_EXPAT=YES
3803    AC_CHECK_HEADER(expat.h, [],
3804        [AC_MSG_ERROR(expat.h not found. install expat)], [])
3805    AC_CHECK_LIB(expat, XML_ParserCreate, [],
3806	[AC_MSG_RESULT(expat library not found or functional.)], [])
3807else
3808    AC_MSG_RESULT([internal])
3809    SYSTEM_EXPAT=NO
3810    BUILD_TYPE="$BUILD_TYPE EXPAT"
3811fi
3812AC_SUBST(SYSTEM_EXPAT)
3813
3814dnl ===================================================================
3815dnl Check whether freetype is available
3816dnl ===================================================================
3817if test  "$test_freetype" = "yes"; then
3818   AC_MSG_CHECKING([whether freetype is available])
3819	PKG_CHECK_MODULES( FREETYPE, freetype2 >= 2.0 )
3820fi
3821AC_SUBST(FREETYPE_CFLAGS)
3822AC_SUBST(FREETYPE_LIBS)
3823
3824dnl ===================================================================
3825dnl Check whether freetype2 supports emboldening
3826dnl ===================================================================
3827if test  "$test_freetype" = "yes"; then
3828    save_CPPFLAGS="$CPPFLAGS"
3829    save_LDFLAGS="$LDFLAGS"
3830    save_LIBS="$LIBS"
3831    CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
3832    LDFLAGS="$LDFLAGS $FREETYPE_LIBS"
3833    AC_CHECK_LIB(freetype, FT_GlyphSlot_Embolden,
3834                 [USE_FT_EMBOLDEN="YES"], [USE_FT_EMBOLDEN="NO"], [])
3835    LDFLAGS="$save_LDFLAGS"
3836    CPPFLAGS="$save_CPPFLAGS"
3837    LIBS="$save_LIBS"
3838fi
3839AC_SUBST(USE_FT_EMBOLDEN)
3840
3841if test -n "$with_system_libxslt" -o -n "$with_system_libs" && \
3842   test "$with_system_libxslt" != "no"; then
3843    if test -z "$with_system_libxml" -a -z "$with_system_libs" || \
3844      test "$with_system_libxml" = "no"; then
3845      # somehow AC_MSG_WARN won't work...
3846       echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml"
3847       echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml" >> warn
3848       with_system_libxml=yes
3849    fi
3850fi
3851if test -n "$with_system_libxml" -o -n "$with_system_libs" && \
3852   test "$with_system_libxml" != "no"; then
3853    if test -z "$with_system_libxslt" -a -z "$with_system_libs" || \
3854      test "$with_system_libxslt" = "no"; then
3855      # somehow AC_MSG_WARN won't work...
3856       echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt"
3857       echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt" >> warn
3858       with_system_libxslt=yes
3859    fi
3860fi
3861
3862dnl ===================================================================
3863dnl Check for system libxslt
3864dnl ===================================================================
3865AC_MSG_CHECKING([which libxslt to use])
3866if test -n "$with_system_libxslt" -o -n "$with_system_libs" -o \
3867       "$_os" = "Darwin" && \
3868   test "$with_system_libxslt" != "no"; then
3869   AC_MSG_RESULT([external])
3870   SYSTEM_LIBXSLT=YES
3871
3872	if test "$_os" != "Darwin"; then
3873		PKG_CHECK_MODULES(LIBXSLT, libxslt)
3874	else
3875		LIBXSLT_CFLAGS=`xslt-config --cflags`
3876		LIBXSLT_LIBS=`xslt-config --libs`
3877	fi
3878
3879   dnl Check for xsltproc
3880   AC_PATH_PROG(XSLTPROC, xsltproc, no)
3881   if test "$XSLTPROC" = "no"; then
3882      AC_MSG_ERROR([xsltproc is required])
3883   fi
3884else
3885   AC_MSG_RESULT([internal])
3886   SYSTEM_LIBXSLT=NO
3887   BUILD_TYPE="$BUILD_TYPE LIBXSLT"
3888fi
3889AC_SUBST(SYSTEM_LIBXSLT)
3890AC_SUBST(LIBXSLT_CFLAGS)
3891AC_SUBST(LIBXSLT_LIBS)
3892
3893
3894dnl ===================================================================
3895dnl Check for system libxml
3896dnl ===================================================================
3897AC_MSG_CHECKING([which libxml to use])
3898if test -n "$with_system_libxml" -o -n "$with_system_libs" -o \
3899            "$_os" = "Darwin" && \
3900	test "$with_system_libxml" != "no"; then
3901    AC_MSG_RESULT([external])
3902    SYSTEM_LIBXML=YES
3903    BUILD_TYPE="$BUILD_TYPE LIBXMLSEC"
3904
3905	if test "$_os" != "Darwin"; then
3906		PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= 2.0)
3907	else
3908		LIBXML_CFLAGS=`xml2-config --cflags`
3909		LIBXML_LIBS=`xml2-config --libs`
3910	fi
3911else
3912    AC_MSG_RESULT([internal])
3913    SYSTEM_LIBXML=NO
3914    BUILD_TYPE="$BUILD_TYPE LIBXML2 LIBXMLSEC"
3915fi
3916AC_SUBST(SYSTEM_LIBXML)
3917AC_SUBST(LIBXML_CFLAGS)
3918AC_SUBST(LIBXML_LIBS)
3919
3920
3921dnl ===================================================================
3922dnl Checks for a MacOS platform SDK compatible with an OSX 10.7 deployment target
3923dnl ===================================================================
3924if test  "$_os" = "Darwin"; then
3925   sdk_target=$with_macosx_target
3926   AC_MSG_CHECKING([checking SDK compatibility with OSX $sdk_target])
3927
3928   sdk_minor=`echo $sdk_target | cut -d"." -f2`
3929
3930   if test "$sdk_minor" -lt "7"; then
3931      AC_MSG_ERROR([SDK version < 10.7 is not longer supported])
3932   else
3933      MACOSX_DEPLOYMENT_TARGET=$sdk_target
3934
3935      dnl Why not MacOSX10.9.sdk? It lacks Python.h (!?)
3936      sdk_found=`xcodebuild -showsdks | $EGREP "sdk macosx10.(7|8|10|11)" | sed -e "s/.*sdk //" | tail -n1`
3937      if test -z "$sdk_found"; then
3938         AC_MSG_ERROR([No SDK with OSX $sdk_target compatibility found])
3939      else
3940         AC_MSG_RESULT([yes, by using SDK $sdk_found])
3941      fi
3942
3943      sdk_path=`xcodebuild -version -sdk ${sdk_found} Path`
3944      AC_MSG_CHECKING([for $sdk_path])
3945      if test -d "$sdk_path"; then
3946         AC_MSG_RESULT([yes])
3947      else
3948         AC_MSG_ERROR([not found!])
3949      fi
3950
3951      MACOSX_SDK_PATH=$sdk_path
3952   fi
3953
3954fi
3955AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
3956AC_SUBST(MACOSX_SDK_PATH)
3957
3958
3959dnl ===================================================================
3960dnl Check for system python
3961dnl ===================================================================
3962AC_MSG_CHECKING([which python to use])
3963if test "$_os" = "Darwin" && test "$with_system_python" != "no"; then
3964   with_system_python=yes
3965
3966   _python="/Library/Frameworks/Python.framework/Versions/Current/bin/python"
3967   if test ! -f $_python; then
3968   	  _python="/usr/bin/python"
3969   fi
3970   AC_MSG_RESULT([compiling against system python ($_python)])
3971
3972   _python_hexversion=`$_python -c "import sys; print(sys.hexversion);"`
3973
3974   dnl hex version of Python 2.7.1 = 34013680
3975   if test $_python_hexversion -ge 34013680 ; then
3976   	  _python_version=`$_python -c "import sys; print sys.version;" | head -c 3`
3977      AC_MSG_RESULT([compiling against system python (version $_python_version)])
3978
3979	  _python_ver=`$_python -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'));"`
3980
3981	  if test -d "/Library/Frameworks/Python.framework/Versions/$_python_ver/include/python$_python_ver"; then
3982	  	 PYTHON_CFLAGS="-I/Library/Frameworks/Python.framework/Versions/$_python_ver/include/python$_python_ver"
3983         elif test -d "$MACOSX_SDK_PATH/usr/include/python$_python_ver"; then
3984             PYTHON_CFLAGS="-I$MACOSX_SDK_PATH/usr/include/python$_python_ver"
3985	  else
3986             PYTHON_CFLAGS="-I$MACOSX_SDK_PATH/System/Library/Frameworks/Python.framework/Versions/$_python_ver/include/python$_python_ver"
3987	  fi
3988   else
3989		AC_MSG_ERROR([Python 2.7.1 or higher is required])
3990   fi
3991
3992   PYTHON_LIBS="-framework Python"
3993elif test -n "$with_system_python" -o -n "$with_system_libs" && \
3994	test "$with_system_python" != "no"; then
3995   with_system_python=yes
3996   AC_MSG_RESULT([external])
3997   AM_PATH_PYTHON([2.7])
3998
3999   python_include=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('INCLUDEPY'));"`
4000   python_version=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'));"`
4001   PYTHON_CFLAGS="-I$python_include"
4002   PYTHON_LIBS="-lpython$python_version"
4003fi
4004if test "$with_system_python" = "yes" ; then
4005   SYSTEM_PYTHON=YES
4006   dnl check if the headers really work:
4007   save_CPPFLAGS="$CPPFLAGS"
4008   CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS"
4009   AC_CHECK_HEADER(Python.h, [],
4010       [AC_MSG_ERROR(Python headers not found)], [])
4011   CPPFLAGS="$save_CPPFLAGS"
4012else
4013   SYSTEM_PYTHON=NO
4014   BUILD_TYPE="$BUILD_TYPE PYTHON"
4015   AC_MSG_RESULT([internal])
4016   # Embedded python dies without Home set
4017   if test "z$HOME" = "z"; then
4018      export HOME="";
4019   fi
4020   # bz2 tarball and bzip2 is not standard
4021   if test -z "$BZIP2"; then
4022	AC_PATH_PROG( BZIP2, bzip2)
4023	if test -z "$BZIP2"; then
4024   		AC_MSG_ERROR([the internal Python module has a .tar.bz2. You need bzip2])
4025   	fi
4026   fi
4027fi
4028AC_SUBST(SYSTEM_PYTHON)
4029AC_SUBST(PYTHON_CFLAGS)
4030AC_SUBST(PYTHON_LIBS)
4031HOME=`echo $HOME | sed 's:\\\\:/:g'`
4032AC_SUBST(HOME)
4033
4034dnl ===================================================================
4035dnl Check for system lucene
4036dnl ===================================================================
4037AC_MSG_CHECKING([which lucene to use])
4038if test -n "$with_system_lucene" -o -n "$with_system_libs" && \
4039       test "$with_system_lucene" != "no" && test "$with_system_jars" != "no"; then
4040        AC_MSG_RESULT([external])
4041        SYSTEM_LUCENE=YES
4042        if test -z $LUCENE_CORE_JAR; then
4043          AC_CHECK_FILE(/usr/share/java/lucene-core-2.9.4.jar,
4044            [ LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.9.4.jar ],
4045            [
4046              AC_CHECK_FILE(/usr/share/java/lucene-core.jar,
4047                [ LUCENE_CORE_JAR=/usr/share/java/lucene-core.jar ],
4048                [ AC_CHECK_FILE(/usr/share/java/lucene.jar,
4049                   [ LUCENE_CORE_JAR=/usr/share/java/lucene.jar ],
4050                   [ AC_MSG_ERROR(lucene-core.jar replacement not found)]
4051                  )
4052                ]
4053              )
4054            ]
4055          )
4056        else
4057          AC_CHECK_FILE($LUCENE_CORE_JAR, [],
4058               [AC_MSG_ERROR(lucene-core.jar not found.)], [])
4059        fi
4060
4061        if test -z $LUCENE_ANALYZERS_JAR; then
4062          AC_CHECK_FILE(/usr/share/java/lucene-analyzers-2.3.jar,
4063            [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-analyzers-2.3.jar ],
4064            [
4065              AC_CHECK_FILE(/usr/share/java/lucene-contrib/lucene-analyzers.jar,
4066                [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-contrib/lucene-analyzers.jar ],
4067                [ AC_MSG_ERROR(lucene-analyzers.jar replacement not found.)]
4068              )
4069            ]
4070          )
4071        else
4072          AC_CHECK_FILE($LUCENE_CORE_JAR, [],
4073               [ AC_MSG_ERROR(lucene-analyzers.jar not found.)], [])
4074        fi
4075        AC_MSG_CHECKING([whether lucene is version 2.x])
4076        export LUCENE_CORE_JAR
4077        if $PERL -e 'use Archive::Zip;
4078            my $file = "$ENV{'LUCENE_CORE_JAR'}";
4079            my $zip = Archive::Zip->new( $file );
4080            my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
4081            if ( $mf =~ m/Specification-Version: 2.*/ ) {
4082                exit 0;
4083            } else {
4084                exit 1;
4085            }'; then
4086            AC_MSG_RESULT([yes])
4087         else
4088            AC_MSG_RESULT([no])
4089            AC_MSG_CHECKING([whether lucene is version 3.x])
4090
4091            if $PERL -e 'use Archive::Zip;
4092                my $file = "$ENV{'LUCENE_CORE_JAR'}";
4093                my $zip = Archive::Zip->new( $file );
4094                my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
4095                if ( $mf =~ m/Specification-Version: 3.*/ ) {
4096                    exit 0;
4097                } else {
4098                    exit 1;
4099                }'; then
4100                AC_MSG_RESULT([yes])
4101             else
4102                AC_MSG_ERROR([no, you need lucene 2 or 3])
4103             fi
4104         fi
4105
4106else
4107    AC_MSG_RESULT([internal])
4108    SYSTEM_LUCENE=NO
4109    BUILD_TYPE="$BUILD_TYPE LUCENE"
4110fi
4111AC_SUBST(SYSTEM_LUCENE)
4112AC_SUBST(LUCENE_CORE_JAR)
4113AC_SUBST(LUCENE_ANALYZERS_JAR)
4114
4115AC_MSG_CHECKING([whether to build the MySQL Connector extension])
4116if test -n "$enable_mysql_connector" -a "$enable_mysql_connector" != "no"; then
4117  AC_MSG_RESULT([yes])
4118  ENABLE_MYSQLC=YES
4119  AC_MSG_CHECKING([for mysqlc module])
4120  if test -d mysqlc; then
4121   AC_MSG_RESULT([OK])
4122  else
4123   AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
4124  fi
4125  BUILD_TYPE="$BUILD_TYPE MYSQLC"
4126else
4127  AC_MSG_RESULT([no])
4128  ENABLE_MYSQLC=NO
4129fi
4130AC_SUBST(ENABLE_MYSQLC)
4131
4132if test "$ENABLE_MYSQLC" = "YES"; then
4133dnl ===================================================================
4134dnl Check for system MySQL
4135dnl ===================================================================
4136AC_MSG_CHECKING([for mysql pre-requisites])
4137if test -n "$with_system_mysql" -o -n "$with_system_libs" && \
4138       test "$with_system_mysql" != "no" && test "$with_system_libs" != "no"; then
4139	AC_MSG_RESULT([external MySQL])
4140	SYSTEM_MYSQL=YES
4141	AC_PATH_PROG( MYSQLCONFIG, mysql_config)
4142	AC_MSG_CHECKING([MySQL version])
4143	if test -z "$MYSQLCONFIG" -o ! -x "$MYSQLCONFIG" ; then
4144		AC_MSG_ERROR([can not find/execute mysql_config]);
4145	fi
4146	MYSQL_VERSION=`$MYSQLCONFIG --version`
4147	MYSQL_MAJOR=`$MYSQLCONFIG --version | cut -d"." -f1`
4148	if test "$MYSQL_MAJOR" -ge "5"; then
4149		AC_MSG_RESULT([OK])
4150	else
4151		AC_MSG_ERROR([too old, use 5.0.x or 5.1.x])
4152	fi
4153	AC_MSG_CHECKING([for MySQL Client library])
4154	MYSQL_INC=`$MYSQLCONFIG --include`
4155	MYSQL_LIB=`$MYSQLCONFIG --libs`
4156	MYSQL_DEFINES=`$MYSQLCONFIG --cflags | sed -e s,$MYSQL_INC,,`
4157	AC_MSG_RESULT([includes $MYSQL_INC, libraries $MYSQL_LIB])
4158else
4159    SYSTEM_MYSQL=NO
4160    if test -n "$with_libmysql_path"; then
4161        AC_MSG_RESULT([external Connector/C (libmysql)])
4162        LIBMYSQL=libmysql.so
4163        if test "$_os" = "Darwin"; then
4164            LIBMYSQL=libmysql.dylib
4165        elif test "$_os" = "WINNT"; then
4166            LIBMYSQL=libmysql.dll
4167        fi
4168        AC_MSG_CHECKING([for $LIBMYSQL])
4169        if test -e "$with_libmysql_path/lib/$LIBMYSQL"; then
4170            AC_MSG_RESULT([found.])
4171            LIBMYSQL_PATH=$with_libmysql_path
4172        else
4173            AC_MSG_ERROR([not found. Please specify proper path in --with-libmysql-path.])
4174        fi
4175    else
4176        AC_MSG_ERROR([not given. Please specify either --with-system-mysql or --with-libmysql-path])
4177    fi
4178fi
4179AC_SUBST(SYSTEM_MYSQL)
4180AC_SUBST(MYSQL_INC)
4181AC_SUBST(MYSQL_LIB)
4182AC_SUBST(MYSQL_DEFINES)
4183AC_SUBST(LIBMYSQL_PATH)
4184
4185AC_LANG_PUSH([C++])
4186dnl ===================================================================
4187dnl Check for system MySQL C++ Connector
4188dnl ===================================================================
4189# FIXME!
4190# who thought this too-generic cppconn dir was a good idea?
4191AC_MSG_CHECKING([MySQL Connector/C++])
4192if test -n "$with_system_mysql_cppconn" -o -n "$with_system_libs" && \
4193		test "$with_system_mysql_cppconn" != "no" && test "$with_system_libs" != "no"; then
4194	AC_MSG_RESULT([external])
4195	SYSTEM_MYSQL_CPPCONN=YES
4196        AC_LANG_PUSH([C++])
4197	AC_CHECK_HEADER(mysql_driver.h, [],
4198					[AC_MSG_ERROR(mysql_driver.h not found. install MySQL C++ Connectivity)], [])
4199	AC_CHECK_LIB(mysqlcppconn, main, [],
4200					[AC_MSG_ERROR(MySQL C++ Connectivity lib not found or functional)], [])
4201   AC_MSG_CHECKING([version])
4202      AC_TRY_RUN([
4203#include <mysql_driver.h>
4204
4205int main(int argc, char **argv) {
4206	sql::Driver *driver;
4207	driver = get_driver_instance();
4208	if (driver->getMajorVersion() > 1 || \
4209	   (driver->getMajorVersion() == 1 && driver->getMinorVersion() > 0) || \
4210	   (driver->getMajorVersion() == 1 && driver->getMinorVersion() == 0 && driver->getPatchVersion() >= 6))
4211        return 0;
4212      else
4213        return 1;
4214}
4215      ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, we need >= 1.0.6])])
4216        AC_LANG_POP([C++])
4217
4218else
4219	AC_MSG_RESULT([no])
4220	SYSTEM_MYSQL_CPPCONN=
4221fi
4222AC_LANG_POP([C++])
4223AC_SUBST(SYSTEM_MYSQL_CPPCONN)
4224fi
4225
4226dnl ===================================================================
4227dnl Check for system hsqldb
4228dnl ===================================================================
4229AC_MSG_CHECKING([which hsqldb to use])
4230if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \
4231       test "$with_system_hsqldb" != "no" && test "$with_system_jars" != "no"; then
4232        AC_MSG_RESULT([external])
4233        SYSTEM_HSQLDB=YES
4234        if test -z $HSQLDB_JAR; then
4235               HSQLDB_JAR=/usr/share/java/hsqldb.jar
4236        fi
4237        AC_CHECK_FILE($HSQLDB_JAR, [],
4238               [AC_MSG_ERROR(hsqldb.jar not found.)], [])
4239        AC_MSG_CHECKING([whether hsqldb is 1.8.0.x])
4240        export HSQLDB_JAR
4241        if $PERL -e 'use Archive::Zip;
4242            my $file = "$ENV{'HSQLDB_JAR'}";
4243            my $zip = Archive::Zip->new( $file );
4244            my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
4245            if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
4246               push @l, split(/\n/, $mf);
4247               foreach my $line (@l) {
4248                  if ($line =~ m/Specification-Version:/) {
4249                      ($t, $version) = split (/:/,$line);
4250                      $version =~ s/^\s//;
4251                      ($a, $b, $c, $d) = split (/\./,$version);
4252                      if ($c == "0" && $d > "8")  {
4253                          exit 0;
4254                      } else {
4255                          exit 1;
4256                      }
4257                  }
4258               }
4259            } else {
4260                exit 1;
4261            }'; then
4262            AC_MSG_RESULT([yes])
4263         else
4264            AC_MSG_ERROR([no, you need hsqldb >= 1.8.0.9 but < 1.8.1])
4265         fi
4266else
4267    AC_MSG_RESULT([internal])
4268    SYSTEM_HSQLDB=NO
4269    BUILD_TYPE="$BUILD_TYPE HSQLDB"
4270fi
4271AC_SUBST(SYSTEM_HSQLDB)
4272AC_SUBST(HSQLDB_JAR)
4273
4274dnl ===================================================================
4275dnl Check for system beanshell
4276dnl ===================================================================
4277ENABLE_BEANSHELL=YES
4278AC_MSG_CHECKING([which beanshell to use])
4279if test -n "$with_system_beanshell" -o -n "$with_system_libs" && \
4280       test "$with_system_beanshell" != "no" && test "$with_system_jars" != "no"; then
4281        AC_MSG_RESULT([external])
4282        SYSTEM_BSH=YES
4283        if test -z $BSH_JAR; then
4284               BSH_JAR=/usr/share/java/bsh.jar
4285        fi
4286        AC_CHECK_FILE($BSH_JAR, [],
4287               [AC_MSG_ERROR(bsh.jar not found.)], [])
4288elif test "x$enable_beanshell" = "xyes"; then
4289    AC_MSG_RESULT([internal])
4290    SYSTEM_BSH=NO
4291    BUILD_TYPE="$BUILD_TYPE BSH"
4292else
4293    AC_MSG_RESULT([none (disabled)])
4294    SYSTEM_BSH=NO
4295    ENABLE_BEANSHELL=NO
4296fi
4297AC_SUBST(SYSTEM_BSH)
4298AC_SUBST(BSH_JAR)
4299AC_SUBST(ENABLE_BEANSHELL)
4300
4301
4302dnl ===================================================================
4303dnl Check for saxon.  It can come from two different places:
4304dnl - pre-installed on the system.  This is checked when the --with-system-saxon
4305dnl   option is given to configure.
4306dnl   The exact place can be specified with the --with-saxon-jar=<path> option.
4307dnl - From the saxon tar ball in ext_sources/.  This is used when --enable-saxon
4308dnl   is given to configure but not any of --with-system-saxon or --with-saxon-jar.
4309dnl ===================================================================
4310DISABLE_SAXON=
4311AC_MSG_CHECKING([which saxon to use])
4312if test -n "$with_system_saxon" -o -n "$with_system_libs" && \
4313       test "$with_system_saxon" != "no" && test "$with_system_jars" != "no"; then
4314        AC_MSG_RESULT([external])
4315        SYSTEM_SAXON=YES
4316        if test -z $SAXON_JAR; then
4317          AC_CHECK_FILE(/usr/share/java/saxon9.jar,
4318            [ SAXON_JAR=/usr/share/java/saxon9.jar ],
4319            [
4320              AC_CHECK_FILE(/usr/share/java/saxon.jar,
4321                [ SAXON_JAR=/usr/share/java/saxon.jar ],
4322                [ AC_CHECK_FILE(/usr/share/java/saxon9.jar,
4323                    [ SAXON_JAR=/usr/share/java/saxon9.jar ],
4324                    [ AC_MSG_ERROR(saxon.jar replacement not found)]
4325                  )
4326                ]
4327              )
4328            ]
4329          )
4330        else
4331          AC_CHECK_FILE($SAXON_JAR, [],
4332               [AC_MSG_ERROR(saxon.jar replacement not found.)], [])
4333        fi
4334        if test -n "$SERIALIZER_JAR"; then
4335          AC_CHECK_FILE($SERIALIZER_JAR, [],
4336               [AC_MSG_ERROR(serializer.jar not found.)], [])
4337          AC_SUBST(SERIALIZER_JAR)
4338        fi
4339
4340dnl Saxon comes in two practically available versions, the out-of-date saxonb which
4341dnl supports the java extensions that OOo uses, and the up-to-date saxon he
4342dnl "home edition" version, which is crippled to not support those java extensions.
4343dnl And as an aside the he one also needs to be tweaked to include
4344dnl a META-INF/services to broadcast that it supports the jaxp transform factory
4345
4346        AC_MSG_CHECKING([if saxon works])
4347        cat > saxontest.java <<_ACEOF
4348[import javax.xml.transform.TransformerFactory;
4349import javax.xml.transform.Transformer;
4350import javax.xml.transform.stream.StreamSource;
4351import java.io.*;
4352
4353import net.sf.saxon.FeatureKeys;
4354
4355class saxontest {
4356    public static void main(String[] args) {
4357      System.setProperty("javax.xml.transform.TransformerFactory",
4358        "net.sf.saxon.TransformerFactoryImpl");
4359      try {
4360        TransformerFactory tfactory = TransformerFactory.newInstance();
4361	// some external saxons (Debian, Ubuntu, ...) have this disabled
4362	// per default
4363	tfactory.setAttribute(FeatureKeys.ALLOW_EXTERNAL_FUNCTIONS, new Boolean(true));
4364        System.out.println("TransformerFactory is" +
4365          tfactory.getClass().getName());
4366        Transformer transformer = tfactory.newTransformer(
4367          new StreamSource(new File(args[0])));
4368      } catch(Exception e){
4369        e.printStackTrace(System.err);
4370        System.exit(-1);
4371      }
4372      System.exit(0);
4373    }
4374}
4375]
4376_ACEOF
4377        cat > saxontest.xsl<<_ACEOF
4378[<?xml version="1.0" encoding="UTF-8"?>
4379<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4380 <xsl:template match="/">
4381  <xsl:value-of select="math:sqrt(1)" xmlns:math="java:java.lang.Math"/>
4382 </xsl:template>
4383</xsl:stylesheet>
4384]
4385_ACEOF
4386        javac_cmd="$JAVACOMPILER -cp $SAXON_JAR saxontest.java 1>&2"
4387        AC_TRY_EVAL(javac_cmd)
4388        if test $? = 0 && test -f ./saxontest.class ; then
4389            java_cmd="$JAVAINTERPRETER -cp $SAXON_JAR:. saxontest saxontest.xsl 1>&2"
4390            AC_TRY_EVAL(java_cmd)
4391            if test $? = 0; then
4392              AC_MSG_RESULT([yes])
4393            else
4394              cat saxontest.java >&5
4395              AC_MSG_RESULT([no])
4396              AC_MSG_ERROR([Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb])
4397            fi
4398        else
4399          AC_MSG_RESULT([no])
4400          cat saxontest.java >&5
4401          AC_MSG_ERROR([saxontest could not be compiled, non-functional saxon jar])
4402        fi
4403elif test "x$enable_saxon" = "xyes"; then
4404    AC_MSG_RESULT([internal])
4405    SYSTEM_SAXON=NO
4406    BUILD_TYPE="$BUILD_TYPE SAXON"
4407else
4408    AC_MSG_RESULT([none (disabled)])
4409    SYSTEM_SAXON=NO
4410    DISABLE_SAXON=YES
4411fi
4412AC_SUBST(SYSTEM_SAXON)
4413AC_SUBST(SAXON_JAR)
4414AC_SUBST(DISABLE_SAXON)
4415
4416
4417dnl ===================================================================
4418dnl Check for rhino
4419dnl ===================================================================
4420ENABLE_JAVASCRIPT=
4421AC_MSG_CHECKING([whether to enable support for JavaScript])
4422if test "x$enable_javascript" = "xyes"; then
4423   BUILD_TYPE="$BUILD_TYPE RHINO"
4424   AC_MSG_RESULT([yes])
4425   ENABLE_JAVASCRIPT=YES
4426else
4427   AC_MSG_RESULT([no])
4428   ENABLE_JAVASCRIPT=NO
4429fi
4430AC_SUBST(ENABLE_JAVASCRIPT)
4431
4432
4433dnl ===================================================================
4434dnl Check for system apr
4435dnl ===================================================================
4436SYSTEM_APR=NO
4437APR_CFLAGS=
4438APR_LIBS=
4439AC_MSG_CHECKING([which libapr to use])
4440if test "x$with_system_apr" = "xyes" -o -n "$with_system_libs"; then
4441    AC_MSG_RESULT([system])
4442    PKG_CHECK_MODULES([APR], [apr-1 >= 1.0])
4443    SYSTEM_APR=YES
4444else
4445    AC_MSG_RESULT([internal])
4446    SYSTEM_APR=NO
4447    BUILD_TYPE="$BUILD_TYPE APR"
4448fi
4449AC_SUBST(SYSTEM_APR)
4450AC_SUBST(APR_CFLAGS)
4451AC_SUBST(APR_LIBS)
4452
4453
4454dnl ===================================================================
4455dnl Check for system apr-util
4456dnl ===================================================================
4457SYSTEM_APR_UTIL=NO
4458APR_UTIL_CFLAGS=
4459APR_UTIL_LIBS=
4460AC_MSG_CHECKING([which libapr-util to use])
4461if test "x$with_system_apr_util" = "xyes" -o -n "$with_system_libs"; then
4462    AC_MSG_RESULT([system])
4463    PKG_CHECK_MODULES([APR_UTIL], [apr-util-1 >= 1.0])
4464    SYSTEM_APR_UTIL=YES
4465else
4466    AC_MSG_RESULT([internal])
4467    SYSTEM_APR_UTIL=NO
4468    BUILD_TYPE="$BUILD_TYPE APR_UTIL"
4469fi
4470AC_SUBST(SYSTEM_APR_UTIL)
4471AC_SUBST(APR_UTIL_CFLAGS)
4472AC_SUBST(APR_UTIL_LIBS)
4473
4474
4475dnl ===================================================================
4476dnl Check for system serf
4477dnl ===================================================================
4478SYSTEM_SERF=NO
4479SERF_CFLAGS=
4480SERF_LIBS=
4481AC_MSG_CHECKING([which libserf to use])
4482if test -n "$with_system_serf" -o -n "$with_system_libs" && \
4483  test "$with_system_serf" != "no"; then
4484    AC_MSG_RESULT([system])
4485    PKG_CHECK_MODULES([SERF], [serf-1 >= 1.1])
4486    SYSTEM_SERF=YES
4487else
4488    AC_MSG_RESULT([internal])
4489    SYSTEM_SERF=NO
4490    BUILD_TYPE="$BUILD_TYPE SERF"
4491fi
4492AC_SUBST(SYSTEM_SERF)
4493AC_SUBST(SERF_CFLAGS)
4494AC_SUBST(SERF_LIBS)
4495
4496
4497dnl ===================================================================
4498dnl Check for CoinMP
4499dnl ===================================================================
4500ENABLE_COINMP=
4501SYSTEM_COINMP=NO
4502COINMP_CFLAGS=
4503COINMP_LIBS=
4504AC_MSG_CHECKING([whether to enable support for CoinMP])
4505if test "x$enable_coinmp" = "xyes"; then
4506    BUILD_TYPE="$BUILD_TYPE COINMP"
4507    AC_MSG_RESULT([yes])
4508    ENABLE_COINMP=YES
4509
4510    dnl Check wether to use system or internal CoinMP
4511    AC_MSG_CHECKING([which coinmp to use])
4512    if test "x$with_system_coinmp" = "xyes" -o -n "$with_system_libs"; then
4513        AC_MSG_RESULT([system])
4514	PKG_CHECK_MODULES([COINMP], [coinmp])
4515        SYSTEM_COINMP=YES
4516        # some systems need this. Like Ubuntu....
4517        AC_CHECK_LIB(m, floor)
4518        AC_CHECK_LIB(dl, dlopen)
4519    else
4520        AC_MSG_RESULT([internal])
4521        SYSTEM_COINMP=NO
4522        BUILD_TYPE="$BUILD_TYPE COINMP"
4523    fi
4524else
4525    AC_MSG_RESULT([no])
4526    ENABLE_COINMP=NO
4527fi
4528AC_SUBST(ENABLE_COINMP)
4529AC_SUBST(SYSTEM_COINMP)
4530AC_SUBST(COINMP_CFLAGS)
4531AC_SUBST(COINMP_LIBS)
4532
4533
4534dnl ===================================================================
4535dnl Check for system curl
4536dnl ===================================================================
4537if test "$_os" = "Darwin" && test "$with_system_curl" != "no"; then
4538   with_system_curl=yes
4539fi
4540AC_MSG_CHECKING([which curl to use])
4541if test -n "$with_system_curl" -o -n "$with_system_libs" && \
4542	test "$with_system_curl" != "no"; then
4543   AC_MSG_RESULT([external])
4544   SYSTEM_CURL=YES
4545
4546   AC_PATH_PROG( CURLCONFIG, curl-config)
4547   if test -z "$CURLCONFIG"; then
4548      AC_MSG_ERROR([install curl to run this script])
4549   fi
4550
4551   # check curl version
4552   AC_MSG_CHECKING([whether curl is >= 7.13.1])
4553   if test "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $1 }'`" -gt "7" -a \
4554	"`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $2 }'`" -gt "13" -a \
4555	"`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $3 }'`" -gt "1"; then
4556      AC_MSG_ERROR([no, you need at least curl 7.13,1])
4557   else
4558      AC_MSG_RESULT([yes])
4559   fi
4560   CURL_LIBS=`$CURLCONFIG --libs`
4561   CURL_CFLAGS=`$CURLCONFIG --cflags`
4562else
4563   AC_MSG_RESULT([internal])
4564   SYSTEM_CURL=NO
4565   BUILD_TYPE="$BUILD_TYPE CURL"
4566fi
4567AC_SUBST(SYSTEM_CURL)
4568AC_SUBST(CURL_CFLAGS)
4569AC_SUBST(CURL_LIBS)
4570
4571dnl ===================================================================
4572dnl Check for system mdds
4573dnl ===================================================================
4574AC_MSG_CHECKING([which mdds to use])
4575if test -n "$with_system_mdds" -o -n "$with_system_headers" && \
4576	test "$with_system_mdds" != "no"; then
4577    AC_MSG_RESULT([external])
4578    SYSTEM_MDDS=YES
4579    AC_LANG_PUSH([C++])
4580    AC_CHECK_HEADER(mdds/flat_segment_tree.hpp, [],
4581        [AC_MSG_ERROR(mdds/flat_segment_tree.hpp not found. install mdds)], [])
4582    AC_LANG_POP([C++])
4583else
4584   AC_MSG_RESULT([internal])
4585   BUILD_TYPE="$BUILD_TYPE MDDS"
4586   SYSTEM_MDDS=NO
4587fi
4588AC_SUBST(SYSTEM_MDDS)
4589
4590dnl ===================================================================
4591dnl Check for system boost
4592dnl ===================================================================
4593AC_MSG_CHECKING([which boost to use])
4594if test -n "$with_system_boost" -o -n "$with_system_headers" && \
4595	test "$with_system_boost" != "no"; then
4596   AC_MSG_RESULT([external])
4597   SYSTEM_BOOST=YES
4598   AC_LANG_PUSH([C++])
4599   AC_CHECK_HEADER(boost/shared_ptr.hpp, [],
4600       [AC_MSG_ERROR(boost/shared_ptr.hpp not found. install boost)], [])
4601   AC_CHECK_HEADER(boost/spirit/include/classic_core.hpp, [],
4602       [AC_MSG_ERROR(boost/spirit/include/classic_core.hpp not found. install boost >= 1.36)], [])
4603   AC_CHECK_HEADER(boost/function.hpp, [],
4604       [AC_MSG_ERROR(boost/function.hpp not found. install boost)], [])
4605
4606   save_CXXFLAGS=$CXXFLAGS
4607   CXXFLAGS="$CXXFLAGS -fno-exceptions"
4608   AC_MSG_CHECKING([whether boost/function.hpp compiles with -fno-exceptions])
4609   AC_TRY_COMPILE([#include <boost/function.hpp>
4610], [],
4611   ac_cv_cxx_boost_no_exceptons_broken=no, ac_cv_cxx_boost_no_exceptons_broken=yes)
4612
4613   if test "$ac_cv_cxx_boost_no_exceptons_broken" = "yes"; then
4614	AC_MSG_ERROR([no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131])
4615   else
4616  	AC_MSG_RESULT([yes])
4617   fi
4618   CXXFLAGS=$save_CXXFLAGS
4619   AC_LANG_POP([C++])
4620else
4621   AC_MSG_RESULT([internal])
4622   BUILD_TYPE="$BUILD_TYPE BOOST"
4623   SYSTEM_BOOST=NO
4624fi
4625AC_SUBST(SYSTEM_BOOST)
4626
4627dnl ===================================================================
4628dnl Check for system vigra
4629dnl ===================================================================
4630AC_MSG_CHECKING([which vigra to use])
4631if test -n "$with_system_vigra" -o -n "$with_system_headers" && \
4632	test "$with_system_vigra" != "no"; then
4633   AC_MSG_RESULT([external])
4634   SYSTEM_VIGRA=YES
4635   AC_LANG_PUSH([C++])
4636   AC_CHECK_HEADER(vigra/copyimage.hxx, [],
4637       [AC_MSG_ERROR(vigra/copyimage.hxx not found. install vigra)], [])
4638   AC_LANG_POP([C++])
4639else
4640   AC_MSG_RESULT([internal])
4641   BUILD_TYPE="$BUILD_TYPE VIGRA"
4642   SYSTEM_VIGRA=NO
4643fi
4644AC_SUBST(SYSTEM_VIGRA)
4645
4646dnl ===================================================================
4647dnl Check for system odbc
4648dnl ===================================================================
4649AC_MSG_CHECKING([which odbc headers to use])
4650if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \
4651	test "$with_system_odbc_headers" != "no"; then
4652   AC_MSG_RESULT([external])
4653   SYSTEM_ODBC_HEADERS=YES
4654
4655   AC_CHECK_HEADER(sqlext.h, [],
4656      [AC_MSG_ERROR(odbc not found. install odbc)], [])
4657else
4658   AC_MSG_RESULT([internal])
4659   SYSTEM_ODBC_HEADERS=NO
4660   BUILD_TYPE="$BUILD_TYPE UNIXODBC"
4661fi
4662AC_SUBST(SYSTEM_ODBC_HEADERS)
4663
4664AC_MSG_CHECKING([whether to build XML Security support])
4665if test "$enable_nss_module" = "no"; then
4666   AC_MSG_RESULT([no, since NSS disabled but needed])
4667else
4668   AC_MSG_RESULT([yes])
4669fi
4670
4671AC_MSG_CHECKING([whether to build LDAP configuration backend])
4672if test -z "$enable_ldap" || test "$enable_ldap" = "yes"; then
4673   if test "$with_openldap" = "yes"; then
4674      AC_MSG_RESULT([yes])
4675      WITH_LDAP=YES
4676   else
4677      WITH_LDAP=NO
4678   fi
4679else
4680   AC_MSG_RESULT([no])
4681   WITH_LDAP=NO
4682fi
4683
4684if test "$WITH_LDAP" = "YES"; then
4685   dnl ===================================================================
4686   dnl Test whether we want to use the OpenLDAP LDAP SDK
4687   dnl ===================================================================
4688   AC_MSG_CHECKING([which LDAP SDK to use])
4689   if test -n "$with_openldap" && test "$with_openldap" != "no"; then
4690  	   AC_MSG_RESULT([OpenLDAP])
4691	   WITH_OPENLDAP=YES
4692	   AC_CHECK_HEADERS(ldap.h, [],
4693		   [AC_MSG_ERROR(ldap.h not found. install openldap libs)], [])
4694	   AC_CHECK_LIB(ldap, ldap_simple_bind_s, [],
4695		   [AC_MSG_ERROR(openldap lib not found or functional)], [])
4696	   # rumours say that OpenLDAP doesn't have that function. I looked and
4697	   # it has it. Test for it to be sure
4698         AC_CHECK_LIB(ldap, ldap_set_option, [],
4699                [AC_MSG_ERROR(openldap lib not found or functional)], [])
4700   fi
4701fi
4702AC_SUBST(WITH_LDAP)
4703AC_SUBST(WITH_OPENLDAP)
4704
4705AC_MSG_CHECKING([whether to build the internal NSS module])
4706if test "$enable_nss_module" != "no"; then
4707   ENABLE_NSS_MODULE="YES"
4708   BUILD_TYPE="$BUILD_TYPE NSS"
4709   AC_MSG_RESULT([yes])
4710   if test "$_os" = "WINNT"; then
4711      AC_MSG_CHECKING([for Mozilla build tooling])
4712      if test -z "$MOZILLABUILD" ; then
4713AC_MSG_ERROR([
4714Mozilla build tooling not found!
4715  It is required for NSS that is needed for AOO's security facilities.
4716  Either disable NSS using the option --disable-nss-module
4717  or use the --with-mozilla-build option after installing the tool obtained
4718  from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/])
4719      else
4720         if test \( "$WITH_MINGWIN" = "yes" \) ; then
4721            if test ! -d "$MOZILLABUILD" ; then
4722AC_MSG_ERROR([Mozilla build tooling incomplete!])
4723            else
4724               AC_MSG_RESULT([ok])
4725            fi
4726         else
4727            if test ! -d "$MOZILLABUILD/moztools" \
4728               -o ! -d "$MOZILLABUILD/msys" ; then
4729AC_MSG_ERROR([Mozilla build tooling incomplete!])
4730            else
4731               AC_MSG_RESULT([ok])
4732            fi
4733         fi
4734      fi
4735   fi
4736else
4737   ENABLE_NSS_MODULE="NO"
4738   AC_MSG_RESULT([no])
4739fi
4740
4741AC_SUBST(ENABLE_NSS_MODULE)
4742AC_SUBST(MOZILLABUILD)
4743AC_SUBST(MOZ_INC)
4744
4745dnl ===================================================================
4746dnl Check for system sane
4747dnl ===================================================================
4748AC_MSG_CHECKING([which sane header to use])
4749if test -n "$with_system_sane_header" -o -n "$with_system_headers" && \
4750	test "$with_system_sane_header" != "no"; then
4751   AC_MSG_RESULT([external])
4752   SYSTEM_SANE_HEADER=YES
4753   AC_CHECK_HEADER(sane/sane.h, [],
4754      [AC_MSG_ERROR(sane not found. install sane)], [])
4755else
4756   AC_MSG_RESULT([internal])
4757   SYSTEM_SANE_HEADER=NO
4758   BUILD_TYPE="$BUILD_TYPE SANE"
4759fi
4760AC_SUBST(SYSTEM_SANE_HEADER)
4761
4762dnl ===================================================================
4763dnl Check for system icu
4764dnl ===================================================================
4765AC_MSG_CHECKING([which icu to use])
4766if test -n "$with_system_icu" -o -n "$with_system_libs" && \
4767	test "$with_system_icu" != "no"; then
4768   AC_MSG_RESULT([external])
4769   SYSTEM_ICU=YES
4770   AC_LANG_PUSH([C++])
4771   AC_MSG_CHECKING([for unicode/rbbi.h])
4772   AC_TRY_CPP(unicode/rbbi.h, AC_MSG_RESULT([checked.]), AC_MSG_ERROR([icu headers not found.]))
4773   AC_LANG_POP([C++])
4774   AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin])
4775   if test -z "$SYSTEM_GENBRK"; then
4776      AC_MSG_ERROR([\"genbrk\" not found in \$PATH, install the icu development tool \"genbrk"\])
4777   fi
4778   AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin])
4779   if test -z "$SYSTEM_GENCCODE"; then
4780      AC_MSG_ERROR([\"genccode\" not found in \$PATH, install the icu development tool \"genccode"\])
4781   fi
4782   AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin])
4783   if test -z "$SYSTEM_GENCMN"; then
4784      AC_MSG_ERROR([\"gencmn\" not found in \$PATH, install the icu development tool \"gencmn"\])
4785   fi
4786
4787   AC_PATH_PROG( ICUCONFIG, icu-config)
4788   AC_MSG_CHECKING([ICU version])
4789   if test "$_os" = "OS2"; then
4790      ICU_MAJOR=4
4791   else
4792      ICU_VERSION=`$ICUCONFIG --version`
4793      ICU_MAJOR=`$ICUCONFIG --version | cut -d"." -f1`
4794      ICU_MINOR=`$ICUCONFIG --version | cut -d"." -f2`
4795      ICU_MICRO=`$ICUCONFIG --version | cut -d"." -f3`
4796   fi
4797
4798   if test "$ICU_MAJOR" -ge "4"; then
4799      AC_MSG_RESULT([OK])
4800   else
4801      AC_MSG_ERROR([not suitable, only >= 4.0 supported currently])
4802   fi
4803
4804else
4805    AC_MSG_RESULT([internal])
4806    SYSTEM_ICU=NO
4807    BUILD_TYPE="$BUILD_TYPE ICU"
4808fi
4809AC_SUBST(SYSTEM_ICU)
4810AC_SUBST(SYSTEM_GENBRK)
4811AC_SUBST(SYSTEM_GENCCODE)
4812AC_SUBST(SYSTEM_GENCMN)
4813AC_SUBST(ICU_MAJOR)
4814AC_SUBST(ICU_MINOR)
4815AC_SUBST(ICU_MICRO)
4816
4817dnl ===================================================================
4818dnl Graphite
4819dnl ===================================================================
4820
4821ENABLE_GRAPHITE="FALSE"
4822AC_MSG_CHECKING([whether to enable graphite support])
4823if test "x$enable_graphite" = "xyes" -a \( "$_os" = "WINNT" -o "$_os" = "Linux" -o "$_os" = "FreeBSD" \) ; then
4824    AC_MSG_RESULT([yes])
4825    ENABLE_GRAPHITE="TRUE"
4826    AC_MSG_CHECKING([which graphite to use])
4827    if test -n "$with_system_graphite" -o -n "$with_system_libs" && \
4828        test "$with_system_graphite" != "no"; then
4829        AC_MSG_RESULT([external])
4830        SYSTEM_GRAPHITE=YES
4831        PKG_CHECK_MODULES( GRAPHITE, silgraphite )
4832    else
4833        AC_MSG_RESULT([internal])
4834        SYSTEM_GRAPHITE=NO
4835        BUILD_TYPE="$BUILD_TYPE GRAPHITE"
4836    fi
4837else
4838   AC_MSG_RESULT([no])
4839   ENABLE_GRAPHITE="FALSE"
4840fi
4841AC_SUBST(ENABLE_GRAPHITE)
4842AC_SUBST(SYSTEM_GRAPHITE)
4843AC_SUBST(GRAPHITE_LIBS)
4844AC_SUBST(GRAPHITE_CFLAGS)
4845
4846
4847dnl ===================================================================
4848dnl Checks for libraries.
4849dnl ===================================================================
4850dnl Check for Mac OS X native GUI, which may is now required; the X11 build is no longer supported
4851dnl See if we have the AppKit framework for building with Quartz graphics.
4852
4853if test  "$_os" = "Darwin"; then
4854   if test "x$with_x" = "xyes"; then
4855      AC_MSG_ERROR([X11 build is no longer supported on MacOSX, please use the native aqua build])
4856   else
4857      AC_MSG_CHECKING([for /System/Library/Frameworks/AppKit.framework])
4858      if test -d "/System/Library/Frameworks/AppKit.framework/"; then
4859         AC_MSG_RESULT([yes])
4860         x_includes="no_x_includes"
4861         x_libraries="no_x_libraries"
4862         dnl disable some things used on other Unix versions but not on the aqua build
4863         enable_gtk=no
4864         enable_cups=no
4865         ENABLE_CUPS=""
4866         AC_SUBST(ENABLE_CUPS)
4867      else
4868         AC_MSG_ERROR([No AppKit.framewrok found])
4869      fi
4870   fi
4871fi
4872
4873dnl ***************************************
4874dnl testing for X libraries and includes...
4875dnl ***************************************
4876if test "$_os" = "Darwin" -a "x$x_includes" = "xno_x_includes"; then
4877   echo "Do Nothing for _os = Darwin"
4878   dnl Mac OS X using Aqua graphics. Don't check for X11.
4879   :
4880elif test "$_os" = "OS2" ; then
4881   echo "Do Nothing for _os = OS2. Don't check for X11."
4882   dnl OS/2 uses native graphics. Don't check for X11.
4883   :
4884elif test "$_os" != "WINNT" ; then
4885   AC_PATH_X
4886   AC_PATH_XTRA
4887   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
4888
4889   if test "x$x_includes" = "x"; then
4890     x_includes="default_x_includes"
4891   fi
4892   if test "x$x_libraries" = "x"; then
4893     x_libraries="default_x_libraries"
4894   fi
4895   dnl The variables $x_libraries and $x_includes are set.
4896   if test -z "$x_libraries"; then
4897      AC_MSG_ERROR([No X libraries found]) # Exit
4898   fi
4899   if test -z "$x_includes"; then
4900      AC_MSG_ERROR([No X includes found]) # Exit
4901   fi
4902   CFLAGS=$X_CFLAGS
4903   LDFLAGS="$X_LDFLAGS $X_LIBS"
4904   AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", [AC_MSG_ERROR([X Development libraries not found])])
4905   dnl Check if the XauDisposeAuth symbol is provided by libXau.
4906   AC_CHECK_LIB(Xau, XauDisposeAuth, XAU_LIBS="-lXau", [])
4907else
4908   x_includes="no_x_includes"
4909   x_libraries="no_x_libraries"
4910fi
4911if test -z "$x_includes"; then
4912   x_includes="no_x_includes"
4913fi
4914if test -z "$x_libraries"; then
4915   x_libraries="no_x_libraries"
4916fi
4917if test "$x_includes" = "default_x_includes"; then
4918   XINC="/usr/include"
4919else
4920   XINC="$x_includes"
4921fi
4922AC_SUBST(XINC)
4923if test "$x_libraries" = "default_x_libraries"; then
4924   XLIB=`$PKG_CONFIG --variable=libdir x11`
4925   if test "x$XLIB" = x; then
4926         XLIB="/usr/lib"
4927   fi
4928else
4929   XLIB="$x_libraries"
4930fi
4931AC_SUBST(XLIB)
4932AC_SUBST(XAU_LIBS)
4933
4934dnl ===================================================================
4935dnl Check if fontconfig/fontconfig.h is available
4936dnl ===================================================================
4937if test "$ENABLE_FONTCONFIG" = "TRUE" ; then
4938    AC_CHECK_HEADER(fontconfig/fontconfig.h, [],
4939                    [AC_MSG_ERROR([fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?])], [])
4940    AC_MSG_CHECKING([whether fontconfig is >= 2.2.0])
4941    AC_TRY_RUN([
4942#include <fontconfig/fontconfig.h>
4943
4944int main(int argc, char **argv) {
4945	if(FC_MAJOR > 2 || (FC_MAJOR == 2 && FC_MINOR >= 2)) return 0;
4946	else return 1;
4947}
4948], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, fontconfig >= 2.2.0 needed])])
4949fi
4950
4951dnl ===================================================================
4952dnl Check for system Xrender
4953dnl ===================================================================
4954AC_MSG_CHECKING([whether to link to Xrender])
4955if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then
4956   AC_MSG_RESULT([yes])
4957   XRENDER_LINK=YES
4958   with_system_xrender_headers=yes
4959else
4960   AC_MSG_RESULT([no, dynamically open it])
4961   XRENDER_LINK=NO
4962fi
4963AC_MSG_CHECKING([which Xrender headers to use])
4964if test -n "$with_system_xrender_headers" -o -n "$with_system_headers" && \
4965	test "$with_system_xrender_headers" != "no"; then
4966   AC_MSG_RESULT([external])
4967   SYSTEM_XRENDER_HEADERS=YES
4968   AC_CHECK_HEADER(X11/extensions/Xrender.h, [],
4969      [AC_MSG_ERROR(Xrender not found. install X)], [])
4970else
4971   AC_MSG_RESULT([internal])
4972   SYSTEM_XRENDER_HEADERS=NO
4973   BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS"
4974fi
4975if test "$XRENDER_LINK" = "YES"; then
4976   AC_CHECK_LIB(Xrender, XRenderQueryVersion, [],
4977      [AC_MSG_ERROR(libXrender not found or functional)], [])
4978fi
4979AC_SUBST(SYSTEM_XRENDER_HEADERS)
4980AC_SUBST(XRENDER_LINK)
4981
4982dnl ===================================================================
4983dnl Check for XRandr
4984dnl ===================================================================
4985AC_MSG_CHECKING([whether to enable RandR support])
4986if test "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \) ; then
4987   if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then
4988	  XRANDR_DLOPEN="TRUE"
4989	  AC_MSG_RESULT([resorting to dlopen libXrandr at runtime])
4990   else
4991	  XRANDR_DLOPEN="FALSE"
4992      PKG_CHECK_MODULES(XRANDR, xrandr >= 1.2, ENABLE_RANDR="TRUE", ENABLE_RANDR="")
4993      if test "$ENABLE_RANDR" != "TRUE"; then
4994         AC_CHECK_HEADER(X11/extensions/Xrandr.h, [],
4995                        [AC_MSG_ERROR([X11/extensions/Xrandr.h could not be found. X11 dev missing?])], [])
4996         XRANDR_CFLAGS=" "
4997         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [],
4998              [ AC_MSG_ERROR(libXrandr not found or functional) ], [])
4999         XRANDR_LIBS="-lXrandr "
5000         ENABLE_RANDR="TRUE"
5001	     AC_MSG_RESULT([enabling RandR support])
5002      fi
5003   fi
5004else
5005   ENABLE_RANDR=""
5006   AC_MSG_RESULT([no])
5007fi
5008AC_SUBST(XRANDR_DLOPEN)
5009AC_SUBST(XRANDR_CFLAGS)
5010AC_SUBST(XRANDR_LIBS)
5011AC_SUBST(ENABLE_RANDR)
5012
5013dnl ===================================================================
5014dnl Check for system nss
5015dnl ===================================================================
5016AC_MSG_CHECKING([which libnss to use])
5017if test -n "$with_system_nss" -o -n "$with_system_libs" && test "$with_system_nss" != "no"; then
5018    AC_MSG_RESULT([external])
5019    PKG_CHECK_MODULES( NSS, nss )
5020    SYSTEM_NSS=YES
5021else
5022    AC_MSG_RESULT([internal])
5023    SYSTEM_NSS=NO
5024    BUILD_TYPE="$BUILD_TYPE NSS"
5025fi
5026AC_SUBST(SYSTEM_NSS)
5027AC_SUBST(NSS_CFLAGS)
5028AC_SUBST(NSS_LIBS)
5029
5030dnl ===================================================================
5031dnl Check for system openssl
5032dnl ===================================================================
5033if test "$_os" = "Darwin" && test "$with_system_openssl" != "no"; then
5034   with_system_openssl=yes
5035fi
5036AC_MSG_CHECKING([which libssl to use])
5037if test -n "$with_system_openssl" -o -n "$with_system_libs" && \
5038        test "$with_system_openssl" != "no"; then
5039    AC_MSG_RESULT([external])
5040    # Mac OS builds should get out without extra stuff is the Mac porters'
5041    # wish. And pkg-config is although Xcode ships a .pc for openssl
5042    if test "$_os" = "Darwin" -o "$_os" = "FreeBSD"; then
5043        OPENSSL_CFLAGS=
5044        OPENSSL_LIBS="-lssl -lcrypto"
5045    else
5046    	PKG_CHECK_MODULES( OPENSSL, openssl )
5047    fi
5048    SYSTEM_OPENSSL=YES
5049else
5050    AC_MSG_RESULT([internal])
5051    SYSTEM_OPENSSL=NO
5052    BUILD_TYPE="$BUILD_TYPE OPENSSL"
5053fi
5054AC_SUBST(SYSTEM_OPENSSL)
5055AC_SUBST(OPENSSL_CFLAGS)
5056AC_SUBST(OPENSSL_LIBS)
5057
5058dnl ===================================================================
5059dnl Check for system redland
5060dnl ===================================================================
5061AC_MSG_CHECKING([which redland library to use])
5062if test -n "$with_system_redland" -o -n "$with_system_libs" && \
5063	test "$with_system_redland" != "no"; then
5064	AC_MSG_RESULT([external])
5065	SYSTEM_REDLAND=YES
5066   dnl versions before 1.0.8 write RDF/XML that is useless for ODF (@xml:base)
5067   PKG_CHECK_MODULES(REDLAND, redland >= 1.0.8)
5068else
5069	AC_MSG_RESULT([internal])
5070	BUILD_TYPE="$BUILD_TYPE REDLAND"
5071	SYSTEM_REDLAND=NO
5072fi
5073AC_SUBST(SYSTEM_REDLAND)
5074AC_SUBST(REDLAND_CFLAGS)
5075AC_SUBST(REDLAND_LIBS)
5076
5077dnl ===================================================================
5078dnl Check for hunspell
5079dnl ===================================================================
5080AC_MSG_CHECKING([whether to build the Spell Checking component])
5081ENABLE_HUNSPELL=
5082
5083if test "x$enable_hunspell" != "xno" ; then
5084    AC_MSG_CHECKING([which libhunspell to use])
5085    if test -n "$with_system_hunspell" -o -n "$with_system_libs" && \
5086        test "$with_system_hunspell" != "no"; then
5087        AC_MSG_RESULT([external])
5088        SYSTEM_HUNSPELL=YES
5089        AC_LANG_PUSH([C++])
5090        PKG_CHECK_MODULES(HUNSPELL, hunspell, HUNSPELL_PC="TRUE", HUNSPELL_PC="" )
5091        if test "$HUNSPELL_PC" != "TRUE"; then
5092            AC_CHECK_HEADER(hunspell.hxx, [],
5093            [AC_CHECK_HEADER(hunspell/hunspell.hxx, [ HUNSPELL_CFLAGS=-I/usr/include/hunspell ],
5094                [AC_MSG_ERROR(hunspell headers not found.)], [])
5095             ], [])
5096            AC_CHECK_LIB(hunspell, main, [],
5097            [ AC_MSG_ERROR(hunspell library not found.) ], [])
5098            HUNSPELL_LIBS=-lhunspell
5099        fi
5100        AC_LANG_POP([C++])
5101    else
5102        AC_MSG_RESULT([internal])
5103        SYSTEM_HUNSPELL=NO
5104        BUILD_TYPE="$BUILD_TYPE HUNSPELL"
5105    fi
5106    ENABLE_HUNSPELL=YES
5107    AC_SUBST(SYSTEM_HUNSPELL)
5108    AC_SUBST(HUNSPELL_CFLAGS)
5109    AC_SUBST(HUNSPELL_LIBS)
5110else
5111    AC_MSG_RESULT([no])
5112fi
5113AC_SUBST(ENABLE_HUNSPELL)
5114
5115dnl ===================================================================
5116dnl Checking for libhyphen
5117dnl ===================================================================
5118AC_MSG_CHECKING([whether to build the Hyphenator component])
5119ENABLE_HYPHEN=
5120
5121if test "x$enable_hyphen" != "xno" ; then
5122    AC_MSG_CHECKING([which libhyphen to use])
5123    if test -n "$with_system_hyphen" -o -n "$with_system_libs" && \
5124        test "$with_system_hyphen" != "no"; then
5125        AC_MSG_RESULT([external])
5126        SYSTEM_HYPH=YES
5127        AC_CHECK_HEADER(hyphen.h, [],
5128        [ AC_MSG_ERROR(libhyphen headers not found.)], [])
5129        AC_CHECK_MEMBER(struct _HyphenDict.cset, [],
5130        [ AC_MSG_ERROR(no. You are sure you have libhyphen headers?)],
5131        [#include <hyphen.h>])
5132        AC_CHECK_LIB(hyphen, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyphen],
5133            [ AC_MSG_ERROR(libhyphen not found or too old.)], [])
5134        if test -z "$HYPHEN_LIB"; then
5135        AC_CHECK_LIB(hyph, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyph],
5136            [ AC_MSG_ERROR(libhyphen not found or too old.)], [])
5137        fi
5138        if test -z "$HYPHEN_LIB"; then
5139        AC_CHECK_LIB(hnj, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhnj],
5140            [ AC_MSG_ERROR(libhyphen not found or too old.)], [])
5141        fi
5142    else
5143        AC_MSG_RESULT([internal])
5144        SYSTEM_HYPH=NO
5145        BUILD_TYPE="$BUILD_TYPE HYPHEN"
5146    fi
5147    ENABLE_HYPHEN=YES
5148    AC_SUBST(SYSTEM_HYPH)
5149    AC_SUBST(HYPHEN_LIB)
5150else
5151    AC_MSG_RESULT([no])
5152fi
5153AC_SUBST(ENABLE_HYPHEN)
5154
5155
5156#dnl ===================================================================
5157#dnl Check whether we are allowed to bundle dictionaries and whether
5158#dnl hunspell is available.
5159#dnl ===================================================================
5160ENABLE_BUNDLED_DICTIONARIES=
5161if test "x$enable_bundled_dictionaries" != "xno" -a "x$ENABLE_HUNSPELL" = "xYES"; then
5162   ENABLE_BUNDLED_DICTIONARIES=YES
5163fi
5164AC_SUBST(ENABLE_BUNDLED_DICTIONARIES)
5165
5166
5167
5168dnl ===================================================================
5169dnl Checking for mythes
5170dnl ===================================================================
5171AC_MSG_CHECKING([which mythes to use])
5172if test -n "$with_system_mythes" -o -n "$with_system_libs" && \
5173   test "$with_system_mythes" != "no"; then
5174    AC_MSG_RESULT([external])
5175    SYSTEM_MYTHES=YES
5176    AC_LANG_PUSH([C++])
5177    PKG_CHECK_MODULES(MYTHES, mythes, MYTHES_PKGCONFIG=yes, MYTHES_PKGCONFIG=no)
5178    if test "$MYTHES_PKGCONFIG" = "no"; then
5179        AC_CHECK_HEADER(mythes.hxx, [],
5180            [ AC_MSG_ERROR(mythes.hxx headers not found.)], [])
5181        AC_CHECK_LIB(mythes-1.2, main, [],
5182            [ MYTHES_FOUND=no], [])
5183 	if test "$MYTHES_FOUND" = "no"; then
5184            AC_CHECK_LIB(mythes, main, [MYTHES_FOUND=yes],
5185                [ MYTHES_FOUND=no], [])
5186	fi
5187	if test "$MYTHES_FOUND" = "no"; then
5188		AC_MSG_ERROR([mythes library not found!.])
5189	fi
5190    fi
5191    AC_LANG_POP([C++])
5192else
5193    AC_MSG_RESULT([internal])
5194    SYSTEM_MYTHES=NO
5195    BUILD_TYPE="$BUILD_TYPE MYTHES"
5196fi
5197AC_SUBST(SYSTEM_MYTHES)
5198AC_SUBST(MYTHES_CFLAGS)
5199AC_SUBST(MYTHES_LIBS)
5200
5201
5202dnl ===================================================================
5203dnl Checking for libtextcat
5204dnl ===================================================================
5205AC_MSG_CHECKING([which libtextcat to use])
5206if test -n "$with_system_libtextcat" && test "$with_system_libtextcat" != "no"; then
5207    AC_MSG_RESULT([external])
5208    SYSTEM_LIBTEXTCAT=YES
5209    AC_CHECK_HEADER(libtextcat/textcat.h, [],
5210       [ AC_MSG_ERROR(libtextcat headers not found.)], [])
5211    AC_CHECK_LIB(textcat, special_textcat_Init, ,
5212        [ AC_MSG_ERROR(libtextcat library not found or not suitable. libtextcat typically needs to be patched)], [])
5213else
5214    AC_MSG_RESULT([internal])
5215    SYSTEM_LIBTEXTCAT=NO
5216    BUILD_TYPE="$BUILD_TYPE LIBTEXTCAT"
5217fi
5218AC_SUBST(SYSTEM_LIBTEXTCAT)
5219
5220AC_MSG_CHECKING([which libtextcat data directory to use])
5221if test -n "$with_system_libtextcat_data" && test "$with_system_libtextcat_data" != "no"; then
5222    if test "$with_system_libtextcat_data" = "yes"; then
5223        SYSTEM_LIBTEXTCAT_DATA=file:///usr/share/libtextcat
5224    else
5225        SYSTEM_LIBTEXTCAT_DATA=file://$with_system_libtextcat_data
5226    fi
5227    AC_MSG_RESULT([$SYSTEM_LIBTEXTCAT_DATA])
5228else
5229    AC_MSG_RESULT([internal])
5230    BUILD_TYPE="$BUILD_TYPE LIBTEXTCATDATA"
5231fi
5232AC_SUBST(SYSTEM_LIBTEXTCAT_DATA)
5233
5234dnl ***************************************
5235dnl testing libc version for Linux...
5236dnl ***************************************
5237if test "$_os" = "Linux"; then
5238   AC_MSG_CHECKING([whether libc is >= 2.1.1])
5239   exec 6>/dev/null # no output
5240   AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC)
5241   exec 6>&1 # output on again
5242   if test "$HAVE_LIBC"; then
5243      AC_MSG_RESULT([yes])
5244   else
5245      AC_MSG_ERROR([no, upgrade libc])
5246   fi
5247fi
5248
5249if test "$_os" != "WNT"; then
5250  AC_CHECK_FUNCS(getopt, HAVE_GETOPT=YES, [HAVE_GETOPT=NO])
5251  AC_CHECK_FUNCS(readdir_r, HAVE_READDIR_R=YES, [HAVE_READDIR_R=NO])
5252  if test "$HAVE_GETOPT" = "YES" -a "$HAVE_READDIR_R" = "YES"; then
5253	SYSTEM_LIBC=YES
5254  fi
5255else
5256  HAVE_GETOPT=NO
5257  HAVE_READDIR_R=NO
5258  SYSTEM_LIBC=YES
5259fi
5260AC_SUBST(HAVE_GETOPT)
5261AC_SUBST(HAVE_READDIR_R)
5262AC_SUBST(SYSTEM_LIBC)
5263
5264dnl =========================================
5265dnl Check for the Microsoft Platform SDK.
5266dnl =========================================
5267dnl FIXME: I don't know yet if PSDK works with MinGW, keep it until I know better,
5268dnl and add "-a \( "$WITH_MINGWIN" != "yes" \)" then
5269if test \( "$_os" = "WINNT" \) ; then
5270	AC_MSG_CHECKING([for PSDK files])
5271	if test -z "$with_psdk_home"; then
5272		# This first line will detect a February 2003 Microsoft Platform SDK
5273		PSDK_HOME=`$OOWINTOOL --psdk-home`
5274        # But there might be also an April 2005 PSDK, unfortunately MS changed
5275        # the registry entry. (we prefer the old version!?)
5276        if test -z "$PSDK_HOME"; then
5277          PSDK_HOME=`cat /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/*/Install\ Dir 2> /dev/null | tr '\000' '\n' | head -n 1`
5278        fi
5279            # normalize if found
5280            if test -n "$PSDK_HOME"; then
5281              PSDK_HOME=`cygpath -d "$PSDK_HOME"`
5282              PSDK_HOME=`cygpath -u "$PSDK_HOME"`
5283           fi
5284	else
5285           PSDK_HOME=`cygpath -u "$with_psdk_home"`
5286	fi
5287        # Remove a possible trailing backslash
5288        PSDK_HOME=`echo $PSDK_HOME | $SED 's/\/$//'`
5289    # Problem with current PSDK (iz 49865)
5290    if test -f "$PSDK_HOME/Lib/libcp.lib"; then
5291        AC_MSG_ERROR([
5292
5293Some modules do not build correctly with MS Platform SDK - April 2005
5294Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found.
5295Remove/rename/backup that file and restart configure. Details about this
5296problem can be found in issue 49856.])
5297    fi
5298# WIndows SDK has different headers
5299	if test \( -f "$PSDK_HOME/Include/adoint.h" \) \
5300		 -a \( -f "$PSDK_HOME/Include/SqlUcode.h" \) \
5301		 -a \( -f "$PSDK_HOME/Include/usp10.h" \); then
5302		HAVE_PSDK_H="yes"
5303	else
5304		HAVE_PSDK_H="no"
5305	fi
5306	if test -f "$PSDK_HOME/lib/unicows.lib"; then
5307		HAVE_PSDK_LIB="yes"
5308	else
5309		HAVE_PSDK_LIB="no"
5310	fi
5311    if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then
5312        AC_MSG_ERROR([Some (all?) PSDK files not found, please check if all needed Platform SDKs
5313are installed or use --with-psdk-home .])
5314    fi
5315    if test ! -x "$PSDK_HOME/bin/msiinfo.exe" \
5316         -o ! -x "$PSDK_HOME/bin/msidb.exe" \
5317         -o ! -x "$PSDK_HOME/bin/uuidgen.exe" \
5318         -o ! -x "$PSDK_HOME/bin/msitran.exe" ; then
5319        AC_MSG_ERROR([Some (all) files of the Windows Installer SDK are missing, please install.])
5320    fi
5321    AC_MSG_RESULT([SDK files found ...)])
5322dnl Check if this is the right SDK.
5323    if echo $PSDK_HOME | $GREP "v6.1" >/dev/null 2>/dev/null; then
5324        AC_MSG_RESULT([Found Windows SDK 6.1 ($PSDK_HOME)])
5325        WINDOWS_VISTA_PSDK=TRUE
5326    elif echo $PSDK_HOME | $GREP "v6.0" >/dev/null 2>/dev/null; then
5327        AC_MSG_RESULT([Found Windows SDK 6.0 ($PSDK_HOME)])
5328        WINDOWS_VISTA_PSDK=TRUE
5329    elif echo $PSDK_HOME | $GREP "v7.0" >/dev/null 2>/dev/null; then
5330        AC_MSG_RESULT([Found Windows SDK 7.0 ($PSDK_HOME)])
5331        WINDOWS_VISTA_PSDK=TRUE
5332    else
5333        AC_MSG_RESULT([Found Legacy Windows Platform SDK ($PSDK_HOME)])
5334    fi
5335fi
5336AC_SUBST(PSDK_HOME)
5337AC_SUBST(WINDOWS_VISTA_PSDK)
5338
5339dnl =========================================
5340dnl Check for the Microsoft DirectX SDK.
5341dnl =========================================
5342if test \( "$_os" = "WINNT" \) ; then
5343    AC_MSG_CHECKING([for DirectX SDK files])
5344    if test -z "$with_directx_home"; then
5345        dnl A standard installation of the DirectX SDK sets $DXSDK_DIR
5346        if test -n "$DXSDK_DIR"; then
5347            DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"`
5348            DIRECTXSDK_HOME=`cygpath -u "$DIRECTXSDK_HOME"`
5349        fi
5350        # At this point $DIRECTXSDK_HOME might still be undefined. This will lead to
5351        # the "DirectX SDK files not found" error later
5352    else
5353	DIRECTXSDK_HOME=`cygpath -u "$with_directx_home"`
5354    fi
5355    # Remove a possible trailing backslash
5356    DIRECTXSDK_HOME=`echo $DIRECTXSDK_HOME | $SED 's/\/$//'`
5357
5358    if test -f "$DIRECTXSDK_HOME/Include/ddraw.h" ; then
5359        HAVE_DIRECTDRAW_H="yes"
5360    else
5361        HAVE_DIRECTDRAW_H="no"
5362    fi
5363    if test -f "$DIRECTXSDK_HOME/Include/d3d9.h" ; then
5364        HAVE_DIRECTXSDK_H="yes"
5365    else
5366        HAVE_DIRECTXSDK_H="no"
5367    fi
5368
5369    # MS changed the location of the libraries with dec 2004 directx sdk
5370    if test -d "$DIRECTXSDK_HOME/lib/x86" ; then
5371        DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib/x86"
5372    else
5373        DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib"
5374    fi
5375    if test -f "$DIRECTXSDK_LIB/ddraw.lib" ; then
5376        HAVE_DIRECTDRAW_LIB="yes"
5377    else
5378        HAVE_DIRECTDRAW_LIB="no"
5379    fi
5380    if test -f "$DIRECTXSDK_LIB/d3d9.lib" ; then
5381        HAVE_DIRECTXSDK_LIB="yes"
5382    else
5383        HAVE_DIRECTXSDK_LIB="no"
5384    fi
5385
5386    if test "$HAVE_DIRECTDRAW_H" = "yes" -a "$HAVE_DIRECTDRAW_LIB" = "yes" ; then
5387       ENABLE_DIRECT_DRAW="TRUE"
5388    fi
5389    if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes" ; then
5390       HAVE_DIRECTXSDK="yes"
5391    else
5392       HAVE_DIRECTXSDK="no"
5393    fi
5394
5395    if test -n "$ENABLE_DIRECTX"; then
5396	    if test "$HAVE_DIRECTDRAW" = "yes" -o "$HAVE_DIRECTXSDK" = "yes" ; then
5397		    AC_MSG_RESULT([found])
5398	    else
5399		    AC_MSG_ERROR([DirectX SDK files not found, please use --with-directx-home or --disable-directx.])
5400	    fi
5401    else
5402		DIRECTXSDK_HOME=""
5403		AC_MSG_RESULT([disabled])
5404    fi
5405fi
5406AC_SUBST(ENABLE_DIRECT_DRAW)
5407AC_SUBST(DIRECTXSDK_HOME)
5408AC_SUBST(DIRECTXSDK_LIB)
5409
5410
5411dnl ============================================
5412dnl Check for ATL and MFC
5413dnl ============================================
5414if test \( "$_os" = "WINNT" \) ; then
5415    AC_MSG_CHECKING([for ATL and MFC])
5416    if test "$DISABLE_ATL" = "TRUE"; then
5417        AC_MSG_RESULT([ATL is disabled, nothing to check])
5418    else
5419        AC_MSG_NOTICE([testing ATL/MFC libs and includes])
5420        if test -z "$with_atl_include_dir"; then
5421            ATL_INCLUDE=$COMPATH/atlmfc/include
5422        else
5423            ATL_INCLUDE=`cygpath -u "$with_atl_include_dir"`
5424        fi
5425        if test -z "$with_atl_lib_dir"; then
5426            ATL_LIB=$COMPATH/atlmfc/lib
5427	    ATL_LIB_X64=$COMPATH/atlmfc/lib/amd64
5428        else
5429            ATL_LIB=`cygpath -u "$with_atl_lib_dir"`
5430            ATL_LIB_X64=$ATL_LIB/../amd64
5431        fi
5432        if test -z "$with_mfc_include_dir"; then
5433            MFC_INCLUDE=$COMPATH/atlmfc/include
5434        else
5435            MFC_INCLUDE=`cygpath -u "$with_mfc_include_dir"`
5436        fi
5437        if test -z "$with_mfc_lib_dir"; then
5438            MFC_LIB=$COMPATH/atlmfc/lib
5439        else
5440            MFC_LIB=`cygpath -u "$with_mfc_lib_dir"`
5441        fi
5442
5443        ATL_INCLUDE=`echo $ATL_INCLUDE | $SED 's/\/$//'`
5444        ATL_LIB=`echo $ATL_LIB | $SED 's/\/$//'`
5445        ATL_LIB_X64=`echo $ATL_LIB_X64 | $SED 's/\/$//'`
5446        MFC_INCLUDE=`echo $MFC_INCLUDE | $SED 's/\/$//'`
5447        MFC_LIB=`echo $MFC_LIB | $SED 's/\/$//'`
5448
5449        AC_MSG_NOTICE([looking for atlbase.h in "$ATL_INCLUDE"])
5450        if test -f "$ATL_INCLUDE/atlbase.h"; then
5451            HAVE_ATL_H="yes"
5452        else
5453            HAVE_ATL_H="no"
5454        fi
5455        AC_MSG_NOTICE([found atlbase.h in "$ATL_INCLUDE"? "$HAVE_ATL_H"])
5456
5457        AC_MSG_NOTICE([looking for afx.h in "$MFC_INCLUDE"])
5458        if test -f "$MFC_INCLUDE/afx.h"; then
5459            HAVE_MFC_H="yes"
5460        else
5461            HAVE_MFC_H="no"
5462        fi
5463        AC_MSG_NOTICE([found afx.h in "$MFC_INCLUDE"? "$HAVE_MFC_H"])
5464
5465        AC_MSG_NOTICE([looking for atls.lib in "$ATL_LIB"])
5466        if test -f "$ATL_LIB/atls.lib"; then
5467            HAVE_ATL_LIB="yes"
5468            AC_MSG_NOTICE([looking for atlthunk.lib in "$ATL_LIB"])
5469            if test -f "$ATL_LIB/atlthunk.lib"; then
5470                HAVE_ATLTHUNK="YES"
5471            else
5472                HAVE_ATLTHUNK="NO"
5473            fi
5474            AC_MSG_NOTICE([found atlthunk.lib in "$ATL_LIB"? "$HAVE_ATLTHUNK"])
5475        else
5476            HAVE_ATL_LIB="no"
5477        fi
5478        AC_MSG_NOTICE([found atls.lib in "$ATL_LIB"? "$HAVE_ATL_LIB"])
5479
5480        dnl TODO check also MFC libraries, they seem to have different names
5481        dnl mfc42.lib mfc90.lib
5482        if test -d "$MFC_LIB"; then
5483            HAVE_MFC_LIB="yes"
5484        else
5485            HAVE_MFC_LIB="no"
5486        fi
5487
5488        if test "$HAVE_ATL_H" = "no" -o "$HAVE_MFC_H" = "no" -o "$HAVE_ATL_LIB" = "no" -o "$HAVE_MFC_LIB" = "no"; then
5489            ATL_INCLUDE=
5490            ATL_LIB=
5491            ATL_LIB_X64=
5492            MFC_INCLUDE=
5493            MFC_LIB=
5494            HAVE_ATL_LIB=
5495            dnl TODO shouldn't this be an error?
5496            DISABLE_ACTIVEX="TRUE"
5497            DISABLE_ATL="TRUE"
5498            AC_MSG_RESULT([ATL/MFC disabled])
5499        else
5500            ATL_INCLUDE=`cygpath -dm "$ATL_INCLUDE"`
5501            ATL_LIB=`cygpath -dm "$ATL_LIB"`
5502            ATL_LIB_X64=`cygpath -dm "$ATL_LIB_X64"`
5503            MFC_INCLUDE=`cygpath -dm "$MFC_INCLUDE"`
5504            MFC_LIB=`cygpath -dm "$MFC_LIB"`
5505            AC_MSG_RESULT([ATL/MFC enabled])
5506        fi
5507    fi
5508fi
5509AC_SUBST(ATL_INCLUDE)
5510AC_SUBST(ATL_LIB)
5511AC_SUBST(ATL_LIB_X64)
5512AC_SUBST(HAVE_ATLTHUNK)
5513AC_SUBST(MFC_INCLUDE)
5514AC_SUBST(MFC_LIB)
5515
5516
5517dnl ============================================
5518dnl Check for Nullsoft Scriptable Install System
5519dnl ============================================
5520NSIS_PATH=""
5521if test "$_os" = "WINNT" ; then
5522    AC_MSG_CHECKING([for NSIS])
5523    AC_PATH_PROG(NSIS_PATH, nsis.exe)
5524    if test -n "$NSIS_PATH"; then
5525        NSIS_PATH=`dirname "$NSIS_PATH"`
5526    fi
5527    if test -n "$with_nsis_path"; then
5528        with_nsis_path=`cygpath -u "$with_nsis_path"`
5529    fi
5530    if test -e "$with_nsis_path/nsis.exe"; then
5531        NSIS_PATH="$with_nsis_path"
5532    fi
5533    nsistest=`$OOWINTOOL --nsis-dir`;
5534    if test -x "$nsistest/nsis.exe"; then
5535        NSIS_PATH="$nsistest"
5536    fi
5537    if test -z "$NSIS_PATH"; then
5538        AC_MSG_WARN([NSIS not found, no self contained installer will be build.])
5539        echo "NSIS not found, no self contained installer will be build." >> warn
5540    else
5541        NSIS_PATH=`cygpath -d "$NSIS_PATH"`
5542        NSIS_PATH=`cygpath -u "$NSIS_PATH"`
5543        AC_MSG_RESULT([found ($NSIS_PATH)])
5544		AC_MSG_CHECKING([whether NSIS version is >= 3.*])
5545		nsis_version_string=`"$NSIS_PATH/makensis.exe" /VERSION | $SED -e s/^v//i`
5546        nsis_version_major=`echo $nsis_version_string | cut -d. -f1`
5547		nsis_version_minor=`echo $nsis_version_string | cut -d. -f2`
5548		if test "$nsis_version_major" -ge "3"; then
5549			AC_MSG_RESULT([found NSIS $nsis_version_major.$nsis_version_minor >= 3.*])
5550			AC_MSG_CHECKING([whether NSIS was compiled with Unicode support])
5551			if echo `"$NSIS_PATH/makensis.exe" /HDRINFO` | $EGREP  "\bNSIS_UNICODE_MAKENSIS\b" 2>&1 >/dev/null; then
5552				AC_MSG_RESULT([NSIS version compiled with Unicode support.])
5553			else
5554				NSIS_PATH=""
5555				AC_MSG_WARN([NSIS version compiled without Unicode support, no self contained installer will be build.])
5556			fi
5557		else
5558			NSIS_PATH=""
5559			AC_MSG_WARN([NSIS version found is < 3.*, no self contained installer will be build.])
5560		fi
5561    fi
5562fi
5563AC_SUBST(NSIS_PATH)
5564
5565dnl ***************************************
5566dnl testing bison and flex exist
5567dnl ***************************************
5568AC_PATH_PROG(BISON, bison)
5569if test -z "$BISON"; then
5570   AC_MSG_ERROR([no bison found in \$PATH, install bison])
5571else
5572   AC_MSG_CHECKING([the bison version])
5573   _bison_version=`$BISON --version | $GREP GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
5574    _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'`
5575    # Accept newer than 1.875 or older(equal) than 1.75
5576    if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then
5577       if test "$_bison_version" = "1.875" ; then
5578          AC_MSG_WARN([suspect ($BISON $_bison_version)])
5579          echo "Suspect ($BISON $_bison_version) suggest upgrade" >> warn
5580       else
5581          AC_MSG_RESULT([checked ($BISON $_bison_version)])
5582       fi
5583    else
5584       AC_MSG_ERROR([failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))])
5585    fi
5586fi
5587AC_PATH_PROG(FLEX, flex)
5588if test -z "$FLEX"; then
5589   AC_MSG_ERROR([no flex found in \$PATH, install flex])
5590fi
5591dnl ***************************************
5592dnl testing that patch exists
5593dnl ***************************************
5594AC_PATH_PROG(PATCH, patch)
5595if test -z "$PATCH"; then
5596   AC_MSG_ERROR([\"patch\" not found in \$PATH, install the development tool named\"patch"\])
5597fi
5598
5599dnl On Solaris, FreeBSD or MacOS X, check if --with-gnu-patch was used
5600if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then
5601   if test -z "$with_gnu_patch"; then
5602      GNUPATCH=$PATCH
5603   else
5604      if test -x "$with_gnu_patch"; then
5605	      GNUPATCH=$with_gnu_patch
5606      else
5607         AC_MSG_ERROR([--with-gnu-patch did not point to an executable])
5608      fi
5609   fi
5610
5611   AC_MSG_CHECKING([whether $GNUPATCH is GNU patch])
5612   if $GNUPATCH --version | $GREP "Free Software Foundation" >/dev/null 2>/dev/null; then
5613	   AC_MSG_RESULT([yes])
5614   else
5615      AC_MSG_ERROR([no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it])
5616   fi
5617fi
5618
5619dnl We also need to check for --with-gnu-cp
5620
5621if test -z "$with_gnu_cp"; then
5622   # check the place where the GNU stuff is hidden on Solaris...
5623   if test -x /usr/gnu/bin/cp; then
5624      GNUCP=/usr/gnu/bin/cp
5625   else
5626      AC_PATH_PROGS(GNUCP, gnucp cp)
5627   fi
5628   if test -z $GNUCP; then
5629      AC_MSG_ERROR([Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it])
5630   fi
5631else
5632   if test -x "$with_gnu_cp"; then
5633      GNUCP=$with_gnu_cp
5634   else
5635      AC_MSG_ERROR([--with-gnu-cp did not point to an executable])
5636   fi
5637fi
5638
5639AC_MSG_CHECKING([whether $GNUCP is GNU cp from coreutils with preserve= support])
5640if $GNUCP --version 2>/dev/null | $GREP "coreutils" >/dev/null 2>/dev/null; then
5641   AC_MSG_RESULT([yes])
5642else
5643   AC_MSG_RESULT([no])
5644   GNUCP=''
5645fi
5646
5647if test -z "$GNUCP"; then
5648   if test "$_os" = "SunOS"; then
5649      AC_MSG_ERROR([no, GNU cp from coreutils is needed. install or specify with --with-gnu-cp=/path/to/it])
5650   else
5651      AC_MSG_RESULT([no GNU cp from coreutils found - using the system's cp command])
5652   fi
5653fi
5654
5655AC_SUBST(GNUPATCH)
5656AC_SUBST(GNUCP)
5657
5658dnl ***************************************
5659dnl testing bash tools path on Windows
5660dnl ***************************************
5661if test "$_os" = "WINNT"; then
5662    CYGWIN_PATH=""
5663    AC_PATH_PROG(CYGWIN_PATH, bash)
5664    CYGWIN_PATH=`dirname "$CYGWIN_PATH"`
5665fi
5666if test -z "$CYGWIN_PATH"; then
5667   CYGWIN_PATH="NO_CYGWIN"
5668fi
5669AC_SUBST(CYGWIN_PATH)
5670
5671dnl ***************************************
5672dnl testing ml.exe assembler path
5673dnl ***************************************
5674if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
5675  AC_MSG_CHECKING([ml.exe assembler path])
5676  if test -n "$with_asm_home"; then
5677    with_asm_home=`cygpath -u "$with_asm_home"`
5678  fi
5679  if test ! -x "$with_asm_home/ml.exe"; then
5680    AC_PATH_PROG(ML_EXE, ml.exe)
5681    if test -z "$ML_EXE"; then
5682      if test -x "$with_cl_home/bin/ml.exe"; then
5683        with_asm_home=$with_cl_home/bin
5684        AC_MSG_RESULT([found ($with_asm_home)])
5685      else
5686        AC_MSG_ERROR([Configure did not find ml.exe assembler.])
5687      fi
5688    else
5689       with_asm_home="ASM_IN_PATH"
5690    fi
5691  fi
5692  AC_MSG_RESULT([$ASM_HOME])
5693else
5694  with_asm_home="NO_ASM_HOME"
5695fi
5696ASM_HOME="$with_asm_home"
5697AC_SUBST(ASM_HOME)
5698
5699dnl ***************************************
5700dnl testing nasm.exe assembler path
5701dnl ***************************************
5702if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes" -a "$SYSTEM_OPENSSL" = "NO"; then
5703  AC_MSG_CHECKING([nasm.exe assembler path])
5704  if test -n "$with_nasm_home"; then
5705    with_nasm_home=`cygpath -u "$with_nasm_home"`
5706  fi
5707  if test ! -x "$with_nasm_home/nasm.exe"; then
5708    AC_PATH_PROG(NASM_EXE, nasm.exe)
5709    if test -z "$NASM_EXE"; then
5710      with_nasm_home="NO_NASM_HOME"
5711    else
5712      with_nasm_home="NASM_IN_PATH"
5713    fi
5714  fi
5715  AC_MSG_RESULT([$NASM_HOME])
5716else
5717  with_nasm_home="NO_NASM_HOME"
5718fi
5719NASM_HOME="$with_nasm_home"
5720AC_SUBST(NASM_HOME)
5721
5722dnl ===================================================================
5723dnl testing handle deprecated unzip switch
5724dnl ===================================================================
5725if test -z "$with_zip_home"; then
5726	with_zip_home="$with_unzip_home"
5727fi
5728dnl ===================================================================
5729dnl Zip will be found where you tell me to find it
5730dnl ===================================================================
5731if test -n "$with_zip_home" ; then
5732    if test "$_os" = "WINNT"; then
5733        with_zip_home=`cygpath -u "$with_zip_home"`
5734    fi
5735    ZIP="$with_zip_home/zip"
5736    UNZIP="$with_zip_home/unzip"
5737    ZIP_HOME="$with_zip_home"
5738else
5739    AC_PATH_PROG(ZIP, zip)
5740    AC_PATH_PROG(UNZIP, unzip)
5741    ZIP_HOME=`dirname "$ZIP"`
5742fi
5743dnl ===================================================================
5744dnl Zip must be available or else it is an error, all platforms
5745dnl ===================================================================
5746if test -z "$ZIP" -o -z "$UNZIP"; then
5747    AC_MSG_ERROR([Zip/Unzip are required to build, please install or use --with-zip-home],,)
5748fi
5749if "$ZIP" -FS < /dev/null 2>&1 | $EGREP "no such option: S" > /dev/null; then
5750    AC_MSG_ERROR([Zip version 3.0 or newer is required to build, please install or use --with-zip-home],,)
5751fi
5752
5753dnl ===================================================================
5754dnl Zip must be a specific type for different build types.
5755dnl ===================================================================
5756if test "$_os" = "WINNT"; then
5757    if test -n "`$ZIP -h | $GREP -i WinNT`" ; then
5758AC_MSG_ERROR([$ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe.])
5759    fi
5760fi
5761AC_SUBST(ZIP_HOME)
5762
5763dnl ===================================================================
5764dnl Windows builds need dbghelp.dll in external/dbghelp/
5765dnl ===================================================================
5766if test "$_os" = "WINNT"; then
5767   AC_MSG_CHECKING([for dbghelp.dll])
5768   if test -x ./external/dbghelp/dbghelp.dll; then
5769      AC_MSG_RESULT([found and executable])
5770   else
5771      AC_MSG_ERROR([dbghelp.dll is missing in external/dbghelp/.
5772Get it from the Microsoft site and put it into external/dbghelp.
5773(Note: Microsoft seems to enjoy changing the exact location of this file. You
5774may have to search Microsoft's website.) Last time it was seen at:
5775<http://www.microsoft.com/downloads/release.asp?releaseid=30682>.])
5776   fi
5777fi
5778
5779dnl ===================================================================
5780dnl Windows builds need vcredist_x*.exe in external/vcredist/
5781dnl ===================================================================
5782WITH_VC_REDIST=""
5783
5784if test "$_os" = "WINNT"; then
5785   AC_MSG_CHECKING([for vcredist_x86.exe])
5786   if test -x ./external/vcredist/vcredist_x86.exe; then
5787      AC_MSG_RESULT([found and executable])
5788   else
5789      AC_MSG_ERROR([ vcredist_x86.exe is missing in external/vcredist/.
5790Get it from the Microsoft site and put it into external/vcredist. You can try
5791to download it from http://www.microsoft.com/download/en/search.aspx?q=redistributable%20package.])
5792   fi
5793   AC_MSG_CHECKING([for vcredist_x64.exe])
5794   if test -x ./external/vcredist/vcredist_x64.exe; then
5795      AC_MSG_RESULT([found and executable])
5796   else
5797      AC_MSG_ERROR([ vcredist_x64.exe is missing in external/vcredist/.
5798Get it from the Microsoft site and put it into external/vcredist. You can try
5799to download it from http://www.microsoft.com/download/en/search.aspx?q=redistributable%20package.])
5800   fi
5801   WITH_VC_REDIST=YES
5802   AC_SUBST(WITH_VC_REDIST)
5803fi
5804
5805dnl ===================================================================
5806dnl Windows builds - use oowintool to copy CRT dlls and manifest
5807dnl ===================================================================
5808if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
5809       if $OOWINTOOL --msvc-copy-dlls ./external/msvcp ; then
5810          :
5811       else
5812          AC_MSG_ERROR([oowintool failed to copy CRT])
5813       fi
5814fi
5815
5816dnl ===================================================================
5817dnl Windows builds need gdiplus.dll in external/gdiplus/
5818dnl ===================================================================
5819if test "$_os" = "WINNT"; then
5820   AC_MSG_CHECKING([for gdiplus.dll])
5821   if test -x ./external/gdiplus/gdiplus.dll; then
5822      AC_MSG_RESULT([found and executable])
5823   else
5824      AC_MSG_ERROR([gdiplus.dll is missing in external/gdiplus/.
5825Get it from the Microsoft site and put it into external/gdiplus.
5826You may have to search Microsoft's website. Last time it was seen at:
5827<http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en>.])
5828   fi
5829fi
5830
5831dnl ===================================================================
5832dnl Windows builds need msvcr100.dll in external/msvcp100/
5833dnl ===================================================================
5834if test "$_os" = "WINNT"; then
5835   AC_MSG_CHECKING([for msvcr100.dll])
5836   if test -x ./external/msvcp100/msvcr100.dll; then
5837      AC_MSG_RESULT([found and executable])
5838   else
5839      AC_MSG_ERROR([msvcr100.dll is missing in external/msvcp100/.
5840Get it from the Microsoft Visual C++ 2010 Redistributable Package (x86),
5841from the Microsoft site and put it into external/msvcp100.
5842You may have to search Microsoft's website. Last time it was seen at:
5843<http://www.microsoft.com/en-us/download/search.aspx?q=Microsoft+Visual+C%2b%2b+2010+Redistributable>.])
5844   fi
5845fi
5846
5847dnl ===================================================================
5848dnl Test which vclplugs have to be built.
5849dnl ===================================================================
5850AC_MSG_CHECKING([which VCLplugs shall be built])
5851ENABLE_GTK=""
5852if test "x$enable_gtk" = "xyes"; then
5853    ENABLE_GTK="TRUE"
5854    R="gtk"
5855fi
5856AC_SUBST(ENABLE_GTK)
5857
5858ENABLE_KDE=""
5859if test "x$enable_kde" = "xyes"; then
5860    ENABLE_KDE="TRUE"
5861    R="$R kde"
5862fi
5863AC_SUBST(ENABLE_KDE)
5864
5865ENABLE_KDE4=""
5866if test "x$enable_kde4" = "xyes"; then
5867    ENABLE_KDE4="TRUE"
5868    R="$R kde4"
5869fi
5870AC_SUBST(ENABLE_KDE4)
5871
5872if test -z "$R"; then
5873	AC_MSG_RESULT([none])
5874else
5875	AC_MSG_RESULT([$R])
5876fi
5877
5878dnl ===================================================================
5879dnl GCONF check
5880dnl ===================================================================
5881
5882ENABLE_GCONF=""
5883AC_MSG_CHECKING([whether to enable GConf support])
5884if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then
5885    ENABLE_GCONF="TRUE"
5886    AC_MSG_RESULT([yes])
5887    PKG_CHECK_MODULES( GCONF, gconf-2.0 )
5888else
5889    AC_MSG_RESULT([no])
5890fi
5891AC_SUBST(ENABLE_GCONF)
5892
5893dnl ===================================================================
5894dnl Gnome VFS check
5895dnl ===================================================================
5896
5897ENABLE_GNOMEVFS=""
5898AC_MSG_CHECKING([whether to enable GNOME VFS support])
5899if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then
5900    ENABLE_GNOMEVFS="TRUE"
5901    AC_MSG_RESULT([yes])
5902    PKG_CHECK_MODULES( GNOMEVFS, gnome-vfs-2.0 >= 2.6.0 )
5903    if test "$ENABLE_GCONF" != "TRUE"; then
5904        PKG_CHECK_MODULES( GCONF, gconf-2.0 )
5905    fi
5906else
5907    AC_MSG_RESULT([no])
5908fi
5909AC_SUBST(ENABLE_GNOMEVFS)
5910
5911dnl ===================================================================
5912dnl Check whether the gtk 2.0 libraries are available.
5913dnl ===================================================================
5914
5915GTK_CFLAGS=""
5916GTK_LIBS=""
5917ENABLE_SYSTRAY_GTK=""
5918ENABLE_DBUS=""
5919if test  "$test_gtk" = "yes"; then
5920
5921   if test "$ENABLE_GTK" = "TRUE" ; then
5922      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]))
5923      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]))
5924      BUILD_TYPE="$BUILD_TYPE GTK"
5925
5926      if test "x$enable_systray" = "xyes"; then
5927         PKG_CHECK_MODULES(GTK_2_10,gtk+-2.0 >= 2.10.0,
5928                           [ENABLE_SYSTRAY_GTK="TRUE"
5929                            BUILD_TYPE="$BUILD_TYPE SYSTRAY_GTK"],
5930                           [ENABLE_SYSTRAY_GTK=""])
5931      fi
5932
5933      AC_MSG_CHECKING([whether to enable DBUS support])
5934      if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_dbus" = "yes"; then
5935          ENABLE_DBUS="TRUE"
5936          AC_MSG_RESULT([yes])
5937          PKG_CHECK_MODULES( DBUS, dbus-glib-1 >= 0.70 )
5938      else
5939          AC_MSG_RESULT([no])
5940      fi
5941
5942      AC_MSG_CHECKING([whether to enable GIO support])
5943      if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then
5944          if test "$ENABLE_GNOMEVFS" = "TRUE" ; then
5945             AC_MSG_ERROR([please use --enable-gio only together with --disable-gnome-vfs.])
5946          fi
5947          ENABLE_GIO="TRUE"
5948          AC_MSG_RESULT([yes])
5949          PKG_CHECK_MODULES( GIO, gio-2.0 )
5950      else
5951          AC_MSG_RESULT([no])
5952      fi
5953
5954   fi
5955
5956fi
5957AC_SUBST(ENABLE_GIO)
5958AC_SUBST(ENABLE_DBUS)
5959AC_SUBST(ENABLE_SYSTRAY_GTK)
5960AC_SUBST(GTK_CFLAGS)
5961AC_SUBST(GTK_LIBS)
5962AC_SUBST(GTHREAD_CFLAGS)
5963AC_SUBST(GTHREAD_LIBS)
5964
5965dnl ===================================================================
5966dnl Check whether the GStreamer libraries are available.
5967dnl ===================================================================
5968
5969GSTREAMER_CFLAGS=""
5970GSTREAMER_LIBS=""
5971ENABLE_GSTREAMER=""
5972
5973if test "$test_gstreamer" = "yes"; then
5974    AC_MSG_CHECKING([whether to build the GStreamer media backend])
5975    if test "x$enable_gstreamer" != "xno" ; then
5976        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]))
5977        ENABLE_GSTREAMER="TRUE"
5978        AC_MSG_RESULT([yes])
5979    else
5980        AC_MSG_RESULT([no])
5981    fi
5982fi
5983AC_SUBST(ENABLE_GSTREAMER)
5984AC_SUBST(GSTREAMER_CFLAGS)
5985AC_SUBST(GSTREAMER_LIBS)
5986
5987dnl ===================================================================
5988dnl Check the ARM target
5989dnl ===================================================================
5990
5991if echo "$build_cpu" | $GREP -q arm; then
5992    # default value
5993    ARM_TARGET=ARMV4T
5994    AC_MSG_CHECKING([which ARM processor optimization to use])
5995    if test "$with_arm_target" -lt "6"; then
5996	ARM_TARGET=ARMV4T
5997    elif test "$with_arm_target" = "6"; then
5998	ARM_TARGET=ARMV6
5999    elif test "$with_arm_target" -gt "6"; then
6000	ARM_TARGET=ARMV7
6001    fi
6002    AC_MSG_RESULT([$ARM_TARGET])
6003    AC_SUBST(ARM_TARGET)
6004fi
6005
6006dnl ===================================================================
6007dnl Check whether the Cairo libraries are available.
6008dnl ===================================================================
6009
6010ENABLE_CAIRO=""
6011BUILD_PIXMAN=""
6012SYSTEM_CAIRO=""
6013
6014if test  "$test_cairo" = "yes"; then
6015
6016    AC_MSG_CHECKING([whether to use cairo])
6017    if test "x$enable_cairo" != "xno" ; then
6018        ENABLE_CAIRO="TRUE"
6019	AC_MSG_RESULT([yes])
6020        AC_MSG_CHECKING([which cairo to use])
6021        if test -n "$with_system_cairo" -o -n "$with_system_libs" && \
6022           test "$with_system_cairo" != "no"; then
6023           AC_MSG_RESULT([external])
6024           SYSTEM_CAIRO=YES
6025
6026           PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
6027	   if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$ENABLE_FONTCONFIG" != "TRUE" ; then
6028	      AC_MSG_ERROR([Cairo library requires fontconfig.])
6029	   fi
6030           if test "$with_system_xrender_headers" = "yes"; then
6031              AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8])
6032              AC_TRY_RUN([
6033#include <X11/extensions/Xrender.h>
6034
6035int main(int argc, char **argv) {
6036#ifdef PictStandardA8
6037      return 0;
6038#else
6039      return 1;
6040#endif
6041}
6042               ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, X headers too old.])])
6043           fi
6044        else
6045           BUILD_TYPE="$BUILD_TYPE CAIRO"
6046	   dnl === compiler fails on pixman with 64bit architectures...===
6047	   if test "$build_cpu" != "x86_64"; then
6048	      BUILD_PIXMAN=YES
6049	   fi
6050           AC_MSG_RESULT([internal])
6051        fi
6052    else
6053	   AC_MSG_RESULT([no])
6054    fi
6055fi
6056
6057AC_SUBST(ENABLE_CAIRO)
6058AC_SUBST(BUILD_PIXMAN)
6059AC_SUBST(SYSTEM_CAIRO)
6060AC_SUBST(CAIRO_CFLAGS)
6061AC_SUBST(CAIRO_LIBS)
6062
6063ENABLE_CAIRO_CANVAS="FALSE"
6064if test "$enable_cairo_canvas" = "yes" -a "$ENABLE_CAIRO" = "TRUE" ; then
6065   ENABLE_CAIRO_CANVAS="TRUE"
6066fi
6067AC_SUBST(ENABLE_CAIRO_CANVAS)
6068
6069dnl ===================================================================
6070dnl Check whether the OpenGL libraries are available
6071dnl ===================================================================
6072
6073AC_MSG_CHECKING([whether to build the OpenGL Transitions component])
6074ENABLE_OPENGL=
6075
6076if test "x$enable_opengl" != "xno" ; then
6077   AC_MSG_RESULT([yes])
6078   AC_CHECK_HEADER(GL/gl.h, [],
6079                   [AC_MSG_ERROR([OpenGL headers not found])], [])
6080   AC_CHECK_LIB(GL, main, [],
6081     [AC_MSG_ERROR(libGL not installed or functional)], [])
6082   AC_CHECK_LIB(GLU, main, [],
6083     [AC_MSG_ERROR(libGLU not installed or functional)], [])
6084   ENABLE_OPENGL=TRUE
6085else
6086   AC_MSG_RESULT([no])
6087fi
6088
6089AC_SUBST(ENABLE_OPENGL)
6090
6091
6092AC_MSG_CHECKING([whether to build the PDF Import extension])
6093if test -n "$enable_pdfimport" -a "$enable_pdfimport" != "no"; then
6094  AC_MSG_RESULT([yes])
6095  ENABLE_PDFIMPORT=YES
6096
6097  dnl ===================================================================
6098  dnl Check for system poppler
6099  dnl ===================================================================
6100  AC_MSG_CHECKING([whether to use system pdf backend])
6101  if test -n "$with_system_poppler" -o -n "$with_system_libs" && \
6102       test "$with_system_poppler" != "no"; then
6103      AC_MSG_RESULT([external])
6104      SYSTEM_POPPLER=YES
6105      PKG_CHECK_MODULES( POPPLER, poppler >= 0.8.0 )
6106  else
6107      AC_MSG_RESULT([no])
6108      SYSTEM_POPPLER=NO
6109      ENABLE_PDFIMPORT=NO
6110  fi
6111else
6112   AC_MSG_RESULT([no])
6113   ENABLE_PDFIMPORT=NO
6114fi
6115AC_SUBST(ENABLE_PDFIMPORT)
6116AC_SUBST(SYSTEM_POPPLER)
6117AC_SUBST(POPPLER_CFLAGS)
6118AC_SUBST(POPPLER_LIBS)
6119
6120AC_MSG_CHECKING([whether to build the Wiki Publisher extension])
6121if test -n "$enable_wiki_publisher" -a "$enable_wiki_publisher" != "no" && test  "$WITH_JAVA" != "no"; then
6122  AC_MSG_RESULT([yes])
6123  AC_MSG_CHECKING([for swext module])
6124  if test -d ./swext; then
6125   AC_MSG_RESULT([OK])
6126  else
6127   AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
6128  fi
6129  ENABLE_MEDIAWIKI=YES
6130  BUILD_TYPE="$BUILD_TYPE SWEXT"
6131else
6132  AC_MSG_RESULT([no])
6133  ENABLE_MEDIAWIKI=NO
6134fi
6135AC_SUBST(ENABLE_MEDIAWIKI)
6136
6137if test "$ENABLE_MEDIAWIKI" = "YES"; then
6138  AC_MSG_CHECKING([which Servlet API Jar to use])
6139  if test -n "$with_system_servlet_api"; then
6140    AC_MSG_RESULT([external])
6141    SYSTEM_SERVLETAPI=YES
6142      if test -z "$SERVLETAPI_JAR"; then
6143	SERVLETAPI_JAR=/usr/share/java/servlet-api.jar
6144      fi
6145      AC_CHECK_FILE($SERVLETAPI_JAR, [],
6146             [AC_MSG_ERROR(servlet-api.jar not found.)], [])
6147  else
6148    AC_MSG_RESULT([internal])
6149    SYSTEM_SERVLETAPI=NO
6150    BUILD_TYPE="$BUILD_TYPE TOMCAT"
6151  fi
6152fi
6153AC_SUBST(SYSTEM_SERVLETAPI)
6154AC_SUBST(SERVLETAPI_JAR)
6155
6156AC_MSG_CHECKING([whether to build the Report Builder extension])
6157if test -n "$enable_report_builder" -a "$enable_report_builder" != "no" && test "$WITH_JAVA" != "no"; then
6158  AC_MSG_RESULT([yes])
6159  ENABLE_REPORTBUILDER=YES
6160  SYSTEM_JFREEREPORT=YES
6161  AC_MSG_CHECKING([for reportbuilder module])
6162  if test -d ./reportbuilder; then
6163    AC_MSG_RESULT([OK])
6164  else
6165    AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
6166  fi
6167  AC_MSG_CHECKING([which jfreereport libs to use (for Report Builder extension)])
6168  AC_MSG_RESULT([external])
6169  if test -z $SAC_JAR; then
6170         SAC_JAR=/usr/share/java/sac.jar
6171  fi
6172  AC_CHECK_FILE($SAC_JAR, [],
6173         [AC_MSG_ERROR(sac.jar not found.)], [])
6174
6175  if test -z $LIBXML_JAR; then
6176    AC_CHECK_FILE(/usr/share/java/libxml-1.0.0.jar,
6177      [ LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar ],
6178      [
6179        AC_CHECK_FILE(/usr/share/java/libxml.jar,
6180          [ LIBXML_JAR=/usr/share/java/libxml.jar ],
6181          [AC_MSG_ERROR(libxml.jar replacement not found.)]
6182        )
6183      ]
6184    )
6185  else
6186    AC_CHECK_FILE($LIBXML_JAR, [],
6187         [AC_MSG_ERROR(libxml.jar not found.)], [])
6188  fi
6189
6190  if test -z $FLUTE_JAR; then
6191    AC_CHECK_FILE(/usr/share/java/flute-1.3.0.jar,
6192      [ FLUTE_JAR=/usr/share/java/flute-1.3.0.jar ],
6193      [
6194        AC_CHECK_FILE(/usr/share/java/flute.jar,
6195          [ FLUTE_JAR=/usr/share/java/flute.jar ],
6196          [ AC_MSG_ERROR(flute-1.3.0.jar replacement not found.)]
6197        )
6198      ]
6199    )
6200  else
6201    AC_CHECK_FILE($FLUTE_JAR, [],
6202         [AC_MSG_ERROR(flute-1.3.0.jar not found.)], [])
6203  fi
6204
6205  if test -z $JFREEREPORT_JAR; then
6206    AC_CHECK_FILE(/usr/share/java/flow-engine-0.9.2.jar,
6207      [ JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar ],
6208      [
6209        AC_CHECK_FILE(/usr/share/java/flow-engine.jar,
6210          [ JFREEREPORT_JAR=/usr/share/java/flow-engine.jar ],
6211          [AC_MSG_ERROR(jfreereport.jar replacement not found.)]
6212        )
6213      ]
6214    )
6215  else
6216    AC_CHECK_FILE($JFREEREPORT_JAR, [],
6217         [AC_MSG_ERROR(jfreereport.jar not found.)], [])
6218  fi
6219
6220  if test -z $LIBLAYOUT_JAR; then
6221    AC_CHECK_FILE(/usr/share/java/liblayout-0.2.9.jar,
6222      [ LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar ],
6223      [
6224        AC_CHECK_FILE(/usr/share/java/liblayout.jar,
6225          [ LIBLAYOUT_JAR=/usr/share/java/liblayout.jar ],
6226          [AC_MSG_ERROR(liblayout.jar replacement not found.)]
6227        )
6228      ]
6229    )
6230  else
6231    AC_CHECK_FILE($LIBLAYOUT_JAR, [],
6232         [AC_MSG_ERROR(liblayout.jar not found.)], [])
6233  fi
6234
6235  if test -z $LIBLOADER_JAR; then
6236    AC_CHECK_FILE(/usr/share/java/libloader-1.0.0.jar,
6237      [ LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar ],
6238      [
6239        AC_CHECK_FILE(/usr/share/java/libloader.jar,
6240          [ LIBLOADER_JAR=/usr/share/java/libloader.jar ],
6241          [AC_MSG_ERROR(libloader.jar replacement not found.)]
6242        )
6243      ]
6244    )
6245  else
6246    AC_CHECK_FILE($LIBLOADER_JAR, [],
6247         [AC_MSG_ERROR(libloader.jar not found.)], [])
6248  fi
6249
6250  if test -z $LIBFORMULA_JAR; then
6251    AC_CHECK_FILE(/usr/share/java/libformula-0.2.0.jar,
6252      [ LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar ],
6253      [
6254        AC_CHECK_FILE(/usr/share/java/libformula.jar,
6255          [ LIBFORMULA_JAR=/usr/share/java/libformula.jar ],
6256          [AC_MSG_ERROR(libformula.jar replacement not found.)]
6257        )
6258      ]
6259    )
6260  else
6261    AC_CHECK_FILE($LIBFORMULA_JAR, [],
6262         [AC_MSG_ERROR(libformula.jar not found.)], [])
6263  fi
6264
6265  if test -z $LIBREPOSITORY_JAR; then
6266    AC_CHECK_FILE(/usr/share/java/librepository-1.0.0.jar,
6267      [ LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar ],
6268      [
6269        AC_CHECK_FILE(/usr/share/java/librepository.jar,
6270          [ LIBREPOSITORY_JAR=/usr/share/java/librepository.jar ],
6271          [AC_MSG_ERROR(librepository.jar replacement not found.)]
6272        )
6273      ]
6274    )
6275  else
6276    AC_CHECK_FILE($LIBREPOSITORY_JAR, [],
6277         [AC_MSG_ERROR(librepository.jar not found.)], [])
6278  fi
6279
6280  if test -z $LIBFONTS_JAR; then
6281    AC_CHECK_FILE(/usr/share/java/libfonts-1.0.0.jar,
6282      [ LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar ],
6283      [
6284        AC_CHECK_FILE(/usr/share/java/libfonts.jar,
6285          [ LIBFONTS_JAR=/usr/share/java/libfonts.jar ],
6286          [AC_MSG_ERROR(libfonts.jar replacement not found.)]
6287        )
6288      ]
6289    )
6290  else
6291    AC_CHECK_FILE($LIBFONTS_JAR, [],
6292         [AC_MSG_ERROR(libfonts.jar not found.)], [])
6293  fi
6294
6295  if test -z $LIBSERIALIZER_JAR; then
6296    AC_CHECK_FILE(/usr/share/java/libserializer-1.0.0.jar,
6297      [ LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar ],
6298      [
6299        AC_CHECK_FILE(/usr/share/java/libserializer.jar,
6300          [ LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar ],
6301          [AC_MSG_ERROR(libserializer.jar replacement not found.)]
6302        )
6303      ]
6304    )
6305  else
6306    AC_CHECK_FILE($LIBSERIALIZER_JAR, [],
6307         [AC_MSG_ERROR(libserializer.jar not found.)], [])
6308  fi
6309
6310
6311  if test -z $LIBBASE_JAR; then
6312    AC_CHECK_FILE(/usr/share/java/libbase-1.0.0.jar,
6313      [ LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar ],
6314      [
6315        AC_CHECK_FILE(/usr/share/java/libbase.jar,
6316          [ LIBBASE_JAR=/usr/share/java/libbase.jar ],
6317          [AC_MSG_ERROR(libbase.jar replacement not found.)]
6318        )
6319      ]
6320    )
6321  else
6322    AC_CHECK_FILE($LIBBASE_JAR, [],
6323         [AC_MSG_ERROR(libbase.jar not found.)], [])
6324  fi
6325  BUILD_TYPE="$BUILD_TYPE REPORTBUILDER"
6326else
6327  AC_MSG_RESULT([no])
6328  ENABLE_REPORTBUILDER=NO
6329fi
6330AC_SUBST(ENABLE_REPORTBUILDER)
6331AC_SUBST(SYSTEM_JFREEREPORT)
6332AC_SUBST(SAC_JAR)
6333AC_SUBST(LIBXML_JAR)
6334AC_SUBST(FLUTE_JAR)
6335AC_SUBST(JFREEREPORT_JAR)
6336AC_SUBST(LIBBASE_JAR)
6337AC_SUBST(LIBLAYOUT_JAR)
6338AC_SUBST(LIBLOADER_JAR)
6339AC_SUBST(LIBFORMULA_JAR)
6340AC_SUBST(LIBREPOSITORY_JAR)
6341AC_SUBST(LIBFONTS_JAR)
6342AC_SUBST(LIBSERIALIZER_JAR)
6343
6344# this has to be here because both the wiki publisher and the SRB use
6345# commons-logging, while the non-optional PostgreSQL connector uses
6346# commons-lang.
6347AC_MSG_CHECKING([which Apache commons-* libs to use])
6348if test "$with_system_apache_commons" = "yes"; then
6349  SYSTEM_APACHE_COMMONS=YES
6350  AC_MSG_RESULT([external])
6351
6352  if test -z $COMMONS_LANG_JAR; then
6353    AC_CHECK_FILE(/usr/share/java/commons-lang3-3.3.jar,
6354      [ COMMONS_LANG_JAR=/usr/share/java/commons-lang3-3.3.jar ],
6355      [
6356        AC_CHECK_FILE(/usr/share/java/commons-lang.jar,
6357          [ COMMONS_LANG_JAR=/usr/share/java/commons-lang.jar ],
6358          [AC_MSG_ERROR(commons-lang.jar replacement not found.)]
6359        )
6360      ]
6361    )
6362  else
6363    AC_CHECK_FILE($COMMONS_LANG_JAR, [],
6364         [AC_MSG_ERROR(commons-lang.jar not found.)], [])
6365  fi
6366  AC_MSG_CHECKING([whether commons-lang is version 3.x])
6367  export COMMONS_LANG_JAR
6368  if $PERL -e 'use Archive::Zip;
6369      my $file = "$ENV{'COMMONS_LANG_JAR'}";
6370      my $zip = Archive::Zip->new( $file );
6371      my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
6372      if ( $mf =~ m/Specification-Version: 3.*/ ) {
6373          exit 0;
6374      } else {
6375          exit 1;
6376      }'; then
6377      AC_MSG_RESULT([yes])
6378  else
6379      AC_MSG_ERROR([no, you need Apache Commons Lang 3.x])
6380  fi
6381
6382  if test "$ENABLE_MEDIAWIKI" = "YES"; then
6383    if test -z $COMMONS_CODEC_JAR; then
6384      AC_CHECK_FILE(/usr/share/java/commons-codec-1.9.jar,
6385        [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.9.jar ],
6386        [
6387          AC_CHECK_FILE(/usr/share/java/commons-codec.jar,
6388            [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec.jar ],
6389            [AC_MSG_ERROR(commons-codec.jar replacement not found.)]
6390          )
6391        ]
6392      )
6393    else
6394      AC_CHECK_FILE($COMMONS_CODEC_JAR, [],
6395           [AC_MSG_ERROR(commons-codec.jar not found.)], [])
6396    fi
6397
6398    if test -z $COMMONS_HTTPCLIENT_JAR; then
6399      AC_CHECK_FILE(/usr/share/java/commons-httpclient-3.1.jar,
6400        [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar ],
6401        [
6402          AC_CHECK_FILE(/usr/share/java/commons-httpclient.jar,
6403            [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient.jar ],
6404            [AC_MSG_ERROR(commons-httpclient.jar replacement not found.)]
6405          )
6406        ]
6407      )
6408    else
6409      AC_CHECK_FILE($COMMONS_HTTPCLIENT_JAR, [],
6410           [AC_MSG_ERROR(commons-httpclient.jar not found.)], [])
6411    fi
6412  fi
6413  if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then
6414    if test -z $COMMONS_LOGGING_JAR; then
6415      AC_CHECK_FILE(/usr/share/java/commons-logging-1.1.3.jar,
6416        [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.3.jar ],
6417        [
6418          AC_CHECK_FILE(/usr/share/java/commons-logging.jar,
6419            [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar ],
6420            [AC_MSG_ERROR(commons-logging.jar replacement not found.)]
6421          )
6422        ]
6423      )
6424    else
6425      AC_CHECK_FILE($COMMONS_LOGGING_JAR, [],
6426           [AC_MSG_ERROR(commons-logging.jar not found.)], [])
6427    fi
6428  fi
6429else
6430  AC_MSG_RESULT([internal])
6431  SYSTEM_APACHE_COMMONS=NO
6432  BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT"
6433fi
6434AC_SUBST(SYSTEM_APACHE_COMMONS)
6435AC_SUBST(COMMONS_CODEC_JAR)
6436AC_SUBST(COMMONS_LANG_JAR)
6437AC_SUBST(COMMONS_HTTPCLIENT_JAR)
6438AC_SUBST(COMMONS_LOGGING_JAR)
6439
6440dnl ===================================================================
6441dnl Check whether the Qt and KDE libraries are available.
6442dnl ===================================================================
6443
6444KDE_CFLAGS=""
6445KDE_LIBS=""
6446MOC="moc"
6447if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then
6448    dnl Search paths for Qt and KDE
6449    if test "$build_cpu" != "x86_64" ; then
6450        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"
6451        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"
6452    else
6453        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"
6454        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"
6455    fi
6456    if test -n "$QTDIR" ; then
6457        qt_incdirs="$QTDIR/include $qt_incdirs"
6458        if test "$build_cpu" != "x86_64" ; then
6459            qt_libdirs="$QTDIR/lib $qt_libdirs"
6460        else
6461            qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs"
6462        fi
6463    fi
6464    if test "$build_cpu" != "x86_64" ; then
6465        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"
6466        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"
6467    else
6468        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"
6469        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"
6470    fi
6471    if test -n "$KDEDIR" ; then
6472        kde_incdirs="$KDEDIR/include $kde_incdirs"
6473        if test "$build_cpu" != "x86_64" ; then
6474            kde_libdirs="$KDEDIR/lib $kde_libdirs"
6475        else
6476            kde_libdirs="$KDEDIR/lib64 $KDEDIR/lib $kde_libdirs"
6477        fi
6478    fi
6479
6480    dnl What to test
6481    qt_test_include="qstyle.h"
6482    qt_test_library="libqt-mt.so"
6483    kde_test_include="ksharedptr.h"
6484    kde_test_library="libkdeui.so"
6485
6486    dnl Check for Qt headers
6487    AC_MSG_CHECKING([for Qt headers])
6488    qt_incdir="no"
6489    for kde_check in $qt_incdirs ; do
6490        if test -r "$kde_check/$qt_test_include" ; then
6491            qt_incdir="$kde_check"
6492            break
6493        fi
6494    done
6495    AC_MSG_RESULT([$qt_incdir])
6496    if test "x$qt_incdir" = "xno" ; then
6497        AC_MSG_ERROR([Qt headers not found.  Please specify the root of
6498your Qt installation by exporting QTDIR before running "configure".])
6499    fi
6500
6501    dnl Check for Qt libraries
6502    AC_MSG_CHECKING([for Qt libraries])
6503    qt_libdir="no"
6504    for qt_check in $qt_libdirs ; do
6505        if test -r "$qt_check/$qt_test_library" ; then
6506            qt_libdir="$qt_check"
6507            break
6508        fi
6509    done
6510    AC_MSG_RESULT([$qt_libdir])
6511    if test "x$qt_libdir" = "xno" ; then
6512        AC_MSG_ERROR([Qt libraries not found.  Please specify the root of
6513your Qt installation by exporting QTDIR before running "configure".])
6514    fi
6515
6516    dnl Check for Meta Object Compiler
6517    AC_PATH_PROG( MOC, moc, no, [$QTDIR/bin:$PATH] )
6518    if test "$MOC" = "no" ; then
6519        AC_MSG_ERROR([Qt Meta Object Compiler not found.  Please specify
6520the root of your Qt installation by exporting QTDIR before running "configure".])
6521    fi
6522
6523    dnl Check for KDE headers
6524    AC_MSG_CHECKING([for KDE headers])
6525    kde_incdir="no"
6526    for kde_check in $kde_incdirs ; do
6527        if test -r "$kde_check/$kde_test_include" ; then
6528            kde_incdir="$kde_check"
6529            break
6530        fi
6531    done
6532    AC_MSG_RESULT([$kde_incdir])
6533    if test "x$kde_incdir" = "xno" ; then
6534        AC_MSG_ERROR([KDE headers not found.  Please specify the root of
6535your KDE installation by exporting KDEDIR before running "configure".])
6536    fi
6537
6538    dnl Check for KDE libraries
6539    AC_MSG_CHECKING([for KDE libraries])
6540    kde_libdir="no"
6541    for kde_check in $kde_libdirs ; do
6542        if test -r "$kde_check/$kde_test_library" ; then
6543            kde_libdir="$kde_check"
6544            break
6545        fi
6546    done
6547    AC_MSG_RESULT([$kde_libdir])
6548    if test "x$kde_libdir" = "xno" ; then
6549        AC_MSG_ERROR([KDE libraries not found.  Please specify the root of
6550your KDE installation by exporting KDEDIR before running "configure".])
6551    fi
6552
6553    dnl Set the variables
6554    KDE_CFLAGS="-I$qt_incdir -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
6555    KDE_LIBS="-L$kde_libdir -L$qt_libdir -lkdeui -lkdecore -lqt-mt"
6556fi
6557AC_SUBST(KDE_CFLAGS)
6558AC_SUBST(KDE_LIBS)
6559AC_SUBST(MOC)
6560
6561dnl ===================================================================
6562dnl KDE4 Integration
6563dnl ===================================================================
6564
6565KDE4_CFLAGS=""
6566KDE4_LIBS=""
6567MOC4="moc"
6568if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then
6569   qt_incdirs="$QT4INC $QT4DIR /usr/include/qt4 /usr/include $x_includes"
6570   qt_libdirs="$QT4LIB /usr/lib $x_libraries"
6571
6572   kde_incdirs="/usr/include /usr/include/kde4 $x_includes"
6573   kde_libdirs="/usr/lib /usr/lib/kde4 /usr/lib/kde4/devel $x_libraries"
6574
6575   if test "$build_cpu" = "x86_64" ; then
6576      qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64"
6577      kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4 /usr/lib64/kde4/devel"
6578   fi
6579
6580   if test -n "$KDE4DIR" ; then
6581      kde_incdirs="$KDE4DIR/include $kde_incdirs"
6582      if test "$build_cpu" != "x86_64" ; then
6583         kde_libdirs="$KDE4DIR/lib $kde_libdirs"
6584      else
6585         kde_libdirs="$KDE4DIR/lib64 $KDE4DIR/lib $kde_libdirs"
6586      fi
6587   fi
6588
6589   qt_test_include="Qt/qobject.h"
6590   qt_test_library="libQtCore.so"
6591   kde_test_include="ksharedptr.h"
6592   kde_test_library="libkdeui.so"
6593
6594   AC_MSG_CHECKING([for Qt4 headers])
6595   qt_header_dir="no"
6596   for inc_dir in $qt_incdirs ; do
6597      if test -r "$inc_dir/$qt_test_include" ; then
6598         qt_header_dir="$inc_dir"
6599         break
6600      fi
6601   done
6602
6603   AC_MSG_RESULT([$qt_header_dir])
6604   if test "x$qt_header_dir" = "xno" ; then
6605      AC_MSG_ERROR([Qt4 headers not found.  Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".])
6606   fi
6607
6608   AC_MSG_CHECKING([for Qt4 libraries])
6609   qt_lib_dir="no"
6610   for lib_dir in $qt_libdirs ; do
6611      if test -r "$lib_dir/$qt_test_library" ; then
6612         qt_lib_dir="$lib_dir"
6613         break
6614      fi
6615   done
6616
6617   AC_MSG_RESULT([$qt_lib_dir])
6618
6619   if test "x$qt_lib_dir" = "xno" ; then
6620      AC_MSG_ERROR([Qt4 libraries not found.  Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".])
6621   fi
6622
6623   dnl Check for Meta Object Compiler
6624   AC_PATH_PROG( MOCQT4, moc-qt4, no, [$QT4DIR/bin:$PATH] )
6625   MOC4="$MOCQT4"
6626   if test "$MOC4" = "no" ; then
6627      AC_PATH_PROG( MOC4, moc, no, [$PATH:$QT4DIR/bin] )
6628      if test "$MOC4" = "no" ; then
6629         AC_MSG_ERROR([Qt Meta Object Compiler not found.  Please specify the root of your Qt installation by exporting QT4DIR before running "configure".])
6630      fi
6631   fi
6632
6633   dnl Check for KDE4 headers
6634   AC_MSG_CHECKING([for KDE4 headers])
6635   kde_incdir="no"
6636   for kde_check in $kde_incdirs ; do
6637      if test -r "$kde_check/$kde_test_include" ; then
6638         kde_incdir="$kde_check"
6639         break
6640      fi
6641   done
6642   AC_MSG_RESULT([$kde_incdir])
6643   if test "x$kde_incdir" = "xno" ; then
6644      AC_MSG_ERROR([KDE4 headers not found.  Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".])
6645   fi
6646
6647   dnl Check for KDE4 libraries
6648   AC_MSG_CHECKING([for KDE4 libraries])
6649   kde_libdir="no"
6650   for kde_check in $kde_libdirs ; do
6651      if test -r "$kde_check/$kde_test_library" ; then
6652         kde_libdir="$kde_check"
6653         break
6654      fi
6655   done
6656
6657   AC_MSG_RESULT([$kde_libdir])
6658   if test "x$kde_libdir" = "xno" ; then
6659      AC_MSG_ERROR([KDE4 libraries not found.  Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".])
6660   fi
6661
6662   KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
6663   KDE4_LIBS="-L$kde_libdir -L$qt_lib_dir -lkdeui -lkdecore -lQtCore -lQtGui"
6664fi
6665AC_SUBST(KDE4_CFLAGS)
6666AC_SUBST(KDE4_LIBS)
6667AC_SUBST(MOC4)
6668
6669dnl ===================================================================
6670dnl Test for the enabling the lockdown pieces
6671dnl ===================================================================
6672AC_MSG_CHECKING([whether to enable the lockdown pieces])
6673ENABLE_LOCKDOWN=""
6674if test -n "$enable_lockdown" && test "$enable_lockdown" != "no"; then
6675  ENABLE_LOCKDOWN=YES
6676  AC_MSG_RESULT([yes])
6677else
6678  AC_MSG_RESULT([no])
6679fi
6680AC_SUBST(ENABLE_LOCKDOWN)
6681
6682dnl ===================================================================
6683dnl Test whether to include Evolution 2 support
6684dnl ===================================================================
6685AC_MSG_CHECKING([whether to enable evolution 2 support])
6686if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then
6687   AC_MSG_RESULT([yes])
6688   PKG_CHECK_MODULES(GOBJECT, gobject-2.0)
6689   ENABLE_EVOAB2="TRUE"
6690else
6691   ENABLE_EVOAB2=""
6692   AC_MSG_RESULT([no])
6693fi
6694AC_SUBST(ENABLE_EVOAB2)
6695AC_SUBST(GOBJECT_CFLAGS)
6696AC_SUBST(GOBJECT_LIBS)
6697
6698dnl ===================================================================
6699dnl Test whether to include MathMLDTD
6700dnl ===================================================================
6701AC_MSG_CHECKING([whether to include MathMLDTD])
6702if test -n "$enable_mathmldtd"; then
6703  if test "$enable_mathmldtd" = "no"; then
6704    AC_MSG_RESULT([no])
6705    SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD"
6706  else
6707    AC_MSG_RESULT([yes])
6708    BUILD_TYPE="$BUILD_TYPE MATHMLDTD"
6709  fi
6710else
6711  AC_MSG_RESULT([no])
6712  SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD"
6713fi
6714
6715dnl ===================================================================
6716dnl Test whether to include category-B fonts
6717dnl ===================================================================
6718WITH_CATB_FONTS=
6719AC_MSG_CHECKING([whether to include category B fonts])
6720if test "x$enable_category_b_fonts" = "xyes" && test "x$with_fonts" != "xno"; then
6721   AC_MSG_RESULT([yes])
6722   BUILD_TYPE="$BUILD_TYPE CATB_FONTS"
6723   WITH_CATB_FONTS=YES
6724   SCPDEFS="$SCPDEFS -DWITH_CATB_FONTS"
6725else
6726   AC_MSG_RESULT([no])
6727   WITH_CATB_FONTS=NO
6728fi
6729
6730dnl ===================================================================
6731dnl Test whether to include category-A fonts
6732dnl ===================================================================
6733WITH_CATA_FONTS=
6734AC_MSG_CHECKING([whether to include category A fonts])
6735if test "x$with_fonts" != "xno" ; then
6736  AC_MSG_RESULT([yes])
6737  WITH_CATA_FONTS=YES
6738  SCPDEFS="$SCPDEFS -DWITH_CATA_FONTS"
6739else
6740  AC_MSG_RESULT([no])
6741  WITH_CATA_FONTS=NO
6742  WITH_CATB_FONTS=NO
6743fi
6744
6745WITH_FONTS=NO
6746AC_MSG_CHECKING([whether any fonts are included])
6747if test "x$WITH_CATA_FONTS" = "xYES" -o "x$WITH_CATB_FONTS" = "xYES"; then
6748  BUILD_TYPE="$BUILD_TYPE MORE_FONTS"
6749  WITH_FONTS=YES
6750  AC_MSG_RESULT([yes])
6751else
6752  AC_MSG_RESULT([no])
6753fi
6754
6755AC_SUBST(WITH_CATA_FONTS)
6756AC_SUBST(WITH_CATB_FONTS)
6757AC_SUBST(WITH_FONTS)
6758
6759dnl ===================================================================
6760dnl Test whether to include ppds
6761dnl ===================================================================
6762AC_MSG_CHECKING([whether to include PPDs])
6763if test "$with_ppds" != "no"; then
6764  AC_MSG_RESULT([yes])
6765else
6766  AC_MSG_RESULT([no])
6767  WITHOUT_PPDS=YES
6768  SCPDEFS="$SCPDEFS -DWITHOUT_PPDS"
6769fi
6770AC_SUBST(WITHOUT_PPDS)
6771
6772dnl ===================================================================
6773dnl Test whether to include afms
6774dnl ===================================================================
6775AC_MSG_CHECKING([whether to include AFMs])
6776if test "$with_afms" != "no"; then
6777  AC_MSG_RESULT([yes])
6778  BUILD_TYPE="$BUILD_TYPE AFMS"
6779else
6780  AC_MSG_RESULT([no])
6781  WITHOUT_AFMS=YES
6782  SCPDEFS="$SCPDEFS -DWITHOUT_AFMS"
6783fi
6784AC_SUBST(WITHOUT_AFMS)
6785
6786AC_SUBST(SCPDEFS)
6787
6788AC_MSG_CHECKING([whether and how to use Xinerama])
6789if test "$_os" = "Darwin"; then
6790   USE_XINERAMA=YES
6791   XINERAMA_LINK=dynamic
6792   AC_MSG_RESULT([yes])
6793elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then
6794   if test -e "$XLIB/libXinerama.so" -a -e "$XLIB/libXinerama.a"; then
6795      # we have both versions, let the user decide but use the dynamic one
6796      # per default
6797      USE_XINERAMA=YES
6798      if test -z "$with_static_xinerama" -o -n "$with_system_libs"; then
6799         XINERAMA_LINK=dynamic
6800      else
6801         XINERAMA_LINK=static
6802      fi
6803   elif test -e "$XLIB/libXinerama.so" -a ! -e "$XLIB/libXinerama.a"; then
6804      # we have only the dynamic version
6805      USE_XINERAMA=YES
6806      XINERAMA_LINK=dynamic
6807   elif test -e "$XLIB/libXinerama.a"; then
6808      # static version
6809      if echo $build_cpu | $GREP -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
6810         USE_XINERAMA=YES
6811         XINERAMA_LINK=static
6812      else
6813         USE_XINERAMA=NO
6814         XINERAMA_LINK=none
6815      fi
6816   else
6817      # no Xinerama
6818      USE_XINERAMA=NO
6819      XINERAMA_LINK=none
6820   fi
6821   if test "$USE_XINERAMA" = "YES"; then
6822      AC_MSG_RESULT([yes, with $XINERAMA_LINK linking])
6823      AC_CHECK_HEADER(X11/extensions/Xinerama.h, [],
6824          [AC_MSG_ERROR(Xinerama header not found.)], [])
6825      XINERAMA_EXTRA_LIBS="-L$XLIB -lXext"
6826      if test "$_os" = "FreeBSD"; then
6827          XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -lXt"
6828      fi
6829      if test "$_os" = "Linux"; then
6830          XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl"
6831      fi
6832      AC_CHECK_LIB(Xinerama, XineramaIsActive, [],
6833          [AC_MSG_ERROR(Xinerama not functional?)], [$XINERAMA_EXTRA_LIBS])
6834   else
6835      AC_MSG_RESULT([no, libXinerama not found or wrong architecture.])
6836   fi
6837else
6838   AC_MSG_RESULT([no])
6839fi
6840AC_SUBST(USE_XINERAMA)
6841AC_SUBST(XINERAMA_LINK)
6842
6843dnl ===================================================================
6844dnl always rely on the system version of gdk-pixbuf
6845dnl ===================================================================
6846
6847SYSTEM_GDKPIXBUF=YES
6848AC_SUBST(SYSTEM_GDKPIXBUF)
6849
6850dnl ===================================================================
6851dnl always rely on the system version of glib
6852dnl ===================================================================
6853
6854SYSTEM_GLIB=YES
6855AC_SUBST(SYSTEM_GLIB)
6856
6857dnl ===================================================================
6858dnl always rely on the system version of gettext
6859dnl ===================================================================
6860
6861SYSTEM_GETTEXT=YES
6862AC_SUBST(SYSTEM_GETTEXT)
6863
6864if test "$_os" = "FreeBSD"; then
6865    LIBINTL_PREFIX=
6866    for dir in $CPPFLAGS; do
6867      if dir=`expr -- $dir : '-I\(.*\)'`; then
6868        if test -f "$dir/libintl.h" ; then
6869          LIBINTL_PREFIX=`dirname $dir`
6870        fi
6871      fi
6872    done
6873    AC_SUBST(LIBINTL_PREFIX)
6874fi
6875
6876dnl ===================================================================
6877dnl always rely on the system version of pango
6878dnl ===================================================================
6879
6880SYSTEM_PANGO=YES
6881AC_SUBST(SYSTEM_PANGO)
6882
6883dnl ===================================================================
6884dnl Test whether to build libpng or rely on the system version
6885dnl ===================================================================
6886AC_MSG_CHECKING([whether to build own version of libpng])
6887
6888case "$_os" in
6889	WINNT*) # Windows
6890	    SYSTEM_LIBPNG=NO
6891	    AC_MSG_RESULT([yes])
6892		;;
6893	Darwin*)
6894	    SYSTEM_LIBPNG=NO
6895	    AC_MSG_RESULT([yes])
6896	    ;;
6897   *)
6898   SYSTEM_LIBPNG=YES
6899   AC_MSG_RESULT([no])
6900   ;;
6901esac
6902AC_SUBST(SYSTEM_LIBPNG)
6903
6904dnl ===================================================================
6905dnl Test whether to build libjpeg or rely on the system version
6906dnl ===================================================================
6907dnl FIXME: this is currently because we have jpeg-6b for our filters
6908dnl        and jpeg-8 as dependency for librsvg
6909dnl        this should be unified into using only one version for both
6910
6911AC_MSG_CHECKING([whether to build own version of libjpeg])
6912
6913if test "$SYSTEM_JPEG" = "YES"; then
6914SYSTEM_LIBJPEG=YES
6915else
6916case "$_os" in
6917	WINNT*) # Windows
6918	    SYSTEM_LIBJPEG=NO
6919		;;
6920	Darwin*)
6921	    SYSTEM_LIBJPEG=NO
6922	    ;;
6923   *)
6924        SYSTEM_LIBJPEG=YES
6925        ;;
6926esac
6927fi
6928
6929if test "$SYSTEM_LIBJPEG" = "YES"; then
6930   AC_MSG_RESULT([no])
6931else
6932   AC_MSG_RESULT([yes])
6933fi
6934AC_SUBST(SYSTEM_LIBJPEG)
6935
6936dnl ===================================================================
6937dnl Test whether rat scan was requested and whether apache-rat is available
6938dnl ===================================================================
6939RAT_JAR=
6940AC_MSG_CHECKING([whether to trigger rat scan])
6941if test -z "$with_rat_scan" -o "$with_rat_scan" = "no"; then
6942    AC_MSG_RESULT([no])
6943else
6944    if test "$WITH_JAVA" = "no"; then
6945        AC_MSG_ERROR([no, java disabled, enable with --with-java])
6946    elif test "$enable_saxon" = "no"; then
6947        AC_MSG_ERROR([no, saxon disabled, enable with --enable-category-b])
6948    elif test "$with_rat_scan" = "yes"; then
6949        AC_MSG_RESULT([yes, use pre-built library])
6950        RAT_JAR_HOME="BUILD"
6951        BUILD_TYPE="$BUILD_TYPE RAT"
6952    else
6953        AC_MSG_RESULT([yes, use pre-installed library])
6954        AC_MSG_CHECKING([whether apache-rat is available])
6955        if test -d "$with_rat_scan"; then
6956            RAT_JAR_HOME=$with_rat_scan
6957        else
6958            AC_MSG_ERROR([$with_rat_scan is not a directory])
6959        fi
6960    fi
6961fi
6962AC_SUBST(RAT_JAR_HOME)
6963
6964
6965dnl ===================================================================
6966dnl Test for the presence of Ant and that it works
6967dnl ===================================================================
6968
6969if test "$SOLAR_JAVA" != ""; then
6970ANT_HOME=; export ANT_HOME
6971WITH_ANT_HOME=; export WITH_ANT_HOME
6972if test -z "$with_ant_home"; then
6973   if test "$_os" = "OS2"; then
6974     AC_PATH_PROGS(ANT, ant.cmd)
6975   else
6976     AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd])
6977   fi
6978else
6979   if test "$_os" = "WINNT"; then
6980      with_ant_home=`cygpath -u "$with_ant_home"`
6981   fi
6982   if test "$_os" = "OS2"; then
6983     AC_PATH_PROGS(ANT, ant.cmd,,$with_ant_home/bin:$PATH)
6984   else
6985     AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd],,$with_ant_home/bin:$PATH)
6986   fi
6987   WITH_ANT_HOME=$with_ant_home
6988   ANT_HOME=$with_ant_home
6989fi
6990
6991if test -z "$ANT"; then
6992  AC_MSG_ERROR([Ant not found - Make sure it's in the path or use --with-ant-home])
6993else
6994  # resolve relative or absolute symlink
6995  while test -h "$ANT"; do
6996     a_cwd=`pwd`
6997     a_basename=`basename "$ANT"`
6998     a_script=`ls -l "$ANT" | sed "s/.*${a_basename} -> //g"`
6999     cd "`dirname "$ANT"`"
7000     cd "`dirname "$a_script"`"
7001     ANT="`pwd`"/"`basename "$a_script"`"
7002     cd "$a_cwd"
7003  done
7004
7005  if test "$_os" = "OS2"; then
7006    ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
7007    export ANT_HOME
7008  fi
7009
7010  AC_MSG_CHECKING([if $ANT works])
7011cat > conftest.java << EOF
7012    public class conftest {
7013	int testmethod(int a, int b) {
7014            return a + b;
7015	}
7016    }
7017EOF
7018
7019cat > conftest.xml << EOF
7020    <project name="conftest" default="conftest">
7021	<target name="conftest">
7022            <javac srcdir="." includes="conftest.java">
7023	    </javac>
7024	</target>
7025    </project>
7026EOF
7027  oldJAVA_HOME=$JAVA_HOME
7028  if test "$JAVACISGCJ" = "yes"; then
7029    JAVA_HOME=; export JAVA_HOME
7030    ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2"
7031  else
7032    ant_cmd="$ANT -buildfile conftest.xml 1>&2"
7033  fi
7034  AC_TRY_EVAL(ant_cmd)
7035  if test $? = 0 && test -f ./conftest.class ; then
7036    AC_MSG_RESULT([Ant works])
7037    if test -z "$WITH_ANT_HOME"; then
7038        ANT_HOME=`$ANT -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"`
7039        if test -z "$ANT_HOME"; then
7040            ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
7041        fi
7042    else
7043        ANT_HOME="$WITH_ANT_HOME"
7044    fi
7045  else
7046    echo "configure: Ant test failed" >&5
7047    cat conftest.java >&5
7048    cat conftest.xml >&5
7049    AC_MSG_WARN([Ant does not work - Some Java projects will not build!])
7050    ANT_HOME=""
7051    echo "Ant does not work - Some Java projects will not build!" >>warn
7052  fi
7053  JAVA_HOME=$oldJAVA_HOME
7054  rm -f conftest* core core.* *.core
7055fi
7056if test -z "$ANT_HOME"; then
7057   ANT_HOME="NO_ANT_HOME"
7058fi
7059AC_SUBST(ANT_HOME)
7060
7061dnl Checking for ant.jar
7062if test "$ANT_HOME" != "NO_ANT_HOME"; then
7063   AC_MSG_CHECKING([Ant lib directory])
7064   if test -f $ANT_HOME/lib/ant.jar; then
7065	  ANT_LIB="$ANT_HOME/lib"
7066   else
7067      if test -f $ANT_HOME/ant.jar; then
7068	     ANT_LIB="$ANT_HOME"
7069      else
7070          if test -f /usr/share/java/ant.jar; then
7071              ANT_LIB=/usr/share/java
7072          else
7073             if test -f /usr/share/ant-core/lib/ant.jar; then
7074                 ANT_LIB=/usr/share/ant-core/lib
7075             else
7076                if test -f $ANT_HOME/lib/ant/ant.jar; then
7077                    ANT_LIB="$ANT_HOME/lib/ant"
7078                else
7079                   if test -f /usr/share/lib/ant/ant.jar; then
7080                       ANT_LIB=/usr/share/lib/ant
7081                   else
7082                       AC_MSG_ERROR([Ant libraries not found!])
7083                   fi
7084                fi
7085             fi
7086          fi
7087      fi
7088   fi
7089   AC_MSG_RESULT([Ant lib directory found.])
7090fi
7091AC_SUBST(ANT_LIB)
7092fi
7093
7094ant_minver=1.6.0
7095# update for more extensions...
7096if test "$ENABLE_MEDIAWIKI" = "YES"; then
7097  ant_minver=1.7.0
7098fi
7099ant_minminor1=`echo $ant_minver | cut -d"." -f2`
7100
7101AC_MSG_CHECKING([whether ant is >= $ant_minver])
7102ant_version=`$ANT -version | $AWK '{ print $4; }'`
7103ant_version_major=`echo $ant_version | cut -d. -f1`
7104ant_version_minor=`echo $ant_version | cut -d. -f2`
7105echo "configure: ant_version $ant_version " >&5
7106echo "configure: ant_version_major $ant_version_major " >&5
7107echo "configure: ant_version_minor $ant_version_minor " >&5
7108if test "$ant_version_major" -ge "2"; then
7109   AC_MSG_RESULT([yes, $ant_version])
7110elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then
7111   AC_MSG_RESULT([yes, $ant_version])
7112else
7113   AC_MSG_ERROR([no, you need at least ant >= $ant_minver])
7114fi
7115
7116if test "$ENABLE_MEDIAWIKI" = "YES"; then
7117AC_MSG_CHECKING([whether ant supports mapper type="regexp"])
7118rm -rf confdir
7119mkdir confdir
7120cat > conftest.java << EOF
7121    public class conftest {
7122        int testmethod(int a, int b) {
7123            return a + b;
7124        }
7125    }
7126EOF
7127
7128cat > conftest.xml << EOF
7129    <project name="conftest" default="conftest">
7130        <target name="conftest" depends="copytest">
7131            <javac srcdir="." includes="conftest.java">
7132            </javac>
7133        </target>
7134        <target name="copytest">
7135             <copy todir="confdir">
7136                 <fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/>
7137                 <filterset/>
7138                 <mapper type="regexp" from="^(.*[/\\])foo([/\\].*)" to="\1baa\2"/>
7139             </copy>
7140        </target>
7141    </project>
7142EOF
7143  if test "$JAVACISGCJ" = "yes"; then
7144    JAVA_HOME=; export JAVA_HOME
7145    ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2"
7146  else
7147    ant_cmd="$ANT -buildfile conftest.xml 1>&2"
7148  fi
7149  AC_TRY_EVAL(ant_cmd)
7150  if test $? = 0 && test -f ./conftest.class ; then
7151    AC_MSG_RESULT([yes])
7152    rm -rf confdir
7153  else
7154    echo "configure: Ant test failed" >&5
7155    cat conftest.java >&5
7156    cat conftest.xml >&5
7157    rm -rf confdir
7158    AC_MSG_ERROR([no. Did you install ant-apache-regexp?])
7159  fi
7160fi
7161rm -f conftest* core core.* *.core
7162
7163OOO_JUNIT_JAR=
7164if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no"; then
7165    AC_MSG_CHECKING([for JUnit 4])
7166    if test "$with_junit" = "yes"; then
7167        if test -e /usr/share/java/junit4.jar; then
7168            OOO_JUNIT_JAR=/usr/share/java/junit4.jar
7169        else
7170           if test -e /usr/share/lib/java/junit.jar; then
7171              OOO_JUNIT_JAR=/usr/share/lib/java/junit.jar
7172           else
7173              OOO_JUNIT_JAR=/usr/share/java/junit.jar
7174           fi
7175        fi
7176    else
7177        OOO_JUNIT_JAR=$with_junit
7178    fi
7179    if test "$_os" = "WINNT"; then
7180        OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"`
7181    fi
7182    "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" 2>&5 | \
7183        $GREP org/junit/Before.class > /dev/null 2>&5
7184    if test $? -eq 0; then
7185        AC_MSG_RESULT([$OOO_JUNIT_JAR])
7186    else
7187        AC_MSG_RESULT([no])
7188        AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the default
7189location (/usr/share/java), specify its pathname via
7190--with-junit=..., or disable it via --without-junit])
7191    fi
7192fi
7193AC_SUBST(OOO_JUNIT_JAR)
7194
7195HAMCREST_CORE_JAR=
7196if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no" && test "$with_hamcrest_core" != "no"; then
7197    AC_MSG_CHECKING([for hamcrest-core])
7198    if test "$with_hamcrest_core" = "yes"; then
7199        if test -e /usr/share/java/hamcrest-core-1.3.jar; then
7200            HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core-1.3.jar
7201        else
7202            if test -e /usr/share/lib/java/hamcrest-core.jar; then
7203                HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest-core.jar
7204            else
7205                HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core.jar
7206            fi
7207        fi
7208    else
7209        HAMCREST_CORE_JAR=$with_hamcrest_core
7210    fi
7211    if test "$_os" = "WINNT"; then
7212        HAMCREST_CORE_JAR=`cygpath -m "$HAMCREST_CORE_JAR"`
7213    fi
7214    export HAMCREST_CORE_JAR
7215    "$JAVA_HOME/bin/jar" tf "$HAMCREST_CORE_JAR" 2>&5 | \
7216        $GREP org/hamcrest/core/AllOf.class > /dev/null 2>&5
7217    if test $? -eq 0; then
7218        AC_MSG_RESULT([$HAMCREST_CORE_JAR])
7219    else
7220        AC_MSG_ERROR([cannot find hamcrest-core jar; please install one in the
7221default location (/usr/share/java), specify its
7222pathname via --with-hamcrest-core=..., or disable
7223it via --without-hamcrest-core])
7224    fi
7225fi
7226AC_SUBST(HAMCREST_CORE_JAR)
7227
7228AC_MSG_CHECKING([which languages to be built])
7229WITH_LANG="$with_lang"
7230if test -z "$WITH_LANG"; then
7231   AC_MSG_RESULT([en-US])
7232else
7233   AC_MSG_RESULT([$WITH_LANG])
7234   ADDITIONAL_REPOSITORIES="$ADDITIONAL_REPOSITORIES ../extras"
7235   BUILD_TYPE="$BUILD_TYPE L10N"
7236fi
7237AC_SUBST(WITH_LANG)
7238
7239AC_MSG_CHECKING([which languages have poor help localizations])
7240WITH_POOR_HELP_LOCALIZATIONS="$with_poor_help_localizations"
7241if test -z "$WITH_POOR_HELP_LOCALIZATIONS"; then
7242   AC_MSG_RESULT([none])
7243else
7244   AC_MSG_RESULT([$WITH_POOR_HELP_LOCALIZATIONS])
7245fi
7246AC_SUBST(WITH_POOR_HELP_LOCALIZATIONS)
7247
7248AC_MSG_CHECKING([which dictionaries to include])
7249if test -z "$with_dict"; then
7250   WITH_DICT=,ALL,
7251   AC_MSG_RESULT([ALL])
7252else
7253   WITH_DICT=","$with_dict","
7254   AC_MSG_RESULT([$with_dict])
7255fi
7256AC_SUBST(WITH_DICT)
7257
7258AC_MSG_CHECKING([for additional 'intro' bitmaps])
7259INTRO_BITMAPS=
7260if test -z "$with_intro_bitmaps" -o "$with_intro_bitmaps" = "no" ; then
7261   INTRO_BITMAPS=
7262   AC_MSG_RESULT([none])
7263else
7264   for bitmap in `echo $with_intro_bitmaps | tr ',' ' '` ; do
7265      case "$bitmap" in
7266         *.bmp) ;;
7267         *)     bitmap= ; AC_MSG_WARN([Intro bitmaps should be .bmp files!]) ;;
7268      esac
7269      if test -n "$bitmap" ; then
7270         INTRO_BITMAPS="$INTRO_BITMAPS $bitmap"
7271      fi
7272   done
7273   AC_MSG_RESULT([$INTRO_BITMAPS])
7274fi
7275AC_SUBST(INTRO_BITMAPS)
7276
7277AC_MSG_CHECKING([for additional 'about' bitmaps])
7278ABOUT_BITMAPS=
7279if test -z "$with_about_bitmaps" -o "$with_about_bitmaps" = "no" ; then
7280   ABOUT_BITMAPS=
7281   AC_MSG_RESULT([none])
7282else
7283   for bitmap in `echo $with_about_bitmaps | tr ',' ' '` ; do
7284      case "$bitmap" in
7285         *.bmp) ;;
7286         *)     bitmap= ; AC_MSG_WARN([About bitmaps should be .bmp files!]) ;;
7287      esac
7288      if test -n "$bitmap" ; then
7289         ABOUT_BITMAPS="$ABOUT_BITMAPS $bitmap"
7290      fi
7291   done
7292   AC_MSG_RESULT([$ABOUT_BITMAPS])
7293fi
7294AC_SUBST(ABOUT_BITMAPS)
7295
7296OOO_VENDOR=
7297AC_MSG_CHECKING([for vendor])
7298if test -z "$with_vendor" -o "$with_vendor" = "no" ; then
7299   AC_MSG_RESULT([not set])
7300else
7301   OOO_VENDOR="$with_vendor"
7302   AC_MSG_RESULT([$OOO_VENDOR])
7303fi
7304AC_SUBST(OOO_VENDOR)
7305
7306UNIXWRAPPERNAME=
7307AC_MSG_CHECKING([for UNIX wrapper name])
7308if test -z "$with_unix_wrapper" -o "$with_unix_wrapper" = "no"  -o "$with_unix_wrapper" = "yes" ; then
7309   AC_MSG_RESULT([not set])
7310else
7311   UNIXWRAPPERNAME="$with_unix_wrapper"
7312   AC_MSG_RESULT([$UNIXWRAPPERNAME])
7313fi
7314AC_SUBST(UNIXWRAPPERNAME)
7315
7316AC_MSG_CHECKING([whether to statically link to Gtk])
7317if test -n "$enable_static_gtk" && test "$enable_static_gtk" != "no"; then
7318   ENABLE_STATIC_GTK="TRUE"
7319   AC_MSG_RESULT([yes])
7320else
7321   ENABLE_STATIC_GTK="FALSE"
7322   AC_MSG_RESULT([no])
7323fi
7324AC_SUBST(ENABLE_STATIC_GTK)
7325
7326AC_MSG_CHECKING([whether to use layout dialogs])
7327if test -n "$enable_layout" && test "$enable_layout" != "no"; then
7328   ENABLE_LAYOUT="TRUE"
7329   AC_MSG_RESULT([yes])
7330else
7331   ENABLE_LAYOUT="FALSE"
7332   AC_MSG_RESULT([no])
7333fi
7334AC_SUBST(ENABLE_LAYOUT)
7335
7336# ===================================================================
7337# De- or increase default verbosity of build process
7338# ===================================================================
7339AC_MSG_CHECKING([build verbosity])
7340if test -n "$enable_verbose"; then
7341   if test "$enable_verbose" = "yes"; then
7342      VERBOSE="TRUE"
7343      AC_MSG_RESULT([high])
7344   fi
7345   if test "$enable_verbose" = "no"; then
7346      VERBOSE="FALSE"
7347      AC_MSG_RESULT([low])
7348   fi
7349else
7350   AC_MSG_RESULT([not set])
7351fi
7352AC_SUBST(VERBOSE)
7353
7354dnl ===================================================================
7355dnl Hook up OOos nodep environmental variable to automake's equivalent
7356dnl --enable-dependency-tracking configure option
7357dnl ===================================================================
7358AC_MSG_CHECKING([whether to enable dependency tracking])
7359if test "$enable_dependency_tracking" = "no"; then
7360    nodep=TRUE
7361    AC_MSG_RESULT([no])
7362else
7363    AC_MSG_RESULT([yes])
7364fi
7365AC_SUBST(nodep)
7366
7367dnl ===================================================================
7368dnl Setting up the environment.
7369dnl ===================================================================
7370echo "********************************************************************"
7371echo "*                                                                  *"
7372echo "*   Setting up the build environment variables.                    *"
7373echo "*                                                                  *"
7374echo "********************************************************************"
7375
7376if test -z "$COMPATH"; then
7377   AC_MSG_ERROR([No compiler found.])
7378fi
7379AC_SUBST(COMPATH)
7380AC_SUBST(CC_PATH)
7381
7382AC_MSG_CHECKING([solver path])
7383if test -z "$with_local_solver"; then
7384   LOCAL_SOLVER="DEFAULT"
7385   AC_MSG_RESULT([default])
7386else
7387   LOCAL_SOLVER=$with_local_solver
7388   AC_MSG_RESULT([$with_local_solver])
7389fi
7390AC_SUBST(LOCAL_SOLVER)
7391
7392AC_SUBST(BUILD_TYPE)
7393AC_SUBST(ADDITIONAL_REPOSITORIES)
7394
7395# make sure config.guess is +x; we execute config.guess, so it has to be so;
7396chmod +x ./config.guess
7397
7398# Create files from their *.in templates.
7399AC_CONFIG_FILES([set_soenv Makefile])
7400
7401AC_MSG_NOTICE([writing config.status])
7402AC_OUTPUT
7403
7404dnl Executing the set_soenv script to setup the environment variables.
7405chmod a+x set_soenv
7406if test -z "$enable_check_only"; then
7407   './set_soenv'
7408else
7409   echo
7410   echo Test Complete
7411   echo No environment file will be generated
7412   echo
7413   num_warnings=`wc -l warn`
7414   _num=`echo $num_warnings | $AWK '{ print $1 }'`
7415   if test $_num -gt 0; then
7416      echo The following warning\(s\) were generated by configure
7417      echo ----------------------------------------------------
7418      echo
7419      cat warn
7420      echo
7421   else
7422      echo There were no warnings
7423   fi
7424   echo
7425fi
7426
7427