xref: /aoo42x/main/configure.ac (revision e7dbd3e3)
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               AC_MSG_CHECKING([whether epm is patched for AOOs needs])
3586               if $GREP "Patched for .*OpenOffice" $EPM >/dev/null 2>/dev/null; then
3587                  AC_MSG_RESULT([yes])
3588               else
3589                  AC_MSG_RESULT([no])
3590                  if echo "$PKGFORMAT" | $GREP -q rpm; then
3591                      _pt="rpm"
3592                      AC_MSG_WARN([the rpms will need to be installed with --nodeps])
3593                      echo "the rpms will need to be installed with --nodeps" >> warn
3594                  else
3595                      _pt="pkg"
3596                  fi
3597                  AC_MSG_WARN([the ${_pt}s will not be relocateable])
3598                  echo "the ${_pt}s will not be relocateable" >> warn
3599                  AC_MSG_WARN([if you want to make sure installation without --nodeps and
3600                  relocation will work, you need to patch your epm with the
3601                  patch in epm/epm-3.7.patch or build with
3602                  --with-epm=internal which will build a suitable epm])
3603               fi
3604        fi
3605   fi
3606   if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
3607      AC_PATH_PROG(PKGMK, pkgmk, no)
3608      if test "$PKGMK" = "no"; then
3609         AC_MSG_ERROR([pkgmk needed for Solaris pkg creation. Install it.])
3610      fi
3611   fi
3612   AC_SUBST(RPM)
3613   AC_SUBST(DPKG)
3614   AC_SUBST(FAKEROOT)
3615   AC_SUBST(PKGMK)
3616else
3617   AC_MSG_RESULT([no])
3618   BUILD_EPM=NO
3619   EPM=NO
3620   PKGFORMAT=native
3621fi
3622AC_SUBST(BUILD_EPM)
3623AC_SUBST(EPM_URL)
3624AC_SUBST(EPM)
3625AC_SUBST(PKGFORMAT)
3626
3627dnl ===================================================================
3628dnl Check for gperf
3629dnl ===================================================================
3630AC_PATH_PROG(GPERF, gperf)
3631if test -z "$with_gperf"; then
3632    AC_PATH_PROG(GPERF, gperf)
3633    if test -z "$GPERF"; then
3634       AC_MSG_ERROR([gperf not found but needed. Install it and/or specify --with-gperf=/path/to/it.])
3635    fi
3636else
3637  if test -x "$with_gperf"; then
3638    GPERF=$with_gperf
3639  else
3640    AC_MSG_ERROR([--with-gperf did not point to an executable])
3641  fi
3642fi
3643AC_MSG_CHECKING([gperf version])
3644if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then
3645	AC_MSG_RESULT([OK])
3646   GPERF=$GPERF
3647else
3648	AC_MSG_ERROR([too old, you need at least 3.0.0])
3649fi
3650AC_SUBST(GPERF)
3651
3652dnl ===================================================================
3653dnl Check for building stax
3654dnl ===================================================================
3655AC_MSG_CHECKING([whether to build the stax])
3656if test -f "./stax/download/stax-1.2.0.jar"; then
3657   BUILD_STAX=NO
3658   AC_MSG_RESULT([no, will use the prebuilt stax/download/stax-1.2.0.jar])
3659else
3660   BUILD_STAX=YES
3661   AC_MSG_RESULT([yes])
3662fi
3663AC_SUBST(BUILD_STAX)
3664
3665dnl ===================================================================
3666dnl Check for building ODK
3667dnl ===================================================================
3668AC_MSG_CHECKING([whether to build the ODK])
3669if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then
3670   AC_MSG_RESULT([yes])
3671   if test "$WITH_JAVA" != "no"; then
3672   AC_MSG_CHECKING([for external/unowinreg/unowinreg.dll])
3673   if ! test -f "./external/unowinreg/unowinreg.dll"; then
3674      HAVE_UNOWINREG_DLL=no
3675   else
3676      HAVE_UNOWINREG_DLL=yes
3677   fi
3678   if test "$HAVE_UNOWINREG_DLL" = "yes"; then
3679      AC_MSG_RESULT([found])
3680      BUILD_UNOWINREG=NO
3681   else
3682      if test "$_os" = "WINNT"; then
3683         AC_MSG_RESULT([not found, will be built])
3684      else
3685         AC_MSG_WARN([not found, will be cross-built using mingw32])
3686      fi
3687      BUILD_UNOWINREG=YES
3688   fi
3689   if test "$_os" != "WINNT" && test "$BUILD_UNOWINREG" = "YES"; then
3690      if test -z "$WITH_MINGWIN" || test "$WITH_MINGWIN" = "0"; then
3691         AC_MSG_ERROR([for rebuilding unowinreg.dll you need the mingw32 C++ compiler.
3692         Specify mingw32 g++ executable name with --with-mingwin.
3693         Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and
3694         put it into external/unowinreg using your browser or a command equivalent to:
3695         wget -O external/unowinreg/unowinreg.dll http://www.openoffice.org/tools/unowinreg_prebuild/680/unowinreg.dll])
3696      fi
3697      if echo "$WITH_MINGWIN" | $EGREP -q "/"; then
3698         if ! test -x "$WITH_MINGWIN"; then MINGWCXX=false; else MINGWCXX=`basename $WITH_MINGWIN`; fi
3699      else
3700         AC_CHECK_TOOL(MINGWCXX, $WITH_MINGWIN, false)
3701      fi
3702      if test "$MINGWCXX" = "false"; then
3703         AC_MSG_ERROR(specified MinGW32 C++ cross-compiler not found. Install it or correct name.)
3704      fi
3705      AC_MSG_CHECKING(whether we are using the MinGW32 cross C++ compiler)
3706      if ! echo "`$MINGWCXX -dumpmachine`" | $GREP -q mingw32; then
3707         AC_MSG_ERROR(no)
3708      else
3709         AC_MSG_RESULT(yes)
3710      fi
3711      if echo "$WITH_MINGWIN" | $EGREP -q "/"; then
3712         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
3713      else
3714         AC_CHECK_TOOL(MINGWSTRIP, `echo $WITH_MINGWIN | $SED -e s/g++/strip/ | $SED -e s/c++/strip/`, false)
3715      fi
3716      if test "$MINGWSTRIP" = "false"; then
3717         AC_MSG_ERROR(MinGW32 binutils needed. Install them.)
3718      fi
3719      AC_LANG_PUSH([C++])
3720      save_CXX=$CXX
3721      save_CXXCPP=$CXXCPP
3722      CXX=$MINGWCXX
3723      CXXCPP="$MINGWCXX -E"
3724      save_CXXFLAGS=$CXXFLAGS
3725      save_CPPFLAGS=$CPPFLAGS
3726      CXXFLAGS="$CXXFLAGS -I$JAVA_HOME/include"
3727      CPPFLAGS="$CPPFLAGS -I$JAVA_HOME/include"
3728      # LIBS contains -lcrypt etc due to the AC_CHECK_LIBS which obviously
3729      # do not make sense here (and 'd make the check fail)
3730      save_LIBS=$LIBS
3731      LIBS=""
3732      AC_HAVE_LIBRARY(kernel32)
3733      AC_HAVE_LIBRARY(advapi32)
3734      AC_CHECK_HEADER(windows.h, [], [AC_MSG_ERROR([windows.h missing])])
3735      CXXFLAGS=$save_CXXFLAGS
3736      CPPFLAGS=$save_CPPFLAGS
3737      CXX=$save_CXX
3738      CXXCPP=$save_CXXCPP
3739      LIBS=$save_LIBS
3740      AC_LANG_POP([C++])
3741      fi
3742   fi
3743   BUILD_TYPE="$BUILD_TYPE ODK"
3744else
3745   AC_MSG_RESULT([no])
3746   BUILD_UNOWINREG=NO
3747fi
3748AC_SUBST(BUILD_UNOWINREG)
3749AC_SUBST(MINGWCXX)
3750AC_SUBST(MINGWSTRIP)
3751
3752dnl ===================================================================
3753dnl Check for system stdlibs
3754dnl ===================================================================
3755AC_MSG_CHECKING([whether to provide libstdc++/libgcc_s in the installset])
3756if test -n "$with_system_stdlibs" -o -n "$with_system_libs" && \
3757   test "$with_system_stdlibs" != "no"; then
3758   AC_MSG_RESULT([no])
3759   SYSTEM_STDLIBS=YES
3760else
3761   AC_MSG_RESULT([yes])
3762   SYSTEM_STDLIBS=NO
3763fi
3764AC_SUBST(SYSTEM_STDLIBS)
3765
3766dnl ===================================================================
3767dnl Check for system zlib
3768dnl ===================================================================
3769if test "$_os" = "Darwin" && test "$with_system_zlib" != "no"; then
3770   with_system_zlib=yes
3771fi
3772AC_MSG_CHECKING([which zlib to use])
3773if test -n "$with_system_zlib" -o -n "$with_system_libs" && \
3774	test "$with_system_zlib" != "no"; then
3775    AC_MSG_RESULT([external])
3776    SYSTEM_ZLIB=YES
3777    AC_CHECK_HEADER(zlib.h, [],
3778        [AC_MSG_ERROR(zlib.h not found. install zlib)], [])
3779    AC_CHECK_LIB(z, deflate, [ ZLIB=-lz ],
3780        [AC_MSG_ERROR(zlib not found or functional)], [])
3781else
3782    AC_MSG_RESULT([internal])
3783    SYSTEM_ZLIB=NO
3784    BUILD_TYPE="$BUILD_TYPE ZLIB"
3785fi
3786AC_SUBST(SYSTEM_ZLIB)
3787
3788dnl ===================================================================
3789dnl Check for system jpeg
3790dnl ===================================================================
3791AC_MSG_CHECKING([which jpeg to use])
3792if test -n "$with_system_jpeg" -o -n "$with_system_libs" && \
3793	test "$with_system_jpeg" != "no"; then
3794    AC_MSG_RESULT([external])
3795    SYSTEM_JPEG=YES
3796    AC_CHECK_HEADER(jpeglib.h, [],
3797        [AC_MSG_ERROR(jpeg.h not found. install libjpeg)], [])
3798    AC_CHECK_LIB(jpeg, jpeg_resync_to_restart, [ JPEG3RDLIB=-ljpeg ],
3799	[AC_MSG_CHECKING(jpeg library not found or fuctional)], [])
3800else
3801    AC_MSG_RESULT([internal])
3802    SYSTEM_JPEG=NO
3803    BUILD_TYPE="$BUILD_TYPE JPEG"
3804fi
3805AC_SUBST(SYSTEM_JPEG)
3806
3807dnl ===================================================================
3808dnl Check for system expat
3809dnl ===================================================================
3810AC_MSG_CHECKING([which expat to use])
3811if test -n "$with_system_expat" -o -n "$with_system_libs" && \
3812	test "$with_system_expat" != "no"; then
3813    AC_MSG_RESULT([external])
3814    SYSTEM_EXPAT=YES
3815    AC_CHECK_HEADER(expat.h, [],
3816        [AC_MSG_ERROR(expat.h not found. install expat)], [])
3817    AC_CHECK_LIB(expat, XML_ParserCreate, [],
3818	[AC_MSG_RESULT(expat library not found or functional.)], [])
3819else
3820    AC_MSG_RESULT([internal])
3821    SYSTEM_EXPAT=NO
3822    BUILD_TYPE="$BUILD_TYPE EXPAT"
3823fi
3824AC_SUBST(SYSTEM_EXPAT)
3825
3826dnl ===================================================================
3827dnl Check whether freetype is available
3828dnl ===================================================================
3829if test  "$test_freetype" = "yes"; then
3830   AC_MSG_CHECKING([whether freetype is available])
3831	PKG_CHECK_MODULES( FREETYPE, freetype2 >= 2.0 )
3832fi
3833AC_SUBST(FREETYPE_CFLAGS)
3834AC_SUBST(FREETYPE_LIBS)
3835
3836dnl ===================================================================
3837dnl Check whether freetype2 supports emboldening
3838dnl ===================================================================
3839if test  "$test_freetype" = "yes"; then
3840    save_CPPFLAGS="$CPPFLAGS"
3841    save_LDFLAGS="$LDFLAGS"
3842    save_LIBS="$LIBS"
3843    CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
3844    LDFLAGS="$LDFLAGS $FREETYPE_LIBS"
3845    AC_CHECK_LIB(freetype, FT_GlyphSlot_Embolden,
3846                 [USE_FT_EMBOLDEN="YES"], [USE_FT_EMBOLDEN="NO"], [])
3847    LDFLAGS="$save_LDFLAGS"
3848    CPPFLAGS="$save_CPPFLAGS"
3849    LIBS="$save_LIBS"
3850fi
3851AC_SUBST(USE_FT_EMBOLDEN)
3852
3853if test -n "$with_system_libxslt" -o -n "$with_system_libs" && \
3854   test "$with_system_libxslt" != "no"; then
3855    if test -z "$with_system_libxml" -a -z "$with_system_libs" || \
3856      test "$with_system_libxml" = "no"; then
3857      # somehow AC_MSG_WARN won't work...
3858       echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml"
3859       echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml" >> warn
3860       with_system_libxml=yes
3861    fi
3862fi
3863if test -n "$with_system_libxml" -o -n "$with_system_libs" && \
3864   test "$with_system_libxml" != "no"; then
3865    if test -z "$with_system_libxslt" -a -z "$with_system_libs" || \
3866      test "$with_system_libxslt" = "no"; then
3867      # somehow AC_MSG_WARN won't work...
3868       echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt"
3869       echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt" >> warn
3870       with_system_libxslt=yes
3871    fi
3872fi
3873
3874dnl ===================================================================
3875dnl Check for system libxslt
3876dnl ===================================================================
3877AC_MSG_CHECKING([which libxslt to use])
3878if test -n "$with_system_libxslt" -o -n "$with_system_libs" -o \
3879       "$_os" = "Darwin" && \
3880   test "$with_system_libxslt" != "no"; then
3881   AC_MSG_RESULT([external])
3882   SYSTEM_LIBXSLT=YES
3883
3884	if test "$_os" != "Darwin"; then
3885		PKG_CHECK_MODULES(LIBXSLT, libxslt)
3886	else
3887		LIBXSLT_CFLAGS=`xslt-config --cflags`
3888		LIBXSLT_LIBS=`xslt-config --libs`
3889	fi
3890
3891   dnl Check for xsltproc
3892   AC_PATH_PROG(XSLTPROC, xsltproc, no)
3893   if test "$XSLTPROC" = "no"; then
3894      AC_MSG_ERROR([xsltproc is required])
3895   fi
3896else
3897   AC_MSG_RESULT([internal])
3898   SYSTEM_LIBXSLT=NO
3899   BUILD_TYPE="$BUILD_TYPE LIBXSLT"
3900fi
3901AC_SUBST(SYSTEM_LIBXSLT)
3902AC_SUBST(LIBXSLT_CFLAGS)
3903AC_SUBST(LIBXSLT_LIBS)
3904
3905
3906dnl ===================================================================
3907dnl Check for system libxml
3908dnl ===================================================================
3909AC_MSG_CHECKING([which libxml to use])
3910if test -n "$with_system_libxml" -o -n "$with_system_libs" -o \
3911            "$_os" = "Darwin" && \
3912	test "$with_system_libxml" != "no"; then
3913    AC_MSG_RESULT([external])
3914    SYSTEM_LIBXML=YES
3915    BUILD_TYPE="$BUILD_TYPE LIBXMLSEC"
3916
3917	if test "$_os" != "Darwin"; then
3918		PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= 2.0)
3919	else
3920		LIBXML_CFLAGS=`xml2-config --cflags`
3921		LIBXML_LIBS=`xml2-config --libs`
3922	fi
3923else
3924    AC_MSG_RESULT([internal])
3925    SYSTEM_LIBXML=NO
3926    BUILD_TYPE="$BUILD_TYPE LIBXML2 LIBXMLSEC"
3927fi
3928AC_SUBST(SYSTEM_LIBXML)
3929AC_SUBST(LIBXML_CFLAGS)
3930AC_SUBST(LIBXML_LIBS)
3931
3932
3933dnl ===================================================================
3934dnl Checks for a MacOS platform SDK compatible with an OSX 10.7 deployment target
3935dnl ===================================================================
3936if test  "$_os" = "Darwin"; then
3937   sdk_target=$with_macosx_target
3938   AC_MSG_CHECKING([checking SDK compatibility with OSX $sdk_target])
3939
3940   sdk_minor=`echo $sdk_target | cut -d"." -f2`
3941
3942   if test "$sdk_minor" -lt "7"; then
3943      AC_MSG_ERROR([SDK version < 10.7 is not longer supported])
3944   else
3945      MACOSX_DEPLOYMENT_TARGET=$sdk_target
3946
3947      dnl Why not MacOSX10.9.sdk? It lacks Python.h (!?)
3948      sdk_found=`xcodebuild -showsdks | $EGREP "sdk macosx10.(7|8|10|11)" | sed -e "s/.*sdk //" | tail -n1`
3949      if test -z "$sdk_found"; then
3950         AC_MSG_ERROR([No SDK with OSX $sdk_target compatibility found])
3951      else
3952         AC_MSG_RESULT([yes, by using SDK $sdk_found])
3953      fi
3954
3955      sdk_path=`xcodebuild -version -sdk ${sdk_found} Path`
3956      AC_MSG_CHECKING([for $sdk_path])
3957      if test -d "$sdk_path"; then
3958         AC_MSG_RESULT([yes])
3959      else
3960         AC_MSG_ERROR([not found!])
3961      fi
3962
3963      MACOSX_SDK_PATH=$sdk_path
3964      SDKROOT=$sdk_path
3965   fi
3966
3967fi
3968AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
3969AC_SUBST(MACOSX_SDK_PATH)
3970AC_SUBST(SDKROOT)
3971
3972
3973dnl ===================================================================
3974dnl Check for system python
3975dnl ===================================================================
3976AC_MSG_CHECKING([which python to use])
3977if test "$_os" = "Darwin" && test "$with_system_python" != "no"; then
3978   with_system_python=yes
3979
3980   _python="/Library/Frameworks/Python.framework/Versions/Current/bin/python"
3981   if test ! -f $_python; then
3982   	  _python="/usr/bin/python"
3983   fi
3984   AC_MSG_RESULT([compiling against system python ($_python)])
3985
3986   _python_hexversion=`$_python -c "import sys; print(sys.hexversion);"`
3987
3988   dnl hex version of Python 2.7.1 = 34013680
3989   if test $_python_hexversion -ge 34013680 ; then
3990   	  _python_version=`$_python -c "import sys; print sys.version;" | head -c 3`
3991      AC_MSG_RESULT([compiling against system python (version $_python_version)])
3992
3993	  _python_ver=`$_python -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'));"`
3994
3995	  if test -d "/Library/Frameworks/Python.framework/Versions/$_python_ver/include/python$_python_ver"; then
3996	  	 PYTHON_CFLAGS="-I/Library/Frameworks/Python.framework/Versions/$_python_ver/include/python$_python_ver"
3997         elif test -d "$MACOSX_SDK_PATH/usr/include/python$_python_ver"; then
3998             PYTHON_CFLAGS="-I$MACOSX_SDK_PATH/usr/include/python$_python_ver"
3999	  else
4000             PYTHON_CFLAGS="-I$MACOSX_SDK_PATH/System/Library/Frameworks/Python.framework/Versions/$_python_ver/include/python$_python_ver"
4001	  fi
4002   else
4003		AC_MSG_ERROR([Python 2.7.1 or higher is required])
4004   fi
4005
4006   PYTHON_LIBS="-framework Python"
4007elif test -n "$with_system_python" -o -n "$with_system_libs" && \
4008	test "$with_system_python" != "no"; then
4009   with_system_python=yes
4010   AC_MSG_RESULT([external])
4011   AM_PATH_PYTHON([2.7])
4012
4013   python_include=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('INCLUDEPY'));"`
4014   python_version=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'));"`
4015   PYTHON_CFLAGS="-I$python_include"
4016   PYTHON_LIBS="-lpython$python_version"
4017fi
4018if test "$with_system_python" = "yes" ; then
4019   SYSTEM_PYTHON=YES
4020   dnl check if the headers really work:
4021   save_CPPFLAGS="$CPPFLAGS"
4022   CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS"
4023   AC_CHECK_HEADER(Python.h, [],
4024       [AC_MSG_ERROR(Python headers not found)], [])
4025   CPPFLAGS="$save_CPPFLAGS"
4026else
4027   SYSTEM_PYTHON=NO
4028   BUILD_TYPE="$BUILD_TYPE PYTHON"
4029   AC_MSG_RESULT([internal])
4030   # Embedded python dies without Home set
4031   if test "z$HOME" = "z"; then
4032      export HOME="";
4033   fi
4034   # bz2 tarball and bzip2 is not standard
4035   if test -z "$BZIP2"; then
4036	AC_PATH_PROG( BZIP2, bzip2)
4037	if test -z "$BZIP2"; then
4038   		AC_MSG_ERROR([the internal Python module has a .tar.bz2. You need bzip2])
4039   	fi
4040   fi
4041fi
4042AC_SUBST(SYSTEM_PYTHON)
4043AC_SUBST(PYTHON_CFLAGS)
4044AC_SUBST(PYTHON_LIBS)
4045HOME=`echo $HOME | sed 's:\\\\:/:g'`
4046AC_SUBST(HOME)
4047
4048dnl ===================================================================
4049dnl Check for system lucene
4050dnl ===================================================================
4051AC_MSG_CHECKING([which lucene to use])
4052if test -n "$with_system_lucene" -o -n "$with_system_libs" && \
4053       test "$with_system_lucene" != "no" && test "$with_system_jars" != "no"; then
4054        AC_MSG_RESULT([external])
4055        SYSTEM_LUCENE=YES
4056        if test -z $LUCENE_CORE_JAR; then
4057          AC_CHECK_FILE(/usr/share/java/lucene-core-2.9.4.jar,
4058            [ LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.9.4.jar ],
4059            [
4060              AC_CHECK_FILE(/usr/share/java/lucene-core.jar,
4061                [ LUCENE_CORE_JAR=/usr/share/java/lucene-core.jar ],
4062                [ AC_CHECK_FILE(/usr/share/java/lucene.jar,
4063                   [ LUCENE_CORE_JAR=/usr/share/java/lucene.jar ],
4064                   [ AC_MSG_ERROR(lucene-core.jar replacement not found)]
4065                  )
4066                ]
4067              )
4068            ]
4069          )
4070        else
4071          AC_CHECK_FILE($LUCENE_CORE_JAR, [],
4072               [AC_MSG_ERROR(lucene-core.jar not found.)], [])
4073        fi
4074
4075        if test -z $LUCENE_ANALYZERS_JAR; then
4076          AC_CHECK_FILE(/usr/share/java/lucene-analyzers-2.3.jar,
4077            [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-analyzers-2.3.jar ],
4078            [
4079              AC_CHECK_FILE(/usr/share/java/lucene-contrib/lucene-analyzers.jar,
4080                [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-contrib/lucene-analyzers.jar ],
4081                [ AC_MSG_ERROR(lucene-analyzers.jar replacement not found.)]
4082              )
4083            ]
4084          )
4085        else
4086          AC_CHECK_FILE($LUCENE_CORE_JAR, [],
4087               [ AC_MSG_ERROR(lucene-analyzers.jar not found.)], [])
4088        fi
4089        AC_MSG_CHECKING([whether lucene is version 2.x])
4090        export LUCENE_CORE_JAR
4091        if $PERL -e 'use Archive::Zip;
4092            my $file = "$ENV{'LUCENE_CORE_JAR'}";
4093            my $zip = Archive::Zip->new( $file );
4094            my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
4095            if ( $mf =~ m/Specification-Version: 2.*/ ) {
4096                exit 0;
4097            } else {
4098                exit 1;
4099            }'; then
4100            AC_MSG_RESULT([yes])
4101         else
4102            AC_MSG_RESULT([no])
4103            AC_MSG_CHECKING([whether lucene is version 3.x])
4104
4105            if $PERL -e 'use Archive::Zip;
4106                my $file = "$ENV{'LUCENE_CORE_JAR'}";
4107                my $zip = Archive::Zip->new( $file );
4108                my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
4109                if ( $mf =~ m/Specification-Version: 3.*/ ) {
4110                    exit 0;
4111                } else {
4112                    exit 1;
4113                }'; then
4114                AC_MSG_RESULT([yes])
4115             else
4116                AC_MSG_ERROR([no, you need lucene 2 or 3])
4117             fi
4118         fi
4119
4120else
4121    AC_MSG_RESULT([internal])
4122    SYSTEM_LUCENE=NO
4123    BUILD_TYPE="$BUILD_TYPE LUCENE"
4124fi
4125AC_SUBST(SYSTEM_LUCENE)
4126AC_SUBST(LUCENE_CORE_JAR)
4127AC_SUBST(LUCENE_ANALYZERS_JAR)
4128
4129AC_MSG_CHECKING([whether to build the MySQL Connector extension])
4130if test -n "$enable_mysql_connector" -a "$enable_mysql_connector" != "no"; then
4131  AC_MSG_RESULT([yes])
4132  ENABLE_MYSQLC=YES
4133  AC_MSG_CHECKING([for mysqlc module])
4134  if test -d mysqlc; then
4135   AC_MSG_RESULT([OK])
4136  else
4137   AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
4138  fi
4139  BUILD_TYPE="$BUILD_TYPE MYSQLC"
4140else
4141  AC_MSG_RESULT([no])
4142  ENABLE_MYSQLC=NO
4143fi
4144AC_SUBST(ENABLE_MYSQLC)
4145
4146if test "$ENABLE_MYSQLC" = "YES"; then
4147dnl ===================================================================
4148dnl Check for system MySQL
4149dnl ===================================================================
4150AC_MSG_CHECKING([for mysql pre-requisites])
4151if test -n "$with_system_mysql" -o -n "$with_system_libs" && \
4152       test "$with_system_mysql" != "no" && test "$with_system_libs" != "no"; then
4153	AC_MSG_RESULT([external MySQL])
4154	SYSTEM_MYSQL=YES
4155	AC_PATH_PROG( MYSQLCONFIG, mysql_config)
4156	AC_MSG_CHECKING([MySQL version])
4157	if test -z "$MYSQLCONFIG" -o ! -x "$MYSQLCONFIG" ; then
4158		AC_MSG_ERROR([can not find/execute mysql_config]);
4159	fi
4160	MYSQL_VERSION=`$MYSQLCONFIG --version`
4161	MYSQL_MAJOR=`$MYSQLCONFIG --version | cut -d"." -f1`
4162	if test "$MYSQL_MAJOR" -ge "5"; then
4163		AC_MSG_RESULT([OK])
4164	else
4165		AC_MSG_ERROR([too old, use 5.0.x or 5.1.x])
4166	fi
4167	AC_MSG_CHECKING([for MySQL Client library])
4168	MYSQL_INC=`$MYSQLCONFIG --include`
4169	MYSQL_LIB=`$MYSQLCONFIG --libs`
4170	MYSQL_DEFINES=`$MYSQLCONFIG --cflags | sed -e s,$MYSQL_INC,,`
4171	AC_MSG_RESULT([includes $MYSQL_INC, libraries $MYSQL_LIB])
4172else
4173    SYSTEM_MYSQL=NO
4174    if test -n "$with_libmysql_path"; then
4175        AC_MSG_RESULT([external Connector/C (libmysql)])
4176        LIBMYSQL=libmysql.so
4177        if test "$_os" = "Darwin"; then
4178            LIBMYSQL=libmysql.dylib
4179        elif test "$_os" = "WINNT"; then
4180            LIBMYSQL=libmysql.dll
4181        fi
4182        AC_MSG_CHECKING([for $LIBMYSQL])
4183        if test -e "$with_libmysql_path/lib/$LIBMYSQL"; then
4184            AC_MSG_RESULT([found.])
4185            LIBMYSQL_PATH=$with_libmysql_path
4186        else
4187            AC_MSG_ERROR([not found. Please specify proper path in --with-libmysql-path.])
4188        fi
4189    else
4190        AC_MSG_ERROR([not given. Please specify either --with-system-mysql or --with-libmysql-path])
4191    fi
4192fi
4193AC_SUBST(SYSTEM_MYSQL)
4194AC_SUBST(MYSQL_INC)
4195AC_SUBST(MYSQL_LIB)
4196AC_SUBST(MYSQL_DEFINES)
4197AC_SUBST(LIBMYSQL_PATH)
4198
4199AC_LANG_PUSH([C++])
4200dnl ===================================================================
4201dnl Check for system MySQL C++ Connector
4202dnl ===================================================================
4203# FIXME!
4204# who thought this too-generic cppconn dir was a good idea?
4205AC_MSG_CHECKING([MySQL Connector/C++])
4206if test -n "$with_system_mysql_cppconn" -o -n "$with_system_libs" && \
4207		test "$with_system_mysql_cppconn" != "no" && test "$with_system_libs" != "no"; then
4208	AC_MSG_RESULT([external])
4209	SYSTEM_MYSQL_CPPCONN=YES
4210        AC_LANG_PUSH([C++])
4211	AC_CHECK_HEADER(mysql_driver.h, [],
4212					[AC_MSG_ERROR(mysql_driver.h not found. install MySQL C++ Connectivity)], [])
4213	AC_CHECK_LIB(mysqlcppconn, main, [],
4214					[AC_MSG_ERROR(MySQL C++ Connectivity lib not found or functional)], [])
4215   AC_MSG_CHECKING([version])
4216      AC_TRY_RUN([
4217#include <mysql_driver.h>
4218
4219int main(int argc, char **argv) {
4220	sql::Driver *driver;
4221	driver = get_driver_instance();
4222	if (driver->getMajorVersion() > 1 || \
4223	   (driver->getMajorVersion() == 1 && driver->getMinorVersion() > 0) || \
4224	   (driver->getMajorVersion() == 1 && driver->getMinorVersion() == 0 && driver->getPatchVersion() >= 6))
4225        return 0;
4226      else
4227        return 1;
4228}
4229      ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, we need >= 1.0.6])])
4230        AC_LANG_POP([C++])
4231
4232else
4233	AC_MSG_RESULT([no])
4234	SYSTEM_MYSQL_CPPCONN=
4235fi
4236AC_LANG_POP([C++])
4237AC_SUBST(SYSTEM_MYSQL_CPPCONN)
4238fi
4239
4240dnl ===================================================================
4241dnl Check for system hsqldb
4242dnl ===================================================================
4243AC_MSG_CHECKING([which hsqldb to use])
4244if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \
4245       test "$with_system_hsqldb" != "no" && test "$with_system_jars" != "no"; then
4246        AC_MSG_RESULT([external])
4247        SYSTEM_HSQLDB=YES
4248        if test -z $HSQLDB_JAR; then
4249               HSQLDB_JAR=/usr/share/java/hsqldb.jar
4250        fi
4251        AC_CHECK_FILE($HSQLDB_JAR, [],
4252               [AC_MSG_ERROR(hsqldb.jar not found.)], [])
4253        AC_MSG_CHECKING([whether hsqldb is 1.8.0.x])
4254        export HSQLDB_JAR
4255        if $PERL -e 'use Archive::Zip;
4256            my $file = "$ENV{'HSQLDB_JAR'}";
4257            my $zip = Archive::Zip->new( $file );
4258            my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
4259            if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
4260               push @l, split(/\n/, $mf);
4261               foreach my $line (@l) {
4262                  if ($line =~ m/Specification-Version:/) {
4263                      ($t, $version) = split (/:/,$line);
4264                      $version =~ s/^\s//;
4265                      ($a, $b, $c, $d) = split (/\./,$version);
4266                      if ($c == "0" && $d > "8")  {
4267                          exit 0;
4268                      } else {
4269                          exit 1;
4270                      }
4271                  }
4272               }
4273            } else {
4274                exit 1;
4275            }'; then
4276            AC_MSG_RESULT([yes])
4277         else
4278            AC_MSG_ERROR([no, you need hsqldb >= 1.8.0.9 but < 1.8.1])
4279         fi
4280else
4281    AC_MSG_RESULT([internal])
4282    SYSTEM_HSQLDB=NO
4283    BUILD_TYPE="$BUILD_TYPE HSQLDB"
4284fi
4285AC_SUBST(SYSTEM_HSQLDB)
4286AC_SUBST(HSQLDB_JAR)
4287
4288dnl ===================================================================
4289dnl Check for system beanshell
4290dnl ===================================================================
4291ENABLE_BEANSHELL=YES
4292AC_MSG_CHECKING([which beanshell to use])
4293if test -n "$with_system_beanshell" -o -n "$with_system_libs" && \
4294       test "$with_system_beanshell" != "no" && test "$with_system_jars" != "no"; then
4295        AC_MSG_RESULT([external])
4296        SYSTEM_BSH=YES
4297        if test -z $BSH_JAR; then
4298               BSH_JAR=/usr/share/java/bsh.jar
4299        fi
4300        AC_CHECK_FILE($BSH_JAR, [],
4301               [AC_MSG_ERROR(bsh.jar not found.)], [])
4302elif test "x$enable_beanshell" = "xyes"; then
4303    AC_MSG_RESULT([internal])
4304    SYSTEM_BSH=NO
4305    BUILD_TYPE="$BUILD_TYPE BSH"
4306else
4307    AC_MSG_RESULT([none (disabled)])
4308    SYSTEM_BSH=NO
4309    ENABLE_BEANSHELL=NO
4310fi
4311AC_SUBST(SYSTEM_BSH)
4312AC_SUBST(BSH_JAR)
4313AC_SUBST(ENABLE_BEANSHELL)
4314
4315
4316dnl ===================================================================
4317dnl Check for saxon.  It can come from two different places:
4318dnl - pre-installed on the system.  This is checked when the --with-system-saxon
4319dnl   option is given to configure.
4320dnl   The exact place can be specified with the --with-saxon-jar=<path> option.
4321dnl - From the saxon tar ball in ext_sources/.  This is used when --enable-saxon
4322dnl   is given to configure but not any of --with-system-saxon or --with-saxon-jar.
4323dnl ===================================================================
4324DISABLE_SAXON=
4325AC_MSG_CHECKING([which saxon to use])
4326if test -n "$with_system_saxon" -o -n "$with_system_libs" && \
4327       test "$with_system_saxon" != "no" && test "$with_system_jars" != "no"; then
4328        AC_MSG_RESULT([external])
4329        SYSTEM_SAXON=YES
4330        if test -z $SAXON_JAR; then
4331          AC_CHECK_FILE(/usr/share/java/saxon9.jar,
4332            [ SAXON_JAR=/usr/share/java/saxon9.jar ],
4333            [
4334              AC_CHECK_FILE(/usr/share/java/saxon.jar,
4335                [ SAXON_JAR=/usr/share/java/saxon.jar ],
4336                [ AC_CHECK_FILE(/usr/share/java/saxon9.jar,
4337                    [ SAXON_JAR=/usr/share/java/saxon9.jar ],
4338                    [ AC_MSG_ERROR(saxon.jar replacement not found)]
4339                  )
4340                ]
4341              )
4342            ]
4343          )
4344        else
4345          AC_CHECK_FILE($SAXON_JAR, [],
4346               [AC_MSG_ERROR(saxon.jar replacement not found.)], [])
4347        fi
4348        if test -n "$SERIALIZER_JAR"; then
4349          AC_CHECK_FILE($SERIALIZER_JAR, [],
4350               [AC_MSG_ERROR(serializer.jar not found.)], [])
4351          AC_SUBST(SERIALIZER_JAR)
4352        fi
4353
4354dnl Saxon comes in two practically available versions, the out-of-date saxonb which
4355dnl supports the java extensions that AOO uses, and the up-to-date saxon he
4356dnl "home edition" version, which is crippled to not support those java extensions.
4357dnl And as an aside the he one also needs to be tweaked to include
4358dnl a META-INF/services to broadcast that it supports the jaxp transform factory
4359
4360        AC_MSG_CHECKING([if saxon works])
4361        cat > saxontest.java <<_ACEOF
4362[import javax.xml.transform.TransformerFactory;
4363import javax.xml.transform.Transformer;
4364import javax.xml.transform.stream.StreamSource;
4365import java.io.*;
4366
4367import net.sf.saxon.FeatureKeys;
4368
4369class saxontest {
4370    public static void main(String[] args) {
4371      System.setProperty("javax.xml.transform.TransformerFactory",
4372        "net.sf.saxon.TransformerFactoryImpl");
4373      try {
4374        TransformerFactory tfactory = TransformerFactory.newInstance();
4375	// some external saxons (Debian, Ubuntu, ...) have this disabled
4376	// per default
4377	tfactory.setAttribute(FeatureKeys.ALLOW_EXTERNAL_FUNCTIONS, new Boolean(true));
4378        System.out.println("TransformerFactory is" +
4379          tfactory.getClass().getName());
4380        Transformer transformer = tfactory.newTransformer(
4381          new StreamSource(new File(args[0])));
4382      } catch(Exception e){
4383        e.printStackTrace(System.err);
4384        System.exit(-1);
4385      }
4386      System.exit(0);
4387    }
4388}
4389]
4390_ACEOF
4391        cat > saxontest.xsl<<_ACEOF
4392[<?xml version="1.0" encoding="UTF-8"?>
4393<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4394 <xsl:template match="/">
4395  <xsl:value-of select="math:sqrt(1)" xmlns:math="java:java.lang.Math"/>
4396 </xsl:template>
4397</xsl:stylesheet>
4398]
4399_ACEOF
4400        javac_cmd="$JAVACOMPILER -cp $SAXON_JAR saxontest.java 1>&2"
4401        AC_TRY_EVAL(javac_cmd)
4402        if test $? = 0 && test -f ./saxontest.class ; then
4403            java_cmd="$JAVAINTERPRETER -cp $SAXON_JAR:. saxontest saxontest.xsl 1>&2"
4404            AC_TRY_EVAL(java_cmd)
4405            if test $? = 0; then
4406              AC_MSG_RESULT([yes])
4407            else
4408              cat saxontest.java >&5
4409              AC_MSG_RESULT([no])
4410              AC_MSG_ERROR([Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb])
4411            fi
4412        else
4413          AC_MSG_RESULT([no])
4414          cat saxontest.java >&5
4415          AC_MSG_ERROR([saxontest could not be compiled, non-functional saxon jar])
4416        fi
4417elif test "x$enable_saxon" = "xyes"; then
4418    AC_MSG_RESULT([internal])
4419    SYSTEM_SAXON=NO
4420    BUILD_TYPE="$BUILD_TYPE SAXON"
4421else
4422    AC_MSG_RESULT([none (disabled)])
4423    SYSTEM_SAXON=NO
4424    DISABLE_SAXON=YES
4425fi
4426AC_SUBST(SYSTEM_SAXON)
4427AC_SUBST(SAXON_JAR)
4428AC_SUBST(DISABLE_SAXON)
4429
4430
4431dnl ===================================================================
4432dnl Check for rhino
4433dnl ===================================================================
4434ENABLE_JAVASCRIPT=
4435AC_MSG_CHECKING([whether to enable support for JavaScript])
4436if test "x$enable_javascript" = "xyes"; then
4437   BUILD_TYPE="$BUILD_TYPE RHINO"
4438   AC_MSG_RESULT([yes])
4439   ENABLE_JAVASCRIPT=YES
4440else
4441   AC_MSG_RESULT([no])
4442   ENABLE_JAVASCRIPT=NO
4443fi
4444AC_SUBST(ENABLE_JAVASCRIPT)
4445
4446
4447dnl ===================================================================
4448dnl Check for system apr
4449dnl ===================================================================
4450SYSTEM_APR=NO
4451APR_CFLAGS=
4452APR_LIBS=
4453AC_MSG_CHECKING([which libapr to use])
4454if test "x$with_system_apr" = "xyes" -o -n "$with_system_libs"; then
4455    AC_MSG_RESULT([system])
4456    PKG_CHECK_MODULES([APR], [apr-1 >= 1.0])
4457    SYSTEM_APR=YES
4458else
4459    AC_MSG_RESULT([internal])
4460    SYSTEM_APR=NO
4461    BUILD_TYPE="$BUILD_TYPE APR"
4462fi
4463AC_SUBST(SYSTEM_APR)
4464AC_SUBST(APR_CFLAGS)
4465AC_SUBST(APR_LIBS)
4466
4467
4468dnl ===================================================================
4469dnl Check for system apr-util
4470dnl ===================================================================
4471SYSTEM_APR_UTIL=NO
4472APR_UTIL_CFLAGS=
4473APR_UTIL_LIBS=
4474AC_MSG_CHECKING([which libapr-util to use])
4475if test "x$with_system_apr_util" = "xyes" -o -n "$with_system_libs"; then
4476    AC_MSG_RESULT([system])
4477    PKG_CHECK_MODULES([APR_UTIL], [apr-util-1 >= 1.0])
4478    SYSTEM_APR_UTIL=YES
4479else
4480    AC_MSG_RESULT([internal])
4481    SYSTEM_APR_UTIL=NO
4482    BUILD_TYPE="$BUILD_TYPE APR_UTIL"
4483fi
4484AC_SUBST(SYSTEM_APR_UTIL)
4485AC_SUBST(APR_UTIL_CFLAGS)
4486AC_SUBST(APR_UTIL_LIBS)
4487
4488
4489dnl ===================================================================
4490dnl Check for system serf
4491dnl ===================================================================
4492SYSTEM_SERF=NO
4493SERF_CFLAGS=
4494SERF_LIBS=
4495AC_MSG_CHECKING([which libserf to use])
4496if test -n "$with_system_serf" -o -n "$with_system_libs" && \
4497  test "$with_system_serf" != "no"; then
4498    AC_MSG_RESULT([system])
4499    PKG_CHECK_MODULES([SERF], [serf-1 >= 1.1])
4500    SYSTEM_SERF=YES
4501else
4502    AC_MSG_RESULT([internal])
4503    SYSTEM_SERF=NO
4504    BUILD_TYPE="$BUILD_TYPE SERF"
4505fi
4506AC_SUBST(SYSTEM_SERF)
4507AC_SUBST(SERF_CFLAGS)
4508AC_SUBST(SERF_LIBS)
4509
4510
4511dnl ===================================================================
4512dnl Check for CoinMP
4513dnl ===================================================================
4514ENABLE_COINMP=
4515SYSTEM_COINMP=NO
4516COINMP_CFLAGS=
4517COINMP_LIBS=
4518AC_MSG_CHECKING([whether to enable support for CoinMP])
4519if test "x$enable_coinmp" = "xyes"; then
4520    BUILD_TYPE="$BUILD_TYPE COINMP"
4521    AC_MSG_RESULT([yes])
4522    ENABLE_COINMP=YES
4523
4524    dnl Check wether to use system or internal CoinMP
4525    AC_MSG_CHECKING([which coinmp to use])
4526    if test "x$with_system_coinmp" = "xyes" -o -n "$with_system_libs"; then
4527        AC_MSG_RESULT([system])
4528	PKG_CHECK_MODULES([COINMP], [coinmp])
4529        SYSTEM_COINMP=YES
4530        # some systems need this. Like Ubuntu....
4531        AC_CHECK_LIB(m, floor)
4532        AC_CHECK_LIB(dl, dlopen)
4533    else
4534        AC_MSG_RESULT([internal])
4535        SYSTEM_COINMP=NO
4536        BUILD_TYPE="$BUILD_TYPE COINMP"
4537    fi
4538else
4539    AC_MSG_RESULT([no])
4540    ENABLE_COINMP=NO
4541fi
4542AC_SUBST(ENABLE_COINMP)
4543AC_SUBST(SYSTEM_COINMP)
4544AC_SUBST(COINMP_CFLAGS)
4545AC_SUBST(COINMP_LIBS)
4546
4547
4548dnl ===================================================================
4549dnl Check for system curl
4550dnl ===================================================================
4551if test "$_os" = "Darwin" && test "$with_system_curl" != "no"; then
4552   with_system_curl=yes
4553fi
4554AC_MSG_CHECKING([which curl to use])
4555if test -n "$with_system_curl" -o -n "$with_system_libs" && \
4556	test "$with_system_curl" != "no"; then
4557   AC_MSG_RESULT([external])
4558   SYSTEM_CURL=YES
4559
4560   AC_PATH_PROG( CURLCONFIG, curl-config)
4561   if test -z "$CURLCONFIG"; then
4562      AC_MSG_ERROR([install curl to run this script])
4563   fi
4564
4565   # check curl version
4566   AC_MSG_CHECKING([whether curl is >= 7.13.1])
4567   if test "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $1 }'`" -gt "7" -a \
4568	"`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $2 }'`" -gt "13" -a \
4569	"`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $3 }'`" -gt "1"; then
4570      AC_MSG_ERROR([no, you need at least curl 7.13,1])
4571   else
4572      AC_MSG_RESULT([yes])
4573   fi
4574   CURL_LIBS=`$CURLCONFIG --libs`
4575   CURL_CFLAGS=`$CURLCONFIG --cflags`
4576else
4577   AC_MSG_RESULT([internal])
4578   SYSTEM_CURL=NO
4579   BUILD_TYPE="$BUILD_TYPE CURL"
4580fi
4581AC_SUBST(SYSTEM_CURL)
4582AC_SUBST(CURL_CFLAGS)
4583AC_SUBST(CURL_LIBS)
4584
4585dnl ===================================================================
4586dnl Check for system mdds
4587dnl ===================================================================
4588AC_MSG_CHECKING([which mdds to use])
4589if test -n "$with_system_mdds" -o -n "$with_system_headers" && \
4590	test "$with_system_mdds" != "no"; then
4591    AC_MSG_RESULT([external])
4592    SYSTEM_MDDS=YES
4593    AC_LANG_PUSH([C++])
4594    AC_CHECK_HEADER(mdds/flat_segment_tree.hpp, [],
4595        [AC_MSG_ERROR(mdds/flat_segment_tree.hpp not found. install mdds)], [])
4596    AC_LANG_POP([C++])
4597else
4598   AC_MSG_RESULT([internal])
4599   BUILD_TYPE="$BUILD_TYPE MDDS"
4600   SYSTEM_MDDS=NO
4601fi
4602AC_SUBST(SYSTEM_MDDS)
4603
4604dnl ===================================================================
4605dnl Check for system boost
4606dnl ===================================================================
4607AC_MSG_CHECKING([which boost to use])
4608if test -n "$with_system_boost" -o -n "$with_system_headers" && \
4609	test "$with_system_boost" != "no"; then
4610   AC_MSG_RESULT([external])
4611   SYSTEM_BOOST=YES
4612   AC_LANG_PUSH([C++])
4613   AC_CHECK_HEADER(boost/shared_ptr.hpp, [],
4614       [AC_MSG_ERROR(boost/shared_ptr.hpp not found. install boost)], [])
4615   AC_CHECK_HEADER(boost/spirit/include/classic_core.hpp, [],
4616       [AC_MSG_ERROR(boost/spirit/include/classic_core.hpp not found. install boost >= 1.36)], [])
4617   AC_CHECK_HEADER(boost/function.hpp, [],
4618       [AC_MSG_ERROR(boost/function.hpp not found. install boost)], [])
4619
4620   save_CXXFLAGS=$CXXFLAGS
4621   CXXFLAGS="$CXXFLAGS -fno-exceptions"
4622   AC_MSG_CHECKING([whether boost/function.hpp compiles with -fno-exceptions])
4623   AC_TRY_COMPILE([#include <boost/function.hpp>
4624], [],
4625   ac_cv_cxx_boost_no_exceptons_broken=no, ac_cv_cxx_boost_no_exceptons_broken=yes)
4626
4627   if test "$ac_cv_cxx_boost_no_exceptons_broken" = "yes"; then
4628	AC_MSG_ERROR([no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131])
4629   else
4630  	AC_MSG_RESULT([yes])
4631   fi
4632   CXXFLAGS=$save_CXXFLAGS
4633   AC_LANG_POP([C++])
4634else
4635   AC_MSG_RESULT([internal])
4636   BUILD_TYPE="$BUILD_TYPE BOOST"
4637   SYSTEM_BOOST=NO
4638fi
4639AC_SUBST(SYSTEM_BOOST)
4640
4641dnl ===================================================================
4642dnl Check for system vigra
4643dnl ===================================================================
4644AC_MSG_CHECKING([which vigra to use])
4645if test -n "$with_system_vigra" -o -n "$with_system_headers" && \
4646	test "$with_system_vigra" != "no"; then
4647   AC_MSG_RESULT([external])
4648   SYSTEM_VIGRA=YES
4649   AC_LANG_PUSH([C++])
4650   AC_CHECK_HEADER(vigra/copyimage.hxx, [],
4651       [AC_MSG_ERROR(vigra/copyimage.hxx not found. install vigra)], [])
4652   AC_LANG_POP([C++])
4653else
4654   AC_MSG_RESULT([internal])
4655   BUILD_TYPE="$BUILD_TYPE VIGRA"
4656   SYSTEM_VIGRA=NO
4657fi
4658AC_SUBST(SYSTEM_VIGRA)
4659
4660dnl ===================================================================
4661dnl Check for system odbc
4662dnl ===================================================================
4663AC_MSG_CHECKING([which odbc headers to use])
4664if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \
4665	test "$with_system_odbc_headers" != "no"; then
4666   AC_MSG_RESULT([external])
4667   SYSTEM_ODBC_HEADERS=YES
4668
4669   AC_CHECK_HEADER(sqlext.h, [],
4670      [AC_MSG_ERROR(odbc not found. install odbc)], [])
4671else
4672   AC_MSG_RESULT([internal])
4673   SYSTEM_ODBC_HEADERS=NO
4674   BUILD_TYPE="$BUILD_TYPE UNIXODBC"
4675fi
4676AC_SUBST(SYSTEM_ODBC_HEADERS)
4677
4678AC_MSG_CHECKING([whether to build XML Security support])
4679if test "$enable_nss_module" = "no"; then
4680   AC_MSG_RESULT([no, since NSS disabled but needed])
4681else
4682   AC_MSG_RESULT([yes])
4683fi
4684
4685AC_MSG_CHECKING([whether to build LDAP configuration backend])
4686if test -z "$enable_ldap" || test "$enable_ldap" = "yes"; then
4687   if test "$with_openldap" = "yes"; then
4688      AC_MSG_RESULT([yes])
4689      WITH_LDAP=YES
4690   else
4691      WITH_LDAP=NO
4692   fi
4693else
4694   AC_MSG_RESULT([no])
4695   WITH_LDAP=NO
4696fi
4697
4698if test "$WITH_LDAP" = "YES"; then
4699   dnl ===================================================================
4700   dnl Test whether we want to use the OpenLDAP LDAP SDK
4701   dnl ===================================================================
4702   AC_MSG_CHECKING([which LDAP SDK to use])
4703   if test -n "$with_openldap" && test "$with_openldap" != "no"; then
4704  	   AC_MSG_RESULT([OpenLDAP])
4705	   WITH_OPENLDAP=YES
4706	   AC_CHECK_HEADERS(ldap.h, [],
4707		   [AC_MSG_ERROR(ldap.h not found. install openldap libs)], [])
4708	   AC_CHECK_LIB(ldap, ldap_simple_bind_s, [],
4709		   [AC_MSG_ERROR(openldap lib not found or functional)], [])
4710	   # rumours say that OpenLDAP doesn't have that function. I looked and
4711	   # it has it. Test for it to be sure
4712         AC_CHECK_LIB(ldap, ldap_set_option, [],
4713                [AC_MSG_ERROR(openldap lib not found or functional)], [])
4714   fi
4715fi
4716AC_SUBST(WITH_LDAP)
4717AC_SUBST(WITH_OPENLDAP)
4718
4719AC_MSG_CHECKING([whether to build the internal NSS module])
4720if test "$enable_nss_module" != "no"; then
4721   ENABLE_NSS_MODULE="YES"
4722   BUILD_TYPE="$BUILD_TYPE NSS"
4723   AC_MSG_RESULT([yes])
4724   if test "$_os" = "WINNT"; then
4725      AC_MSG_CHECKING([for Mozilla build tooling])
4726      if test -z "$MOZILLABUILD" ; then
4727AC_MSG_ERROR([
4728Mozilla build tooling not found!
4729  It is required for NSS that is needed for AOO's security facilities.
4730  Either disable NSS using the option --disable-nss-module
4731  or use the --with-mozilla-build option after installing the tool obtained
4732  from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/])
4733      else
4734         if test \( "$WITH_MINGWIN" = "yes" \) ; then
4735            if test ! -d "$MOZILLABUILD" ; then
4736AC_MSG_ERROR([Mozilla build tooling incomplete!])
4737            else
4738               AC_MSG_RESULT([ok])
4739            fi
4740         else
4741            if test ! -d "$MOZILLABUILD/msys" ; then
4742AC_MSG_ERROR([Mozilla build tooling incomplete!])
4743            else
4744               AC_MSG_RESULT([ok])
4745            fi
4746         fi
4747      fi
4748   fi
4749else
4750   ENABLE_NSS_MODULE="NO"
4751   AC_MSG_RESULT([no])
4752fi
4753
4754AC_SUBST(ENABLE_NSS_MODULE)
4755AC_SUBST(MOZILLABUILD)
4756AC_SUBST(MOZ_INC)
4757
4758dnl ===================================================================
4759dnl Check for system sane
4760dnl ===================================================================
4761AC_MSG_CHECKING([which sane header to use])
4762if test -n "$with_system_sane_header" -o -n "$with_system_headers" && \
4763	test "$with_system_sane_header" != "no"; then
4764   AC_MSG_RESULT([external])
4765   SYSTEM_SANE_HEADER=YES
4766   AC_CHECK_HEADER(sane/sane.h, [],
4767      [AC_MSG_ERROR(sane not found. install sane)], [])
4768else
4769   AC_MSG_RESULT([internal])
4770   SYSTEM_SANE_HEADER=NO
4771   BUILD_TYPE="$BUILD_TYPE SANE"
4772fi
4773AC_SUBST(SYSTEM_SANE_HEADER)
4774
4775dnl ===================================================================
4776dnl Check for system icu
4777dnl ===================================================================
4778AC_MSG_CHECKING([which icu to use])
4779if test -n "$with_system_icu" -o -n "$with_system_libs" && \
4780	test "$with_system_icu" != "no"; then
4781   AC_MSG_RESULT([external])
4782   SYSTEM_ICU=YES
4783   AC_LANG_PUSH([C++])
4784   AC_MSG_CHECKING([for unicode/rbbi.h])
4785   AC_TRY_CPP(unicode/rbbi.h, AC_MSG_RESULT([checked.]), AC_MSG_ERROR([icu headers not found.]))
4786   AC_LANG_POP([C++])
4787   AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin])
4788   if test -z "$SYSTEM_GENBRK"; then
4789      AC_MSG_ERROR([\"genbrk\" not found in \$PATH, install the icu development tool \"genbrk"\])
4790   fi
4791   AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin])
4792   if test -z "$SYSTEM_GENCCODE"; then
4793      AC_MSG_ERROR([\"genccode\" not found in \$PATH, install the icu development tool \"genccode"\])
4794   fi
4795   AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin])
4796   if test -z "$SYSTEM_GENCMN"; then
4797      AC_MSG_ERROR([\"gencmn\" not found in \$PATH, install the icu development tool \"gencmn"\])
4798   fi
4799
4800   AC_PATH_PROG( ICUCONFIG, icu-config)
4801   AC_MSG_CHECKING([ICU version])
4802   if test "$_os" = "OS2"; then
4803      ICU_MAJOR=4
4804   else
4805      ICU_VERSION=`$ICUCONFIG --version`
4806      ICU_MAJOR=`$ICUCONFIG --version | cut -d"." -f1`
4807      ICU_MINOR=`$ICUCONFIG --version | cut -d"." -f2`
4808      ICU_MICRO=`$ICUCONFIG --version | cut -d"." -f3`
4809   fi
4810
4811   if test "$ICU_MAJOR" -ge "4"; then
4812      AC_MSG_RESULT([OK])
4813   else
4814      AC_MSG_ERROR([not suitable, only >= 4.0 supported currently])
4815   fi
4816
4817else
4818    AC_MSG_RESULT([internal])
4819    SYSTEM_ICU=NO
4820    BUILD_TYPE="$BUILD_TYPE ICU"
4821fi
4822AC_SUBST(SYSTEM_ICU)
4823AC_SUBST(SYSTEM_GENBRK)
4824AC_SUBST(SYSTEM_GENCCODE)
4825AC_SUBST(SYSTEM_GENCMN)
4826AC_SUBST(ICU_MAJOR)
4827AC_SUBST(ICU_MINOR)
4828AC_SUBST(ICU_MICRO)
4829
4830dnl ===================================================================
4831dnl Graphite
4832dnl ===================================================================
4833
4834ENABLE_GRAPHITE="FALSE"
4835AC_MSG_CHECKING([whether to enable graphite support])
4836if test "x$enable_graphite" = "xyes" -a \( "$_os" = "WINNT" -o "$_os" = "Linux" -o "$_os" = "FreeBSD" \) ; then
4837    AC_MSG_RESULT([yes])
4838    ENABLE_GRAPHITE="TRUE"
4839    AC_MSG_CHECKING([which graphite to use])
4840    if test -n "$with_system_graphite" -o -n "$with_system_libs" && \
4841        test "$with_system_graphite" != "no"; then
4842        AC_MSG_RESULT([external])
4843        SYSTEM_GRAPHITE=YES
4844        PKG_CHECK_MODULES( GRAPHITE, silgraphite )
4845    else
4846        AC_MSG_RESULT([internal])
4847        SYSTEM_GRAPHITE=NO
4848        BUILD_TYPE="$BUILD_TYPE GRAPHITE"
4849    fi
4850else
4851   AC_MSG_RESULT([no])
4852   ENABLE_GRAPHITE="FALSE"
4853fi
4854AC_SUBST(ENABLE_GRAPHITE)
4855AC_SUBST(SYSTEM_GRAPHITE)
4856AC_SUBST(GRAPHITE_LIBS)
4857AC_SUBST(GRAPHITE_CFLAGS)
4858
4859
4860dnl ===================================================================
4861dnl Checks for libraries.
4862dnl ===================================================================
4863dnl Check for Mac OS X native GUI, which may is now required; the X11 build is no longer supported
4864dnl See if we have the AppKit framework for building with Quartz graphics.
4865
4866if test  "$_os" = "Darwin"; then
4867   if test "x$with_x" = "xyes"; then
4868      AC_MSG_ERROR([X11 build is no longer supported on MacOSX, please use the native aqua build])
4869   else
4870      AC_MSG_CHECKING([for /System/Library/Frameworks/AppKit.framework])
4871      if test -d "/System/Library/Frameworks/AppKit.framework/"; then
4872         AC_MSG_RESULT([yes])
4873         x_includes="no_x_includes"
4874         x_libraries="no_x_libraries"
4875         dnl disable some things used on other Unix versions but not on the aqua build
4876         enable_gtk=no
4877         enable_cups=no
4878         ENABLE_CUPS=""
4879         AC_SUBST(ENABLE_CUPS)
4880      else
4881         AC_MSG_ERROR([No AppKit.framewrok found])
4882      fi
4883   fi
4884fi
4885
4886dnl ***************************************
4887dnl testing for X libraries and includes...
4888dnl ***************************************
4889if test "$_os" = "Darwin" -a "x$x_includes" = "xno_x_includes"; then
4890   echo "Do Nothing for _os = Darwin"
4891   dnl Mac OS X using Aqua graphics. Don't check for X11.
4892   :
4893elif test "$_os" = "OS2" ; then
4894   echo "Do Nothing for _os = OS2. Don't check for X11."
4895   dnl OS/2 uses native graphics. Don't check for X11.
4896   :
4897elif test "$_os" != "WINNT" ; then
4898   AC_PATH_X
4899   AC_PATH_XTRA
4900   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
4901
4902   if test "x$x_includes" = "x"; then
4903     x_includes="default_x_includes"
4904   fi
4905   if test "x$x_libraries" = "x"; then
4906     x_libraries="default_x_libraries"
4907   fi
4908   dnl The variables $x_libraries and $x_includes are set.
4909   if test -z "$x_libraries"; then
4910      AC_MSG_ERROR([No X libraries found]) # Exit
4911   fi
4912   if test -z "$x_includes"; then
4913      AC_MSG_ERROR([No X includes found]) # Exit
4914   fi
4915   CFLAGS=$X_CFLAGS
4916   LDFLAGS="$X_LDFLAGS $X_LIBS"
4917   AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", [AC_MSG_ERROR([X Development libraries not found])])
4918   dnl Check if the XauDisposeAuth symbol is provided by libXau.
4919   AC_CHECK_LIB(Xau, XauDisposeAuth, XAU_LIBS="-lXau", [])
4920else
4921   x_includes="no_x_includes"
4922   x_libraries="no_x_libraries"
4923fi
4924if test -z "$x_includes"; then
4925   x_includes="no_x_includes"
4926fi
4927if test -z "$x_libraries"; then
4928   x_libraries="no_x_libraries"
4929fi
4930if test "$x_includes" = "default_x_includes"; then
4931   XINC="/usr/include"
4932else
4933   XINC="$x_includes"
4934fi
4935AC_SUBST(XINC)
4936if test "$x_libraries" = "default_x_libraries"; then
4937   XLIB=`$PKG_CONFIG --variable=libdir x11`
4938   if test "x$XLIB" = x; then
4939         XLIB="/usr/lib"
4940   fi
4941else
4942   XLIB="$x_libraries"
4943fi
4944AC_SUBST(XLIB)
4945AC_SUBST(XAU_LIBS)
4946
4947dnl ===================================================================
4948dnl Check if fontconfig/fontconfig.h is available
4949dnl ===================================================================
4950if test "$ENABLE_FONTCONFIG" = "TRUE" ; then
4951    AC_CHECK_HEADER(fontconfig/fontconfig.h, [],
4952                    [AC_MSG_ERROR([fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?])], [])
4953    AC_MSG_CHECKING([whether fontconfig is >= 2.2.0])
4954    AC_TRY_RUN([
4955#include <fontconfig/fontconfig.h>
4956
4957int main(int argc, char **argv) {
4958	if(FC_MAJOR > 2 || (FC_MAJOR == 2 && FC_MINOR >= 2)) return 0;
4959	else return 1;
4960}
4961], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, fontconfig >= 2.2.0 needed])])
4962fi
4963
4964dnl ===================================================================
4965dnl Check for system Xrender
4966dnl ===================================================================
4967AC_MSG_CHECKING([whether to link to Xrender])
4968if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then
4969   AC_MSG_RESULT([yes])
4970   XRENDER_LINK=YES
4971   with_system_xrender_headers=yes
4972else
4973   AC_MSG_RESULT([no, dynamically open it])
4974   XRENDER_LINK=NO
4975fi
4976AC_MSG_CHECKING([which Xrender headers to use])
4977if test -n "$with_system_xrender_headers" -o -n "$with_system_headers" && \
4978	test "$with_system_xrender_headers" != "no"; then
4979   AC_MSG_RESULT([external])
4980   SYSTEM_XRENDER_HEADERS=YES
4981   AC_CHECK_HEADER(X11/extensions/Xrender.h, [],
4982      [AC_MSG_ERROR(Xrender not found. install X)], [])
4983else
4984   AC_MSG_RESULT([internal])
4985   SYSTEM_XRENDER_HEADERS=NO
4986   BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS"
4987fi
4988if test "$XRENDER_LINK" = "YES"; then
4989   AC_CHECK_LIB(Xrender, XRenderQueryVersion, [],
4990      [AC_MSG_ERROR(libXrender not found or functional)], [])
4991fi
4992AC_SUBST(SYSTEM_XRENDER_HEADERS)
4993AC_SUBST(XRENDER_LINK)
4994
4995dnl ===================================================================
4996dnl Check for XRandr
4997dnl ===================================================================
4998AC_MSG_CHECKING([whether to enable RandR support])
4999if test "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \) ; then
5000   if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then
5001	  XRANDR_DLOPEN="TRUE"
5002	  AC_MSG_RESULT([resorting to dlopen libXrandr at runtime])
5003   else
5004	  XRANDR_DLOPEN="FALSE"
5005      PKG_CHECK_MODULES(XRANDR, xrandr >= 1.2, ENABLE_RANDR="TRUE", ENABLE_RANDR="")
5006      if test "$ENABLE_RANDR" != "TRUE"; then
5007         AC_CHECK_HEADER(X11/extensions/Xrandr.h, [],
5008                        [AC_MSG_ERROR([X11/extensions/Xrandr.h could not be found. X11 dev missing?])], [])
5009         XRANDR_CFLAGS=" "
5010         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [],
5011              [ AC_MSG_ERROR(libXrandr not found or functional) ], [])
5012         XRANDR_LIBS="-lXrandr "
5013         ENABLE_RANDR="TRUE"
5014	     AC_MSG_RESULT([enabling RandR support])
5015      fi
5016   fi
5017else
5018   ENABLE_RANDR=""
5019   AC_MSG_RESULT([no])
5020fi
5021AC_SUBST(XRANDR_DLOPEN)
5022AC_SUBST(XRANDR_CFLAGS)
5023AC_SUBST(XRANDR_LIBS)
5024AC_SUBST(ENABLE_RANDR)
5025
5026dnl ===================================================================
5027dnl Check for system nss
5028dnl ===================================================================
5029AC_MSG_CHECKING([which libnss to use])
5030if test -n "$with_system_nss" -o -n "$with_system_libs" && test "$with_system_nss" != "no"; then
5031    AC_MSG_RESULT([external])
5032    PKG_CHECK_MODULES( NSS, nss )
5033    SYSTEM_NSS=YES
5034else
5035    AC_MSG_RESULT([internal])
5036    SYSTEM_NSS=NO
5037    BUILD_TYPE="$BUILD_TYPE NSS"
5038fi
5039AC_SUBST(SYSTEM_NSS)
5040AC_SUBST(NSS_CFLAGS)
5041AC_SUBST(NSS_LIBS)
5042
5043dnl ===================================================================
5044dnl Check for system openssl
5045dnl ===================================================================
5046if test "$_os" = "Darwin" && test "$with_system_openssl" != "no"; then
5047   with_system_openssl=yes
5048fi
5049AC_MSG_CHECKING([which libssl to use])
5050if test -n "$with_system_openssl" -o -n "$with_system_libs" && \
5051        test "$with_system_openssl" != "no"; then
5052    AC_MSG_RESULT([external])
5053    # Mac OS builds should get out without extra stuff is the Mac porters'
5054    # wish. And pkg-config is although Xcode ships a .pc for openssl
5055    if test "$_os" = "Darwin" -o "$_os" = "FreeBSD"; then
5056        OPENSSL_CFLAGS=
5057        OPENSSL_LIBS="-lssl -lcrypto"
5058    else
5059    	PKG_CHECK_MODULES( OPENSSL, openssl )
5060    fi
5061    SYSTEM_OPENSSL=YES
5062else
5063    AC_MSG_RESULT([internal])
5064    SYSTEM_OPENSSL=NO
5065    BUILD_TYPE="$BUILD_TYPE OPENSSL"
5066fi
5067AC_SUBST(SYSTEM_OPENSSL)
5068AC_SUBST(OPENSSL_CFLAGS)
5069AC_SUBST(OPENSSL_LIBS)
5070
5071dnl ===================================================================
5072dnl Check for system redland
5073dnl ===================================================================
5074AC_MSG_CHECKING([which redland library to use])
5075if test -n "$with_system_redland" -o -n "$with_system_libs" && \
5076	test "$with_system_redland" != "no"; then
5077	AC_MSG_RESULT([external])
5078	SYSTEM_REDLAND=YES
5079   dnl versions before 1.0.8 write RDF/XML that is useless for ODF (@xml:base)
5080   PKG_CHECK_MODULES(REDLAND, redland >= 1.0.8)
5081else
5082	AC_MSG_RESULT([internal])
5083	BUILD_TYPE="$BUILD_TYPE REDLAND"
5084	SYSTEM_REDLAND=NO
5085fi
5086AC_SUBST(SYSTEM_REDLAND)
5087AC_SUBST(REDLAND_CFLAGS)
5088AC_SUBST(REDLAND_LIBS)
5089
5090dnl ===================================================================
5091dnl Check for hunspell
5092dnl ===================================================================
5093AC_MSG_CHECKING([whether to build the Spell Checking component])
5094ENABLE_HUNSPELL=
5095
5096if test "x$enable_hunspell" != "xno" ; then
5097    AC_MSG_CHECKING([which libhunspell to use])
5098    if test -n "$with_system_hunspell" -o -n "$with_system_libs" && \
5099        test "$with_system_hunspell" != "no"; then
5100        AC_MSG_RESULT([external])
5101        SYSTEM_HUNSPELL=YES
5102        AC_LANG_PUSH([C++])
5103        PKG_CHECK_MODULES(HUNSPELL, hunspell, HUNSPELL_PC="TRUE", HUNSPELL_PC="" )
5104        if test "$HUNSPELL_PC" != "TRUE"; then
5105            AC_CHECK_HEADER(hunspell.hxx, [],
5106            [AC_CHECK_HEADER(hunspell/hunspell.hxx, [ HUNSPELL_CFLAGS=-I/usr/include/hunspell ],
5107                [AC_MSG_ERROR(hunspell headers not found.)], [])
5108             ], [])
5109            AC_CHECK_LIB(hunspell, main, [],
5110            [ AC_MSG_ERROR(hunspell library not found.) ], [])
5111            HUNSPELL_LIBS=-lhunspell
5112        fi
5113        AC_LANG_POP([C++])
5114    else
5115        AC_MSG_RESULT([internal])
5116        SYSTEM_HUNSPELL=NO
5117        BUILD_TYPE="$BUILD_TYPE HUNSPELL"
5118    fi
5119    ENABLE_HUNSPELL=YES
5120    AC_SUBST(SYSTEM_HUNSPELL)
5121    AC_SUBST(HUNSPELL_CFLAGS)
5122    AC_SUBST(HUNSPELL_LIBS)
5123else
5124    AC_MSG_RESULT([no])
5125fi
5126AC_SUBST(ENABLE_HUNSPELL)
5127
5128dnl ===================================================================
5129dnl Checking for libhyphen
5130dnl ===================================================================
5131AC_MSG_CHECKING([whether to build the Hyphenator component])
5132ENABLE_HYPHEN=
5133
5134if test "x$enable_hyphen" != "xno" ; then
5135    AC_MSG_CHECKING([which libhyphen to use])
5136    if test -n "$with_system_hyphen" -o -n "$with_system_libs" && \
5137        test "$with_system_hyphen" != "no"; then
5138        AC_MSG_RESULT([external])
5139        SYSTEM_HYPH=YES
5140        AC_CHECK_HEADER(hyphen.h, [],
5141        [ AC_MSG_ERROR(libhyphen headers not found.)], [])
5142        AC_CHECK_MEMBER(struct _HyphenDict.cset, [],
5143        [ AC_MSG_ERROR(no. You are sure you have libhyphen headers?)],
5144        [#include <hyphen.h>])
5145        AC_CHECK_LIB(hyphen, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyphen],
5146            [ AC_MSG_ERROR(libhyphen not found or too old.)], [])
5147        if test -z "$HYPHEN_LIB"; then
5148        AC_CHECK_LIB(hyph, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyph],
5149            [ AC_MSG_ERROR(libhyphen not found or too old.)], [])
5150        fi
5151        if test -z "$HYPHEN_LIB"; then
5152        AC_CHECK_LIB(hnj, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhnj],
5153            [ AC_MSG_ERROR(libhyphen not found or too old.)], [])
5154        fi
5155    else
5156        AC_MSG_RESULT([internal])
5157        SYSTEM_HYPH=NO
5158        BUILD_TYPE="$BUILD_TYPE HYPHEN"
5159    fi
5160    ENABLE_HYPHEN=YES
5161    AC_SUBST(SYSTEM_HYPH)
5162    AC_SUBST(HYPHEN_LIB)
5163else
5164    AC_MSG_RESULT([no])
5165fi
5166AC_SUBST(ENABLE_HYPHEN)
5167
5168
5169#dnl ===================================================================
5170#dnl Check whether we are allowed to bundle dictionaries and whether
5171#dnl hunspell is available.
5172#dnl ===================================================================
5173ENABLE_BUNDLED_DICTIONARIES=
5174if test "x$enable_bundled_dictionaries" != "xno" -a "x$ENABLE_HUNSPELL" = "xYES"; then
5175   ENABLE_BUNDLED_DICTIONARIES=YES
5176fi
5177AC_SUBST(ENABLE_BUNDLED_DICTIONARIES)
5178
5179
5180
5181dnl ===================================================================
5182dnl Checking for mythes
5183dnl ===================================================================
5184AC_MSG_CHECKING([which mythes to use])
5185if test -n "$with_system_mythes" -o -n "$with_system_libs" && \
5186   test "$with_system_mythes" != "no"; then
5187    AC_MSG_RESULT([external])
5188    SYSTEM_MYTHES=YES
5189    AC_LANG_PUSH([C++])
5190    PKG_CHECK_MODULES(MYTHES, mythes, MYTHES_PKGCONFIG=yes, MYTHES_PKGCONFIG=no)
5191    if test "$MYTHES_PKGCONFIG" = "no"; then
5192        AC_CHECK_HEADER(mythes.hxx, [],
5193            [ AC_MSG_ERROR(mythes.hxx headers not found.)], [])
5194        AC_CHECK_LIB(mythes-1.2, main, [],
5195            [ MYTHES_FOUND=no], [])
5196 	if test "$MYTHES_FOUND" = "no"; then
5197            AC_CHECK_LIB(mythes, main, [MYTHES_FOUND=yes],
5198                [ MYTHES_FOUND=no], [])
5199	fi
5200	if test "$MYTHES_FOUND" = "no"; then
5201		AC_MSG_ERROR([mythes library not found!.])
5202	fi
5203    fi
5204    AC_LANG_POP([C++])
5205else
5206    AC_MSG_RESULT([internal])
5207    SYSTEM_MYTHES=NO
5208    BUILD_TYPE="$BUILD_TYPE MYTHES"
5209fi
5210AC_SUBST(SYSTEM_MYTHES)
5211AC_SUBST(MYTHES_CFLAGS)
5212AC_SUBST(MYTHES_LIBS)
5213
5214
5215dnl ===================================================================
5216dnl Checking for libtextcat
5217dnl ===================================================================
5218AC_MSG_CHECKING([which libtextcat to use])
5219if test -n "$with_system_libtextcat" && test "$with_system_libtextcat" != "no"; then
5220    AC_MSG_RESULT([external])
5221    SYSTEM_LIBTEXTCAT=YES
5222    AC_CHECK_HEADER(libtextcat/textcat.h, [],
5223       [ AC_MSG_ERROR(libtextcat headers not found.)], [])
5224    AC_CHECK_LIB(textcat, special_textcat_Init, ,
5225        [ AC_MSG_ERROR(libtextcat library not found or not suitable. libtextcat typically needs to be patched)], [])
5226else
5227    AC_MSG_RESULT([internal])
5228    SYSTEM_LIBTEXTCAT=NO
5229    BUILD_TYPE="$BUILD_TYPE LIBTEXTCAT"
5230fi
5231AC_SUBST(SYSTEM_LIBTEXTCAT)
5232
5233AC_MSG_CHECKING([which libtextcat data directory to use])
5234if test -n "$with_system_libtextcat_data" && test "$with_system_libtextcat_data" != "no"; then
5235    if test "$with_system_libtextcat_data" = "yes"; then
5236        SYSTEM_LIBTEXTCAT_DATA=file:///usr/share/libtextcat
5237    else
5238        SYSTEM_LIBTEXTCAT_DATA=file://$with_system_libtextcat_data
5239    fi
5240    AC_MSG_RESULT([$SYSTEM_LIBTEXTCAT_DATA])
5241else
5242    AC_MSG_RESULT([internal])
5243    BUILD_TYPE="$BUILD_TYPE LIBTEXTCATDATA"
5244fi
5245AC_SUBST(SYSTEM_LIBTEXTCAT_DATA)
5246
5247dnl ***************************************
5248dnl testing libc version for Linux...
5249dnl ***************************************
5250if test "$_os" = "Linux"; then
5251   AC_MSG_CHECKING([whether libc is >= 2.1.1])
5252   exec 6>/dev/null # no output
5253   AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC)
5254   exec 6>&1 # output on again
5255   if test "$HAVE_LIBC"; then
5256      AC_MSG_RESULT([yes])
5257   else
5258      AC_MSG_ERROR([no, upgrade libc])
5259   fi
5260fi
5261
5262if test "$_os" != "WNT"; then
5263  AC_CHECK_FUNCS(getopt, HAVE_GETOPT=YES, [HAVE_GETOPT=NO])
5264  AC_CHECK_FUNCS(readdir_r, HAVE_READDIR_R=YES, [HAVE_READDIR_R=NO])
5265  if test "$HAVE_GETOPT" = "YES" -a "$HAVE_READDIR_R" = "YES"; then
5266	SYSTEM_LIBC=YES
5267  fi
5268else
5269  HAVE_GETOPT=NO
5270  HAVE_READDIR_R=NO
5271  SYSTEM_LIBC=YES
5272fi
5273AC_SUBST(HAVE_GETOPT)
5274AC_SUBST(HAVE_READDIR_R)
5275AC_SUBST(SYSTEM_LIBC)
5276
5277dnl =========================================
5278dnl Check for the Microsoft Platform SDK.
5279dnl =========================================
5280dnl FIXME: I don't know yet if PSDK works with MinGW, keep it until I know better,
5281dnl and add "-a \( "$WITH_MINGWIN" != "yes" \)" then
5282if test \( "$_os" = "WINNT" \) ; then
5283	AC_MSG_CHECKING([for PSDK files])
5284	if test -z "$with_psdk_home"; then
5285		# This first line will detect a February 2003 Microsoft Platform SDK
5286		PSDK_HOME=`$OOWINTOOL --psdk-home`
5287        # But there might be also an April 2005 PSDK, unfortunately MS changed
5288        # the registry entry. (we prefer the old version!?)
5289        if test -z "$PSDK_HOME"; then
5290          PSDK_HOME=`cat /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/*/Install\ Dir 2> /dev/null | tr '\000' '\n' | head -n 1`
5291        fi
5292            # normalize if found
5293            if test -n "$PSDK_HOME"; then
5294              PSDK_HOME=`cygpath -d "$PSDK_HOME"`
5295              PSDK_HOME=`cygpath -u "$PSDK_HOME"`
5296           fi
5297	else
5298           PSDK_HOME=`cygpath -u "$with_psdk_home"`
5299	fi
5300        # Remove a possible trailing backslash
5301        PSDK_HOME=`echo $PSDK_HOME | $SED 's/\/$//'`
5302    # Problem with current PSDK (iz 49865)
5303    if test -f "$PSDK_HOME/Lib/libcp.lib"; then
5304        AC_MSG_ERROR([
5305
5306Some modules do not build correctly with MS Platform SDK - April 2005
5307Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found.
5308Remove/rename/backup that file and restart configure. Details about this
5309problem can be found in issue 49856.])
5310    fi
5311# Windows SDK has different headers
5312	if test \( -f "$PSDK_HOME/Include/adoint.h" \) \
5313		 -a \( -f "$PSDK_HOME/Include/SqlUcode.h" \) \
5314		 -a \( -f "$PSDK_HOME/Include/usp10.h" \); then
5315		HAVE_PSDK_H="yes"
5316	else
5317		HAVE_PSDK_H="no"
5318	fi
5319	if test -f "$PSDK_HOME/lib/unicows.lib"; then
5320		HAVE_PSDK_LIB="yes"
5321	else
5322		HAVE_PSDK_LIB="no"
5323	fi
5324    if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then
5325        AC_MSG_ERROR([Some (all?) PSDK files not found, please check if all needed Platform SDKs
5326are installed or use --with-psdk-home .])
5327    fi
5328    if test ! -x "$PSDK_HOME/bin/msiinfo.exe" \
5329         -o ! -x "$PSDK_HOME/bin/msidb.exe" \
5330         -o ! -x "$PSDK_HOME/bin/uuidgen.exe" \
5331         -o ! -x "$PSDK_HOME/bin/msitran.exe" ; then
5332        AC_MSG_ERROR([Some (all) files of the Windows Installer SDK are missing, please install.])
5333    fi
5334    AC_MSG_RESULT([SDK files found ...)])
5335dnl Check if this is the right SDK.
5336    if echo $PSDK_HOME | $GREP "v6.1" >/dev/null 2>/dev/null; then
5337        AC_MSG_RESULT([Found Windows SDK 6.1 ($PSDK_HOME)])
5338        WINDOWS_VISTA_PSDK=TRUE
5339    elif echo $PSDK_HOME | $GREP "v6.0" >/dev/null 2>/dev/null; then
5340        AC_MSG_RESULT([Found Windows SDK 6.0 ($PSDK_HOME)])
5341        WINDOWS_VISTA_PSDK=TRUE
5342    elif echo $PSDK_HOME | $GREP "v7.0" >/dev/null 2>/dev/null; then
5343        AC_MSG_RESULT([Found Windows SDK 7.0 ($PSDK_HOME)])
5344        WINDOWS_VISTA_PSDK=TRUE
5345    else
5346        AC_MSG_RESULT([Found Legacy Windows Platform SDK ($PSDK_HOME)])
5347    fi
5348fi
5349AC_SUBST(PSDK_HOME)
5350AC_SUBST(WINDOWS_VISTA_PSDK)
5351
5352dnl =========================================
5353dnl Check for the Microsoft DirectX SDK.
5354dnl =========================================
5355if test \( "$_os" = "WINNT" \) ; then
5356    AC_MSG_CHECKING([for DirectX SDK files])
5357    if test -z "$with_directx_home"; then
5358        dnl A standard installation of the DirectX SDK sets $DXSDK_DIR
5359        if test -n "$DXSDK_DIR"; then
5360            DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"`
5361            DIRECTXSDK_HOME=`cygpath -u "$DIRECTXSDK_HOME"`
5362        fi
5363        # At this point $DIRECTXSDK_HOME might still be undefined. This will lead to
5364        # the "DirectX SDK files not found" error later
5365    else
5366	DIRECTXSDK_HOME=`cygpath -u "$with_directx_home"`
5367    fi
5368    # Remove a possible trailing backslash
5369    DIRECTXSDK_HOME=`echo $DIRECTXSDK_HOME | $SED 's/\/$//'`
5370
5371    if test -f "$DIRECTXSDK_HOME/Include/ddraw.h" ; then
5372        HAVE_DIRECTDRAW_H="yes"
5373    else
5374        HAVE_DIRECTDRAW_H="no"
5375    fi
5376    if test -f "$DIRECTXSDK_HOME/Include/d3d9.h" ; then
5377        HAVE_DIRECTXSDK_H="yes"
5378    else
5379        HAVE_DIRECTXSDK_H="no"
5380    fi
5381
5382    # MS changed the location of the libraries with dec 2004 directx sdk
5383    if test -d "$DIRECTXSDK_HOME/lib/x86" ; then
5384        DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib/x86"
5385    else
5386        DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib"
5387    fi
5388    if test -f "$DIRECTXSDK_LIB/ddraw.lib" ; then
5389        HAVE_DIRECTDRAW_LIB="yes"
5390    else
5391        HAVE_DIRECTDRAW_LIB="no"
5392    fi
5393    if test -f "$DIRECTXSDK_LIB/d3d9.lib" ; then
5394        HAVE_DIRECTXSDK_LIB="yes"
5395    else
5396        HAVE_DIRECTXSDK_LIB="no"
5397    fi
5398
5399    if test "$HAVE_DIRECTDRAW_H" = "yes" -a "$HAVE_DIRECTDRAW_LIB" = "yes" ; then
5400       ENABLE_DIRECT_DRAW="TRUE"
5401    fi
5402    if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes" ; then
5403       HAVE_DIRECTXSDK="yes"
5404    else
5405       HAVE_DIRECTXSDK="no"
5406    fi
5407
5408    if test -n "$ENABLE_DIRECTX"; then
5409	    if test "$HAVE_DIRECTDRAW" = "yes" -o "$HAVE_DIRECTXSDK" = "yes" ; then
5410		    AC_MSG_RESULT([found])
5411	    else
5412		    AC_MSG_ERROR([DirectX SDK files not found, please use --with-directx-home or --disable-directx.])
5413	    fi
5414    else
5415		DIRECTXSDK_HOME=""
5416		AC_MSG_RESULT([disabled])
5417    fi
5418fi
5419AC_SUBST(ENABLE_DIRECT_DRAW)
5420AC_SUBST(DIRECTXSDK_HOME)
5421AC_SUBST(DIRECTXSDK_LIB)
5422
5423
5424dnl ============================================
5425dnl Check for ATL and MFC
5426dnl ============================================
5427if test \( "$_os" = "WINNT" \) ; then
5428    AC_MSG_CHECKING([for ATL and MFC])
5429    if test "$DISABLE_ATL" = "TRUE"; then
5430        AC_MSG_RESULT([ATL is disabled, nothing to check])
5431    else
5432        AC_MSG_NOTICE([testing ATL/MFC libs and includes])
5433        if test -z "$with_atl_include_dir"; then
5434            ATL_INCLUDE=$COMPATH/atlmfc/include
5435        else
5436            ATL_INCLUDE=`cygpath -u "$with_atl_include_dir"`
5437        fi
5438        if test -z "$with_atl_lib_dir"; then
5439            ATL_LIB=$COMPATH/atlmfc/lib
5440	    ATL_LIB_X64=$COMPATH/atlmfc/lib/amd64
5441        else
5442            ATL_LIB=`cygpath -u "$with_atl_lib_dir"`
5443            ATL_LIB_X64=$ATL_LIB/../amd64
5444        fi
5445        if test -z "$with_mfc_include_dir"; then
5446            MFC_INCLUDE=$COMPATH/atlmfc/include
5447        else
5448            MFC_INCLUDE=`cygpath -u "$with_mfc_include_dir"`
5449        fi
5450        if test -z "$with_mfc_lib_dir"; then
5451            MFC_LIB=$COMPATH/atlmfc/lib
5452        else
5453            MFC_LIB=`cygpath -u "$with_mfc_lib_dir"`
5454        fi
5455
5456        ATL_INCLUDE=`echo $ATL_INCLUDE | $SED 's/\/$//'`
5457        ATL_LIB=`echo $ATL_LIB | $SED 's/\/$//'`
5458        ATL_LIB_X64=`echo $ATL_LIB_X64 | $SED 's/\/$//'`
5459        MFC_INCLUDE=`echo $MFC_INCLUDE | $SED 's/\/$//'`
5460        MFC_LIB=`echo $MFC_LIB | $SED 's/\/$//'`
5461
5462        AC_MSG_NOTICE([looking for atlbase.h in "$ATL_INCLUDE"])
5463        if test -f "$ATL_INCLUDE/atlbase.h"; then
5464            HAVE_ATL_H="yes"
5465        else
5466            HAVE_ATL_H="no"
5467        fi
5468        AC_MSG_NOTICE([found atlbase.h in "$ATL_INCLUDE"? "$HAVE_ATL_H"])
5469
5470        AC_MSG_NOTICE([looking for afx.h in "$MFC_INCLUDE"])
5471        if test -f "$MFC_INCLUDE/afx.h"; then
5472            HAVE_MFC_H="yes"
5473        else
5474            HAVE_MFC_H="no"
5475        fi
5476        AC_MSG_NOTICE([found afx.h in "$MFC_INCLUDE"? "$HAVE_MFC_H"])
5477
5478        AC_MSG_NOTICE([looking for atls.lib in "$ATL_LIB"])
5479        if test -f "$ATL_LIB/atls.lib"; then
5480            HAVE_ATL_LIB="yes"
5481            AC_MSG_NOTICE([looking for atlthunk.lib in "$ATL_LIB"])
5482            if test -f "$ATL_LIB/atlthunk.lib"; then
5483                HAVE_ATLTHUNK="YES"
5484            else
5485                HAVE_ATLTHUNK="NO"
5486            fi
5487            AC_MSG_NOTICE([found atlthunk.lib in "$ATL_LIB"? "$HAVE_ATLTHUNK"])
5488        else
5489            HAVE_ATL_LIB="no"
5490        fi
5491        AC_MSG_NOTICE([found atls.lib in "$ATL_LIB"? "$HAVE_ATL_LIB"])
5492
5493        dnl TODO check also MFC libraries, they seem to have different names
5494        dnl mfc42.lib mfc90.lib
5495        if test -d "$MFC_LIB"; then
5496            HAVE_MFC_LIB="yes"
5497        else
5498            HAVE_MFC_LIB="no"
5499        fi
5500
5501        if test "$HAVE_ATL_H" = "no" -o "$HAVE_MFC_H" = "no" -o "$HAVE_ATL_LIB" = "no" -o "$HAVE_MFC_LIB" = "no"; then
5502            ATL_INCLUDE=
5503            ATL_LIB=
5504            ATL_LIB_X64=
5505            MFC_INCLUDE=
5506            MFC_LIB=
5507            HAVE_ATL_LIB=
5508            dnl TODO shouldn't this be an error?
5509            DISABLE_ACTIVEX="TRUE"
5510            DISABLE_ATL="TRUE"
5511            AC_MSG_RESULT([ATL/MFC disabled])
5512        else
5513            ATL_INCLUDE=`cygpath -dm "$ATL_INCLUDE"`
5514            ATL_LIB=`cygpath -dm "$ATL_LIB"`
5515            ATL_LIB_X64=`cygpath -dm "$ATL_LIB_X64"`
5516            MFC_INCLUDE=`cygpath -dm "$MFC_INCLUDE"`
5517            MFC_LIB=`cygpath -dm "$MFC_LIB"`
5518            AC_MSG_RESULT([ATL/MFC enabled])
5519        fi
5520    fi
5521fi
5522AC_SUBST(ATL_INCLUDE)
5523AC_SUBST(ATL_LIB)
5524AC_SUBST(ATL_LIB_X64)
5525AC_SUBST(HAVE_ATLTHUNK)
5526AC_SUBST(MFC_INCLUDE)
5527AC_SUBST(MFC_LIB)
5528
5529
5530dnl ============================================
5531dnl Check for Nullsoft Scriptable Install System
5532dnl ============================================
5533NSIS_PATH=""
5534if test "$_os" = "WINNT" ; then
5535    AC_MSG_CHECKING([for NSIS])
5536    AC_PATH_PROG(NSIS_PATH, nsis.exe)
5537    if test -n "$NSIS_PATH"; then
5538        NSIS_PATH=`dirname "$NSIS_PATH"`
5539    fi
5540    if test -n "$with_nsis_path"; then
5541        with_nsis_path=`cygpath -u "$with_nsis_path"`
5542    fi
5543    if test -e "$with_nsis_path/nsis.exe"; then
5544        NSIS_PATH="$with_nsis_path"
5545    fi
5546    nsistest=`$OOWINTOOL --nsis-dir`;
5547    if test -x "$nsistest/nsis.exe"; then
5548        NSIS_PATH="$nsistest"
5549    fi
5550    if test -z "$NSIS_PATH"; then
5551        AC_MSG_WARN([NSIS not found, no self contained installer will be build.])
5552        echo "NSIS not found, no self contained installer will be build." >> warn
5553    else
5554        NSIS_PATH=`cygpath -d "$NSIS_PATH"`
5555        NSIS_PATH=`cygpath -u "$NSIS_PATH"`
5556        AC_MSG_RESULT([found ($NSIS_PATH)])
5557		AC_MSG_CHECKING([whether NSIS version is >= 3.*])
5558		nsis_version_string=`"$NSIS_PATH/makensis.exe" /VERSION | $SED -e s/^v//i`
5559        nsis_version_major=`echo $nsis_version_string | cut -d. -f1`
5560		nsis_version_minor=`echo $nsis_version_string | cut -d. -f2`
5561		if test "$nsis_version_major" -ge "3"; then
5562			AC_MSG_RESULT([found NSIS $nsis_version_major.$nsis_version_minor >= 3.*])
5563			AC_MSG_CHECKING([whether NSIS was compiled with Unicode support])
5564			if echo `"$NSIS_PATH/makensis.exe" /HDRINFO` | $EGREP  "\bNSIS_UNICODE_MAKENSIS\b" 2>&1 >/dev/null; then
5565				AC_MSG_RESULT([NSIS version compiled with Unicode support.])
5566			else
5567				NSIS_PATH=""
5568				AC_MSG_WARN([NSIS version compiled without Unicode support, no self contained installer will be build.])
5569			fi
5570		else
5571			NSIS_PATH=""
5572			AC_MSG_WARN([NSIS version found is < 3.*, no self contained installer will be build.])
5573		fi
5574    fi
5575fi
5576AC_SUBST(NSIS_PATH)
5577
5578dnl ***************************************
5579dnl testing bison and flex exist
5580dnl ***************************************
5581AC_PATH_PROG(BISON, bison)
5582if test -z "$BISON"; then
5583   AC_MSG_ERROR([no bison found in \$PATH, install bison])
5584else
5585   AC_MSG_CHECKING([the bison version])
5586   _bison_version=`$BISON --version | $GREP GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`;
5587    _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'`
5588    # Accept newer than 1.875 or older(equal) than 1.75
5589    if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then
5590       if test "$_bison_version" = "1.875" ; then
5591          AC_MSG_WARN([suspect ($BISON $_bison_version)])
5592          echo "Suspect ($BISON $_bison_version) suggest upgrade" >> warn
5593       else
5594          AC_MSG_RESULT([checked ($BISON $_bison_version)])
5595       fi
5596    else
5597       AC_MSG_ERROR([failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))])
5598    fi
5599fi
5600AC_PATH_PROG(FLEX, flex)
5601if test -z "$FLEX"; then
5602   AC_MSG_ERROR([no flex found in \$PATH, install flex])
5603fi
5604dnl ***************************************
5605dnl testing that patch exists
5606dnl ***************************************
5607AC_PATH_PROG(PATCH, patch)
5608if test -z "$PATCH"; then
5609   AC_MSG_ERROR([\"patch\" not found in \$PATH, install the development tool named\"patch"\])
5610fi
5611
5612dnl On Solaris, FreeBSD or MacOS X, check if --with-gnu-patch was used
5613if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then
5614   if test -z "$with_gnu_patch"; then
5615      GNUPATCH=$PATCH
5616   else
5617      if test -x "$with_gnu_patch"; then
5618	      GNUPATCH=$with_gnu_patch
5619      else
5620         AC_MSG_ERROR([--with-gnu-patch did not point to an executable])
5621      fi
5622   fi
5623
5624   AC_MSG_CHECKING([whether $GNUPATCH is GNU patch])
5625   if $GNUPATCH --version | $GREP "Free Software Foundation" >/dev/null 2>/dev/null; then
5626	   AC_MSG_RESULT([yes])
5627   else
5628      AC_MSG_ERROR([no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it])
5629   fi
5630fi
5631
5632dnl We also need to check for --with-gnu-cp
5633
5634if test -z "$with_gnu_cp"; then
5635   # check the place where the GNU stuff is hidden on Solaris...
5636   if test -x /usr/gnu/bin/cp; then
5637      GNUCP=/usr/gnu/bin/cp
5638   else
5639      AC_PATH_PROGS(GNUCP, gnucp cp)
5640   fi
5641   if test -z $GNUCP; then
5642      AC_MSG_ERROR([Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it])
5643   fi
5644else
5645   if test -x "$with_gnu_cp"; then
5646      GNUCP=$with_gnu_cp
5647   else
5648      AC_MSG_ERROR([--with-gnu-cp did not point to an executable])
5649   fi
5650fi
5651
5652AC_MSG_CHECKING([whether $GNUCP is GNU cp from coreutils with preserve= support])
5653if $GNUCP --version 2>/dev/null | $GREP "coreutils" >/dev/null 2>/dev/null; then
5654   AC_MSG_RESULT([yes])
5655else
5656   AC_MSG_RESULT([no])
5657   GNUCP=''
5658fi
5659
5660if test -z "$GNUCP"; then
5661   if test "$_os" = "SunOS"; then
5662      AC_MSG_ERROR([no, GNU cp from coreutils is needed. install or specify with --with-gnu-cp=/path/to/it])
5663   else
5664      AC_MSG_RESULT([no GNU cp from coreutils found - using the system's cp command])
5665   fi
5666fi
5667
5668AC_SUBST(GNUPATCH)
5669AC_SUBST(GNUCP)
5670
5671dnl ***************************************
5672dnl testing bash tools path on Windows
5673dnl ***************************************
5674if test "$_os" = "WINNT"; then
5675    CYGWIN_PATH=""
5676    AC_PATH_PROG(CYGWIN_PATH, bash)
5677    CYGWIN_PATH=`dirname "$CYGWIN_PATH"`
5678fi
5679if test -z "$CYGWIN_PATH"; then
5680   CYGWIN_PATH="NO_CYGWIN"
5681fi
5682AC_SUBST(CYGWIN_PATH)
5683
5684dnl ***************************************
5685dnl testing ml.exe assembler path
5686dnl ***************************************
5687if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
5688  AC_MSG_CHECKING([ml.exe assembler path])
5689  if test -n "$with_asm_home"; then
5690    with_asm_home=`cygpath -u "$with_asm_home"`
5691  fi
5692  if test ! -x "$with_asm_home/ml.exe"; then
5693    AC_PATH_PROG(ML_EXE, ml.exe)
5694    if test -z "$ML_EXE"; then
5695      if test -x "$with_cl_home/bin/ml.exe"; then
5696        with_asm_home=$with_cl_home/bin
5697        AC_MSG_RESULT([found ($with_asm_home)])
5698      else
5699        AC_MSG_ERROR([Configure did not find ml.exe assembler.])
5700      fi
5701    else
5702       with_asm_home="ASM_IN_PATH"
5703    fi
5704  fi
5705  AC_MSG_RESULT([$ASM_HOME])
5706else
5707  with_asm_home="NO_ASM_HOME"
5708fi
5709ASM_HOME="$with_asm_home"
5710AC_SUBST(ASM_HOME)
5711
5712dnl ***************************************
5713dnl testing nasm.exe assembler path
5714dnl ***************************************
5715if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes" -a "$SYSTEM_OPENSSL" = "NO"; then
5716  AC_MSG_CHECKING([nasm.exe assembler path])
5717  if test -n "$with_nasm_home"; then
5718    with_nasm_home=`cygpath -u "$with_nasm_home"`
5719  fi
5720  if test ! -x "$with_nasm_home/nasm.exe"; then
5721    AC_PATH_PROG(NASM_EXE, nasm.exe)
5722    if test -z "$NASM_EXE"; then
5723      with_nasm_home="NO_NASM_HOME"
5724    else
5725      with_nasm_home="NASM_IN_PATH"
5726    fi
5727  fi
5728  AC_MSG_RESULT([$NASM_HOME])
5729else
5730  with_nasm_home="NO_NASM_HOME"
5731fi
5732NASM_HOME="$with_nasm_home"
5733AC_SUBST(NASM_HOME)
5734
5735dnl ===================================================================
5736dnl testing handle deprecated unzip switch
5737dnl ===================================================================
5738if test -z "$with_zip_home"; then
5739	with_zip_home="$with_unzip_home"
5740fi
5741dnl ===================================================================
5742dnl Zip will be found where you tell me to find it
5743dnl ===================================================================
5744if test -n "$with_zip_home" ; then
5745    if test "$_os" = "WINNT"; then
5746        with_zip_home=`cygpath -u "$with_zip_home"`
5747    fi
5748    ZIP="$with_zip_home/zip"
5749    UNZIP="$with_zip_home/unzip"
5750    ZIP_HOME="$with_zip_home"
5751else
5752    AC_PATH_PROG(ZIP, zip)
5753    AC_PATH_PROG(UNZIP, unzip)
5754    ZIP_HOME=`dirname "$ZIP"`
5755fi
5756dnl ===================================================================
5757dnl Zip must be available or else it is an error, all platforms
5758dnl ===================================================================
5759if test -z "$ZIP" -o -z "$UNZIP"; then
5760    AC_MSG_ERROR([Zip/Unzip are required to build, please install or use --with-zip-home],,)
5761fi
5762if "$ZIP" -FS < /dev/null 2>&1 | $EGREP "no such option: S" > /dev/null; then
5763    AC_MSG_ERROR([Zip version 3.0 or newer is required to build, please install or use --with-zip-home],,)
5764fi
5765
5766dnl ===================================================================
5767dnl Zip must be a specific type for different build types.
5768dnl ===================================================================
5769if test "$_os" = "WINNT"; then
5770    if test -n "`$ZIP -h | $GREP -i WinNT`" ; then
5771AC_MSG_ERROR([$ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe.])
5772    fi
5773fi
5774AC_SUBST(ZIP_HOME)
5775
5776dnl ===================================================================
5777dnl Windows builds need dbghelp.dll in external/dbghelp/
5778dnl ===================================================================
5779if test "$_os" = "WINNT"; then
5780   AC_MSG_CHECKING([for dbghelp.dll])
5781   if test -x ./external/dbghelp/dbghelp.dll; then
5782      AC_MSG_RESULT([found and executable])
5783   else
5784      AC_MSG_ERROR([dbghelp.dll is missing in external/dbghelp/.
5785Get it from the Microsoft site and put it into external/dbghelp.
5786(Note: Microsoft seems to enjoy changing the exact location of this file. You
5787may have to search Microsoft's website.) Last time it was seen at:
5788<http://www.microsoft.com/downloads/release.asp?releaseid=30682>.])
5789   fi
5790fi
5791
5792dnl ===================================================================
5793dnl Windows builds need vcredist_x*.exe in external/vcredist/
5794dnl ===================================================================
5795WITH_VC_REDIST=""
5796
5797if test "$_os" = "WINNT"; then
5798   AC_MSG_CHECKING([for vcredist_x86.exe])
5799   if test -x ./external/vcredist/vcredist_x86.exe; then
5800      AC_MSG_RESULT([found and executable])
5801   else
5802      AC_MSG_ERROR([ vcredist_x86.exe is missing in external/vcredist/.
5803Get it from the Microsoft site and put it into external/vcredist. You can try
5804to download it from http://www.microsoft.com/download/en/search.aspx?q=redistributable%20package.])
5805   fi
5806   AC_MSG_CHECKING([for vcredist_x64.exe])
5807   if test -x ./external/vcredist/vcredist_x64.exe; then
5808      AC_MSG_RESULT([found and executable])
5809   else
5810      AC_MSG_ERROR([ vcredist_x64.exe is missing in external/vcredist/.
5811Get it from the Microsoft site and put it into external/vcredist. You can try
5812to download it from http://www.microsoft.com/download/en/search.aspx?q=redistributable%20package.])
5813   fi
5814   WITH_VC_REDIST=YES
5815   AC_SUBST(WITH_VC_REDIST)
5816fi
5817
5818dnl ===================================================================
5819dnl Windows builds - use oowintool to copy CRT dlls and manifest
5820dnl ===================================================================
5821if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
5822       if $OOWINTOOL --msvc-copy-dlls ./external/msvcp ; then
5823          :
5824       else
5825          AC_MSG_ERROR([oowintool failed to copy CRT])
5826       fi
5827fi
5828
5829dnl ===================================================================
5830dnl Windows builds need gdiplus.dll in external/gdiplus/
5831dnl ===================================================================
5832if test "$_os" = "WINNT"; then
5833   AC_MSG_CHECKING([for gdiplus.dll])
5834   if test -x ./external/gdiplus/gdiplus.dll; then
5835      AC_MSG_RESULT([found and executable])
5836   else
5837      AC_MSG_ERROR([gdiplus.dll is missing in external/gdiplus/.
5838Get it from the Microsoft site and put it into external/gdiplus.
5839You may have to search Microsoft's website. Last time it was seen at:
5840<http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en>.])
5841   fi
5842fi
5843
5844dnl ===================================================================
5845dnl Windows builds need msvcr100.dll in external/msvcp100/
5846dnl ===================================================================
5847if test "$_os" = "WINNT"; then
5848   AC_MSG_CHECKING([for msvcr100.dll])
5849   if test -x ./external/msvcp100/msvcr100.dll; then
5850      AC_MSG_RESULT([found and executable])
5851   else
5852      AC_MSG_ERROR([msvcr100.dll is missing in external/msvcp100/.
5853Get it from the Microsoft Visual C++ 2010 Redistributable Package (x86),
5854from the Microsoft site and put it into external/msvcp100.
5855You may have to search Microsoft's website. Last time it was seen at:
5856<http://www.microsoft.com/en-us/download/search.aspx?q=Microsoft+Visual+C%2b%2b+2010+Redistributable>.])
5857   fi
5858fi
5859
5860dnl ===================================================================
5861dnl Test which vclplugs have to be built.
5862dnl ===================================================================
5863AC_MSG_CHECKING([which VCLplugs shall be built])
5864ENABLE_GTK=""
5865if test "x$enable_gtk" = "xyes"; then
5866    ENABLE_GTK="TRUE"
5867    R="gtk"
5868fi
5869AC_SUBST(ENABLE_GTK)
5870
5871ENABLE_KDE=""
5872if test "x$enable_kde" = "xyes"; then
5873    ENABLE_KDE="TRUE"
5874    R="$R kde"
5875fi
5876AC_SUBST(ENABLE_KDE)
5877
5878ENABLE_KDE4=""
5879if test "x$enable_kde4" = "xyes"; then
5880    ENABLE_KDE4="TRUE"
5881    R="$R kde4"
5882fi
5883AC_SUBST(ENABLE_KDE4)
5884
5885if test -z "$R"; then
5886	AC_MSG_RESULT([none])
5887else
5888	AC_MSG_RESULT([$R])
5889fi
5890
5891dnl ===================================================================
5892dnl GCONF check
5893dnl ===================================================================
5894
5895ENABLE_GCONF=""
5896AC_MSG_CHECKING([whether to enable GConf support])
5897if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then
5898    ENABLE_GCONF="TRUE"
5899    AC_MSG_RESULT([yes])
5900    PKG_CHECK_MODULES( GCONF, gconf-2.0 )
5901else
5902    AC_MSG_RESULT([no])
5903fi
5904AC_SUBST(ENABLE_GCONF)
5905
5906dnl ===================================================================
5907dnl Gnome VFS check
5908dnl ===================================================================
5909
5910ENABLE_GNOMEVFS=""
5911AC_MSG_CHECKING([whether to enable GNOME VFS support])
5912if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then
5913    ENABLE_GNOMEVFS="TRUE"
5914    AC_MSG_RESULT([yes])
5915    PKG_CHECK_MODULES( GNOMEVFS, gnome-vfs-2.0 >= 2.6.0 )
5916    if test "$ENABLE_GCONF" != "TRUE"; then
5917        PKG_CHECK_MODULES( GCONF, gconf-2.0 )
5918    fi
5919else
5920    AC_MSG_RESULT([no])
5921fi
5922AC_SUBST(ENABLE_GNOMEVFS)
5923
5924dnl ===================================================================
5925dnl Check whether the gtk 2.0 libraries are available.
5926dnl ===================================================================
5927
5928GTK_CFLAGS=""
5929GTK_LIBS=""
5930ENABLE_SYSTRAY_GTK=""
5931ENABLE_DBUS=""
5932if test  "$test_gtk" = "yes"; then
5933
5934   if test "$ENABLE_GTK" = "TRUE" ; then
5935      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]))
5936      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]))
5937      BUILD_TYPE="$BUILD_TYPE GTK"
5938
5939      if test "x$enable_systray" = "xyes"; then
5940         PKG_CHECK_MODULES(GTK_2_10,gtk+-2.0 >= 2.10.0,
5941                           [ENABLE_SYSTRAY_GTK="TRUE"
5942                            BUILD_TYPE="$BUILD_TYPE SYSTRAY_GTK"],
5943                           [ENABLE_SYSTRAY_GTK=""])
5944      fi
5945
5946      AC_MSG_CHECKING([whether to enable DBUS support])
5947      if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_dbus" = "yes"; then
5948          ENABLE_DBUS="TRUE"
5949          AC_MSG_RESULT([yes])
5950          PKG_CHECK_MODULES( DBUS, dbus-glib-1 >= 0.70 )
5951      else
5952          AC_MSG_RESULT([no])
5953      fi
5954
5955      AC_MSG_CHECKING([whether to enable GIO support])
5956      if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then
5957          if test "$ENABLE_GNOMEVFS" = "TRUE" ; then
5958             AC_MSG_ERROR([please use --enable-gio only together with --disable-gnome-vfs.])
5959          fi
5960          ENABLE_GIO="TRUE"
5961          AC_MSG_RESULT([yes])
5962          PKG_CHECK_MODULES( GIO, gio-2.0 )
5963      else
5964          AC_MSG_RESULT([no])
5965      fi
5966
5967   fi
5968
5969fi
5970AC_SUBST(ENABLE_GIO)
5971AC_SUBST(ENABLE_DBUS)
5972AC_SUBST(ENABLE_SYSTRAY_GTK)
5973AC_SUBST(GTK_CFLAGS)
5974AC_SUBST(GTK_LIBS)
5975AC_SUBST(GTHREAD_CFLAGS)
5976AC_SUBST(GTHREAD_LIBS)
5977
5978dnl ===================================================================
5979dnl Check whether the GStreamer libraries are available.
5980dnl ===================================================================
5981
5982GSTREAMER_CFLAGS=""
5983GSTREAMER_LIBS=""
5984ENABLE_GSTREAMER=""
5985
5986if test "$test_gstreamer" = "yes"; then
5987    AC_MSG_CHECKING([whether to build the GStreamer media backend])
5988    if test "x$enable_gstreamer" != "xno" ; then
5989        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]))
5990        ENABLE_GSTREAMER="TRUE"
5991        AC_MSG_RESULT([yes])
5992    else
5993        AC_MSG_RESULT([no])
5994    fi
5995fi
5996AC_SUBST(ENABLE_GSTREAMER)
5997AC_SUBST(GSTREAMER_CFLAGS)
5998AC_SUBST(GSTREAMER_LIBS)
5999
6000dnl ===================================================================
6001dnl Check the ARM target
6002dnl ===================================================================
6003
6004if echo "$build_cpu" | $GREP -q arm; then
6005    # default value
6006    ARM_TARGET=ARMV4T
6007    AC_MSG_CHECKING([which ARM processor optimization to use])
6008    if test "$with_arm_target" -lt "6"; then
6009	ARM_TARGET=ARMV4T
6010    elif test "$with_arm_target" = "6"; then
6011	ARM_TARGET=ARMV6
6012    elif test "$with_arm_target" -gt "6"; then
6013	ARM_TARGET=ARMV7
6014    fi
6015    AC_MSG_RESULT([$ARM_TARGET])
6016    AC_SUBST(ARM_TARGET)
6017fi
6018
6019dnl ===================================================================
6020dnl Check whether the Cairo libraries are available.
6021dnl ===================================================================
6022
6023ENABLE_CAIRO=""
6024BUILD_PIXMAN=""
6025SYSTEM_CAIRO=""
6026
6027if test  "$test_cairo" = "yes"; then
6028
6029    AC_MSG_CHECKING([whether to use cairo])
6030    if test "x$enable_cairo" != "xno" ; then
6031        ENABLE_CAIRO="TRUE"
6032	AC_MSG_RESULT([yes])
6033        AC_MSG_CHECKING([which cairo to use])
6034        if test -n "$with_system_cairo" -o -n "$with_system_libs" && \
6035           test "$with_system_cairo" != "no"; then
6036           AC_MSG_RESULT([external])
6037           SYSTEM_CAIRO=YES
6038
6039           PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
6040	   if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$ENABLE_FONTCONFIG" != "TRUE" ; then
6041	      AC_MSG_ERROR([Cairo library requires fontconfig.])
6042	   fi
6043           if test "$with_system_xrender_headers" = "yes"; then
6044              AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8])
6045              AC_TRY_RUN([
6046#include <X11/extensions/Xrender.h>
6047
6048int main(int argc, char **argv) {
6049#ifdef PictStandardA8
6050      return 0;
6051#else
6052      return 1;
6053#endif
6054}
6055               ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no, X headers too old.])])
6056           fi
6057        else
6058           BUILD_TYPE="$BUILD_TYPE CAIRO"
6059	   dnl === compiler fails on pixman with 64bit architectures...===
6060	   if test "$build_cpu" != "x86_64"; then
6061	      BUILD_PIXMAN=YES
6062	   fi
6063           AC_MSG_RESULT([internal])
6064        fi
6065    else
6066	   AC_MSG_RESULT([no])
6067    fi
6068fi
6069
6070AC_SUBST(ENABLE_CAIRO)
6071AC_SUBST(BUILD_PIXMAN)
6072AC_SUBST(SYSTEM_CAIRO)
6073AC_SUBST(CAIRO_CFLAGS)
6074AC_SUBST(CAIRO_LIBS)
6075
6076ENABLE_CAIRO_CANVAS="FALSE"
6077if test "$enable_cairo_canvas" = "yes" -a "$ENABLE_CAIRO" = "TRUE" ; then
6078   ENABLE_CAIRO_CANVAS="TRUE"
6079fi
6080AC_SUBST(ENABLE_CAIRO_CANVAS)
6081
6082dnl ===================================================================
6083dnl Check whether the OpenGL libraries are available
6084dnl ===================================================================
6085
6086AC_MSG_CHECKING([whether to build the OpenGL Transitions component])
6087ENABLE_OPENGL=
6088
6089if test "x$enable_opengl" != "xno" ; then
6090   AC_MSG_RESULT([yes])
6091   AC_CHECK_HEADER(GL/gl.h, [],
6092                   [AC_MSG_ERROR([OpenGL headers not found])], [])
6093   AC_CHECK_LIB(GL, main, [],
6094     [AC_MSG_ERROR(libGL not installed or functional)], [])
6095   AC_CHECK_LIB(GLU, main, [],
6096     [AC_MSG_ERROR(libGLU not installed or functional)], [])
6097   ENABLE_OPENGL=TRUE
6098else
6099   AC_MSG_RESULT([no])
6100fi
6101
6102AC_SUBST(ENABLE_OPENGL)
6103
6104
6105AC_MSG_CHECKING([whether to build the PDF Import extension])
6106if test -n "$enable_pdfimport" -a "$enable_pdfimport" != "no"; then
6107  AC_MSG_RESULT([yes])
6108  ENABLE_PDFIMPORT=YES
6109
6110  dnl ===================================================================
6111  dnl Check for system poppler
6112  dnl ===================================================================
6113  AC_MSG_CHECKING([whether to use system pdf backend])
6114  if test -n "$with_system_poppler" -o -n "$with_system_libs" && \
6115       test "$with_system_poppler" != "no"; then
6116      AC_MSG_RESULT([external])
6117      SYSTEM_POPPLER=YES
6118      PKG_CHECK_MODULES( POPPLER, poppler >= 0.8.0 )
6119  else
6120      AC_MSG_RESULT([no])
6121      SYSTEM_POPPLER=NO
6122      ENABLE_PDFIMPORT=NO
6123  fi
6124else
6125   AC_MSG_RESULT([no])
6126   ENABLE_PDFIMPORT=NO
6127fi
6128AC_SUBST(ENABLE_PDFIMPORT)
6129AC_SUBST(SYSTEM_POPPLER)
6130AC_SUBST(POPPLER_CFLAGS)
6131AC_SUBST(POPPLER_LIBS)
6132
6133AC_MSG_CHECKING([whether to build the Wiki Publisher extension])
6134if test -n "$enable_wiki_publisher" -a "$enable_wiki_publisher" != "no" && test  "$WITH_JAVA" != "no"; then
6135  AC_MSG_RESULT([yes])
6136  AC_MSG_CHECKING([for swext module])
6137  if test -d ./swext; then
6138   AC_MSG_RESULT([OK])
6139  else
6140   AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
6141  fi
6142  ENABLE_MEDIAWIKI=YES
6143  BUILD_TYPE="$BUILD_TYPE SWEXT"
6144else
6145  AC_MSG_RESULT([no])
6146  ENABLE_MEDIAWIKI=NO
6147fi
6148AC_SUBST(ENABLE_MEDIAWIKI)
6149
6150if test "$ENABLE_MEDIAWIKI" = "YES"; then
6151  AC_MSG_CHECKING([which Servlet API Jar to use])
6152  if test -n "$with_system_servlet_api"; then
6153    AC_MSG_RESULT([external])
6154    SYSTEM_SERVLETAPI=YES
6155      if test -z "$SERVLETAPI_JAR"; then
6156	SERVLETAPI_JAR=/usr/share/java/servlet-api.jar
6157      fi
6158      AC_CHECK_FILE($SERVLETAPI_JAR, [],
6159             [AC_MSG_ERROR(servlet-api.jar not found.)], [])
6160  else
6161    AC_MSG_RESULT([internal])
6162    SYSTEM_SERVLETAPI=NO
6163    BUILD_TYPE="$BUILD_TYPE TOMCAT"
6164  fi
6165fi
6166AC_SUBST(SYSTEM_SERVLETAPI)
6167AC_SUBST(SERVLETAPI_JAR)
6168
6169AC_MSG_CHECKING([whether to build the Report Builder extension])
6170if test -n "$enable_report_builder" -a "$enable_report_builder" != "no" && test "$WITH_JAVA" != "no"; then
6171  AC_MSG_RESULT([yes])
6172  ENABLE_REPORTBUILDER=YES
6173  SYSTEM_JFREEREPORT=YES
6174  AC_MSG_CHECKING([for reportbuilder module])
6175  if test -d ./reportbuilder; then
6176    AC_MSG_RESULT([OK])
6177  else
6178    AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
6179  fi
6180  AC_MSG_CHECKING([which jfreereport libs to use (for Report Builder extension)])
6181  AC_MSG_RESULT([external])
6182  if test -z $SAC_JAR; then
6183         SAC_JAR=/usr/share/java/sac.jar
6184  fi
6185  AC_CHECK_FILE($SAC_JAR, [],
6186         [AC_MSG_ERROR(sac.jar not found.)], [])
6187
6188  if test -z $LIBXML_JAR; then
6189    AC_CHECK_FILE(/usr/share/java/libxml-1.0.0.jar,
6190      [ LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar ],
6191      [
6192        AC_CHECK_FILE(/usr/share/java/libxml.jar,
6193          [ LIBXML_JAR=/usr/share/java/libxml.jar ],
6194          [AC_MSG_ERROR(libxml.jar replacement not found.)]
6195        )
6196      ]
6197    )
6198  else
6199    AC_CHECK_FILE($LIBXML_JAR, [],
6200         [AC_MSG_ERROR(libxml.jar not found.)], [])
6201  fi
6202
6203  if test -z $FLUTE_JAR; then
6204    AC_CHECK_FILE(/usr/share/java/flute-1.3.0.jar,
6205      [ FLUTE_JAR=/usr/share/java/flute-1.3.0.jar ],
6206      [
6207        AC_CHECK_FILE(/usr/share/java/flute.jar,
6208          [ FLUTE_JAR=/usr/share/java/flute.jar ],
6209          [ AC_MSG_ERROR(flute-1.3.0.jar replacement not found.)]
6210        )
6211      ]
6212    )
6213  else
6214    AC_CHECK_FILE($FLUTE_JAR, [],
6215         [AC_MSG_ERROR(flute-1.3.0.jar not found.)], [])
6216  fi
6217
6218  if test -z $JFREEREPORT_JAR; then
6219    AC_CHECK_FILE(/usr/share/java/flow-engine-0.9.2.jar,
6220      [ JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar ],
6221      [
6222        AC_CHECK_FILE(/usr/share/java/flow-engine.jar,
6223          [ JFREEREPORT_JAR=/usr/share/java/flow-engine.jar ],
6224          [AC_MSG_ERROR(jfreereport.jar replacement not found.)]
6225        )
6226      ]
6227    )
6228  else
6229    AC_CHECK_FILE($JFREEREPORT_JAR, [],
6230         [AC_MSG_ERROR(jfreereport.jar not found.)], [])
6231  fi
6232
6233  if test -z $LIBLAYOUT_JAR; then
6234    AC_CHECK_FILE(/usr/share/java/liblayout-0.2.9.jar,
6235      [ LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar ],
6236      [
6237        AC_CHECK_FILE(/usr/share/java/liblayout.jar,
6238          [ LIBLAYOUT_JAR=/usr/share/java/liblayout.jar ],
6239          [AC_MSG_ERROR(liblayout.jar replacement not found.)]
6240        )
6241      ]
6242    )
6243  else
6244    AC_CHECK_FILE($LIBLAYOUT_JAR, [],
6245         [AC_MSG_ERROR(liblayout.jar not found.)], [])
6246  fi
6247
6248  if test -z $LIBLOADER_JAR; then
6249    AC_CHECK_FILE(/usr/share/java/libloader-1.0.0.jar,
6250      [ LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar ],
6251      [
6252        AC_CHECK_FILE(/usr/share/java/libloader.jar,
6253          [ LIBLOADER_JAR=/usr/share/java/libloader.jar ],
6254          [AC_MSG_ERROR(libloader.jar replacement not found.)]
6255        )
6256      ]
6257    )
6258  else
6259    AC_CHECK_FILE($LIBLOADER_JAR, [],
6260         [AC_MSG_ERROR(libloader.jar not found.)], [])
6261  fi
6262
6263  if test -z $LIBFORMULA_JAR; then
6264    AC_CHECK_FILE(/usr/share/java/libformula-0.2.0.jar,
6265      [ LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar ],
6266      [
6267        AC_CHECK_FILE(/usr/share/java/libformula.jar,
6268          [ LIBFORMULA_JAR=/usr/share/java/libformula.jar ],
6269          [AC_MSG_ERROR(libformula.jar replacement not found.)]
6270        )
6271      ]
6272    )
6273  else
6274    AC_CHECK_FILE($LIBFORMULA_JAR, [],
6275         [AC_MSG_ERROR(libformula.jar not found.)], [])
6276  fi
6277
6278  if test -z $LIBREPOSITORY_JAR; then
6279    AC_CHECK_FILE(/usr/share/java/librepository-1.0.0.jar,
6280      [ LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar ],
6281      [
6282        AC_CHECK_FILE(/usr/share/java/librepository.jar,
6283          [ LIBREPOSITORY_JAR=/usr/share/java/librepository.jar ],
6284          [AC_MSG_ERROR(librepository.jar replacement not found.)]
6285        )
6286      ]
6287    )
6288  else
6289    AC_CHECK_FILE($LIBREPOSITORY_JAR, [],
6290         [AC_MSG_ERROR(librepository.jar not found.)], [])
6291  fi
6292
6293  if test -z $LIBFONTS_JAR; then
6294    AC_CHECK_FILE(/usr/share/java/libfonts-1.0.0.jar,
6295      [ LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar ],
6296      [
6297        AC_CHECK_FILE(/usr/share/java/libfonts.jar,
6298          [ LIBFONTS_JAR=/usr/share/java/libfonts.jar ],
6299          [AC_MSG_ERROR(libfonts.jar replacement not found.)]
6300        )
6301      ]
6302    )
6303  else
6304    AC_CHECK_FILE($LIBFONTS_JAR, [],
6305         [AC_MSG_ERROR(libfonts.jar not found.)], [])
6306  fi
6307
6308  if test -z $LIBSERIALIZER_JAR; then
6309    AC_CHECK_FILE(/usr/share/java/libserializer-1.0.0.jar,
6310      [ LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar ],
6311      [
6312        AC_CHECK_FILE(/usr/share/java/libserializer.jar,
6313          [ LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar ],
6314          [AC_MSG_ERROR(libserializer.jar replacement not found.)]
6315        )
6316      ]
6317    )
6318  else
6319    AC_CHECK_FILE($LIBSERIALIZER_JAR, [],
6320         [AC_MSG_ERROR(libserializer.jar not found.)], [])
6321  fi
6322
6323
6324  if test -z $LIBBASE_JAR; then
6325    AC_CHECK_FILE(/usr/share/java/libbase-1.0.0.jar,
6326      [ LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar ],
6327      [
6328        AC_CHECK_FILE(/usr/share/java/libbase.jar,
6329          [ LIBBASE_JAR=/usr/share/java/libbase.jar ],
6330          [AC_MSG_ERROR(libbase.jar replacement not found.)]
6331        )
6332      ]
6333    )
6334  else
6335    AC_CHECK_FILE($LIBBASE_JAR, [],
6336         [AC_MSG_ERROR(libbase.jar not found.)], [])
6337  fi
6338  BUILD_TYPE="$BUILD_TYPE REPORTBUILDER"
6339else
6340  AC_MSG_RESULT([no])
6341  ENABLE_REPORTBUILDER=NO
6342fi
6343AC_SUBST(ENABLE_REPORTBUILDER)
6344AC_SUBST(SYSTEM_JFREEREPORT)
6345AC_SUBST(SAC_JAR)
6346AC_SUBST(LIBXML_JAR)
6347AC_SUBST(FLUTE_JAR)
6348AC_SUBST(JFREEREPORT_JAR)
6349AC_SUBST(LIBBASE_JAR)
6350AC_SUBST(LIBLAYOUT_JAR)
6351AC_SUBST(LIBLOADER_JAR)
6352AC_SUBST(LIBFORMULA_JAR)
6353AC_SUBST(LIBREPOSITORY_JAR)
6354AC_SUBST(LIBFONTS_JAR)
6355AC_SUBST(LIBSERIALIZER_JAR)
6356
6357# this has to be here because both the wiki publisher and the SRB use
6358# commons-logging, while the non-optional PostgreSQL connector uses
6359# commons-lang.
6360AC_MSG_CHECKING([which Apache commons-* libs to use])
6361if test "$with_system_apache_commons" = "yes"; then
6362  SYSTEM_APACHE_COMMONS=YES
6363  AC_MSG_RESULT([external])
6364
6365  if test -z $COMMONS_LANG_JAR; then
6366    AC_CHECK_FILE(/usr/share/java/commons-lang3-3.3.jar,
6367      [ COMMONS_LANG_JAR=/usr/share/java/commons-lang3-3.3.jar ],
6368      [
6369        AC_CHECK_FILE(/usr/share/java/commons-lang.jar,
6370          [ COMMONS_LANG_JAR=/usr/share/java/commons-lang.jar ],
6371          [AC_MSG_ERROR(commons-lang.jar replacement not found.)]
6372        )
6373      ]
6374    )
6375  else
6376    AC_CHECK_FILE($COMMONS_LANG_JAR, [],
6377         [AC_MSG_ERROR(commons-lang.jar not found.)], [])
6378  fi
6379  AC_MSG_CHECKING([whether commons-lang is version 3.x])
6380  export COMMONS_LANG_JAR
6381  if $PERL -e 'use Archive::Zip;
6382      my $file = "$ENV{'COMMONS_LANG_JAR'}";
6383      my $zip = Archive::Zip->new( $file );
6384      my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
6385      if ( $mf =~ m/Specification-Version: 3.*/ ) {
6386          exit 0;
6387      } else {
6388          exit 1;
6389      }'; then
6390      AC_MSG_RESULT([yes])
6391  else
6392      AC_MSG_ERROR([no, you need Apache Commons Lang 3.x])
6393  fi
6394
6395  if test "$ENABLE_MEDIAWIKI" = "YES"; then
6396    if test -z $COMMONS_CODEC_JAR; then
6397      AC_CHECK_FILE(/usr/share/java/commons-codec-1.9.jar,
6398        [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.9.jar ],
6399        [
6400          AC_CHECK_FILE(/usr/share/java/commons-codec.jar,
6401            [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec.jar ],
6402            [AC_MSG_ERROR(commons-codec.jar replacement not found.)]
6403          )
6404        ]
6405      )
6406    else
6407      AC_CHECK_FILE($COMMONS_CODEC_JAR, [],
6408           [AC_MSG_ERROR(commons-codec.jar not found.)], [])
6409    fi
6410
6411    if test -z $COMMONS_HTTPCLIENT_JAR; then
6412      AC_CHECK_FILE(/usr/share/java/commons-httpclient-3.1.jar,
6413        [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar ],
6414        [
6415          AC_CHECK_FILE(/usr/share/java/commons-httpclient.jar,
6416            [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient.jar ],
6417            [AC_MSG_ERROR(commons-httpclient.jar replacement not found.)]
6418          )
6419        ]
6420      )
6421    else
6422      AC_CHECK_FILE($COMMONS_HTTPCLIENT_JAR, [],
6423           [AC_MSG_ERROR(commons-httpclient.jar not found.)], [])
6424    fi
6425  fi
6426  if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then
6427    if test -z $COMMONS_LOGGING_JAR; then
6428      AC_CHECK_FILE(/usr/share/java/commons-logging-1.1.3.jar,
6429        [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.3.jar ],
6430        [
6431          AC_CHECK_FILE(/usr/share/java/commons-logging.jar,
6432            [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar ],
6433            [AC_MSG_ERROR(commons-logging.jar replacement not found.)]
6434          )
6435        ]
6436      )
6437    else
6438      AC_CHECK_FILE($COMMONS_LOGGING_JAR, [],
6439           [AC_MSG_ERROR(commons-logging.jar not found.)], [])
6440    fi
6441  fi
6442else
6443  AC_MSG_RESULT([internal])
6444  SYSTEM_APACHE_COMMONS=NO
6445  BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT"
6446fi
6447AC_SUBST(SYSTEM_APACHE_COMMONS)
6448AC_SUBST(COMMONS_CODEC_JAR)
6449AC_SUBST(COMMONS_LANG_JAR)
6450AC_SUBST(COMMONS_HTTPCLIENT_JAR)
6451AC_SUBST(COMMONS_LOGGING_JAR)
6452
6453dnl ===================================================================
6454dnl Check whether the Qt and KDE libraries are available.
6455dnl ===================================================================
6456
6457KDE_CFLAGS=""
6458KDE_LIBS=""
6459MOC="moc"
6460if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then
6461    dnl Search paths for Qt and KDE
6462    if test "$build_cpu" != "x86_64" ; then
6463        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"
6464        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"
6465    else
6466        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"
6467        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"
6468    fi
6469    if test -n "$QTDIR" ; then
6470        qt_incdirs="$QTDIR/include $qt_incdirs"
6471        if test "$build_cpu" != "x86_64" ; then
6472            qt_libdirs="$QTDIR/lib $qt_libdirs"
6473        else
6474            qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs"
6475        fi
6476    fi
6477    if test "$build_cpu" != "x86_64" ; then
6478        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"
6479        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"
6480    else
6481        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"
6482        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"
6483    fi
6484    if test -n "$KDEDIR" ; then
6485        kde_incdirs="$KDEDIR/include $kde_incdirs"
6486        if test "$build_cpu" != "x86_64" ; then
6487            kde_libdirs="$KDEDIR/lib $kde_libdirs"
6488        else
6489            kde_libdirs="$KDEDIR/lib64 $KDEDIR/lib $kde_libdirs"
6490        fi
6491    fi
6492
6493    dnl What to test
6494    qt_test_include="qstyle.h"
6495    qt_test_library="libqt-mt.so"
6496    kde_test_include="ksharedptr.h"
6497    kde_test_library="libkdeui.so"
6498
6499    dnl Check for Qt headers
6500    AC_MSG_CHECKING([for Qt headers])
6501    qt_incdir="no"
6502    for kde_check in $qt_incdirs ; do
6503        if test -r "$kde_check/$qt_test_include" ; then
6504            qt_incdir="$kde_check"
6505            break
6506        fi
6507    done
6508    AC_MSG_RESULT([$qt_incdir])
6509    if test "x$qt_incdir" = "xno" ; then
6510        AC_MSG_ERROR([Qt headers not found.  Please specify the root of
6511your Qt installation by exporting QTDIR before running "configure".])
6512    fi
6513
6514    dnl Check for Qt libraries
6515    AC_MSG_CHECKING([for Qt libraries])
6516    qt_libdir="no"
6517    for qt_check in $qt_libdirs ; do
6518        if test -r "$qt_check/$qt_test_library" ; then
6519            qt_libdir="$qt_check"
6520            break
6521        fi
6522    done
6523    AC_MSG_RESULT([$qt_libdir])
6524    if test "x$qt_libdir" = "xno" ; then
6525        AC_MSG_ERROR([Qt libraries not found.  Please specify the root of
6526your Qt installation by exporting QTDIR before running "configure".])
6527    fi
6528
6529    dnl Check for Meta Object Compiler
6530    AC_PATH_PROG( MOC, moc, no, [$QTDIR/bin:$PATH] )
6531    if test "$MOC" = "no" ; then
6532        AC_MSG_ERROR([Qt Meta Object Compiler not found.  Please specify
6533the root of your Qt installation by exporting QTDIR before running "configure".])
6534    fi
6535
6536    dnl Check for KDE headers
6537    AC_MSG_CHECKING([for KDE headers])
6538    kde_incdir="no"
6539    for kde_check in $kde_incdirs ; do
6540        if test -r "$kde_check/$kde_test_include" ; then
6541            kde_incdir="$kde_check"
6542            break
6543        fi
6544    done
6545    AC_MSG_RESULT([$kde_incdir])
6546    if test "x$kde_incdir" = "xno" ; then
6547        AC_MSG_ERROR([KDE headers not found.  Please specify the root of
6548your KDE installation by exporting KDEDIR before running "configure".])
6549    fi
6550
6551    dnl Check for KDE libraries
6552    AC_MSG_CHECKING([for KDE libraries])
6553    kde_libdir="no"
6554    for kde_check in $kde_libdirs ; do
6555        if test -r "$kde_check/$kde_test_library" ; then
6556            kde_libdir="$kde_check"
6557            break
6558        fi
6559    done
6560    AC_MSG_RESULT([$kde_libdir])
6561    if test "x$kde_libdir" = "xno" ; then
6562        AC_MSG_ERROR([KDE libraries not found.  Please specify the root of
6563your KDE installation by exporting KDEDIR before running "configure".])
6564    fi
6565
6566    dnl Set the variables
6567    KDE_CFLAGS="-I$qt_incdir -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
6568    KDE_LIBS="-L$kde_libdir -L$qt_libdir -lkdeui -lkdecore -lqt-mt"
6569fi
6570AC_SUBST(KDE_CFLAGS)
6571AC_SUBST(KDE_LIBS)
6572AC_SUBST(MOC)
6573
6574dnl ===================================================================
6575dnl KDE4 Integration
6576dnl ===================================================================
6577
6578KDE4_CFLAGS=""
6579KDE4_LIBS=""
6580MOC4="moc"
6581if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then
6582   qt_incdirs="$QT4INC $QT4DIR /usr/include/qt4 /usr/include $x_includes"
6583   qt_libdirs="$QT4LIB /usr/lib $x_libraries"
6584
6585   kde_incdirs="/usr/include /usr/include/kde4 $x_includes"
6586   kde_libdirs="/usr/lib /usr/lib/kde4 /usr/lib/kde4/devel $x_libraries"
6587
6588   if test "$build_cpu" = "x86_64" ; then
6589      qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64"
6590      kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4 /usr/lib64/kde4/devel"
6591   fi
6592
6593   if test -n "$KDE4DIR" ; then
6594      kde_incdirs="$KDE4DIR/include $kde_incdirs"
6595      if test "$build_cpu" != "x86_64" ; then
6596         kde_libdirs="$KDE4DIR/lib $kde_libdirs"
6597      else
6598         kde_libdirs="$KDE4DIR/lib64 $KDE4DIR/lib $kde_libdirs"
6599      fi
6600   fi
6601
6602   qt_test_include="Qt/qobject.h"
6603   qt_test_library="libQtCore.so"
6604   kde_test_include="ksharedptr.h"
6605   kde_test_library="libkdeui.so"
6606
6607   AC_MSG_CHECKING([for Qt4 headers])
6608   qt_header_dir="no"
6609   for inc_dir in $qt_incdirs ; do
6610      if test -r "$inc_dir/$qt_test_include" ; then
6611         qt_header_dir="$inc_dir"
6612         break
6613      fi
6614   done
6615
6616   AC_MSG_RESULT([$qt_header_dir])
6617   if test "x$qt_header_dir" = "xno" ; then
6618      AC_MSG_ERROR([Qt4 headers not found.  Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".])
6619   fi
6620
6621   AC_MSG_CHECKING([for Qt4 libraries])
6622   qt_lib_dir="no"
6623   for lib_dir in $qt_libdirs ; do
6624      if test -r "$lib_dir/$qt_test_library" ; then
6625         qt_lib_dir="$lib_dir"
6626         break
6627      fi
6628   done
6629
6630   AC_MSG_RESULT([$qt_lib_dir])
6631
6632   if test "x$qt_lib_dir" = "xno" ; then
6633      AC_MSG_ERROR([Qt4 libraries not found.  Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".])
6634   fi
6635
6636   dnl Check for Meta Object Compiler
6637   AC_PATH_PROG( MOCQT4, moc-qt4, no, [$QT4DIR/bin:$PATH] )
6638   MOC4="$MOCQT4"
6639   if test "$MOC4" = "no" ; then
6640      AC_PATH_PROG( MOC4, moc, no, [$PATH:$QT4DIR/bin] )
6641      if test "$MOC4" = "no" ; then
6642         AC_MSG_ERROR([Qt Meta Object Compiler not found.  Please specify the root of your Qt installation by exporting QT4DIR before running "configure".])
6643      fi
6644   fi
6645
6646   dnl Check for KDE4 headers
6647   AC_MSG_CHECKING([for KDE4 headers])
6648   kde_incdir="no"
6649   for kde_check in $kde_incdirs ; do
6650      if test -r "$kde_check/$kde_test_include" ; then
6651         kde_incdir="$kde_check"
6652         break
6653      fi
6654   done
6655   AC_MSG_RESULT([$kde_incdir])
6656   if test "x$kde_incdir" = "xno" ; then
6657      AC_MSG_ERROR([KDE4 headers not found.  Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".])
6658   fi
6659
6660   dnl Check for KDE4 libraries
6661   AC_MSG_CHECKING([for KDE4 libraries])
6662   kde_libdir="no"
6663   for kde_check in $kde_libdirs ; do
6664      if test -r "$kde_check/$kde_test_library" ; then
6665         kde_libdir="$kde_check"
6666         break
6667      fi
6668   done
6669
6670   AC_MSG_RESULT([$kde_libdir])
6671   if test "x$kde_libdir" = "xno" ; then
6672      AC_MSG_ERROR([KDE4 libraries not found.  Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".])
6673   fi
6674
6675   KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
6676   KDE4_LIBS="-L$kde_libdir -L$qt_lib_dir -lkdeui -lkdecore -lQtCore -lQtGui"
6677fi
6678AC_SUBST(KDE4_CFLAGS)
6679AC_SUBST(KDE4_LIBS)
6680AC_SUBST(MOC4)
6681
6682dnl ===================================================================
6683dnl Test for the enabling the lockdown pieces
6684dnl ===================================================================
6685AC_MSG_CHECKING([whether to enable the lockdown pieces])
6686ENABLE_LOCKDOWN=""
6687if test -n "$enable_lockdown" && test "$enable_lockdown" != "no"; then
6688  ENABLE_LOCKDOWN=YES
6689  AC_MSG_RESULT([yes])
6690else
6691  AC_MSG_RESULT([no])
6692fi
6693AC_SUBST(ENABLE_LOCKDOWN)
6694
6695dnl ===================================================================
6696dnl Test whether to include Evolution 2 support
6697dnl ===================================================================
6698AC_MSG_CHECKING([whether to enable evolution 2 support])
6699if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then
6700   AC_MSG_RESULT([yes])
6701   PKG_CHECK_MODULES(GOBJECT, gobject-2.0)
6702   ENABLE_EVOAB2="TRUE"
6703else
6704   ENABLE_EVOAB2=""
6705   AC_MSG_RESULT([no])
6706fi
6707AC_SUBST(ENABLE_EVOAB2)
6708AC_SUBST(GOBJECT_CFLAGS)
6709AC_SUBST(GOBJECT_LIBS)
6710
6711dnl ===================================================================
6712dnl Test whether to include MathMLDTD
6713dnl ===================================================================
6714AC_MSG_CHECKING([whether to include MathMLDTD])
6715if test -n "$enable_mathmldtd"; then
6716  if test "$enable_mathmldtd" = "no"; then
6717    AC_MSG_RESULT([no])
6718    SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD"
6719  else
6720    AC_MSG_RESULT([yes])
6721    BUILD_TYPE="$BUILD_TYPE MATHMLDTD"
6722  fi
6723else
6724  AC_MSG_RESULT([no])
6725  SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD"
6726fi
6727
6728dnl ===================================================================
6729dnl Test whether to include category-B fonts
6730dnl ===================================================================
6731WITH_CATB_FONTS=
6732AC_MSG_CHECKING([whether to include category B fonts])
6733if test "x$enable_category_b_fonts" = "xyes" && test "x$with_fonts" != "xno"; then
6734   AC_MSG_RESULT([yes])
6735   BUILD_TYPE="$BUILD_TYPE CATB_FONTS"
6736   WITH_CATB_FONTS=YES
6737   SCPDEFS="$SCPDEFS -DWITH_CATB_FONTS"
6738else
6739   AC_MSG_RESULT([no])
6740   WITH_CATB_FONTS=NO
6741fi
6742
6743dnl ===================================================================
6744dnl Test whether to include category-A fonts
6745dnl ===================================================================
6746WITH_CATA_FONTS=
6747AC_MSG_CHECKING([whether to include category A fonts])
6748if test "x$with_fonts" != "xno" ; then
6749  AC_MSG_RESULT([yes])
6750  WITH_CATA_FONTS=YES
6751  SCPDEFS="$SCPDEFS -DWITH_CATA_FONTS"
6752else
6753  AC_MSG_RESULT([no])
6754  WITH_CATA_FONTS=NO
6755  WITH_CATB_FONTS=NO
6756fi
6757
6758WITH_FONTS=NO
6759AC_MSG_CHECKING([whether any fonts are included])
6760if test "x$WITH_CATA_FONTS" = "xYES" -o "x$WITH_CATB_FONTS" = "xYES"; then
6761  BUILD_TYPE="$BUILD_TYPE MORE_FONTS"
6762  WITH_FONTS=YES
6763  AC_MSG_RESULT([yes])
6764else
6765  AC_MSG_RESULT([no])
6766fi
6767
6768AC_SUBST(WITH_CATA_FONTS)
6769AC_SUBST(WITH_CATB_FONTS)
6770AC_SUBST(WITH_FONTS)
6771
6772dnl ===================================================================
6773dnl Test whether to include ppds
6774dnl ===================================================================
6775AC_MSG_CHECKING([whether to include PPDs])
6776if test "$with_ppds" != "no"; then
6777  AC_MSG_RESULT([yes])
6778else
6779  AC_MSG_RESULT([no])
6780  WITHOUT_PPDS=YES
6781  SCPDEFS="$SCPDEFS -DWITHOUT_PPDS"
6782fi
6783AC_SUBST(WITHOUT_PPDS)
6784
6785dnl ===================================================================
6786dnl Test whether to include afms
6787dnl ===================================================================
6788AC_MSG_CHECKING([whether to include AFMs])
6789if test "$with_afms" != "no"; then
6790  AC_MSG_RESULT([yes])
6791  BUILD_TYPE="$BUILD_TYPE AFMS"
6792else
6793  AC_MSG_RESULT([no])
6794  WITHOUT_AFMS=YES
6795  SCPDEFS="$SCPDEFS -DWITHOUT_AFMS"
6796fi
6797AC_SUBST(WITHOUT_AFMS)
6798
6799AC_SUBST(SCPDEFS)
6800
6801AC_MSG_CHECKING([whether and how to use Xinerama])
6802if test "$_os" = "Darwin"; then
6803   USE_XINERAMA=YES
6804   XINERAMA_LINK=dynamic
6805   AC_MSG_RESULT([yes])
6806elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then
6807   if test -e "$XLIB/libXinerama.so" -a -e "$XLIB/libXinerama.a"; then
6808      # we have both versions, let the user decide but use the dynamic one
6809      # per default
6810      USE_XINERAMA=YES
6811      if test -z "$with_static_xinerama" -o -n "$with_system_libs"; then
6812         XINERAMA_LINK=dynamic
6813      else
6814         XINERAMA_LINK=static
6815      fi
6816   elif test -e "$XLIB/libXinerama.so" -a ! -e "$XLIB/libXinerama.a"; then
6817      # we have only the dynamic version
6818      USE_XINERAMA=YES
6819      XINERAMA_LINK=dynamic
6820   elif test -e "$XLIB/libXinerama.a"; then
6821      # static version
6822      if echo $build_cpu | $GREP -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
6823         USE_XINERAMA=YES
6824         XINERAMA_LINK=static
6825      else
6826         USE_XINERAMA=NO
6827         XINERAMA_LINK=none
6828      fi
6829   else
6830      # no Xinerama
6831      USE_XINERAMA=NO
6832      XINERAMA_LINK=none
6833   fi
6834   if test "$USE_XINERAMA" = "YES"; then
6835      AC_MSG_RESULT([yes, with $XINERAMA_LINK linking])
6836      AC_CHECK_HEADER(X11/extensions/Xinerama.h, [],
6837          [AC_MSG_ERROR(Xinerama header not found.)], [])
6838      XINERAMA_EXTRA_LIBS="-L$XLIB -lXext"
6839      if test "$_os" = "FreeBSD"; then
6840          XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -lXt"
6841      fi
6842      if test "$_os" = "Linux"; then
6843          XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl"
6844      fi
6845      AC_CHECK_LIB(Xinerama, XineramaIsActive, [],
6846          [AC_MSG_ERROR(Xinerama not functional?)], [$XINERAMA_EXTRA_LIBS])
6847   else
6848      AC_MSG_RESULT([no, libXinerama not found or wrong architecture.])
6849   fi
6850else
6851   AC_MSG_RESULT([no])
6852fi
6853AC_SUBST(USE_XINERAMA)
6854AC_SUBST(XINERAMA_LINK)
6855
6856dnl ===================================================================
6857dnl always rely on the system version of gdk-pixbuf
6858dnl ===================================================================
6859
6860SYSTEM_GDKPIXBUF=YES
6861AC_SUBST(SYSTEM_GDKPIXBUF)
6862
6863dnl ===================================================================
6864dnl always rely on the system version of glib
6865dnl ===================================================================
6866
6867SYSTEM_GLIB=YES
6868AC_SUBST(SYSTEM_GLIB)
6869
6870dnl ===================================================================
6871dnl always rely on the system version of gettext
6872dnl ===================================================================
6873
6874SYSTEM_GETTEXT=YES
6875AC_SUBST(SYSTEM_GETTEXT)
6876
6877if test "$_os" = "FreeBSD"; then
6878    LIBINTL_PREFIX=
6879    for dir in $CPPFLAGS; do
6880      if dir=`expr -- $dir : '-I\(.*\)'`; then
6881        if test -f "$dir/libintl.h" ; then
6882          LIBINTL_PREFIX=`dirname $dir`
6883        fi
6884      fi
6885    done
6886    AC_SUBST(LIBINTL_PREFIX)
6887fi
6888
6889dnl ===================================================================
6890dnl always rely on the system version of pango
6891dnl ===================================================================
6892
6893SYSTEM_PANGO=YES
6894AC_SUBST(SYSTEM_PANGO)
6895
6896dnl ===================================================================
6897dnl Test whether to build libpng or rely on the system version
6898dnl ===================================================================
6899AC_MSG_CHECKING([whether to build own version of libpng])
6900
6901case "$_os" in
6902	WINNT*) # Windows
6903	    SYSTEM_LIBPNG=NO
6904	    AC_MSG_RESULT([yes])
6905		;;
6906	Darwin*)
6907	    SYSTEM_LIBPNG=NO
6908	    AC_MSG_RESULT([yes])
6909	    ;;
6910   *)
6911   SYSTEM_LIBPNG=YES
6912   AC_MSG_RESULT([no])
6913   ;;
6914esac
6915AC_SUBST(SYSTEM_LIBPNG)
6916
6917dnl ===================================================================
6918dnl Test whether to build libjpeg or rely on the system version
6919dnl ===================================================================
6920dnl FIXME: this is currently because we have jpeg-6b for our filters
6921dnl        and jpeg-8 as dependency for librsvg
6922dnl        this should be unified into using only one version for both
6923
6924AC_MSG_CHECKING([whether to build own version of libjpeg])
6925
6926if test "$SYSTEM_JPEG" = "YES"; then
6927SYSTEM_LIBJPEG=YES
6928else
6929case "$_os" in
6930	WINNT*) # Windows
6931	    SYSTEM_LIBJPEG=NO
6932		;;
6933	Darwin*)
6934	    SYSTEM_LIBJPEG=NO
6935	    ;;
6936   *)
6937        SYSTEM_LIBJPEG=YES
6938        ;;
6939esac
6940fi
6941
6942if test "$SYSTEM_LIBJPEG" = "YES"; then
6943   AC_MSG_RESULT([no])
6944else
6945   AC_MSG_RESULT([yes])
6946fi
6947AC_SUBST(SYSTEM_LIBJPEG)
6948
6949dnl ===================================================================
6950dnl Test whether rat scan was requested and whether apache-rat is available
6951dnl ===================================================================
6952RAT_JAR=
6953AC_MSG_CHECKING([whether to trigger rat scan])
6954if test -z "$with_rat_scan" -o "$with_rat_scan" = "no"; then
6955    AC_MSG_RESULT([no])
6956else
6957    if test "$WITH_JAVA" = "no"; then
6958        AC_MSG_ERROR([no, java disabled, enable with --with-java])
6959    elif test "$enable_saxon" = "no"; then
6960        AC_MSG_ERROR([no, saxon disabled, enable with --enable-category-b])
6961    elif test "$with_rat_scan" = "yes"; then
6962        AC_MSG_RESULT([yes, use pre-built library])
6963        RAT_JAR_HOME="BUILD"
6964        BUILD_TYPE="$BUILD_TYPE RAT"
6965    else
6966        AC_MSG_RESULT([yes, use pre-installed library])
6967        AC_MSG_CHECKING([whether apache-rat is available])
6968        if test -d "$with_rat_scan"; then
6969            RAT_JAR_HOME=$with_rat_scan
6970        else
6971            AC_MSG_ERROR([$with_rat_scan is not a directory])
6972        fi
6973    fi
6974fi
6975AC_SUBST(RAT_JAR_HOME)
6976
6977
6978dnl ===================================================================
6979dnl Test for the presence of Ant and that it works
6980dnl ===================================================================
6981
6982if test "$SOLAR_JAVA" != ""; then
6983ANT_HOME=; export ANT_HOME
6984WITH_ANT_HOME=; export WITH_ANT_HOME
6985if test -z "$with_ant_home"; then
6986   if test "$_os" = "OS2"; then
6987     AC_PATH_PROGS(ANT, ant.cmd)
6988   else
6989     AC_PATH_PROGS(ANT, [apache-ant ant ant.sh ant.bat ant.cmd])
6990   fi
6991else
6992   if test "$_os" = "WINNT"; then
6993      with_ant_home=`cygpath -u "$with_ant_home"`
6994   fi
6995   if test "$_os" = "OS2"; then
6996     AC_PATH_PROGS(ANT, ant.cmd,,$with_ant_home/bin:$PATH)
6997   else
6998     AC_PATH_PROGS(ANT, [apache-ant ant ant.sh ant.bat ant.cmd],,$with_ant_home/bin:$PATH)
6999   fi
7000   WITH_ANT_HOME=$with_ant_home
7001   ANT_HOME=$with_ant_home
7002fi
7003
7004if test -z "$ANT"; then
7005  AC_MSG_ERROR([Ant not found - Make sure it's in the path or use --with-ant-home])
7006else
7007  # resolve relative or absolute symlink
7008  while test -h "$ANT"; do
7009     a_cwd=`pwd`
7010     a_basename=`basename "$ANT"`
7011     a_script=`ls -l "$ANT" | sed "s/.*${a_basename} -> //g"`
7012     cd "`dirname "$ANT"`"
7013     cd "`dirname "$a_script"`"
7014     ANT="`pwd`"/"`basename "$a_script"`"
7015     cd "$a_cwd"
7016  done
7017
7018  if test "$_os" = "OS2"; then
7019    ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
7020    export ANT_HOME
7021  fi
7022
7023  AC_MSG_CHECKING([if $ANT works])
7024cat > conftest.java << EOF
7025    public class conftest {
7026	int testmethod(int a, int b) {
7027            return a + b;
7028	}
7029    }
7030EOF
7031
7032cat > conftest.xml << EOF
7033    <project name="conftest" default="conftest">
7034	<target name="conftest">
7035            <javac srcdir="." includes="conftest.java">
7036	    </javac>
7037	</target>
7038    </project>
7039EOF
7040  oldJAVA_HOME=$JAVA_HOME
7041  if test "$JAVACISGCJ" = "yes"; then
7042    JAVA_HOME=; export JAVA_HOME
7043    ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2"
7044  else
7045    ant_cmd="$ANT -buildfile conftest.xml 1>&2"
7046  fi
7047  AC_TRY_EVAL(ant_cmd)
7048  if test $? = 0 && test -f ./conftest.class ; then
7049    AC_MSG_RESULT([Ant works])
7050    if test -z "$WITH_ANT_HOME"; then
7051        ANT_HOME=`$ANT -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"`
7052        if test -z "$ANT_HOME"; then
7053            ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
7054        fi
7055    else
7056        ANT_HOME="$WITH_ANT_HOME"
7057    fi
7058  else
7059    echo "configure: Ant test failed" >&5
7060    cat conftest.java >&5
7061    cat conftest.xml >&5
7062    AC_MSG_WARN([Ant does not work - Some Java projects will not build!])
7063    ANT_HOME=""
7064    echo "Ant does not work - Some Java projects will not build!" >>warn
7065  fi
7066  JAVA_HOME=$oldJAVA_HOME
7067  rm -f conftest* core core.* *.core
7068fi
7069if test -z "$ANT_HOME"; then
7070   ANT_HOME="NO_ANT_HOME"
7071fi
7072AC_SUBST(ANT_HOME)
7073
7074dnl Checking for ant.jar
7075if test "$ANT_HOME" != "NO_ANT_HOME"; then
7076   AC_MSG_CHECKING([Ant lib directory])
7077   if test -f $ANT_HOME/lib/ant.jar; then
7078	  ANT_LIB="$ANT_HOME/lib"
7079   else
7080      if test -f $ANT_HOME/ant.jar; then
7081	     ANT_LIB="$ANT_HOME"
7082      else
7083          if test -f /usr/share/java/ant.jar; then
7084              ANT_LIB=/usr/share/java
7085          else
7086             if test -f /usr/share/ant-core/lib/ant.jar; then
7087                 ANT_LIB=/usr/share/ant-core/lib
7088             else
7089                if test -f $ANT_HOME/lib/ant/ant.jar; then
7090                    ANT_LIB="$ANT_HOME/lib/ant"
7091                else
7092                   if test -f /usr/share/lib/ant/ant.jar; then
7093                       ANT_LIB=/usr/share/lib/ant
7094                   else
7095                       AC_MSG_ERROR([Ant libraries not found!])
7096                   fi
7097                fi
7098             fi
7099          fi
7100      fi
7101   fi
7102   AC_MSG_RESULT([Ant lib directory found.])
7103fi
7104AC_SUBST(ANT_LIB)
7105fi
7106
7107ant_minver=1.9.1
7108# update for more extensions...
7109if test "$ENABLE_MEDIAWIKI" = "YES"; then
7110  ant_minver=1.9.1
7111fi
7112ant_minminor1=`echo $ant_minver | cut -d"." -f2`
7113
7114AC_MSG_CHECKING([whether ant is >= $ant_minver])
7115ant_version=`$ANT -version | $AWK '{ print $4; }'`
7116ant_version_major=`echo $ant_version | cut -d. -f1`
7117ant_version_minor=`echo $ant_version | cut -d. -f2`
7118echo "configure: ant_version $ant_version " >&5
7119echo "configure: ant_version_major $ant_version_major " >&5
7120echo "configure: ant_version_minor $ant_version_minor " >&5
7121if test "$ant_version_major" -ge "2"; then
7122   AC_MSG_RESULT([yes, $ant_version])
7123elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then
7124   AC_MSG_RESULT([yes, $ant_version])
7125else
7126   AC_MSG_ERROR([no, you need at least ant >= $ant_minver])
7127fi
7128
7129if test "$ENABLE_MEDIAWIKI" = "YES"; then
7130AC_MSG_CHECKING([whether ant supports mapper type="regexp"])
7131rm -rf confdir
7132mkdir confdir
7133cat > conftest.java << EOF
7134    public class conftest {
7135        int testmethod(int a, int b) {
7136            return a + b;
7137        }
7138    }
7139EOF
7140
7141cat > conftest.xml << EOF
7142    <project name="conftest" default="conftest">
7143        <target name="conftest" depends="copytest">
7144            <javac srcdir="." includes="conftest.java">
7145            </javac>
7146        </target>
7147        <target name="copytest">
7148             <copy todir="confdir">
7149                 <fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/>
7150                 <filterset/>
7151                 <mapper type="regexp" from="^(.*[/\\])foo([/\\].*)" to="\1baa\2"/>
7152             </copy>
7153        </target>
7154    </project>
7155EOF
7156  if test "$JAVACISGCJ" = "yes"; then
7157    JAVA_HOME=; export JAVA_HOME
7158    ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2"
7159  else
7160    ant_cmd="$ANT -buildfile conftest.xml 1>&2"
7161  fi
7162  AC_TRY_EVAL(ant_cmd)
7163  if test $? = 0 && test -f ./conftest.class ; then
7164    AC_MSG_RESULT([yes])
7165    rm -rf confdir
7166  else
7167    echo "configure: Ant test failed" >&5
7168    cat conftest.java >&5
7169    cat conftest.xml >&5
7170    rm -rf confdir
7171    AC_MSG_ERROR([no. Did you install ant-apache-regexp?])
7172  fi
7173fi
7174rm -f conftest* core core.* *.core
7175
7176OOO_JUNIT_JAR=
7177JUNIT_NEEDS_HAMCREST=
7178if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no"; then
7179    AC_MSG_CHECKING([for JUnit])
7180    if test "$with_junit" = "yes"; then
7181        if test -e /usr/share/java/junit4.jar; then
7182           OOO_JUNIT_JAR=/usr/share/java/junit4.jar
7183        else
7184           if test -e /usr/local/share/java/classes/junit4.jar; then
7185              OOO_JUNIT_JAR=/usr/local/share/java/classes/junit4.jar
7186           else
7187              if test -e /usr/share/lib/java/junit.jar; then
7188                 OOO_JUNIT_JAR=/usr/share/lib/java/junit.jar
7189              else
7190                 if test -e /usr/share/local/lib/java/junit.jar; then
7191                    OOO_JUNIT_JAR=/usr/share/local/lib/java/junit.jar
7192                 else
7193                    if test -e /usr/share/java/junit.jar; then
7194                       OOO_JUNIT_JAR=/usr/share/java/junit.jar
7195                    else
7196                       if test -e /usr/local/share/java/classes/junit.jar; then
7197                          OOO_JUNIT_JAR=/usr/local/share/java/classes/junit.jar
7198                       fi
7199                    fi
7200                 fi
7201              fi
7202           fi
7203        fi
7204    else
7205        OOO_JUNIT_JAR=$with_junit
7206    fi
7207    if test -e "$OOO_JUNIT_JAR"; then
7208        AC_MSG_RESULT([yes])
7209    else
7210        AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the default
7211locations (/usr/share/java or /usr/local/share/java/classes), specify its pathname via
7212--with-junit=..., or disable it via --without-junit.])
7213    fi
7214    if test "$_os" = "WINNT"; then
7215        OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"`
7216    fi
7217    AC_MSG_CHECKING([whether JUnit is version 4.x])
7218    export OOO_JUNIT_JAR
7219    if $PERL -e 'use Archive::Zip;
7220        my $file = "$ENV{'OOO_JUNIT_JAR'}";
7221        my $zip = Archive::Zip->new( $file );
7222        my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
7223        if ( $mf =~ m/Implementation-Version: 4.12*/ ) {
7224            exit 0;
7225        } elsif ( $mf =~ m/Implementation-Version: 4.11*/ ) {
7226            exit 0;
7227        } elsif ( $mf =~ m/Bundle-Version: 4.12*/ ) {
7228            exit 0;
7229        } elsif ( $mf =~ m/Bundle-Version: 4.11*/ ) {
7230            exit 0;
7231        } else {
7232            exit 1;
7233        }'; then
7234        AC_MSG_RESULT([yes, but Hamcrest Core is mandatory with this JUnit version (>= 4.11)])
7235        JUNIT_NEEDS_HAMCREST=yes
7236    elif $PERL -e 'use Archive::Zip;
7237        my $file = "$ENV{'OOO_JUNIT_JAR'}";
7238        my $zip = Archive::Zip->new( $file );
7239        my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
7240        if ( $mf =~ m/Implementation-Version: 4.*/ ) {
7241            exit 0;
7242        } elsif ( $mf =~ m/Bundle-Version: 4.*/ ) {
7243        } else {
7244            exit 1;
7245        }'; then
7246        AC_MSG_RESULT([yes])
7247    else
7248        AC_MSG_ERROR([no, your JUnit version is too old, you need JUnit 4.x])
7249    fi
7250fi
7251AC_SUBST(OOO_JUNIT_JAR)
7252
7253HAMCREST_CORE_JAR=
7254if test "$SOLAR_JAVA" != "" && test "$with_hamcrest_core" != "no"; then
7255    AC_MSG_CHECKING([for hamcrest-core])
7256    if test "$with_hamcrest_core" = "yes"; then
7257        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/java/hamcrest-core-1.3.jar; then
7258            HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core-1.3.jar
7259        fi
7260        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/java/classes/hamcrest-core-1.3.jar; then
7261            HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest-core-1.3.jar
7262        fi
7263        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/lib/java/hamcrest-core.jar; then
7264            HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest-core.jar
7265        fi
7266        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/lib/java/hamcrest-core.jar; then
7267            HAMCREST_CORE_JAR=/usr/local/share/lib/java/hamcrest-core.jar
7268        fi
7269        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/java/hamcrest-core.jar; then
7270            HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core.jar
7271        fi
7272        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/java/classes/hamcrest-core.jar; then
7273            HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest-core.jar
7274        fi
7275        # Sometimes the "-core-" part is missing...
7276        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/java/hamcrest1.3.jar; then
7277            HAMCREST_CORE_JAR=/usr/share/java/hamcrest1.3.jar
7278        fi
7279        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/java/classes/hamcrest1.3.jar; then
7280            HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest1.3.jar
7281        fi
7282        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/lib/java/hamcrest.jar; then
7283            HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest.jar
7284        fi
7285        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/lib/java/hamcrest.jar; then
7286            HAMCREST_CORE_JAR=/usr/local/share/lib/java/hamcrest.jar
7287        fi
7288        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/java/hamcrest.jar; then
7289            HAMCREST_CORE_JAR=/usr/share/java/hamcrest.jar
7290        fi
7291        if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/java/classes/hamcrest.jar; then
7292            HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest.jar
7293        fi
7294    else
7295        HAMCREST_CORE_JAR=$with_hamcrest_core
7296    fi
7297    if test -e "$HAMCREST_CORE_JAR"; then
7298        AC_MSG_RESULT([yes])
7299        if test "$_os" = "WINNT"; then
7300            HAMCREST_CORE_JAR=`cygpath -m "$HAMCREST_CORE_JAR"`
7301        fi
7302    else
7303        if test "$JUNIT_NEEDS_HAMCREST" = "yes"; then
7304            AC_MSG_ERROR([cannot find hamcrest-core jar; please install one in the
7305default locations (/usr/share/java or /usr/local/share/java/classes), specify its
7306pathname via --with-hamcrest-core=..., or disable
7307it via --without-hamcrest-core or --without-junit])
7308        else
7309            AC_MSG_RESULT([no, skipping])
7310        fi
7311    fi
7312else
7313    if test "$JUNIT_NEEDS_HAMCREST" = "yes"; then
7314        AC_MSG_ERROR([JUnit needs Hamcrest but Hamcrest disabled.])
7315    fi
7316fi
7317AC_SUBST(HAMCREST_CORE_JAR)
7318
7319AC_MSG_CHECKING([which languages to be built])
7320WITH_LANG="$with_lang"
7321if test -z "$WITH_LANG"; then
7322   AC_MSG_RESULT([en-US])
7323else
7324   AC_MSG_RESULT([$WITH_LANG])
7325   ADDITIONAL_REPOSITORIES="$ADDITIONAL_REPOSITORIES ../extras"
7326   BUILD_TYPE="$BUILD_TYPE L10N"
7327fi
7328AC_SUBST(WITH_LANG)
7329
7330AC_MSG_CHECKING([which languages have poor help localizations])
7331WITH_POOR_HELP_LOCALIZATIONS="$with_poor_help_localizations"
7332if test -z "$WITH_POOR_HELP_LOCALIZATIONS"; then
7333   AC_MSG_RESULT([none])
7334else
7335   AC_MSG_RESULT([$WITH_POOR_HELP_LOCALIZATIONS])
7336fi
7337AC_SUBST(WITH_POOR_HELP_LOCALIZATIONS)
7338
7339AC_MSG_CHECKING([which dictionaries to include])
7340if test -z "$with_dict"; then
7341   WITH_DICT=,ALL,
7342   AC_MSG_RESULT([ALL])
7343else
7344   WITH_DICT=","$with_dict","
7345   AC_MSG_RESULT([$with_dict])
7346fi
7347AC_SUBST(WITH_DICT)
7348
7349AC_MSG_CHECKING([for additional 'intro' bitmaps])
7350INTRO_BITMAPS=
7351if test -z "$with_intro_bitmaps" -o "$with_intro_bitmaps" = "no" ; then
7352   INTRO_BITMAPS=
7353   AC_MSG_RESULT([none])
7354else
7355   for bitmap in `echo $with_intro_bitmaps | tr ',' ' '` ; do
7356      case "$bitmap" in
7357         *.bmp) ;;
7358         *)     bitmap= ; AC_MSG_WARN([Intro bitmaps should be .bmp files!]) ;;
7359      esac
7360      if test -n "$bitmap" ; then
7361         INTRO_BITMAPS="$INTRO_BITMAPS $bitmap"
7362      fi
7363   done
7364   AC_MSG_RESULT([$INTRO_BITMAPS])
7365fi
7366AC_SUBST(INTRO_BITMAPS)
7367
7368AC_MSG_CHECKING([for additional 'about' bitmaps])
7369ABOUT_BITMAPS=
7370if test -z "$with_about_bitmaps" -o "$with_about_bitmaps" = "no" ; then
7371   ABOUT_BITMAPS=
7372   AC_MSG_RESULT([none])
7373else
7374   for bitmap in `echo $with_about_bitmaps | tr ',' ' '` ; do
7375      case "$bitmap" in
7376         *.bmp) ;;
7377         *)     bitmap= ; AC_MSG_WARN([About bitmaps should be .bmp files!]) ;;
7378      esac
7379      if test -n "$bitmap" ; then
7380         ABOUT_BITMAPS="$ABOUT_BITMAPS $bitmap"
7381      fi
7382   done
7383   AC_MSG_RESULT([$ABOUT_BITMAPS])
7384fi
7385AC_SUBST(ABOUT_BITMAPS)
7386
7387OOO_VENDOR=
7388AC_MSG_CHECKING([for vendor])
7389if test -z "$with_vendor" -o "$with_vendor" = "no" ; then
7390   AC_MSG_RESULT([not set])
7391else
7392   OOO_VENDOR="$with_vendor"
7393   AC_MSG_RESULT([$OOO_VENDOR])
7394fi
7395AC_SUBST(OOO_VENDOR)
7396
7397UNIXWRAPPERNAME=
7398AC_MSG_CHECKING([for UNIX wrapper name])
7399if test -z "$with_unix_wrapper" -o "$with_unix_wrapper" = "no"  -o "$with_unix_wrapper" = "yes" ; then
7400   AC_MSG_RESULT([not set])
7401else
7402   UNIXWRAPPERNAME="$with_unix_wrapper"
7403   AC_MSG_RESULT([$UNIXWRAPPERNAME])
7404fi
7405AC_SUBST(UNIXWRAPPERNAME)
7406
7407AC_MSG_CHECKING([whether to statically link to Gtk])
7408if test -n "$enable_static_gtk" && test "$enable_static_gtk" != "no"; then
7409   ENABLE_STATIC_GTK="TRUE"
7410   AC_MSG_RESULT([yes])
7411else
7412   ENABLE_STATIC_GTK="FALSE"
7413   AC_MSG_RESULT([no])
7414fi
7415AC_SUBST(ENABLE_STATIC_GTK)
7416
7417AC_MSG_CHECKING([whether to use layout dialogs])
7418if test -n "$enable_layout" && test "$enable_layout" != "no"; then
7419   ENABLE_LAYOUT="TRUE"
7420   AC_MSG_RESULT([yes])
7421else
7422   ENABLE_LAYOUT="FALSE"
7423   AC_MSG_RESULT([no])
7424fi
7425AC_SUBST(ENABLE_LAYOUT)
7426
7427# ===================================================================
7428# De- or increase default verbosity of build process
7429# ===================================================================
7430AC_MSG_CHECKING([build verbosity])
7431if test -n "$enable_verbose"; then
7432   if test "$enable_verbose" = "yes"; then
7433      VERBOSE="TRUE"
7434      AC_MSG_RESULT([high])
7435   fi
7436   if test "$enable_verbose" = "no"; then
7437      VERBOSE="FALSE"
7438      AC_MSG_RESULT([low])
7439   fi
7440else
7441   AC_MSG_RESULT([not set])
7442fi
7443AC_SUBST(VERBOSE)
7444
7445dnl ===================================================================
7446dnl Hook up AOOs nodep environmental variable to automake's equivalent
7447dnl --enable-dependency-tracking configure option
7448dnl ===================================================================
7449AC_MSG_CHECKING([whether to enable dependency tracking])
7450if test "$enable_dependency_tracking" = "no"; then
7451    nodep=TRUE
7452    AC_MSG_RESULT([no])
7453else
7454    AC_MSG_RESULT([yes])
7455fi
7456AC_SUBST(nodep)
7457
7458dnl ===================================================================
7459dnl Setting up the environment.
7460dnl ===================================================================
7461echo "********************************************************************"
7462echo "*                                                                  *"
7463echo "*   Setting up the build environment variables.                    *"
7464echo "*                                                                  *"
7465echo "********************************************************************"
7466
7467if test -z "$COMPATH"; then
7468   AC_MSG_ERROR([No compiler found.])
7469fi
7470AC_SUBST(COMPATH)
7471AC_SUBST(CC_PATH)
7472
7473AC_MSG_CHECKING([solver path])
7474if test -z "$with_local_solver"; then
7475   LOCAL_SOLVER="DEFAULT"
7476   AC_MSG_RESULT([default])
7477else
7478   LOCAL_SOLVER=$with_local_solver
7479   AC_MSG_RESULT([$with_local_solver])
7480fi
7481AC_SUBST(LOCAL_SOLVER)
7482
7483AC_SUBST(BUILD_TYPE)
7484AC_SUBST(ADDITIONAL_REPOSITORIES)
7485
7486# make sure config.guess is +x; we execute config.guess, so it has to be so;
7487chmod +x ./config.guess
7488
7489# Create files from their *.in templates.
7490AC_CONFIG_FILES([set_soenv Makefile])
7491
7492AC_MSG_NOTICE([writing config.status])
7493AC_OUTPUT
7494
7495dnl Executing the set_soenv script to setup the environment variables.
7496chmod a+x set_soenv
7497if test -z "$enable_check_only"; then
7498   './set_soenv'
7499else
7500   echo
7501   echo Test Complete
7502   echo No environment file will be generated
7503   echo
7504   num_warnings=`wc -l warn`
7505   _num=`echo $num_warnings | $AWK '{ print $1 }'`
7506   if test $_num -gt 0; then
7507      echo The following warning\(s\) were generated by configure
7508      echo ----------------------------------------------------
7509      echo
7510      cat warn
7511      echo
7512   else
7513      echo There were no warnings
7514   fi
7515   echo
7516fi
7517
7518