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