1 dnl -*- Mode: Autoconf; tab-width: 4; indent-tabs-mode: nil; fill-column: 102 -*-
2 dnl configure.ac serves as input for the GNU autoconf package
3 dnl in order to create a configure script.
5 # The version number in the second argumemnt to AC_INIT should be four numbers separated by
6 # periods. Some parts of the code requires the first one to be less than 128 and the others to be less
7 # than 256. The four numbers can optionally be followed by a period and a free-form string containing
8 # no spaces or periods, like "frobozz-mumble-42" or "alpha0". If the free-form string ends with one or
9 # several non-alphanumeric characters, those are split off and used only for the
10 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea.
12 AC_INIT([LibreOffice],[4.1.0.0.beta1+],[],[],[http://documentfoundation.org/])
20 GIT_NEEDED_SUBMODULES=""
21 LO_PATH= # used by path_munge to construct a PATH variable
26 if test "$build_os" = "cygwin"; then
29 for pf_part in $formatted_path; do
30 if test -z "$pf_part1"; then
36 if test "$pf_conv_to_dos" = "yes"; then
37 formatted_path=`cygpath -d "$formatted_path"`
38 if test $? -ne 0; then
39 AC_MSG_ERROR([path conversion failed for "$1".])
42 fp_count_colon=`echo "$formatted_path" | $GREP -c "[:]"`
43 fp_count_slash=`echo "$formatted_path" | $GREP -c "[/]"`
44 if test "$fp_count_slash$fp_count_colon" != "00"; then
45 if test "$fp_count_colon" = "0"; then
46 formatted_path=`realpath "$formatted_path"`
47 if test $? -ne 0; then
48 AC_MSG_ERROR([realpath failed for "$1".])
51 formatted_path=`cygpath -m "$formatted_path"`
52 if test $? -ne 0; then
53 AC_MSG_ERROR([path conversion failed for "$1".])
63 if test "$have_WARNINGS" = "no"; then
64 echo "*************************************" > warn
66 if which tput >/dev/null 2>/dev/null && test `tput colors` -ge 8; then
67 dnl <esc> as actual byte (U+1b), [ escaped using quadrigraph @<:@
68 COLORWARN='*
\e@<:@1;33;40m WARNING
\e@<:@0m:'
70 COLORWARN="* WARNING :"
73 echo "$COLORWARN $@" >> warn
76 if test -n "$SOLARENV"; then
77 AC_MSG_ERROR([You have sourced config_host.mk in this shell. This may lead to trouble, please run in a fresh (login) shell.])
80 echo "********************************************************************"
82 echo "* Running ${PACKAGE_NAME} build configuration."
84 echo "********************************************************************"
87 dnl ===================================================================
88 dnl checks build and host OSes
89 dnl do this before argument processing to allow for platform dependent defaults
90 dnl ===================================================================
94 # AC_PROG_EGREP doesn't set GREP on all systems as well
95 AC_PATH_PROG(GREP, grep)
104 if test "$build_os" = "cygwin"; then
105 EXEEXT_FOR_BUILD=.exe
106 PathFormat "$SRC_ROOT"
107 SRC_ROOT="$formatted_path"
108 PathFormat "$BUILDDIR"
109 BUILDDIR="$formatted_path"
115 AC_SUBST(EXEEXT_FOR_BUILD)
117 AC_DEFINE_UNQUOTED(SRCDIR,"$SRC_ROOT")
118 AC_DEFINE_UNQUOTED(BUILDDIR,"$BUILDDIR")
120 if test "z$EUID" = "z0" -a "`uname -o 2>/dev/null`" = "Cygwin"; then
121 AC_MSG_ERROR([You must build LibreOffice as a normal user - not using an administrative account])
124 # need sed in os checks...
125 AC_PATH_PROGS(SED, sed)
126 if test -z "$SED"; then
127 AC_MSG_ERROR([install sed to run this script])
130 dnl ===================================================================
131 dnl When building for Android, --with-android-ndk,
132 dnl --with-android-ndk-toolchain-version and --with-android-sdk are
134 dnl ===================================================================
136 AC_ARG_WITH(android-ndk,
137 AS_HELP_STRING([--with-android-ndk],
138 [Specify location of the Android Native Development Kit. Mandatory when building for Android.]),
141 AC_ARG_WITH(android-ndk-toolchain-version,
142 AS_HELP_STRING([--with-android-ndk-toolchain-version],
143 [Specify which toolchain version to use, of those present in the
144 Android NDK you are using. Mandatory if the NDK used has several
145 toolchain versions for the host architecture you are building for.]), ,)
147 AC_ARG_WITH(android-sdk,
148 AS_HELP_STRING([--with-android-sdk],
149 [Specify location of the Android SDK. Mandatory when building for Android.]),
153 if test -n "$with_android_ndk"; then
154 ANDROID_NDK_HOME=$with_android_ndk
156 # Set up a lot of pre-canned defaults
158 if test ! -f $ANDROID_NDK_HOME/RELEASE.TXT; then
159 AC_MSG_ERROR([Unrecognized Android NDK. Only r8* versions supported.])
161 ANDROID_NDK_VERSION=`cut -f1 -d' ' <$ANDROID_NDK_HOME/RELEASE.TXT`
163 case $ANDROID_NDK_VERSION in
167 AC_MSG_ERROR([Unsupported NDK version $ANDROID_NDK_VERSION, only r8* versions are supported])
171 if test $host_cpu = arm; then
173 android_platform_prefix=$android_cpu-linux-androideabi
174 elif test $host_cpu = mips; then
176 android_platform_prefix=$android_cpu-linux-androideabi
178 # host_cpu is something like "i386" or "i686" I guess, NDK uses
179 # "x86" in some contexts
181 android_platform_prefix=$android_cpu
184 case "$with_android_ndk_toolchain_version" in
186 ANDROID_BINUTILS_DIR=$ANDROID_NDK_HOME/toolchains/$android_platform_prefix-$with_android_ndk_toolchain_version
187 ANDROID_COMPILER_DIR=$ANDROID_BINUTILS_DIR
190 AC_MSG_WARN([Building with the Clang tool-chain is known to break in the bridges module, fix that please])
191 ANDROID_BINUTILS_DIR=$ANDROID_NDK_HOME/toolchains/$android_platform_prefix-4.6
192 ANDROID_COMPILER_DIR=$ANDROID_NDK_HOME/toolchains/llvm-${with_android_ndk_toolchain_version#clang}
193 ANDROID_USING_CLANG=true
197 if test ! -d $ANDROID_BINUTILS_DIR; then
198 AC_MSG_ERROR([No directory $ANDROID_BINUTILS_DIR])
199 elif test $ANDROID_COMPILER_DIR != $ANDROID_BINUTILS_DIR -a ! -d $ANDROID_COMPILER_DIR; then
200 AC_MSG_ERROR([No directory $ANDROID_COMPILER_DIR])
203 # Check if there is a 64-bit tool-chain. Google provides a NDK with 64-bit tool-chain binaries in
204 # NDK r8e, and for earlier NDKs it was possible to build one yourself. Using a 64-bit linker is
205 # required if you compile large parts of the code with -g. A 32-bit linker just won't manage to
206 # link the (app-specific) single huge .so that is built for the apps in android/experimental/* if
207 # there is debug information in a significant part of the object files. (A 64-bit ld.gold grows to
208 # much over 10 gigabytes of virtual space when linking such a .so if all objects have been built
209 # with debug information.)
211 if test $build_os = linux-gnu; then
212 ANDROID_COMPILER_BIN=$ANDROID_COMPILER_DIR/prebuilt/linux-x86/bin
213 ANDROID_BINUTILS_PREBUILT_ROOT=$ANDROID_BINUTILS_DIR/prebuilt/linux-x86
214 if test $build_cpu = x86_64; then
215 if test -d $ANDROID_COMPILER_DIR/prebuilt/linux-x86_64; then
216 ANDROID_COMPILER_BIN=$ANDROID_COMPILER_DIR/prebuilt/linux-x86_64/bin
218 if test -d $ANDROID_BINUTILS_DIR/prebuilt/linux-x86_64; then
219 ANDROID_BINUTILS_PREBUILT_ROOT=$ANDROID_BINUTILS_DIR/prebuilt/linux-x86_64
222 ANDROID_BINUTILS_BIN=$ANDROID_BINUTILS_PREBUILT_ROOT/bin
225 # This stays empty if there is just one version of the toolchain in the NDK
226 ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR=
227 case "`echo $ANDROID_NDK_HOME/toolchains/$android_cpu*-*/prebuilt/*/bin`" in
229 # Trailing slash intentional and necessary, compare to how this is used
230 if test -n "$ANDROID_USING_CLANG"; then
231 ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR=4.6/
233 ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR="${with_android_ndk_toolchain_version}/"
238 if test $host_cpu = arm; then
239 android_gnu_prefix=arm-linux-androideabi
240 elif test $host_cpu = mips; then
241 android_gnu_prefix=mipsel-linux-android
242 elif test $ANDROID_NDK_VERSION = r8; then
243 # The prefix used for the x86 tool-chain changed between NDK r8 and r8b
244 android_gnu_prefix=i686-android-linux
246 android_gnu_prefix=i686-linux-android
249 test -z "$SYSBASE" && export SYSBASE=$ANDROID_NDK_HOME/platforms/android-9/arch-$android_cpu
250 test -z "$AR" && AR=$ANDROID_BINUTILS_BIN/$android_gnu_prefix-ar
251 test -z "$NM" && NM=$ANDROID_BINUTILS_BIN/$android_gnu_prefix-nm
252 test -z "$OBJDUMP" && OBJDUMP=$ANDROID_BINUTILS_BIN/$android_gnu_prefix-objdump
253 test -z "$RANLIB" && RANLIB=$ANDROID_BINUTILS_BIN/$android_gnu_prefix-ranlib
254 test -z "$STRIP" && STRIP=$ANDROID_BINUTILS_BIN/$android_gnu_prefix-strip
256 if test $host_cpu = arm; then
257 ANDROID_APP_ABI=armeabi-v7a
258 if test -n "$ANDROID_USING_CLANG"; then
259 ANDROIDCFLAGS="-gcc-toolchain $ANDROID_BINUTILS_PREBUILT_ROOT"
260 ANDROIDCFLAGS="$ANDROIDCFLAGS -target armv7-none-linux-androideabi"
261 ANDROIDCFLAGS="$ANDROIDCFLAGS -no-canonical-prefixes"
265 ANDROIDCFLAGS="$ANDROIDCFLAGS -mthumb"
266 ANDROIDCFLAGS="$ANDROIDCFLAGS -march=armv7-a -mfloat-abi=softfp -mfpu=neon"
267 elif test $host_cpu = mips; then
272 ANDROIDCFLAGS="-march=atom"
274 ANDROIDCFLAGS="$ANDROIDCFLAGS -ffunction-sections"
275 ANDROIDCFLAGS="$ANDROIDCFLAGS -L$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}libs/$ANDROID_APP_ABI"
276 ANDROIDCFLAGS="$ANDROIDCFLAGS --sysroot $ANDROID_NDK_HOME/platforms/android-9/arch-$android_cpu"
277 ANDROIDCFLAGS="$ANDROIDCFLAGS -Wl,--fix-cortex-a8"
279 if test -n "$ANDROID_USING_CLANG"; then
280 ANDROIDCFLAGS="$ANDROIDCFLAGS -Qunused-arguments"
282 ANDROIDCFLAGS="$ANDROIDCFLAGS -Wno-psabi"
285 # When using the 4.6 or newer toolchain, use the gold linker
286 case "$with_android_ndk_toolchain_version" in
287 4.[[6789]]*|[[56789]].*|clang*)
288 # The NDK doesn't have ld.gold for MIPS for some reason
289 if test "$host_cpu" != mips; then
290 ANDROIDCFLAGS="$ANDROIDCFLAGS -fuse-ld=gold"
295 # gdbserver can be in different locations
296 if test -f $ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.4.3/prebuilt/gdbserver; then
297 ANDROID_NDK_GDBSERVER=$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.4.3/prebuilt/gdbserver
298 elif test -f $ANDROID_NDK_HOME/prebuilt/android-$android_cpu/gdbserver/gdbserver; then
299 ANDROID_NDK_GDBSERVER=$ANDROID_NDK_HOME/prebuilt/android-$android_cpu/gdbserver/gdbserver
301 AC_MSG_ERROR([Can't find gdbserver for your Android target])
304 if test $host_cpu = arm; then
305 ANDROIDCXXFLAGS="$ANDROIDCFLAGS -I $ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}include -I$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}libs/armeabi-v7a/include"
306 elif test $host_cpu = mips; then
307 ANDROIDCXXFLAGS="$ANDROIDCFLAGS -I $ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}include -I$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}libs/mips/include"
309 ANDROIDCXXFLAGS="$ANDROIDCFLAGS -I $ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}include -I$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/${ANDROID_NDK_TOOLCHAIN_VERSION_SUBDIR}libs/x86/include"
312 if test -z "$CC"; then
313 case "$with_android_ndk_toolchain_version" in
315 CC="$ANDROID_COMPILER_BIN/$android_gnu_prefix-gcc $ANDROIDCFLAGS"
318 CC="$ANDROID_COMPILER_BIN/clang $ANDROIDCFLAGS"
321 if test -z "$CXX"; then
322 case "$with_android_ndk_toolchain_version" in
324 CXX="$ANDROID_COMPILER_BIN/$android_gnu_prefix-g++ $ANDROIDCXXFLAGS"
327 CXX="$ANDROID_COMPILER_BIN/clang++ $ANDROIDCXXFLAGS"
332 AC_SUBST(ANDROID_NDK_GDBSERVER)
333 AC_SUBST(ANDROID_APP_ABI)
335 dnl ===================================================================
336 dnl Also --with-android-sdk is mandatory
337 dnl ===================================================================
339 if test -n "$with_android_sdk"; then
340 ANDROID_SDK_HOME=$with_android_sdk
341 PATH="$ANDROID_SDK_HOME/platform-tools:$ANDROID_SDK_HOME/tools:$PATH"
343 AC_SUBST(ANDROID_SDK_HOME)
345 dnl ===================================================================
346 dnl The following is a list of supported systems.
347 dnl Sequential to keep the logic very simple
348 dnl These values may be checked and reset later.
349 dnl ===================================================================
350 #defaults unless the os test overrides this:
358 # Default values, as such probably valid just for Linux, set
359 # differently below just for Mac OSX,but at least better than
360 # hardcoding these as we used to do. Much of this is duplicated also
361 # in solenv for old build system and for gbuild, ideally we should
362 # perhaps define stuff like this only here in configure.ac?
364 LINKFLAGSSHL="-shared"
368 LINKFLAGSNOUNDEFS="-Wl,-z,defs"
375 build_gstreamer_0_10=yes
382 dnl ===========================================================
383 dnl Check whether we're using Solaris 10 - SPARC or Intel.
384 dnl ===========================================================
385 AC_MSG_CHECKING([the Solaris operating system release])
386 _os_release=`echo $host_os | $SED -e s/solaris2\.//`
387 if test "$_os_release" -lt "10"; then
388 AC_MSG_ERROR([use Solaris >= 10 to build LibreOffice])
390 AC_MSG_RESULT([ok ($_os_release)])
393 dnl Check whether we're using a SPARC or i386 processor
394 AC_MSG_CHECKING([the processor type])
395 if test "$host_cpu" = "sparc" -o "$host_cpu" = "i386"; then
396 AC_MSG_RESULT([ok ($host_cpu)])
398 AC_MSG_ERROR([only SPARC and i386 processors are supported])
402 linux-gnu*|k*bsd*-gnu*)
405 build_gstreamer_0_10=yes
410 test_unix_quickstarter=yes
420 cygwin*|interix*|mingw32*)
422 # When building on Windows normally with MSVC under Cygwin,
423 # configure thinks that the host platform (the platform the
424 # built code will run on) is Cygwin, even if it obviously is
425 # Windows, which in Autoconf terminology is called
426 # "mingw32". (Which is misleading as MinGW is the name of the
427 # tool-chain, not an operating system.)
429 # Somewhat confusing, yes. But this configure script doesn't
430 # look at $host etc that much, it mostly uses its own $_os
431 # variable, set here in this case statement.
433 # When cross-compiling to Windows from Unix, the host platform
434 # is "mingw32" (because in that case it is the MinGW
435 # tool-chain that is used).
448 # If the host OS matches "mingw32*", that means we are using the
449 # MinGW cross-compiler, because we don't see the point in building
450 # LibreOffice using MinGW on Windows. If you want to build on
451 # Windows, use MSVC. If you want to use MinGW, surely you want to
452 # cross-compile (from Linux or some other Unix).
457 if test -z "$CC"; then
458 CC="$host_cpu-$host_vendor-$host_os-gcc"
460 if test -z "$CXX"; then
461 CXX="$host_cpu-$host_vendor-$host_os-g++"
467 darwin*) # Mac OS X or iOS
474 if test "$host_cpu" = "arm"; then
482 # See comment above the case "$host_os"
483 LINKFLAGSSHL="-dynamiclib -single_module"
490 # -undefined error is the default
497 build_gstreamer_0_10=yes
502 AC_MSG_CHECKING([the FreeBSD operating system release])
503 if test -n "$with_os_version"; then
504 OSVERSION="$with_os_version"
506 OSVERSION=`/sbin/sysctl -n kern.osreldate`
508 AC_MSG_RESULT([found OSVERSION=$OSVERSION])
509 AC_MSG_CHECKING([which thread library to use])
510 if test "$OSVERSION" -lt "500016"; then
511 PTHREAD_CFLAGS="-D_THREAD_SAFE"
512 PTHREAD_LIBS="-pthread"
513 elif test "$OSVERSION" -lt "502102"; then
514 PTHREAD_CFLAGS="-D_THREAD_SAFE"
518 PTHREAD_LIBS="-pthread"
520 AC_MSG_RESULT([$PTHREAD_LIBS])
527 build_gstreamer_0_10=yes
532 PTHREAD_LIBS="-pthread -lpthread"
539 PTHREAD_LIBS=-pthread
548 PTHREAD_CFLAGS="-D_THREAD_SAFE"
549 PTHREAD_LIBS="-pthread"
556 build_gstreamer_0_10=yes
561 PTHREAD_LIBS="-pthread"
567 build_gstreamer_0_10=no
568 enable_lotuswordpro=no
570 enable_mpl_subset=yes
584 test_unix_quickstarter=no
587 if test -z "$with_android_ndk"; then
588 AC_MSG_ERROR([the --with-android-ndk option is mandatory])
591 if test -z "$with_android_ndk_toolchain_version"; then
592 AC_MSG_ERROR([the --with-android-ndk-toolchain-version option is mandatory])
595 if test -z "$with_android_sdk"; then
596 AC_MSG_ERROR([the --with-android-sdk option is mandatory])
599 # Verify that the NDK and SDK options are proper
600 if test ! -f "$ANDROID_NDK_HOME/platforms/android-9/arch-arm/usr/lib/libc.a"; then
601 AC_MSG_ERROR([the --with-android-ndk option does not point to an Android NDK])
604 if test ! -d "$ANDROID_SDK_HOME/platforms"; then
605 AC_MSG_ERROR([the --with-android-sdk option does not point to an Android SDK])
608 BUILD_TYPE="$BUILD_TYPE FONTCONFIG FREETYPE"
612 AC_MSG_ERROR([$host_os operating system is not suitable to build LibreOffice for!])
616 if test "$_os" = "AIX"; then
617 AC_PATH_PROG(GAWK, gawk)
618 if test -z "$GAWK"; then
619 AC_MSG_ERROR([gawk not found in \$PATH])
625 AC_SUBST(PTHREAD_CFLAGS)
626 AC_SUBST(PTHREAD_LIBS)
628 ###############################################################################
629 # Extensions switches --enable/--disable
630 ###############################################################################
631 # By default these should be enabled unless having extra dependencies.
632 # If there is extra dependency over configure options then the enable should
633 # be automagic based on whether the requiring feature is enabled or not.
634 # All this options change anything only with --enable-extension-integration.
636 # The name of this option and its help string makes it sound as if
637 # extensions are built anyway, just not integrated in the installer,
638 # if you use --disable-extension-integration. Is that really the
641 AC_ARG_ENABLE(extension-integration,
642 AS_HELP_STRING([--disable-extension-integration],
643 [Disable integration of the built extensions in the installer of the
644 product. Use this switch to disable the integration.])
647 AC_ARG_ENABLE(export,
648 AS_HELP_STRING([--disable-export],
649 [Disable (some) code for document export. Useful when building viewer-only apps that lack
650 save/export functionality, to avoid having an excessive amount of code and data used
651 only for exporrt linked in. Work in progress, use only if you are hacking on it.])
654 AC_ARG_ENABLE(database-connectivity,
655 AS_HELP_STRING([--disable-database-connectivity],
656 [Disable various database connectivity. Work in progress, use only if you are hacking on it.])
659 # This doesn't mean not building (or "integrating") extensions
660 # (although it probably should; i.e. it should imply
661 # --disable-extension-integration I guess), it means not supporting
662 # any extension mechanism at all
663 AC_ARG_ENABLE(extensions,
664 AS_HELP_STRING([--disable-extensions],
665 [Disable all add-on extension functionality. Work in progress, use only if you are hacking on it.])
668 AC_ARG_ENABLE(scripting,
669 AS_HELP_STRING([--disable-scripting],
670 [Disable BASIC, Java and Python. Work in progress, use only if you are hacking on it.])
673 # This is mainly for Android and iOS, but could potentially be used in some
674 # special case otherwise, too, so factored out as a separate setting
676 AC_ARG_ENABLE(dynamic-loading,
677 AS_HELP_STRING([--disable-dynamic-loading],
678 [Disable any use of dynamic loading of code. Work in progress, use only if you are hacking on it.])
681 AC_ARG_ENABLE(ext-mariadb-connector,
682 AS_HELP_STRING([--enable-ext-mariadb-connector],
683 [Enable the build of the MariaDB/MySQL Connector extension.])
686 AC_ARG_ENABLE(ext-presenter-minimizer,
687 AS_HELP_STRING([--disable-ext-presenter-minimizer],
688 [Disable the Presentation Minimizer extension.])
691 AC_ARG_ENABLE(report-builder,
692 AS_HELP_STRING([--disable-report-builder],
693 [Disable the Report Builder.])
696 AC_ARG_ENABLE(ext-wiki-publisher,
697 AS_HELP_STRING([--enable-ext-wiki-publisher],
698 [Enable the Wiki Publisher extension.])
701 AC_ARG_ENABLE(lpsolve,
702 AS_HELP_STRING([--disable-lpsolve],
703 [Disable compilation of the lp solve solver ])
706 ###############################################################################
708 dnl ---------- *** ----------
710 AC_ARG_ENABLE([hardlink-deliver],
711 AS_HELP_STRING([--enable-hardlink-deliver],
712 [Put files into deliver folder as hardlinks instead of copying them
713 over. Saves space and speeds up build.])
716 AC_ARG_ENABLE(mergelibs,
717 AS_HELP_STRING([--enable-mergelibs=<all/yes>],
718 [Enables linking of big, merged, library. Experimental feature tested
719 only on Linux and Android. All will link a lot more libraries into libmerged
720 while yes or no argument will simply enable a core set of libraries.])
723 AC_ARG_ENABLE(graphite,
724 AS_HELP_STRING([--enable-graphite],
725 [Enables the compilation of Graphite smart font rendering.])
728 AC_ARG_ENABLE(fetch-external,
729 AS_HELP_STRING([--disable-fetch-external],
730 [Disables fetching external tarballs from web sources.])
733 AC_ARG_ENABLE(lockdown,
734 AS_HELP_STRING([--disable-lockdown],
735 [Disables the gconf integration work in LibreOffice.]),
739 AS_HELP_STRING([--disable-vba],
740 [Disables the vba compatibility feature.])
744 AS_HELP_STRING([--enable-pch],
745 [Enables precompiled header support for C++.])
748 AC_ARG_ENABLE(win-mozab-driver,
749 AS_HELP_STRING([--enable-win-mozab-driver],
750 [LibreOffice includes a driver to connect to Mozilla
751 address books under Windows, to build with this version, use this option.])
755 AS_HELP_STRING([--enable-epm],
756 [LibreOffice includes self-packaging code, that requires epm, however epm is
757 useless for large scale package building.])
761 AS_HELP_STRING([--disable-odk],
762 [LibreOffice includes an ODK, office development kit which some packagers may
763 wish to build without.])
766 AC_ARG_ENABLE(mpl-subset,
767 AS_HELP_STRING([--enable-mpl-subset],
768 [Don't compile any pieces which are not MPL or more liberrally licensed])
771 AC_ARG_ENABLE(evolution2,
772 AS_HELP_STRING([--enable-evolution2],
773 [Allows the built-in evolution 2 addressbook connectivity build to be
777 AC_ARG_ENABLE(directx,
778 AS_HELP_STRING([--disable-directx],
779 [Remove DirectX implementation for the new XCanvas interface.
780 The DirectX support requires more stuff installed on Windows to
781 compile. (DirectX SDK, GDI+ libs)])
784 AC_ARG_ENABLE(activex,
785 AS_HELP_STRING([--disable-activex],
786 [Disable the use of ActiveX for a Windows build.
787 This switch is mandatory when using VC++ 2008 Express.])
791 AS_HELP_STRING([--disable-atl],
792 [Disable the use of ATL for a Windows build.])
794 This switch is mandatory when using VC++ 2008 Express.
798 AC_ARG_ENABLE(werror,
799 AS_HELP_STRING([--enable-werror],
800 [Turn warnings to errors. (Has no effect in modules where the treating
801 of warnings as errors is disabled explicitly.)]),
804 AC_ARG_ENABLE(assert-always-abort,
805 AS_HELP_STRING([--enable-assert-always-abort],
806 [make assert() abort even in release code.]),
809 AC_ARG_ENABLE(dbgutil,
810 AS_HELP_STRING([--enable-dbgutil],
811 [Provide debugging support from --enable-debug and include additional debugging
812 utilities such as object counting or more expensive checks.
813 This is the recommended option for developers.
814 Note that this makes the build ABI incompatible, it is not possible to mix object
815 files or libraries from a --enable-dbgutil and a --disable-dbgutil build.]))
818 AS_HELP_STRING([--enable-debug],
819 [Include debugging information, disable compiler optimization and inlining plus
820 extra debugging code like assertions. Extra large build! (enables -g compiler flag).]))
822 AC_ARG_ENABLE(selective-debuginfo,
823 AS_HELP_STRING([--enable-selective-debuginfo],
824 [If --enable-debug or --enable-dbgutil is used, build debugging information
825 (-g compiler flag) only for the specified gbuild build targets
826 (where all means everything, - prepended means not to enable, / appended means
827 everything in the directory; there is no ordering, more specific overrides
828 more general, and disabling takes precedence).
829 Example: --enable-selective-debuginfo="all -sw/ -Library_sc".]))
831 AC_ARG_ENABLE(symbols,
832 AS_HELP_STRING([--enable-symbols],
833 [Include debugging symbols in output while preserve optimization.
834 This enables -g compiler flag for GCC or equivalent,
835 without changing anything else compared to productive code.]))
837 AC_ARG_ENABLE(compiler-plugins,
838 AS_HELP_STRING([--enable-compiler-plugins],
839 [Enable compiler plugins that will perform additional checks during
840 building. Enabled automatically by --enable-dbgutil.]))
842 AC_ARG_ENABLE(linkoo,
843 AS_HELP_STRING([--disable-linkoo],
844 [Disable linkoo for the smoketest installation.]))
847 AS_HELP_STRING([--enable-lto],
848 [Enable link-time optimization. Suitable for product builds.
849 Building takes longer but libraries are optimized for speed.
850 (possible only with gcc-4.5 or later,
851 better to use gcc-4.6 and 'gold' as linker)]))
853 AC_ARG_ENABLE(crashdump,
854 AS_HELP_STRING([--enable-crashdump],
855 [Enable the crashdump feature.]))
857 AC_ARG_ENABLE(python,
858 AS_HELP_STRING([--enable-python=<no/auto/system/internal>],
859 [Enables or disables Python support at run-time and build-time.
860 Also specifies what Python to use. 'auto' is the
861 default. Note that Python can be disabled with
862 --disable-python or --enable-python=no only if no
863 translations are required.]))
866 AS_HELP_STRING([--disable-gtk],
867 [Determines whether to use Gtk+ vclplug on platforms where Gtk+ is available.]),
871 AS_HELP_STRING([--enable-gtk3],
872 [Determines whether to use Gtk+ 3.0 vclplug on platforms where Gtk+ 3.0 is available.]),
875 AC_ARG_ENABLE(systray,
876 AS_HELP_STRING([--disable-systray],
877 [Determines whether to build the systray quickstarter.]),
880 AC_ARG_ENABLE(split-app-modules,
881 AS_HELP_STRING([--enable-split-app-modules],
882 [Split file lists for app modules, e.g. base, calc.
883 Has effect only with make distro-pack-install]),
886 AC_ARG_ENABLE(split-opt-features,
887 AS_HELP_STRING([--enable-split-opt-features],
888 [Split file lists for some optional features, .e.g. pyuno, testtool.
889 Has effect only with make distro-pack-install]),
892 AC_ARG_ENABLE(cairo-canvas,
893 [ --disable-cairo-canvas Determines whether to build the Cairo canvas on
894 platforms where Cairo is available.
897 AC_ARG_ENABLE(opengl,
898 AS_HELP_STRING([--disable-opengl],
899 [Determines whether to build the OpenGL 3D slide transitions component.]))
902 AS_HELP_STRING([--disable-dbus],
903 [Determines whether to enable features that depend on dbus.
904 e.g. Presentation mode screensaver control, bluetooth presentation control]),
907 AC_ARG_ENABLE(packagekit,
908 AS_HELP_STRING([--enable-packagekit],
909 [Determines whether to enable features using packagekit.
910 Right now that is auto font install]),
913 AC_ARG_ENABLE(sdremote,
914 AS_HELP_STRING([--disable-sdremote],
915 [Determines whether to enable Impress remote control.]),
916 ,enable_sdremote=yes)
918 AC_ARG_ENABLE(sdremote-bluetooth,
919 AS_HELP_STRING([--disable-sdremote-bluetooth],
920 [Determines whether to build sdremote with bluetooth support.
921 Requires dbus on Linux.]))
924 AS_HELP_STRING([--disable-gconf],
925 [Determines whether to use the GConf support.]),
928 AC_ARG_ENABLE(gnome-vfs,
929 AS_HELP_STRING([--enable-gnome-vfs],
930 [Determines whether to use the Gnome Virtual Filing System on platforms
931 where that VFS is available.]),
932 ,enable_gnome_vfs=no)
935 AS_HELP_STRING([--disable-gio],
936 [Determines whether to use the GIO support.]),
939 AC_ARG_ENABLE(telepathy,
940 AS_HELP_STRING([--enable-telepathy],
941 [Determines whether to enable Telepathy for collaboration.]),
942 ,enable_telepathy=no)
945 AS_HELP_STRING([--enable-tde],
946 [Determines whether to use TQt/TDE vclplug on platforms where TQt and
947 TDE are available.]),
951 AS_HELP_STRING([--disable-tdeab],
952 [Disable the TDE address book support.]),
954 if test "$enable_tde" = "yes"; then
960 AS_HELP_STRING([--enable-kde],
961 [Determines whether to use Qt3/KDE3 vclplug on platforms where Qt3 and
962 KDE3 are available.]),
966 AS_HELP_STRING([--disable-kdeab],
967 [Disable the KDE3 address book support.]),
969 if test "$enable_kde" = "yes"; then
975 AS_HELP_STRING([--enable-kde4],
976 [Determines whether to use Qt4/KDE4 vclplug on platforms where Qt4 and
977 KDE4 are available. May be used with --enable-kde if you want to support
978 both KDE3 and KDE4.]),
981 AC_ARG_ENABLE(headless,
982 AS_HELP_STRING([--enable-headless],
983 [Disable building of GUIs to reduce dependencies. Useful for
984 server usage. Work in progress, use only if you are hacking on
985 it. Not related to the --headless option.]), ,)
988 AS_HELP_STRING([--disable-rpath],
989 [Disable the use of relative paths in shared libraries.]),
993 AS_HELP_STRING([--disable-randr],
994 [Disable RandR support in the vcl project.]),
997 AC_ARG_ENABLE(randr-link,
998 AS_HELP_STRING([--disable-randr-link],
999 [Disable linking with libXrandr, instead dynamically open it at runtime.]),
1000 ,enable_randr_link=yes)
1002 AC_ARG_ENABLE(gstreamer,
1003 AS_HELP_STRING([--enable-gstreamer],
1004 [Enable building with the new gstreamer 1.0 avmedia backend.]),
1005 ,enable_gstreamer=no)
1007 AC_ARG_ENABLE(gstreamer-0-10,
1008 AS_HELP_STRING([--disable-gstreamer-0-10],
1009 [Disable building the gstreamer avmedia backend.]),
1010 ,enable_gstreamer_0_10=yes)
1013 AS_HELP_STRING([--disable-neon],
1014 [Disable neon and the compilation of webdav binding.]),
1017 AC_ARG_ENABLE(cve-tests,
1018 AS_HELP_STRING([--disable-cve-tests],
1019 [Prevent CVE tests to be executed]),
1022 AC_ARG_ENABLE(build-unowinreg,
1023 AS_HELP_STRING([--enable-build-unowinreg],
1024 [Do not use the prebuilt unowinreg.dll. Build it instead. The MinGW C++
1025 compiler is needed on Linux.])
1027 Usage: --enable-build-unowinreg
1031 AC_ARG_ENABLE(verbose,
1032 AS_HELP_STRING([--enable-verbose],
1033 [Increase build verbosity.])[
1034 --disable-verbose Decrease build verbosity.],
1037 AC_ARG_ENABLE(dependency-tracking,
1038 AS_HELP_STRING([--enable-dependency-tracking],
1039 [Do not reject slow dependency extractors.])[
1040 --disable-dependency-tracking
1041 Disables generation of dependency information.
1042 Speed up one-time builds.],
1045 AC_ARG_ENABLE(icecream,
1046 AS_HELP_STRING([--enable-icecream],
1047 [Use the 'icecream' distributed compiling tool to speedup the compilation.
1048 It defaults to /opt/icecream for the location of the icecream gcc/g++
1049 wrappers, you can override that using --with-gcc-home=/the/path switch.]),
1053 AS_HELP_STRING([--disable-cups],
1054 [Do not build cups support.])
1057 AC_ARG_ENABLE(ccache,
1058 AS_HELP_STRING([--disable-ccache],
1059 [Do not try to use ccache automatically.
1060 By default, we will try to detect if ccache is available; in that case if
1061 CC/CXX are not yet set, and --enable-icecream is not given, we
1062 attempt to use ccache. --disable-ccache disables ccache completely.
1066 AC_ARG_ENABLE(64-bit,
1067 AS_HELP_STRING([--enable-64-bit],
1068 [Build a 64-bit LibreOffice on platforms where the normal and only supported build
1069 is 32-bit. In other words, this option is experimental and possibly quite broken,
1070 use only if you are hacking on 64-bit support.]), ,)
1072 AC_ARG_ENABLE(extra-gallery,
1073 AS_HELP_STRING([--enable-extra-gallery],
1074 [Add extra gallery content.]),
1077 AC_ARG_ENABLE(extra-template,
1078 AS_HELP_STRING([--enable-extra-template],
1079 [Add extra template content.]),
1082 AC_ARG_ENABLE(extra-sample,
1083 AS_HELP_STRING([--enable-extra-sample],
1084 [Add extra sample content.]),
1087 AC_ARG_ENABLE(extra-font,
1088 AS_HELP_STRING([--enable-extra-font],
1089 [Add extra font content.]),
1092 AC_ARG_ENABLE(online-update,
1093 AS_HELP_STRING([--enable-online-update],
1094 [Enable the online update service that will check for new versions of
1095 LibreOffice. By default, it is on on Windows and Mac, and off on Linux.]),
1098 AC_ARG_ENABLE(release-build,
1099 AS_HELP_STRING([--enable-release-build],
1100 [Enable release build.
1101 See http://wiki.documentfoundation.org/DevBuild]),
1104 AC_ARG_ENABLE(windows-build-signing,
1105 AS_HELP_STRING([--enable-windows-build-signing],
1106 [Enable signing of windows binaries (*.exe, *.dll)]),
1109 AC_ARG_ENABLE(silent-msi,
1110 AS_HELP_STRING([--enable-silent-msi],
1111 [Enable MSI with LIMITUI=1 (silent install).]),
1114 AC_ARG_ENABLE(desktop-gui-elements,
1115 AS_HELP_STRING([--enable-desktop-gui-elements],
1116 [Enable display and use of desktop style GUI elements
1117 even on a non-desktop platform.]),
1120 AC_ARG_ENABLE(macosx-code-signing,
1121 AS_HELP_STRING([--enable-macosx-code-signing<=identity>],
1122 [Sign executables, dylibs, frameworks and the app bundle. The
1123 default is to do signing if there is a suitable certificate
1124 in your keychain, so if you don't want that, use the
1125 corresponding --disable option. Experimental work in
1126 progress, don't use unless you are working on this.]),
1129 AC_ARG_ENABLE(macosx-sandbox,
1130 AS_HELP_STRING([--enable-macosx-sandbox],
1131 [Make the app bundle run in a sandbox. Requires code signing.
1132 The default is to not do this. Experimental work in progress,
1133 don't use unless you are working on this.]),
1136 AC_ARG_WITH(macosx-bundle-identifier,
1137 AS_HELP_STRING([--with-macosx-bundle-identifier=tld.mumble.orifice.TheOffice],
1138 [Define the OS X bundle identifier. Default is the somewhat weird
1139 org.libreoffice.script ("script", huh?).]),
1140 ,with_macosx_bundle_identifier=org.libreoffice.script)
1142 AC_ARG_ENABLE(ios-simulator,
1143 AS_HELP_STRING([--enable-ios-simulator],
1144 [Build for the iOS Simulator, not iOS device.]),
1147 AC_ARG_ENABLE(readonly-installset,
1148 AS_HELP_STRING([--enable-readonly-installset],
1149 [Prevents any attempts by LibreOffice to write into its installation. That means
1150 at least that no "system-wide" extensions can be added. Experimental work in
1154 AC_ARG_ENABLE(postgresql-sdbc,
1155 AS_HELP_STRING([--disable-postgresql-sdbc],
1156 [Disable the build of the PostgreSQL-SDBC driver.])
1159 AC_ARG_ENABLE(lotuswordpro,
1160 AS_HELP_STRING([--disable-lotuswordpro],
1161 [Disable the build of the Lotus Word Pro filter.]),
1162 ,enable_lotuswordpro=yes)
1164 AC_ARG_ENABLE(coretext,
1165 AS_HELP_STRING([--enable-coretext],
1166 [Use CoreText framework on Mac (instead of ATSU).
1167 Known to not work properly, use only if you plan to work on that.]),
1170 AC_ARG_ENABLE(winegcc,
1171 AS_HELP_STRING([--enable-winegcc],
1172 [Enable use of winegcc during the build, in order to create msi* tools
1173 needed for MinGW cross-compilation.]),
1176 AC_ARG_ENABLE(liblangtag,
1177 AS_HELP_STRING([--disable-liblangtag],
1178 [Disable use of liblangtag, and instead use an own simple
1182 AC_ARG_ENABLE(bogus-pkg-config,
1183 AS_HELP_STRING([--enable-bogus-pkg-config],
1184 [MACOSX only: on MacOSX pkg-config can cause trouble. by default if one is found in the PATH, an error is issued. This flag turn that error into a warning.]),
1187 AC_ARG_ENABLE(openssl,
1188 AS_HELP_STRING([--disable-openssl],
1189 [Disable using libssl/libcrypto from OpenSSL. If disabled,
1190 components will either use GNUTLS or NSS. Work in progress,
1191 use only if you are hacking on it.]),
1192 ,enable_openssl=yes)
1194 dnl ===================================================================
1195 dnl Optional Packages (--with/without-)
1196 dnl ===================================================================
1198 AC_ARG_WITH(gnu-patch,
1199 AS_HELP_STRING([--with-gnu-patch],
1200 [Specify location of GNU patch on Solaris or FreeBSD.]),
1203 AC_ARG_WITH(build-platform-configure-options,
1204 [Specify options for the configure script run for the *build* platform in a cross-compilation])
1207 AS_HELP_STRING([--with-gnu-cp],
1208 [Specify location of GNU cp on Solaris or FreeBSD.]),
1211 AC_ARG_WITH(external-tar,
1212 AS_HELP_STRING([--with-external-tar=<TARFILE PATH>],
1213 [Specify path to tarfiles manually.]),
1214 TARFILE_LOCATION=$withval ,
1217 AC_ARG_WITH(solver-and-workdir-root,
1218 AS_HELP_STRING([--with-solver-and-workdir-root=<PATH>],
1219 [Specify path that contains SOLARVER and WORKDIR directories manually.])
1222 AC_ARG_WITH(referenced-git,
1223 AS_HELP_STRING([--with-referenced-git=<OTHER_CHECKOUT_DIR>],
1224 [Specify another checkout directory to reference. This makes use of
1225 git submodule update --reference, and saves a lot of diskspace
1226 when having multiple trees side-by-side.]),
1227 GIT_REFERENCE_SRC=$withval ,
1230 AC_ARG_WITH(galleries,
1231 AS_HELP_STRING([--with-galleries],
1232 [Specify how galleries should be built. It is possible either to
1233 build these internally from source ("build"), or to (optionally
1234 download and) unpack them them from a package ("package"), or
1235 to disable them ("no")]),
1239 AS_HELP_STRING([--with-theme="theme1 theme2..."],
1240 [Choose which themes to include. By default those themes with an '*' are included.
1241 Possible choices: *crystal, *default (galaxy), *hicontrast, human, industrial, *oxygen, *tango, *tango_testing.]),
1244 AC_ARG_WITH(helppack-integration,
1246 --without-helppack-integration It will not integrate the helppacks to the installer
1248 Please use this switch to use the online help or separate help packages.],
1252 AS_HELP_STRING([--without-fonts],
1253 [LibreOffice includes some third-party fonts to provide a reliable basis for
1254 help content, templates, samples, etc. When these fonts are already
1255 known to be available on the system then you should use this option.]),
1259 AS_HELP_STRING([--without-ppds],
1260 [Removes Postscript Printer definition files from LibreOffice
1261 installation set, for people building for specific distributions where
1262 PPDs are known to be already available (every recent distro with CUPS backend).]),
1266 AS_HELP_STRING([--without-afms],
1267 [Removes bitmap font files from LibreOffice installation set, for people
1268 building for specific distributions where AFM files or TrueType Fonts
1269 are known to be available.]),
1273 AS_HELP_STRING([--with-epm],
1274 [Decides which epm to use. Default is to use the one from the system if
1275 one is built. When either this is not there or you say =internal epm
1279 AC_ARG_WITH(package-format,
1280 AS_HELP_STRING([--with-package-format],
1281 [Specify package format(s) for LibreOffice installsets. Default is the
1282 "normal" one of the OS/Distribution. Possible values: aix, bsd, deb,
1283 inst, tardist, osx, pkg, rpm, setld, native, portable, archive, dmg,
1284 installed, msi. Example: --with-package-format="deb dmg"]),
1288 AS_HELP_STRING([--with-tls],
1289 [Decides which TLS/SSL and cryptographic implementations to use for
1290 LibreOffice's code. Notice that this doesn't apply for depending
1291 libraries like "neon", for example. Default is to use OpenSSL
1292 although NSS is also possible. Notice that selecting NSS restricts
1293 the usage of OpenSSL in LO's code but selecting OpenSSL doesn't
1294 restrict by now the usage of NSS in LO's code. Possible values:
1295 openssl, nss. Example: --with-tls="nss"]),
1298 AC_ARG_WITH(system-libs,
1299 AS_HELP_STRING([--with-system-libs],
1300 [Use libraries already on system -- enables all --with-system-* flags.]),
1303 AC_ARG_WITH(system-headers,
1304 AS_HELP_STRING([--with-system-headers],
1305 [Use headers already on system -- enables all --with-system-* flags for
1306 external packages whose headers are the only entities used i.e.
1307 boost/vigra/odbc/sane-header(s).]),,
1308 [with_system_headers="$with_system_libs"])
1310 AC_ARG_WITH(system-jars,
1311 AS_HELP_STRING([--without-system-jars],
1312 [When building with --with-system-libs, also the needed jars are expected
1313 on the system. Use this to disable that]),,
1314 [with_system_jars="$with_system_libs"])
1316 AC_ARG_WITH(system-cairo,
1317 AS_HELP_STRING([--with-system-cairo],
1318 [Use Cairo libraries already on system.]),,
1319 [with_system_cairo="$with_system_libs"])
1321 AC_ARG_WITH(myspell-dicts,
1322 AS_HELP_STRING([--with-myspell-dicts],
1323 [Adds myspell dictionaries to the LibreOffice installation set]),
1326 AC_ARG_WITH(system-dicts,
1327 AS_HELP_STRING([--without-system-dicts],
1328 [Do not use dictionaries from system paths.]),
1331 AC_ARG_WITH(external-dict-dir,
1332 AS_HELP_STRING([--with-external-dict-dir],
1333 [Specify external dictionary dir.]),
1336 AC_ARG_WITH(external-hyph-dir,
1337 AS_HELP_STRING([--with-external-hyph-dir],
1338 [Specify external hyphenation pattern dir.]),
1341 AC_ARG_WITH(external-thes-dir,
1342 AS_HELP_STRING([--with-external-thes-dir],
1343 [Specify external thesaurus dir.]),
1346 AC_ARG_WITH(system-zlib,
1347 AS_HELP_STRING([--with-system-zlib],
1348 [Use zlib already on system.]),,
1349 [with_system_zlib=auto])
1351 AC_ARG_WITH(system-jpeg,
1352 AS_HELP_STRING([--with-system-jpeg],
1353 [Use jpeg already on system.]),,
1354 [with_system_jpeg=auto])
1356 AC_ARG_WITH(system-clucene,
1357 AS_HELP_STRING([--with-system-clucene],
1358 [Use clucene already on system.]),,
1359 [with_system_clucene="$with_system_libs"])
1361 AC_ARG_WITH(system-expat,
1362 AS_HELP_STRING([--with-system-expat],
1363 [Use expat already on system.]),,
1364 [with_system_expat="$with_system_libs"])
1366 AC_ARG_WITH(system-libxml,
1367 AS_HELP_STRING([--with-system-libxml],
1368 [Use libxml/libxslt already on system.]),,
1369 [with_system_libxml=auto])
1371 AC_ARG_WITH(system-icu,
1372 AS_HELP_STRING([--with-system-icu],
1373 [Use icu already on system.]),,
1374 [with_system_icu="$with_system_libs"])
1376 AC_ARG_WITH(system-ucpp,
1377 AS_HELP_STRING([--with-system-ucpp],
1378 [Use ucpp already on system.]),,
1381 AC_ARG_WITH(system-openldap,
1382 AS_HELP_STRING([--with-system-openldap],
1383 [Use the OpenLDAP LDAP SDK already on system.]),,
1384 [with_system_openldap="$with_system_libs"])
1386 AC_ARG_WITH(system-poppler,
1387 AS_HELP_STRING([--with-system-poppler],
1388 [Use system poppler (only needed for PDF import).]),,
1389 [with_system_poppler="$with_system_libs"])
1391 AC_ARG_WITH(system-apache-commons,
1392 AS_HELP_STRING([--with-system-apache-commons],
1393 [Use Apache commons libraries already on system.]),,
1394 [with_system_apache_commons="$with_system_jars"])
1396 AC_ARG_WITH(system-mariadb,
1397 AS_HELP_STRING([--with-system-mariadb],
1398 [Use MariaDB/MySQL libraries already on system, for building the MariaDB Connector/LibreOffice
1400 [with_system_mariadb="$with_system_libs"])
1402 AC_ARG_WITH(system-mysql-cppconn,
1403 AS_HELP_STRING([--with-system-mysql-cppconn],
1404 [Use MySQL C++ Connector libraries already on system.]),,
1405 [with_system_mysql_cppconn="$with_system_libs"])
1407 AC_ARG_WITH(system-postgresql,
1408 AS_HELP_STRING([--with-system-postgresql],
1409 [Use PostgreSQL libraries already on system, for building the PostgreSQL-SDBC
1410 driver. If pg_config is not in PATH, use PGCONFIG to point to it.]),,
1411 [with_system_postgresql="$with_system_libs"])
1413 AC_ARG_WITH(libpq-path,
1414 AS_HELP_STRING([--with-libpq-path],
1415 [Use this PostgreSQL C interface (libpq) installation for building
1416 the PostgreSQL-SDBC extension.])
1418 Usage: --with-libpq-path=<absolute path to
1419 your libpq installation>
1423 AC_ARG_WITH(system-hsqldb,
1424 AS_HELP_STRING([--with-system-hsqldb],
1425 [Use hsqldb already on system.]))
1427 AC_ARG_WITH(hsqldb-jar,
1428 AS_HELP_STRING([--with-hsqldb-jar=JARFILE],
1429 [Specify path to jarfile manually.]),
1430 HSQLDB_JAR=$withval)
1432 AC_ARG_ENABLE(scripting-beanshell,
1433 AS_HELP_STRING([--disable-scripting-beanshell],
1434 [Disable support for scripts in BeanShell.]),
1438 AC_ARG_WITH(system-beanshell,
1439 AS_HELP_STRING([--with-system-beanshell],
1440 [Use beanshell already on system.]),,
1441 [with_system_beanshell="$with_system_jars"])
1443 AC_ARG_WITH(beanshell-jar,
1444 AS_HELP_STRING([--with-beanshell-jar=JARFILE],
1445 [Specify path to jarfile manually.]),
1448 AC_ARG_ENABLE(scripting-javascript,
1449 AS_HELP_STRING([--disable-scripting-javascript],
1450 [Disable support for scripts in JavaScript.]),
1454 AC_ARG_WITH(system-rhino,
1455 AS_HELP_STRING([--with-system-rhino],
1456 [Use rhino already on system.]),,)
1457 # [with_system_rhino="$with_system_jars"])
1458 # Above is not used as we have different debug interface
1459 # patched into internal rhino. This code needs to be fixed
1460 # before we can enable it by default.
1462 AC_ARG_WITH(rhino-jar,
1463 AS_HELP_STRING([--with-rhino-jar=JARFILE],
1464 [Specify path to jarfile manually.]),
1467 AC_ARG_WITH(commons-codec-jar,
1468 AS_HELP_STRING([--with-commons-codec-jar=JARFILE],
1469 [Specify path to jarfile manually.]),
1470 COMMONS_CODEC_JAR=$withval)
1472 AC_ARG_WITH(commons-lang-jar,
1473 AS_HELP_STRING([--with-commons-lang-jar=JARFILE],
1474 [Specify path to jarfile manually.]),
1475 COMMONS_LANG_JAR=$withval)
1477 AC_ARG_WITH(commons-httpclient-jar,
1478 AS_HELP_STRING([--with-commons-httpclient-jar=JARFILE],
1479 [Specify path to jarfile manually.]),
1480 COMMONS_HTTPCLIENT_JAR=$withval)
1482 AC_ARG_WITH(commons-logging-jar,
1483 AS_HELP_STRING([--with-commons-logging-jar=JARFILE],
1484 [Specify path to jarfile manually.]),
1485 COMMONS_LOGGING_JAR=$withval)
1487 AC_ARG_WITH(system-servlet-api,
1488 AS_HELP_STRING([--with-system-servlet-api],
1489 [Use servlet-api already on system.]),,
1490 [with_system_servlet_api="$with_system_jars"])
1492 AC_ARG_WITH(servlet-api-jar,
1493 AS_HELP_STRING([--with-servlet-api-jar=JARFILE],
1494 [Specify path to jarfile manually.]),
1495 SERVLETAPI_JAR=$withval)
1497 AC_ARG_WITH(system-jfreereport,
1498 AS_HELP_STRING([--with-system-jfreereport],
1499 [Use JFreeReport already on system.]),,
1500 [with_system_jfreereport="$with_system_jars"])
1502 AC_ARG_WITH(sac-jar,
1503 AS_HELP_STRING([--with-sac-jar=JARFILE],
1504 [Specify path to jarfile manually.]),
1507 AC_ARG_WITH(libxml-jar,
1508 AS_HELP_STRING([--with-libxml-jar=JARFILE],
1509 [Specify path to jarfile manually.]),
1510 LIBXML_JAR=$withval)
1512 AC_ARG_WITH(flute-jar,
1513 AS_HELP_STRING([--with-flute-jar=JARFILE],
1514 [Specify path to jarfile manually.]),
1517 AC_ARG_WITH(jfreereport-jar,
1518 AS_HELP_STRING([--with-jfreereport-jar=JARFILE],
1519 [Specify path to jarfile manually.]),
1520 JFREEREPORT_JAR=$withval)
1522 AC_ARG_WITH(liblayout-jar,
1523 AS_HELP_STRING([--with-liblayout-jar=JARFILE],
1524 [Specify path to jarfile manually.]),
1525 LIBLAYOUT_JAR=$withval)
1527 AC_ARG_WITH(libloader-jar,
1528 AS_HELP_STRING([--with-libloader-jar=JARFILE],
1529 [Specify path to jarfile manually.]),
1530 LIBLOADER_JAR=$withval)
1532 AC_ARG_WITH(libloader-jar,
1533 AS_HELP_STRING([--with-libloader-jar=JARFILE],
1534 [Specify path to jarfile manually.]),
1535 LIBLOADER_JAR=$withval)
1537 AC_ARG_WITH(libformula-jar,
1538 AS_HELP_STRING([--with-libformula-jar=JARFILE],
1539 [Specify path to jarfile manually.]),
1540 LIBFORMULA_JAR=$withval)
1542 AC_ARG_WITH(librepository-jar,
1543 AS_HELP_STRING([--with-librepository-jar=JARFILE],
1544 [Specify path to jarfile manually.]),
1545 LIBREPOSITORY_JAR=$withval)
1547 AC_ARG_WITH(libfonts-jar,
1548 AS_HELP_STRING([--with-libfonts-jar=JARFILE],
1549 [Specify path to jarfile manually.]),
1550 LIBFONTS_JAR=$withval)
1552 AC_ARG_WITH(libserializer-jar,
1553 AS_HELP_STRING([--with-libserializer-jar=JARFILE],
1554 [Specify path to jarfile manually.]),
1555 LIBSERIALIZER_JAR=$withval)
1557 AC_ARG_WITH(libbase-jar,
1558 AS_HELP_STRING([--with-libbase-jar=JARFILE],
1559 [Specify path to jarfile manually.]),
1560 LIBBASE_JAR=$withval)
1562 AC_ARG_WITH(system-odbc,
1563 AS_HELP_STRING([--with-system-odbc],
1564 [Use the odbc headers already on system.]),,
1565 [with_system_odbc="$with_system_headers"])
1567 AC_ARG_WITH(system-sane,
1568 AS_HELP_STRING([--with-system-sane],
1569 [Use sane.h already on system.]),,
1570 [with_system_sane="$with_system_headers"])
1572 AC_ARG_WITH(system-bluez,
1573 AS_HELP_STRING([--with-system-bluez],
1574 [Use bluetooth.h already on system.]),,
1575 [with_system_bluez="$with_system_headers"])
1577 AC_ARG_WITH(system-xextensions-headers,
1578 AS_HELP_STRING([--with-system-xextensions-headers],
1579 [To build without system X11 extensions headers, use
1580 --without-system-xextensions-headers. This is possibly
1581 useful on legacy unix systems which ship with the libs
1582 but without the headers.]))
1584 AC_ARG_WITH(system-mesa-headers,
1585 AS_HELP_STRING([--with-system-mesa-headers],
1586 [Use Mesa headers already on system.]),,
1587 [with_system_mesa_headers="$with_system_headers"])
1589 AC_ARG_WITH(system-curl,
1590 AS_HELP_STRING([--with-system-curl],
1591 [Use curl already on system.]),,
1592 [with_system_curl=auto])
1594 AC_ARG_WITH(system-boost,
1595 AS_HELP_STRING([--with-system-boost],
1596 [Use boost already on system.]),,
1597 [with_system_boost="$with_system_headers"])
1599 AC_ARG_WITH(system-vigra,
1600 AS_HELP_STRING([--with-system-vigra],
1601 [Use vigra already on system.]),,
1602 [with_system_vigra="$with_system_headers"])
1604 AC_ARG_WITH(system-hunspell,
1605 AS_HELP_STRING([--with-system-hunspell],
1606 [Use libhunspell already on system.]),,
1607 [with_system_hunspell="$with_system_libs"])
1609 AC_ARG_WITH(system-mythes,
1610 AS_HELP_STRING([--with-system-mythes],
1611 [Use mythes already on system.]),,
1612 [with_system_mythes="$with_system_libs"])
1614 AC_ARG_WITH(system-altlinuxhyph,
1615 AS_HELP_STRING([--with-system-altlinuxhyph],
1616 [Use ALTLinuxhyph already on system.]),,
1617 [with_system_altlinuxhyph="$with_system_libs"])
1619 AC_ARG_WITH(system-lpsolve,
1620 AS_HELP_STRING([--with-system-lpsolve],
1621 [Use lpsolve already on system.]),,
1622 [with_system_lpsolve="$with_system_libs"])
1624 AC_ARG_WITH(system-liblangtag,
1625 AS_HELP_STRING([--with-system-liblangtag],
1626 [Use liblangtag library already on system.]),,
1627 [with_system_liblangtag="$with_system_libs"])
1629 AC_ARG_WITH(system-npapi-headers,
1630 AS_HELP_STRING([--with-system-npapi-headers],
1631 [Use NPAPI headers provided by system instead of bundled ones. Used in
1632 extensions/source/nsplugin (ENABLE_NPAPI_INTO_BROWSER=YES) and
1633 extensions/source/plugin (ENABLE_NPAPI_FROM_BROWSER=YES)]),,
1634 [with_system_npapi_headers="$with_system_headers"]
1637 AC_ARG_WITH(linker-hash-style,
1638 AS_HELP_STRING([--with-linker-hash-style],
1639 [Use linker with --hash-style=<style> when linking shared objects.
1640 Possible values: "sysv", "gnu", "both". The default value is "gnu"
1641 if supported on the build system, and "sysv" otherwise.]))
1643 AC_ARG_WITH(jdk-home,
1644 AS_HELP_STRING([--with-jdk-home],
1645 [If you have installed JDK 1.3 or later on your system please supply the
1646 path here. Note that this is not the location of the java command but the
1647 location of the entire distribution.])
1649 Usage: --with-jdk-home=<absolute path to JDK home>
1654 AS_HELP_STRING([--with-help],
1655 [Enable the build of help.]))
1658 AS_HELP_STRING([--with-java],
1659 [Specify the name of the Java interpreter command. Typically "java"
1660 which is the default.
1662 To build without support for Java components, applets, accessibility
1663 or the XML filters written in Java, use --without-java or --with-java=no.])
1665 Usage: --with-java==<java command>
1668 [ test -z "$with_java" -o "$with_java" = "yes" && with_java=java ],
1672 AC_ARG_WITH(jvm-path,
1673 AS_HELP_STRING([--with-jvm-path],
1674 [Use a specific JVM search path at runtime.])
1676 Usage: --with-jvm-path=<absolute path to parent of jvm home>
1678 e. g.: --with-jvm-path=/usr/lib/
1679 to find JRE/JDK in /usr/lib/jvm/
1683 AC_ARG_WITH(ant-home,
1684 AS_HELP_STRING([--with-ant-home],
1685 [If you have installed Jakarta Ant on your system, please supply the path here.
1686 Note that this is not the location of the Ant binary but the location
1687 of the entire distribution.])
1689 Usage: --with-ant-home=<absolute path to Ant home>
1694 AS_HELP_STRING([--with-junit],
1695 [Specifies the JUnit 4 jar file to use for JUnit-based tests.
1696 --without-junit disables those tests. Not relevant in the --without-java case.])
1698 Usage: --with-junit=<absolute path to JUnit 4 jar>
1702 AC_ARG_WITH(perl-home,
1703 AS_HELP_STRING([--with-perl-home],
1704 [If you have installed Perl 5 Distribution, on your system, please
1705 supply the path here. Note that this is not the location of the Perl
1706 binary but the location of the entire distribution.])
1708 Usage: --with-perl-home=<abs. path to Perl 5 home>
1716 [Specifies the doxygen executable to use when generating ODK C/C++
1717 documentation. --without-doxygen disables generation of ODK C/C++
1718 documentation. Not relevant in the --disable-odk case.])
1720 Usage: --with-doxygen=<absolute path to doxygen executable>
1724 AC_ARG_WITH(visual-studio,
1725 AS_HELP_STRING([--with-visual-studio=<2012/2010/2008>],
1726 [Specify which Visual Studio version to use in case several are
1727 are installed. If not specified, the order of preference is
1728 2012, 2010 and 2008 (including Express editions).])
1730 Usage: --with-visual-studio=<2012/2010/2008>
1734 AC_ARG_WITH(windows-sdk,
1735 AS_HELP_STRING([--with-windows-sdk=<6.0(A)/7.0(A)/7.1(A)/8.0(A)>],
1736 [Specify which Windows SDK, or "Windows Kit", version to use
1737 in case the one that came with the selected Visual Studio
1738 is not what you want for some reason. Note that not all compiler/SDK
1739 combinations are supported. The intent is that this option should not
1742 Usage: --with-windows-sdk=6.0(A)/7.0(A)/7.1(A)/8.0(A)>
1747 AS_HELP_STRING([--with-lang],
1748 [Use this option to build LibreOffice with additional language support.
1749 English (US) is always included by default.
1750 Separate multiple languages with space.
1751 For all languages, use --with-lang=ALL.])
1753 Usage: --with-lang="es sw tu cs sk"
1757 # Kerberos and GSSAPI used only by PostgreSQL as of LibO 3.5
1759 AS_HELP_STRING([--with-krb5],
1760 [Enable MIT Kerberos 5 support in modules that support it.
1761 By default automatically enabled on platforms
1762 where a good system Kerberos 5 is available.]),
1766 AS_HELP_STRING([--with-gssapi],
1767 [Enable GSSAPI support in modules that support it.
1768 By default automatically enabled on platforms
1769 where a good system GSSAPI is available.]),
1772 dnl ===================================================================
1774 dnl ===================================================================
1776 AC_ARG_WITH(branding,
1777 AS_HELP_STRING([--with-branding],
1778 [Use given path to retrieve branding images set.])
1780 Search for intro.png about.svg flat_logo.svg
1781 backing_left.png backing_right.png
1782 backing_rtl_left.png backing_rtl_right.png
1783 backing_space.png. If any is missing, default
1784 ones will be used instead.
1786 Search also progress.conf for progress
1787 settings on intro screen :
1789 PROGRESSBARCOLOR="255,255,255" Set color of
1790 progress bar. Comma separated RGB decimal values.
1791 PROGRESSSIZE="407,6" Set size of progress bar.
1792 Comma separated decimal values (width, height).
1793 PROGRESSPOSITION="61,317" Set position of progress
1794 bar from left,top. Comma separated decimal values.
1795 PROGRESSFRAMECOLOR="20,136,3" Set color of progress
1796 bar frame. Comma separated RGB decimal values.
1797 PROGRESSTEXTCOLOR="255,255,255" Set color of progress
1798 bar text. Comma separated RGB decimal values.
1799 PROGRESSTEXTBASELINE="287" Set vertical position of
1800 progress bar text from top. Decimal value.
1802 Default values will be used if not found.
1804 Usage: --with-branding=/path/to/images
1809 AC_ARG_WITH(extra-buildid,
1810 AS_HELP_STRING([--with-extra-buildid],
1811 [Show addition build identification in about dialog.])
1813 Usage: --with-extra-buildid="Tinderbox: Win-x86@6, Branch:master, Date:2012-11-26_00.29.34"
1819 AS_HELP_STRING([--with-vendor],
1820 [Set vendor of the build.])
1822 Usage: --with-vendor="John the Builder"
1826 AC_ARG_WITH(compat-oowrappers,
1827 AS_HELP_STRING([--with-compat-oowrappers],
1828 [Install oo* wrappers in parallel with
1829 lo* ones to keep backward compatibility.
1830 Has effect only with make distro-pack-install]),
1833 AC_ARG_WITH(os-version,
1834 AS_HELP_STRING([--with-os-version],
1835 [For FreeBSD users, use this option option to override the detected OSVERSION.])
1837 Usage: --with-os-version=<OSVERSION>
1841 AC_ARG_WITH(mingw-cross-compiler,
1842 AS_HELP_STRING([--with-mingw-cross-compiler],
1843 [Specify the MinGW cross-compiler to use.])
1845 Usage: --with-mingw-cross-compiler=<mingw32-g++ command>
1847 When building on the ODK on Unix and building unowinreg.dll,
1848 specify the MinGW C++ cross-compiler.
1852 AC_ARG_WITH(idlc-cpp,
1853 AS_HELP_STRING([--with-idlc-cpp],
1854 [Specify the C Preprocessor to use for idlc.])
1856 Usage: --with-idlc-cpp=cpp
1862 AC_ARG_WITH(build-version,
1863 AS_HELP_STRING([--with-build-version],
1864 [Allows the builder to add a custom version tag that will appear in the
1865 Help/About box for QA purposes.])
1867 Usage: --with-build-version="Built by Jim"
1869 with_build_version=$withval ,
1873 AS_HELP_STRING([--with-alloc],
1874 [Define which allocator to build with (choices are oo, system, tcmalloc, jemalloc).
1875 Note that on FreeBSD/NetBSD system==jemalloc]),
1878 AC_ARG_WITH(sun-templates,
1879 AS_HELP_STRING([--with-sun-templates],
1880 [Integrate Sun template packages.]),
1883 AC_ARG_WITH(parallelism,
1884 AS_HELP_STRING([--with-parallelism],
1885 [Number of jobs to run simultaneously during build. Parallel builds can
1886 save a lot of time on multi-cpu machines. Defaults to the number of
1887 CPUs on the machine, unless you configure --enable-icecream - then to
1891 AC_ARG_WITH(check-jobs,
1892 AS_HELP_STRING([--with-check-jobs],
1893 [Maximum number of jobs that will be issued at the same time during 'make subsequenttest'.
1894 Default value is the same as 'parallelism'. Useful because the subsequent tests are very lightweight.]),
1897 AC_ARG_WITH(all-tarballs,
1898 AS_HELP_STRING([--with-all-tarballs],
1899 [Download all external tarballs unconditionally]))
1901 dnl ===================================================================
1902 dnl Test whether build target is Release Build
1903 dnl ===================================================================
1904 AC_MSG_CHECKING([whether build target is Release Build])
1905 if test "$enable_release_build" = "" -o "$enable_release_build" = "no"; then
1907 ENABLE_RELEASE_BUILD="FALSE"
1909 AC_MSG_RESULT([yes])
1910 ENABLE_RELEASE_BUILD="TRUE"
1912 AC_SUBST(ENABLE_RELEASE_BUILD)
1914 dnl ===================================================================
1915 dnl Test whether to sign Windows Build
1916 dnl ===================================================================
1917 AC_MSG_CHECKING([whether to sign windows build])
1918 if test "$enable_windows_build_signing" = "yes" -a "$_os" = "WINNT" -a "$WITH_MINGW" != "YES" ; then
1919 AC_MSG_RESULT([yes])
1920 WINDOWS_BUILD_SIGNING="TRUE"
1923 WINDOWS_BUILD_SIGNING="FALSE"
1925 AC_SUBST(WINDOWS_BUILD_SIGNING)
1927 dnl ===================================================================
1928 dnl MacOSX build and runtime environment options
1929 dnl ===================================================================
1931 AC_ARG_WITH(macosx-sdk,
1932 AS_HELP_STRING([--with-macosx-sdk],
1933 [Use a specific SDK for building.])
1935 Usage: --with-macosx-sdk=<version>
1937 e. g.: --with-macosx-sdk=10.6
1939 there are 3 options to control the MacOSX build:
1940 --with-macosx-sdk (refered as 'sdk' below)
1941 --with-macosx-version-min-required (refered as 'min' below)
1942 --with-macosx-version-max-allowed (refered as 'max' below)
1944 the connection between these value and the default they take is as follow:
1945 ( ? means not specified on the command line, s means the SDK version found,
1946 constraint: x <= y <= z)
1948 ==========================================
1949 command line || config result
1950 ==========================================
1951 min | max | sdk || min | max | sdk |
1952 ? | ? | ? || 10.6 | 10.s | 10.s |
1953 ? | ? | 10.x || 10.6 | 10.x | 10.x |
1954 ? | 10.x | ? || 10.6 | 10.s | 10.s |
1955 ? | 10.x | 10.y || 10.6 | 10.x | 10.y |
1956 10.x | ? | ? || 10.x | 10.s | 10.s |
1957 10.x | ? | 10.y || 10.x | 10.y | 10.y |
1958 10.x | 10.y | ? || 10.x | 10.y | 10.y |
1959 10.x | 10.y | 10.z || 10.x | 10.y | 10.z |
1962 see: http://developer.apple.com/library/mac/#technotes/tn2064/_index.html
1963 for a detailled technical explanation of these variables
1965 Note: MACOSX_DEPLOYMENT_TARGET will be set to the value of 'min'.
1967 Note that even if in theory using a --with-macosx-version-max-allowed
1968 (i.e. the MAC_OS_X_VERSION_MAX_ALLOWED macro) less than the SDK version
1969 should work, in practice Apple doesn't seem to test that, and at least
1970 compiling with -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 against the 10.7 SDK
1971 fails in a couple of places. Just because of oversights in ifdefs in the SDK
1976 AC_ARG_WITH(macosx-version-min-required,
1977 AS_HELP_STRING([--with-macosx-version-min-required],
1978 [set the minimum OS version needed to run the built LibreOffice])
1980 Usage: --with-macosx-version-min-required=<version>
1982 e. g.: --with-macos-version-min-required=10.6
1983 see --with-macosx-sdk for more info
1987 AC_ARG_WITH(macosx-version-max-allowed,
1988 AS_HELP_STRING([--with-macosx-version-max-allowed],
1989 [set the maximum allowed OS version the LibreOffice compilation can use APIs from])
1991 Usage: --with-macosx-version-max-allowed=<version>
1993 e. g.: --with-macos-version-max-allowed=10.6
1994 see --with-macosx-sdk for more info
1999 dnl ===================================================================
2000 dnl options for stuff used during cross-compilation build
2001 dnl These are superseded by --with-build-platform-configure-options.
2002 dnl Or are they? Look for the complicated tests for "$cross_compiling" = "yes" -a \(
2003 dnl "$with_system_icu_for_build" = "yes" -o "$with_system_icu_for_build" = "force" \)
2004 dnl far below. Could whoever understands MinGW cross-compilation clean up this please.
2005 dnl ===================================================================
2007 AC_ARG_WITH(system-boost-for-build,
2008 AS_HELP_STRING([--with-system-boost-for-build],
2009 [Use boost already on system for build tools (cross-compilation only).]))
2011 AC_ARG_WITH(system-cppunit-for-build,
2012 AS_HELP_STRING([--with-system-cppunit-for-build],
2013 [Use cppunit already on system for build tools (cross-compilation only).]))
2015 AC_ARG_WITH(system-expat-for-build,
2016 AS_HELP_STRING([--with-system-expat-for-build],
2017 [Use expat already on system for build tools (cross-compilation only).]))
2019 AC_ARG_WITH(system-icu-for-build,
2020 AS_HELP_STRING([--with-system-icu-for-build=yes/no/force],
2021 [Use icu already on system for build tools (cross-compilation only).]))
2023 AC_ARG_WITH(system-libxml-for-build,
2024 AS_HELP_STRING([--with-system-libxml-for-build],
2025 [Use libxml/libxslt already on system for build tools (cross-compilation only).]))
2028 dnl ===================================================================
2029 dnl check for required programs (grep, awk, sed, bash)
2030 dnl ===================================================================
2034 if test -n "$1"; then
2035 if test "$build_os" = "cygwin"; then
2037 new_path=`cygpath -u "$formatted_path"`
2041 if ! echo "$LO_PATH" | $EGREP -q "(^|:)$1($|:)"; then
2042 if test "$2" = "after"; then
2043 LO_PATH="$LO_PATH:$new_path"
2045 LO_PATH="$new_path:$LO_PATH"
2053 AC_PATH_PROG( AWK, $AWK)
2054 if test -z "$AWK"; then
2055 AC_MSG_ERROR([install awk to run this script])
2058 AC_PATH_PROG(BASH, bash)
2059 if test -z "$BASH"; then
2060 AC_MSG_ERROR([bash not found in \$PATH])
2064 AC_MSG_CHECKING([for GNU or BSD tar])
2065 for a in $GNUTAR gtar gnutar tar /usr/sfw/bin/gtar; do
2066 $a --version 2> /dev/null | egrep "GNU|bsdtar" 2>&1 > /dev/null
2067 if test $? -eq 0; then
2072 AC_MSG_RESULT($GNUTAR)
2073 if test -z "$GNUTAR"; then
2074 AC_MSG_ERROR([not found. install GNU or BSD tar.])
2078 AC_MSG_CHECKING([for tar's option to strip components])
2079 $GNUTAR --help 2> /dev/null | egrep "bsdtar|strip-components" 2>&1 >/dev/null
2080 if test $? -eq 0; then
2081 STRIP_COMPONENTS="--strip-components"
2083 $GNUTAR --help 2> /dev/null | egrep "strip-path" 2>&1 >/dev/null
2084 if test $? -eq 0; then
2085 STRIP_COMPONENTS="--strip-path"
2087 STRIP_COMPONENTS="unsupported"
2090 AC_MSG_RESULT($STRIP_COMPONENTS)
2091 if test x$STRIP_COMPONENTS == xunsupported; then
2092 AC_MSG_ERROR([you need a tar that is able to strip components.])
2094 AC_SUBST(STRIP_COMPONENTS)
2096 dnl It is useful to have a BUILD_TYPE keyword to distinguish "normal"
2097 dnl desktop OSes from "mobile" ones.
2099 dnl We assume that a non-DESKTOP build type is also a non-NATIVE one.
2100 dnl In other words, that when building for an OS that is not a
2101 dnl "desktop" one but a "mobile" one, we are always cross-compiling.
2103 dnl Note the direction of the implication; there is no assumption that
2104 dnl cross-compiling would imply a non-desktop OS.
2106 if test $_os != iOS -a $_os != Android; then
2107 BUILD_TYPE="$BUILD_TYPE DESKTOP"
2108 AC_DEFINE(HAVE_FEATURE_DESKTOP)
2109 AC_DEFINE(HAVE_FEATURE_DESKTOP_GUI_ELEMENTS)
2110 AC_DEFINE(HAVE_FEATURE_MULTIUSER_ENVIRONMENT)
2111 elif test "$enable_desktop_gui_elements" = yes; then
2112 AC_DEFINE(HAVE_FEATURE_DESKTOP_GUI_ELEMENTS)
2116 if test "$enable_export" != no; then
2117 BUILD_TYPE="$BUILD_TYPE EXPORT"
2119 DISABLE_EXPORT='TRUE'
2120 SCPDEFS="$SCPDES -DDISABLE_EXPORT"
2122 AC_SUBST(DISABLE_EXPORT)
2124 dnl Decide whether to build database connectivity stuff (including
2125 dnl Base) or not. We probably don't want to on non-desktop OSes.
2127 if test -z "$enable_database_connectivity"; then
2128 # Do enable database connectivity for Android for now as otherwise
2129 # we presumably will get linking errors... We are not as far in
2130 # the work for iOS, so we might as well disable it for iOS already.
2132 # And actually, do enable it for iOS, too. Let's get back to
2133 # figuring out what to do with this later, if ever.
2135 # (Note that with "enable", I mean "enable building the related
2136 # code". Very likely little of it will make any sense at run-time
2137 # on Android or iOS and won't even be shipped with/linked into any
2140 #if test $_os != iOS; then
2141 enable_database_connectivity=yes
2145 DISABLE_DBCONNECTIVITY=''
2146 if test "$enable_database_connectivity" = yes; then
2147 BUILD_TYPE="$BUILD_TYPE DBCONNECTIVITY"
2149 DISABLE_DBCONNECTIVITY='TRUE'
2150 SCPDEFS="$SCPDEFS -DDISABLE_DBCONNECTIVITY"
2152 AC_SUBST(DISABLE_DBCONNECTIVITY)
2154 if test -z "$enable_extensions"; then
2155 # For iOS and Android disable extensions unless specifically overridden with --enable-extensions.
2156 if test $_os != iOS -a $_os != Android; then
2157 enable_extensions=yes
2161 if test "$enable_extensions" = yes; then
2162 BUILD_TYPE="$BUILD_TYPE EXTENSIONS"
2163 AC_DEFINE(HAVE_FEATURE_EXTENSIONS)
2166 if test -z "$enable_scripting"; then
2167 # Disable scripting for iOS unless specifically overridden
2168 # with --enable-scripting.
2169 if test $_os != iOS; then
2170 enable_scripting=yes
2174 DISABLE_SCRIPTING=''
2175 if test "$enable_scripting" = yes; then
2176 BUILD_TYPE="$BUILD_TYPE SCRIPTING"
2178 DISABLE_SCRIPTING='TRUE'
2179 SCPDEFS="$SCPDEFS -DDISABLE_SCRIPTING"
2181 AC_SUBST(DISABLE_SCRIPTING)
2183 if test $_os = iOS -o $_os = Android; then
2184 # Disable dynamic_loading always for iOS and Android
2185 enable_dynamic_loading=no
2186 elif test -z "$enable_dynamic_loading"; then
2187 # Otherwise enable it unless speficically disabled
2188 enable_dynamic_loading=yes
2191 DISABLE_DYNLOADING=''
2192 if test "$enable_dynamic_loading" = yes; then
2193 BUILD_TYPE="$BUILD_TYPE DYNLOADING"
2195 DISABLE_DYNLOADING='TRUE'
2196 SCPDEFS="$SCPDEFS -DDISABLE_DYNLOADING"
2198 AC_SUBST(DISABLE_DYNLOADING)
2200 if test -n "${with_solver_and_workdir_root}"; then
2201 if ! test -d ${with_solver_and_workdir_root}; then
2202 AC_MSG_ERROR([directory does not exist: ${with_solver_and_workdir_root}])
2204 PathFormat "${with_solver_and_workdir_root}"
2205 # IsValidFilePath in /sal/osl/w32/file_url.cxx rejects "X:\\" breaking idlc
2206 if echo ${formatted_path} | $GREP -q '/$'; then
2207 SOLARVER=${formatted_path}solver
2209 SOLARVER=${formatted_path}/solver
2212 SOLARVER=${BUILDDIR}/solver
2215 # remenber SYSBASE value
2218 dnl ===================================================================
2219 dnl Sort out various gallery compilation options
2220 dnl ===================================================================
2221 AC_MSG_CHECKING([how to build and package galleries])
2222 if test -n "${with_galleries}"; then
2223 if test "$with_galleries" = "build"; then
2224 WITH_GALLERY_BUILD=YES
2225 AC_MSG_RESULT([build from source images internally])
2226 elif test "$with_galleries" = "package"; then
2227 WITH_GALLERY_BUILD=PACKAGE
2228 AC_MSG_ERROR([FIXME - implement build from pre-compiled package])
2229 elif test "$with_galleries" = "no"; then
2231 AC_MSG_RESULT([disable non-internal gallery build])
2233 AC_MSG_ERROR([unknown value --with-galleries=$with_galleries])
2236 if test $_os != iOS -a $_os != Android; then
2237 WITH_GALLERY_BUILD=YES
2238 AC_MSG_RESULT([internal src images for desktop])
2241 AC_MSG_RESULT([disable src imgage build])
2244 AC_SUBST(WITH_GALLERY_BUILD)
2246 dnl ===================================================================
2247 dnl Checks if ccache is available
2248 dnl ===================================================================
2249 if test "$enable_ccache" = "yes" -o \( "$enable_ccache" = "" -a "$enable_icecream" != "yes" \); then
2250 case "%$CC%$CXX%" in
2251 # If $CC and/or $CXX already contain "ccache" (possibly suffixed with some verison number etc),
2252 # assume that's good then
2253 *%ccache[[-_' ']]*|*/ccache[[-_' ']]*)
2254 AC_MSG_NOTICE([ccache seems to be included in a pre-defined CC and/or CXX])
2257 AC_PATH_PROG([CCACHE],[ccache],[not found])
2258 if test "$CCACHE" = "not found"; then
2261 # Need to check for ccache version: otherwise prevents
2262 # caching of the results (like "-x objective-c++" for Mac)
2263 if test $_os = Darwin -o $_os = iOS; then
2264 # Check ccache version
2265 AC_MSG_CHECKING([whether version of ccache is suitable])
2266 CCACHE_VERSION=`"$CCACHE" -V | "$AWK" '/^ccache version/{print $3}'`
2267 CCACHE_NUMVER=`echo $CCACHE_VERSION | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
2268 if test "$CCACHE_VERSION" = "2.4_OOo" -o "$CCACHE_NUMVER" -ge "030100"; then
2269 AC_MSG_RESULT([yes, $CCACHE_VERSION])
2271 AC_MSG_RESULT([no, $CCACHE_VERSION])
2282 if test "$CCACHE" != ""; then
2283 ccache_size_msg=$([ccache -s | tail -n 1 | sed 's/^[^0-9]*//' | sed -e 's/\.[0-9]*//'])
2284 ccache_size=$(echo "$ccache_size_msg" | grep "G" | sed -e 's/G.*$//')
2285 if test "$ccache_size" = ""; then
2286 ccache_size=$(echo "$ccache_size_msg" | grep "M" | sed -e 's/\ M.*$//')
2287 if test "$ccache_size" = ""; then
2290 # we could not determine the size or it was less than 1GB -> disable auto-ccache
2291 if test $ccache_size -lt 1024; then
2293 AC_MSG_WARN([ccache's cache size is less than 1GB using it is counter-producive: Disabling auto-ccache detection])
2294 add_warning "ccache's cache size is less than 1GB using it is counter-producive: auto-ccache detection disabled"
2296 # warn that ccache may be too small for debug build
2297 AC_MSG_WARN([ccache's cache size is less than 5GB using it may be counter-producive for debug or symbol-enabled build])
2298 add_warning "ccache's cache size is less than 5GB using it may be counter-producive for debug or symbol-enabled build"
2301 if test $ccache_size -lt 5; then
2302 #warn that ccache may be too small for debug build
2303 AC_MSG_WARN([ccache's cache size is less than 5GB using it may be counter-producive for debug or symbol-enabled build])
2304 add_warning "ccache's cache size is less than 5GB using it may be counter-producive for debug or symbol-enabled build"
2309 dnl ===================================================================
2310 dnl Checks for C compiler,
2311 dnl The check for the C++ compiler is later on.
2312 dnl ===================================================================
2313 if test "$_os" != "WINNT" -a "$WITH_MINGW" != "yes"; then
2315 AC_MSG_CHECKING([gcc home])
2316 if test -z "$with_gcc_home"; then
2317 if test "$enable_icecream" = "yes"; then
2318 if test -d "/usr/lib/icecc/bin"; then
2319 GCC_HOME="/usr/lib/icecc/"
2321 GCC_HOME="/opt/icecream/"
2324 GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,`
2325 GCC_HOME_SET="false"
2328 GCC_HOME="$with_gcc_home"
2330 AC_MSG_RESULT($GCC_HOME)
2333 if test "$GCC_HOME_SET" = "true"; then
2334 if test -z "$CC"; then
2335 CC="$GCC_HOME/bin/gcc"
2337 if test -z "$CXX"; then
2338 CXX="$GCC_HOME/bin/g++"
2343 dnl The following checks for gcc, cc and then cl (if it weren't guarded for win32)
2344 if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then
2345 # AC_PROG_CC sets CFLAGS to -g -O2 if not set, avoid that
2351 COMPATH=`dirname "$CC"`
2352 if test "$COMPATH" = "."; then
2353 AC_PATH_PROGS(COMPATH, $CC)
2354 dnl double square bracket to get single because of M4 quote...
2355 COMPATH=`echo $COMPATH | $SED "s@/[[^/:]]*\\\$@@"`
2357 COMPATH=`echo $COMPATH | $SED "s@/[[Bb]][[Ii]][[Nn]]\\\$@@"`
2359 dnl ===================================================================
2360 dnl Test the Solaris compiler version
2361 dnl ===================================================================
2362 if test "$_os" = "SunOS"; then
2363 if test "$CC" = "cc"; then
2364 AC_PATH_PROGS(_cc, cc)
2365 COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"`
2366 AC_MSG_CHECKING([the SunStudio C/C++ compiler version])
2367 dnl cc -V outputs to standard error!!!!
2368 _sunstudio_string=`$CC -V 2>&1 | grep '^cc' | $SED -e 's/.* C //'`
2369 _sunstudio_version=`echo $_sunstudio_string | $AWK '{ print $1 }'`
2370 _sunstudio_major=`echo $_sunstudio_version | $AWK -F. '{ print $1 }'`
2371 if test "$_sunstudio_major" != "5"; then
2372 AC_MSG_ERROR([found version "$_sunstudio_version", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler])
2374 _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" }'`
2375 if test "$_sunstudio_minor" = "false"; then
2376 AC_MSG_ERROR([found version "$_sunstudio_version", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler])
2378 dnl compiler will do
2379 AC_MSG_RESULT([checked])
2386 dnl ===================================================================
2387 dnl Check / find MacOSX SDK and compiler, version checks
2388 dnl ===================================================================
2389 if test "$_os" = "Darwin"; then
2391 if test "$enable_64_bit" = "" -o "$enable_64_bit" = "no"; then
2398 # If no --with-macosx-sdk option is given, look for 10.6, 10.7
2399 # and 10.8 SDKs, in that order. If not found in some (old)
2400 # default locations, try the xcode-select tool.
2402 # The intent is that for "most" Mac-based developers, a suitable
2403 # SDK will be found automatically without any configure options.
2405 # For developers still using Xcode 3, in /Developer, either
2406 # because it is the only Xcode they have, or they have that in
2407 # addition to Xcode 4 in /Applications/Xcode.app, the 10.6 SDK
2410 # For developers with a current Xcode 4 installed from the Mac App
2411 # Store, the 10.6, 10.7 or 10.8 SDK should be found.
2413 AC_MSG_CHECKING([what Mac OS X SDK to use])
2415 if test -z "$with_macosx_sdk"; then
2416 if test -d /Developer/SDKs/MacOSX10.6.sdk; then
2417 with_macosx_sdk=10.6
2418 elif test -d /Developer-old/SDKs/MacOSX10.6.sdk; then
2419 with_macosx_sdk=10.6
2420 elif test -d /Xcode3/SDKs/MacOSX10.6.sdk; then
2421 with_macosx_sdk=10.6
2422 elif test -d /Developer/SDKs/MacOSX10.7.sdk; then
2423 with_macosx_sdk=10.7
2424 elif test -x /usr/bin/xcode-select; then
2425 xcodepath="`xcode-select -print-path`"
2426 if test -d "$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk"; then
2427 with_macosx_sdk=10.6
2428 elif test -d "$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"; then
2429 with_macosx_sdk=10.7
2430 elif test -d "$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk"; then
2431 with_macosx_sdk=10.8
2434 if test -z "$with_macosx_sdk"; then
2435 AC_MSG_ERROR([Could not figure out the location of a Mac OS X SDK and its version])
2439 case $with_macosx_sdk in
2441 MACOSX_SDK_VERSION=1060
2444 MACOSX_SDK_VERSION=1070
2447 MACOSX_SDK_VERSION=1080
2450 AC_MSG_ERROR([with-macosx-sdk $with_macosx_sdk is not a supported value, supported value are 10.6--8])
2454 # Next find it (again, if we deduced its version above by finding
2455 # it... but we need to look for it once more in case
2456 # --with-macosx-sdk was given so that the aboce search did not
2458 if test -z "$MACOSX_SDK_PATH"; then
2459 case $with_macosx_sdk in
2461 if test -d /Developer/SDKs/MacOSX10.6.sdk; then
2462 MACOSX_SDK_PATH=/Developer/SDKs/MacOSX10.6.sdk
2463 elif test -d /Developer-old/SDKs/MacOSX10.6.sdk; then
2464 MACOSX_SDK_PATH=/Developer-old/SDKs/MacOSX10.6.sdk
2465 elif test -d /Xcode3/SDKs/MacOSX10.6.sdk; then
2466 MACOSX_SDK_PATH=/Xcode3/SDKs/MacOSX10.6.sdk
2467 elif test -x /usr/bin/xcode-select; then
2468 xcodepath="`xcode-select -print-path`"
2469 if test -d "$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$with_macosx_sdk.sdk"; then
2470 MACOSX_SDK_PATH="$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$with_macosx_sdk.sdk"
2475 if test -d /Developer/SDKs/MacOSX$with_macosx_sdk.sdk; then
2476 MACOSX_SDK_PATH=/Developer/SDKs/MacOSX$with_macosx_sdk.sdk
2477 elif test -x /usr/bin/xcode-select; then
2478 xcodepath="`xcode-select -print-path`"
2479 if test -d "$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$with_macosx_sdk.sdk"; then
2480 MACOSX_SDK_PATH="$xcodepath/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$with_macosx_sdk.sdk"
2485 if test -z "$MACOSX_SDK_PATH"; then
2486 AC_MSG_ERROR([Could not figure out the location of Mac OS X $with_macosx_sdk SDK])
2489 AC_MSG_RESULT([SDK $with_macosx_sdk at $MACOSX_SDK_PATH])
2491 if test "$with_macosx_version_min_required" = ""; then
2492 with_macosx_version_min_required="10.6"
2495 if test "$with_macosx_version_max_allowed" = ""; then
2496 with_macosx_version_max_allowed="$with_macosx_sdk"
2499 FRAMEWORKSHOME="$MACOSX_SDK_PATH/System/Library/Frameworks"
2500 MACOSX_DEPLOYMENT_TARGET="$with_macosx_version_min_required"
2502 case "$with_macosx_version_min_required" in
2504 MAC_OS_X_VERSION_MIN_REQUIRED="1060"
2507 MAC_OS_X_VERSION_MIN_REQUIRED="1070"
2510 MAC_OS_X_VERSION_MIN_REQUIRED="1080"
2513 AC_MSG_ERROR([with-macosx-version-min-required $with_macosx_version_min_required is not a supported value, supported value are 10.6--8])
2517 if test "$BITNESS_OVERRIDE" = ""; then
2518 case "$with_macosx_version_min_required" in
2520 case "$with_macosx_sdk" in
2524 AC_MSG_WARN([Building with a SDK > 10.6 possibly breaks 10.6 compatibility. Do not use for the TDF build])
2525 add_warning "Building with a SDK > 10.6 possibly breaks 10.6 compatibility. Do not use for the TDF build"
2530 AC_MSG_WARN([Building with a minimum version requirement > 10.6 breaks 10.6 compatibility. Do not use for the TDF build])
2531 add_warning "Building with a minimum version requirement > 10.6 breaks 10.6 compatibility. Do not use for the TDF build"
2536 # If no CC and CXX environment vars, try to guess where the compiler is
2537 if test -z "$save_CC"; then
2538 AC_MSG_CHECKING([what compiler to use])
2539 case $with_macosx_sdk in
2541 # did someone copy her 10.6 sdk into xcode 4 (needed on Mountain Lion)?
2542 if test "$(echo $MACOSX_SDK_PATH | cut -c1-23)" = "/Applications/Xcode.app"; then
2543 CC="`xcrun -find gcc` $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
2544 CXX="`xcrun -find g++` $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
2547 CC="gcc-4.2 $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
2548 CXX="g++-4.2 $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
2552 CC="`xcrun -find clang` $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
2553 CXX="`xcrun -find clang++` $bitness -mmacosx-version-min=$with_macosx_version_min_required -isysroot $MACOSX_SDK_PATH"
2557 AC_MSG_RESULT([$CC and $CXX])
2560 case "$with_macosx_version_max_allowed" in
2562 MAC_OS_X_VERSION_MAX_ALLOWED="1060"
2565 MAC_OS_X_VERSION_MAX_ALLOWED="1070"
2568 MAC_OS_X_VERSION_MAX_ALLOWED="1080"
2571 AC_MSG_ERROR([with-macosx-version-max-allowed $with_macosx_version_max_allowed is not a supported value, supported value are 10.6--8])
2575 AC_MSG_CHECKING([that macosx-version-min-required is coherent with macosx-version-max-allowed])
2576 if test $MAC_OS_X_VERSION_MIN_REQUIRED -gt $MAC_OS_X_VERSION_MAX_ALLOWED; then
2577 AC_MSG_ERROR([the version minimumn required must be inferior or equal to the version maximum allowed])
2582 AC_MSG_CHECKING([that macosx-version-max-allowed is coherent with macos-with-sdk])
2583 if test $MAC_OS_X_VERSION_MAX_ALLOWED -gt $MACOSX_SDK_VERSION; then
2584 AC_MSG_ERROR([the version maximum allowed cannot be greater thatn the sdk level])
2588 AC_MSG_NOTICE([MAC_OS_X_VERSION_MIN_REQUIRED=$MAC_OS_X_VERSION_MIN_REQUIRED])
2589 AC_MSG_NOTICE([MAC_OS_X_VERSION_MAX_ALLOWED=$MAC_OS_X_VERSION_MAX_ALLOWED])
2591 AC_MSG_CHECKING([whether to do code signing])
2593 if test "$enable_macosx_code_signing" = yes; then
2594 # By default use the first suitable certificate (?).
2596 # http://stackoverflow.com/questions/13196291/difference-between-mac-developer-and-3rd-party-mac-developer-application
2597 # says that the "Mac Developer" certificate is useful just for self-testing. For distribution
2598 # outside the Mac App Store, use the "Developer ID Application" one, and for distribution in
2599 # the App Store, the "3rd Party Mac Developer" one. I think it works best to the the
2600 # "Developer ID Application" one.
2602 identity=`security find-identity -p codesigning -v 2>/dev/null | grep 'Developer ID Application:' | awk '{print $2}' |head -1`
2603 if test -n "$identity"; then
2604 MACOSX_CODESIGNING_IDENTITY=$identity
2605 pretty_name=`security find-identity -p codesigning -v | grep "$MACOSX_CODESIGNING_IDENTITY" | sed -e 's/^[[^"]]*"//' -e 's/"//'`
2606 AC_MSG_RESULT([yes, using the identity $MACOSX_CODESIGNING_IDENTITY for $pretty_name])
2608 elif test -n "$enable_macosx_code_signing" -a "$enable_macosx_code_signing" != no ; then
2609 MACOSX_CODESIGNING_IDENTITY=$enable_macosx_code_signing
2610 pretty_name=`security find-identity -p codesigning -v | grep "$MACOSX_CODESIGNING_IDENTITY" | sed -e 's/^[[^"]]*"//' -e 's/"//'`
2611 AC_MSG_RESULT([yes, using the identity $MACOSX_CODESIGNING_IDENTITY for $pretty_name])
2616 AC_MSG_CHECKING([whether to sandbox the application])
2618 if test -z "$MACOSX_CODESIGNING_IDENTITY" -a "$enable_macosx_sandbox" = yes; then
2619 AC_MSG_ERROR([OS X sandboxing requires code signing])
2620 elif test -n "$MACOSX_CODESIGNING_IDENTITY" -a "$enable_macosx_sandbox" = yes; then
2621 ENABLE_MACOSX_SANDBOX=YES
2622 AC_MSG_RESULT([yes])
2627 AC_MSG_CHECKING([what OS X app bundle identifier to use])
2629 MACOSX_BUNDLE_IDENTIFIER=$with_macosx_bundle_identifier
2631 AC_MSG_RESULT([$MACOSX_BUNDLE_IDENTIFIER])
2633 AC_SUBST(MACOSX_SDK_PATH)
2634 AC_SUBST(MACOSX_SDK_VERSION)
2635 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
2636 AC_SUBST(MAC_OS_X_VERSION_MIN_REQUIRED)
2637 AC_SUBST(MAC_OS_X_VERSION_MAX_ALLOWED)
2639 AC_SUBST(MACOSX_CODESIGNING_IDENTITY)
2640 AC_SUBST(ENABLE_MACOSX_SANDBOX)
2641 AC_SUBST(MACOSX_BUNDLE_IDENTIFIER)
2643 dnl ===================================================================
2644 dnl Check / find iOS SDK and compiler, version checks
2645 dnl ===================================================================
2646 if test $_os = iOS; then
2648 AC_MSG_CHECKING([what iOS SDK to use])
2650 if test "$enable_ios_simulator" = yes; then
2651 platform=iPhoneSimulator
2652 versionmin=-mmacosx-version-min=10.7
2656 versionmin=-miphoneos-version-min=5.0
2661 for I in 6.1 6.0; do
2662 t=/Applications/Xcode.app/Contents/Developer/Platforms/$platform.platform/Developer/SDKs/$platform$I.sdk
2669 if test -z "$sysroot"; then
2670 AC_MSG_ERROR([Could not find iOS SDK, expected something like /Applications/Xcode.app/Contents/Developer/Platforms/$platform.platform/Developer/SDKs/${platform}${pref_sdk_ver}])
2673 AC_MSG_RESULT($sysroot)
2675 CXX="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch $arch -isysroot $sysroot $versionmin"
2676 CC="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch $arch -isysroot $sysroot $versionmin"
2679 AC_MSG_CHECKING([whether to treat the installation as read-only])
2681 if test \( -z "$enable_readonly_installset" -a "$ENABLE_MACOSX_SANDBOX" = YES \) -o \
2682 "$enable_extensions" != yes; then
2683 enable_readonly_installset=yes
2685 if test "$enable_readonly_installset" = yes; then
2686 AC_MSG_RESULT([yes])
2687 ENABLE_READONLY_INSTALLSET=YES
2691 AC_SUBST(ENABLE_READONLY_INSTALLSET)
2693 dnl ===================================================================
2694 dnl Windows specific tests and stuff
2695 dnl ===================================================================
2699 # Return value: $regvalue
2701 _regvalue=`cat "/proc/registry/$1" 2> /dev/null`
2703 if test $? -eq 0; then
2709 if test "$_os" = "WINNT" -a "$WITH_MINGW" != yes; then
2710 AC_MSG_CHECKING([whether to build a 64-bit LibreOffice])
2711 if test "$enable_64_bit" = "" -o "$enable_64_bit" = "no"; then
2713 WINDOWS_SDK_ARCH="x86"
2715 AC_MSG_RESULT([yes])
2716 WINDOWS_SDK_ARCH="x64"
2720 AC_MSG_CHECKING([whether to use DirectX])
2721 if test "$enable_directx" = "yes" -o "$enable_directx" = ""; then
2722 ENABLE_DIRECTX="TRUE"
2723 AC_MSG_RESULT([yes])
2729 AC_MSG_CHECKING([whether to use ActiveX])
2730 if test "$enable_activex" = "yes" -o "$enable_activex" = ""; then
2732 SCPDEFS="$SCPDEFS -DWITH_ACTIVEX_COMPONENT"
2733 AC_MSG_RESULT([yes])
2735 DISABLE_ACTIVEX="TRUE"
2739 AC_MSG_CHECKING([whether to use ATL])
2740 if test "$enable_atl" = "yes" -o "$enable_atl" = ""; then
2742 AC_MSG_RESULT([yes])
2749 DISABLE_ACTIVEX="TRUE"
2753 AC_SUBST(ENABLE_DIRECTX)
2754 AC_SUBST(DISABLE_ACTIVEX)
2755 AC_SUBST(DISABLE_ATL)
2757 if test "$cross_compiling" = "yes"; then
2759 SCPDEFS="$SCPDEFS -DCROSS_COMPILING"
2762 BUILD_TYPE="$BUILD_TYPE NATIVE"
2764 AC_SUBST(CROSS_COMPILING)
2766 dnl ===================================================================
2767 dnl Test the gcc version
2768 dnl ===================================================================
2769 if test "$GCC" = "yes"; then
2770 AC_MSG_CHECKING([the GCC version])
2771 _gcc_version=`$CC -dumpversion`
2772 _gcc_major=`echo $_gcc_version | $AWK -F. '{ print \$1 }'`
2773 GCCVER=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
2775 AC_MSG_RESULT([gcc $_gcc_version])
2776 if test "$GCCVER" -lt 040000; then
2777 AC_MSG_ERROR([GCC $_gcc_version is too old, must be at least GCC 4.0.0])
2781 dnl ===================================================================
2782 dnl Is GCC actually Clang?
2783 dnl ===================================================================
2786 if test "$GCC" = "yes"; then
2787 AC_MSG_CHECKING([whether GCC is actually Clang])
2788 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
2794 [AC_MSG_RESULT([yes])
2795 COM_GCC_IS_CLANG=TRUE],
2796 [AC_MSG_RESULT([no])])
2798 if test "$COM_GCC_IS_CLANG" = TRUE; then
2799 AC_MSG_CHECKING([the Clang version])
2800 clang_version=`echo __clang_major__.__clang_minor__.__clang_patchlevel__ | $CC -E -P -`
2801 CLANG_FULL_VERSION=`echo __clang_version__ | $CC -E -P -`
2802 CLANGVER=`echo $clang_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
2803 AC_MSG_RESULT([Clang $CLANG_FULL_VERSION, $CLANGVER])
2804 AC_DEFINE_UNQUOTED(CLANG_FULL_VERSION,$CLANG_FULL_VERSION)
2807 AC_SUBST(COM_GCC_IS_CLANG)
2809 # ===================================================================
2810 # check various GCC options that Clang does not support now but maybe
2811 # will somewhen in the future, check them even for GCC, so that the
2813 # ===================================================================
2816 HAVE_GCC_FINLINE_LIMIT=
2817 HAVE_GCC_FNO_INLINE=
2818 if test "$GCC" = "yes"; then
2819 AC_MSG_CHECKING([whether $CC supports -ggdb2])
2820 if test -n "$CLANGVER" -a 0"$CLANGVER" -le 30100; then
2821 # Option just ignored and silly warning that isn't a real
2826 CFLAGS="$CFLAGS -Werror -ggdb2"
2827 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_GGDB2=TRUE ],[])
2830 if test "$HAVE_GCC_GGDB2" = "TRUE"; then
2831 AC_MSG_RESULT([yes])
2836 AC_MSG_CHECKING([whether $CC supports -finline-limit=0])
2837 if test -n "$CLANGVER" -a 0"$CLANGVER" -le 30100; then
2842 CFLAGS="$CFLAGS -Werror -finline-limit=0"
2843 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_FINLINE_LIMIT=TRUE ],[])
2846 if test "$HAVE_GCC_FINLINE_LIMIT" = "TRUE"; then
2847 AC_MSG_RESULT([yes])
2852 AC_MSG_CHECKING([whether $CC supports -fno-inline])
2853 if test -n "$CLANGVER" -a 0"$CLANGVER" -le 30100; then
2858 CFLAGS="$CFLAGS -Werror -fno-inline"
2859 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_FNO_INLINE=TRUE ],[])
2862 if test "$HAVE_GCC_FNO_INLINE" = "TRUE"; then
2863 AC_MSG_RESULT([yes])
2868 AC_SUBST(HAVE_GCC_GGDB2)
2869 AC_SUBST(HAVE_GCC_FINLINE_LIMIT)
2870 AC_SUBST(HAVE_GCC_FNO_INLINE)
2872 HAVE_LD_BSYMBOLIC_FUNCTIONS=
2873 if test "$GCC" = "yes"; then
2874 AC_MSG_CHECKING( for -Bsymbolic-functions linker support )
2875 bsymbolic_functions_ldflags_save=$LDFLAGS
2876 LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo"
2877 AC_LINK_IFELSE([AC_LANG_PROGRAM([
2880 printf ("hello world\n");
2881 ])], HAVE_LD_BSYMBOLIC_FUNCTIONS=TRUE, [])
2882 if test "$HAVE_LD_BSYMBOLIC_FUNCTIONS" = "TRUE"; then
2883 AC_MSG_RESULT( found )
2885 AC_MSG_RESULT( not found )
2887 LDFLAGS=$bsymbolic_functions_ldflags_save
2889 AC_SUBST(HAVE_LD_BSYMBOLIC_FUNCTIONS)
2891 # Use -isystem (gcc) if possible, to avoid warnigs in 3rd party headers.
2892 # NOTE: must _not_ be used for bundled external libraries!
2894 if test "$GCC" = "yes"; then
2895 AC_MSG_CHECKING( for -isystem )
2897 CFLAGS="$CFLAGS -Werror"
2898 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ ISYSTEM=-isystem ],[])
2900 if test -n "$ISYSTEM"; then
2906 if test -z "$ISYSTEM"; then
2907 # fall back to using -I
2912 dnl ===================================================================
2913 dnl Check which Visual Studio or MinGW compiler is used
2914 dnl ===================================================================
2916 map_vs_year_to_version()
2918 # Return value: $vsversion
2930 AC_MSG_ERROR([Assertion failure - invalid argument "$1" to map_vs_year_to_version()]);;
2934 vs_versions_to_check()
2936 # Args: $1 (optional) : versions to check, in the order of preference
2937 # Return value: $vsversions
2941 if test -n "$1"; then
2942 map_vs_year_to_version "$1"
2943 vsversions=$vsversion
2945 # By default we prefer 2012, then 2010, then 2008
2946 vsversions="11.0 10.0 9.0"
2952 # Find Visual Studio 2012/2010/2008
2953 # Args: $1 (optional) : versions to check, in the order of preference
2954 # Return value: $vstest
2958 vs_versions_to_check "$1"
2960 for ver in $vsversions; do
2961 reg_get_value HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver/Setup/VS/ProductDir
2962 if test -n "$regvalue"; then
2966 reg_get_value HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VCExpress/$ver/Setup/VS/ProductDir
2967 if test -n "$regvalue"; then
2976 # Find Visual C++ 2012/2010/2008
2977 # Args: $1 (optional) : The VS version year
2978 # Return values: $vctest, $vcyear, $vcnum, $vcnumwithdot
2980 unset vctest vcnum vcnumwithdot
2982 vs_versions_to_check "$1"
2984 for ver in $vsversions; do
2985 reg_get_value HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver/Setup/VC/ProductDir
2986 if test -n "$regvalue"; then
2990 reg_get_value HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VCExpress/$ver/Setup/VC/ProductDir
2991 if test -n "$regvalue"; then
2996 if test -n "$vctest"; then
2998 case "$vcnumwithdot" in
3015 SHOWINCLUDES_PREFIX=
3016 if test "$_os" = "WINNT"; then
3017 if test "$WITH_MINGW" != "yes"; then
3018 AC_MSG_CHECKING([Visual C++])
3020 find_msvc "$with_visual_studio"
3022 if test -z "$vctest"; then
3023 if test -n "$with_visual_studio"; then
3024 AC_MSG_ERROR([No Visual Studio $with_visual_studio installation found])
3026 AC_MSG_ERROR([No Visual Studio 2012, 2010 or 2008 installation found])
3030 if test "$BITNESS_OVERRIDE" = ""; then
3031 if test -f "$vctest/bin/cl.exe"; then
3032 VC_PRODUCT_DIR=$vctest
3034 AC_MSG_ERROR([No compiler (cl.exe) in $vctest/bin/cl.exe])
3037 # It makes sense, I think, to restrict 64-bit support to VS2010 or newer
3038 if test $vcnum -lt 100; then
3039 AC_MSG_ERROR([We have no plans to support building a 64-bit LibreOffice with VS 2008])
3042 if test -f "$vctest/bin/amd64/cl.exe"; then
3043 VC_PRODUCT_DIR=$vctest
3045 AC_MSG_ERROR([No compiler (cl.exe) in $vctest/bin/amd64/cl.exe])
3049 VC_PRODUCT_DIR=`cygpath -d "$VC_PRODUCT_DIR"`
3050 VC_PRODUCT_DIR=`cygpath -u "$VC_PRODUCT_DIR"`
3051 AC_MSG_RESULT([$VC_PRODUCT_DIR])
3053 dnl ===========================================================
3054 dnl Check for the corresponding mspdb*.dll
3055 dnl ===========================================================
3059 if test "$BITNESS_OVERRIDE" == ""; then
3060 MSPDB_PATH="$VC_PRODUCT_DIR/../Common7/IDE"
3062 MSPDB_PATH="$VC_PRODUCT_DIR/bin/amd64"
3072 if test ! -e "$MSPDB_PATH/mspdb${mspdbnum}.dll"; then
3073 AC_MSG_ERROR([No mspdb${mspdbnum}.dll in $MSPDB_PATH, Visual Studio installation broken?])
3076 MSPDB_PATH=`cygpath -d "$MSPDB_PATH"`
3077 MSPDB_PATH=`cygpath -u "$MSPDB_PATH"`
3079 dnl The path needs to be added before cl is called
3080 PATH="$MSPDB_PATH:$PATH"
3082 AC_MSG_CHECKING([cl.exe])
3084 # Is there really ever a need to pass CC explicitly? Surely we can hope to get all the
3085 # automagical niceness to work OK? If somebody has some unsupported compiler in some weird
3086 # location, isn't it likely that lots of other things needs changes, too, and just setting CC
3089 if test -z "$CC"; then
3090 if test "$BITNESS_OVERRIDE" = ""; then
3091 if test -f "$VC_PRODUCT_DIR/bin/cl.exe"; then
3092 CC="$VC_PRODUCT_DIR/bin/cl.exe"
3095 if test -f "$VC_PRODUCT_DIR/bin/amd64/cl.exe"; then
3096 CC="$VC_PRODUCT_DIR/bin/amd64/cl.exe"
3100 # This gives us a posix path with 8.3 filename restrictions
3101 CC=`cygpath -d "$CC"`
3102 CC=`cygpath -u "$CC"`
3105 if test -n "$CC"; then
3106 # Remove /cl.exe from CC case insensitive
3107 AC_MSG_RESULT([found Visual C++ $vcyear ($CC)])
3108 if test "$BITNESS_OVERRIDE" = ""; then
3109 COMPATH=`echo $CC | $SED -e 's@\/[[Bb]][[Ii]][[Nn]]\/[[cC]][[lL]]\.[[eE]][[xX]][[eE]].*@@' -e 's@^.* @@'`
3111 if test -n "$VC_PRODUCT_DIR"; then
3112 # Huh, why not just an assignment?
3113 COMPATH=`echo $VC_PRODUCT_DIR`
3116 export INCLUDE=`cygpath -d "$COMPATH/Include"`
3118 PathFormat "$COMPATH"
3119 COMPATH="$formatted_path"
3124 # The WINDOWS_SDK_ACCEPTABLE_VERSIONS is mostly an educated guess... Assuming newer ones
3125 # are always "better", we list them in reverse chronological order.
3130 WINDOWS_SDK_ACCEPTABLE_VERSIONS="7.1A 7.1 7.0A 6.0A"
3134 WINDOWS_SDK_ACCEPTABLE_VERSIONS="7.1A 7.1 7.0A 6.0A"
3138 WINDOWS_SDK_ACCEPTABLE_VERSIONS="8.0"
3142 # The expectation is that --with-windows-sdk should not need to be used
3143 if test -n "$with_windows_sdk"; then
3144 case " $WINDOWS_SDK_ACCEPTABLE_VERSIONS " in
3145 *" "$with_windows_sdk" "*)
3146 WINDOWS_SDK_ACCEPTABLE_VERSIONS=$with_windows_sdk
3149 AC_MSG_ERROR([Windows SDK $with_windows_sdk is not known to work witn VS $MSVSVER])
3154 AC_MSG_ERROR([Visual C++ not found after all, huh])
3157 dnl We need to guess the prefix of the -showIncludes output, it can be
3159 AC_MSG_CHECKING([the dependency generation prefix (cl.exe -showIncludes)])
3160 echo "#include <stdlib.h>" > conftest.c
3161 SHOWINCLUDES_PREFIX=`$CC -c -showIncludes conftest.c 2>/dev/null | \
3162 grep 'stdlib\.h' | head -n1 | sed 's/ [[[:alpha:]]]:.*//'`
3163 rm -f conftest.c conftest.obj
3164 if test -z "$SHOWINCLUDES_PREFIX"; then
3165 AC_MSG_ERROR([cannot determine the -showIncludes prefix])
3167 AC_MSG_RESULT(["$SHOWINCLUDES_PREFIX"])
3170 # Check for 64-bit (cross-)compiler to use to build the 64-bit
3171 # version of the Explorer extension (and maybe other small
3172 # bits, too) needed when installing a 32-bit LibreOffice on a
3173 # 64-bit OS. The 64-bit Explorer extension is a feature that
3174 # has been present since long in OOo. Don't confuse it with
3175 # building LibreOffice itself as 64-bit code, which is
3176 # unfinished work and highly experimental.
3182 if test "$BITNESS_OVERRIDE" = ""; then
3183 AC_MSG_CHECKING([for a x64 compiler and libraries for 64-bit Explorer extensions])
3184 if test -f "$VC_PRODUCT_DIR/atlmfc/lib/amd64/atls.lib"; then
3185 # Prefer native x64 compiler to cross-compiler, in case we are running
3186 # the build on a 64-bit OS.
3187 if "$VC_PRODUCT_DIR/bin/amd64/cl.exe" -? </dev/null >/dev/null 2>&1; then
3189 CXX_X64_BINARY="$VC_PRODUCT_DIR/bin/amd64/cl.exe"
3190 LINK_X64_BINARY="$VC_PRODUCT_DIR/bin/amd64/link.exe"
3191 elif "$VC_PRODUCT_DIR/bin/x86_amd64/cl.exe" -? </dev/null >/dev/null 2>&1; then
3193 CXX_X64_BINARY="$VC_PRODUCT_DIR/bin/x86_amd64/cl.exe"
3194 LINK_X64_BINARY="$VC_PRODUCT_DIR/bin/x86_amd64/link.exe"
3197 if test "$BUILD_X64" = TRUE; then
3198 AC_MSG_RESULT([found])
3200 AC_MSG_RESULT([not found])
3201 AC_MSG_WARN([Installation set will not contain 64-bit Explorer extensions])
3206 # These are passed to the environment and then used in gbuild/platform/com_MSC_class.mk
3207 AC_SUBST(CXX_X64_BINARY)
3208 AC_SUBST(LINK_X64_BINARY)
3210 AC_MSG_CHECKING([the compiler is MinGW])
3211 MACHINE_PREFIX=`$CC -dumpmachine`
3212 if echo $MACHINE_PREFIX | $GREP -q mingw32; then
3213 COMPATH=`echo "$COMPATH" | sed -e 's,/bin$,,'`
3214 AC_MSG_RESULT([yes])
3216 AC_MSG_ERROR([Compiler is not MinGW.])
3222 PathFormat "$MSPDB_PATH"
3223 MSPDB_PATH="$formatted_path"
3224 AC_SUBST(SHOWINCLUDES_PREFIX)
3229 if test "$_os" == "WINNT"; then
3230 BUILD_TYPE="$BUILD_TYPE DBGHELP"
3236 UNOWINREG_DLL="185d60944ea767075d27247c3162b3bc-unowinreg.dll"
3237 AC_SUBST(UNOWINREG_DLL)
3240 # prefix C with ccache if needed
3242 if test "$CCACHE" != ""; then
3243 AC_MSG_CHECKING([whether $CC is already ccached])
3247 CFLAGS="$CFLAGS --ccache-skip -O2"
3248 dnl an empty program will do, we're checking the compiler flags
3249 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
3250 [use_ccache=yes], [use_ccache=no])
3251 if test $use_ccache = yes; then
3252 AC_MSG_RESULT([yes])
3261 dnl Set the ENABLE_DBGUTIL variable
3262 dnl ===================================================================
3263 AC_MSG_CHECKING([whether to build with additional debug utilities])
3264 if test -n "$enable_dbgutil" -a "$enable_dbgutil" != "no"; then
3265 ENABLE_DBGUTIL="TRUE"
3266 # this is an extra var so it can have different default on different MSVC
3267 # versions (in case there are version specific problems with it)
3268 MSVC_USE_DEBUG_RUNTIME="TRUE"
3272 AC_MSG_RESULT([yes])
3273 # cppunit and graphite expose STL in public headers
3274 if test "$with_system_cppunit" = "yes"; then
3275 AC_MSG_ERROR([--with-system-cppunit conflicts with --enable-dbgutil])
3277 with_system_cppunit=no
3279 if test "$with_system_graphite" = "yes"; then
3280 AC_MSG_ERROR([--with-system-graphite conflicts with --enable-dbgutil])
3282 with_system_graphite=no
3284 if test "$with_system_mysql_cppconn" = "yes"; then
3285 AC_MSG_ERROR([--with-system-mysql-cppconn conflicts with --enable-dbgutil])
3287 with_system_mysql_cppconn=no
3289 if test "$with_system_orcus" = "yes"; then
3290 AC_MSG_ERROR([--with-system-orcus conflicts with --enable-dbgutil])
3292 with_system_orcus=no
3294 if test "$with_system_libcmis" = "yes"; then
3295 AC_MSG_ERROR([--with-system-libcmis conflicts with --enable-dbgutil])
3297 with_system_libcmis=no
3301 MSVC_USE_DEBUG_RUNTIME=""
3302 # PRODUCT is old concept, still used by build.pl .
3307 AC_SUBST(ENABLE_DBGUTIL)
3308 AC_SUBST(MSVC_USE_DEBUG_RUNTIME)
3312 dnl Set the ENABLE_DEBUG variable.
3313 dnl ===================================================================
3314 AC_MSG_CHECKING([whether to do a debug build])
3315 if test -n "$enable_debug" && test "$enable_debug" != "yes" && test "$enable_debug" != "no"; then
3316 AC_MSG_ERROR([--enable-debug now accepts only yes or no, use --enable-selective-debuginfo])
3318 if test -n "$ENABLE_DBGUTIL"; then
3319 if test "$enable_debug" = "no"; then
3320 AC_MSG_ERROR([--disable-debug cannot be used with --enable-dbgutil])
3323 AC_MSG_RESULT([yes (dbgutil)])
3324 elif test -n "$enable_debug" && test "$enable_debug" != "no"; then
3326 AC_MSG_RESULT([yes])
3331 AC_SUBST(ENABLE_DEBUG)
3333 dnl Selective debuginfo
3334 ENABLE_DEBUGINFO_FOR=
3335 if test -n "$ENABLE_DEBUG"; then
3336 AC_MSG_CHECKING([whether to use selective debuginfo])
3337 if test -n "$enable_selective_debuginfo" -a "$enable_selective_debuginfo" != "no"; then
3338 ENABLE_DEBUGINFO_FOR="$enable_selective_debuginfo"
3339 AC_MSG_RESULT([for "$enable_selective_debuginfo"])
3341 ENABLE_DEBUGINFO_FOR=all
3342 AC_MSG_RESULT([no, for all])
3345 AC_SUBST(ENABLE_DEBUGINFO_FOR)
3347 dnl Check for enable symbols option
3348 dnl ===================================================================
3349 AC_MSG_CHECKING([whether to include symbols while preserve optimization])
3350 if test -n "$enable_symbols" -a "$enable_symbols" != "no"; then
3351 ENABLE_SYMBOLS="TRUE"
3352 if test -n "$ENABLE_DBGUTIL"; then
3353 AC_MSG_ERROR([--enable-dbgutil cannot be used with --enable-symbols])
3354 elif test -n "$ENABLE_DEBUG"; then
3355 AC_MSG_ERROR([--enable-debug cannot be used with --enable-symbols])
3357 AC_MSG_RESULT([yes])
3359 if test -n "$enable_symbols" -a "$enable_symbols" = "no"; then
3360 ENABLE_SYMBOLS="FALSE"
3366 AC_SUBST(ENABLE_SYMBOLS)
3368 # Check for explicit A/C/CXX/OBJC/OBJCXX/LDFLAGS.
3369 # By default use the ones specified by our build system,
3370 # but explicit override is possible.
3371 AC_MSG_CHECKING(for explicit AFLAGS)
3372 if test -n "$AFLAGS"; then
3373 AC_MSG_RESULT([$AFLAGS])
3379 AC_MSG_CHECKING(for explicit CFLAGS)
3380 if test -n "$CFLAGS"; then
3381 AC_MSG_RESULT([$CFLAGS])
3387 AC_MSG_CHECKING(for explicit CXXFLAGS)
3388 if test -n "$CXXFLAGS"; then
3389 AC_MSG_RESULT([$CXXFLAGS])
3395 AC_MSG_CHECKING(for explicit OBJCFLAGS)
3396 if test -n "$OBJCFLAGS"; then
3397 AC_MSG_RESULT([$OBJCFLAGS])
3403 AC_MSG_CHECKING(for explicit OBJCXXFLAGS)
3404 if test -n "$OBJCXXFLAGS"; then
3405 AC_MSG_RESULT([$OBJCXXFLAGS])
3411 AC_MSG_CHECKING(for explicit LDFLAGS)
3412 if test -n "$LDFLAGS"; then
3413 AC_MSG_RESULT([$LDFLAGS])
3423 AC_SUBST(OBJCXXFLAGS)
3427 AC_SUBST(x_CXXFLAGS)
3428 AC_SUBST(x_OBJCFLAGS)
3429 AC_SUBST(x_OBJCXXFLAGS)
3433 # determine CPU, CPUNAME, GUI, GUIBASE, ...
3449 PLATFORMID=aix_powerpc
3452 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3465 if test "$BITNESS_OVERRIDE" = 64; then
3470 PLATFORMID=windows_x86_64
3471 OUTPATH=wntmscx$COMEX
3476 PLATFORMID=windows_x86
3477 OUTPATH=wntmsci$COMEX
3481 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3484 SCPDEFS="$SCPDEFS -D_MSC_VER"
3485 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3507 if test "$BITNESS_OVERRIDE" = 64; then
3508 AC_MSG_ERROR([Can't build 64-bit code in 32-bit OS])
3513 PLATFORMID=macosx_x86
3517 if test "$BITNESS_OVERRIDE" = 64; then
3521 PLATFORMID=macosx_x86_64
3527 PLATFORMID=macosx_x86
3532 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3535 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3552 PLATFORMID=dragonfly_x86
3558 PLATFORMID=dragonfly_x86_64
3561 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3564 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3581 PLATFORMID=freebsd_x86
3588 PLATFORMID=freebsd_x86_64
3591 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3594 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3611 PLATFORMID=kfreebsd_x86
3619 PLATFORMID=kfreebsd_x86_64
3623 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3626 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3643 PLATFORMID=linux_alpha
3652 PLATFORMID=linux_arm_eabi
3656 PLATFORMID=linux_arm_oabi
3665 PLATFORMID=linux_hppa
3672 PLATFORMID=linux_x86
3679 PLATFORMID=linux_ia64
3687 PLATFORMID=linux_mips_eb
3694 EPM_FLAGS="-a mips64"
3695 PLATFORMID=linux_mips_eb
3702 EPM_FLAGS="-a mips64el"
3703 PLATFORMID=linux_mips_el
3710 EPM_FLAGS="-a mipsel"
3711 PLATFORMID=linux_mips_el
3718 PLATFORMID=linux_m68k
3725 PLATFORMID=linux_powerpc
3733 PLATFORMID=linux_powerpc_64
3740 PLATFORMID=linux_sparc
3747 PLATFORMID=linux_s390
3755 PLATFORMID=linux_s390x
3763 PLATFORMID=linux_x86_64
3767 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3770 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3787 PLATFORMID=android_arm_eabi
3792 CPUNAME=GODSON # Weird, but maybe that's the LO convention?
3794 PLATFORMID=android_mips_el
3801 PLATFORMID=android_x86
3805 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3808 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3821 if test "$BITNESS_OVERRIDE" = 64; then
3825 PLATFORMID=windows_x86_64
3826 OUTPATH=wntgccx$COMEX
3831 PLATFORMID=windows_x86
3832 OUTPATH=wntgcci$COMEX
3836 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3839 SOLARINC="$SOLARINC -I$SRC_ROOT/include/wntgcci"
3840 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3858 PLATFORMID=netbsd_x86
3864 PLATFORMID=netbsd_powerpc
3870 PLATFORMID=netbsd_sparc
3876 PLATFORMID=netbsd_x86_64
3879 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3882 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3899 PLATFORMID=openbsd_x86
3905 PLATFORMID=openbsd_x86_64
3908 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3911 SOLARINC="$SOLARINC -I/usr/local/include"
3912 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3913 SOLARLIB="$SOLARLIB -L/usr/local/lib"
3931 PLATFORMID=solaris_x86
3938 PLATFORMID=solaris_sparc
3942 AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
3945 SOLARINC="$SOLARINC -I/usr/local/include"
3946 SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
3947 SOLARLIB="$SOLARLIB -L$COMPATH/lib"
3948 SOLARLIB="$SOLARLIB -L/usr/local/bin -L/usr/dt/lib -L/usr/openwin/lib"
3952 AC_MSG_ERROR([$host_os operating system is not suitable to build LibreOffice for!])
3956 if test "$enable_headless" = "yes"; then
3957 if test "$GUIBASE" != "unx"; then
3958 AC_MSG_ERROR([$host_os operating system is not suitable to build LibreOffice with --enable-headless])
3963 INPATH="${OUTPATH}${PROEXT}"
3964 if test -n "${with_solver_and_workdir_root}"; then
3965 PathFormat "${with_solver_and_workdir_root}"
3966 # IsValidFilePath in /sal/osl/w32/file_url.cxx rejects "X:\\" breaking idlc
3967 if echo ${formatted_path} | $GREP -q '/$'; then
3968 WORKDIR=${formatted_path}workdir/${INPATH}
3969 INSTDIR=${formatted_path}instdir/${INPATH}
3971 WORKDIR=${formatted_path}/workdir/${INPATH}
3972 INSTDIR=${formatted_path}/instdir/${INPATH}
3975 WORKDIR=${BUILDDIR}/workdir/${INPATH}
3976 INSTDIR=${BUILDDIR}/instdir/${INPATH}
3978 OUTDIR="${SOLARVER}/${INPATH}"
3979 SOLARINC="-I. -I$SRC_ROOT/include -I${SOLARVER}/$INPATH/inc/external -I${SOLARVER}/$INPATH/inc $SOLARINC"
3996 AC_SUBST(PLATFORMID)
3997 AC_DEFINE_UNQUOTED(OUTDIR,"$OUTDIR")
3998 AC_DEFINE_UNQUOTED(WORKDIR,"$WORKDIR")
4000 dnl ===================================================================
4001 dnl Test which package format to use
4002 dnl ===================================================================
4003 AC_MSG_CHECKING([which package format to use])
4004 if test -n "$with_package_format"; then
4005 for i in $with_package_format; do
4007 aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable | archive | dmg | installed | msi)
4010 AC_MSG_ERROR([unsupported format $i. Supported by EPM are:
4011 aix - AIX software distribution
4012 bsd - FreeBSD, NetBSD, or OpenBSD software distribution
4013 deb - Debian software distribution
4014 inst or tardist - IRIX software distribution
4015 osx - MacOS X software distribution
4016 pkg - Solaris software distribution
4017 rpm - RedHat software distribution
4018 setld - Tru64 (setld) software distribution
4019 native - "Native" software distribution for the platform
4020 portable - Portable software distribution
4022 LibreOffice additionally supports:
4023 archive - .tar.gz or .zip
4025 installed - installation tree
4031 PKGFORMAT="$with_package_format"
4032 elif test "$enable_epm" = "yes"; then
4042 # if building on Debian, default should be deb...
4043 if test -e /etc/debian_version; then
4061 # we never should get here since we check the arciecture/os at the beginning,
4064 AC_MSG_ERROR([unknown system])
4067 if test "$WITH_MINGW" = "yes"; then
4068 # when tested, we should default this to 'msi', instead of 'archive'
4074 AC_MSG_RESULT([$PKGFORMAT])
4077 dnl ===================================================================
4078 dnl Set up a different compiler to produce tools to run on the build
4079 dnl machine when doing cross-compilation
4080 dnl ===================================================================
4082 m4_pattern_allow([PKG_CONFIG_FOR_BUILD])
4083 if test "$cross_compiling" = "yes"; then
4084 AC_MSG_CHECKING([for BUILD platform configuration])
4086 rm -rf CONF-FOR-BUILD config_build.mk
4087 mkdir CONF-FOR-BUILD
4088 (cd $SRC_ROOT && tar cf - \
4094 bin/get_config_variables \
4095 solenv/bin/getcompver.awk \
4096 solenv/inc/langlist.mk \
4097 instsetoo_native/util/openoffice.lst.in) \
4098 | (cd CONF-FOR-BUILD && tar xf -)
4099 cp configure CONF-FOR-BUILD
4100 test -d config_build && cp -p config_build/*.h CONF-FOR-BUILD/config_host
4102 unset COM GUI GUIBASE OS CPU CPUNAME
4103 unset CC CXX SYSBASE CFLAGS
4104 unset AR NM OBJDUMP PKG_CONFIG RANLIB STRIP
4105 unset CPPUNIT_CFLAGS CPPUNIT_LIBS
4106 unset LIBXML_CFLAGS LIBXML_LIBS LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC
4107 test -n "$CC_FOR_BUILD" && export CC="$CC_FOR_BUILD"
4108 test -n "$CXX_FOR_BUILD" && export CXX="$CXX_FOR_BUILD"
4109 test -n "$PKG_CONFIG_FOR_BUILD" && export PKG_CONFIG="$PKG_CONFIG_FOR_BUILD"
4112 test -n "$enable_ccache" && sub_conf_opts="$sub_conf_opts --enable-ccache=$enable_ccache"
4113 test -n "$with_ant_home" && sub_conf_opts="$sub_conf_opts --with-ant-home=$with_ant_home"
4114 test $with_junit = no && sub_conf_opts="$sub_conf_opts --without-junit"
4115 test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION"
4116 test -n "${with_solver_and_workdir_root}" && sub_conf_opts="$sub_conf_opts --with-solver-and-workdir-root=${with_solver_and_workdir_root}"
4117 test -n "$with_system_boost_for_build" && sub_conf_opts="$sub_conf_opts --with-system-boost"
4118 test -n "$with_system_cppunit_for_build" && sub_conf_opts="$sub_conf_opts --with-system-cppunit"
4119 test -n "$with_system_expat_for_build" && sub_conf_opts="$sub_conf_opts --with-system-expat"
4120 test "$with_system_icu_for_build" = "yes" -o "$with_system_icu_for_build" = "force" && sub_conf_opts="$sub_conf_opts --with-system-icu"
4121 test -n "$with_system_libxml_for_build" && sub_conf_opts="$sub_conf_opts --with-system-libxml"
4122 # we need the msi build tools on mingw if we are creating the
4124 if test "$WITH_MINGW" = "yes"; then
4125 enable_winegcc_for_build=
4126 for pkgformat in $PKGFORMAT; do
4127 case "$pkgformat" in
4128 msi|native) enable_winegcc_for_build=yes ;;
4131 test -n "$enable_winegcc_for_build" && sub_conf_opts="$sub_conf_opts --enable-winegcc"
4133 sub_conf_opts="$sub_conf_opts $with_build_platform_configure_options"
4134 # Don't bother having configure look for stuff not needed for the build platform anyway
4136 --disable-graphite \
4137 --disable-postgresql-sdbc \
4138 --with-parallelism="$with_parallelism" \
4141 ENABLE_PDFIMPORT=FALSE \
4144 2>&1 | sed -e 's/^/ /'
4145 test -f ./config_host.mk 2>/dev/null || exit
4146 cp config_host.mk ../config_build.mk
4147 mv config.log ../config.Build.log
4148 mkdir -p ../config_build
4149 mv config_host/*.h ../config_build
4150 . ./bin/get_config_variables OS PATH CC CXX INPATH SYSTEM_LIBXSLT OUTDIR WORKDIR
4152 for V in OS CC CXX INPATH SYSTEM_LIBXSLT; do
4154 VV=`eval "echo $VV"`
4155 if test -n "$VV"; then
4156 line=${V}_FOR_BUILD='${'${V}_FOR_BUILD:-$VV'}'
4157 echo "$line" >>build-config
4161 for V in OUTDIR WORKDIR; do
4163 VV=`eval "echo $VV"`
4164 VV=`echo $VV | sed -e 's,/CONF-FOR-BUILD,,g'`
4165 if test -n "$VV"; then
4166 line="${V}_FOR_BUILD='$VV'"
4167 echo "$line" >>build-config
4171 line=`echo "LO_PATH_FOR_BUILD=$PATH" | sed -e 's,/CONF-FOR-BUILD,,g'`
4172 echo "$line" >>build-config
4175 test -f CONF-FOR-BUILD/build-config || AC_MSG_ERROR([Running configure script for BUILD system failed, see CONF-FOR-BUILD/config.log])
4176 test -f config_build.mk || AC_MSG_ERROR([A file called config_build.mk was supposed to have been copied here, but it isn't found])
4177 perl -pi -e 's,/CONF-FOR-BUILD,,g' config_build.mk
4178 eval `cat CONF-FOR-BUILD/build-config`
4179 AC_MSG_RESULT([checking for BUILD platform configuration... done])
4180 rm -rf CONF-FOR-BUILD
4184 CXX_FOR_BUILD="$CXX"
4185 INPATH_FOR_BUILD="$INPATH"
4186 OUTDIR_FOR_BUILD="$OUTDIR"
4187 WORKDIR_FOR_BUILD="$WORKDIR"
4189 AC_SUBST(OS_FOR_BUILD)
4190 AC_SUBST(INPATH_FOR_BUILD)
4191 AC_SUBST(OUTDIR_FOR_BUILD)
4192 AC_SUBST(WORKDIR_FOR_BUILD)
4194 dnl ===================================================================
4195 dnl Our version is defined by the AC_INIT() at the top of this script.
4196 dnl ===================================================================
4198 set `echo AC_PACKAGE_VERSION | sed "s/\./ /g"`
4200 LIBO_VERSION_MAJOR=$1
4201 LIBO_VERSION_MINOR=$2
4202 LIBO_VERSION_MICRO=$3
4203 LIBO_VERSION_PATCH=$4
4205 LIBO_VERSION_SUFFIX=$5
4206 # Split out LIBO_VERSION_SUFFIX_SUFFIX... horrible crack. But apparently wanted separately in
4207 # openoffice.lst as ABOUTBOXPRODUCTVERSIONSUFFIX. Note that the double brackets are for m4's sake,
4208 # they get undoubled before actually passed to sed.
4209 LIBO_VERSION_SUFFIX_SUFFIX=`echo "$LIBO_VERSION_SUFFIX" | sed -e 's/.*[[a-zA-Z0-9]]\([[^a-zA-Z0-9]]*\)$/\1/'`
4210 test -n "$LIBO_VERSION_SUFFIX_SUFFIX" && LIBO_VERSION_SUFFIX="${LIBO_VERSION_SUFFIX%${LIBO_VERSION_SUFFIX_SUFFIX}}"
4211 # LIBO_VERSION_SUFFIX, if non-empty, should include the period separator
4212 test -n "$LIBO_VERSION_SUFFIX" && LIBO_VERSION_SUFFIX=".$LIBO_VERSION_SUFFIX"
4214 AC_SUBST(LIBO_VERSION_MAJOR)
4215 AC_SUBST(LIBO_VERSION_MINOR)
4216 AC_SUBST(LIBO_VERSION_MICRO)
4217 AC_SUBST(LIBO_VERSION_PATCH)
4218 AC_SUBST(LIBO_VERSION_SUFFIX)
4219 AC_SUBST(LIBO_VERSION_SUFFIX_SUFFIX)
4221 AC_DEFINE_UNQUOTED(LIBO_VERSION_MAJOR,$LIBO_VERSION_MAJOR)
4222 AC_DEFINE_UNQUOTED(LIBO_VERSION_MINOR,$LIBO_VERSION_MINOR)
4223 AC_DEFINE_UNQUOTED(LIBO_VERSION_MICRO,$LIBO_VERSION_MICRO)
4224 AC_DEFINE_UNQUOTED(LIBO_VERSION_PATCH,$LIBO_VERSION_PATCH)
4226 LIBO_THIS_YEAR=`date +%Y`
4227 AC_DEFINE_UNQUOTED(LIBO_THIS_YEAR,$LIBO_THIS_YEAR)
4229 # This UPD silly thing must go away soon
4230 UPD="${LIBO_VERSION_MAJOR}${LIBO_VERSION_MINOR}0"
4233 # This too should go away
4234 SOURCEVERSION="OOO$UPD"
4235 AC_SUBST(SOURCEVERSION)
4237 dnl ===================================================================
4238 dnl Check for syslog header
4239 dnl ===================================================================
4240 AC_CHECK_HEADER(syslog.h, AC_DEFINE(HAVE_SYSLOG_H))
4242 dnl ===================================================================
4243 dnl Set the ENABLE_CRASHDUMP variable.
4244 dnl ===================================================================
4245 AC_MSG_CHECKING([whether to enable crashdump feature])
4246 if test "$enable_crashdump" = "yes"; then
4247 ENABLE_CRASHDUMP="TRUE"
4248 BUILD_TYPE="$BUILD_TYPE CRASHREP"
4249 AC_MSG_RESULT([yes])
4254 AC_SUBST(ENABLE_CRASHDUMP)
4257 dnl Set the ENABLE_WERROR variable. (Activate --enable-werror)
4258 dnl ===================================================================
4259 AC_MSG_CHECKING([whether to turn warnings to errors])
4260 if test -n "$enable_werror" -a "$enable_werror" != "no"; then
4261 EXTERNAL_WARNINGS_NOT_ERRORS="FALSE"
4262 AC_MSG_RESULT([yes])
4264 EXTERNAL_WARNINGS_NOT_ERRORS="TRUE"
4267 AC_SUBST(EXTERNAL_WARNINGS_NOT_ERRORS)
4269 dnl Set the ASSERT_ALWAYS_ABORT variable. (Activate --enable-assert-always-abort)
4270 dnl ===================================================================
4271 AC_MSG_CHECKING([whether to have assert to abort in release code])
4272 if test -n "$enable_assert_always_abort" -a "$enable_assert_always_abort" = "yes"; then
4273 ASSERT_ALWAYS_ABORT="TRUE"
4274 AC_MSG_RESULT([yes])
4276 ASSERT_ALWAYS_ABORT="FALSE"
4279 AC_SUBST(ASSERT_ALWAYS_ABORT)
4281 dnl Determine whether to use linkoo for the smoketest installation
4282 dnl ===================================================================
4283 AC_MSG_CHECKING([whether to use linkoo for the smoketest installation])
4284 if test $_os = Darwin; then
4288 if test "$enable_linkoo" = "no"; then
4289 DISABLE_LINKOO="TRUE"
4293 AC_MSG_RESULT([yes])
4295 AC_SUBST(DISABLE_LINKOO)
4297 # Set the ENABLE_LTO variable
4298 # ===================================================================
4299 AC_MSG_CHECKING([whether to use link-time optimization])
4300 if test -n "$enable_lto" -a "$enable_lto" != "no"; then
4302 AC_MSG_RESULT([yes])
4307 AC_SUBST(ENABLE_LTO)
4309 if test "$enable_headless" = "yes"; then
4310 # be sure to do not mess with uneeded stuff
4318 build_gstreamer_0_10=no
4322 enable_cairo_canvas=no
4326 dnl ===================================================================
4327 dnl check for cups support
4328 dnl ===================================================================
4331 if test "$enable_cups" = "no"; then
4335 AC_MSG_CHECKING([whether to enable CUPS support])
4336 if test "$test_cups" = "yes"; then
4338 AC_MSG_RESULT([yes])
4340 AC_MSG_CHECKING([whether cups support is present])
4341 AC_CHECK_LIB([cups], [cupsPrintFiles], [:])
4342 AC_CHECK_HEADER(cups/cups.h, AC_DEFINE(HAVE_CUPS_H))
4343 if test "$ac_cv_lib_cups_cupsPrintFiles" != "yes" -a "$ac_cv_header_cups_cups_h" != "yes"; then
4344 AC_MSG_ERROR([Could not find CUPS. Install libcupsys2-dev or cups-devel.])
4351 AC_SUBST(ENABLE_CUPS)
4354 if test "$test_fontconfig" = "yes"; then
4355 PKG_CHECK_MODULES([FONTCONFIG], [fontconfig >= 2.2.0])
4357 case "$BUILD_TYPE" in
4359 FONTCONFIG_LIBS="-lfontconfig"
4363 AC_SUBST(FONTCONFIG_CFLAGS)
4364 AC_SUBST(FONTCONFIG_LIBS)
4366 dnl whether to find & fetch external tarballs?
4367 dnl ===================================================================
4368 if test -z "$TARFILE_LOCATION"; then
4369 TARFILE_LOCATION="$SRC_ROOT/src"
4371 AC_SUBST(TARFILE_LOCATION)
4373 AC_MSG_CHECKING([whether we want to fetch tarballs])
4374 if test "$enable_fetch_external" != "no"; then
4375 if test "$with_all_tarballs" = "yes"; then
4376 AC_MSG_RESULT(["yes, all of them"])
4377 DO_FETCH_TARBALLS="ALL"
4379 AC_MSG_RESULT(["yes, if we use them"])
4380 DO_FETCH_TARBALLS="YES"
4384 DO_FETCH_TARBALLS="NO"
4386 AC_SUBST(DO_FETCH_TARBALLS)
4388 AC_MSG_CHECKING([whether to build help])
4389 if test "$with_help" = "yes" -a $_os != iOS -a $_os != Android; then
4390 AC_MSG_RESULT([yes])
4391 BUILD_TYPE="$BUILD_TYPE HELP"
4392 SCPDEFS="$SCPDEFS -DWITH_HELP"
4393 GIT_NEEDED_SUBMODULES="helpcontent2 $GIT_NEEDED_SUBMODULES"
4398 dnl Test whether to include MySpell dictionaries
4399 dnl ===================================================================
4400 AC_MSG_CHECKING([whether to include MySpell dictionaries])
4401 if test "$with_myspell_dicts" = "yes"; then
4402 AC_MSG_RESULT([yes])
4403 WITH_MYSPELL_DICTS=YES
4404 BUILD_TYPE="$BUILD_TYPE DICTIONARIES"
4405 GIT_NEEDED_SUBMODULES="dictionaries $GIT_NEEDED_SUBMODULES"
4408 WITH_MYSPELL_DICTS=NO
4410 AC_SUBST(WITH_MYSPELL_DICTS)
4412 AC_MSG_CHECKING([whether to use dicts from external paths])
4413 if test -z "$with_system_dicts" -o "$with_system_dicts" != "no"; then
4414 AC_MSG_RESULT([yes])
4416 AC_MSG_CHECKING([for spelling dictionary directory])
4417 if test -n "$with_external_dict_dir"; then
4418 DICT_SYSTEM_DIR=file://$with_external_dict_dir
4420 DICT_SYSTEM_DIR=file:///usr/share/hunspell
4421 if test ! -d /usr/share/hunspell -a -d /usr/share/myspell; then
4422 DICT_SYSTEM_DIR=file:///usr/share/myspell
4425 AC_MSG_RESULT([$DICT_SYSTEM_DIR])
4426 AC_MSG_CHECKING([for hyphenation patterns directory])
4427 if test -n "$with_external_hyph_dir"; then
4428 HYPH_SYSTEM_DIR=file://$with_external_hyph_dir
4430 HYPH_SYSTEM_DIR=file:///usr/share/hyphen
4432 AC_MSG_RESULT([$HYPH_SYSTEM_DIR])
4433 AC_MSG_CHECKING([for thesaurus directory])
4434 if test -n "$with_external_thes_dir"; then
4435 THES_SYSTEM_DIR=file://$with_external_thes_dir
4437 THES_SYSTEM_DIR=file:///usr/share/mythes
4439 AC_MSG_RESULT([$THES_SYSTEM_DIR])
4444 AC_SUBST(SYSTEM_DICTS)
4445 AC_SUBST(DICT_SYSTEM_DIR)
4446 AC_SUBST(HYPH_SYSTEM_DIR)
4447 AC_SUBST(THES_SYSTEM_DIR)
4449 dnl ===================================================================
4450 AC_MSG_CHECKING([whether to enable pch feature])
4451 if test -n "$enable_pch" && test "$enable_pch" != "no"; then
4452 if test "$_os" = "WINNT" -a "$WITH_MINGW" != "yes"; then
4454 AC_MSG_RESULT([yes])
4455 elif test "$GCC" = "yes"; then
4457 AC_MSG_RESULT([yes])
4460 AC_MSG_ERROR([Precompiled header not yet supported for your platform/compiler])
4466 AC_SUBST(ENABLE_PCH)
4468 dnl ===================================================================
4469 dnl Search all the common names for GNU make
4470 dnl ===================================================================
4471 AC_MSG_CHECKING([for GNU make])
4473 # try to use our own make if it is available and GNUMAKE was not already defined
4474 if test -z "$GNUMAKE"; then
4475 if test -x "/opt/lo/bin/make"; then
4476 GNUMAKE="/opt/lo/bin/make"
4480 for a in "$MAKE" "$GNUMAKE" make gmake gnumake; do
4481 if test -n "$a"; then
4482 $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null
4483 if test $? -eq 0; then
4489 AC_MSG_RESULT($GNUMAKE)
4490 if test -z "$GNUMAKE"; then
4491 AC_MSG_ERROR([not found. install GNU make.])
4496 AC_MSG_CHECKING([the GNU make version])
4497 _make_version=`$GNUMAKE --version | grep GNU | $GREP -v GPL | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`
4498 _make_longver=`echo $_make_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
4499 if test "$_make_longver" -ge "038200"; then
4500 AC_MSG_RESULT([$GNUMAKE $_make_version])
4502 elif test "$_make_longver" -ge "038100"; then
4503 if test "$build_os" = "cygwin"; then
4504 AC_MSG_ERROR([failed ($GNUMAKE version >= 3.82 needed])
4506 AC_MSG_RESULT([$GNUMAKE $_make_version])
4508 dnl ===================================================================
4509 dnl Search all the common names for sha1sum
4510 dnl ===================================================================
4511 AC_CHECK_PROGS(SHA1SUM, sha1sum sha1 shasum openssl)
4512 if test -z "$SHA1SUM"; then
4513 AC_MSG_ERROR([install the approproate SHA-1 checksumming program for this OS])
4514 elif test "$SHA1SUM" = "openssl"; then
4515 SHA1SUM="openssl sha1"
4517 AC_MSG_CHECKING([for GNU make bug 20033])
4518 TESTGMAKEBUG20033=`mktemp -d tmp.XXXXXX`
4519 $SED -e "s/<TAB>/$TAB/g" > $TESTGMAKEBUG20033/Makefile << EOF
4520 A := \$(wildcard *.a)
4524 <TAB>@echo survived bug20033.
4528 <TAB>@touch 1.a 2.a 3.a 4.a 5.a 6.a
4541 <TAB>\$(eval CHECKSUM := \$(word 1,\$(shell cat \$^ | $SHA1SUM))) \$(if \$(wildcard \$(CACHEDIR)/\$(CHECKSUM)),\
4542 <TAB>\$(call d1,\$(CHECKSUM)),\
4543 <TAB>\$(call d2,\$(CHECKSUM)))
4545 if test -z "`(cd $TESTGMAKEBUG20033 && $GNUMAKE setup && $GNUMAKE -j)|grep survived`"; then
4546 no_parallelism_make="YES"
4547 AC_MSG_RESULT([yes, disable parallelism])
4549 AC_MSG_RESULT([no, keep parallelism enabled])
4551 rm -rf $TESTGMAKEBUG20033
4553 AC_MSG_ERROR([failed ($GNUMAKE version >= 3.81 needed])
4556 # find if gnumake support file function
4557 AC_MSG_CHECKING([whether GNU make supports the 'file' function])
4558 TESTGMAKEFILEFUNC="`mktemp -d -t tst.XXXXXX`"
4559 $SED -e "s/<TAB>/$TAB/" > $TESTGMAKEFILEFUNC/Makefile << EOF
4560 \$(file >test.txt,Success )
4567 $GNUMAKE -C $TESTGMAKEFILEFUNC 2>/dev/null 1>&2
4568 if test -f $TESTGMAKEFILEFUNC/test.txt; then
4569 HAVE_GNUMAKE_FILE_FUNC="YES"
4570 AC_MSG_RESULT([yes])
4574 rm -rf $TESTGMAKEFILEFUNC
4575 AC_SUBST(HAVE_GNUMAKE_FILE_FUNC)
4578 _make_ver_check=`$GNUMAKE --version | grep LibreOffice`
4581 if test "$_make_ver_check" = ""; then
4585 HAVE_LD_HASH_STYLE=FALSE
4586 WITH_LINKER_HASH_STYLE=
4587 AC_MSG_CHECKING( for --hash-style gcc linker support )
4588 if test "$GCC" = "yes"; then
4589 if test -z "$with_linker_hash_style" -o "$with_linker_hash_style" = "yes"; then
4590 hash_styles="gnu sysv"
4591 elif test "$with_linker_hash_style" = "no"; then
4594 hash_styles="$with_linker_hash_style"
4597 for hash_style in $hash_styles; do
4598 test "$HAVE_LD_HASH_STYLE" = "TRUE" && continue
4599 hash_style_ldflags_save=$LDFLAGS
4600 LDFLAGS="$LDFLAGS -Wl,--hash-style=$hash_style"
4602 AC_LINK_IFELSE([AC_LANG_PROGRAM(
4608 [ if ./conftest$EXEEXT; then
4609 HAVE_LD_HASH_STYLE=TRUE
4610 WITH_LINKER_HASH_STYLE=$hash_style
4612 [HAVE_LD_HASH_STYLE=FALSE])
4613 LDFLAGS=$hash_style_ldflags_save
4616 if test "$HAVE_LD_HASH_STYLE" = "TRUE"; then
4617 AC_MSG_RESULT( $WITH_LINKER_HASH_STYLE )
4621 LDFLAGS=$hash_style_ldflags_save
4625 AC_SUBST(HAVE_LD_HASH_STYLE)
4626 AC_SUBST(WITH_LINKER_HASH_STYLE)
4628 dnl ===================================================================
4629 dnl Check whether there's a Perl version available.
4630 dnl ===================================================================
4631 if test -z "$with_perl_home"; then
4632 AC_PATH_PROG(PERL, perl)
4634 test "$build_os" = "cygwin" && with_perl_home=`cygpath -u "$with_perl_home"`
4635 _perl_path="$with_perl_home/bin/perl"
4636 if test -x "$_perl_path"; then
4639 AC_MSG_ERROR([$_perl_path not found])
4643 dnl ===================================================================
4644 dnl Testing for Perl version 5 or greater.
4645 dnl $] is the Perl version variable, it is returned as an integer
4646 dnl ===================================================================
4647 if test "$PERL"; then
4648 AC_MSG_CHECKING([the Perl version])
4649 ${PERL} -e "exit($]);"
4651 if test "$_perl_version" -lt 5; then
4652 AC_MSG_ERROR([found Perl version "$_perl_version", use version 5 of Perl])
4654 AC_MSG_RESULT([checked (perl $_perl_version)])
4656 AC_MSG_ERROR([Perl not found, install version 5 of Perl])
4659 dnl ===================================================================
4660 dnl Testing for required Perl modules
4661 dnl ===================================================================
4663 AC_MSG_CHECKING([for required Perl modules])
4664 if `$PERL -e 'use Archive::Zip; use Cwd; use Digest::MD5'`; then
4665 AC_MSG_RESULT([all modules found])
4667 AC_MSG_ERROR([Failed to find some modules])
4671 dnl ===================================================================
4672 dnl Check for pkg-config
4673 dnl ===================================================================
4674 if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then
4678 if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then
4680 # If you use CC=/path/to/compiler/foo-gcc or even CC="ccache
4681 # /path/to/compiler/foo-gcc" you need to set the AR etc env vars
4682 # explicitly. Or put /path/to/compiler in PATH yourself.
4684 AC_CHECK_TOOL(AR,ar)
4685 AC_CHECK_TOOL(NM,nm)
4686 AC_CHECK_TOOL(OBJDUMP,objdump)
4687 AC_CHECK_TOOL(RANLIB,ranlib)
4688 AC_CHECK_TOOL(STRIP,strip)
4689 if test "$_os" = "WINNT"; then
4690 AC_CHECK_TOOL(DLLTOOL,dlltool)
4691 AC_CHECK_TOOL(WINDRES,windres)
4698 AC_SUBST(PKG_CONFIG)
4703 dnl ===================================================================
4704 dnl pkg-config checks on Mac OS X
4705 dnl ===================================================================
4707 if test $_os = Darwin; then
4708 AC_MSG_CHECKING([for bogus pkg-config])
4709 if test -n "$PKG_CONFIG"; then
4710 if test "$PKG_CONFIG" = /usr/bin/pkg-config && ls -l /usr/bin/pkg-config | $GREP -q Mono.framework; then
4711 AC_MSG_ERROR([yes, from Mono. This *will* break the build. Please remove or hide $PKG_CONFIG])
4713 if test "$enable_bogus_pkg_config" = "yes"; then
4714 AC_MSG_RESULT([yes, user-approved from unknown origin.])
4716 AC_MSG_ERROR([yes, from unknown origin. This *will* break the build. Please remove or hide $PKG_CONFIG])
4720 AC_MSG_RESULT([no, good])
4726 # Return value: $csctest
4730 if test $VCVER -eq 90; then
4731 reg_get_value "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework Setup/NDP/v3.5/InstallPath"
4732 if test -n "$regvalue"; then
4736 reg_get_value HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/.NETFramework/InstallRoot
4737 if test -n "$regvalue"; then
4738 csctest=${regvalue}"v2.0.50727"
4742 reg_get_value "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework Setup/NDP/v4/Client/InstallPath"
4743 if test -n "$regvalue"; then
4752 # Return value: $altest
4756 for x in `ls /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft\ SDKs/Windows`; do
4757 reg_get_value "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/$x/WinSDK-NetFx40Tools/InstallationFolder"
4758 if test -n "$regvalue" -a \( -f "$regvalue/al.exe" -o -f "$regvalue/bin/al.exe" \); then
4767 # Return value: $frametest (that's a silly name...)
4771 for ver in 1.1 2.0; do
4772 reg_get_value HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/.NETFramework/sdkInstallRootv$ver
4773 if test -n "$regvalue"; then
4780 find_winsdk_version()
4782 # Args: $1 : SDK version as in "6.0A", "7.0" etc
4783 # Return value: $winsdktest
4787 # Why we look for them in this particular order I don't know. But OTOH I
4790 reg_get_value "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/v${1}/InstallationFolder"
4791 if test -n "$regvalue"; then
4792 winsdktest=$regvalue
4797 reg_get_value "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows Kits/Installed Roots/KitsRoot"
4798 if test -n "$regvalue"; then
4799 winsdktest=$regvalue
4808 # Args: $1 (optional) : list of acceptable SDK versions
4809 # Return value: $winsdktest
4813 if test -n "$1"; then
4816 sdkversions="$WINDOWS_SDK_ACCEPTABLE_VERSIONS"
4819 for ver in $sdkversions; do
4820 find_winsdk_version $ver
4821 if test -n "$winsdktest"; then
4829 for ver in 9.0 10.0 11.0; do
4830 reg_get_value HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver/Setup/VS/MSMDir
4831 if test -n "$regvalue"; then
4832 if test -e "$regvalue/Microsoft_VC${VCVER}_CRT_x86.msm"; then
4838 if test -z "$msmdir"; then
4839 AC_MSG_NOTICE([no registry entry for Merge Module directory - trying "$COMMONPROGRAMFILES\Merge Modules"])
4840 msmdir="$COMMONPROGRAMFILES\Merge Modules"
4842 msmdir=`cygpath -d "$msmdir"`
4843 msmdir=`cygpath -u "$msmdir"`
4844 if test -z "$msmdir"; then
4845 AC_MSG_ERROR([Merge modules not found])
4848 msms="Microsoft_VC${VCVER}_CRT_x86.msm"
4850 if test "$VCVER" = "90"; then
4851 if test -e $msmdir/policy_9_0_Microsoft_VC90_CRT_x86.msm; then
4852 msms="$msms policy_9_0_Microsoft_VC90_CRT_x86.msm"
4854 AC_MSG_ERROR([Merge module policy_9_0_Microsoft_VC90_CRT_x86.msm not found])
4858 if test "$BUILD_X64" = TRUE; then
4859 if test "$VCVER" = "90"; then
4860 if test -e $msmdir/policy_9_0_Microsoft_VC90_CRT_x86_x64.msm; then
4861 msms="$msms policy_9_0_Microsoft_VC90_CRT_x86_x64.msm"
4863 AC_MSG_ERROR([Merge module policy_9_0_Microsoft_VC90_CRT_x86_x64.msm not found])
4865 if test -e $msmdir/Microsoft_VC90_CRT_x86_x64.msm; then
4866 msms="$msms Microsoft_VC90_CRT_x86_x64.msm"
4868 AC_MSG_ERROR([Merge module Microsoft_VC90_CRT_x86_x64.msm not found])
4874 find_msvc_x64_dlls()
4876 if test "$VCVER" != "90"; then
4877 msvcdllpath="$VC_PRODUCT_DIR/redist/x64/Microsoft.VC${VCVER}.CRT"
4878 MSVC_DEBUG_DLL_PATH="$VC_PRODUCT_DIR/redist/Debug_NonRedist/$vsarch/Microsoft.VC${VCVER}.DebugCRT"
4879 msvcdlls="msvcp${VCVER}.dll msvcr${VCVER}.dll"
4880 MSVC_DEBUG_DLLS="msvcp${VCVER}d.dll msvcr${VCVER}d.dll"
4881 for dll in $msvcdlls; do
4882 if ! test -f "$msvcdllpath/$dll"; then
4883 AC_MSG_ERROR([can not find $dll in $msvcdllpath])
4886 if test -n "$MSVC_USE_DEBUG_RUNTIME"; then
4887 for dll in $MSVC_DEBUG_DLLS; do
4888 if ! test -f "$MSVC_DEBUG_DLL_PATH/$dll"; then
4889 AC_MSG_ERROR([can not find $dll in $MSVC_DEBUG_DLL_PATH])
4896 if test "$build_os" = "cygwin"; then
4898 AC_MSG_CHECKING([for midl.exe])
4901 if test -f "$winsdktest/Bin/midl.exe"; then
4902 MIDL_PATH="$winsdktest/Bin"
4903 elif test -f "$winsdktest/Bin/$WINDOWS_SDK_ARCH/midl.exe"; then
4904 MIDL_PATH="$winsdktest/Bin/$WINDOWS_SDK_ARCH"
4906 if test ! -f "$MIDL_PATH/midl.exe"; then
4907 AC_MSG_ERROR([midl.exe not found in $winsdktest/Bin/$WINDOWS_SDK_ARCH, Windows SDK installation broken?])
4909 AC_MSG_RESULT([$MIDL_PATH/midl.exe])
4912 # Convert to posix path with 8.3 filename restrictions ( No spaces )
4913 MIDL_PATH=`cygpath -d "$MIDL_PATH"`
4914 MIDL_PATH=`cygpath -u "$MIDL_PATH"`
4917 AC_MSG_CHECKING([for csc.exe])
4919 if test -f "$csctest/csc.exe"; then
4922 if test ! -f "$CSC_PATH/csc.exe"; then
4923 AC_MSG_ERROR([csc.exe not found as $CSC_PATH/csc.exe])
4925 AC_MSG_RESULT([$CSC_PATH/csc.exe])
4928 CSC_PATH=`cygpath -d "$CSC_PATH"`
4929 CSC_PATH=`cygpath -u "$CSC_PATH"`
4932 AC_MSG_CHECKING([for al.exe])
4934 if test -f "$winsdktest/Bin/al.exe"; then
4935 AL_PATH="$winsdktest/Bin"
4936 elif test -f "$winsdktest/Bin/$WINDOWS_SDK_ARCH/al.exe"; then
4937 AL_PATH="$winsdktest/Bin/$WINDOWS_SDK_ARCH"
4940 if test -z "$AL_PATH"; then
4942 if test -f "$altest/bin/al.exe"; then
4943 AL_PATH="$altest/bin"
4944 elif test -f "$altest/al.exe"; then
4948 if test ! -f "$AL_PATH/al.exe"; then
4949 AC_MSG_ERROR([al.exe not found as $AL_PATH/al.exe])
4951 AC_MSG_RESULT([$AL_PATH/al.exe])
4954 AL_PATH=`cygpath -d "$AL_PATH"`
4955 AL_PATH=`cygpath -u "$AL_PATH"`
4957 dnl Check mscoree.lib / .NET Framework dir
4958 AC_MSG_CHECKING(.NET Framework)
4960 if test -f "$frametest/lib/mscoree.lib"; then
4961 DOTNET_FRAMEWORK_HOME="$frametest"
4964 if test -f "$winsdktest/lib/mscoree.lib" -o -f "$winsdktest/lib/win8/um/$WINDOWS_SDK_ARCH/mscoree.lib"; then
4965 DOTNET_FRAMEWORK_HOME="$winsdktest"
4969 if test ! -f "$DOTNET_FRAMEWORK_HOME/lib/mscoree.lib" -a ! -f "$DOTNET_FRAMEWORK_HOME/lib/win8/um/$WINDOWS_SDK_ARCH/mscoree.lib"; then
4970 AC_MSG_ERROR([mscoree.lib (.NET Framework) not found])
4972 AC_MSG_RESULT(found)
4974 PathFormat "$MIDL_PATH"
4975 MIDL_PATH="$formatted_path"
4977 PathFormat "$AL_PATH"
4978 AL_PATH="$formatted_path"
4980 PathFormat "$DOTNET_FRAMEWORK_HOME"
4981 DOTNET_FRAMEWORK_HOME="$formatted_path"
4983 PathFormat "$CSC_PATH"
4984 CSC_PATH="$formatted_path"
4987 dnl ===================================================================
4988 dnl Check if stdc headers are available excluding MSVC.
4989 dnl ===================================================================
4990 if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then
4994 dnl ===================================================================
4995 dnl Testing for C++ compiler and version...
4996 dnl ===================================================================
4998 if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then
4999 # AC_PROG_CXX sets CXXFLAGS to -g -O2 if not set, avoid that
5000 save_CXXFLAGS=$CXXFLAGS
5002 CXXFLAGS=$save_CXXFLAGS
5004 if test -n "$CC" -a -z "$CXX"; then
5009 dnl check if we are using a buggy version of g++ (currently 3.4.0, 3.4.1 and trunk)
5010 if test "$GXX" = "yes"; then
5011 AC_MSG_CHECKING([the GNU C++ compiler version])
5013 _gpp_version=`$CXX -dumpversion`
5014 _gpp_majmin=`echo $_gpp_version | $AWK -F. '{ print \$1*100+\$2 }'`
5016 AC_MSG_RESULT([checked (g++ $_gpp_version)])
5018 if test "$_gpp_majmin" = "304"; then
5019 AC_MSG_CHECKING([whether $CXX has the enum bug])
5020 AC_RUN_IFELSE([AC_LANG_SOURCE([[
5021 extern "C" void abort (void);
5022 extern "C" void exit (int status);
5024 enum E { E0, E1, E2, E3, E4, E5 };
5026 void test (enum E e)
5028 if (e == E2 || e == E3 || e == E1)
5039 ]])],[AC_MSG_ERROR([your version of the GNU C++ compile has a bug which prevents LibreOffice from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details.])],[AC_MSG_RESULT([no])],[])
5041 dnl see https://code.google.com/p/android/issues/detail?id=41770
5042 if test "$_gpp_majmin" -ge "407"; then
5046 AC_MSG_CHECKING([whether $CXX is broken with boost.thread])
5047 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
5048 #include <bits/c++config.h>]],[[
5049 #if !defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
5050 && !defined(_GLIBCXX__PTHREADS) \
5051 && !defined(_GLIBCXX_HAS_GTHREADS)
5054 ]])],[AC_MSG_RESULT([yes])
5055 glibcxx_threads=yes],[AC_MSG_RESULT([no])])
5057 if test $glibcxx_threads = yes; then
5058 BOOST_CXXFLAGS="-D_GLIBCXX_HAS_GTHREADS"
5062 AC_SUBST(BOOST_CXXFLAGS)
5065 # prefx CXX with ccache if needed
5067 if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then
5068 if test "$CCACHE" != ""; then
5069 AC_MSG_CHECKING([whether $CXX is already ccached])
5071 save_CXXFLAGS=$CXXFLAGS
5072 CXXFLAGS="$CXXFLAGS --ccache-skip -O2"
5073 dnl an empty program will do, we're checking the compiler flags
5074 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
5075 [use_ccache=yes], [use_ccache=no])
5076 if test $use_ccache = yes; then
5077 AC_MSG_RESULT([yes])
5082 CXXFLAGS=$save_CXXFLAGS
5087 dnl ===================================================================
5088 dnl Find pre-processors.(should do that _after_ messing with CC/CXX)
5089 dnl ===================================================================
5091 if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then
5094 dnl Check whether there's a C pre-processor.
5095 dnl ===================================================================
5096 dnl When using SunStudio compiler, there is a bug with the cc
5097 dnl preprocessor, so use CC preprocessor as the cc preprocessor
5098 dnl See Issuezilla #445.
5099 dnl ===================================================================
5100 if test "$_os" = "SunOS"; then
5108 dnl ===================================================================
5109 dnl Find integral type sizes and alignments
5110 dnl ===================================================================
5112 if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then
5114 AC_CHECK_SIZEOF(long)
5115 AC_CHECK_SIZEOF(short)
5116 AC_CHECK_SIZEOF(int)
5117 AC_CHECK_SIZEOF(long long)
5118 AC_CHECK_SIZEOF(double)
5119 AC_CHECK_SIZEOF(void*)
5121 SAL_TYPES_SIZEOFSHORT=$ac_cv_sizeof_short
5122 SAL_TYPES_SIZEOFINT=$ac_cv_sizeof_int
5123 SAL_TYPES_SIZEOFLONG=$ac_cv_sizeof_long
5124 SAL_TYPES_SIZEOFLONGLONG=$ac_cv_sizeof_long_long
5125 SAL_TYPES_SIZEOFPOINTER=$ac_cv_sizeof_voidp
5127 dnl Allow build without AC_CHECK_ALIGNOF, grrr
5128 m4_pattern_allow([AC_CHECK_ALIGNOF])
5129 m4_ifdef([AC_CHECK_ALIGNOF],
5131 AC_CHECK_ALIGNOF(short,[#include <stddef.h>])
5132 AC_CHECK_ALIGNOF(int,[#include <stddef.h>])
5133 AC_CHECK_ALIGNOF(long,[#include <stddef.h>])
5134 AC_CHECK_ALIGNOF(double,[#include <stddef.h>])
5137 case "$_os-$host_cpu" in
5139 test -z "$ac_cv_alignof_short" && ac_cv_alignof_short=2
5140 test -z "$ac_cv_alignof_int" && ac_cv_alignof_int=4
5141 test -z "$ac_cv_alignof_long" && ac_cv_alignof_long=4
5142 test -z "$ac_cv_alignof_double" && ac_cv_alignof_double=4
5145 test -z "$ac_cv_alignof_short" && ac_cv_alignof_short=2
5146 test -z "$ac_cv_alignof_int" && ac_cv_alignof_int=4
5147 test -z "$ac_cv_alignof_long" && ac_cv_alignof_long=8
5148 test -z "$ac_cv_alignof_double" && ac_cv_alignof_double=8
5151 if test -z "$ac_cv_alignof_short" -o \
5152 -z "$ac_cv_alignof_int" -o \
5153 -z "$ac_cv_alignof_long" -o \
5154 -z "$ac_cv_alignof_double"; then
5155 AC_MSG_ERROR([Your Autoconf doesn't have [AC_][CHECK_ALIGNOF]. You need to set the environment variables ac_cv_alignof_short, ac_cv_alignof_int, ac_cv_alignof_long and ac_cv_alignof_double.])
5161 SAL_TYPES_ALIGNMENT2=$ac_cv_alignof_short
5162 SAL_TYPES_ALIGNMENT4=$ac_cv_alignof_int
5163 if test $ac_cv_sizeof_long -eq 8; then
5164 SAL_TYPES_ALIGNMENT8=$ac_cv_alignof_long
5165 elif test $ac_cv_sizeof_double -eq 8; then
5166 SAL_TYPES_ALIGNMENT8=$ac_cv_alignof_double
5168 AC_MSG_ERROR([Cannot find alignment of 8 byte types.])
5172 WORDS_BIGENDIAN=$ac_cv_c_bigendian
5174 dnl Check for large file support
5176 if test -n "$ac_cv_sys_file_offset_bits" -a "$ac_cv_sys_file_offset_bits" != "no"; then
5177 LFS_CFLAGS="-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
5179 if test -n "$ac_cv_sys_large_files" -a "$ac_cv_sys_large_files" != "no"; then
5180 LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES"
5184 SAL_TYPES_SIZEOFSHORT=2
5185 SAL_TYPES_SIZEOFINT=4
5186 SAL_TYPES_SIZEOFLONG=4
5187 SAL_TYPES_SIZEOFLONGLONG=8
5188 if test "$BITNESS_OVERRIDE" = ""; then
5189 SAL_TYPES_SIZEOFPOINTER=4
5191 SAL_TYPES_SIZEOFPOINTER=8
5193 SAL_TYPES_ALIGNMENT2=2
5194 SAL_TYPES_ALIGNMENT4=4
5195 SAL_TYPES_ALIGNMENT8=8
5199 AC_SUBST(WORDS_BIGENDIAN)
5200 AC_SUBST(LFS_CFLAGS)
5202 AC_DEFINE_UNQUOTED(SAL_TYPES_SIZEOFSHORT,$SAL_TYPES_SIZEOFSHORT)
5203 AC_DEFINE_UNQUOTED(SAL_TYPES_SIZEOFINT,$SAL_TYPES_SIZEOFINT)
5204 AC_DEFINE_UNQUOTED(SAL_TYPES_SIZEOFLONG,$SAL_TYPES_SIZEOFLONG)
5205 AC_DEFINE_UNQUOTED(SAL_TYPES_SIZEOFLONGLONG,$SAL_TYPES_SIZEOFLONGLONG)
5206 AC_DEFINE_UNQUOTED(SAL_TYPES_SIZEOFPOINTER,$SAL_TYPES_SIZEOFPOINTER)
5207 AC_DEFINE_UNQUOTED(SAL_TYPES_ALIGNMENT2,$SAL_TYPES_ALIGNMENT2)
5208 AC_DEFINE_UNQUOTED(SAL_TYPES_ALIGNMENT4,$SAL_TYPES_ALIGNMENT4)
5209 AC_DEFINE_UNQUOTED(SAL_TYPES_ALIGNMENT8,$SAL_TYPES_ALIGNMENT8)
5211 dnl ===================================================================
5212 dnl Check if valgrind headers are available
5213 dnl ===================================================================
5214 if test "$cross_compiling" = yes; then
5215 ENABLE_VALGRIND=FALSE
5217 prev_cppflags=$CPPFLAGS
5218 CPPFLAGS="$CPPFLAGS $VALGRIND_CFLAGS"
5219 AC_CHECK_HEADER([valgrind/valgrind.h],
5220 [ENABLE_VALGRIND=TRUE],[ENABLE_VALGRIND=FALSE])
5221 CPPFLAGS=$prev_cppflags
5223 AC_SUBST([ENABLE_VALGRIND])
5224 if test "$ENABLE_VALGRIND" = FALSE; then
5227 AC_SUBST([VALGRIND_CFLAGS])
5229 dnl ===================================================================
5230 dnl Compiler plugins
5231 dnl ===================================================================
5234 # currently only Clang
5235 if test "$COM_GCC_IS_CLANG" = "TRUE"; then
5236 if test -n "$enable_compiler_plugins"; then
5237 compiler_plugins="$enable_compiler_plugins"
5238 elif test -n "$ENABLE_DBGUTIL"; then
5239 compiler_plugins=test
5243 if test "$compiler_plugins" != "no"; then
5244 dnl The prefix where Clang resides, override to where Clang resides if
5245 dnl using a source build:
5246 if test -z "$CLANGDIR"; then
5249 dnl The build directory (different from CLANGDIR if using a Clang out-
5250 dnl of-source build):
5251 if test -z "$CLANGBUILD"; then
5255 save_CPPFLAGS=$CPPFLAGS
5256 CPPFLAGS="$CPPFLAGS -I$CLANGDIR/include -I$CLANGDIR/tools/clang/include -I$CLANGBUILD/include -I$CLANGBUILD/tools/clang/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
5257 AC_CHECK_HEADER(clang/AST/RecursiveASTVisitor.h,
5258 [COMPILER_PLUGINS=TRUE],
5260 if test "$compiler_plugins" = "yes"; then
5261 AC_MSG_ERROR([Cannot find Clang headers to build compiler plugins.])
5263 AC_MSG_WARN([Cannot find Clang headers to build compiler plugins, plugins disabled])
5264 add_warning "Cannot find Clang headers to build compiler plugins, plugins disabled."
5267 CPPFLAGS=$save_CPPFLAGS
5271 if test "$enable_compiler_plugins" = "yes"; then
5272 AC_MSG_ERROR([Compiler plugins are currently supported only with the Clang compiler.])
5275 AC_SUBST(COMPILER_PLUGINS)
5277 AC_SUBST(CLANGBUILD)
5279 dnl ===================================================================
5280 dnl Set the MinGW sys-root
5281 dnl ===================================================================
5282 if test "$WITH_MINGW" = "yes"; then
5283 AC_MSG_CHECKING([for MinGW sysroot])
5284 sysroot=`$CC -print-sysroot`
5285 AS_IF([test -d "$sysroot"/mingw],
5286 [MINGW_SYSROOT="$sysroot"/mingw
5287 AC_MSG_RESULT([$MINGW_SYSROOT])],
5288 [AC_MSG_RESULT([not found])
5289 AC_MSG_ERROR([cannot determine MinGW sysroot])])
5291 AC_SUBST([MINGW_DLLS])
5292 AC_SUBST([MINGW_SYSROOT])
5294 dnl ===================================================================
5295 dnl Set the MinGW include directories
5296 dnl ===================================================================
5297 if test "$WITH_MINGW" = "yes"; then
5298 AC_MSG_CHECKING([for MinGW include path])
5299 cat >conftest.$ac_ext <<_ACEOF
5301 #include <bits/c++config.h>
5303 _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`
5305 if test -z "$_mingw_lib_include_path"; then
5306 _mingw_lib_include_path="NO_LIB_INCLUDE"
5307 AC_MSG_RESULT([no MinGW include path])
5309 AC_MSG_RESULT([$_mingw_lib_include_path])
5311 MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path"
5312 AC_SUBST(MINGW_LIB_INCLUDE_PATH)
5316 AC_MSG_CHECKING([for dynamic libgcc])
5317 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
5319 using namespace std;
5320 ]], [[ try { throw 42; } catch (int e) { cout << "Yep, " << e << endl; } ]])],[
5321 MINGW_GCCDLL=`$OBJDUMP -p conftest.exe | grep 'DLL Name: libgcc' | $SED -e 's@.*DLL Name: @@'`
5322 if test -n "$MINGW_GCCDLL"; then
5323 MINGW_SHARED_GCCLIB=YES
5324 AC_MSG_RESULT([ $MINGW_GCCDLL])
5326 MINGW_SHARED_GCCLIB=NO
5329 ],[ AC_MSG_RESULT([no])
5333 AC_MSG_CHECKING([for dynamic libstdc++])
5334 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
5336 using namespace std;
5337 ]], [[ cout << "Hello there." << endl; ]])],[
5338 MINGW_GXXDLL=`$OBJDUMP -p conftest.exe | grep 'DLL Name: libstdc++' | $SED -e 's@.*DLL Name: @@'`
5339 if test -n "$MINGW_GXXDLL"; then
5340 mingw_gxxdll_root=${MINGW_GXXDLL%.dll}
5341 mingw_gxxdll_root=${mingw_gxxdll_root#lib}
5342 if test "$CROSS_COMPILING" = "YES"; then
5344 mingw_gxxdll_root=${mingw_gxxdll_root%-[[0-9]]}
5346 MINGW_SHARED_LIBSTDCPP=-l$mingw_gxxdll_root
5347 MINGW_SHARED_GXXLIB=YES
5348 AC_MSG_RESULT([$MINGW_GXXDLL])
5350 MINGW_SHARED_GXXLIB=NO
5353 ],[ AC_MSG_RESULT([no])
5359 AC_SUBST(MINGW_SHARED_GCCLIB)
5360 AC_SUBST(MINGW_SHARED_GXXLIB)
5361 AC_SUBST(MINGW_SHARED_LIBSTDCPP)
5362 AC_SUBST(MINGW_GCCDLL)
5363 AC_SUBST(MINGW_GXXDLL)
5366 if test "$WITH_MINGW" = "yes"; then
5367 AC_MSG_CHECKING([for fMergeNeutralItems in SCRIPT_CONTROL])
5368 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
5374 c.fMergeNeutralItems = 1;
5378 AC_DEFINE(HAVE_FMERGENEUTRALITEMS)
5380 [AC_MSG_RESULT(no)])
5383 dnl ===================================================================
5384 dnl Extra checking for the SunOS compiler
5385 dnl ===================================================================
5386 if test "$_os" = "SunOS"; then
5387 dnl SunStudio C++ compiler packaged with SunStudio C compiler
5388 if test "$CC" = "cc"; then
5389 AC_MSG_CHECKING([SunStudio C++ Compiler])
5390 if test "$CXX" != "CC"; then
5391 AC_MSG_WARN([SunStudio C++ was not found])
5392 add_warning "SunStudio C++ was not found"
5394 AC_MSG_RESULT([checked])
5399 dnl *************************************************************
5400 dnl Testing for exception handling - dwarf2 or sjlj exceptions...
5401 dnl *************************************************************
5402 if test "$WITH_MINGW" = "yes"; then
5403 AC_MSG_CHECKING([exception type])
5405 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iostream>
5407 extern "C" void _Unwind_SjLj_RaiseException(void) __attribute__ ((__noreturn__));
5409 ]], [[_Unwind_SjLj_RaiseException() ]])],[exceptions_type="sjlj"],[exceptions_type="dwarf2"
5411 AC_MSG_RESULT($exceptions_type)
5415 EXCEPTIONS="$exceptions_type"
5416 AC_SUBST(EXCEPTIONS)
5418 dnl ===================================================================
5419 dnl thread-safe statics
5420 dnl ===================================================================
5421 AC_MSG_CHECKING([whether $CXX supports thread safe statics])
5422 unset HAVE_THREADSAFE_STATICS
5423 if test "$GCC" = "yes"; then
5424 dnl -fthreadsafe-statics is available since GCC 4, so always available for
5425 dnl us. However, some C++ runtimes use a single lock for all static
5426 dnl variables, which can cause deadlock in multi-threaded applications.
5427 dnl This is not easily tested here; for POSIX-based systems, if executing
5428 dnl the following C++ program does not terminate then the tool chain
5429 dnl apparently has this problem:
5431 dnl #include <pthread.h>
5432 dnl int h() { return 0; }
5433 dnl void * g(void * unused) {
5434 dnl static int n = h();
5439 dnl pthread_create(&t, 0, g, 0);
5440 dnl pthread_join(t, 0);
5444 dnl static int n = f();
5448 dnl Mac OS X up to at least 10.7.1 is known to have this problem, as is at
5449 dnl least one instance of GCC 4.2.4 (used on a "Linux ooobuild1.osuosl.org
5450 dnl 2.6.9-101.plus.c4smp #1 SMP Thu Jul 21 19:08:15 EDT 2011 i686 i686 i386
5451 dnl GNU/Linux" machine); see the definition of __cxa_guard_acquire in GCC's
5452 dnl libstdc++-v3/libsupc++/guard.cc for what #ifdefs actually make a
5453 dnl difference there. Conservative advice from Jakub Jelinek is to assume
5454 dnl it working in GCC >= 4.3:
5455 if test "$_os" = "Darwin" -o $_os = Android -o "${GCCVER?}" -lt 040300; then
5456 AC_MSG_RESULT([broken (i.e., no)])
5458 HAVE_THREADSAFE_STATICS=TRUE
5459 AC_DEFINE(HAVE_THREADSAFE_STATICS)
5460 AC_MSG_RESULT([yes])
5463 AC_MSG_RESULT([unknown (assuming no)])
5465 AC_SUBST(HAVE_THREADSAFE_STATICS)
5467 dnl ===================================================================
5468 dnl visibility and C++11 features
5469 dnl ===================================================================
5471 if test "$GCC" = "yes"; then
5472 AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
5474 CFLAGS="$CFLAGS -Werror -fvisibility=hidden"
5475 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_VISIBILITY_FEATURE=TRUE ],[])
5478 if test "$COM_GCC_IS_CLANG" = TRUE -a $_os = Darwin; then
5479 # It seems that with Apple's Clang, visibility doesn't work as
5480 # we would want at least in the connectivity and dbaccess
5481 # modules. This might be because of something peculiar in
5482 # those modules? Whatever.
5483 HAVE_GCC_VISIBILITY_FEATURE=
5486 if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
5487 AC_MSG_RESULT([yes])
5492 AC_MSG_CHECKING([whether $CC supports -Wno-long-double])
5494 CFLAGS="$CFLAGS -Werror -Wno-long-double"
5495 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_NO_LONG_DOUBLE=TRUE ],[])
5497 if test "$HAVE_GCC_NO_LONG_DOUBLE" = "TRUE"; then
5498 AC_MSG_RESULT([yes])
5503 AC_MSG_CHECKING([whether $CC supports -mno-avx])
5505 CFLAGS="$CFLAGS -Werror -mno-avx"
5506 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_AVX=TRUE ],[])
5508 if test "$HAVE_GCC_AVX" = "TRUE"; then
5509 AC_MSG_RESULT([yes])
5514 AC_MSG_CHECKING([whether $CC supports atomic functions])
5515 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
5517 if (__sync_add_and_fetch(&v, 1) != 1 ||
5518 __sync_sub_and_fetch(&v, 1) != 0)
5520 __sync_synchronize();
5521 if (__sync_val_compare_and_swap(&v, 0, 1) != 0 ||
5525 ]])],[HAVE_GCC_BUILTIN_ATOMIC=TRUE],[])
5526 if test "$HAVE_GCC_BUILTIN_ATOMIC" = "TRUE"; then
5527 AC_MSG_RESULT([yes])
5528 AC_DEFINE(HAVE_GCC_BUILTIN_ATOMIC)
5534 [whether $CC supports pragma GCC diagnostic error/ignored/warning])
5536 CFLAGS="$CFLAGS -Werror -Wunknown-pragmas -Wunused-parameter"
5537 AC_COMPILE_IFELSE([AC_LANG_SOURCE([
5538 #pragma GCC diagnostic ignored "-Wunused-parameter"
5539 void dummy(int n) {}
5541 AC_DEFINE([HAVE_GCC_PRAGMA_DIAGNOSTIC_MODIFY],[1])
5542 AC_MSG_RESULT([yes])
5543 ], [AC_MSG_RESULT([no])])
5546 AC_MSG_CHECKING([whether $CC supports pragma GCC diagnostic push/pop])
5548 CFLAGS="$CFLAGS -Werror -Wunknown-pragmas -Wunused-parameter"
5549 AC_COMPILE_IFELSE([AC_LANG_SOURCE([
5550 #pragma GCC diagnostic push
5551 #pragma GCC diagnostic ignored "-Wunused-parameter"
5552 void dummy(int n) {}
5553 #pragma GCC diagnostic pop
5555 AC_DEFINE([HAVE_GCC_PRAGMA_DIAGNOSTIC_SCOPE],[1])
5556 AC_MSG_RESULT([yes])
5557 ], [AC_MSG_RESULT([no])])
5560 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5561 #if __GNUC__ == 4 && __GNUC_MINOR__ == 7 && (__GNUC_PATCHLEVEL__ == 0 || __GNUC_PATCHLEVEL__ == 1)
5565 ]])],[HAVE_BROKEN_ABI=TRUE],[HAVE_BROKEN_ABI=FALSE])
5567 AC_MSG_CHECKING([whether $CXX supports C++11 without Language Defect 757])
5568 # This should check libstdc++ version, not gcc, but clang has incidentally C++11 support
5569 # disabled in this case by the __float128 case below.
5570 if test "$HAVE_BROKEN_ABI" = "TRUE"; then
5571 AC_MSG_NOTICE([Not using -std=gnu++0x on $CXX version 4.7.0/4.7.1 due to libstdc++ ABI breakage.])
5573 save_CXXFLAGS=$CXXFLAGS
5574 CXXFLAGS="$CXXFLAGS -std=gnu++0x"
5577 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5581 // some Clang fail when compiling against GCC 4.7 headers with -std=gnu++0x
5584 template <typename T, size_t S> char (&sal_n_array_size( T(&)[S] ))[S];
5600 a thinga[]={{0,0}, {1,1}};
5601 b thingb[]={{0,0}, {1,1}};
5602 size_t i = sizeof(sal_n_array_size(thinga));
5603 size_t j = sizeof(sal_n_array_size(thingb));
5604 return !(i != 0 && j != 0);
5605 ]])],[HAVE_CXX0X=TRUE CXXFLAGS_CXX11=-std=gnu++0x],[])
5608 CXXFLAGS=$save_CXXFLAGS
5610 if test "$HAVE_CXX0X" = "TRUE"; then
5611 AC_MSG_RESULT([yes ($CXXFLAGS_CXX11)])
5617 AC_SUBST(CXXFLAGS_CXX11)
5618 AC_SUBST(HAVE_CXX0X)
5619 AC_SUBST(HAVE_GCC_NO_LONG_DOUBLE)
5620 AC_SUBST(HAVE_GCC_AVX)
5621 AC_SUBST(HAVE_GCC_BUILTIN_ATOMIC)
5623 dnl ==================================
5624 dnl Check for C++11 "= delete" support
5625 dnl ==================================
5627 AC_MSG_CHECKING([whether $CXX supports C++11 = delete syntax])
5628 if test "$HAVE_CXX0X" = "TRUE"; then
5629 save_CXXFLAGS=$CXXFLAGS
5630 CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11"
5632 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5635 void test() = delete;
5637 ]])],[HAVE_CXX11_DELETE=TRUE],[])
5640 CXXFLAGS=$save_CXXFLAGS
5641 if test "$HAVE_CXX11_DELETE" = "TRUE"; then
5642 AC_MSG_RESULT([yes])
5643 AC_DEFINE([HAVE_CXX11_DELETE])
5651 dnl ==================================
5652 dnl Check for C++11 "override" support
5653 dnl ==================================
5655 AC_MSG_CHECKING([whether $CXX supports C++11 "override" syntax])
5656 if test "$HAVE_CXX0X" = "TRUE"; then
5657 save_CXXFLAGS=$CXXFLAGS
5658 CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11"
5660 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5663 virtual void test();
5668 virtual void test() override;
5670 ]])],[HAVE_CXX11_OVERRIDE=TRUE],[])
5673 CXXFLAGS=$save_CXXFLAGS
5674 if test "$HAVE_CXX11_OVERRIDE" = "TRUE"; then
5675 AC_MSG_RESULT([yes])
5676 AC_DEFINE([HAVE_CXX11_OVERRIDE])
5684 dnl ==================================
5685 dnl Check for C++11 "final" support
5686 dnl ==================================
5688 AC_MSG_CHECKING([whether $CXX supports C++11 "final" syntax])
5689 if test "$HAVE_CXX0X" = "TRUE"; then
5690 save_CXXFLAGS=$CXXFLAGS
5691 CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11"
5693 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5694 // First check that this correct program that uses "final" compiles
5701 virtual void test();
5708 ]])],[have_final=yes],[])
5710 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5711 // Then check that the "final" works as expected,
5712 // that this program fails to compile
5720 ]])],[],[final_class_works=yes])
5722 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5723 // Also this should fail to compile
5726 virtual void test();
5738 ]])],[],[final_method_works=yes])
5741 CXXFLAGS=$save_CXXFLAGS
5743 if test "$have_final" = yes -a "$final_class_works" = yes -a "$final_method_works" = yes; then
5744 AC_MSG_RESULT([yes])
5745 AC_DEFINE([HAVE_CXX11_FINAL])
5753 dnl ===================================================================
5754 dnl Check for C++11 perfect forwarding support
5755 dnl ===================================================================
5756 AC_MSG_CHECKING([whether $CXX supports C++11 perfect forwarding])
5757 save_CXXFLAGS=$CXXFLAGS
5758 CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11"
5760 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5762 template<typename T, typename... Args> T * f(Args &&... v) {
5763 return new T(std::forward<Args>(v)...);
5767 ]])], [perfect_forwarding=yes], [perfect_forwarding=no])
5769 CXXFLAGS=$save_CXXFLAGS
5770 AC_MSG_RESULT([$perfect_forwarding])
5771 if test "$perfect_forwarding" = yes; then
5772 AC_DEFINE([HAVE_CXX11_PERFECT_FORWARDING])
5775 dnl ===================================================================
5776 dnl system stl sanity tests
5777 dnl ===================================================================
5778 HAVE_GCC_VISIBILITY_BROKEN=
5779 if test \( "$_os" != "WINNT" -o "$WITH_MINGW" = "yes" \); then
5783 save_CPPFLAGS="$CPPFLAGS"
5784 if test -n "$MACOSX_SDK_PATH"; then
5785 CPPFLAGS="-isysroot $MACOSX_SDK_PATH $CPPFLAGS"
5788 if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
5789 dnl gcc#19664, gcc#22482, rhbz#162935
5790 AC_MSG_CHECKING([if STL headers are visibility safe (GCC bug 22482)])
5791 AC_EGREP_HEADER(visibility push, string, stlvisok=yes, stlvisok=no)
5792 AC_MSG_RESULT([$stlvisok])
5793 if test "$stlvisok" = "no"; then
5794 AC_MSG_WARN([Your gcc STL headers are not visibility safe. Disabling visibility])
5795 add_warning "Your gcc STL headers are not visibility safe. Disabling visibility"
5796 unset HAVE_GCC_VISIBILITY_FEATURE
5800 if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
5801 sharedlink_ldflags_save=$LDFLAGS
5802 LDFLAGS="$LDFLAGS -fvisibility-inlines-hidden $PICSWITCH $LINKFLAGSSHL"
5804 AC_MSG_CHECKING([if gcc is -fvisibility-inlines-hidden safe with STL headers])
5805 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
5807 using namespace std;
5809 istringstream strm( "test" ); return 0;
5811 # Ugh, surely bad to assume an error message will contain
5812 # the word "unresolvable", a problem with
5813 # -fvisibility-inlines-hidden and STL headers might cause
5814 # some more obscure message on some platform, and anway,
5815 # the error message could be localised.
5816 [$EGREP -q unresolvable conftest.err;
5817 if test $? -eq 0; then gccvisok=no; else gccvisok=yes; fi],[gccvisok=no
5819 AC_MSG_RESULT([$gccvisok])
5820 if test "$gccvisok" = "no"; then
5821 AC_MSG_WARN([Your gcc is not -fvisibility-inlines-hidden safe, disabling that.])
5822 add_warning "Your gcc is not -fvisibility-inlines-hidden safe, disabling that."
5823 HAVE_GCC_VISIBILITY_BROKEN="TRUE"
5826 LDFLAGS=$sharedlink_ldflags_save
5829 # As the below test checks things when linking self-compiled dynamic libraries, it presumably is irrelevant
5830 # when we don't make any dynamic libraries?
5831 if test "$DISABLE_DYNLOADING" = "" -a "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE" -a "$HAVE_GCC_VISIBILITY_BROKEN" != "TRUE"; then
5832 AC_MSG_CHECKING([if gcc is -fvisibility-inlines-hidden safe (Clang bug 11250)])
5833 cat > conftestlib1.cc <<_ACEOF
5834 template<typename T> struct S1 { virtual ~S1() {} virtual void f() {} };
5835 struct S2: S1<int> { virtual ~S2(); };
5838 cat > conftestlib2.cc <<_ACEOF
5839 template<typename T> struct S1 { virtual ~S1() {} virtual void f() {} };
5840 struct S2: S1<int> { virtual ~S2(); };
5841 struct S3: S2 { virtual ~S3(); }; S3::~S3() {}
5843 gccvisinlineshiddenok=yes
5844 if ! $CXX $CXXFLAGS $CPPFLAGS $LINKFLAGSSHL -fPIC -fvisibility-inlines-hidden conftestlib1.cc -o libconftest1$DLLPOST >/dev/null 2>&5; then
5845 gccvisinlineshiddenok=no
5847 if ! $CXX $CXXFLAGS $CPPFLAGS $LINKFLAGSSHL -fPIC -fvisibility-inlines-hidden conftestlib2.cc -L. -lconftest1 $LINKFLAGSNOUNDEFS -o libconftest2$DLLPOST >/dev/null 2>&5; then
5848 gccvisinlineshiddenok=no
5853 AC_MSG_RESULT([$gccvisinlineshiddenok])
5854 if test "$gccvisinlineshiddenok" = "no"; then
5855 AC_MSG_WARN([Your gcc/clang is not -fvisibility-inlines-hidden safe, disabling that.])
5856 add_warning "Your gcc/clang is not -fvisibility-inlines-hidden safe, disabling that."
5857 HAVE_GCC_VISIBILITY_BROKEN="TRUE"
5861 if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then
5862 AC_MSG_CHECKING([if gcc has a visibility bug with class-level attributes (GCC bug 26905)])
5863 cat >visibility.cxx <<_ACEOF
5864 #pragma GCC visibility push(hidden)
5865 struct __attribute__ ((visibility ("default"))) TestStruct {
5868 __attribute__ ((visibility ("default"))) void TestFunc() {
5872 if ! $CXX $CXXFLAGS $CPPFLAGS -fpic -S visibility.cxx 2>/dev/null > /dev/null; then
5877 if test "$_os" = "Darwin" -o "$WITH_MINGW" = "yes"; then
5880 if $EGREP -q '@PLT|@GOT' visibility.s; then
5892 rm -f visibility.s visibility.cxx
5894 AC_MSG_RESULT([$gccvisbroken])
5895 if test "$gccvisbroken" = "yes"; then
5896 AC_MSG_WARN([Your gcc is not -fvisibility=hidden safe. Disabling visibility])
5897 add_warning "Your gcc is not -fvisibility=hidden safe. Disabling visibility"
5898 unset HAVE_GCC_VISIBILITY_FEATURE
5902 CPPFLAGS="$save_CPPFLAGS"
5907 AC_SUBST(HAVE_GCC_VISIBILITY_FEATURE)
5908 AC_SUBST(HAVE_GCC_VISIBILITY_BROKEN)
5910 dnl ===================================================================
5912 dnl ===================================================================
5914 HAVE_GCC_FNO_DEFAULT_INLINE=
5915 HAVE_GCC_FNO_ENFORCE_EH_SPECS=
5916 if test "$GCC" = "yes"; then
5917 AC_MSG_CHECKING([whether $CXX supports -fno-default-inline])
5918 if test -n "$CLANGVER" -a 0"$CLANGVER" -le 30100; then
5919 # Option just ignored and silly warning that isn't a real
5924 save_CXXFLAGS=$CXXFLAGS
5925 CXXFLAGS="$CFLAGS -Werror -fno-default-inline"
5926 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_FNO_DEFAULT_INLINE=TRUE ],[])
5927 CXXFLAGS=$save_CXXFLAGS
5930 if test "$HAVE_GCC_FNO_DEFAULT_INLINE" = "TRUE"; then
5931 AC_MSG_RESULT([yes])
5936 AC_MSG_CHECKING([whether $CXX supports -fno-enforce-eh-specs])
5937 if test -n "$CLANGVER" -a 0"$CLANGVER" -le 30100; then
5942 save_CXXFLAGS=$CXXFLAGS
5943 CXXFLAGS="$CFLAGS -Werror -fno-enforce-eh-specs"
5944 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_FNO_ENFORCE_EH_SPECS=TRUE ],[])
5945 CXXFLAGS=$save_CXXFLAGS
5948 if test "$HAVE_GCC_FNO_ENFORCE_EH_SPECS" = "TRUE"; then
5949 AC_MSG_RESULT([yes])
5954 AC_SUBST(HAVE_GCC_FNO_DEFAULT_INLINE)
5955 AC_SUBST(HAVE_GCC_FNO_ENFORCE_EH_SPECS)
5958 dnl ===================================================================
5960 dnl ===================================================================
5961 AC_MSG_CHECKING([which memory allocator to use])
5962 if test "$with_alloc" = "system"; then
5963 AC_MSG_RESULT([system])
5965 AC_CHECK_FUNCS([malloc realloc calloc free])
5967 if test "$with_alloc" = "tcmalloc"; then
5968 AC_MSG_RESULT(tcmalloc)
5969 if ! echo $host_cpu | $GREP -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
5970 AC_MSG_ERROR([tcmalloc only available/usable on ix86])
5972 AC_CHECK_LIB([tcmalloc], [malloc], [:],
5973 [AC_MSG_ERROR(tcmalloc not found or functional. Install the Google Profiling Tools)], [])
5976 if test "$with_alloc" = "jemalloc"; then
5977 if test "$_os" != "FreeBSD" -o "$_os" != "NetBSD"; then
5978 AC_MSG_RESULT(jemalloc)
5980 CFLAGS="$CFLAGS -pthread"
5981 AC_CHECK_LIB([jemalloc], [malloc], [:],
5982 [AC_MSG_ERROR(jemalloc not found or functional. Install the jemalloc allocator.)], [])
5986 AC_MSG_RESULT([system])
5988 AC_CHECK_FUNCS([malloc realloc calloc free])
5991 if test "$with_alloc" = "internal" -o -z "$with_alloc"; then
5992 AC_MSG_RESULT([internal])
5994 AC_CHECK_FUNCS(posix_fallocate, HAVE_POSIX_FALLOCATE=YES, [HAVE_POSIX_FALLOCATE=NO])
5995 AC_SUBST(HAVE_POSIX_FALLOCATE)
5998 dnl ===================================================================
5999 dnl Custom build version
6000 dnl ===================================================================
6002 AC_MSG_CHECKING([whether to add custom build version])
6003 if test "$with_build_version" != ""; then
6004 BUILD_VER_STRING=$with_build_version
6005 AC_MSG_RESULT([yes, $BUILD_VER_STRING])
6010 AC_SUBST(BUILD_VER_STRING)
6012 dnl ===================================================================
6013 dnl Java support enable
6014 dnl ===================================================================
6015 AC_MSG_CHECKING([whether to build with Java support])
6016 if test "$with_java" != "no"; then
6017 if test "$DISABLE_SCRIPTING" = TRUE; then
6018 AC_MSG_RESULT([no, overridden by --disable-scripting])
6022 AC_MSG_RESULT([yes])
6030 AC_SUBST(SOLAR_JAVA)
6032 dnl SOLAR_JAVA="YES" (yes, silly name, should rename) indicates whether we
6033 dnl want there to be *run-time* (and build-time) support for Java extensions in the
6034 dnl built LibreOffice.
6036 dnl SOLAR_JAVA="BUILD" is claimed to indicate build-time only support
6037 dnl (no runtime support). It doesn't seem to ever be set to this
6038 dnl value, though, and everywhere SOLAR_JAVA is only checked for being
6039 dnl empty or non-empty.
6041 dnl SOLAR_JAVA="" indicate no java support at all
6043 JITC_PROCESSOR_TYPE=""
6044 if test "$_os" = "Linux" -a "$host_cpu" = "powerpc"; then
6045 # IBMs JDK needs this...
6046 JITC_PROCESSOR_TYPE=6
6047 export JITC_PROCESSOR_TYPE
6049 AC_SUBST([JITC_PROCESSOR_TYPE])
6051 # Misc Windows Stuff
6052 if test $_os = "WINNT" -a "$WITH_MINGW" != yes; then
6055 MSVC_DLL_PATH="$msvcdllpath"
6056 MSVC_DLLS="$msvcdlls"
6058 MERGE_MODULES="$msms"
6059 SCPDEFS="$SCPDEFS -DWITH_VC${VCVER}_REDIST"
6061 AC_SUBST(MSVC_DLL_PATH)
6063 AC_SUBST(MSVC_DEBUG_DLL_PATH)
6064 AC_SUBST(MSVC_DEBUG_DLLS)
6066 AC_SUBST(MERGE_MODULES)
6068 dnl ===================================================================
6070 dnl ===================================================================
6071 if test "$SOLAR_JAVA" != ""; then
6073 # Windows-specific tests
6074 if test "$build_os" = "cygwin"; then
6075 if test "$BITNESS_OVERRIDE" = 64; then
6077 otherbitness="32-bit"
6080 otherbitness="64-bit"
6083 if test -z "$with_jdk_home"; then
6084 # Currently only auto-detects 32-bit JDK
6085 for ver in 1.7 1.6 1.5 1.4 1.3; do
6086 reg_get_value "HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Development Kit/$ver/JavaHome"
6087 if test -n "$regvalue"; then
6092 if test -f "$_jdk_home/lib/jvm.lib" -a -f "$_jdk_home/bin/java.exe"; then
6093 with_jdk_home="$_jdk_home"
6094 howfound="found automatically"
6096 AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option pointing to a $bitness JDK])
6099 test "$build_os" = "cygwin" && with_jdk_home=`cygpath -u "$with_jdk_home"`
6100 howfound="you passed"
6104 JAVA_HOME=; export JAVA_HOME
6105 if test -z "$with_jdk_home"; then
6106 AC_PATH_PROG(JAVAINTERPRETER, $with_java)
6108 _java_path="$with_jdk_home/bin/$with_java"
6109 dnl Check if there is a Java interpreter at all.
6110 if test -x "$_java_path"; then
6111 JAVAINTERPRETER=$_java_path
6113 AC_MSG_ERROR([$_java_path not found, pass --with-jdk-home])
6117 if test "$build_os" = "cygwin"; then
6118 # Check that the JDK found is correct architecture
6119 # Why is this necessary, we don't link with any library from the JDK I think,
6121 shortjdkhome=`cygpath -d "$with_jdk_home"`
6122 if test "$BITNESS_OVERRIDE" = 64 -a -f "$with_jdk_home/bin/java.exe" -a "`$shortjdkhome/bin/java.exe -version 2>&1 | $GREP -i 64-bit`" = "" >/dev/null; then
6123 AC_MSG_WARN([You are building 64-bit binaries but the JDK $howfound is 32-bit])
6124 AC_MSG_ERROR([You should pass the --with-jdk-home option pointing to a 64-bit JDK])
6125 elif test "$BITNESS_OVERRIDE" = "" -a -f "$_jdk_home/bin/java.exe" -a "`$shortjdkhome/bin/java.exe -version 2>&1 | $GREP -i 64-bit`" != "" >/dev/null; then
6126 AC_MSG_WARN([You are building 32-bit binaries but the JDK $howfound is 64-bit])
6127 AC_MSG_ERROR([You should pass the --with-jdk-home option pointing to a (32-bit) JDK])
6130 if test x`echo "$JAVAINTERPRETER" | $GREP -i '\.exe$'` = x; then
6131 JAVAINTERPRETER="${JAVAINTERPRETER}.exe"
6133 JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"`
6134 JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"`
6135 elif test "$_os" = "Darwin"; then
6136 dnl HACK: There currently is only a 32 bit version of LibreOffice for Mac OS X,
6137 dnl and Tiger Java complains about -d32 while Snow Leopard Java needs it
6138 dnl to run in 32 bit mode and be able to load LibreOffice jnilibs:
6139 AC_MSG_CHECKING([whether to pass -d32 to Java interpreter])
6140 if "$JAVAINTERPRETER" -d32 >&5 2>&5; then
6141 AC_MSG_RESULT([yes])
6149 dnl ===================================================================
6151 dnl ===================================================================
6153 # Note that JAVA_HOME as for now always means the *build* platform's
6154 # JAVA_HOME. Whether all the complexity here actually is needed any
6155 # more or not, no idea.
6157 if test "$SOLAR_JAVA" != ""; then
6159 AC_MSG_CHECKING([the installed JDK])
6160 if test -n "$JAVAINTERPRETER"; then
6161 dnl java -version sends output to stderr!
6162 if test `$JAVAINTERPRETER -version 2>&1 | $GREP -c "Kaffe"` -gt 0; then
6163 AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
6164 elif test `$JAVAINTERPRETER --version 2>&1 | $GREP -c "GNU libgcj"` -gt 0; then
6166 AC_MSG_RESULT([checked (gcj)])
6167 _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`
6168 _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'`
6170 elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "BEA"` -gt 0; then
6171 AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
6172 elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "IBM"` -gt 0; then
6175 dnl IBM JDK specific tests
6176 _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
6177 _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
6179 if test "$_jdk_ver" -lt 10500; then
6180 AC_MSG_ERROR([IBM JDK is too old, you need at least 1.5])
6183 AC_MSG_RESULT([checked (IBM JDK $_jdk)])
6185 if test "$with_jdk_home" = ""; then
6186 AC_MSG_ERROR([In order to successfully build LibreOffice using the IBM JDK,
6187 you must use the "--with-jdk-home" configure option explicitly])
6190 JAVA_HOME=$with_jdk_home
6195 dnl Sun JDK specific tests
6196 _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
6197 _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
6199 if test "$_jdk_ver" -lt 10500; then
6200 AC_MSG_ERROR([JDK is too old, you need at least 1.5])
6202 if test "$_jdk_ver" -gt 10600; then
6203 JAVA_CLASSPATH_NOT_SET="1"
6206 AC_MSG_RESULT([checked (JDK $_jdk)])
6207 JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
6208 if test "$_os" = "WINNT"; then
6209 JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
6213 AC_MSG_ERROR([Java not found. You need at least jdk-1.5, or gcj-4])
6217 JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME
6220 dnl ===================================================================
6221 dnl Set target Java bytecode version
6222 dnl ===================================================================
6223 if test "$SOLAR_JAVA" != ""; then
6224 _java_target_ver="1.5"
6226 JAVA_SOURCE_VER="$_java_target_ver"
6227 JAVA_TARGET_VER="$_java_target_ver"
6230 dnl ===================================================================
6231 dnl Checks for javac
6232 dnl ===================================================================
6233 if test "$SOLAR_JAVA" != ""; then
6234 if test "$JDK" = "gcj"; then
6235 javacompiler=`echo $with_java | $SED -e "s/gij/gcj/g" | $SED -e "s/java/javac/g"`
6237 javacompiler="javac"
6239 if test -z "$with_jdk_home"; then
6240 AC_PATH_PROG(JAVACOMPILER, $javacompiler)
6242 _javac_path="$with_jdk_home/bin/$javacompiler"
6243 dnl Check if there is a Java compiler at all.
6244 if test -x "$_javac_path"; then
6245 JAVACOMPILER=$_javac_path
6248 if test -z "$JAVACOMPILER"; then
6249 AC_MSG_ERROR([$javacompiler not found set with_jdk_home])
6251 if test "$build_os" = "cygwin"; then
6252 if test x`echo "$JAVACOMPILER" | $GREP -i '\.exe$'` = x; then
6253 JAVACOMPILER="${JAVACOMPILER}.exe"
6255 JAVACOMPILER=`cygpath -d "$JAVACOMPILER"`
6256 JAVACOMPILER=`cygpath -u "$JAVACOMPILER"`
6259 if test `$JAVACOMPILER -version 2>&1 | $GREP -c "Eclipse Java Compiler"` -gt 0; then
6260 AC_MSG_CHECKING([re-checking JDK])
6262 AC_MSG_RESULT([checked (ecj)])
6263 _gij_longver="40200"
6268 dnl ===================================================================
6269 dnl Checks that javac is gcj
6270 dnl ===================================================================
6271 if test "$SOLAR_JAVA" != ""; then
6272 if test `$JAVACOMPILER --version 2>&1 | $GREP -c "GCC"` -gt 0; then
6276 AC_SUBST(JAVACISGCJ)
6278 dnl ===================================================================
6279 dnl Checks for javadoc
6280 dnl ===================================================================
6281 if test "$SOLAR_JAVA" != ""; then
6282 if test -z "$with_jdk_home"; then
6283 AC_PATH_PROG(JAVADOC, javadoc)
6285 _javadoc_path="$with_jdk_home/bin/javadoc"
6286 dnl Check if there is a javadoc at all.
6287 if test -x "$_javadoc_path"; then
6288 JAVADOC=$_javadoc_path
6290 AC_PATH_PROG(JAVADOC, javadoc)
6293 if test -z "$JAVADOC"; then
6294 AC_MSG_ERROR([$_javadoc_path not found set with_jdk_home])
6296 if test "$build_os" = "cygwin"; then
6297 if test x`echo "$JAVADOC" | $GREP -i '\.exe$'` = x; then
6298 JAVADOC="${JAVADOC}.exe"
6300 JAVADOC=`cygpath -d "$JAVADOC"`
6301 JAVADOC=`cygpath -u "$JAVADOC"`
6304 if test `$JAVADOC --version 2>&1 | $GREP -c "gjdoc"` -gt 0; then
6305 JAVADOCISGJDOC="yes"
6308 AC_SUBST(JAVADOCISGJDOC)
6310 if test "$SOLAR_JAVA" != ""; then
6311 # check if JAVA_HOME was (maybe incorrectly?) set automatically to /usr
6312 if test "$JAVA_HOME" = "/usr" -a "x$with_jdk_home" = "x"; then
6313 if basename $(readlink $(readlink $JAVACOMPILER)) >/dev/null 2>/dev/null; then
6314 # try to recover first by looking whether we have a alternatives
6315 # system as in Debian or newer SuSEs where following /usr/bin/javac
6316 # over /etc/alternatives/javac leads to the right bindir where we
6317 # just need to strip a bit away to get a valid JAVA_HOME
6318 JAVA_HOME=$(readlink $(readlink $JAVACOMPILER))
6319 elif readlink $JAVACOMPILER >/dev/null 2>/dev/null; then
6320 # maybe only one level of symlink (e.g. on Mac)
6321 JAVA_HOME=$(readlink $JAVACOMPILER)
6322 if test "$(dirname $JAVA_HOME)" = "."; then
6323 # we've got no path to trim back
6328 AC_MSG_WARN([JAVA_HOME is set to /usr - this is very likely to be incorrect])
6329 AC_MSG_WARN([if this is the case, please inform the correct JAVA_HOME with --with-jdk-home])
6330 add_warning "JAVA_HOME is set to /usr - this is very likely to be incorrect"
6331 add_warning "if this is the case, please inform the correct JAVA_HOME with --with-jdk-home"
6333 dnl now that we have the path to the real javac, make a JAVA_HOME out of it..
6334 if test "$JAVA_HOME" != "/usr"; then
6335 if test "$_os" = "Darwin" -o "$OS_FOR_BUILD" = MACOSX; then
6336 dnl Leopard returns a non-suitable path with readlink - points to "Current" only
6337 JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/Current/Commands/javac$,/CurrentJDK/Home,)
6338 dnl Tiger already returns a JDK path..
6339 JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/CurrentJDK/Commands/javac$,/CurrentJDK/Home,)
6341 JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/bin/javac$,,)
6345 # as we drop out of this, JAVA_HOME may have been set to the empty string by readlink
6347 dnl now if JAVA_HOME has been set to empty, then call findhome to find it
6348 if test -z "$JAVA_HOME"; then
6349 if test "x$with_jdk_home" = "x"; then
6350 cat > findhome.java <<_ACEOF
6351 [import java.io.File;
6355 public static void main(String args[])
6357 String jrelocation = System.getProperty("java.home");
6358 File jre = new File(jrelocation);
6359 System.out.println(jre.getParent());
6363 AC_MSG_CHECKING([if javac works])
6364 javac_cmd="$JAVACOMPILER findhome.java 1>&2"
6365 AC_TRY_EVAL(javac_cmd)
6366 if test $? = 0 -a -f ./findhome.class; then
6367 AC_MSG_RESULT([javac works])
6369 echo "configure: javac test failed" >&5
6370 cat findhome.java >&5
6371 AC_MSG_ERROR([javac does not work - java projects will not build!])
6373 AC_MSG_CHECKING([if gij knows its java.home])
6374 JAVA_HOME=`$JAVAINTERPRETER findhome`
6375 if test $? = 0 -a "$JAVA_HOME" != ""; then
6376 AC_MSG_RESULT([$JAVA_HOME])
6378 echo "configure: java test failed" >&5
6379 cat findhome.java >&5
6380 AC_MSG_ERROR([gij does not know its java.home - use --with-jdk-home])
6382 # clean-up after ourselves
6383 rm -f ./findhome.java ./findhome.class
6385 JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*$with_java,,p"`
6389 dnl second sanity check JAVA_HOME if possible
6390 if test "$JDK" != "gcj" -o "$_gij_longver" -ge "40200"; then
6391 # now check if $JAVA_HOME is really valid
6392 if test "$_os" = "Darwin" -o "$OS_FOR_BUILD" = MACOSX; then
6393 if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then
6396 elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then
6399 if test "$JAVA_HOME_OK" = "NO"; then
6400 AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script])
6401 AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed])
6402 AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly])
6403 add_warning "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script"
6404 add_warning "attempted to find JAVA_HOME automatically, but apparently it failed"
6405 add_warning "in case JAVA_HOME is incorrectly set, some projects with not be built correctly"
6408 PathFormat "$JAVA_HOME"
6409 JAVA_HOME="$formatted_path"
6414 if test "$SOLAR_JAVA" != ""; then
6415 AC_MSG_CHECKING([for jawt lib name])
6416 if test "$JDK" = "gcj"; then
6418 save_LDFLAGS=$LDFLAGS
6419 CFLAGS="$CFLAGS -I$JAVA_HOME/include"
6420 LDFLAGS="$LDFLAGS -L$JAVA_HOME/lib -lgcj"
6421 exec 6>/dev/null # no output
6422 AC_CHECK_HEADER(jni.h, [],
6423 [AC_MSG_ERROR([jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?])], [])
6424 AC_CHECK_LIB(gcjawt, JAWT_GetAWT, [ AWTLIB="-lgcjawt -lgcj"] )
6425 exec 6>&1 # output on again
6427 LDFLAGS=$save_LDFLAGS
6429 # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols.
6430 # A workaround is to link also against libpmawt.so
6431 if test "$JDK" = "ibm"; then
6433 save_LDFLAGS=$LDFLAGS
6434 save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
6435 CFLAGS="$CFLAGS -I$JAVA_HOME/include"
6436 LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin"
6437 LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH
6438 export LD_LIBRARY_PATH
6439 exec 6>/dev/null # no output
6440 AC_CHECK_HEADER(jni.h, [],
6441 [AC_MSG_ERROR([jni.h could not be found.])], [])
6442 AC_CHECK_LIB(jawt, JAWT_GetAWT, [ AWTLIB="-ljawt"] )
6443 if test -z "$AWTLIB"; then
6444 LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt"
6445 AC_CHECK_LIB(mawt, JAWT_GetAWT, [ AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt"])
6447 exec 6>&1 # output on again
6449 LDFLAGS=$save_LDFLAGS
6450 LD_LIBRARY_PATH=$save_LD_LIBRARY_PATH
6452 if test -z "$AWTLIB"; then
6453 if test $_os = WINNT -a "$WITH_MINGW" != yes; then
6459 AC_MSG_RESULT([$AWTLIB])
6464 if test -n "$SOLAR_JAVA" -a \( -z "$JAVALIB" -o -z "$JAVAINC" \); then
6467 # If your platform follow the common pattern
6468 # just define JAVA_ARCH and JAVA_TOOLKIT for it
6469 # if not, leave JAVA_ARCH empty and define JAVALIB manually
6470 # if you don't want JAVALIB to be exported at all
6471 # define x_JAVALIB=[\#]
6482 JAVA_TOOLKIT="classic"
6483 JAVAINC="-I$JAVA_HOME/include"
6484 JAVAINC="$JAVAINC -I$JAVA_HOME/include/aix"
6485 test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
6490 JRE_BASE_DIR="$JAVA_HOME/jre/bin"
6491 JAVALIB="-L$JRE_BASE_DIR -L$JRE_BASE_DIR/classic"
6501 JDKLIB="$JAVA_HOME/lib"
6502 JAVAINC="-I$JAVA_HOME/include/win32"
6503 JAVAINC="$JAVAINC -I$JAVA_HOME/include"
6508 JAVAINC="${ISYSTEM}$FRAMEWORKSHOME/JavaVM.framework/Versions/Current/Headers ${ISYSTEM}$FRAMEWORKSHOME/JavaVM/Headers"
6515 JAVA_TOOLKIT="client"
6519 JAVA_TOOLKIT="server"
6522 JAVAINC="-I$JAVA_HOME/include"
6523 test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
6530 JAVA_TOOLKIT="client"
6533 if test "`echo $JAVA_HOME | sed -e 's,.*/,,'`" = "linux"; then
6535 JAVA_TOOLKIT="client"
6538 JAVA_TOOLKIT="server"
6542 JAVAINC="-I$JAVA_HOME/include"
6543 JAVAINC="$JAVAINC -I$JAVA_HOME/include/freebsd"
6544 JAVAINC="$JAVAINC -I$JAVA_HOME/include/bsd"
6545 JAVAINC="$JAVAINC -I$JAVA_HOME/include/linux"
6546 test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
6553 JAVA_TOOLKIT="client"
6557 JAVA_TOOLKIT="server"
6560 JAVAINC="-I$JAVA_HOME/include"
6561 test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
6570 JAVA_TOOLKIT="server"
6574 JAVA_TOOLKIT="server"
6578 JAVA_TOOLKIT="server"
6585 JRE_BASE_DIR="$JAVA_HOME/jre/bin"
6586 JAVALIB="-L$JAVA_HOME/$LIB64 -L$JRE_BASE_DIR -L$JRE_BASE_DIR/classic -L$JRE_BASE_DIR/native_thread"
6589 JAVA_TOOLKIT="jrockit"
6592 JAVA_TOOLKIT="client"
6598 JAVA_TOOLKIT="server"
6602 JAVA_TOOLKIT="server"
6604 mips|mips64|mipsel|mips64el)
6605 JAVA_ARCH="$host_cpu"
6606 JAVA_TOOLKIT="server"
6609 JAVA_ARCH="$host_cpu"
6610 JAVA_TOOLKIT="client"
6616 JAVA_TOOLKIT="classic"
6619 JAVA_TOOLKIT="client"
6622 JAVA_TOOLKIT="server"
6628 if test "$JDK" = "gcj"; then
6629 JAVA_TOOLKIT="client"
6631 JAVA_TOOLKIT="server"
6636 JAVA_TOOLKIT="server"
6640 JAVA_TOOLKIT="server"
6644 JAVA_TOOLKIT="server"
6648 JAVA_TOOLKIT="server"
6651 AC_MSG_ERROR([No JAVALIB definition host_cpu $host_cpu for host_os $host_os])
6654 JAVAINC="-I$JAVA_HOME/include"
6655 JAVAINC="$JAVAINC -I$JAVA_HOME/include/linux"
6656 test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
6665 JAVA_TOOLKIT="server"
6672 JAVAINC="-I$JAVA_HOME/include"
6680 JAVA_TOOLKIT="client"
6684 JAVA_TOOLKIT="classic"
6688 JAVA_TOOLKIT="client"
6692 JAVA_TOOLKIT="client"
6695 JAVAINC="-I$JAVA_HOME/include"
6696 JAVAINC="$JAVAINC -I$JAVA_HOME/include/netbsd"
6697 test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
6704 JAVA_TOOLKIT="client"
6708 JAVA_TOOLKIT="server"
6711 JAVAINC="-I$JAVA_HOME/include"
6712 JAVAINC="$JAVAINC -I$JAVA_HOME/include/openbsd"
6713 test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
6727 JAVAINC="-I$JAVA_HOME/include"
6728 JAVAINC="$JAVAINC -I$JAVA_HOME/include/solaris"
6729 test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread"
6733 if test -n "$JAVA_ARCH"; then
6734 JRE_BASE_DIR="$JAVA_HOME/jre/lib/$JAVA_ARCH"
6735 JAVALIB="-L$JAVA_HOME/$LIB64"
6736 test -d "$JRE_BASE_DIR" && JAVALIB="$JAVALIB -L$JRE_BASE_DIR"
6737 test -d "$JRE_BASE_DIR/$JAVA_TOOLKIT" && JAVALIB="$JAVALIB -L$JRE_BASE_DIR/$JAVA_TOOLKIT"
6738 test -d "$JRE_BASE_DIR/native_thread" && JAVALIB="$JAVALIB -L$JRE_BASE_DIR/native_thread"
6740 elif test -z "$SOLAR_JAVA"; then
6744 SOLARINC="$SOLARINC $JAVAINC"
6747 AC_SUBST(JAVACOMPILER)
6749 AC_SUBST(JAVAINTERPRETER)
6750 AC_SUBST(JAVAIFLAGS)
6751 AC_SUBST(JAVA_CLASSPATH_NOT_SET)
6753 AC_SUBST(JAVA_SOURCE_VER)
6754 AC_SUBST(JAVA_TARGET_VER)
6761 AC_MSG_CHECKING([which C preprocessor to use in idlc])
6762 if test -n "$with_idlc_cpp"; then
6763 AC_MSG_RESULT([$with_idlc_cpp])
6764 AC_PATH_PROG(SYSTEM_UCPP, $with_idlc_cpp)
6766 AC_MSG_RESULT([ucpp])
6767 AC_MSG_CHECKING([which ucpp tp use])
6768 if test -n "$with_system_ucpp" -a "$with_system_ucpp" != "no"; then
6769 AC_MSG_RESULT([external])
6770 AC_PATH_PROG(SYSTEM_UCPP, ucpp)
6772 AC_MSG_RESULT([internal])
6773 BUILD_TYPE="$BUILD_TYPE UCPP"
6776 AC_SUBST(SYSTEM_UCPP)
6778 dnl ===================================================================
6779 dnl Check for epm (not needed for Windows)
6780 dnl ===================================================================
6781 AC_MSG_CHECKING([whether to enable EPM for packing])
6782 if test "$enable_epm" = "yes"; then
6783 AC_MSG_RESULT([yes])
6784 if test "$_os" != "WINNT"; then
6785 if test -n "$with_epm"; then
6788 AC_PATH_PROG(EPM, epm, no)
6790 if test "$EPM" = "no" -o "$EPM" = "internal"; then
6791 echo "EPM will be built."
6792 BUILD_TYPE="$BUILD_TYPE EPM"
6794 # Gentoo has some epm which is something different...
6795 AC_MSG_CHECKING([whether the found epm is the right epm])
6796 if $EPM | grep "ESP Package Manager" >/dev/null 2>/dev/null; then
6797 AC_MSG_RESULT([yes])
6799 AC_MSG_ERROR([no. Install ESP Package Manager (http://www.msweet.org/projects.php?Z2) and/or specify the path to the right epm])
6801 AC_MSG_CHECKING([epm version])
6802 EPM_VERSION=`$EPM | grep 'ESP Package Manager' | cut -d' ' -f4 | $SED -e s/v//`
6803 if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \
6804 test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then
6805 AC_MSG_RESULT([OK, >= 3.7])
6806 if test "$_os" = "Darwin"; then
6807 AC_MSG_CHECKING([which PackageMaker EPM thinks to use])
6808 _pm=`strings $EPM | grep PackageMaker | cut -d" " -f1`
6809 if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then
6810 AC_MSG_ERROR([$_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)])
6811 elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then
6812 AC_MSG_RESULT([$_pm, ok])
6813 else # we never should get here, but go safe
6814 AC_MSG_ERROR([$_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)])
6818 AC_MSG_RESULT([too old. epm >= 3.7 is required.])
6819 echo "EPM will be built."
6820 BUILD_TYPE="$BUILD_TYPE EPM"
6825 if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then
6826 AC_MSG_CHECKING([for rpm])
6827 for a in "$RPM" rpmbuild rpm; do
6828 $a --usage >/dev/null 2> /dev/null
6829 if test $? -eq 0; then
6833 $a --version >/dev/null 2> /dev/null
6834 if test $? -eq 0; then
6840 if test -z "$RPM"; then
6841 AC_MSG_ERROR([not found])
6842 elif "$RPM" --help 2>&1 | $EGREP buildroot >/dev/null; then
6843 RPM_PATH=`which $RPM`
6844 AC_MSG_RESULT([$RPM_PATH])
6845 SCPDEFS="$SCPDEFS -DWITH_RPM"
6847 AC_MSG_ERROR([cannot build packages. Try installing rpmbuild.])
6850 if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then
6851 AC_PATH_PROG(DPKG, dpkg, no)
6852 if test "$DPKG" = "no"; then
6853 AC_MSG_ERROR([dpkg needed for deb creation. Install dpkg.])
6856 if echo "$PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then
6857 if test "$_os" = "Darwin"; then
6858 AC_MSG_CHECKING([for PackageMaker availability])
6859 if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then
6860 AC_MSG_ERROR([not installed. Please install Apples Dev Tools])
6865 AC_MSG_ERROR([PackageMaker needed to build OSX packages and you are not on OSX...])
6868 if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null || \
6869 echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
6870 if test "$EPM" != "no" -a "$EPM" != "internal"; then
6871 if test "`echo $EPM_VERSION | cut -d'.' -f1`" -lt "4"; then
6872 AC_MSG_CHECKING([whether epm is patched for LibreOffice's needs])
6873 if grep "Patched for LibreOffice" $EPM >/dev/null 2>/dev/null; then
6874 AC_MSG_RESULT([yes])
6877 if echo "$PKGFORMAT" | $GREP -q rpm; then
6879 AC_MSG_WARN([the rpms will need to be installed with --nodeps])
6880 add_warning "the rpms will need to be installed with --nodeps"
6884 AC_MSG_WARN([the ${_pt}s will not be relocateable])
6885 add_warning "the ${_pt}s will not be relocateable"
6886 AC_MSG_WARN([if you want to make sure installation without --nodeps and
6887 relocation will work, you need to patch your epm with the
6888 patch in epm/epm-3.7.patch or build with
6889 --with-epm=internal which will build a suitable epm])
6894 if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
6895 AC_PATH_PROG(PKGMK, pkgmk, no)
6896 if test "$PKGMK" = "no"; then
6897 AC_MSG_ERROR([pkgmk needed for Solaris pkg creation. Install it.])
6909 dnl ===================================================================
6910 dnl We need winegcc when building MinGW build to be able to cross-build msi tools
6911 dnl ===================================================================
6913 if test "$enable_winegcc" = "yes"; then
6914 AC_PATH_PROG(WINEGCC, winegcc)
6915 if test "$WINEGCC" = ""; then
6916 AC_MSG_ERROR([winegcc was not found, please install wine-devel, or wine-devel-32bit])
6919 ac_exeext_save="$ac_exeext"
6922 AC_LINK_IFELSE([AC_LANG_PROGRAM([
6925 printf ("hello world\n");
6927 [AC_MSG_ERROR([winegcc cannot build 32bit binaries, please install glibc-devel-32bit and gcc-32bit])]
6930 ac_exeext="$ac_exeext_save"
6934 if test $_os = iOS; then
6935 enable_mpl_subset=yes
6937 enable_lotuswordpro=no
6939 enable_postgresql_sdbc=no
6940 enable_lotuswordpro=no
6942 enable_extension_integration=no
6948 if test "$enable_lotuswordpro" = "yes"; then
6950 SCPDEFS="$SCPDEFS -DDISABLE_LWP"
6952 AC_SUBST(ENABLE_LWP)
6954 dnl ===================================================================
6956 dnl ===================================================================
6957 AC_PATH_PROG(GPERF, gperf)
6958 if test -z "$GPERF"; then
6959 AC_MSG_ERROR([gperf not found but needed. Install it.])
6961 AC_MSG_CHECKING([gperf version])
6962 if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then
6965 AC_MSG_ERROR([too old, you need at least 3.0.0])
6969 dnl ===================================================================
6970 dnl Check for building ODK
6971 dnl ===================================================================
6972 if test "$enable_odk" = no; then
6975 if test "$with_doxygen" = no; then
6976 AC_MSG_CHECKING([for doxygen])
6980 if test "$with_doxygen" = yes; then
6981 AC_PATH_PROG([DOXYGEN], [doxygen])
6982 if test -z "$DOXYGEN"; then
6983 if test "$enable_odk" = "" ; then
6986 AC_MSG_ERROR([doxygen not found in \$PATH; specify its pathname via --with-doxygen=..., or disable its use via --without-doxygen])
6990 AC_MSG_CHECKING([for doxygen])
6991 DOXYGEN=$with_doxygen
6992 AC_MSG_RESULT([$DOXYGEN])
6998 AC_MSG_CHECKING([whether to build the ODK])
6999 if test "$enable_odk" = "" -o "$enable_odk" != "no"; then
7000 AC_MSG_RESULT([yes])
7002 if test "$with_java" != "no"; then
7003 AC_MSG_CHECKING([whether to build unowinreg.dll])
7004 if test "$_os" = "WINNT" -a "$enable_build_unowinreg" = ""; then
7005 # build on Win by default
7006 enable_build_unowinreg=yes
7008 if test "$enable_build_unowinreg" = "" -o "$enable_build_unowinreg" = "no"; then
7012 AC_MSG_RESULT([yes])
7015 if test "$_os" != "WINNT" -a "$BUILD_UNOWINREG" = "YES"; then
7016 if test -z "$with_mingw_cross_compiler"; then
7018 AC_CHECK_PROGS(MINGWCXX,i386-mingw32msvc-g++ i586-pc-mingw32-g++ i686-pc-mingw32-g++ i686-w64-mingw32-g++,false)
7019 elif test -x "$with_mingw_cross_compiler"; then
7020 MINGWCXX="$with_mingw_cross_compiler"
7022 AC_CHECK_TOOL(MINGWCXX, "$with_mingw_cross_compiler", false)
7025 if test "$MINGWCXX" = "false"; then
7026 AC_MSG_ERROR([MinGW32 C++ cross-compiler not found.])
7029 mingwstrip_test="`echo $MINGWCXX | $SED -e s/g++/strip/`"
7030 if test -x "$mingwstrip_test"; then
7031 MINGWSTRIP="$mingwstrip_test"
7033 AC_CHECK_TOOL(MINGWSTRIP, "$mingwstrip_test", false)
7036 if test "$MINGWSTRIP" = "false"; then
7037 AC_MSG_ERROR(MinGW32 binutils not found.)
7041 BUILD_TYPE="$BUILD_TYPE ODK"
7046 AC_SUBST(BUILD_UNOWINREG)
7048 AC_SUBST(MINGWSTRIP)
7050 dnl ===================================================================
7051 dnl Check for system zlib
7052 dnl ===================================================================
7053 if test "$with_system_zlib" = "auto"; then
7056 with_system_zlib="$with_system_libs"
7059 with_system_zlib=yes
7064 dnl we want to use libo_CHECK_SYSTEM_MODULE here too, but OS X is too stupid
7065 dnl and has no pkg-config for it at least on some tinderboxes,
7066 dnl so leaving that out for now
7067 dnl libo_CHECK_SYSTEM_MODULE([zlib],[ZLIB],[zlib])
7068 AC_MSG_CHECKING([which zlib to use])
7069 if test "$with_system_zlib" = "yes"; then
7070 AC_MSG_RESULT([external])
7072 AC_CHECK_HEADER(zlib.h, [],
7073 [AC_MSG_ERROR(zlib.h not found. install zlib)], [])
7074 AC_CHECK_LIB(z, deflate, [ ZLIB=-lz ],
7075 [AC_MSG_ERROR(zlib not found or functional)], [])
7077 AC_MSG_RESULT([internal])
7079 BUILD_TYPE="$BUILD_TYPE ZLIB"
7080 ZLIB_CFLAGS="-I${WORKDIR}/UnpackedTarball/zlib"
7081 ZLIB_LIBS="-L${OUTDIR}/lib -lzlib"
7083 AC_SUBST(ZLIB_CFLAGS)
7085 AC_SUBST(SYSTEM_ZLIB)
7087 dnl ===================================================================
7088 dnl Check for system jpeg
7089 dnl ===================================================================
7090 AC_MSG_CHECKING([which jpeg to use])
7091 if test "$with_system_jpeg" = "auto"; then
7093 WINNT|Darwin|iOS|Android)
7094 with_system_jpeg="$with_system_libs"
7097 with_system_jpeg=yes
7102 if test "$with_system_jpeg" = "yes"; then
7103 AC_MSG_RESULT([external])
7105 AC_CHECK_HEADER(jpeglib.h, [],
7106 [AC_MSG_ERROR(jpeg.h not found. install libjpeg)], [])
7107 AC_CHECK_LIB(jpeg, jpeg_resync_to_restart, [ JPEG3RDLIB=-ljpeg ],
7108 [AC_MSG_CHECKING(jpeg library not found or fuctional)], [])
7109 AC_MSG_CHECKING([[libjpeg supports JERR_BAD_CROP_SPEC (jpeg-7 API)]])
7110 AC_COMPILE_IFELSE([ AC_LANG_SOURCE(
7114 int main(int c, char**v) { printf("%d\n", JERR_BAD_CROP_SPEC); return 0; }
7116 [AC_MSG_RESULT(yes)],
7118 AC_MSG_ERROR(jpeg library version >= 7 or jpeg-turbo version >= 1.1 required)
7120 libo_MINGW_CHECK_DLL([libjpeg])
7122 AC_MSG_RESULT([internal])
7124 BUILD_TYPE="$BUILD_TYPE JPEG"
7126 AC_SUBST(SYSTEM_JPEG)
7129 dnl ===================================================================
7130 dnl Check for system clucene
7131 dnl ===================================================================
7132 dnl we should rather be using
7133 dnl libo_CHECK_SYSTEM_MODULE([clucence],[CLUCENE],[liblucence-core]) here
7134 dnl but the contribs-lib check seems tricky
7135 AC_MSG_CHECKING([which clucene to use])
7136 if test "$with_system_clucene" = "yes"; then
7137 AC_MSG_RESULT([external])
7139 PKG_CHECK_MODULES(CLUCENE, libclucene-core)
7141 save_CXXFLAGS=$CXXFLAGS
7142 save_CPPFLAGS=$CPPFLAGS
7143 CXXFLAGS="$CXXFLAGS $CLUCENE_CFLAGS"
7144 CPPFLAGS="$CPPFLAGS $CLUCENE_CFLAGS"
7145 dnl http://sourceforge.net/tracker/index.php?func=detail&aid=3392466&group_id=80013&atid=558446
7146 dnl https://bugzilla.redhat.com/show_bug.cgi?id=794795
7147 AC_CHECK_HEADER([CLucene/analysis/cjk/CJKAnalyzer.h], [],
7148 [AC_MSG_ERROR([Your version of libclucene has contribs-lib missing.])], [#include <CLucene.h>])
7149 CXXFLAGS=$save_CXXFLAGS
7150 CPPFLAGS=$save_CPPFLAGS
7153 CLUCENE_LIBS="$CLUCENE_LIBS -lclucene-contribs-lib"
7155 AC_MSG_RESULT([internal])
7157 BUILD_TYPE="$BUILD_TYPE CLUCENE"
7159 AC_SUBST(SYSTEM_CLUCENE)
7160 AC_SUBST(CLUCENE_CFLAGS)
7161 AC_SUBST(CLUCENE_LIBS)
7163 dnl ===================================================================
7164 dnl Check for system expat
7165 dnl ===================================================================
7166 dnl we should use libo_CHECK_SYSTEM_MODULE, but e.g. the mingw tinderbox has no
7167 dnl proper pkg-config for it. It should really be fixed on the tinderbox though.
7168 AC_MSG_CHECKING([which expat to use])
7169 if test "$with_system_expat" = "yes"; then
7170 AC_MSG_RESULT([external])
7172 AC_CHECK_HEADER(expat.h, [],
7173 [AC_MSG_ERROR(expat.h not found. install expat)], [])
7174 AC_CHECK_LIB([expat], [XML_ParserCreate], [:],
7175 [AC_MSG_RESULT(expat library not found or functional.)], [])
7176 libo_MINGW_CHECK_DLL([libexpat])
7178 AC_MSG_RESULT([internal])
7180 BUILD_TYPE="$BUILD_TYPE EXPAT"
7182 AC_SUBST(SYSTEM_EXPAT)
7184 dnl ===================================================================
7185 dnl Check for system libodfgen
7186 dnl ===================================================================
7187 libo_CHECK_SYSTEM_MODULE([libodfgen],[ODFGEN],[libodfgen-0.0])
7189 dnl ===================================================================
7190 dnl Check for system libcdr
7191 dnl ===================================================================
7192 libo_CHECK_SYSTEM_MODULE([libcdr],[CDR],[libcdr-0.0 >= 0.0.5])
7194 dnl ===================================================================
7195 dnl Check for system libmspub
7196 dnl ===================================================================
7197 libo_CHECK_SYSTEM_MODULE([libmspub],[MSPUB],[libmspub-0.0])
7199 dnl ===================================================================
7200 dnl Check for system libmwaw
7201 dnl ===================================================================
7202 libo_CHECK_SYSTEM_MODULE([libmwaw],[MWAW],[libmwaw-0.1])
7204 dnl ===================================================================
7205 dnl Check for system libvisio
7206 dnl ===================================================================
7207 libo_CHECK_SYSTEM_MODULE([libvisio],[VISIO],[libvisio-0.0])
7209 dnl ===================================================================
7210 dnl Check for system libcmis
7211 dnl ===================================================================
7212 libo_CHECK_SYSTEM_MODULE([libcmis],[CMIS],[libcmis-0.3 >= 0.3.1])
7214 dnl ===================================================================
7215 dnl Check for system libwpd
7216 dnl ===================================================================
7217 libo_CHECK_SYSTEM_MODULE([libwpd],[WPD],[libwpd-0.9 libwpd-stream-0.9],["-I${WORKDIR}/UnpackedTarball/libwpd/inc"],["-L${OUTDIR}/lib -lwpdlib"])
7219 dnl ===================================================================
7220 dnl Check for system lcms2
7221 dnl ===================================================================
7222 if test "$with_system_lcms2" = "yes"; then
7223 libo_MINGW_CHECK_DLL([liblcms2])
7227 libo_CHECK_SYSTEM_MODULE([lcms2],[LCMS2],[lcms2],["-I${WORKDIR}/UnpackedTarball/lcms2/include"],["-L${OUTDIR}/lib -llcms2"])
7228 if test "$GCC" = "yes"; then
7229 LCMS2_CFLAGS="${LCMS2_CFLAGS} -Wno-long-long"
7232 dnl ===================================================================
7233 dnl Check for system cppunit
7234 dnl ===================================================================
7235 libo_CHECK_SYSTEM_MODULE([cppunit],[CPPUNIT],[cppunit >= 1.12.0])
7237 dnl ===================================================================
7238 dnl Check whether freetype is available
7239 dnl ===================================================================
7240 if test "$test_freetype" = "yes"; then
7241 AC_MSG_CHECKING([whether freetype is available])
7242 # FreeType has 3 different kinds of versions
7243 # * release, like 2.4.10
7244 # * libtool, like 13.0.7 (this what pkg-config returns)
7246 # FreeType's docs/VERSION.DLL provides a table mapping between the three
7248 # 9.4.3 is 2.1.5; the first FreeType release to provide a freetype2.pc file
7249 # XXX: replace this with a real minimum required version
7250 PKG_CHECK_MODULES( FREETYPE, freetype2 >= 9.4.3 )
7252 case "$BUILD_TYPE" in
7254 FREETYPE_LIBS="-lfreetype"
7258 AC_SUBST(FREETYPE_CFLAGS)
7259 AC_SUBST(FREETYPE_LIBS)
7261 dnl ===================================================================
7262 dnl Check for system libwps
7263 dnl ===================================================================
7264 libo_CHECK_SYSTEM_MODULE([libwps],[WPS],[libwps-0.2],["-I${OUTDIR}/inc/external"],["-L${OUTDIR}/lib -lwpslib"])
7266 dnl ===================================================================
7267 dnl Check for system libwpg
7268 dnl ===================================================================
7269 libo_CHECK_SYSTEM_MODULE([libwpg],[WPG],[libwpg-0.2],["-I${OUTDIR}/inc/external"],["-L${OUTDIR}/lib -lwpglib"])
7271 # ===================================================================
7272 # Check for system libxslt
7273 # to prevent incompatibilities between internal libxml2 and external libxslt,
7274 # or vice versa, use with_system_libxml here
7275 # ===================================================================
7276 if test "$with_system_libxml" = "auto"; then
7279 with_system_libxml="$with_system_libs"
7282 with_system_libxml=yes
7287 AC_MSG_CHECKING([which libxslt to use])
7288 if test "$with_system_libxml" = "yes"; then
7289 AC_MSG_RESULT([external])
7291 if test "$_os" = "Darwin"; then
7292 dnl make sure to use SDK path
7293 LIBXSLT_CFLAGS="-I$MACOSX_SDK_PATH/usr/include/libxml2"
7294 LIBEXSLT_CFLAGS="$LIBXSLT_CFLAGS"
7296 LIBXSLT_LIBS="-lxslt -lxml2 -lz -lpthread -liconv -lm"
7297 LIBEXSLT_LIBS="-lexslt $LIBXSLT_LIBS"
7299 PKG_CHECK_MODULES(LIBXSLT, libxslt)
7300 PKG_CHECK_MODULES(LIBEXSLT, libexslt)
7303 dnl Check for xsltproc
7304 AC_PATH_PROG(XSLTPROC, xsltproc, no)
7305 if test "$XSLTPROC" = "no"; then
7306 AC_MSG_ERROR([xsltproc is required])
7309 libo_MINGW_CHECK_DLL([libxslt])
7310 libo_MINGW_CHECK_DLL([libexslt])
7311 libo_MINGW_TRY_DLL([iconv])
7313 AC_MSG_RESULT([internal])
7316 BUILD_TYPE="$BUILD_TYPE LIBXSLT"
7318 if test "$cross_compiling" = "yes"; then
7319 AC_PATH_PROG(XSLTPROC, xsltproc, no)
7320 if test "$XSLTPROC" = "no"; then
7321 AC_MSG_ERROR([xsltproc is required])
7325 AC_SUBST(SYSTEM_LIBXSLT)
7326 if test -z "$SYSTEM_LIBXSLT_FOR_BUILD"; then
7327 SYSTEM_LIBXSLT_FOR_BUILD="$SYSTEM_LIBXSLT"
7329 AC_SUBST(SYSTEM_LIBXSLT_FOR_BUILD)
7331 AC_SUBST(LIBEXSLT_CFLAGS)
7332 AC_SUBST(LIBEXSLT_LIBS)
7333 AC_SUBST(LIBXSLT_CFLAGS)
7334 AC_SUBST(LIBXSLT_LIBS)
7335 AC_SUBST(LIBXSLT_MAJOR)
7338 # ===================================================================
7339 # Check for system libxml
7340 # ===================================================================
7341 AC_MSG_CHECKING([which libxml to use])
7342 if test "$with_system_libxml" = "yes"; then
7343 AC_MSG_RESULT([external])
7345 if test "$_os" = "Darwin"; then
7346 dnl make sure to use SDK path
7347 LIBXML_CFLAGS="-I$MACOSX_SDK_PATH/usr/include/libxml2"
7349 LIBXML_LIBS="-lxml2 -lz -lpthread -liconv -lm"
7350 elif test $_os = iOS; then
7351 dnl make sure to use SDK path
7352 usr=`echo '#include <stdlib.h>' | $CC -E -MD - | grep usr/include/stdlib.h | head -1 | sed -e 's,# 1 ",,' -e 's,/usr/include/.*,/usr,'`
7353 LIBXML_CFLAGS="-I$usr/include/libxml2"
7354 LIBXML_LIBS="-L$usr/lib -lxml2 -liconv"
7356 PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= 2.0)
7359 dnl Check for xmllint
7360 AC_PATH_PROG(XMLLINT, xmllint, no)
7361 if test "$XMLLINT" = "no"; then
7362 AC_MSG_ERROR([xmllint is required])
7365 libo_MINGW_CHECK_DLL([libxml2])
7366 libo_MINGW_TRY_DLL([zlib1])
7368 AC_MSG_RESULT([internal])
7370 BUILD_TYPE="$BUILD_TYPE LIBXML2"
7372 AC_SUBST(SYSTEM_LIBXML)
7373 AC_SUBST(LIBXML_CFLAGS)
7374 AC_SUBST(LIBXML_LIBS)
7377 # =====================================================================
7378 # Checking for a Python interpreter with version >= 2.5 needed to build LO.
7379 # runtime requires Python 3 compatible version (>= 2.6)
7380 # Optionally user can pass an option to configure, i. e.
7381 # ./configure PYTHON=/usr/bin/python
7382 # =====================================================================
7383 if test "$build_os" != "cygwin"; then
7384 # This allows a lack of system python with no error, we use internal one in that case.
7385 AM_PATH_PYTHON([2.5],, [:])
7386 # Clean PYTHON_VERSION checked below if cross-compiling
7388 if test "$PYTHON" != ":"; then
7389 PYTHON_FOR_BUILD=$PYTHON
7392 AC_SUBST(PYTHON_FOR_BUILD)
7394 # Checks for Python to use for Pyuno
7395 AC_MSG_CHECKING([which Python to use for Pyuno])
7396 case "$enable_python" in
7398 if test -z $PYTHON_FOR_BUILD; then
7399 # Python is required to build LibreOffice. In theory we could separate the build-time Python
7400 # requirement from the choice whether to include Python stuff in the installer, but why
7402 AC_MSG_ERROR([Python is required at build time.])
7405 AC_MSG_RESULT([none])
7408 if test "$DISABLE_SCRIPTING" = TRUE -a -n "$PYTHON_FOR_BUILD"; then
7409 AC_MSG_RESULT([no, overridden by --disable-scripting])
7411 elif test $build_os = cygwin; then
7412 dnl When building on Windows we don't attempt to use any installed
7413 dnl "system" Python.
7415 dnl (When cross-compiling to Windows from Linux using the mingw32-cross
7416 dnl compiler from OBS, use mingw32-python from OBS, and ditto for other
7417 dnl MinGW cross-compilation setups.)
7418 AC_MSG_RESULT([internal])
7419 enable_python=internal
7420 elif test "$cross_compiling" = yes; then
7421 AC_MSG_RESULT([system])
7422 enable_python=system
7424 # Unset variables set by the above AM_PATH_PYTHON so that
7425 # we actually do check anew.
7426 unset PYTHON am_cv_pathless_PYTHON ac_cv_path_PYTHON am_cv_python_version am_cv_python_platform am_cv_python_pythondir am_cv_python_pyexecdir
7427 AM_PATH_PYTHON([3.3],, [:])
7428 if test "$PYTHON" = :; then
7429 AC_MSG_RESULT([internal])
7430 enable_python=internal
7432 AC_MSG_RESULT([system])
7433 enable_python=system
7438 AC_MSG_RESULT([internal])
7441 AC_MSG_RESULT([system])
7444 AC_MSG_ERROR([Incorrect --enable-python option])
7448 if test $enable_python != no; then
7449 BUILD_TYPE="$BUILD_TYPE PYUNO"
7452 if test $enable_python = system; then
7453 if test -z "$PYTHON_CFLAGS" -a $_os = Darwin; then
7454 # We already have logic above to make sure the system Python
7455 # is used only when building against SDK 10.6 or newer.
7457 # Make sure we use the 2.6 Python when building against the
7459 case $with_macosx_sdk in
7461 python_version=2.6;;
7463 python_version=2.7;;
7466 python_version=2.7;;
7468 PYTHON=python$python_version
7469 PYTHON_CFLAGS="-I/Developer/SDKs/MacOSX${with_macosx_sdk}.sdk/System/Library/Frameworks/Python.framework/Versions/${python_version}/include/python${python_version}"
7470 PYTHON_LIBS="-framework Python"
7472 if test -n "$PYTHON_CFLAGS" -a -n "$PYTHON_LIBS"; then
7473 # Fallback: Accept these in the environment, or as set above
7476 elif test "$cross_compiling" != yes; then
7477 # Unset variables set by the above AM_PATH_PYTHON so that
7478 # we actually do check anew.
7479 unset PYTHON am_cv_pathless_PYTHON ac_cv_path_PYTHON am_cv_python_version am_cv_python_platform am_cv_python_pythondir am_cv_python_pyexecdir
7480 # This causes an error if no python command is found
7481 AM_PATH_PYTHON([3.3])
7482 python_include=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('INCLUDEPY'));"`
7483 python_version=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'));"`
7484 python_libs=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBS'));"`
7485 python_libdir=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBDIR'));"`
7486 if test -z "$PKG_CONFIG"; then
7487 PYTHON_CFLAGS="-I$python_include"
7488 PYTHON_LIBS="-L$python_libdir -lpython$python_version $python_libs"
7489 elif $PKG_CONFIG --exists python-$python_version; then
7490 PYTHON_CFLAGS="`$PKG_CONFIG --cflags python-$python_version`"
7491 PYTHON_LIBS="`$PKG_CONFIG --libs python-$python_version` $python_libs"
7493 PYTHON_CFLAGS="-I$python_include"
7494 PYTHON_LIBS="-L$python_libdir -lpython$python_version $python_libs"
7497 dnl How to find out the cross-compilation Python installation path?
7498 dnl Let's hardocode what we know for different distributions for now...
7499 for python_version in 2.6; do
7500 if test -f ${MINGW_SYSROOT}/include/python${python_version}/Python.h; then
7501 PYTHON_CFLAGS="-I${MINGW_SYSROOT}/include/python$python_version"
7502 PYTHON_LIBS="-L${MINGW_SYSROOT}/lib -lpython$python_version $python_libs"
7503 AC_MSG_CHECKING([for python.exe])
7504 libo_MINGW_CHECK_DLL([libpython$python_version])
7505 libo_MINGW_CHECK_DLL([libreadline6])
7506 libo_MINGW_CHECK_DLL([libtermcap])
7507 # could we somehow extract the really mingw python version from
7508 # actual distro package?
7509 # 2.6.2 currently on OpenSUSE 12.1?
7510 # rpm -q mingw32-python => mingw32-python-2.6.2-17.17.noarch
7511 PYTHON_VERSION=$python_version.2
7512 PYTHON_VERSION_MAJOR=`echo $python_version | cut -d . -f 1`
7513 PYTHON_VERSION_MINOR=`echo $python_version | cut -d . -f 2`
7517 AC_MSG_CHECKING([for python version])
7518 AS_IF([test -n "$PYTHON_VERSION"],
7519 [AC_MSG_RESULT([$PYTHON_VERSION])],
7520 [AC_MSG_RESULT([not found])
7521 AC_MSG_ERROR([no usable python found])])
7522 test -n "$PYTHON_CFLAGS" && break
7524 # let the PYTHON_FOR_BUILD match the same python installation that
7525 # provides PYTHON_CFLAGS/PYTHON_LDFLAGS for pyuno, which should be
7526 # better for PythonTests.
7527 PYTHON_FOR_BUILD=$PYTHON
7530 dnl By now enable_python should be "system", "internal" or "no"
7531 case $enable_python in
7535 if test "$CROSS_COMPILING" != YES; then
7536 dnl Check if the headers really work
7537 save_CPPFLAGS="$CPPFLAGS"
7538 CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS"
7539 AC_CHECK_HEADER(Python.h, [],
7540 [AC_MSG_ERROR([Python headers not found. You probably want to set both the PYTHON_CFLAGS and PYTHON_LIBS environment variables.])],
7542 CPPFLAGS="$save_CPPFLAGS"
7545 CFLAGS="$CFLAGS $PYTHON_CFLAGS"
7546 AC_MSG_CHECKING([for correct python library version])
7547 AC_RUN_IFELSE([AC_LANG_SOURCE([[
7550 int main(int argc, char **argv) {
7551 if ((PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION >= 6) ||
7552 (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 3)) return 0;
7555 ]])],[AC_MSG_RESULT([ok])],[AC_MSG_ERROR([Python >= 3.3 is needed when building with Python 3, or Python >= 2.6 when building with Python 2])],[])
7559 dnl FIXME Check if the Python library can be linked with, too?
7565 PYTHON_VERSION_MAJOR=3
7566 PYTHON_VERSION_MINOR=3
7567 PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.0
7568 BUILD_TYPE="$BUILD_TYPE PYTHON"
7569 # Embedded Python dies without Home set
7570 if test "$HOME" = ""; then
7573 # bz2 tarball and bzip2 is not standard
7574 if test -z "$BZIP2"; then
7575 AC_PATH_PROG( BZIP2, bzip2)
7576 if test -z "$BZIP2"; then
7577 AC_MSG_ERROR([the internal Python module has a .tar.bz2. You need bzip2])
7586 AC_MSG_ERROR([Internal configure script error, invalid enable_python value "$enable_python"])
7590 AC_SUBST(DISABLE_PYTHON)
7591 AC_SUBST(SYSTEM_PYTHON)
7592 AC_SUBST(PYTHON_CFLAGS)
7593 AC_SUBST(PYTHON_LIBS)
7594 AC_SUBST(PYTHON_VERSION)
7595 AC_SUBST(PYTHON_VERSION_MAJOR)
7596 AC_SUBST(PYTHON_VERSION_MINOR)
7598 AC_MSG_CHECKING([whether to build the MariaDB/MySQL Connector extension])
7599 if test "x$enable_ext_mariadb_connector" = "xyes" -a "x$enable_extension_integration" != "xno"; then
7600 AC_MSG_RESULT([yes])
7605 BUILD_TYPE="$BUILD_TYPE MARIADBC"
7610 AC_SUBST(ENABLE_MARIADBC)
7611 AC_SUBST(MARIADBC_MAJOR)
7612 AC_SUBST(MARIADBC_MINOR)
7613 AC_SUBST(MARIADBC_MICRO)
7615 if test "$ENABLE_MARIADBC" = "YES"; then
7617 SCPDEFS="$SCPDEFS -DWITH_EXTENSION_MARIADBC"
7619 dnl ===================================================================
7620 dnl Check for system MariaDB
7621 dnl ===================================================================
7622 AC_MSG_CHECKING([which MariaDB to use])
7623 if test "$with_system_mariadb" = "yes"; then
7624 AC_MSG_RESULT([external])
7626 AC_PATH_PROG(MARIADBCONFIG, [mariadb_config])
7627 if test -z "$MARIADBCONFIG"; then
7628 AC_PATH_PROG(MARIADBCONFIG, [mysql_config])
7629 if test -z "$MARIADBCONFIG"; then
7630 AC_MSG_ERROR([mariadb_config and mysql_config are missing. Install MariaDB or MySQL package.])
7633 AC_MSG_CHECKING([MariaDB version])
7634 MARIADB_VERSION=`$MARIADBCONFIG --version`
7635 MARIADB_MAJOR=`$MARIADBCONFIG --version | cut -d"." -f1`
7636 if test "$MARIADB_MAJOR" -ge "5"; then
7639 AC_MSG_ERROR([too old, use 5.0.x or later])
7641 AC_MSG_CHECKING([for MariaDB Client library])
7642 MARIADB_CFLAGS=`$MARIADBCONFIG --cflags`
7643 MARIADB_LIBS=`$MARIADBCONFIG --libs`
7644 AC_MSG_RESULT([includes $MARIADB_CFLAGS, libraries $MARIADB_LIBS])
7646 AC_MSG_RESULT([internal])
7648 MARIADB_CFLAGS="-I${WORKDIR}/UnpackedTarball/mariadb/include"
7649 MARIADB_LIBS="-L${OUTDIR}/lib -lmariadblib"
7650 BUILD_TYPE="$BUILD_TYPE MARIADB"
7653 AC_SUBST(SYSTEM_MARIADB)
7654 AC_SUBST(MARIADB_CFLAGS)
7655 AC_SUBST(MARIADB_LIBS)
7658 dnl ===================================================================
7659 dnl Check for system MySQL C++ Connector
7660 dnl ===================================================================
7662 # who thought this too-generic cppconn dir was a good idea?
7663 AC_MSG_CHECKING([MySQL Connector/C++])
7664 if test "$with_system_mysql_cppconn" = "yes"; then
7665 AC_MSG_RESULT([external])
7666 SYSTEM_MYSQL_CPPCONN=YES
7668 AC_CHECK_HEADER(mysql_driver.h, [],
7669 [AC_MSG_ERROR(mysql_driver.h not found. install MySQL C++ Connectivity)], [])
7670 AC_CHECK_LIB([mysqlcppconn], [main], [:],
7671 [AC_MSG_ERROR(MySQL C++ Connectivity lib not found or functional)], [])
7673 LIBS="$LIBS -lmysqlcppconn"
7674 AC_MSG_CHECKING([version])
7675 AC_RUN_IFELSE([AC_LANG_SOURCE([[
7676 #include <mysql_driver.h>
7678 int main(int argc, char **argv) {
7679 sql::Driver *driver;
7680 driver = get_driver_instance();
7681 if (driver->getMajorVersion() > 1 || \
7682 (driver->getMajorVersion() == 1 && driver->getMinorVersion() > 0) || \
7683 (driver->getMajorVersion() == 1 && driver->getMinorVersion() == 0 && driver->getPatchVersion() >= 6))
7688 ]])],[AC_MSG_RESULT(OK)],[AC_MSG_ERROR([not suitable, we need >= 1.0.6])],[])
7693 AC_MSG_RESULT([internal])
7694 BUILD_TYPE="$BUILD_TYPE MYSQLCPPCONN"
7695 SYSTEM_MYSQL_CPPCONN=NO
7699 AC_SUBST(SYSTEM_MYSQL_CPPCONN)
7701 dnl ===================================================================
7702 dnl Check for system hsqldb
7703 dnl ===================================================================
7704 if test "$with_java" != "no"; then
7705 HSQLDB_USE_JDBC_4_1=
7706 AC_MSG_CHECKING([which hsqldb to use])
7707 if test "$with_system_hsqldb" = "yes"; then
7708 AC_MSG_RESULT([external])
7710 if test -z $HSQLDB_JAR; then
7711 HSQLDB_JAR=/usr/share/java/hsqldb.jar
7713 AC_CHECK_FILE($HSQLDB_JAR, [],
7714 [AC_MSG_ERROR(hsqldb.jar not found.)], [])
7715 AC_MSG_CHECKING([whether hsqldb is 1.8.0.x])
7717 if $PERL -e 'use Archive::Zip;
7718 my $file = "$ENV{'HSQLDB_JAR'}";
7719 my $zip = Archive::Zip->new( $file );
7720 my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
7721 if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
7722 push @l, split(/\n/, $mf);
7723 foreach my $line (@l) {
7724 if ($line =~ m/Specification-Version:/) {
7725 ($t, $version) = split (/:/,$line);
7726 $version =~ s/^\s//;
7727 ($a, $b, $c, $d) = split (/\./,$version);
7728 if ($c == "0" && $d > "8") {
7738 AC_MSG_RESULT([yes])
7740 AC_MSG_ERROR([no, you need hsqldb >= 1.8.0.9 but < 1.8.1])
7743 AC_MSG_RESULT([internal])
7745 BUILD_TYPE="$BUILD_TYPE HSQLDB"
7746 AC_MSG_CHECKING([whether hsqldb should be built with JDBC 4.1])
7747 javanumver=`$JAVAINTERPRETER -version 2>&1 | $AWK -v num=true -f $SRC_ROOT/solenv/bin/getcompver.awk`
7748 if expr "$javanumver" '>=' 000100060000 > /dev/null; then
7749 AC_MSG_RESULT([yes])
7750 HSQLDB_USE_JDBC_4_1=YES
7755 AC_SUBST(SYSTEM_HSQLDB)
7756 AC_SUBST(HSQLDB_JAR)
7757 AC_SUBST([HSQLDB_USE_JDBC_4_1])
7760 dnl ===================================================================
7761 dnl Check for PostgreSQL stuff
7762 dnl ===================================================================
7763 if test "x$enable_postgresql_sdbc" != "xno"; then
7764 SCPDEFS="$SCPDEFS -DWITH_POSTGRESQL_SDBC"
7766 if test "$with_krb5" = "yes" -a "$enable_openssl" = "no"; then
7767 AC_MSG_ERROR([krb5 needs OpenSSL, but --disable-openssl was given.])
7769 if test "$with_gssapi" = "yes" -a "$enable_openssl" = "no"; then
7770 AC_MSG_ERROR([GSSAPI needs OpenSSL, but --disable-openssl was given.])
7773 AC_MSG_CHECKING([PostgreSQL C interface])
7774 if test "$with_system_postgresql" = "yes"; then
7775 AC_MSG_RESULT([external PostgreSQL])
7776 SYSTEM_POSTGRESQL=YES
7777 if test "$_os" = Darwin; then
7779 for d in /Library/PostgreSQL/9.*/bin /sw/opt/postgresql/9.*/bin /opt/local/lib/postgresql9*/bin; do
7780 pg_supp_path="$P_SEP$d$pg_supp_path"
7783 AC_PATH_PROG(PGCONFIG, pg_config, ,$PATH$pg_supp_path)
7784 if test -z "$PGCONFIG"; then
7785 AC_MSG_ERROR([pg_config needed; set PGCONFIG if not in PATH])
7787 POSTGRESQL_INC=-I$(${PGCONFIG} --includedir)
7788 POSTGRESQL_LIB="-L$(${PGCONFIG} --libdir)"
7790 # if/when anything else than PostgreSQL uses Kerberos,
7791 # move this out of `test "x$enable_postgresql_sdbc" != "xno"'
7796 # MacOS X has system MIT Kerberos 5 since 10.4
7797 if test "$with_krb5" != "no"; then
7800 AC_SEARCH_LIBS(com_err, [com_err 'com_err -lssl -lcrypto' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [],
7801 [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5, try installing libcom_err devel package])])
7804 AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [],
7805 [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5, try installing krb5 devel package])])
7806 KRB5_LIBS="$KRB5_LIBS $LIBS"
7809 if test "$with_gssapi" != "no"; then
7812 AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [],
7813 [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])])
7819 if test "$with_krb5" = "yes" -o "$with_gssapi" = "yes"; then
7820 AC_MSG_ERROR([Refusing to enable MIT Kerberos 5 or GSSAPI on Windows.])
7823 Linux|GNU|*BSD|DragonFly)
7824 if test "$with_krb5" != "no"; then
7827 AC_SEARCH_LIBS(com_err, [com_err 'com_err -lssl -lcrypto' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [],
7828 [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])])
7831 AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [],
7832 [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])])
7833 KRB5_LIBS="$KRB5_LIBS $LIBS"
7836 if test "$with_gssapi" != "no"; then
7839 AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [],
7840 [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])])
7846 if test "$with_krb5" = "yes"; then
7849 AC_SEARCH_LIBS(com_err, [com_err 'com_err -lssl -lcrypto' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [],
7850 [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])])
7853 AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [],
7854 [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])])
7855 KRB5_LIBS="$KRB5_LIBS $LIBS"
7858 if test "$with_gssapi" = "yes"; then
7861 AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [],
7862 [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])])
7868 if test -n "$with_libpq_path"; then
7869 SYSTEM_POSTGRESQL=YES
7870 AC_MSG_RESULT([external libpq])
7871 POSTGRESQL_LIB="-L${with_libpq_path}/lib/"
7872 POSTGRESQL_INC=-I"${with_libpq_path}/include/"
7874 SYSTEM_POSTGRESQL=NO
7875 AC_MSG_RESULT([internal])
7877 POSTGRESQL_INC="%OVERRIDE_ME%"
7878 BUILD_TYPE="$BUILD_TYPE POSTGRESQL"
7881 if test "${SYSTEM_POSTGRESQL}" = "YES"; then
7882 AC_MSG_NOTICE([checking system PostgreSQL prerequisites])
7884 save_CPPFLAGS=$CPPFLAGS
7886 CPPFLAGS="${CPPFLAGS} ${POSTGRESQL_INC}"
7887 LIBS="${LIBS} ${POSTGRESQL_LIB}"
7888 AC_CHECK_HEADER([libpq-fe.h], [], [AC_MSG_ERROR([libpq-fe.h is needed])], [])
7889 AC_CHECK_LIB([pq], [PQconnectdbParams], [:],
7890 [AC_MSG_ERROR(libpq not found or too old. Need >= 9.0)], [])
7892 CPPFLAGS=$save_CPPFLAGS
7895 BUILD_POSTGRESQL_SDBC=YES
7898 AC_SUBST(WITH_GSSAPI)
7899 AC_SUBST(GSSAPI_LIBS)
7901 AC_SUBST(BUILD_POSTGRESQL_SDBC)
7902 AC_SUBST(SYSTEM_POSTGRESQL)
7903 AC_SUBST(POSTGRESQL_INC)
7904 AC_SUBST(POSTGRESQL_LIB)
7906 dnl ===================================================================
7907 dnl Check for system curl
7908 dnl ===================================================================
7909 AC_MSG_CHECKING([which libcurl to use])
7910 if test "$with_system_curl" = "auto"; then
7913 with_system_curl=yes
7916 with_system_curl="$with_system_libs"
7921 if test "$with_system_curl" = "yes"; then
7922 AC_MSG_RESULT([external])
7926 if test "$cross_compiling" = "yes"; then
7927 dnl At least the OBS mingw32-libcurl-devel package
7928 dnl comes with a proper .pc file
7929 PKG_CHECK_MODULES(CURL, libcurl,, [:])
7930 if test -n "$CURL_PKG_ERRORS"; then
7933 curl_version=`$PKG_CONFIG --modversion libcurl`
7936 if test -z "$curl_version"; then
7937 AC_PATH_PROG(CURLCONFIG, curl-config)
7938 if test -z "$CURLCONFIG"; then
7939 AC_MSG_ERROR([install the libcurl development package])
7941 CURL_LIBS=`$CURLCONFIG --libs`
7942 CURL_CFLAGS=`$CURLCONFIG --cflags`
7943 curl_version=`$CURLCONFIG --version | $SED -e 's/^libcurl //'`
7946 AC_MSG_CHECKING([whether libcurl is >= 7.13.1])
7948 case $curl_version in
7949 dnl brackets doubled below because Autoconf uses them as m4 quote characters,
7950 dnl so they need to be doubled to end up in the configure script
7951 7.13.1|7.1[[4-9]].*|7.[[2-9]]?.*|7.???.*|[[8-9]].*|[[1-9]][[0-9]].*)
7952 AC_MSG_RESULT([yes, you have $curl_version])
7955 AC_MSG_ERROR([no, you have $curl_version])
7959 libo_MINGW_CHECK_DLL([libcurl])
7960 libo_MINGW_TRY_DLL([libintl])
7961 libo_MINGW_TRY_DLL([libidn])
7962 libo_MINGW_TRY_DLL([libnspr4])
7963 libo_MINGW_TRY_DLL([nssutil3])
7964 libo_MINGW_TRY_DLL([libplc4])
7965 libo_MINGW_TRY_DLL([libplds4])
7966 libo_MINGW_TRY_DLL([nss3])
7967 libo_MINGW_TRY_DLL([ssl3])
7968 libo_MINGW_TRY_DLL([libgpg-error])
7969 libo_MINGW_TRY_DLL([libgcrypt])
7970 libo_MINGW_TRY_DLL([libssh2])
7972 AC_MSG_RESULT([internal])
7974 BUILD_TYPE="$BUILD_TYPE CURL"
7976 AC_SUBST(SYSTEM_CURL)
7977 AC_SUBST(CURL_CFLAGS)
7980 dnl ===================================================================
7981 dnl Check for system boost
7982 dnl ===================================================================
7983 AC_MSG_CHECKING([which boost to use])
7984 if test "$with_system_boost" = "yes"; then
7985 AC_MSG_RESULT([external])
7989 mingw_boost_date_time_dll=`echo $BOOST_DATE_TIME_LIB | sed -e 's/^-l//' -e 's/\.dll$//'`
7990 libo_MINGW_TRY_DLL([$mingw_boost_date_time_dll])
7991 if test -z "$MINGW_BOOST_DATE_TIME_DLL"; then
7992 # if not found, try again with 'lib' prefix
7993 libo_MINGW_CHECK_DLL([lib$mingw_boost_date_time_dll])
7996 save_CXXFLAGS=$CXXFLAGS
7997 CXXFLAGS="$CXXFLAGS $BOOST_CPPFLAGS"
7998 AC_CHECK_HEADER(boost/shared_ptr.hpp, [],
7999 [AC_MSG_ERROR(boost/shared_ptr.hpp not found. install boost)], [])
8000 AC_CHECK_HEADER(boost/spirit/include/classic_core.hpp, [],
8001 [AC_MSG_ERROR(boost/spirit/include/classic_core.hpp not found. install boost >= 1.36)], [])
8002 AC_CHECK_HEADER(boost/function.hpp, [],
8003 [AC_MSG_ERROR(boost/function.hpp not found. install boost)], [])
8004 CXXFLAGS="$CXXFLAGS -fno-exceptions"
8005 AC_MSG_CHECKING([whether boost/function.hpp compiles with -fno-exceptions])
8006 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <boost/function.hpp>
8007 ]], [[]])],[ac_cv_cxx_boost_no_exceptions_broken=no],[ac_cv_cxx_boost_no_exceptions_broken=yes])
8008 if test "$ac_cv_cxx_boost_no_exceptions_broken" = "yes"; then
8009 AC_MSG_ERROR([no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131])
8011 AC_MSG_RESULT([yes])
8013 CXXFLAGS=$save_CXXFLAGS
8016 AC_MSG_RESULT([internal])
8017 BUILD_TYPE="$BUILD_TYPE BOOST"
8020 AC_SUBST(SYSTEM_BOOST)
8022 dnl ===================================================================
8023 dnl Check for system mdds
8024 dnl ===================================================================
8025 libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds >= 0.8.1])
8027 dnl ===================================================================
8028 dnl Determine which hash container mdds shall use
8029 dnl ===================================================================
8030 AC_MSG_CHECKING([which hash container mdds shall use])
8031 if test "x$HAVE_CXX0X" = "xTRUE" -a "x$SYSTEM_MDDS" = "xYES"; then
8032 MDDS_CPPFLAGS=$CXXFLAGS_CXX11
8033 AC_MSG_RESULT([std::unordered_map])
8035 MDDS_CPPFLAGS="-DMDDS_HASH_CONTAINER_BOOST"
8036 AC_MSG_RESULT([boost::unordered_map])
8038 AC_SUBST([MDDS_CPPFLAGS])
8040 dnl ===================================================================
8041 dnl Check for system vigra
8042 dnl ===================================================================
8043 AC_MSG_CHECKING([which vigra to use])
8044 if test "$with_system_vigra" = "yes"; then
8045 AC_MSG_RESULT([external])
8048 AC_CHECK_HEADER(vigra/copyimage.hxx, [],
8049 [AC_MSG_ERROR(vigra/copyimage.hxx not found. install vigra)], [])
8052 AC_MSG_RESULT([internal])
8053 BUILD_TYPE="$BUILD_TYPE VIGRA"
8056 AC_SUBST(SYSTEM_VIGRA)
8058 dnl ===================================================================
8059 dnl Check for system odbc
8060 dnl ===================================================================
8061 AC_MSG_CHECKING([which odbc headers to use])
8062 if test "$with_system_odbc" = "yes"; then
8063 AC_MSG_RESULT([external])
8064 SYSTEM_ODBC_HEADERS=YES
8066 AC_CHECK_HEADER(sqlext.h, [],
8067 [AC_MSG_ERROR(odbc not found. install odbc)], [])
8068 elif test "$enable_database_connectivity" != yes; then
8069 AC_MSG_RESULT([none])
8071 AC_MSG_RESULT([internal])
8072 SYSTEM_ODBC_HEADERS=NO
8074 AC_SUBST(SYSTEM_ODBC_HEADERS)
8077 dnl ===================================================================
8078 dnl Check for system openldap
8079 dnl ===================================================================
8081 if test "$_os" != "WINNT" -a "$_os" != "iOS" -a "$_os" != "Android"; then
8082 AC_MSG_CHECKING([which openldap library to use])
8083 if test "$with_system_openldap" = "yes"; then
8084 AC_MSG_RESULT([external])
8086 AC_CHECK_HEADERS(ldap.h, [], [AC_MSG_ERROR(ldap.h not found. install openldap libs)], [])
8087 AC_CHECK_LIB([ldap], [ldap_simple_bind_s], [:], [AC_MSG_ERROR(openldap lib not found or functional)], [])
8088 AC_CHECK_LIB([ldap], [ldap_set_option], [:], [AC_MSG_ERROR(openldap lib not found or functional)], [])
8090 AC_MSG_RESULT([internal])
8092 BUILD_TYPE="$BUILD_TYPE OPENLDAP"
8095 AC_SUBST(SYSTEM_OPENLDAP)
8097 dnl ===================================================================
8098 dnl Check for mozilla ab connectivity for windows
8099 dnl ===================================================================
8101 if test "$_os" = "WINNT"; then
8102 AC_MSG_CHECKING([whether to enable build of Mozilla addressbook connectivity driver for Windows])
8103 if test "$enable_win_mozab_driver" = "yes" -a "$WITH_MINGW" != "YES" ; then
8105 AC_MSG_RESULT([yes, internal (old windows mozab driver)])
8106 BUILD_TYPE="$BUILD_TYPE MOZ"
8107 MSVC80_DLLS="msvcp80.dll msvcr80.dll Microsoft.VC80.CRT.manifest"
8108 MSVC80_DLL_PATH=`cygpath -u "$TARFILE_LOCATION"`
8109 for dll in $MSVC80_DLLS; do
8110 if ! test -f "$MSVC80_DLL_PATH/$dll"; then
8111 AC_MSG_ERROR([can not find $dll in $MSVC80_DLL_PATH needed for the pre-built Mozilla libraries])
8119 AC_SUBST(WITH_MOZAB4WIN)
8120 AC_SUBST(MSVC80_DLLS)
8121 AC_SUBST(MSVC80_DLL_PATH)
8123 dnl ===================================================================
8124 dnl Check for TLS/SSL and cryptographic implementation to use
8125 dnl ===================================================================
8126 AC_MSG_CHECKING([which TLS/SSL and cryptographic implementation to use])
8127 if test -n "$with_tls"; then
8130 AC_DEFINE(USE_TLS_OPENSSL)
8133 if test "$enable_openssl" != "yes"; then
8134 AC_MSG_ERROR(["Disabling OpenSSL was requested, but the requested TLS to use is actually OpenSSL."])
8137 # warn that OpenSSL has been selected but not all TLS code has this option
8138 AC_MSG_WARN([TLS/SSL implementation to use is OpenSSL but some code may still be depending on NSS or GNUTLS])
8139 add_warning "TLS/SSL implementation to use is OpenSSL but some code may still be depending on NSS or GNUTLS"
8142 AC_DEFINE(USE_TLS_NSS)
8146 AC_MSG_ERROR([unsupported implementation $with_tls. Supported are:
8148 nss - Mozilla's Network Security Services (NSS)
8153 if test "$enable_openssl" = "yes"; then
8154 AC_DEFINE(USE_TLS_OPENSSL)
8157 AC_DEFINE(USE_TLS_NSS)
8161 AC_MSG_RESULT([$TLS])
8164 dnl ===================================================================
8165 dnl Check for system NSS
8166 dnl ===================================================================
8167 libo_CHECK_SYSTEM_MODULE([nss],[NSS],[nss >= 3.9.3 nspr >= 4.8])
8168 if test "$with_system_nss" = "yes"; then
8169 libo_MINGW_CHECK_DLL([libnspr4])
8170 libo_MINGW_CHECK_DLL([libplc4])
8171 libo_MINGW_CHECK_DLL([libplds4])
8172 libo_MINGW_CHECK_DLL([nss3])
8173 libo_MINGW_CHECK_DLL([nssutil3])
8174 libo_MINGW_CHECK_DLL([smime3])
8175 libo_MINGW_CHECK_DLL([ssl3])
8185 dnl ===================================================================
8186 dnl Check for system mozilla headers
8187 dnl ===================================================================
8188 HAVE_NON_CONST_NPP_GETMIMEDESCRIPTION=
8189 AC_MSG_CHECKING([which NPAPI headers to use])
8191 if test "$with_system_npapi_headers" = "yes"; then
8192 AC_MSG_RESULT([external])
8193 SYSTEM_NPAPI_HEADERS=YES
8194 # First try npapi-sdk:
8195 PKG_CHECK_MODULES(NPAPI_HEADERS, npapi-sdk, [LOCATED=yes], [LOCATED=no])
8196 # Then go with libxul:
8197 if test "x$LOCATED" != "xyes"; then
8198 PKG_CHECK_MODULES(NPAPI_HEADERS, libxul, [LOCATED=yes], [LOCATED=no])
8200 if test "x$LOCATED" != "xyes"; then
8201 PKG_CHECK_MODULES(NPAPI_HEADERS, mozilla-plugin, [LOCATED=yes], [LOCATED=no])
8203 # if still not found bail out
8204 if test "x$LOCATED" != "xyes"; then
8205 AC_MSG_ERROR([npapi.h header file not found])
8210 CFLAGS="$CFLAGS $NPAPI_HEADERS_CFLAGS"
8211 AC_MSG_CHECKING([for NPP_GetMIMEDescription return type])
8216 const char* NPP_GetMIMEDescription(void) { return "foo"; }
8218 [AC_MSG_RESULT([const char*])],
8220 AC_MSG_RESULT([char*])
8221 HAVE_NON_CONST_NPP_GETMIMEDESCRIPTION=TRUE
8225 NPAPI_HEADERS_CFLAGS="`echo $NPAPI_HEADERS_CFLAGS | sed -e \"s/-I/${ISYSTEM}/g\"`"
8227 AC_MSG_RESULT([internal])
8228 dnl ...but will not be built/used unless ENABLE_NPAPI_FROM_BROWSER or
8229 dnl ENABLE_NPAPI_INTO_BROWSER is YES
8230 SYSTEM_NPAPI_HEADERS=NO
8232 AC_SUBST(NPAPI_HEADERS_CFLAGS)
8233 AC_SUBST(SYSTEM_NPAPI_HEADERS)
8234 AC_SUBST(HAVE_NON_CONST_NPP_GETMIMEDESCRIPTION)
8236 dnl ===================================================================
8237 dnl Check for system sane
8238 dnl ===================================================================
8239 AC_MSG_CHECKING([which sane header to use])
8240 if test "$with_system_sane" = "yes"; then
8241 AC_MSG_RESULT([external])
8242 AC_CHECK_HEADER(sane/sane.h, [],
8243 [AC_MSG_ERROR(sane not found. install sane)], [])
8245 AC_MSG_RESULT([internal])
8246 BUILD_TYPE="$BUILD_TYPE SANE"
8249 dnl ===================================================================
8250 dnl Check for system icu
8251 dnl ===================================================================
8258 ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
8259 ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES"
8260 ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="YES"
8261 ICU_RECLASSIFIED_HEBREW_LETTER="YES"
8262 AC_MSG_CHECKING([which icu to use])
8263 if test "$with_system_icu" = "yes"; then
8264 AC_MSG_RESULT([external])
8267 AC_MSG_CHECKING([for unicode/rbbi.h])
8268 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[unicode/rbbi.h]])],[AC_MSG_RESULT(checked.)],[AC_MSG_ERROR(icu headers not found.)])
8271 if test "$cross_compiling" != "yes" -o "$WITH_MINGW" = "yes"; then
8273 if test "$WITH_MINGW" = "yes"; then
8274 ICUPATH=`$CC -print-sysroot`/mingw/bin:"$ICUPATH"
8276 AC_PATH_PROG(ICUCONFIG,icu-config,,[$ICUPATH])
8278 AC_MSG_CHECKING([ICU version])
8279 ICU_VERSION=`$ICUCONFIG --noverify --version 2>/dev/null || $ICUCONFIG --version`
8280 ICU_MAJOR=`echo $ICU_VERSION | cut -d"." -f1`
8281 ICU_MINOR=`echo $ICU_VERSION | cut -d"." -f2`
8283 if test "$ICU_MAJOR" -ge "49" -o \( "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "2" \); then
8284 AC_MSG_RESULT([OK, $ICU_VERSION])
8286 AC_MSG_ERROR([not suitable, only >= 4.2 supported currently])
8290 if test "$cross_compiling" = "yes" -a \( "$with_system_icu_for_build" = "yes" -o "$with_system_icu_for_build" = "force" \); then
8291 AC_PATH_PROG([ICUCONFIG_FOR_BUILD], [icu-config], [], [$PATH:/usr/sbin:/sbin])
8292 ICU_VERSION_FOR_BUILD=`$ICUCONFIG_FOR_BUILD --noverify --version 2>/dev/null || $ICUCONFIG_FOR_BUILD --version`
8293 ICU_MAJOR_FOR_BUILD=`echo $ICU_VERSION_FOR_BUILD | cut -d"." -f1`
8294 ICU_MINOR_FOR_BUILD=`echo $ICU_VERSION_FOR_BUILD | cut -d"." -f2`
8295 AC_MSG_CHECKING([if MinGW and system versions of ICU are compatible])
8296 if test "$ICU_MAJOR" -eq "$ICU_MAJOR_FOR_BUILD" -a "$ICU_MINOR" -eq "$ICU_MINOR_FOR_BUILD"; then
8297 AC_MSG_RESULT([yes])
8300 if test "$with_system_icu_for_build" != "force"; then
8301 AC_MSG_ERROR([System ICU is not version-compatible with MinGW ICU.
8302 You can use --with-system-icu-for-build=force to use it anyway.])
8307 if test "$cross_compiling" != "yes" -o "$with_system_icu_for_build" = "yes" -o "$with_system_icu_for_build" = "force"; then
8308 # using the system icu tools can lead to version confusion, use the
8309 # ones from the build environment when cross-compiling
8310 AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin])
8311 if test -z "$SYSTEM_GENBRK"; then
8312 AC_MSG_ERROR([\'genbrk\' not found in \$PATH, install the icu development tool \'genbrk\'])
8314 AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin])
8315 if test -z "$SYSTEM_GENCCODE"; then
8316 AC_MSG_ERROR([\'genccode\' not found in \$PATH, install the icu development tool \'genccode\'])
8318 AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin])
8319 if test -z "$SYSTEM_GENCMN"; then
8320 AC_MSG_ERROR([\'gencmn\' not found in \$PATH, install the icu development tool \'gencmn\'])
8322 if test "$ICU_MAJOR" -ge "49" -o \( "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "4" \); then
8323 ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
8325 ICU_RECLASSIFIED_CLOSE_PARENTHESIS="NO"
8327 if test "$ICU_MAJOR" -ge "49"; then
8328 ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES"
8329 ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="YES"
8330 ICU_RECLASSIFIED_HEBREW_LETTER="YES"
8332 ICU_RECLASSIFIED_PREPEND_SET_EMPTY="NO"
8333 ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="NO"
8334 ICU_RECLASSIFIED_HEBREW_LETTER="NO"
8338 if test "$cross_compiling" = "yes"; then
8339 if test "$ICU_MAJOR" -ge "50"; then
8340 AC_MSG_RESULT([Ignore ICU_MINOR as obviously the libraries don't include the minor version in their names any more])
8345 libo_MINGW_CHECK_DLL([icudata][$ICU_MAJOR][$ICU_MINOR])
8346 libo_MINGW_CHECK_DLL([icui18n][$ICU_MAJOR][$ICU_MINOR])
8347 libo_MINGW_CHECK_DLL([icuuc][$ICU_MAJOR][$ICU_MINOR])
8349 AC_MSG_RESULT([internal])
8351 BUILD_TYPE="$BUILD_TYPE ICU"
8352 # surprisingly set these only for "internal" (to be used by various other
8353 # external libs): the system icu-config is quite unhelpful and spits out
8354 # dozens of weird flags and also default path -I/usr/include
8355 ICU_CFLAGS="-I${WORKDIR}/UnpackedTarball/icu/source/i18n -I${WORKDIR}/UnpackedTarball/icu/source/common"
8358 AC_SUBST(SYSTEM_ICU)
8359 AC_SUBST(SYSTEM_GENBRK)
8360 AC_SUBST(SYSTEM_GENCCODE)
8361 AC_SUBST(SYSTEM_GENCMN)
8364 AC_SUBST(ICU_RECLASSIFIED_CLOSE_PARENTHESIS)
8365 AC_SUBST(ICU_RECLASSIFIED_PREPEND_SET_EMPTY)
8366 AC_SUBST(ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER)
8367 AC_SUBST(ICU_RECLASSIFIED_HEBREW_LETTER)
8368 AC_SUBST(ICU_CFLAGS)
8371 dnl ===================================================================
8373 dnl ===================================================================
8375 AC_MSG_CHECKING([whether to enable graphite support])
8376 if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "$enable_graphite" = "" -o "$enable_graphite" != "no"; then
8377 AC_MSG_RESULT([yes])
8378 ENABLE_GRAPHITE="TRUE"
8379 AC_DEFINE(ENABLE_GRAPHITE)
8380 libo_CHECK_SYSTEM_MODULE([graphite],[GRAPHITE],[graphite2 >= 0.9.3])
8381 if test "$with_system_graphite" = "yes"; then
8382 libo_MINGW_CHECK_DLL([libgraphite2])
8387 AC_SUBST(ENABLE_GRAPHITE)
8389 dnl ===================================================================
8391 dnl ===================================================================
8392 AC_MSG_CHECKING([whether to enable HarfBuzz support])
8393 if test "$_os" != "WINNT" -a "$_os" != "Darwin"; then
8394 AC_MSG_RESULT([yes])
8395 ENABLE_HARFBUZZ="TRUE"
8396 if test "$with_system_harfbuzz" = "yes"; then
8397 if $PKG_CONFIG --atleast-version 0.9.18 harfbuzz; then
8398 libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz-icu >= 0.9.18])
8400 libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz >= 0.9.10])
8403 libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz >= 0.9.10])
8408 AC_SUBST(ENABLE_HARFBUZZ)
8410 dnl ===================================================================
8411 dnl Check for NPAPI interface to plug browser plugins into LibreOffice documents
8412 dnl ===================================================================
8413 AC_MSG_CHECKING([whether to plug browser plugins into LibreOffice documents])
8414 # Obviously no such thing on iOS or Android. Also not possible when building
8415 # 64-bit OS X code as the plugin code uses QuickTime and Carbon.
8416 if test "$_os" != Android -a "$_os" != iOS -a \( $_os != Darwin -o "$BITNESS_OVERRIDE" = "" \) -a \
8417 "$enable_headless" != yes
8419 AC_MSG_RESULT([yes])
8420 ENABLE_NPAPI_FROM_BROWSER=YES
8423 ENABLE_NPAPI_FROM_BROWSER=NO
8425 AC_SUBST(ENABLE_NPAPI_FROM_BROWSER)
8427 dnl ===================================================================
8428 dnl Check for NPAPI interface to plug LibreOffice into browser windows
8429 dnl ===================================================================
8430 AC_MSG_CHECKING([whether to plug LibreOffice into browser windows])
8431 if test "$_os" == WINNT -o "$_os" != Android -a "$_os" != Darwin -a "$_os" != iOS -a \
8432 "$enable_headless" != yes -a "$enable_gtk" != no
8434 AC_MSG_RESULT([yes])
8435 ENABLE_NPAPI_INTO_BROWSER=YES
8438 ENABLE_NPAPI_INTO_BROWSER=NO
8440 AC_SUBST(ENABLE_NPAPI_INTO_BROWSER)
8442 AC_MSG_CHECKING([whether to use X11])
8443 dnl ***************************************
8444 dnl testing for X libraries and includes...
8445 dnl ***************************************
8447 if test $_os != Darwin -a $_os != WINNT -a $_os != Android -a $_os != iOS -a "$enable_headless" != "yes"; then
8450 AC_MSG_RESULT([$WANT_X11])
8452 if test "$WANT_X11" = "yes"; then
8455 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
8457 if test -z "$x_includes"; then
8458 x_includes="default_x_includes"
8460 if test -z "$x_libraries"; then
8461 x_libraries="default_x_libraries"
8463 CFLAGS="$CFLAGS $X_CFLAGS"
8464 LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
8465 AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", [AC_MSG_ERROR([X Development libraries not found])])
8467 x_includes="no_x_includes"
8468 x_libraries="no_x_libraries"
8471 if test "$WANT_X11" = "yes"; then
8472 dnl ===================================================================
8473 dnl Check for Composite.h for Mozilla plugin
8474 dnl ===================================================================
8475 AC_CHECK_HEADERS(X11/Composite.h,[],[AC_MSG_ERROR([Xt headers not found])],
8476 [#include <X11/Intrinsic.h>])
8478 dnl ===================================================================
8479 dnl Check for extension headers
8480 dnl ===================================================================
8481 AC_MSG_CHECKING([whether to use internal X11 extensions headers])
8482 if test "$with_system_xextensions_headers" != "no"; then
8484 AC_CHECK_HEADERS(X11/extensions/shape.h,[],[AC_MSG_ERROR([libXext headers not found])],
8485 [#include <X11/extensions/shape.h>])
8487 AC_MSG_RESULT([yes])
8488 BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS"
8493 dnl ===================================================================
8494 dnl Check for system Xrender
8495 dnl ===================================================================
8496 AC_MSG_CHECKING([whether to use Xrender])
8497 if test "$WANT_X11" = "yes" -a "$test_xrender" = "yes"; then
8498 AC_MSG_RESULT([yes])
8499 PKG_CHECK_MODULES(XRENDER, xrender)
8500 AC_CHECK_LIB([Xrender], [XRenderQueryVersion], [:],
8501 [AC_MSG_ERROR(libXrender not found or functional)], [])
8502 AC_MSG_CHECKING([which Xrender headers to use])
8503 if test "$with_system_xextensions_headers" != "no"; then
8504 AC_MSG_RESULT([external])
8505 AC_CHECK_HEADER(X11/extensions/Xrender.h, [],
8506 [AC_MSG_ERROR(Xrender not found. install X)], [])
8508 AC_MSG_RESULT([internal])
8513 AC_SUBST(XRENDER_CFLAGS)
8514 AC_SUBST(XRENDER_LIBS)
8516 dnl ===================================================================
8517 dnl Check for XRandr
8518 dnl ===================================================================
8519 AC_MSG_CHECKING([whether to enable RandR support])
8520 if test "$WANT_X11" = "yes" -a "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \); then
8521 if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then
8522 XRANDR_DLOPEN="TRUE"
8523 AC_MSG_RESULT([configured to dlopen libXrandr at runtime])
8525 AC_MSG_RESULT([yes])
8526 XRANDR_DLOPEN="FALSE"
8527 PKG_CHECK_MODULES(XRANDR, xrandr >= 1.2, ENABLE_RANDR="TRUE", ENABLE_RANDR="")
8528 if test "$ENABLE_RANDR" != "TRUE"; then
8529 AC_CHECK_HEADER(X11/extensions/Xrandr.h, [],
8530 [AC_MSG_ERROR([X11/extensions/Xrandr.h could not be found. X11 dev missing?])], [])
8532 AC_CHECK_LIB([Xrandr], [XRRQueryExtension], [:],
8533 [ AC_MSG_ERROR(libXrandr not found or functional) ], [])
8534 XRANDR_LIBS="-lXrandr "
8542 AC_SUBST(XRANDR_DLOPEN)
8543 AC_SUBST(XRANDR_CFLAGS)
8544 AC_SUBST(XRANDR_LIBS)
8545 AC_SUBST(ENABLE_RANDR)
8547 dnl ===================================================================
8548 dnl Check for building neon
8549 dnl ===================================================================
8550 AC_MSG_CHECKING([whether to use neon])
8551 if test "$enable_neon" = "no"; then
8554 AC_SUBST(DISABLE_NEON)
8556 AC_MSG_RESULT([yes])
8557 dnl ===================================================================
8558 dnl Check for system neon
8559 dnl ===================================================================
8560 libo_CHECK_SYSTEM_MODULE([neon],[NEON],[neon >= 0.26.0])
8561 if test "$with_system_neon" = "yes"; then
8562 NEON_VERSION="`$PKG_CONFIG --modversion neon | $SED 's/\.//g'`"
8563 libo_MINGW_CHECK_DLL([libneon])
8564 libo_MINGW_TRY_DLL([libtasn1])
8565 libo_MINGW_TRY_DLL([libgnutls])
8569 AC_SUBST(NEON_VERSION)
8572 dnl ===================================================================
8573 dnl Check for disabling cve_tests
8574 dnl ===================================================================
8575 AC_MSG_CHECKING([whether to execute CVE tests])
8576 if test "$enable_cve_tests" = "no"; then
8578 DISABLE_CVE_TESTS=TRUE
8579 AC_SUBST(DISABLE_CVE_TESTS)
8581 AC_MSG_RESULT([yes])
8584 dnl ===================================================================
8585 dnl Check for system openssl
8586 dnl ===================================================================
8587 DISABLE_OPENSSL="NO"
8588 AC_MSG_CHECKING([whether to disable OpenSSL usage])
8589 if test "$enable_openssl" = "yes"; then
8591 if test "$_os" = Darwin -a "${MAC_OS_X_VERSION_MIN_REQUIRED:-0}" -ge 1070; then
8592 # OpenSSL is deprecated when building for 10.7 or later.
8594 # http://stackoverflow.com/questions/7406946/why-is-apple-deprecating-openssl-in-macos-10-7-lion
8595 # http://stackoverflow.com/questions/7475914/libcrypto-deprecated-on-mac-os-x-10-7-lion
8597 # They apparently got fed up with the unstable ABI of
8598 # OpenSSL, or something, and recommend you either move to
8599 # their "Common Crypto Architecture", or, if you have to stay
8600 # with OpenSSL, just build it yourself statically and bundle
8601 # with your application.
8603 with_system_openssl=no
8604 libo_CHECK_SYSTEM_MODULE([openssl],[OPENSSL],[openssl])
8605 elif test "$_os" = "Darwin" -o "$_os" = "NetBSD" -o "$_os" = "OpenBSD" -o \
8606 "$_os" = "DragonFly" && test "$with_system_openssl" != "no"; then
8607 # Mac OS builds should get out without extra stuff is the Mac porters'
8608 # wish. And pkg-config is although Xcode ships a .pc for openssl
8609 with_system_openssl=yes
8612 OPENSSL_LIBS="-lssl -lcrypto"
8614 libo_CHECK_SYSTEM_MODULE([openssl],[OPENSSL],[openssl])
8616 if test "$with_system_openssl" = "yes"; then
8617 libo_MINGW_CHECK_DLL([libssl])
8618 libo_MINGW_CHECK_DLL([libcrypto])
8621 AC_MSG_RESULT([yes])
8624 # warn that although OpenSSL is disabled, system libraries may be depending on it
8625 AC_MSG_WARN([OpenSSL has been disabled. No code compiled by LibO will make use of it but system librares may create indirect dependencies])
8626 add_warning "OpenSSL has been disabled. No code compiled by LibO will make use of it but system librares may create indirect dependencies"
8629 AC_SUBST([DISABLE_OPENSSL])
8631 dnl ===================================================================
8632 dnl Check for building gnutls
8633 dnl ===================================================================
8634 AC_MSG_CHECKING([whether to use gnutls])
8635 if test "$enable_neon" != "no" && test "$enable_openssl" = "no"; then
8636 AC_MSG_RESULT([yes])
8638 PKG_CHECK_MODULES(GNUTLS, [gnutls],,
8639 AC_MSG_ERROR([[Disabling OpenSSL was requested, but GNUTLS is not
8640 available in the system to use as replacement.]]))
8643 AC_SUBST([LIBGCRYPT_CFLAGS])
8644 AC_SUBST([LIBGCRYPT_LIBS])
8646 dnl ===================================================================
8647 dnl Check for system redland
8648 dnl ===================================================================
8649 dnl versions before 1.0.8 write RDF/XML that is useless for ODF (@xml:base)
8650 libo_CHECK_SYSTEM_MODULE([redland],[REDLAND],[redland >= 1.0.8])
8651 if test "$with_system_redland" = "yes"; then
8652 # need at least 2.0.7 for CVE-2012-0037
8653 PKG_CHECK_MODULES([RAPTOR2],[raptor2 >= 2.0.7])
8654 libo_MINGW_CHECK_DLL([librdf])
8655 libo_MINGW_TRY_DLL([libraptor])
8656 libo_MINGW_TRY_DLL([librasqal])
8657 libo_MINGW_TRY_DLL([libsqlite3])
8663 AC_SUBST(RAPTOR_MAJOR)
8664 AC_SUBST(RASQAL_MAJOR)
8665 AC_SUBST(REDLAND_MAJOR)
8667 dnl ===================================================================
8668 dnl Check for system orcus
8669 dnl ===================================================================
8670 libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.6 >= 0.5.0])
8671 if test "$with_system_orcus" != "yes"; then
8672 if test "$SYSTEM_BOOST" = "YES"; then
8673 # ===========================================================
8674 # Determine if we are going to need to link with Boost.System
8675 # ===========================================================
8676 dnl This seems to be necessary since boost 1.50 (1.48 does not need it,
8677 dnl 1.49 is untested). The macro BOOST_THREAD_DONT_USE_SYSTEM mentioned
8678 dnl in documentation has no effect.
8679 AC_MSG_CHECKING([if we need to link with Boost.System])
8681 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
8682 @%:@include <boost/version.hpp>
8684 #if BOOST_VERSION >= 105000
8685 # error yes, we need to link with Boost.System
8690 AC_MSG_RESULT([yes])
8696 dnl FIXME by renaming SYSTEM_LIBORCUS to SYSTEM_ORCUS in the build system world
8697 SYSTEM_LIBORCUS=$SYSTEM_ORCUS
8698 AC_SUBST([BOOST_SYSTEM_LIB])
8699 AC_SUBST(SYSTEM_LIBORCUS)
8701 dnl ===================================================================
8702 dnl Check for system hunspell
8703 dnl ===================================================================
8704 AC_MSG_CHECKING([which libhunspell to use])
8705 if test "$with_system_hunspell" = "yes"; then
8706 AC_MSG_RESULT([external])
8709 PKG_CHECK_MODULES(HUNSPELL, hunspell, HUNSPELL_PC="TRUE", HUNSPELL_PC="" )
8710 if test "$HUNSPELL_PC" != "TRUE"; then
8711 AC_CHECK_HEADER(hunspell.hxx, [],
8713 AC_CHECK_HEADER(hunspell/hunspell.hxx, [ HUNSPELL_CFLAGS=-I/usr/include/hunspell ],
8714 [AC_MSG_ERROR(hunspell headers not found.)], [])
8716 AC_CHECK_LIB([hunspell], [main], [:],
8717 [ AC_MSG_ERROR(hunspell library not found.) ], [])
8718 HUNSPELL_LIBS=-lhunspell
8721 libo_MINGW_CHECK_DLL([libhunspell-1.3])
8722 HUNSPELL_CFLAGS="`echo $HUNSPELL_CFLAGS | sed -e \"s/-I/${ISYSTEM}/g\"`"
8724 AC_MSG_RESULT([internal])
8726 HUNSPELL_CFLAGS="-I${WORKDIR}/UnpackedTarball/hunspell/src/hunspell"
8727 HUNSPELL_LIBS="-L${OUTDIR}/lib -lhunspell"
8728 BUILD_TYPE="$BUILD_TYPE HUNSPELL"
8730 AC_SUBST(SYSTEM_HUNSPELL)
8731 AC_SUBST(HUNSPELL_CFLAGS)
8732 AC_SUBST(HUNSPELL_LIBS)
8734 dnl ===================================================================
8735 dnl Checking for altlinuxhyph
8736 dnl ===================================================================
8737 AC_MSG_CHECKING([which altlinuxhyph to use])
8738 if test "$with_system_altlinuxhyph" = "yes"; then
8739 AC_MSG_RESULT([external])
8741 AC_CHECK_HEADER(hyphen.h, [],
8742 [ AC_MSG_ERROR(altlinuxhyph headers not found.)], [])
8743 AC_CHECK_MEMBER(struct _HyphenDict.cset, [],
8744 [ AC_MSG_ERROR(no. You are sure you have altlinuyhyph headers?)],
8745 [#include <hyphen.h>])
8746 AC_CHECK_LIB(hyphen, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyphen],
8747 [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
8748 if test -z "$HYPHEN_LIB"; then
8749 AC_CHECK_LIB(hyph, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyph],
8750 [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
8752 if test -z "$HYPHEN_LIB"; then
8753 AC_CHECK_LIB(hnj, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhnj],
8754 [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
8756 libo_MINGW_CHECK_DLL([libhyphen])
8758 AC_MSG_RESULT([internal])
8760 BUILD_TYPE="$BUILD_TYPE HYPHEN"
8762 AC_SUBST(SYSTEM_HYPH)
8763 AC_SUBST(HYPHEN_LIB)
8765 dnl ===================================================================
8766 dnl Checking for mythes
8767 dnl ===================================================================
8768 AC_MSG_CHECKING([which mythes to use])
8769 if test "$with_system_mythes" = "yes"; then
8770 AC_MSG_RESULT([external])
8773 PKG_CHECK_MODULES(MYTHES, mythes, MYTHES_PKGCONFIG=yes, MYTHES_PKGCONFIG=no)
8774 if test "$MYTHES_PKGCONFIG" = "no"; then
8775 AC_CHECK_HEADER(mythes.hxx, [],
8776 [ AC_MSG_ERROR(mythes.hxx headers not found.)], [])
8777 AC_CHECK_LIB([mythes-1.2], [main], [:],
8778 [ MYTHES_FOUND=no], [])
8779 if test "$MYTHES_FOUND" = "no"; then
8780 AC_CHECK_LIB(mythes, main, [MYTHES_FOUND=yes],
8781 [ MYTHES_FOUND=no], [])
8783 if test "$MYTHES_FOUND" = "no"; then
8784 AC_MSG_ERROR([mythes library not found!.])
8788 libo_MINGW_CHECK_DLL([libmythes-1.2])
8790 AC_MSG_RESULT([internal])
8792 BUILD_TYPE="$BUILD_TYPE MYTHES"
8794 AC_SUBST(SYSTEM_MYTHES)
8795 AC_SUBST(MYTHES_CFLAGS)
8796 AC_SUBST(MYTHES_LIBS)
8798 dnl ===================================================================
8799 dnl How should we build the linear programming solver ?
8800 dnl ===================================================================
8802 AC_MSG_CHECKING([whether to build with lpsolve])
8803 if test "$enable_lpsolve" != "no"; then
8805 AC_MSG_RESULT([yes])
8809 AC_SUBST(ENABLE_LPSOLVE)
8811 AC_MSG_CHECKING([which lpsolve to use])
8812 if test "$with_system_lpsolve" = "yes"; then
8813 AC_MSG_RESULT([external])
8815 AC_CHECK_HEADER(lpsolve/lp_lib.h, [],
8816 [ AC_MSG_ERROR(lpsolve headers not found.)], [])
8818 # some systems need this. Like Ubuntu....
8819 AC_CHECK_LIB(m, floor)
8820 AC_CHECK_LIB(dl, dlopen)
8821 AC_CHECK_LIB([lpsolve55], [make_lp], [:],
8822 [ AC_MSG_ERROR(lpsolve library not found or too old.)], [])
8824 libo_MINGW_CHECK_DLL([lpsolve55])
8826 AC_MSG_RESULT([internal])
8828 BUILD_TYPE="$BUILD_TYPE LPSOLVE"
8830 AC_SUBST(SYSTEM_LPSOLVE)
8834 dnl ===================================================================
8835 dnl Checking for libexttextcat
8836 dnl ===================================================================
8837 libo_CHECK_SYSTEM_MODULE([libexttextcat],[LIBEXTTEXTCAT],[libexttextcat >= 3.1.1])
8838 if test "$with_system_libexttextcat" = "yes"; then
8839 SYSTEM_LIBEXTTEXTCAT_DATA=file://`$PKG_CONFIG --variable=pkgdatadir libexttextcat`
8841 AC_SUBST(SYSTEM_LIBEXTTEXTCAT_DATA)
8843 dnl ***************************************
8844 dnl testing libc version for Linux...
8845 dnl ***************************************
8846 if test "$_os" = "Linux"; then
8847 AC_MSG_CHECKING([whether libc is >= 2.1.1])
8848 exec 6>/dev/null # no output
8849 AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC)
8850 exec 6>&1 # output on again
8851 if test "$HAVE_LIBC"; then
8852 AC_MSG_RESULT([yes])
8854 AC_MSG_ERROR([no, upgrade libc])
8858 if test "$_os" != "WINNT"; then
8859 AC_CHECK_FUNCS(getopt, HAVE_GETOPT=YES, [HAVE_GETOPT=NO])
8860 AC_CHECK_FUNCS(readdir_r, HAVE_READDIR_R=YES, [HAVE_READDIR_R=NO])
8861 if test "$HAVE_GETOPT" = "YES" -a "$HAVE_READDIR_R" = "YES"; then
8870 if test "$HAVE_GETOPT" = NO -o "$HAVE_READDIR_R" = NO; then
8871 BUILD_TYPE="$BUILD_TYPE GLIBC"
8874 AC_SUBST(HAVE_GETOPT)
8875 AC_SUBST(HAVE_READDIR_R)
8876 AC_SUBST(SYSTEM_LIBC)
8878 dnl =========================================
8879 dnl Check for the Windows SDK.
8880 dnl =========================================
8881 dnl FIXME: I don't know yet if the Windows SDK works with MinGW, keep it until I know better,
8882 dnl and add "-a \( "$WITH_MINGW" != "yes" \)" then
8883 if test "$_os" = "WINNT"; then
8884 AC_MSG_CHECKING([for Windows SDK])
8885 if test "$build_os" = "cygwin"; then
8887 WINDOWS_SDK_HOME=$winsdktest
8889 # normalize if found
8890 if test -n "$WINDOWS_SDK_HOME"; then
8891 WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"`
8892 WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"`
8896 if test -n "$WINDOWS_SDK_HOME"; then
8897 # Remove a possible trailing backslash
8898 WINDOWS_SDK_HOME=`echo $WINDOWS_SDK_HOME | $SED 's/\/$//'`
8900 if test -f "$WINDOWS_SDK_HOME/Include/adoint.h" \
8901 -a -f "$WINDOWS_SDK_HOME/Include/SqlUcode.h" \
8902 -a -f "$WINDOWS_SDK_HOME/Include/usp10.h"; then
8903 have_windows_sdk_headers=yes
8904 elif test -f "$WINDOWS_SDK_HOME/Include/um/adoint.h" \
8905 -a -f "$WINDOWS_SDK_HOME/Include/um/SqlUcode.h" \
8906 -a -f "$WINDOWS_SDK_HOME/Include/um/usp10.h"; then
8907 have_windows_sdk_headers=yes
8909 have_windows_sdk_headers=no
8912 if test -f "$WINDOWS_SDK_HOME/lib/user32.lib"; then
8913 have_windows_sdk_libs=yes
8914 elif test -f "$WINDOWS_SDK_HOME/lib/win8/um/$WINDOWS_SDK_ARCH/user32.lib"; then
8915 have_windows_sdk_libs=yes
8917 have_windows_sdk_libs=no
8920 if test $have_windows_sdk_headers = no -o $have_windows_sdk_libs = no; then
8921 AC_MSG_ERROR([Some (all?) Windows SDK files not found, please check if all needed parts of
8922 the Windows SDK are installed.])
8925 if test ! -f "$WINDOWS_SDK_HOME/bin/msiinfo.exe" \
8926 -o ! -f "$WINDOWS_SDK_HOME/bin/msidb.exe" \
8927 -o ! -f "$WINDOWS_SDK_HOME/bin/uuidgen.exe" \
8928 -o ! -f "$WINDOWS_SDK_HOME/bin/msitran.exe"; then :
8929 elif test ! -f "$WINDOWS_SDK_HOME/bin/x86/msiinfo.exe" \
8930 -o ! -f "$WINDOWS_SDK_HOME/bin/x86/msidb.exe" \
8931 -o ! -f "$WINDOWS_SDK_HOME/bin/x86/uuidgen.exe" \
8932 -o ! -f "$WINDOWS_SDK_HOME/bin/x86/msitran.exe"; then :
8934 AC_MSG_ERROR([Some (all?) Windows Installer tools in the Windows SDK are missing, please install.])
8938 if test -z "$WINDOWS_SDK_HOME"; then
8939 AC_MSG_RESULT([no, hoping the necessary headers and libraries will be found anyway!?])
8940 elif echo $WINDOWS_SDK_HOME | grep "v6.0" >/dev/null 2>/dev/null; then
8941 WINDOWS_SDK_VERSION=60
8942 AC_MSG_RESULT([found Windows SDK 6.0 ($WINDOWS_SDK_HOME)])
8943 elif echo $WINDOWS_SDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then
8944 WINDOWS_SDK_VERSION=61
8945 AC_MSG_RESULT([found Windows SDK 6.1 ($WINDOWS_SDK_HOME)])
8946 elif echo $WINDOWS_SDK_HOME | grep "v7" >/dev/null 2>/dev/null; then
8947 WINDOWS_SDK_VERSION=70
8948 AC_MSG_RESULT([found Windows SDK 7 ($WINDOWS_SDK_HOME)])
8949 elif echo $WINDOWS_SDK_HOME | grep "8.0" >/dev/null 2>/dev/null; then
8950 WINDOWS_SDK_VERSION=80
8951 AC_MSG_RESULT([found Windows SDK 8.0 ($WINDOWS_SDK_HOME)])
8953 AC_MSG_ERROR([Found legacy Windows Platform SDK ($WINDOWS_SDK_HOME)])
8955 PathFormat "$WINDOWS_SDK_HOME"
8956 WINDOWS_SDK_HOME="$formatted_path"
8957 if test "$build_os" = "cygwin"; then
8958 SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/include"
8959 if test -d "$WINDOWS_SDK_HOME/include/um"; then
8960 SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include/um -I$WINDOWS_SDK_HOME/include/shared"
8964 AC_SUBST(WINDOWS_SDK_HOME)
8965 AC_SUBST(WINDOWS_SDK_VERSION)
8967 dnl =========================================
8968 dnl Check for uuidgen
8969 dnl =========================================
8970 if test "$_os" = "WINNT" -a "$cross_compiling" != "yes"; then
8971 if test "$WITH_MINGW" = "yes"; then
8972 AC_PATH_PROG([UUIDGEN], [uuid])
8973 if test -z "$UUIDGEN"; then
8974 AC_MSG_WARN([uuid is needed for dev-install])
8977 # presence is already tested above in the WINDOWS_SDK_HOME check
8982 AC_PATH_PROG([UUIDGEN], [uuidgen])
8983 if test -z "$UUIDGEN"; then
8984 AC_MSG_WARN([uuid is needed for dev-install])
8988 dnl =========================================
8989 dnl Check for the Microsoft DirectX SDK.
8990 dnl =========================================
8991 if test -n "$ENABLE_DIRECTX" -a "$_os" = "WINNT"; then
8992 AC_MSG_CHECKING([for DirectX SDK])
8993 if test "$build_os" = "cygwin"; then
8994 dnl A standard installation of the DirectX SDK sets $DXSDK_DIR
8995 if test -n "$DXSDK_DIR"; then
8996 DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"`
8997 DIRECTXSDK_HOME=`cygpath -u "$DIRECTXSDK_HOME"`
8999 # At this point $DIRECTXSDK_HOME might still be undefined. This will lead to
9000 # the "DirectX SDK not found" error later.
9003 # Remove a possible trailing backslash
9004 DIRECTXSDK_HOME=`echo $DIRECTXSDK_HOME | $SED 's/\/$//'`
9007 if test -f "$DIRECTXSDK_HOME/Include/ddraw.h" -o -f "$DIRECTXSDK_HOME/Include/d3d9.h"; then
9008 HAVE_DIRECTXSDK_H="yes"
9010 HAVE_DIRECTXSDK_H="no"
9013 if test "$BITNESS_OVERRIDE" = 64; then
9014 DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib/x64"
9016 DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib/x86"
9018 PathFormat "$DIRECTXSDK_LIB"
9019 DIRECTXSDK_LIB="$formatted_path"
9021 if test -f "$DIRECTXSDK_LIB/ddraw.lib" -o -f "$DIRECTXSDK_LIB/d3d9.lib"; then
9022 HAVE_DIRECTXSDK_LIB="yes"
9024 HAVE_DIRECTXSDK_LIB="no"
9027 if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then
9028 AC_MSG_RESULT([found])
9030 AC_MSG_RESULT([no, hoping the necessary headers and libraries will be found anyway])
9032 if test -n "$DIRECTXSDK_HOME"; then
9033 PathFormat "$DIRECTXSDK_HOME"
9034 DIRECTXSDK_HOME="$formatted_path"
9035 SOLARINC="$SOLARINC -I$DIRECTXSDK_HOME/include"
9038 AC_SUBST(DIRECTXSDK_HOME)
9040 dnl ***************************************
9041 dnl Checking for bison and flex
9042 dnl ***************************************
9043 AC_PATH_PROG(BISON, bison)
9045 if test -z "$BISON"; then
9046 AC_MSG_ERROR([no bison found in \$PATH, install it])
9048 AC_MSG_CHECKING([the bison version])
9049 _bison_version=`$BISON --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`
9050 _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'`
9051 # Accept newer than 1.875 or older(equal) than 1.75
9052 if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then
9053 if test "$_bison_version" = "1.875"; then
9054 AC_MSG_WARN([suspect ($BISON $_bison_version)])
9055 add_warning "Suspect ($BISON $_bison_version) suggest upgrade"
9057 AC_MSG_RESULT([checked ($BISON $_bison_version)])
9060 AC_MSG_ERROR([failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))])
9062 if test "$_bison_longver" -lt 2000; then
9066 AC_SUBST(ANCIENT_BISON)
9068 AC_PATH_PROG(FLEX, flex)
9069 if test -z "$FLEX"; then
9070 AC_MSG_ERROR([no flex found in \$PATH, install it])
9073 dnl ***************************************
9074 dnl Checking for patch
9075 dnl ***************************************
9076 AC_PATH_PROG(PATCH, patch)
9077 if test -z "$PATCH"; then
9078 AC_MSG_ERROR([\"patch\" not found in \$PATH, install it])
9081 dnl On Solaris, FreeBSD or MacOS X, check if --with-gnu-patch was used
9082 if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then
9083 if test -z "$with_gnu_patch"; then
9086 if test -x "$with_gnu_patch"; then
9087 GNUPATCH=$with_gnu_patch
9089 AC_MSG_ERROR([--with-gnu-patch did not point to an executable])
9093 AC_MSG_CHECKING([whether $GNUPATCH is GNU patch])
9094 if $GNUPATCH --version | grep "Free Software Foundation" >/dev/null 2>/dev/null; then
9095 AC_MSG_RESULT([yes])
9097 AC_MSG_ERROR([no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it])
9103 dnl We also need to check for --with-gnu-cp
9105 if test -z "$with_gnu_cp"; then
9106 # check the place where the good stuff is hidden on Solaris...
9107 if test -x /usr/gnu/bin/cp; then
9108 GNUCP=/usr/gnu/bin/cp
9110 AC_PATH_PROGS(GNUCP, gnucp cp)
9112 if test -z $GNUCP; then
9113 AC_MSG_ERROR([Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it])
9116 if test -x "$with_gnu_cp"; then
9119 AC_MSG_ERROR([--with-gnu-cp did not point to an executable])
9123 AC_MSG_CHECKING([whether $GNUCP is GNU cp from coreutils with preserve= support])
9124 if $GNUCP --version 2>/dev/null | grep "coreutils" >/dev/null 2>/dev/null; then
9125 AC_MSG_RESULT([yes])
9126 elif $GNUCP --version 2>/dev/null | grep "GNU fileutils" >/dev/null 2>/dev/null; then
9127 AC_MSG_RESULT([yes])
9130 darwin*|netbsd*|openbsd*|freebsd*|dragonfly*|aix*)
9133 AC_MSG_RESULT([no gnucp found - using the system's cp command])
9136 AC_MSG_ERROR([no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it])
9145 dnl ***************************************
9146 dnl testing assembler path
9147 dnl ***************************************
9149 if test "$_os" = "WINNT" -a "$WITH_MINGW" != "yes"; then
9150 if test "$BITNESS_OVERRIDE" = ""; then
9155 assembler_bin=bin/amd64
9158 AC_MSG_CHECKING([$VC_PRODUCT_DIR/$assembler_bin/$assembler])
9159 if test -f "$VC_PRODUCT_DIR/$assembler_bin/$assembler"; then
9160 ASM_HOME=$VC_PRODUCT_DIR/$assembler_bin
9161 AC_MSG_RESULT([found])
9162 ML_EXE="$VC_PRODUCT_DIR/$assembler_bin/$assembler"
9164 AC_MSG_ERROR([Configure did not find $assembler assembler.])
9167 PathFormat "$ASM_HOME"
9168 ASM_HOME="$formatted_path"
9175 dnl ===================================================================
9176 dnl We need zip and unzip
9177 dnl ===================================================================
9178 AC_PATH_PROG(ZIP, zip)
9179 test -z "$ZIP" && AC_MSG_ERROR([zip is required])
9180 if ! "$ZIP" --filesync < /dev/null 2>/dev/null > /dev/null; then
9181 AC_MSG_ERROR([Zip version 3.0 or newer is required to build, please install it and make sure it is the one found first in PATH],,)
9184 AC_PATH_PROG(UNZIP, unzip)
9185 test -z "$UNZIP" && AC_MSG_ERROR([unzip is required])
9187 dnl ===================================================================
9188 dnl Zip must be a specific type for different build types.
9189 dnl ===================================================================
9190 if test $build_os = cygwin; then
9191 if test -n "`$ZIP -h | $GREP -i WinNT`"; then
9192 AC_MSG_ERROR([$ZIP is not the required Cygwin version of Info-ZIP's zip.exe.])
9196 dnl ===================================================================
9197 dnl Test which vclplugs have to be built.
9198 dnl ===================================================================
9203 if test "x$enable_gtk3" = "xyes"; then
9204 if test "$with_system_cairo" != yes; then
9205 AC_MSG_WARN([System cairo required for gtk3 support, please use --with-system-cairo])
9206 add_warning "System cairo required for gtk3 support, please use --with-system-cairo"
9208 PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.2 gtk+-unix-print-3.0 gmodule-no-export-2.0 cairo, ENABLE_GTK3="TRUE", ENABLE_GTK3="")
9209 if test "x$ENABLE_GTK3" = "xTRUE"; then
9212 AC_MSG_ERROR([gtk3 libraries of the correct versions, not found])
9216 AC_SUBST(GTK3_CFLAGS)
9217 AC_SUBST(ENABLE_GTK3)
9219 AC_MSG_CHECKING([which VCLplugs shall be built])
9220 if test "$GUIBASE" != "unx" -o "$enable_headless" = "yes"; then
9224 if test "x$enable_gtk" = "xyes"; then
9226 AC_DEFINE(ENABLE_GTK)
9229 AC_SUBST(ENABLE_GTK)
9232 if test "x$enable_tde" = "xyes"; then
9233 # Libs kab and tdeab in connectivity and kdeab and tdeab in shell
9234 # are built from the same sources. So we only allow one of them.
9235 if test "x$enable_kde" = "xyes"; then
9236 AC_MSG_ERROR([enabling both KDE and TDE is not supported])
9239 AC_DEFINE(ENABLE_TDE)
9242 AC_SUBST(ENABLE_TDE)
9245 if test "x$enable_kde" = "xyes"; then
9247 AC_DEFINE(ENABLE_KDE)
9250 AC_SUBST(ENABLE_KDE)
9253 if test "x$enable_kde4" = "xyes"; then
9255 AC_DEFINE(ENABLE_KDE4)
9258 AC_SUBST(ENABLE_KDE4)
9261 if test "x$enable_headless" = "xyes"; then
9262 ENABLE_HEADLESS="TRUE"
9263 SCPDEFS="$SCPDEFS -DLIBO_HEADLESS"
9266 AC_SUBST(ENABLE_HEADLESS)
9268 if test -z "$R"; then
9269 AC_MSG_RESULT([none])
9274 dnl ===================================================================
9276 dnl ===================================================================
9279 AC_MSG_CHECKING([whether to enable GConf support])
9280 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "iOS" -a "$enable_gconf" = "yes"; then
9282 AC_MSG_RESULT([yes])
9283 PKG_CHECK_MODULES( GCONF, gconf-2.0 gobject-2.0 )
9287 AC_SUBST(GCONF_LIBS)
9288 AC_SUBST(GCONF_CFLAGS)
9289 AC_SUBST(ENABLE_GCONF)
9291 dnl ===================================================================
9293 dnl ===================================================================
9296 AC_MSG_CHECKING([whether to enable GNOME VFS support])
9297 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes" -a "$enable_gconf" = "yes"; then
9298 ENABLE_GNOMEVFS="TRUE"
9299 AC_MSG_RESULT([yes])
9300 PKG_CHECK_MODULES( GNOMEVFS, gnome-vfs-2.0 >= 2.6.0 )
9301 AC_DEFINE(ENABLE_GNOME_VFS)
9305 AC_SUBST(GNOMEVFS_LIBS)
9306 AC_SUBST(GNOMEVFS_CFLAGS)
9307 AC_SUBST(ENABLE_GNOMEVFS)
9309 dnl ===================================================================
9310 dnl check for dbus support
9311 dnl ===================================================================
9316 if test "$enable_dbus" = "no"; then
9320 AC_MSG_CHECKING([whether to enable DBUS support])
9321 if test "$test_dbus" = "yes"; then
9323 AC_MSG_RESULT([yes])
9324 PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= 0.70)
9329 AC_SUBST(ENABLE_DBUS)
9330 AC_SUBST(DBUS_CFLAGS)
9333 AC_MSG_CHECKING([whether to enable font install via packagekit])
9334 if test "$ENABLE_DBUS" = "TRUE"; then
9335 if test -n "$enable_packagekit" -a "$enable_packagekit" != "no"; then
9336 ENABLE_PACKAGEKIT=YES
9337 AC_MSG_RESULT([yes])
9339 ENABLE_PACKAGEKIT=NO
9343 AC_MSG_RESULT([no, dbus disabled.])
9345 AC_SUBST(ENABLE_PACKAGEKIT)
9347 AC_MSG_CHECKING([whether to enable Impress remote control])
9348 if test -n "$enable_sdremote" -a "$enable_sdremote" != "no"; then
9349 AC_MSG_RESULT([yes])
9351 AC_MSG_CHECKING([whether to enable Bluetooth support in Impress remote control])
9353 # If not explicitly enabled or disabled, default
9354 if test -z "$enable_sdremote_bluetooth"; then
9357 # Default to yes for these
9358 enable_sdremote_bluetooth=yes
9362 enable_sdremote_bluetooth=no
9366 # $enable_sdremote_bluetooth is guaranteed non-empty now
9368 if test "$enable_sdremote_bluetooth" != "no"; then
9369 if test "$OS" = "LINUX"; then
9370 if test "$ENABLE_DBUS" = "TRUE"; then
9371 AC_MSG_RESULT([yes])
9372 ENABLE_SDREMOTE_BLUETOOTH=YES
9373 dnl ===================================================================
9374 dnl Check for system bluez
9375 dnl ===================================================================
9376 AC_MSG_CHECKING([which Bluetooth header to use])
9377 if test "$with_system_bluez" = "yes"; then
9378 AC_MSG_RESULT([external])
9379 AC_CHECK_HEADER(bluetooth/bluetooth.h, [],
9380 [AC_MSG_ERROR(bluetooth.h not found. install bluez)], [])
9382 AC_MSG_RESULT([internal])
9383 BUILD_TYPE="$BUILD_TYPE BLUEZ"
9386 AC_MSG_RESULT([no, dbus disabled])
9387 ENABLE_SDREMOTE_BLUETOOTH=NO
9390 AC_MSG_RESULT([yes])
9391 ENABLE_SDREMOTE_BLUETOOTH=YES
9395 ENABLE_SDREMOTE_BLUETOOTH=NO
9401 AC_SUBST(ENABLE_SDREMOTE)
9402 AC_SUBST(ENABLE_SDREMOTE_BLUETOOTH)
9404 dnl ===================================================================
9405 dnl Check whether the gtk 2.0 libraries are available.
9406 dnl ===================================================================
9410 ENABLE_SYSTRAY_GTK=""
9411 if test "$test_gtk" = "yes"; then
9413 if test "$ENABLE_GTK" = "TRUE"; then
9414 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]))
9415 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]))
9416 BUILD_TYPE="$BUILD_TYPE GTK"
9418 AC_MSG_CHECKING([whether to enable the systray quickstarter])
9419 if test "x$enable_systray" = "xyes"; then
9420 AC_MSG_RESULT([yes])
9421 PKG_CHECK_MODULES( GTK210, gtk+-2.0 >= 2.10.0,
9422 [ ENABLE_SYSTRAY_GTK="TRUE" ],
9423 [ ENABLE_SYSTRAY_GTK="" ])
9428 AC_MSG_CHECKING([whether to enable Gtk print dialog support])
9429 PKG_CHECK_MODULES([GTK_PRINT], [gtk+-unix-print-2.0 >= 2.10.0],
9430 [ENABLE_GTK_PRINT="TRUE"],
9431 [ENABLE_GTK_PRINT=""])
9433 AC_MSG_CHECKING([whether to enable GIO support])
9434 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then
9435 if test "$ENABLE_GNOMEVFS" = "TRUE"; then
9436 AC_MSG_ERROR([please use --enable-gio only together with --disable-gnome-vfs.])
9438 dnl Need at least 2.26 for the dbus support.
9439 PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.26],
9440 [ENABLE_GIO="TRUE"], [ENABLE_GIO=""])
9441 if test "$ENABLE_GIO" = "TRUE"; then
9442 AC_DEFINE(ENABLE_GIO)
9449 AC_SUBST(ENABLE_GIO)
9450 AC_SUBST(GIO_CFLAGS)
9452 AC_SUBST(ENABLE_SYSTRAY_GTK)
9453 AC_SUBST(GTK_CFLAGS)
9455 AC_SUBST(GTHREAD_CFLAGS)
9456 AC_SUBST(GTHREAD_LIBS)
9457 AC_SUBST([ENABLE_GTK_PRINT])
9458 AC_SUBST([GTK_PRINT_CFLAGS])
9459 AC_SUBST([GTK_PRINT_LIBS])
9462 dnl ===================================================================
9463 dnl Check whether the Telepathy libraries are available.
9464 dnl ===================================================================
9470 AC_MSG_CHECKING([whether to enable Telepathy support])
9471 if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_telepathy" = "yes"; then
9472 ENABLE_TELEPATHY="TRUE"
9473 AC_DEFINE(ENABLE_TELEPATHY)
9474 AC_MSG_RESULT([yes])
9475 PKG_CHECK_MODULES( TELEPATHY, telepathy-glib >= 0.18.0 glib-2.0 gobject-2.0 gthread-2.0 gio-2.0 gtk+-2.0 >= 2.4 )
9480 AC_SUBST(ENABLE_TELEPATHY)
9481 AC_SUBST(TELEPATHY_CFLAGS)
9482 AC_SUBST(TELEPATHY_LIBS)
9485 dnl ===================================================================
9487 SPLIT_APP_MODULES=""
9488 if test "$enable_split_app_modules" = "yes"; then
9489 SPLIT_APP_MODULES="YES"
9491 AC_SUBST(SPLIT_APP_MODULES)
9493 SPLIT_OPT_FEATURES=""
9494 if test "$enable_split_opt_features" = "yes"; then
9495 SPLIT_OPT_FEATURES="YES"
9497 AC_SUBST(SPLIT_OPT_FEATURES)
9499 if test $_os = Darwin -o $_os = WINNT -o $_os = iOS; then
9500 if test "$enable_cairo_canvas" = yes; then
9501 AC_MSG_ERROR([The cairo canvas should not be used for this platform])
9503 enable_cairo_canvas=no
9504 elif test -z "$enable_cairo_canvas"; then
9505 enable_cairo_canvas=yes
9508 ENABLE_CAIRO_CANVAS=""
9509 if test "$enable_cairo_canvas" = "yes"; then
9511 ENABLE_CAIRO_CANVAS="TRUE"
9513 AC_SUBST(ENABLE_CAIRO_CANVAS)
9515 dnl ===================================================================
9516 dnl Check whether the GStreamer libraries are available.
9517 dnl ===================================================================
9521 if test "$build_gstreamer" = "yes"; then
9523 AC_MSG_CHECKING([whether to enable the new GStreamer 1.0 avmedia backend])
9524 if test "x$enable_gstreamer" != "xno"; then
9525 ENABLE_GSTREAMER="TRUE"
9526 AC_MSG_RESULT([yes])
9527 PKG_CHECK_MODULES( GSTREAMER, gstreamer-1.0 gstreamer-plugins-base-1.0 gstreamer-video-1.0 )
9528 GSTREAMER_CFLAGS="`echo $GSTREAMER_CFLAGS | sed -e \"s/-I/${ISYSTEM}/g\"`"
9533 AC_SUBST(GSTREAMER_CFLAGS)
9534 AC_SUBST(GSTREAMER_LIBS)
9535 AC_SUBST(ENABLE_GSTREAMER)
9538 ENABLE_GSTREAMER_0_10=""
9539 if test "$build_gstreamer_0_10" = "yes"; then
9541 AC_MSG_CHECKING([whether to enable the GStreamer avmedia backend])
9542 if test "x$enable_gstreamer_0_10" != "xno"; then
9543 ENABLE_GSTREAMER_0_10="TRUE"
9544 AC_MSG_RESULT([yes])
9545 PKG_CHECK_MODULES( [GSTREAMER_0_10], [gstreamer-0.10 gstreamer-plugins-base-0.10 gstreamer-interfaces-0.10],, [
9546 PKG_CHECK_MODULES( [GSTREAMER_0_10], [gstreamer-0.10 gstreamer-plugins-base-0.10] )
9548 GSTREAMER_0_10_CFLAGS="`echo $GSTREAMER_0_10_CFLAGS | sed -e \"s/-I/${ISYSTEM}/g\"`"
9554 AC_SUBST(GSTREAMER_0_10_CFLAGS)
9555 AC_SUBST(GSTREAMER_0_10_LIBS)
9556 AC_SUBST(ENABLE_GSTREAMER_0_10)
9558 dnl ===================================================================
9559 dnl Check whether the OpenGL libraries are available
9560 dnl ===================================================================
9562 AC_MSG_CHECKING([whether to build the OpenGL Transitions component])
9565 if test -z "$enable_opengl"; then
9566 if test $_os = WINNT; then
9567 # By default disable the OpenGL transitions for Windows (the code compiles but works very
9568 # badly and crashes). In other words, use --enable-opengl only if you plan to hack on that
9571 elif test $_os = iOS; then
9572 # As such with some suitable minor tweaks the Mac OpenGL transitions code would presumably
9573 # build fine for iOS, too, but let's leave that for later
9575 elif test "$enable_headless" = "yes"; then
9582 if test "x$enable_opengl" = "xno"; then
9584 elif test "$_os" = "Darwin"; then
9585 # We use frameworks on Mac OS X, no need for detail checks
9587 SYSTEM_MESA_HEADERS=YES
9588 AC_MSG_RESULT([yes])
9589 elif test $_os = WINNT; then
9590 # Experimental: try to use OpenGL on Windows
9592 # We need the internal "Mesa" headers.
9593 SYSTEM_MESA_HEADERS=NO
9594 BUILD_TYPE="$BUILD_TYPE MESA"
9595 AC_MSG_RESULT([yes])
9597 save_LDFLAGS=$LDFLAGS
9598 LDFLAGS="$LDFLAGS -lm"
9599 AC_MSG_RESULT([yes])
9600 AC_CHECK_LIB([GL], [main], [:],
9601 [AC_MSG_ERROR(libGL not installed or functional)], [])
9602 LDFLAGS="$LDFLAGS -lGL"
9603 AC_CHECK_LIB([GLU], [main], [:],
9604 [AC_MSG_ERROR(libGLU not installed or functional)], [])
9606 LDFLAGS=$save_LDFLAGS
9608 dnl ===================================================================
9609 dnl Check for system Mesa
9610 dnl ===================================================================
9611 AC_MSG_CHECKING([which Mesa headers to use])
9612 if test "$with_system_mesa_headers" = "yes"; then
9613 AC_MSG_RESULT([external])
9614 SYSTEM_MESA_HEADERS=YES
9616 AC_CHECK_HEADER(GL/glxext.h, [],
9617 [ AC_MSG_ERROR(mesa headers not found.)], [#include <GL/glx.h>])
9618 AC_MSG_CHECKING([whether GL/glxext.h defines PFNGLXBINDTEXIMAGEEXTPROC])
9619 AC_EGREP_HEADER(PFNGLXBINDTEXIMAGEEXTPROC, GL/glxext.h, [AC_MSG_RESULT([yes])], AC_MSG_ERROR(no))
9622 AC_MSG_RESULT([internal])
9623 SYSTEM_MESA_HEADERS=NO
9624 BUILD_TYPE="$BUILD_TYPE MESA"
9628 AC_SUBST(SYSTEM_MESA_HEADERS)
9629 AC_SUBST(ENABLE_OPENGL)
9631 # presenter minimizer extension?
9632 AC_MSG_CHECKING([whether to build the Presentation Minimizer extension])
9633 if test "x$enable_ext_presenter_minimizer" != "xno" -a "x$enable_extension_integration" != "xno"; then
9634 AC_MSG_RESULT([yes])
9635 ENABLE_MINIMIZER=YES
9639 SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_MINIMIZER"
9641 AC_SUBST(ENABLE_MINIMIZER)
9644 AC_MSG_CHECKING([whether to build the PDF import])
9645 if test "$_os" != Android -a "$_os" != iOS -a "$ENABLE_PDFIMPORT" != FALSE; then
9646 AC_MSG_RESULT([yes])
9647 ENABLE_PDFIMPORT=TRUE
9649 dnl ===================================================================
9650 dnl Check for system poppler
9651 dnl ===================================================================
9652 AC_MSG_CHECKING([which pdf backend to use])
9653 if test "$with_system_poppler" = "yes"; then
9654 AC_MSG_RESULT([external])
9656 PKG_CHECK_MODULES( POPPLER, poppler >= 0.8.0 )
9658 save_CXXFLAGS=$CXXFLAGS
9659 save_CPPFLAGS=$CPPFLAGS
9660 CXXFLAGS="$CXXFLAGS $POPPLER_CFLAGS"
9661 CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS"
9662 AC_CHECK_HEADER([cpp/poppler-version.h], [],
9663 [AC_MSG_ERROR([cpp/poppler-version.h not found. Install poppler])], [])
9664 CXXFLAGS=$save_CXXFLAGS
9665 CPPFLAGS=$save_CPPFLAGS
9667 libo_MINGW_CHECK_DLL([libpoppler])
9669 AC_MSG_RESULT([internal])
9671 BUILD_TYPE="$BUILD_TYPE XPDF"
9675 ENABLE_PDFIMPORT=FALSE
9677 AC_SUBST(ENABLE_PDFIMPORT)
9678 AC_SUBST(SYSTEM_POPPLER)
9679 AC_SUBST(POPPLER_CFLAGS)
9680 AC_SUBST(POPPLER_LIBS)
9682 AC_MSG_CHECKING([whether to build the Wiki Publisher extension])
9683 if test "x$enable_ext_wiki_publisher" = "xyes" -a "x$enable_extension_integration" != "xno" -a "$with_java" != "no"; then
9684 AC_MSG_RESULT([yes])
9685 ENABLE_MEDIAWIKI=YES
9686 BUILD_TYPE="$BUILD_TYPE XSLTML"
9687 if test "x$with_java" = "xno"; then
9688 AC_MSG_ERROR([Wiki Publisher requires Java! Enable Java if you want to build it.])
9693 SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_MEDIAWIKI"
9695 AC_SUBST(ENABLE_MEDIAWIKI)
9697 if test "$ENABLE_MEDIAWIKI" = "YES"; then
9698 AC_MSG_CHECKING([which Servlet API Jar to use])
9699 if test "$with_system_servlet_api" = "yes"; then
9700 AC_MSG_RESULT([external])
9701 SYSTEM_SERVLETAPI=YES
9702 if test -z "$SERVLETAPI_JAR"; then
9703 for version in '' -3.3 -3.2 -3.1 -3.0 -2.5 -2.4; do
9704 if test -r "/usr/share/java/servlet-api${version}.jar"; then
9705 SERVLETAPI_JAR=/usr/share/java/servlet-api${version}.jar
9709 AC_CHECK_FILE($SERVLETAPI_JAR, [],
9710 [AC_MSG_ERROR(servlet-api.jar not found.)], [])
9712 AC_MSG_RESULT([internal])
9713 SYSTEM_SERVLETAPI=NO
9714 BUILD_TYPE="$BUILD_TYPE TOMCAT"
9717 AC_SUBST(SYSTEM_SERVLETAPI)
9718 AC_SUBST(SERVLETAPI_JAR)
9720 AC_MSG_CHECKING([whether to build the Report Builder extension])
9721 if test "$enable_report_builder" != "no" -a "$with_java" != "no"; then
9722 AC_MSG_RESULT([yes])
9723 ENABLE_REPORTBUILDER=TRUE
9724 AC_MSG_CHECKING([which jfreereport libs to use])
9725 if test "$with_system_jfreereport" = "yes"; then
9726 SYSTEM_JFREEREPORT=YES
9727 AC_MSG_RESULT([external])
9728 if test -z $SAC_JAR; then
9729 SAC_JAR=/usr/share/java/sac.jar
9731 AC_CHECK_FILE($SAC_JAR, [],
9732 [AC_MSG_ERROR(sac.jar not found.)], [])
9734 if test -z $LIBXML_JAR; then
9735 AC_CHECK_FILE(/usr/share/java/libxml-1.0.0.jar,
9736 [ LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar ],
9738 AC_CHECK_FILE(/usr/share/java/libxml.jar,
9739 [ LIBXML_JAR=/usr/share/java/libxml.jar ],
9740 [AC_MSG_ERROR(libxml.jar replacement not found.)]
9745 AC_CHECK_FILE($LIBXML_JAR, [],
9746 [AC_MSG_ERROR(libxml.jar not found.)], [])
9749 if test -z $FLUTE_JAR; then
9750 AC_CHECK_FILE(/usr/share/java/flute-1.3.0.jar,
9751 [ FLUTE_JAR=/usr/share/java/flute-1.3.0.jar ],
9753 AC_CHECK_FILE(/usr/share/java/flute.jar,
9754 [ FLUTE_JAR=/usr/share/java/flute.jar ],
9755 [ AC_MSG_ERROR(flute-1.3.0.jar replacement not found.)]
9760 AC_CHECK_FILE($FLUTE_JAR, [],
9761 [AC_MSG_ERROR(flute-1.3.0.jar not found.)], [])
9764 if test -z $JFREEREPORT_JAR; then
9765 AC_CHECK_FILE(/usr/share/java/flow-engine-0.9.2.jar,
9766 [ JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar ],
9768 AC_CHECK_FILE(/usr/share/java/flow-engine.jar,
9769 [ JFREEREPORT_JAR=/usr/share/java/flow-engine.jar ],
9770 [AC_MSG_ERROR(jfreereport.jar replacement not found.)]
9775 AC_CHECK_FILE($JFREEREPORT_JAR, [],
9776 [AC_MSG_ERROR(jfreereport.jar not found.)], [])
9779 if test -z $LIBLAYOUT_JAR; then
9780 AC_CHECK_FILE(/usr/share/java/liblayout-0.2.9.jar,
9781 [ LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar ],
9783 AC_CHECK_FILE(/usr/share/java/liblayout.jar,
9784 [ LIBLAYOUT_JAR=/usr/share/java/liblayout.jar ],
9785 [AC_MSG_ERROR(liblayout.jar replacement not found.)]
9790 AC_CHECK_FILE($LIBLAYOUT_JAR, [],
9791 [AC_MSG_ERROR(liblayout.jar not found.)], [])
9794 if test -z $LIBLOADER_JAR; then
9795 AC_CHECK_FILE(/usr/share/java/libloader-1.0.0.jar,
9796 [ LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar ],
9798 AC_CHECK_FILE(/usr/share/java/libloader.jar,
9799 [ LIBLOADER_JAR=/usr/share/java/libloader.jar ],
9800 [AC_MSG_ERROR(libloader.jar replacement not found.)]
9805 AC_CHECK_FILE($LIBLOADER_JAR, [],
9806 [AC_MSG_ERROR(libloader.jar not found.)], [])
9809 if test -z $LIBFORMULA_JAR; then
9810 AC_CHECK_FILE(/usr/share/java/libformula-0.2.0.jar,
9811 [ LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar ],
9813 AC_CHECK_FILE(/usr/share/java/libformula.jar,
9814 [ LIBFORMULA_JAR=/usr/share/java/libformula.jar ],
9815 [AC_MSG_ERROR(libformula.jar replacement not found.)]
9820 AC_CHECK_FILE($LIBFORMULA_JAR, [],
9821 [AC_MSG_ERROR(libformula.jar not found.)], [])
9824 if test -z $LIBREPOSITORY_JAR; then
9825 AC_CHECK_FILE(/usr/share/java/librepository-1.0.0.jar,
9826 [ LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar ],
9828 AC_CHECK_FILE(/usr/share/java/librepository.jar,
9829 [ LIBREPOSITORY_JAR=/usr/share/java/librepository.jar ],
9830 [AC_MSG_ERROR(librepository.jar replacement not found.)]
9835 AC_CHECK_FILE($LIBREPOSITORY_JAR, [],
9836 [AC_MSG_ERROR(librepository.jar not found.)], [])
9839 if test -z $LIBFONTS_JAR; then
9840 AC_CHECK_FILE(/usr/share/java/libfonts-1.0.0.jar,
9841 [ LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar ],
9843 AC_CHECK_FILE(/usr/share/java/libfonts.jar,
9844 [ LIBFONTS_JAR=/usr/share/java/libfonts.jar ],
9845 [AC_MSG_ERROR(libfonts.jar replacement not found.)]
9850 AC_CHECK_FILE($LIBFONTS_JAR, [],
9851 [AC_MSG_ERROR(libfonts.jar not found.)], [])
9854 if test -z $LIBSERIALIZER_JAR; then
9855 AC_CHECK_FILE(/usr/share/java/libserializer-1.0.0.jar,
9856 [ LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar ],
9858 AC_CHECK_FILE(/usr/share/java/libserializer.jar,
9859 [ LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar ],
9860 [AC_MSG_ERROR(libserializer.jar replacement not found.)]
9865 AC_CHECK_FILE($LIBSERIALIZER_JAR, [],
9866 [AC_MSG_ERROR(libserializer.jar not found.)], [])
9869 if test -z $LIBBASE_JAR; then
9870 AC_CHECK_FILE(/usr/share/java/libbase-1.0.0.jar,
9871 [ LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar ],
9873 AC_CHECK_FILE(/usr/share/java/libbase.jar,
9874 [ LIBBASE_JAR=/usr/share/java/libbase.jar ],
9875 [AC_MSG_ERROR(libbase.jar replacement not found.)]
9880 AC_CHECK_FILE($LIBBASE_JAR, [],
9881 [AC_MSG_ERROR(libbase.jar not found.)], [])
9885 AC_MSG_RESULT([internal])
9886 SYSTEM_JFREEREPORT=NO
9887 BUILD_TYPE="$BUILD_TYPE JFREEREPORT"
9891 ENABLE_REPORTBUILDER=FALSE
9892 SYSTEM_JFREEREPORT=NO
9894 AC_SUBST(ENABLE_REPORTBUILDER)
9895 AC_SUBST(SYSTEM_JFREEREPORT)
9897 AC_SUBST(LIBXML_JAR)
9899 AC_SUBST(JFREEREPORT_JAR)
9900 AC_SUBST(LIBBASE_JAR)
9901 AC_SUBST(LIBLAYOUT_JAR)
9902 AC_SUBST(LIBLOADER_JAR)
9903 AC_SUBST(LIBFORMULA_JAR)
9904 AC_SUBST(LIBREPOSITORY_JAR)
9905 AC_SUBST(LIBFONTS_JAR)
9906 AC_SUBST(LIBSERIALIZER_JAR)
9908 # this has to be here because both the Wiki Publisher and the SRB use
9910 if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "TRUE"; then
9911 AC_MSG_CHECKING([which Apache commons-* libs to use])
9912 if test "$with_system_apache_commons" = "yes"; then
9913 SYSTEM_APACHE_COMMONS=YES
9914 AC_MSG_RESULT([external])
9915 if test "$ENABLE_MEDIAWIKI" = "YES"; then
9916 if test -z $COMMONS_CODEC_JAR; then
9917 AC_CHECK_FILE(/usr/share/java/commons-codec-1.6.jar,
9918 [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.6.jar ],
9920 AC_CHECK_FILE(/usr/share/java/commons-codec.jar,
9921 [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec.jar ],
9922 [AC_MSG_ERROR(commons-codec.jar replacement not found.)]
9927 AC_CHECK_FILE($COMMONS_CODEC_JAR, [],
9928 [AC_MSG_ERROR(commons-codec.jar not found.)], [])
9931 if test -z $COMMONS_LANG_JAR; then
9932 AC_CHECK_FILE(/usr/share/java/commons-lang-2.4.jar,
9933 [ COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.4.jar ],
9935 AC_CHECK_FILE(/usr/share/java/commons-lang.jar,
9936 [ COMMONS_LANG_JAR=/usr/share/java/commons-lang.jar ],
9937 [AC_MSG_ERROR(commons-lang.jar replacement not found.)]
9942 AC_CHECK_FILE($COMMONS_LANG_JAR, [],
9943 [AC_MSG_ERROR(commons-lang.jar not found.)], [])
9946 if test -z $COMMONS_HTTPCLIENT_JAR; then
9947 AC_CHECK_FILE(/usr/share/java/commons-httpclient-3.1.jar,
9948 [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar ],
9950 AC_CHECK_FILE(/usr/share/java/commons-httpclient.jar,
9951 [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient.jar ],
9952 [AC_MSG_ERROR(commons-httpclient.jar replacement not found.)]
9957 AC_CHECK_FILE($COMMONS_HTTPCLIENT_JAR, [],
9958 [AC_MSG_ERROR(commons-httpclient.jar not found.)], [])
9961 if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "TRUE"; then
9962 if test -z $COMMONS_LOGGING_JAR; then
9963 AC_CHECK_FILE(/usr/share/java/commons-logging-1.1.1.jar,
9964 [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar ],
9966 AC_CHECK_FILE(/usr/share/java/commons-logging.jar,
9967 [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar ],
9968 [AC_MSG_ERROR(commons-logging.jar replacement not found.)]
9973 AC_CHECK_FILE($COMMONS_LOGGING_JAR, [],
9974 [AC_MSG_ERROR(commons-logging.jar not found.)], [])
9978 AC_MSG_RESULT([internal])
9979 SYSTEM_APACHE_COMMONS=NO
9980 BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT"
9983 AC_SUBST(SYSTEM_APACHE_COMMONS)
9984 AC_SUBST(COMMONS_CODEC_JAR)
9985 AC_SUBST(COMMONS_LANG_JAR)
9986 AC_SUBST(COMMONS_HTTPCLIENT_JAR)
9987 AC_SUBST(COMMONS_LOGGING_JAR)
9989 # scripting provider for BeanShell?
9990 AC_MSG_CHECKING([whether to build support for scripts in BeanShell])
9991 if test "${enable_scripting_beanshell}" != "no" -a "x$with_java" != "xno"; then
9992 AC_MSG_RESULT([yes])
9993 ENABLE_SCRIPTING_BEANSHELL=YES
9995 dnl ===================================================================
9996 dnl Check for system beanshell
9997 dnl ===================================================================
9998 AC_MSG_CHECKING([which beanshell to use])
9999 if test "$with_system_beanshell" = "yes"; then
10000 AC_MSG_RESULT([external])
10002 if test -z $BSH_JAR; then
10003 BSH_JAR=/usr/share/java/bsh.jar
10005 AC_CHECK_FILE($BSH_JAR, [],
10006 [AC_MSG_ERROR(bsh.jar not found.)], [])
10008 AC_MSG_RESULT([internal])
10010 BUILD_TYPE="$BUILD_TYPE BSH"
10013 AC_MSG_RESULT([no])
10014 ENABLE_SCRIPTING_BEANSHELL=NO
10015 SCPDEFS="$SCPDEFS -DWITHOUT_SCRIPTING_BEANSHELL"
10017 AC_SUBST(ENABLE_SCRIPTING_BEANSHELL)
10018 AC_SUBST(SYSTEM_BSH)
10021 # scripting provider for JavaScript?
10022 AC_MSG_CHECKING([whether to build support for scripts in JavaScript])
10023 if test "${enable_scripting_javascript}" != "no" -a "x$with_java" != "xno"; then
10024 AC_MSG_RESULT([yes])
10025 ENABLE_SCRIPTING_JAVASCRIPT=YES
10027 dnl ===================================================================
10028 dnl Check for system rhino
10029 dnl ===================================================================
10030 AC_MSG_CHECKING([which rhino to use])
10031 if test "$with_system_rhino" = "yes"; then
10032 AC_MSG_RESULT([external])
10034 if test -z $RHINO_JAR; then
10035 RHINO_JAR=/usr/share/java/js.jar
10037 AC_CHECK_FILE($RHINO_JAR, [],
10038 [AC_MSG_ERROR(js.jar not found.)], [])
10040 AC_MSG_RESULT([internal])
10042 BUILD_TYPE="$BUILD_TYPE RHINO"
10045 AC_MSG_RESULT([no])
10046 ENABLE_SCRIPTING_JAVASCRIPT=NO
10047 SCPDEFS="$SCPDEFS -DWITHOUT_SCRIPTING_JAVASCRIPT"
10049 AC_SUBST(ENABLE_SCRIPTING_JAVASCRIPT)
10050 AC_SUBST(SYSTEM_RHINO)
10051 AC_SUBST(RHINO_JAR)
10054 case "$host_cpu" in
10055 x86_64 | powerpc64 | s390x)
10056 if test "$SAL_TYPES_SIZEOFLONG" = "8"; then
10057 supports_multilib="yes"
10064 dnl ===================================================================
10065 dnl Check whether the TQt and TDE libraries are available.
10066 dnl ===================================================================
10070 if test "$_os" != "OpenBSD"; then
10073 if test "$test_tde" = "yes" -a "$ENABLE_TDE" = "TRUE"; then
10074 dnl Search paths for TQt and TDE
10075 if test -z "$supports_multilib"; then
10076 tqt_incdirs="$QTINC /usr/local/tqt3/include /usr/include/tqt3 /usr/include /usr/X11R6/include/X11/tqt3 /usr/X11R6/include/tqt3 /usr/lib/tqt3/include /usr/lib/tqt3/include /usr/share/tqt3/include /usr/local/include/X11/tqt3 $x_includes"
10077 tqt_libdirs="$QTLIB /usr/local/tqt3/lib /usr/lib/tqt3 /usr/lib /usr/X11R6/lib/X11/tqt3 /usr/X11R6/lib/tqt3 /usr/lib/tqt3/lib /usr/lib/tqt3/lib /usr/share/tqt3/lib /usr/local/lib/tqt3 $x_libraries"
10079 tqt_incdirs="$QTINC /usr/local/tqt3/include /usr/include/tqt3 /usr/include /usr/X11R6/include/X11/tqt3 /usr/X11R6/include/tqt3 /usr/lib64/tqt3/include /usr/lib64/tqt3/include /usr/share/tqt3/include /usr/lib/tqt3/include /usr/lib/tqt3/include /usr/local/include/X11/tqt3 $x_includes"
10080 tqt_libdirs="$QTLIB /usr/local/tqt3/lib64 /usr/lib64/tqt3 /usr/lib64 /usr/X11R6/lib64/X11/tqt3 /usr/X11R6/lib64/tqt3 /usr/lib64/tqt3/lib64 /usr/lib64/tqt3/lib64 /usr/share/tqt3/lib64 /usr/local/tqt3/lib /usr/lib/tqt3 /usr/lib /usr/X11R6/lib/X11/tqt3 /usr/X11R6/lib/tqt3 /usr/lib/tqt3/lib /usr/lib/tqt3/lib /usr/share/tqt3/lib /usr/local/lib/tqt3 $x_libraries"
10082 if test -n "$TQTDIR"; then
10083 tqt_incdirs="$TQTDIR/include $tqt_incdirs"
10084 if test -z "$supports_multilib"; then
10085 tqt_libdirs="$TQTDIR/lib $tqt_libdirs"
10087 tqt_libdirs="$TQTDIR/lib64 $TQTDIR/lib $tqt_libdirs"
10090 if test -z "$supports_multilib"; then
10091 tde_incdirs="/usr/lib/trinity/include /usr/local/trinity/include /usr/local/include /usr/trinity/include /usr/include/trinity /opt/trinity/include /opt/trinity/include $x_includes"
10092 tde_libdirs="/usr/lib/trinity/lib /usr/local/trinity/lib /usr/trinity/lib /usr/lib/trinity /usr/lib/trinity /usr/X11R6/lib /usr/local/lib /opt/trinity/lib /opt/trinity/lib /usr/X11R6/trinity/lib /usr/lib $x_libraries"
10094 tde_incdirs="/usr/lib64/trinity/include /usr/lib/trinity/include /usr/local/trinity/include /usr/local/include /usr/trinity/include /usr/include/trinity /opt/trinity/include /opt/trinity/include $x_includes"
10095 tde_libdirs="/usr/lib64/trinity/lib64 /usr/local/trinity/lib64 /usr/trinity/lib64 /usr/lib64/trinity /usr/lib64/trinity /usr/X11R6/lib64 /usr/local/lib64 /opt/trinity/lib64 /opt/trinity/lib64 /usr/X11R6/trinity/lib64 /usr/lib/trinity/lib /usr/local/trinity/lib /usr/trinity/lib /usr/lib/trinity /usr/lib/trinity /usr/lib /usr/X11R6/lib /usr/local/lib /opt/trinity/lib /opt/trinity/lib /usr/X11R6/trinity/lib /usr/lib64 $x_libraries"
10097 if test -n "$TDEDIR"; then
10098 tde_incdirs="$TDEDIR/include $tde_incdirs"
10099 if test -z "$supports_multilib"; then
10100 tde_libdirs="$TDEDIR/lib $tde_libdirs"
10102 tde_libdirs="$TDEDIR/lib64 $TDEDIR/lib $tde_libdirs"
10107 tqt_test_include="ntqstyle.h"
10108 tde_test_include="kapp.h"
10110 if test "$_os" != "OpenBSD"; then
10111 tqt_test_library="libtqt-mt.so"
10112 tde_test_library="libDCOP.so"
10114 tqt_test_library="libtqt-mt.so*"
10115 tde_test_library="libDCOP.so*"
10118 dnl Check for TQt headers
10119 AC_MSG_CHECKING([for TQt headers])
10121 for tde_check in $tqt_incdirs; do
10122 if test -r "$tde_check/$tqt_test_include"; then
10123 tqt_incdir="$tde_check"
10127 AC_MSG_RESULT([$tqt_incdir])
10128 if test "x$tqt_incdir" = "xno"; then
10129 AC_MSG_ERROR([TQt headers not found. Please specify the root of
10130 your TQt installation by exporting TQTDIR before running "configure".])
10133 dnl Check for TQt libraries
10134 AC_MSG_CHECKING([for TQt libraries])
10136 for tqt_check in $tqt_libdirs; do
10137 if test -r "`ls $tqt_check/$tqt_test_library 2>/dev/null | head -1`"; then
10138 tqt_libdir="$tqt_check"
10142 AC_MSG_RESULT([$tqt_libdir])
10143 if test "x$tqt_libdir" = "xno"; then
10144 AC_MSG_ERROR([TQt libraries not found. Please specify the root of
10145 your TQt installation by exporting TQTDIR before running "configure".])
10148 dnl Check for Meta Object Compiler
10149 AC_PATH_PROG( MOC, moc, no, [`dirname $tqt_libdir`/bin:$TQTDIR/bin:$PATH] )
10150 if test "$MOC" = "no"; then
10151 AC_MSG_ERROR([TQt Meta Object Compiler not found. Please specify
10152 the root of your TQt installation by exporting TQTDIR before running "configure".])
10155 dnl Check for TDE headers
10156 AC_MSG_CHECKING([for TDE headers])
10158 for tde_check in $tde_incdirs; do
10159 if test -r "$tde_check/$tde_test_include"; then
10160 tde_incdir="$tde_check"
10164 AC_MSG_RESULT([$tde_incdir])
10165 if test "x$tde_incdir" = "xno"; then
10166 AC_MSG_ERROR([TDE headers not found. Please specify the root of
10167 your TDE installation by exporting TDEDIR before running "configure".])
10170 dnl Check for TDE libraries
10171 AC_MSG_CHECKING([for TDE libraries])
10173 for tde_check in $tde_libdirs; do
10174 if test -r "`ls $tde_check/$tde_test_library 2>/dev/null | head -1`"; then
10175 tde_libdir="$tde_check"
10179 AC_MSG_RESULT([$tde_libdir])
10180 if test "x$tde_libdir" = "xno"; then
10181 AC_MSG_ERROR([TDE libraries not found. Please specify the root of
10182 your TDE installation by exporting TDEDIR before running "configure".])
10185 dnl Set the variables
10186 TDE_CFLAGS="-I$tqt_incdir -I$tde_incdir -I/usr/include/tqt -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
10187 TDE_LIBS="-L$tde_libdir -L$tqt_libdir -ltdeio -ltdeui -ltdecore -ltqt -ltqt-mt"
10189 AC_SUBST(TDE_CFLAGS)
10193 dnl ===================================================================
10194 dnl Check whether the Qt3 and KDE3 libraries are available.
10195 dnl ===================================================================
10199 if test "$_os" != "OpenBSD"; then
10202 if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE"; then
10203 dnl Search paths for Qt3 and KDE3
10204 if test -z "$supports_multilib"; then
10205 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 /usr/local/include/X11/qt3 $x_includes"
10206 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 /usr/local/lib/qt3 $x_libraries"
10208 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 /usr/local/include/X11/qt3 $x_includes"
10209 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 /usr/local/lib/qt3 $x_libraries"
10211 if test -n "$QTDIR"; then
10212 qt_incdirs="$QTDIR/include $qt_incdirs"
10213 if test -z "$supports_multilib"; then
10214 qt_libdirs="$QTDIR/lib $qt_libdirs"
10216 qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs"
10219 if test -z "$supports_multilib"; then
10220 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"
10221 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"
10223 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"
10224 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"
10226 if test -n "$KDEDIR"; then
10227 kde_incdirs="$KDEDIR/include $kde_incdirs"
10228 if test -z "$supports_multilib"; then
10229 kde_libdirs="$KDEDIR/lib $kde_libdirs"
10231 kde_libdirs="$KDEDIR/lib64 $KDEDIR/lib $kde_libdirs"
10236 qt_test_include="qstyle.h"
10237 kde_test_include="kapp.h"
10239 if test "$_os" != "OpenBSD"; then
10240 qt_test_library="libqt-mt.so"
10241 kde_test_library="libDCOP.so"
10243 qt_test_library="libqt-mt.so*"
10244 kde_test_library="libDCOP.so*"
10247 dnl Check for Qt3 headers
10248 AC_MSG_CHECKING([for Qt3 headers])
10250 for kde_check in $qt_incdirs; do
10251 if test -r "$kde_check/$qt_test_include"; then
10252 qt_incdir="$kde_check"
10256 AC_MSG_RESULT([$qt_incdir])
10257 if test "x$qt_incdir" = "xno"; then
10258 AC_MSG_ERROR([Qt3 headers not found. Please specify the root of
10259 your Qt3 installation by exporting QTDIR before running "configure".])
10262 dnl Check for Qt3 libraries
10263 AC_MSG_CHECKING([for Qt3 libraries])
10265 for qt_check in $qt_libdirs; do
10266 if test -r "`ls $qt_check/$qt_test_library 2>/dev/null | head -1`"; then
10267 qt_libdir="$qt_check"
10271 AC_MSG_RESULT([$qt_libdir])
10272 if test "x$qt_libdir" = "xno"; then
10273 AC_MSG_ERROR([Qt3 libraries not found. Please specify the root of
10274 your Qt3 installation by exporting QTDIR before running "configure".])
10277 dnl Check for Meta Object Compiler
10278 AC_PATH_PROG( MOC, moc, no, [`dirname $qt_libdir`/bin:$QTDIR/bin:$PATH] )
10279 if test "$MOC" = "no"; then
10280 AC_MSG_ERROR([Qt3 Meta Object Compiler not found. Please specify
10281 the root of your Qt3 installation by exporting QTDIR before running "configure".])
10284 dnl Check for KDE3 headers
10285 AC_MSG_CHECKING([for KDE3 headers])
10287 for kde_check in $kde_incdirs; do
10288 if test -r "$kde_check/$kde_test_include"; then
10289 kde_incdir="$kde_check"
10293 AC_MSG_RESULT([$kde_incdir])
10294 if test "x$kde_incdir" = "xno"; then
10295 AC_MSG_ERROR([KDE3 headers not found. Please specify the root of
10296 your KDE3 installation by exporting KDEDIR before running "configure".])
10299 dnl Check for KDE3 libraries
10300 AC_MSG_CHECKING([for KDE3 libraries])
10302 for kde_check in $kde_libdirs; do
10303 if test -r "`ls $kde_check/$kde_test_library 2>/dev/null | head -1`"; then
10304 kde_libdir="$kde_check"
10308 AC_MSG_RESULT([$kde_libdir])
10309 if test "x$kde_libdir" = "xno"; then
10310 AC_MSG_ERROR([KDE3 libraries not found. Please specify the root of
10311 your KDE3 installation by exporting KDEDIR before running "configure".])
10314 dnl Set the variables
10315 KDE_CFLAGS="-I$qt_incdir -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
10316 KDE_LIBS="-L$kde_libdir -L$qt_libdir -lkdeui -lkdecore -lqt-mt"
10318 AC_SUBST(KDE_CFLAGS)
10322 dnl ===================================================================
10323 dnl KDE4 Integration
10324 dnl ===================================================================
10333 if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE"; then
10334 qt_incdirs="$QT4INC /usr/include/qt4 /usr/include $x_includes"
10335 qt_libdirs="$QT4LIB /usr/lib/qt4 /usr/lib $x_libraries"
10337 kde_incdirs="/usr/include /usr/include/kde4 $x_includes"
10338 kde_libdirs="/usr/lib /usr/lib/kde4 /usr/lib/kde4/devel $x_libraries"
10340 if test -n "$supports_multilib"; then
10341 qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64"
10342 kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4 /usr/lib64/kde4/devel"
10345 if test -n "$QTDIR"; then
10346 qt_incdirs="$QTDIR/include $qt_incdirs"
10347 if test -z "$supports_multilib"; then
10348 qt_libdirs="$QTDIR/lib $qt_libdirs"
10350 qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs"
10353 if test -n "$QT4DIR"; then
10354 qt_incdirs="$QT4DIR/include $qt_incdirs"
10355 if test -z "$supports_multilib"; then
10356 qt_libdirs="$QT4DIR/lib $qt_libdirs"
10358 qt_libdirs="$QT4DIR/lib64 $QT4DIR/lib $qt_libdirs"
10362 if test -n "$KDEDIR"; then
10363 kde_incdirs="$KDEDIR/include $kde_incdirs"
10364 if test -z "$supports_multilib"; then
10365 kde_libdirs="$KDEDIR/lib $kde_libdirs"
10367 kde_libdirs="$KDEDIR/lib64 $KDEDIR/lib $kde_libdirs"
10370 if test -n "$KDE4DIR"; then
10371 kde_incdirs="$KDE4DIR/include $KDE4DIR/include/kde4 $kde_incdirs"
10372 if test -z "$supports_multilib"; then
10373 kde_libdirs="$KDE4DIR/lib $kde_libdirs"
10375 kde_libdirs="$KDE4DIR/lib64 $KDE4DIR/lib $kde_libdirs"
10379 qt_test_include="Qt/qobject.h"
10380 qt_test_library="libQtCore.so"
10381 kde_test_include="kwindowsystem.h"
10382 kde_test_library="libsolid.so"
10384 AC_MSG_CHECKING([for Qt4 headers])
10386 for inc_dir in $qt_incdirs; do
10387 if test -r "$inc_dir/$qt_test_include"; then
10388 qt_header_dir="$inc_dir"
10393 AC_MSG_RESULT([$qt_header_dir])
10394 if test "x$qt_header_dir" = "xno"; then
10395 AC_MSG_ERROR([Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".])
10398 dnl Check for qmake
10399 AC_PATH_PROG( QMAKEQT4, qmake-qt4, no, [`dirname $qt_header_dir`/bin:$QT4DIR/bin:$PATH] )
10401 if test "$QMAKE4" = "no"; then
10402 AC_PATH_PROG( QMAKE4, qmake, no, [`dirname $qt_header_dir`/bin:$QT4DIR/bin:$PATH] )
10403 if test "$QMAKE4" = "no"; then
10404 AC_MSG_ERROR([Qmake not found. Please specify
10405 the root of your Qt installation by exporting QT4DIR before running "configure".])
10409 qt_libdirs="`$QMAKE4 -query QT_INSTALL_LIBS` $qt_libdirs"
10410 AC_MSG_CHECKING([for Qt4 libraries])
10412 for lib_dir in $qt_libdirs; do
10413 if test -r "$lib_dir/$qt_test_library"; then
10414 qt_lib_dir="$lib_dir"
10415 PKG_CONFIG_PATH="$qt_lib_dir"/pkgconfig:$PKG_CONFIG_PATH
10420 AC_MSG_RESULT([$qt_lib_dir])
10422 if test "x$qt_lib_dir" = "xno"; then
10423 AC_MSG_ERROR([Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".])
10426 dnl Check for Meta Object Compiler
10428 AC_PATH_PROG( MOCQT4, moc-qt4, no, [`dirname $qt_lib_dir`/bin:$QT4DIR/bin:$PATH] )
10430 if test "$MOC4" = "no"; then
10431 AC_PATH_PROG( MOC4, moc, no, [`dirname $qt_lib_dir`/bin:$QT4DIR/bin:$PATH] )
10432 if test "$MOC4" = "no"; then
10433 AC_MSG_ERROR([Qt Meta Object Compiler not found. Please specify
10434 the root of your Qt installation by exporting QT4DIR before running "configure".])
10438 dnl Check for KDE4 headers
10439 AC_MSG_CHECKING([for KDE4 headers])
10441 for kde_check in $kde_incdirs; do
10442 if test -r "$kde_check/$kde_test_include"; then
10443 kde_incdir="$kde_check"
10447 AC_MSG_RESULT([$kde_incdir])
10448 if test "x$kde_incdir" = "xno"; then
10449 AC_MSG_ERROR([KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".])
10452 dnl Check for KDE4 libraries
10453 AC_MSG_CHECKING([for KDE4 libraries])
10455 for kde_check in $kde_libdirs; do
10456 if test -r "$kde_check/$kde_test_library"; then
10457 kde_libdir="$kde_check"
10462 AC_MSG_RESULT([$kde_libdir])
10463 if test "x$kde_libdir" = "xno"; then
10464 AC_MSG_ERROR([KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".])
10467 KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
10468 KDE4_LIBS="-L$kde_libdir -L$qt_lib_dir -lkio -lkfile -lkdeui -lkdecore -lQtCore -lQtGui"
10470 AC_LANG_PUSH([C++])
10471 save_CXXFLAGS=$CXXFLAGS
10472 CXXFLAGS="$CXXFLAGS $KDE4_CFLAGS"
10473 AC_MSG_CHECKING([whether KDE is >= 4.2])
10474 AC_RUN_IFELSE([AC_LANG_SOURCE([[
10475 #include <kdeversion.h>
10477 int main(int argc, char **argv) {
10478 if (KDE_VERSION_MAJOR == 4 && KDE_VERSION_MINOR >= 2) return 0;
10481 ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([KDE version too old])],[])
10482 CXXFLAGS=$save_CXXFLAGS
10485 # Glib is needed for properly handling Qt event loop with Qt's Glib integration enabled.
10486 # Sets also KDE_GLIB_CFLAGS/KDE_GLIB_LIBS if successful.
10487 PKG_CHECK_MODULES(KDE_GLIB,[glib-2.0 >= 2.4],
10490 AC_DEFINE(KDE_HAVE_GLIB,1)
10492 AC_MSG_WARN([[No Glib found, KDE4 support will not integrate with Qt's Glib event loop support]]))
10494 AC_SUBST(KDE4_CFLAGS)
10495 AC_SUBST(KDE4_LIBS)
10497 AC_SUBST(KDE_GLIB_CFLAGS)
10498 AC_SUBST(KDE_GLIB_LIBS)
10499 AC_SUBST(KDE_HAVE_GLIB)
10501 dnl ===================================================================
10502 dnl Test for the enabling the lockdown pieces
10503 dnl ===================================================================
10504 AC_MSG_CHECKING([whether to enable the lockdown pieces])
10506 if test -n "$enable_lockdown" -a "$enable_lockdown" != "no"; then
10507 ENABLE_LOCKDOWN=YES
10508 AC_MSG_RESULT([yes])
10510 AC_MSG_RESULT([no])
10512 AC_SUBST(ENABLE_LOCKDOWN)
10514 dnl ===================================================================
10515 dnl Test whether to include Evolution 2 support
10516 dnl ===================================================================
10517 AC_MSG_CHECKING([whether to enable evolution 2 support])
10518 if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then
10519 AC_MSG_RESULT([yes])
10520 PKG_CHECK_MODULES(GOBJECT, gobject-2.0)
10521 ENABLE_EVOAB2="TRUE"
10524 AC_MSG_RESULT([no])
10526 AC_SUBST(ENABLE_EVOAB2)
10527 AC_SUBST(GOBJECT_CFLAGS)
10528 AC_SUBST(GOBJECT_LIBS)
10530 dnl ===================================================================
10531 dnl Test whether to include TDE AB support
10532 dnl ===================================================================
10533 AC_MSG_CHECKING([whether to enable TDE address book support])
10534 if test "$enable_tdeab" = "yes" -a "$enable_tde" = "yes"; then
10535 AC_MSG_RESULT([yes])
10536 AC_LANG_PUSH([C++])
10537 save_CXXFLAGS=$CXXFLAGS
10538 CXXFLAGS="$CXXFLAGS $TDE_CFLAGS"
10539 AC_MSG_CHECKING([whether TDE is at least R14.0])
10540 AC_RUN_IFELSE([AC_LANG_SOURCE([[
10541 #include <tdeversion.h>
10543 int main(int argc, char **argv) {
10544 if (TDE_VERSION_MAJOR >= 14) return 0;
10547 ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([TDE version too old or too recent, please use another version of TDE or disable TDE address book support])],[])
10548 CXXFLAGS=$save_CXXFLAGS
10552 AC_MSG_RESULT([no])
10555 AC_SUBST(ENABLE_TDEAB)
10557 dnl ===================================================================
10558 dnl Test whether to include KDE AB support
10559 dnl ===================================================================
10560 AC_MSG_CHECKING([whether to enable KDE address book support])
10561 if test "$enable_kdeab" = "yes" -a "$enable_kde" = "yes"; then
10562 AC_MSG_RESULT([yes])
10563 AC_LANG_PUSH([C++])
10564 save_CXXFLAGS=$CXXFLAGS
10565 CXXFLAGS="$CXXFLAGS $KDE_CFLAGS"
10566 AC_MSG_CHECKING([whether KDE is between 3.2 and 3.6])
10567 AC_RUN_IFELSE([AC_LANG_SOURCE([[
10568 #include <kdeversion.h>
10570 int main(int argc, char **argv) {
10571 if (KDE_VERSION_MAJOR == 3 && 2 <= KDE_VERSION_MINOR && KDE_VERSION_MINOR <= 6) return 0;
10574 ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([KDE version too old or too recent, please use another version of KDE or disable KDE address book support])],[])
10575 CXXFLAGS=$save_CXXFLAGS
10579 AC_MSG_RESULT([no])
10582 AC_SUBST(ENABLE_KAB)
10584 dnl ===================================================================
10585 dnl Test which themes to include
10586 dnl ===================================================================
10587 AC_MSG_CHECKING([which themes to include])
10588 # if none given use default subset of available themes
10589 if test "x$with_theme" = "x" -o "x$with_theme" = "xyes"; then
10590 with_theme="crystal default hicontrast oxygen tango"
10591 test "$ENABLE_RELEASE_BUILD" = "FALSE" && with_theme="$with_theme tango_testing"
10595 if test "x$with_theme" != "xno"; then
10596 for theme in $with_theme; do
10598 crystal|default|galaxy|hicontrast|human|industrial|oxygen|tango|tango_testing) : ;;
10599 *) AC_MSG_ERROR([Unknown value for --with-theme: $theme]) ;;
10601 WITH_THEMES="$WITH_THEMES $theme"
10602 SCPDEFS="$SCPDEFS -DTHEME_`echo $theme|tr '[[:lower:]]' '[[:upper:]]'`"
10605 AC_MSG_RESULT([$WITH_THEMES])
10606 AC_SUBST([WITH_THEMES])
10608 dnl ===================================================================
10609 dnl Test whether to integrate helppacks into the product's installer
10610 dnl ===================================================================
10611 AC_MSG_CHECKING([for helppack integration])
10612 if test "$with_helppack_integration" = "no"; then
10613 WITH_HELPPACK_INTEGRATION=NO
10614 AC_MSG_RESULT([no integration])
10616 WITH_HELPPACK_INTEGRATION=YES
10617 SCPDEFS="$SCPDEFS -DWITH_HELPPACK_INTEGRATION"
10618 AC_MSG_RESULT([integration])
10620 AC_SUBST(WITH_HELPPACK_INTEGRATION)
10622 dnl ===================================================================
10623 dnl Test whether to use CoreText framework
10624 dnl ===================================================================
10626 if test "$_os" = "Darwin"; then
10627 AC_MSG_CHECKING([whether to use CoreText framework])
10628 if test "$enable_coretext" != no -o "$BITNESS_OVERRIDE" = 64; then
10629 AC_MSG_RESULT([yes])
10630 ENABLE_CORETEXT=YES
10632 AC_MSG_RESULT([no])
10635 AC_SUBST(ENABLE_CORETEXT)
10637 ###############################################################################
10638 # Extensions checking
10639 ###############################################################################
10640 AC_MSG_CHECKING([for extensions integration])
10641 if test "x$enable_extension_integration" != "xno"; then
10642 WITH_EXTENSION_INTEGRATION=YES
10643 SCPDEFS="$SCPDEFS -DWITH_EXTENSION_INTEGRATION"
10644 AC_MSG_RESULT([yes, use integration])
10646 WITH_EXTENSION_INTEGRATION=NO
10647 AC_MSG_RESULT([no, do not integrate])
10649 AC_SUBST(WITH_EXTENSION_INTEGRATION)
10651 dnl Should any extra extensions be included?
10652 dnl There are standalone tests for each of these below.
10653 WITH_EXTRA_EXTENSIONS=
10654 AC_SUBST([WITH_EXTRA_EXTENSIONS])
10656 libo_CHECK_EXTENSION([Watch Window],[WATCH_WINDOW],[watch_window],[watch-window],[23bd75552206dfcd8fd4e29137dcac84-WatchWindow_1.2.0.0.oxt])
10657 libo_CHECK_EXTENSION([SmART Gallery (Diagram)],[DIAGRAM],[diagram],[diagram],[8d74685d41f8bffe8c3e71fe8deac09d-SmART_0.9.5.oxt])
10658 libo_CHECK_EXTENSION([Validator],[VALIDATOR],[validator],[validator],[bbdd5639ada63e3130761daaecae1a10-Validator_1.1.0.0.oxt])
10659 libo_CHECK_EXTENSION([Barcode],[BARCODE],[barcode],[barcode],[3ed18025a766f1e955707b969c8113a5-Barcode_1.3.5.0.oxt])
10660 libo_CHECK_EXTENSION([ConvertTextToNumber],[CT2N],[ct2n],[ct2n],[])
10661 libo_CHECK_EXTENSION([Numbertext],[NUMBERTEXT],[numbertext],[numbertext],[b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt])
10662 libo_CHECK_EXTENSION([Hungarian Cross-reference Toolbar],[HUNART],[hunart],[hunart],[b632bdd25649cc4067bcb410bae23d2b-hunart_0.3.oxt])
10663 libo_CHECK_EXTENSION([Typography Toolbar],[TYPO],[typo],[typo],[9d60b6cfa3ef1926848710bbcd11115b-typo_0.4.2.oxt])
10664 libo_CHECK_EXTENSION([Google Docs],[GOOGLE_DOCS],[google_docs],[google-docs],[27211596cf0ad97cab7321239406fde0-gdocs_3.0.1_modified.oxt])
10665 if test "x$with_java" != "xno"; then
10666 libo_CHECK_EXTENSION([NLPSolver],[NLPSOLVER],[nlpsolver],[nlpsolver],[])
10667 libo_CHECK_EXTENSION([LanguageTool],[LANGUAGETOOL],[languagetool],[languagetool],[])
10670 dnl ===================================================================
10671 dnl Test whether to include Sun Professional Template Pack
10672 dnl ===================================================================
10673 AC_MSG_CHECKING([for Sun Professional Template Pack integration (only supported languages displayed)])
10674 if test "$with_sun_templates" = "" -o "$with_sun_templates" = "no"; then
10675 AC_MSG_RESULT([no integration])
10677 SCPDEFS="$SCPDEFS -DWITH_EXTENSION_SUN_TEMPLATE_PACK"
10678 sun_supported_langs="en-US de it fr es hu"
10679 if test "$with_sun_templates" = "yes"; then
10680 wanted_sun_templates="$sun_supported_langs"
10682 # check whether the langs are supported by Sun
10683 wanted_sun_templates=
10684 for lang in $with_sun_templates; do
10685 if test -n "`echo $sun_supported_langs | grep "$lang"`"; then
10686 wanted_sun_templates="$wanted_sun_templates $lang"
10691 SUNTEMPLATES_DE_PACK=
10692 SUNTEMPLATES_EN_US_PACK=
10693 SUNTEMPLATES_ES_PACK=
10694 SUNTEMPLATES_FR_PACK=
10695 SUNTEMPLATES_HU_PACK=
10696 SUNTEMPLATES_IT_PACK=
10697 # check whether the langs are requested at all
10698 for lang in $wanted_sun_templates; do
10699 if test "$with_lang" = "ALL" -o -n "`echo $with_lang | grep "$lang"`"; then
10700 SUNTEMPLATES_LANG="$SUNTEMPLATES_LANG $lang"
10702 "de") SUNTEMPLATES_DE_PACK="53ca5e56ccd4cab3693ad32c6bd13343-Sun-ODF-Template-Pack-de_1.0.0.oxt";;
10703 "en-US") SUNTEMPLATES_EN_US_PACK="472ffb92d82cf502be039203c606643d-Sun-ODF-Template-Pack-en-US_1.0.0.oxt";;
10704 "es") SUNTEMPLATES_ES_PACK="4ad003e7bbda5715f5f38fde1f707af2-Sun-ODF-Template-Pack-es_1.0.0.oxt";;
10705 "fr") SUNTEMPLATES_FR_PACK="a53080dc876edcddb26eb4c3c7537469-Sun-ODF-Template-Pack-fr_1.0.0.oxt";;
10706 "hu") SUNTEMPLATES_HU_PACK="09ec2dac030e1dcd5ef7fa1692691dc0-Sun-ODF-Template-Pack-hu_1.0.0.oxt";;
10707 "it") SUNTEMPLATES_IT_PACK="b33775feda3bcf823cad7ac361fd49a6-Sun-ODF-Template-Pack-it_1.0.0.oxt";;
10711 WITH_EXTRA_EXTENSIONS=YES
10712 AC_MSG_RESULT([$SUNTEMPLATES_LANG])
10714 AC_SUBST(SUNTEMPLATES_DE_PACK)
10715 AC_SUBST(SUNTEMPLATES_EN_US_PACK)
10716 AC_SUBST(SUNTEMPLATES_ES_PACK)
10717 AC_SUBST(SUNTEMPLATES_FR_PACK)
10718 AC_SUBST(SUNTEMPLATES_HU_PACK)
10719 AC_SUBST(SUNTEMPLATES_IT_PACK)
10721 dnl ===================================================================
10722 dnl Test whether to include fonts
10723 dnl ===================================================================
10724 AC_MSG_CHECKING([whether to include third-party fonts])
10725 if test "$with_fonts" != "no"; then
10726 AC_MSG_RESULT([yes])
10728 BUILD_TYPE="$BUILD_TYPE MORE_FONTS"
10730 AC_MSG_RESULT([no])
10732 SCPDEFS="$SCPDEFS -DWITHOUT_FONTS"
10734 AC_SUBST(WITH_FONTS)
10736 dnl ===================================================================
10737 dnl Test whether to include ppds
10738 dnl ===================================================================
10739 AC_MSG_CHECKING([whether to include PPDs])
10740 if test "$with_ppds" != "no"; then
10741 AC_MSG_RESULT([yes])
10743 AC_MSG_RESULT([no])
10745 SCPDEFS="$SCPDEFS -DWITHOUT_PPDS"
10747 AC_SUBST(WITHOUT_PPDS)
10749 dnl ===================================================================
10750 dnl Test whether to include afms
10751 dnl ===================================================================
10752 AC_MSG_CHECKING([whether to include AFMs])
10753 if test "$with_afms" != "no"; then
10754 AC_MSG_RESULT([yes])
10755 BUILD_TYPE="$BUILD_TYPE AFMS"
10757 AC_MSG_RESULT([no])
10759 SCPDEFS="$SCPDEFS -DWITHOUT_AFMS"
10761 AC_SUBST(WITHOUT_AFMS)
10763 dnl ===================================================================
10764 dnl Test whether to include extra galleries
10765 dnl ===================================================================
10766 AC_MSG_CHECKING([whether to include extra galleries])
10767 if test "$enable_extra_gallery" = "" -o "$enable_extra_gallery" = "no"; then
10768 AC_MSG_RESULT([no])
10769 WITH_EXTRA_GALLERY=NO
10770 OOOP_GALLERY_PACK=""
10772 AC_MSG_RESULT([yes])
10773 WITH_EXTRA_GALLERY=YES
10774 BUILD_TYPE="$BUILD_TYPE EXTRA_GALLERY"
10775 SCPDEFS="$SCPDEFS -DWITH_EXTRA_GALLERY"
10776 OOOP_GALLERY_PACK="af9314c5972d95a5d6da23ffad818f68-OOOP-gallery-pack-2.8.0.0.zip"
10778 AC_SUBST(WITH_EXTRA_GALLERY)
10779 AC_SUBST(OOOP_GALLERY_PACK)
10781 dnl ===================================================================
10782 dnl Test whether to include extra templates
10783 dnl ===================================================================
10784 AC_MSG_CHECKING([whether to include extra templates])
10785 if test "$enable_extra_template" = "" -o "$enable_extra_template" = "no"; then
10786 AC_MSG_RESULT([no])
10787 WITH_EXTRA_TEMPLATE=NO
10788 OOOP_TEMPLATES_PACK=""
10790 AC_MSG_RESULT([yes])
10791 WITH_EXTRA_TEMPLATE=YES
10792 BUILD_TYPE="$BUILD_TYPE EXTRA_TEMPLATE"
10793 SCPDEFS="$SCPDEFS -DWITH_EXTRA_TEMPLATE"
10794 OOOP_TEMPLATES_PACK="1be202fbbbc13f10592a98f70a4a87fb-OOOP-templates-pack-2.9.0.0.zip"
10796 AC_SUBST(WITH_EXTRA_TEMPLATE)
10797 AC_SUBST(OOOP_TEMPLATES_PACK)
10799 dnl ===================================================================
10800 dnl Test whether to include extra samples
10801 dnl ===================================================================
10802 AC_MSG_CHECKING([whether to include extra samples])
10803 if test "$enable_extra_sample" = "" -o "$enable_extra_sample" = "no"; then
10804 AC_MSG_RESULT([no])
10805 WITH_EXTRA_SAMPLE=NO
10806 OOOP_SAMPLES_PACK=""
10808 AC_MSG_RESULT([yes])
10809 WITH_EXTRA_SAMPLE=YES
10810 BUILD_TYPE="$BUILD_TYPE EXTRA_SAMPLE"
10811 SCPDEFS="$SCPDEFS -DWITH_EXTRA_SAMPLE"
10812 OOOP_SAMPLES_PACK="a6bccacf44914969e6e7b2f8faf4132c-OOOP-samples-pack-2.7.0.0.zip"
10814 AC_SUBST(WITH_EXTRA_SAMPLE)
10815 AC_SUBST(OOOP_SAMPLES_PACK)
10817 dnl ===================================================================
10818 dnl Test whether to include extra fonts
10819 dnl ===================================================================
10820 AC_MSG_CHECKING([whether to include extra fonts])
10821 if test "$enable_extra_font" = "" -o "$enable_extra_font" = "no"; then
10822 AC_MSG_RESULT([no])
10826 AC_MSG_RESULT([yes])
10827 WITH_EXTRA_FONT=YES
10828 BUILD_TYPE="$BUILD_TYPE EXTRA_FONT"
10829 SCPDEFS="$SCPDEFS -DWITH_EXTRA_FONT"
10830 OOOP_FONTS_PACK="a10aa597411643326e27d7fc128af12d-OOOP-fonts-pack-2.9.0.0.zip"
10832 AC_SUBST(WITH_EXTRA_FONT)
10833 AC_SUBST(OOOP_FONTS_PACK)
10835 dnl ===================================================================
10836 dnl Test whether to enable online update service
10837 dnl ===================================================================
10838 AC_MSG_CHECKING([whether to enable online update])
10839 ENABLE_ONLINE_UPDATE=
10840 if test "$enable_online_update" = ""; then
10841 if test "$_os" = "WINNT" -o "$_os" = "Darwin"; then
10842 AC_MSG_RESULT([yes])
10843 ENABLE_ONLINE_UPDATE="TRUE"
10845 AC_MSG_RESULT([no])
10848 if test "$enable_online_update" = "yes"; then
10849 AC_MSG_RESULT([yes])
10850 ENABLE_ONLINE_UPDATE="TRUE"
10852 AC_MSG_RESULT([no])
10855 AC_SUBST(ENABLE_ONLINE_UPDATE)
10857 dnl ===================================================================
10858 dnl Test whether to create MSI with LIMITUI=1 (silent install)
10859 dnl ===================================================================
10860 AC_MSG_CHECKING([whether to create MSI with LIMITUI=1 (silent install)])
10861 if test "$enable_silent_msi" = "" -o "$enable_silent_msi" = "no"; then
10862 AC_MSG_RESULT([no])
10863 ENABLE_SILENT_MSI="FALSE"
10865 AC_MSG_RESULT([yes])
10866 ENABLE_SILENT_MSI="TRUE"
10867 SCPDEFS="$SCPDEFS -DENABLE_SILENT_MSI"
10869 AC_SUBST(ENABLE_SILENT_MSI)
10871 AC_MSG_CHECKING([whether and how to use Xinerama])
10872 if test "$_os" = "Darwin"; then
10874 XINERAMA_LINK=dynamic
10875 AC_MSG_RESULT([yes])
10876 elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then
10877 if test "$x_libraries" = "default_x_libraries"; then
10878 XINERAMALIB=`$PKG_CONFIG --variable=libdir xinerama`
10879 if test "x$XINERAMALIB" = x; then
10880 XINERAMALIB="/usr/lib"
10883 XINERAMALIB="$x_libraries"
10885 if test -e "$XINERAMALIB/libXinerama.so" -a -e "$XINERAMALIB/libXinerama.a"; then
10886 # we have both versions, let the user decide but use the dynamic one
10889 if test -z "$with_static_xinerama" -o -n "$with_system_libs"; then
10890 XINERAMA_LINK=dynamic
10892 XINERAMA_LINK=static
10894 elif test -e "$XINERAMALIB/libXinerama.so" -a ! -e "$XINERAMALIB/libXinerama.a"; then
10895 # we have only the dynamic version
10897 XINERAMA_LINK=dynamic
10898 elif test -e "$XINERAMALIB/libXinerama.a"; then
10900 if echo $host_cpu | $GREP -E 'i[[3456]]86' 2>/dev/null >/dev/null; then
10902 XINERAMA_LINK=static
10912 if test "$USE_XINERAMA" = "YES"; then
10913 AC_MSG_RESULT([yes, with $XINERAMA_LINK linking])
10914 AC_CHECK_HEADER(X11/extensions/Xinerama.h, [],
10915 [AC_MSG_ERROR(Xinerama header not found.)], [])
10916 XEXTLIBS=`$PKG_CONFIG --variable=libs xext`
10917 if test "x$XEXTLIB" = x; then
10918 XEXTLIBS="-L$XLIB -L$XINERAMALIB -lXext"
10920 XINERAMA_EXTRA_LIBS="$XEXTLIBS"
10921 if test "$_os" = "FreeBSD"; then
10922 XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -lXt"
10924 if test "$_os" = "Linux"; then
10925 XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl"
10927 AC_CHECK_LIB([Xinerama], [XineramaIsActive], [:],
10928 [AC_MSG_ERROR(Xinerama not functional?)], [$XINERAMA_EXTRA_LIBS])
10930 AC_MSG_RESULT([no, libXinerama not found or wrong architecture.])
10935 AC_MSG_RESULT([no])
10937 AC_SUBST(USE_XINERAMA)
10938 AC_SUBST(XINERAMA_LINK)
10940 dnl ===================================================================
10941 dnl Test whether to build cairo or rely on the system version
10942 dnl ===================================================================
10944 if test "$GUIBASE" = "unx"; then
10945 # Used in vcl/Library_vclplug_gen.mk
10949 if test "$test_cairo" = "yes"; then
10950 AC_MSG_CHECKING([whether to use the system cairo])
10952 if test "$with_system_cairo" = "yes"; then
10954 AC_MSG_RESULT([yes])
10956 PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 )
10958 if test "$test_xrender" = "yes"; then
10959 if test "$with_system_xextensions_headers" != "no"; then
10960 AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8])
10962 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/extensions/Xrender.h>]],[[
10963 #ifdef PictStandardA8
10967 ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([no, X headers too old.])])
10972 libo_MINGW_CHECK_DLL([libcairo])
10973 libo_MINGW_TRY_DLL([libfontconfig])
10974 libo_MINGW_TRY_DLL([libfreetype])
10975 libo_MINGW_TRY_DLL([libpixman])
10976 libo_MINGW_TRY_DLL([libpng15])
10979 AC_MSG_RESULT([no])
10981 BUILD_TYPE="$BUILD_TYPE CAIRO"
10982 SCPDEFS="$SCPDEFS -DNEED_CAIRO"
10986 AC_SUBST(SYSTEM_CAIRO)
10987 AC_SUBST(CAIRO_CFLAGS)
10988 AC_SUBST(CAIRO_LIBS)
10990 dnl ===================================================================
10991 dnl Test whether to use liblangtag
10992 dnl ===================================================================
10995 AC_MSG_CHECKING([whether to use liblangtag])
10996 if test "$enable_liblangtag" = "yes" -o \( "$enable_liblangtag" = "" -a $_os != Android -a $_os != iOS \); then
10997 ENABLE_LIBLANGTAG=YES
10998 AC_MSG_RESULT([yes])
10999 AC_MSG_CHECKING([whether to use system liblangtag])
11000 if test "$with_system_liblangtag" = yes; then
11001 SYSTEM_LIBLANGTAG=YES
11002 AC_MSG_RESULT([yes])
11003 PKG_CHECK_MODULES( LIBLANGTAG, liblangtag >= 0.4.0)
11004 libo_MINGW_CHECK_DLL([liblangtag])
11006 SYSTEM_LIBLANGTAG=NO
11007 AC_MSG_RESULT([no])
11008 BUILD_TYPE="$BUILD_TYPE LIBLANGTAG"
11011 ENABLE_LIBLANGTAG=NO
11012 AC_MSG_RESULT([no])
11014 AC_SUBST(ENABLE_LIBLANGTAG)
11015 AC_SUBST(SYSTEM_LIBLANGTAG)
11016 AC_SUBST(LIBLANGTAG_CFLAGS)
11017 AC_SUBST(LIBLANGTAG_LIBS)
11019 dnl ===================================================================
11020 dnl Test whether to build libpng or rely on the system version
11021 dnl ===================================================================
11023 libo_CHECK_SYSTEM_MODULE([libpng],[LIBPNG],[libpng],["-I${WORKDIR}/UnpackedTarball/png"],["-L${OUTDIR}/lib -lpng"])
11025 dnl ===================================================================
11026 dnl Check for runtime JVM search path
11027 dnl ===================================================================
11028 if test "$SOLAR_JAVA" != ""; then
11029 AC_MSG_CHECKING([whether to use specific JVM search path at runtime])
11030 if test -n "$with_jvm_path" -a "$with_jvm_path" != "no"; then
11031 AC_MSG_RESULT([yes])
11032 if ! test -d "$with_jvm_path"; then
11033 AC_MSG_ERROR(["$with_jvm_path" not a directory])
11035 if ! test -d "$with_jvm_path"jvm; then
11036 AC_MSG_ERROR(["$with_jvm_path"jvm not found, point with_jvm_path to \[/path/to/\]jvm])
11038 JVM_ONE_PATH_CHECK="$with_jvm_path"
11039 AC_SUBST(JVM_ONE_PATH_CHECK)
11041 AC_MSG_RESULT([no])
11045 dnl ===================================================================
11046 dnl Test for the presence of Ant and that it works
11047 dnl ===================================================================
11049 if test "$SOLAR_JAVA" != ""; then
11050 ANT_HOME=; export ANT_HOME
11051 WITH_ANT_HOME=; export WITH_ANT_HOME
11052 if test -z "$with_ant_home"; then
11053 AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd])
11055 if test "$_os" = "WINNT"; then
11056 with_ant_home=`cygpath -u "$with_ant_home"`
11058 AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd],,$with_ant_home/bin:$PATH)
11059 WITH_ANT_HOME=$with_ant_home
11060 ANT_HOME=$with_ant_home
11063 if test -z "$ANT"; then
11064 AC_MSG_ERROR([Ant not found - Make sure it's in the path or use --with-ant-home])
11066 # resolve relative or absolute symlink
11067 while test -h "$ANT"; do
11069 a_basename=`basename "$ANT"`
11070 a_script=`ls -l "$ANT" | $SED "s/.*${a_basename} -> //g"`
11071 cd "`dirname "$ANT"`"
11072 cd "`dirname "$a_script"`"
11073 ANT="`pwd`"/"`basename "$a_script"`"
11077 AC_MSG_CHECKING([if $ANT works])
11078 cat > conftest.java << EOF
11079 public class conftest {
11080 int testmethod(int a, int b) {
11086 cat > conftest.xml << EOF
11087 <project name="conftest" default="conftest">
11088 <target name="conftest">
11089 <javac srcdir="." includes="conftest.java">
11095 oldJAVA_HOME=$JAVA_HOME
11096 if test "$JAVACISGCJ" = "yes"; then
11097 JAVA_HOME=; export JAVA_HOME
11098 ant_gcj="-Dbuild.compiler=gcj"
11100 AC_TRY_COMMAND("$ANT" $ant_gcj -buildfile conftest.xml 1>&2)
11101 if test $? = 0 -a -f ./conftest.class; then
11102 AC_MSG_RESULT([Ant works])
11103 if test -z "$WITH_ANT_HOME"; then
11104 ANT_HOME=`"$ANT" -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"`
11105 if test -z "$ANT_HOME"; then
11106 ANT_HOME=`echo "$ANT" | $SED -n "s/\/bin\/ant.*\$//p"`
11109 ANT_HOME="$WITH_ANT_HOME"
11112 echo "configure: Ant test failed" >&5
11113 cat conftest.java >&5
11114 cat conftest.xml >&5
11115 AC_MSG_WARN([Ant does not work - Some Java projects will not build!])
11117 add_warning "Ant does not work - Some Java projects will not build!"
11119 JAVA_HOME=$oldJAVA_HOME
11120 rm -f conftest* core core.* *.core
11122 if test -z "$ANT_HOME"; then
11123 ANT_HOME="NO_ANT_HOME"
11125 PathFormat "$ANT_HOME"
11126 ANT_HOME="$formatted_path"
11133 dnl Checking for ant.jar
11134 if test "$ANT_HOME" != "NO_ANT_HOME"; then
11135 AC_MSG_CHECKING([Ant lib directory])
11136 if test -f $ANT_HOME/lib/ant.jar; then
11137 ANT_LIB="$ANT_HOME/lib"
11139 if test -f $ANT_HOME/ant.jar; then
11140 ANT_LIB="$ANT_HOME"
11142 if test -f /usr/share/java/ant.jar; then
11143 ANT_LIB=/usr/share/java
11145 if test -f /usr/share/ant-core/lib/ant.jar; then
11146 ANT_LIB=/usr/share/ant-core/lib
11148 if test -f $ANT_HOME/lib/ant/ant.jar; then
11149 ANT_LIB="$ANT_HOME/lib/ant"
11151 if test -f /usr/share/lib/ant/ant.jar; then
11152 ANT_LIB=/usr/share/lib/ant
11154 AC_MSG_ERROR([Ant libraries not found!])
11161 PathFormat "$ANT_LIB"
11162 ANT_LIB="$formatted_path"
11163 AC_MSG_RESULT([Ant lib directory found.])
11168 ant_minminor1=`echo $ant_minver | cut -d"." -f2`
11170 AC_MSG_CHECKING([whether Ant is >= $ant_minver])
11171 ant_version=`"$ANT" -version | $AWK '{ print $4; }'`
11172 ant_version_major=`echo $ant_version | cut -d. -f1`
11173 ant_version_minor=`echo $ant_version | cut -d. -f2`
11174 echo "configure: ant_version $ant_version " >&5
11175 echo "configure: ant_version_major $ant_version_major " >&5
11176 echo "configure: ant_version_minor $ant_version_minor " >&5
11177 if test "$ant_version_major" -ge "2"; then
11178 AC_MSG_RESULT([yes, $ant_version])
11179 elif test "$ant_version_major" = "1" -a "$ant_version_minor" -ge "$ant_minminor1"; then
11180 AC_MSG_RESULT([yes, $ant_version])
11182 AC_MSG_ERROR([no, you need at least Ant >= $ant_minver])
11185 if test "$ENABLE_MEDIAWIKI" = "YES"; then
11186 AC_MSG_CHECKING([whether Ant supports mapper type="regexp"])
11189 cat > conftest.java << EOF
11190 public class conftest {
11191 int testmethod(int a, int b) {
11197 cat > conftest.xml << EOF
11198 <project name="conftest" default="conftest">
11199 <target name="conftest" depends="copytest">
11200 <javac srcdir="." includes="conftest.java">
11203 <target name="copytest">
11204 <copy todir="confdir">
11205 <fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/>
11207 <mapper type="regexp" from="^(.*[/\\])foo([/\\].*)" to="\1baa\2"/>
11213 if test "$JAVACISGCJ" = "yes"; then
11214 JAVA_HOME=; export JAVA_HOME
11215 ant_gcj="-Dbuild.compiler=gcj"
11217 AC_TRY_COMMAND("$ANT" $ant_gcj -buildfile conftest.xml 1>&2)
11218 if test $? = 0 -a -f ./conftest.class; then
11219 AC_MSG_RESULT([yes])
11222 echo "configure: Ant test failed" >&5
11223 cat conftest.java >&5
11224 cat conftest.xml >&5
11226 AC_MSG_ERROR([no. Did you install ant-apache-regexp?])
11229 rm -f conftest* core core.* *.core
11233 if test "$SOLAR_JAVA" != "" -a "$with_junit" != "no"; then
11234 AC_MSG_CHECKING([for JUnit 4])
11235 if test "$with_junit" = "yes"; then
11236 if test -e /usr/share/java/junit4.jar; then
11237 OOO_JUNIT_JAR=/usr/share/java/junit4.jar
11239 if test -e /usr/share/lib/java/junit.jar; then
11240 OOO_JUNIT_JAR=/usr/share/lib/java/junit.jar
11242 OOO_JUNIT_JAR=/usr/share/java/junit.jar
11246 OOO_JUNIT_JAR=$with_junit
11248 if test "$_os" = "WINNT"; then
11249 OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"`
11251 "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" 2>&5 | \
11252 grep org/junit/Before.class > /dev/null 2>&5
11253 if test $? -eq 0; then
11254 # check if either class-path entry is available for hamcrest or
11256 if "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" |$GREP -q hamcrest || \
11257 "$UNZIP" -c "$OOO_JUNIT_JAR" META-INF/MANIFEST.MF |$GREP 'Class-Path:' | $GREP -q 'hamcrest'; then
11258 AC_MSG_RESULT([$OOO_JUNIT_JAR])
11260 AC_MSG_ERROR([your junit jar neither sets a classpath nor includes hamcrest; please
11261 provide a full junit jar or use --without-junit])
11264 AC_MSG_RESULT([no])
11265 AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the default
11266 location (/usr/share/java), specify its pathname via
11267 --with-junit=..., or disable it via --without-junit])
11269 if test $OOO_JUNIT_JAR != ""; then
11270 BUILD_TYPE="$BUILD_TYPE QADEVOOO"
11273 AC_SUBST(OOO_JUNIT_JAR)
11279 # check for wget and md5sum
11285 if test "$enable_fetch_external" != "no"; then
11287 CURL=`which curl 2>/dev/null`
11289 for i in wget /usr/bin/wget /usr/local/bin/wget /usr/sfw/bin/wget /opt/sfw/bin/wget /opt/local/bin/wget; do
11290 eval "$i --version" > /dev/null 2>&1
11292 if test $ret -eq 0; then
11298 if test -z "$WGET" -a -z "$CURL"; then
11299 AC_MSG_ERROR([neither wget nor curl found!])
11302 for i in md5 md5sum /usr/local/bin/md5sum gmd5sum /usr/sfw/bin/md5sum /opt/sfw/bin/gmd5sum /opt/local/bin/md5sum; do
11303 if test "$i" = "md5"; then
11304 eval "$i -x" > /dev/null 2>&1
11306 eval "$i --version" > /dev/null 2>&1
11309 if test $ret -eq 0; then
11315 if test "$MD5SUM" = "md5"; then
11316 if md5 -r < /dev/null > /dev/null 2>/dev/null; then
11317 MD5SUM="$MD5SUM -r"
11318 elif md5 -n < /dev/null > /dev/null 2>/dev/null; then
11319 MD5SUM="$MD5SUM -n"
11323 if test -z "$MD5SUM"; then
11324 AC_MSG_ERROR([no md5sum: found!])
11333 dnl ===================================================================
11334 dnl Product version
11335 dnl ===================================================================
11336 AC_MSG_CHECKING([for product version])
11337 PRODUCTVERSION="$LIBO_VERSION_MAJOR.$LIBO_VERSION_MINOR"
11338 AC_MSG_RESULT([$PRODUCTVERSION])
11339 AC_SUBST(PRODUCTVERSION)
11341 dnl ===================================================================
11342 dnl Dealing with l10n options
11343 dnl ===================================================================
11344 AC_MSG_CHECKING([which languages to be built])
11345 # get list of all languages
11346 # generate shell variable from completelangiso= from solenv/inc/langlist.mk
11347 # the sed command does the following:
11348 # + if a line ends with a backslash, append the next line to it
11349 # + adds " on the beginning of the value (after =)
11350 # + adds " at the end of the value
11351 # + removes en-US; we want to put it on the beginning
11352 # + prints just the section starting with 'completelangiso=' and ending with the " at the end of line
11353 [eval $(sed -e :a -e '/\\$/N; s/\\\n//; ta' -n -e 's/=/="/;s/\([^\\]\)$/\1"/;s/en-US//;/^completelangiso/p' $SRC_ROOT/solenv/inc/langlist.mk)]
11354 ALL_LANGS="en-US $completelangiso"
11355 # check the configured localizations
11356 WITH_LANG="$with_lang"
11357 if test -z "$WITH_LANG" -o "$WITH_LANG" = "en-US"; then
11358 AC_MSG_RESULT([en-US])
11360 AC_MSG_RESULT([$WITH_LANG])
11361 GIT_NEEDED_SUBMODULES="translations $GIT_NEEDED_SUBMODULES"
11363 # check that the list is valid
11364 for lang in $WITH_LANG; do
11365 test "$lang" = "ALL" && continue
11366 # need to check for the exact string, so add space before and after the list of all languages
11367 for vl in $ALL_LANGS; do
11368 if test "$vl" = "$lang"; then
11372 if test "$vl" != "$lang"; then
11373 # if you're reading this - you prolly quoted your languages remove the quotes ...
11374 AC_MSG_ERROR([invalid language: '$lang' (vs '$v1'); supported languages are: $ALL_LANGS])
11377 if test -n "$WITH_LANG" -a "$WITH_LANG" != "ALL"; then
11378 echo $WITH_LANG | grep -q en-US
11379 test $? -ne 1 || WITH_LANG=`echo $WITH_LANG en-US`
11381 # list with substituted ALL
11382 WITH_LANG_LIST=`echo $WITH_LANG | sed "s/ALL/$ALL_LANGS/"`
11383 test -z "$WITH_LANG_LIST" && WITH_LANG_LIST="en-US"
11384 test "$WITH_LANG" = "en-US" && WITH_LANG=
11385 if test "$enable_release_build" = "" -o "$enable_release_build" = "no"; then
11386 test "$WITH_LANG_LIST" = "en-US" || WITH_LANG_LIST=`echo $WITH_LANG_LIST qtz`
11387 ALL_LANGS=`echo $ALL_LANGS qtz`
11389 AC_SUBST(ALL_LANGS)
11390 AC_SUBST(WITH_LANG)
11391 AC_SUBST(WITH_LANG_LIST)
11392 AC_SUBST(GIT_NEEDED_SUBMODULES)
11394 WITH_POOR_HELP_LOCALIZATIONS=
11395 if test -d "$SRC_ROOT/translations/source"; then
11396 for l in `ls -1 $SRC_ROOT/translations/source`; do
11397 if test ! -d "$SRC_ROOT/translations/source/$l/helpcontent2"; then
11398 WITH_POOR_HELP_LOCALIZATIONS="$WITH_POOR_HELP_LOCALIZATIONS $l"
11402 AC_SUBST(WITH_POOR_HELP_LOCALIZATIONS)
11404 dnl git submodule update --reference
11405 dnl ===================================================================
11406 if test -n "${GIT_REFERENCE_SRC}"; then
11407 for repo in ${GIT_NEEDED_SUBMODULES}; do
11408 if ! test -d "${GIT_REFERENCE_SRC}"/${repo}; then
11409 AC_MSG_ERROR([referenced git: required repository does not exist: ${GIT_REFERENCE_SRC}/${repo}])
11413 AC_SUBST(GIT_REFERENCE_SRC)
11416 dnl ===================================================================
11417 AC_MSG_CHECKING([for alternative branding images directory])
11418 # initialize mapped arrays
11419 BRAND_INTRO_IMAGES="flat_logo.svg intro.png"
11420 brand_files="$BRAND_INTRO_IMAGES about.svg \
11421 backing_left.png backing_right.png \
11422 backing_rtl_left.png backing_rtl_right.png \
11425 if test -z "$with_branding" -o "$with_branding" = "no"; then
11426 AC_MSG_RESULT([none])
11427 DEFAULT_BRAND_IMAGES="$brand_files"
11429 if ! test -d $with_branding ; then
11430 AC_MSG_ERROR([No directory $with_branding, falling back to default branding])
11432 AC_MSG_RESULT([$with_branding])
11433 CUSTOM_BRAND_DIR="$with_branding"
11434 for lfile in $brand_files
11436 if ! test -f $with_branding/$lfile ; then
11437 AC_MSG_WARN([Branded file $lfile does not exist, using the default one])
11438 DEFAULT_BRAND_IMAGES="$DEFAULT_BRAND_IMAGES $lfile"
11440 CUSTOM_BRAND_IMAGES="$CUSTOM_BRAND_IMAGES $lfile"
11443 check_for_progress="yes"
11446 AC_SUBST([BRAND_INTRO_IMAGES])
11447 AC_SUBST([CUSTOM_BRAND_DIR])
11448 AC_SUBST([CUSTOM_BRAND_IMAGES])
11449 AC_SUBST([DEFAULT_BRAND_IMAGES])
11452 AC_MSG_CHECKING([for 'intro' progress settings])
11456 PROGRESSFRAMECOLOR=
11458 PROGRESSTEXTBASELINE=
11460 if test "$check_for_progress" = "yes" -a -f "$with_branding/progress.conf" ; then
11461 source "$with_branding/progress.conf"
11462 AC_MSG_RESULT([settings found in $with_branding/progress.conf])
11464 AC_MSG_RESULT([none])
11467 AC_SUBST(PROGRESSBARCOLOR)
11468 AC_SUBST(PROGRESSSIZE)
11469 AC_SUBST(PROGRESSPOSITION)
11470 AC_SUBST(PROGRESSFRAMECOLOR)
11471 AC_SUBST(PROGRESSTEXTCOLOR)
11472 AC_SUBST(PROGRESSTEXTBASELINE)
11476 AC_MSG_CHECKING([for extra build ID])
11477 if test -n "$with_extra_buildid" -a "$with_extra_buildid" != "yes" ; then
11478 EXTRA_BUILDID="$with_extra_buildid"
11479 AC_MSG_RESULT([$EXTRA_BUILDID])
11481 AC_MSG_RESULT([not set])
11483 AC_SUBST(EXTRA_BUILDID)
11486 AC_MSG_CHECKING([for vendor])
11487 if test -z "$with_vendor" -o "$with_vendor" = "no"; then
11488 OOO_VENDOR="$USERNAME"
11490 if test -z "$OOO_VENDOR"; then
11494 if test -z "$OOO_VENDOR"; then
11495 OOO_VENDOR="`id -u -n`"
11498 AC_MSG_RESULT([not set, using $OOO_VENDOR])
11500 OOO_VENDOR="$with_vendor"
11501 AC_MSG_RESULT([$OOO_VENDOR])
11503 AC_SUBST(OOO_VENDOR)
11505 AC_MSG_CHECKING([whether to install the compat oo* wrappers])
11506 if test "$with_compat_oowrappers" = "yes"; then
11507 WITH_COMPAT_OOWRAPPERS=YES
11510 WITH_COMPAT_OOWRAPPERS=
11513 AC_SUBST(WITH_COMPAT_OOWRAPPERS)
11515 AC_MSG_CHECKING([for product name])
11516 PRODUCTNAME=AC_PACKAGE_NAME
11517 AC_MSG_RESULT([$PRODUCTNAME])
11518 AC_SUBST(PRODUCTNAME)
11520 INSTALLDIRNAME=`echo AC_PACKAGE_NAME | tr '[[:upper:]]' '[[:lower:]]'`
11521 AC_MSG_CHECKING([for install dirname])
11522 if test -n "$with_install_dirname" -a "$with_install_dirname" != "no" -a "$with_install_dirname" != "yes"; then
11523 INSTALLDIRNAME="$with_install_dirname"
11525 AC_MSG_RESULT([$INSTALLDIRNAME])
11526 AC_SUBST(INSTALLDIRNAME)
11528 AC_MSG_CHECKING([for prefix])
11529 test "x$prefix" = xNONE && prefix=$ac_default_prefix
11530 test "x$exec_prefix" = xNONE && exec_prefix=$prefix
11531 PREFIXDIR="$prefix"
11532 AC_MSG_RESULT([$PREFIXDIR])
11533 AC_SUBST(PREFIXDIR)
11535 LIBDIR=[$(eval echo $(eval echo $libdir))]
11538 DATADIR=[$(eval echo $(eval echo $datadir))]
11541 MANDIR=[$(eval echo $(eval echo $mandir))]
11544 DOCDIR=[$(eval echo $(eval echo $docdir))]
11547 INSTALLDIR="$LIBDIR/$INSTALLDIRNAME"
11548 AC_SUBST(INSTALLDIR)
11550 DEVINSTALLDIR="$OUTDIR/installation"
11551 AC_SUBST(DEVINSTALLDIR)
11553 # ===================================================================
11554 # De- or increase default verbosity of build process
11555 # ===================================================================
11556 AC_MSG_CHECKING([build verbosity])
11557 if test -n "$enable_verbose"; then
11558 if test "$enable_verbose" = "yes"; then
11560 AC_MSG_RESULT([high])
11562 if test "$enable_verbose" = "no"; then
11564 AC_MSG_RESULT([low])
11567 AC_MSG_RESULT([not set])
11571 dnl ===================================================================
11572 dnl Hook up LibreOffice's nodep environmental variable to automake's equivalent
11573 dnl --enable-dependency-tracking configure option
11574 dnl ===================================================================
11575 AC_MSG_CHECKING([whether to enable dependency tracking])
11576 if test "$enable_dependency_tracking" = "no"; then
11578 AC_MSG_RESULT([no])
11580 AC_MSG_RESULT([yes])
11584 dnl ===================================================================
11585 dnl Number of CPUs to use during the build
11586 dnl ===================================================================
11587 AC_MSG_CHECKING([for number of processors to use])
11588 # plain --with-parallelism is just the default
11589 if test -n "$with_parallelism" -a "$with_parallelism" != "yes"; then
11590 if test "$with_parallelism" = "no"; then
11593 PARALLELISM=$with_parallelism
11596 if test "$enable_icecream" = "yes"; then
11601 Darwin|FreeBSD|NetBSD|OpenBSD)
11602 PARALLELISM=`sysctl -n hw.ncpu`
11606 PARALLELISM=`getconf _NPROCESSORS_ONLN`
11608 # what else than above does profit here *and* has /proc?
11610 PARALLELISM=`grep $'^processor\t*:' /proc/cpuinfo | wc -l`
11614 # If we hit the catch-all case, but /proc/cpuinfo doesn't exist or has an
11615 # unexpected format, 'wc -l' will have returned 0.
11616 if test "$PARALLELISM" -eq 0; then
11622 if test "$no_parallelism_make" = "YES" && test $PARALLELISM -gt 1; then
11623 if test -z "$with_parallelism"; then
11624 AC_MSG_WARN([gmake 3.81 crashes with parallelism > 1, reducing it to 1. upgrade to 3.82 to avoid this.])
11625 add_warning "gmake 3.81 crashes with parallelism > 1, reducing it to 1. upgrade to 3.82 to avoid this."
11628 add_warning "make 3.81 is prone to crashes with parallelism > 1. Since --with-parallelism was explicitly given, it is honored, but do not complain when make segfaults on you."
11632 AC_MSG_RESULT([$PARALLELISM])
11633 AC_SUBST(PARALLELISM)
11635 # ===================================================================
11636 # Number of parallel jobs to be executed during subsequenttest
11637 # ===================================================================
11638 AC_MSG_CHECKING([for maximum no. of jobs during subsequenttest])
11639 CHECK_PARALLELISM=$PARALLELISM
11640 if test "$with_check_jobs" != ""; then
11641 CHECK_PARALLELISM="$with_check_jobs"
11643 AC_MSG_RESULT([$CHECK_PARALLELISM])
11644 AC_SUBST(CHECK_PARALLELISM)
11647 # Set up ILIB for MSVC build
11649 if test "$build_os" = "cygwin"; then
11650 ILIB=".;${SOLARVER}/$INPATH/lib"
11651 if test -n "$JAVA_HOME" -a "$JAVA_HOME" != "NO_JAVA_HOME"; then
11652 ILIB="$ILIB;$JAVA_HOME/lib"
11654 if test "$BITNESS_OVERRIDE" = 64; then
11655 ILIB="$ILIB;$COMPATH/lib/amd64"
11656 ILIB="$ILIB;$WINDOWS_SDK_HOME/lib/x64"
11657 if test "$WINDOWS_SDK_VERSION" = "80"; then
11658 ILIB="$ILIB;$WINDOWS_SDK_HOME/lib/win8/um/x64"
11661 ILIB="$ILIB;$COMPATH/lib"
11662 ILIB="$ILIB;$WINDOWS_SDK_HOME/lib"
11663 if test "$WINDOWS_SDK_VERSION" = "80"; then
11664 ILIB="$ILIB;$WINDOWS_SDK_HOME/lib/win8/um/x86"
11667 ILIB="$ILIB;$DOTNET_FRAMEWORK_HOME/lib"
11669 if test "$ENABLE_DIRECTX" = "TRUE"; then
11670 ILIB="$ILIB;$DIRECTXSDK_LIB"
11676 # ===================================================================
11677 # Creating bigger shared library to link against
11678 # ===================================================================
11679 AC_MSG_CHECKING([whether to create huge library])
11682 if test $_os = iOS -o $_os = Android; then
11683 # Never any point in mergelibs for these as we build just static
11684 # libraries anyway...
11685 enable_mergelibs=no
11688 if test -n "$enable_mergelibs" -a "$enable_mergelibs" != "no"; then
11689 if test $_os != Linux -a $_os != WINNT; then
11690 add_warning "--enable-mergelibs is not tested for this platform"
11692 if test "$enable_mergelibs" = "all"; then
11698 AC_MSG_RESULT([yes])
11700 AC_MSG_RESULT([no])
11702 AC_SUBST([MERGELIBS])
11703 AC_SUBST([URELIBS])
11705 # ===================================================================
11706 # Create hardlinks on deliver instead of copying for smaller size and speed up
11707 # ===================================================================
11708 AC_MSG_CHECKING([whether to create hardlinks for delivering files])
11710 if test "$enable_hardlink_deliver" = "yes"; then
11711 HARDLINKDELIVER="TRUE"
11712 AC_MSG_RESULT([yes])
11714 AC_MSG_RESULT([no])
11716 AC_SUBST(HARDLINKDELIVER)
11718 dnl ===================================================================
11719 dnl icerun is a wrapper that stops us spawning tens of processes
11720 dnl locally - for tools that can't be executed on the compile cluster
11721 dnl this avoids a dozen javac's ganging up on your laptop to kill it.
11722 dnl ===================================================================
11723 AC_MSG_CHECKING([whether to use icerun wrapper])
11725 if test "$enable_icecream" = "yes" && which icerun >/dev/null 2>&1 ; then
11726 ICECREAM_RUN=icerun
11727 AC_MSG_RESULT([yes])
11729 AC_MSG_RESULT([no])
11731 AC_SUBST(ICECREAM_RUN)
11733 dnl ===================================================================
11735 AC_MSG_CHECKING([MPL subset])
11738 if test "$enable_mpl_subset" = "yes"; then
11739 if test "x$enable_postgresql_sdbc" != "xno"; then
11740 AC_MSG_ERROR([need to --disable-postgresql-sdbc - the postgress database backend.])
11742 if test "$enable_lotuswordpro" = "yes"; then
11743 AC_MSG_ERROR([need to --disable-lotuswordpro - a Lotus Word Pro file format import filter.])
11745 if test "$enable_neon" != "no" -o "x$DISABLE_NEON" != "xTRUE"; then
11746 AC_MSG_ERROR([need to --disable-neon - webdav support.])
11748 if test "x$enable_ext_mariadb_connector" = "xyes"; then
11749 AC_MSG_ERROR([need to --disable-ext-mariadb-connector - mariadb/mysql support.])
11751 if test "x$ENABLE_PDFIMPORT" != "xFALSE"; then
11752 if test "x$SYSTEM_POPPLER" != "xNO"; then
11753 AC_MSG_ERROR([need to disable PDF import via xpdf/poplar or use system library])
11756 # cf. m4/libo_check_extension.m4
11757 if test "x$WITH_EXTRA_EXTENSIONS" != "x"; then
11758 AC_MSG_ERROR([need to disable extra extensions '$WITH_EXTRA_EXTENSIONS'])
11760 for theme in $WITH_THEMES; do
11762 crystal|default|hicontrast|human|oxygen)
11763 AC_MSG_ERROR([need to disable icon themes from '$WITH_THEMES': $theme present, use --with-theme=tango]) ;;
11767 if test "$enable_opengl" != "no" -o "x$ENABLE_OPENGL" == "xTRUE"; then
11768 AC_MSG_ERROR([need to --disable-opengl - GL transitions support.])
11770 if test "$enable_lpsolve" != "no" -o "x$ENABLE_LPSOLVE" == "xTRUE"; then
11771 AC_MSG_ERROR([need to --disable-lpsolve - calc linear programming solver.])
11775 AC_DEFINE(MPL_HAVE_SUBSET)
11776 AC_MSG_RESULT([only])
11778 AC_MSG_RESULT([no restrictions])
11780 AC_SUBST(MPL_SUBSET)
11783 dnl ===================================================================
11784 dnl Setting up the environment.
11785 dnl ===================================================================
11786 echo "setting up the build environment variables..."
11790 if test "$build_os" = "cygwin"; then
11791 if test "$DISABLE_ACTIVEX" = "YES"; then
11792 ATL_LIB="$WINDOWS_SDK_HOME/lib" # Doesn't exist for VSE
11793 ATL_INCLUDE="$WINDOWS_SDK_HOME/include/atl"
11795 ATL_LIB="$COMPATH/atlmfc/lib"
11796 ATL_INCLUDE="$COMPATH/atlmfc/include"
11798 if test "$BITNESS_OVERRIDE" = 64; then
11799 ATL_LIB="$ATL_LIB/amd64"
11801 PathFormat "/usr/bin/grep.exe"
11802 WIN_GREP="$formatted_path"
11803 PathFormat "/usr/bin/find.exe"
11804 WIN_FIND="$formatted_path"
11805 PathFormat "/usr/bin/ls.exe"
11806 WIN_LS="$formatted_path"
11807 PathFormat "/usr/bin/touch.exe"
11808 WIN_TOUCH="$formatted_path"
11811 AC_SUBST(ATL_INCLUDE)
11816 AC_SUBST(WIN_TOUCH)
11818 AC_SUBST(BUILD_TYPE)
11824 PERL="$formatted_path"
11827 if test -n "$TMPDIR"; then
11828 TEMP_DIRECTORY="$TMPDIR"
11830 TEMP_DIRECTORY="/tmp"
11832 if test "$build_os" = "cygwin"; then
11833 TEMP_DIRECTORY=`cygpath -m "$TEMP_DIRECTORY"`
11835 AC_SUBST(TEMP_DIRECTORY)
11837 # setup the PATH for the environment
11838 if test -n "$LO_PATH_FOR_BUILD"; then
11839 LO_PATH="$LO_PATH_FOR_BUILD"
11845 aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*)
11846 if test "$SOLAR_JAVA" != "" -a "$JDK"!="gcj"; then
11847 pathmunge "$JAVA_HOME/bin" "after"
11852 pathmunge "$DOTNET_FRAMEWORK_HOME/bin" "before"
11853 pathmunge "$ASM_HOME" "before"
11854 pathmunge "$WINDOWS_SDK_HOME/bin" "before"
11855 pathmunge "$CSC_PATH" "before"
11856 pathmunge "$MIDL_PATH" "before"
11857 pathmunge "$AL_PATH" "before"
11858 pathmunge "$MSPDB_PATH" "before"
11859 if test "$BITNESS_OVERRIDE" = 64; then
11860 pathmunge "$COMPATH/bin/amd64" "before"
11861 pathmunge "$WINDOWS_SDK_HOME/bin/x64" "before"
11863 pathmunge "$COMPATH/bin" "before"
11864 pathmunge "$WINDOWS_SDK_HOME/bin/x86" "before"
11866 if test "$SOLAR_JAVA" != "" -a "$JDK"!="gcj"; then
11867 if test -d "$JAVA_HOME/jre/bin/client"; then
11868 pathmunge "$JAVA_HOME/jre/bin/client" "before"
11870 if test -d "$JAVA_HOME/jre/bin/hotspot"; then
11871 pathmunge "$JAVA_HOME/jre/bin/hotspot" "before"
11873 pathmunge "$JAVA_HOME/bin" "before"
11878 pathmunge "/usr/css/bin" "before"
11879 if test "$SOLAR_JAVA" != "" -a "$JDK"!="gcj"; then
11880 pathmunge "$JAVA_HOME/bin" "after"
11885 pathmunge "$SRC_ROOT/solenv/$OUTPATH/bin" "before"
11886 pathmunge "$SRC_ROOT/solenv/bin" "before"
11887 pathmunge "." "before"
11892 # Generate a configuration md5 we can use for deps
11893 if test -f config_host.mk; then
11894 config_md5=`$MD5SUM config_host.mk | sed "s/ .*//"`
11897 AC_CONFIG_FILES([config_host.mk Makefile lo.xcent instsetoo_native/util/openoffice.lst])
11898 AC_CONFIG_HEADERS([config_host/config_clang.h])
11899 AC_CONFIG_HEADERS([config_host/config_features.h])
11900 AC_CONFIG_HEADERS([config_host/config_global.h])
11901 AC_CONFIG_HEADERS([config_host/config_graphite.h])
11902 AC_CONFIG_HEADERS([config_host/config_lgpl.h])
11903 AC_CONFIG_HEADERS([config_host/config_mpl.h])
11904 AC_CONFIG_HEADERS([config_host/config_kde4.h])
11905 AC_CONFIG_HEADERS([config_host/config_mingw.h])
11906 AC_CONFIG_HEADERS([config_host/config_oox.h])
11907 AC_CONFIG_HEADERS([config_host/config_telepathy.h])
11908 AC_CONFIG_HEADERS([config_host/config_typesizes.h])
11909 AC_CONFIG_HEADERS([config_host/config_vclplug.h])
11910 AC_CONFIG_HEADERS([config_host/config_version.h])
11913 if test "$CROSS_COMPILING" = YES; then
11914 (echo; echo export BUILD_TYPE_FOR_HOST=$BUILD_TYPE) >>config_build.mk
11917 # touch the config timestamp file
11918 if test ! -f config_host.mk.stamp; then
11919 echo > config_host.mk.stamp
11920 elif test "$config_md5" = `$MD5SUM config_host.mk | sed "s/ .*//"`; then
11921 echo "Configuration unchanged - avoiding scp2 stamp update"
11923 echo > config_host.mk.stamp
11927 if test "$STALE_MAKE" = "TRUE" -a "$build_os" = "cygwin"; then
11929 ****************************************************************************
11931 Your make version is known to be horribly slow, and hard to debug
11932 problems with. To get a reasonably functional make please do:
11934 to install a pre-compiled binary make for cygwin
11936 mkdir -p /opt/lo/bin
11938 wget http://dev-www.libreoffice.org/bin/cygwin/make
11941 to install from source:
11942 place yourself in a working directory of you choice.
11944 git clone git://anongit.freedesktop.org/libreoffice/contrib/dev-tools
11945 cd dev-tools/make-3.82-gbuild
11946 ./configure --prefix=/opt/lo
11950 Then re-run autogen.sh
11952 Note: autogen.sh will try to use /opt/lo/bin/make if the environment variable GNUMAKE is not already defined.
11953 Alternatively, you can install the 'new' make where ever you want and make sure that `which make` finds it.
11959 ****************************************************************************
11968 if test $_os != WINNT -a "$CROSS_COMPILING" != YES; then
11971 To install when the build is finished, issue:
11974 If you want to develop LibreOffice, you might prefer:
11975 $GNUMAKE dev-install
11977 If you want to run the smoketest, issue:
11983 if test -f warn; then
11988 dnl vim:set shiftwidth=4 softtabstop=4 expandtab: