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