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