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