dnl -*- Mode: Autoconf; tab-width: 8; indent-tabs-mode: nil -*- dnl configure.in serves as input for the GNU autoconf package dnl in order to create a configure script. AC_INIT([LibreOffice],[3.6],[],[],[http://documentfoundation.org/]) AC_PREREQ([2.59]) save_CC=$CC save_CXX=$CXX BUILD_TYPE="LibO" SCPDEFS="" GIT_REPO_NAMES="" MINGW_EXTERNAL_DLLS="" PathFormat() { formatted_path="$1" if test "$build_os" = "cygwin" ; then pf_part1= pf_conv_to_dos= for pf_part in $formatted_path ; do if test -z "$pf_part1" ; then pf_part1="$pf_part" else pf_conv_to_dos="yes" fi done if test "$pf_conv_to_dos" = "yes" ; then formatted_path=`cygpath -d "$formatted_path"` fi fp_count_colon=`echo "$formatted_path" | grep -c "[:]"` fp_count_slash=`echo "$formatted_path" | grep -c "[/]"` if test "$fp_count_slash$fp_count_colon" != "00" ; then if test "$fp_count_colon" = "0" ; then formatted_path=`realpath "$formatted_path"` fi formatted_path=`cygpath -m "$formatted_path"` fi fi } if test -n "$SOLARENV" ; then AC_MSG_ERROR([You have sourced Env.Host.sh in this shell. This may lead to trouble, please run in a fresh (login) shell.]) fi echo "********************************************************************" echo "*" echo "* Running ${PACKAGE_NAME} build configuration." echo "*" echo "********************************************************************" echo "" dnl =================================================================== dnl checks build and host OSes dnl do this before argument processing to allow for platform dependent defaults dnl =================================================================== AC_CANONICAL_HOST if test "$cross_compiling" = "yes"; then CROSS_COMPILING=YES else CROSS_COMPILING= BUILD_TYPE="$BUILD_TYPE NATIVE" fi AC_SUBST(CROSS_COMPILING) if test "$build_os" = "cygwin"; then EXEEXT_FOR_BUILD=.exe SRC_ROOT=`pwd` PathFormat "$SRC_ROOT" SRC_ROOT="$formatted_path" else EXEEXT_FOR_BUILD= SRC_ROOT=`pwd` fi AC_SUBST(SRC_ROOT) AC_SUBST(EXEEXT_FOR_BUILD) cat /dev/null > warn if test "z$EUID" = "z0" -a "z`uname -o 2>/dev/null`" = "zCygwin"; then AC_MSG_ERROR([You must build LibreOffice as a normal user - not using an administrative account]) fi # need sed in os checks... AC_PATH_PROGS(SED, sed) if test -z "$SED"; then AC_MSG_ERROR([install sed to run this script]) fi dnl =================================================================== dnl When building for Android the --with-android-ndk is mandatory dnl =================================================================== ANDROID_NDK_HOME= if test -n "$with_android_ndk"; then ANDROID_NDK_HOME=$with_android_ndk # Set up a lot of pre-canned defaults # What if the NDK at some point starts including several toolchains for different # gcc versions (like some 3rd-party improved NDK builds already do)? # Then the use of a wildcard below will break. ANDROID_ABI_PREBUILT_BIN=`echo $ANDROID_NDK_HOME/toolchains/arm-linux*/prebuilt/*/bin` test -z "$SYSBASE" && export SYSBASE=$ANDROID_NDK_HOME/platforms/android-9/arch-arm test -z "$AR" && AR=$ANDROID_ABI_PREBUILT_BIN/arm-linux-androideabi-ar test -z "$NM" && NM=$ANDROID_ABI_PREBUILT_BIN/arm-linux-androideabi-nm test -z "$OBJDUMP" && OBJDUMP=$ANDROID_ABI_PREBUILT_BIN/arm-linux-androideabi-objdump test -z "$RANLIB" && RANLIB=$ANDROID_ABI_PREBUILT_BIN/arm-linux-androideabi-ranlib test -z "$STRIP" && STRIP=$ANDROID_ABI_PREBUILT_BIN/arm-linux-androideabi-strip ANDROIDCFLAGS="-march=armv7-a -mfloat-abi=softfp -mthumb -mfpu=neon -Wl,--fix-cortex-a8 --sysroot $ANDROID_NDK_HOME/platforms/android-9/arch-arm -L$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a" test -z "$CC" && CC="$ANDROID_ABI_PREBUILT_BIN/arm-linux-androideabi-gcc $ANDROIDCFLAGS" test -z "$CXX" && CXX="$ANDROID_ABI_PREBUILT_BIN/arm-linux-androideabi-g++ $ANDROIDCFLAGS -I $ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/include -I$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include -fexceptions -frtti" fi AC_SUBST(ANDROID_NDK_HOME) dnl =================================================================== dnl Also --with-android-sdk is mandatory dnl =================================================================== ANDROID_SDK_HOME= if test -n "$with_android_sdk"; then ANDROID_SDK_HOME=$with_android_sdk PATH="$ANDROID_SDK_HOME/platform-tools:$ANDROID_SDK_HOME/tools:$PATH" fi AC_SUBST(ANDROID_SDK_HOME) dnl =================================================================== dnl The following is a list of supported systems. dnl Sequential to keep the logic very simple dnl These values may be checked and reset later. dnl =================================================================== #defaults unless the os test overrides this: test_randr=yes test_xrender=yes test_cups=yes test_fontconfig=yes case "$host_os" in solaris*) test_gtk=yes build_gstreamer=yes test_kde=yes test_freetype=yes test_gstreamer=yes _os=SunOS dnl =========================================================== dnl Check whether we're using Solaris 10 - SPARC or Intel. dnl =========================================================== AC_MSG_CHECKING([the Solaris operating system release]) _os_release=`echo $host_os | $SED -e s/solaris2\.//` if test "$_os_release" -lt "10"; then AC_MSG_ERROR([use Solaris >= 10 to build LibreOffice]) else AC_MSG_RESULT([ok ($_os_release)]) fi dnl Check whether we're using a SPARC or i386 processor AC_MSG_CHECKING([the processor type]) if test "$host_cpu" = "sparc" -o "$host_cpu" = "i386"; then AC_MSG_RESULT([ok ($host_cpu)]) else AC_MSG_ERROR([only SPARC and i386 processors are supported]) fi ;; linux-gnu*|k*bsd*-gnu*) test_gtk=yes build_gstreamer=yes test_kde=yes test_kde4=yes test_freetype=yes test_unix_quickstarter=yes _os=Linux ;; gnu) test_randr=no test_xrender=no _os=GNU ;; cygwin*|interix*|mingw32*) # When building on Windows normally with MSVC under Cygwin, # configure thinks that the host platform (the platform the # built code will run on) is Cygwin, even if it obviously is # Windows, which in Autoconf terminology is called # "mingw32". (Which is misleading as MinGW is the name of the # tool-chain, not an operating system.) # Somewhat confusing, yes. But this configure script doesn't # look at $host etc that much, it mostly uses its own $_os # variable, set here in this case statement. # When cross-compiling to Windows from Unix, the host platform # is "mingw32" (because in that case it is the MinGW # tool-chain that is used). test_cups=no test_randr=no test_xrender=no test_freetype=no test_fontconfig=no _os=WINNT # If the host OS matches "mingw32*", that means we are using the # MinGW cross-compiler, because we don't see the point in building # LibreOffice using MinGW on Windows. If you want to build on # Windows, use MSVC. If you want to use MinGW, surely you want to # cross-compile (from Linux or some other Unix). case "$host_os" in mingw32*) WITH_MINGW=yes if test -z "$CC" ; then CC="$host_cpu-$host_vendor-$host_os-gcc" fi if test -z "$CXX" ; then CXX="$host_cpu-$host_vendor-$host_os-g++" fi ;; esac ;; darwin*) # Mac OS X or iOS test_gtk=yes test_randr=no test_xrender=no test_freetype=no test_fontconfig=no if test "$host_cpu" = "arm"; then _os=iOS test_gtk=no test_cups=no else _os=Darwin fi enable_systray=no ;; freebsd*) test_gtk=yes build_gstreamer=yes test_kde=yes test_kde4=yes test_freetype=yes AC_MSG_CHECKING([the FreeBSD operating system release]) if test -n "$with_os_version"; then OSVERSION="$with_os_version" else OSVERSION=`/sbin/sysctl -n kern.osreldate` fi AC_MSG_RESULT([found OSVERSION=$OSVERSION]) AC_MSG_CHECKING([which thread library to use]) if test "$OSVERSION" -lt "500016"; then PTHREAD_CFLAGS="-D_THREAD_SAFE" PTHREAD_LIBS="-pthread" elif test "$OSVERSION" -lt "502102"; then PTHREAD_CFLAGS="-D_THREAD_SAFE" PTHREAD_LIBS="-lc_r" else PTHREAD_CFLAGS="" PTHREAD_LIBS="-pthread" fi AC_MSG_RESULT([$PTHREAD_LIBS]) _os=FreeBSD ;; *netbsd*) test_gtk=yes build_gstreamer=yes test_kde=no test_kde4=yes test_freetype=yes PTHREAD_LIBS="-pthread -lpthread" _os=NetBSD ;; aix*) test_randr=no test_freetype=yes PTHREAD_LIBS=-pthread _os=AIX ;; openbsd*) test_gtk=yes test_kde=yes test_freetype=yes PTHREAD_CFLAGS="-D_THREAD_SAFE" PTHREAD_LIBS="-pthread" _os=OpenBSD ;; dragonfly*) test_gtk=yes build_gstreamer=yes test_kde=yes test_kde4=yes test_freetype=yes PTHREAD_LIBS="-pthread" _os=DragonFly ;; linux-androideabi*) build_gstreamer=no test_cups=no test_fontconfig=no test_freetype=no test_gtk=no test_kde=no test_kde4=no test_randr=no test_xrender=no test_unix_quickstarter=no _os=Android if test -z "$with_android_ndk"; then AC_MSG_ERROR([the --with-android-ndk option is mandatory]) fi if test -z "$with_android_sdk"; then AC_MSG_ERROR([the --with-android-sdk option is mandatory]) fi # Verify that the NDK and SDK options are proper if test ! -f "$ANDROID_NDK_HOME/platforms/android-9/arch-arm/usr/lib/libc.a"; then AC_MSG_ERROR([the --with-android-ndk option does not point to an Android NDK]) fi if test ! -f "$ANDROID_SDK_HOME/platforms/android-14/android.jar"; then AC_MSG_ERROR([the --with-android-sdk option does not point to an Android SDK]) fi BUILD_TYPE="$BUILD_TYPE FONTCONFIG FREETYPE" FREETYPE_TARBALL=dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2 FONTCONFIG_TARBALL=77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz ;; *) AC_MSG_ERROR([$host_os operating system is not suitable to build LibreOffice for!]) ;; esac if test "$_os" = "AIX"; then AC_PATH_PROG(GAWK, gawk) if test -z "$GAWK"; then AC_MSG_ERROR([gawk not found in \$PATH]) fi fi AC_SUBST(WITH_MINGW) AC_SUBST(OSVERSION) AC_SUBST(PTHREAD_CFLAGS) AC_SUBST(PTHREAD_LIBS) AC_SUBST(FREETYPE_TARBALL) AC_SUBST(FONTCONFIG_TARBALL) ############################################################################### # Extensions switches --enable/--disable ############################################################################### # By default these should be enabled unless having extra dependencies. # If there is extra dependency over configure options then the enable should # be automagic based on wether the requiring feature is enabled or not. # All this options change anything only with --enable-extension-integration. AC_ARG_ENABLE(extension-integration, AS_HELP_STRING([--disable-extension-integration], [Disable integration of the builded extensions to the installer of the product. Use this switch to disable the integration.]) ) AC_ARG_ENABLE(ext-barcode, AS_HELP_STRING([--enable-ext-barcode], [Enable the Barcode extension.]) ) AC_ARG_ENABLE(ext-diagram, AS_HELP_STRING([--enable-ext-diagram], [Enable the SmART Gallery (Diagram) extension.]) ) AC_ARG_ENABLE(ext-google-docs, AS_HELP_STRING([--enable-ext-google-docs], [Enable the Google Documents extension.]) ) AC_ARG_ENABLE(ext-hunart, AS_HELP_STRING([--enable-ext-hunart], [Enable the Hungarian Cross-reference Toolbar extension.]) ) AC_ARG_ENABLE(ext-languagetool, AS_HELP_STRING([--enable-ext-languagetool], [Enable the LanguageTool extension.]) ) AC_ARG_ENABLE(ext-mysql-connector, AS_HELP_STRING([--enable-ext-mysql-connector], [Enable the build of the MySQL Connector extension.]) ) AC_ARG_ENABLE(ext-nlpsolver, AS_HELP_STRING([--enable-ext-nlpsolver], [Enable the NLPSolver extension.]) ) AC_ARG_ENABLE(ext-ct2n, AS_HELP_STRING([--enable-ext-ct2n], [Enable the ConvertTextToNumber extension.]) ) AC_ARG_ENABLE(ext-numbertext, AS_HELP_STRING([--enable-ext-numbertext], [Enable the Numbertext extension.]) ) AC_ARG_ENABLE(ext-oooblogger, AS_HELP_STRING([--enable-ext-oooblogger], [Enable the OOo Blogger extension.]) ) AC_ARG_ENABLE(ext-pdfimport, AS_HELP_STRING([--disable-ext-pdfimport], [Disable the PDF Import extension.]) ) AC_ARG_ENABLE(ext-presenter-console, AS_HELP_STRING([--disable-ext-presenter-console], [Disable the Presenter Console extension.]) ) AC_ARG_ENABLE(ext-presenter-minimizer, AS_HELP_STRING([--disable-ext-presenter-minimizer], [Disable the Presentation Minimizer extension.]) ) AC_ARG_ENABLE(ext-report-builder, AS_HELP_STRING([--disable-ext-report-builder], [Disable the Report Builder extension.]) ) AC_ARG_ENABLE(ext-scripting-beanshell, AS_HELP_STRING([--enable-ext-scripting-beanshell], [Enable support for scripts in BeanShell.]) ) AC_ARG_ENABLE(ext-scripting-javascript, AS_HELP_STRING([--enable-ext-scripting-javascript], [Enable support for scripts in JavaScript.]) ) AC_ARG_ENABLE(ext-typo, AS_HELP_STRING([--enable-ext-typo], [Enable the Typography Toolbar extension.]) ) AC_ARG_ENABLE(ext-validator, AS_HELP_STRING([--enable-ext-validator], [Enable the Validator extension.]) ) AC_ARG_ENABLE(ext-watch-window, AS_HELP_STRING([--enable-ext-watch-window], [Enable the Watch Window extension to Calc.]) ) AC_ARG_ENABLE(ext-wiki-publisher, AS_HELP_STRING([--enable-ext-wiki-publisher], [Enable the Wiki Publisher extension.]) ) ############################################################################### dnl ---------- *** ---------- AC_ARG_ENABLE(mergelibs, AS_HELP_STRING([--enable-mergelibs], [Enables linking of big merged library used for better performance.]) ) AC_ARG_ENABLE(graphite, AS_HELP_STRING([--enable-graphite], [Enables the compilation of Graphite smart font rendering.]) ) AC_ARG_ENABLE(ldap, AS_HELP_STRING([--disable-ldap], [Disables the use of LDAP backend via Netscape/Mozilla or OpenLDAP LDAP SDK]) ) AC_ARG_ENABLE(fetch-external, AS_HELP_STRING([--disable-fetch-external], [Disables fetching external tarballs from web sources.]) ) AC_ARG_ENABLE(lockdown, AS_HELP_STRING([--disable-lockdown], [Disables the gconf integration work in LibreOffice.]), ) AC_ARG_ENABLE(vba, AS_HELP_STRING([--disable-vba], [Disables the vba compatibility feature.]) ) AC_ARG_ENABLE(pch, AS_HELP_STRING([--enable-pch], [DEPRECATED : is ignored]) ) AC_ARG_ENABLE(mozilla, AS_HELP_STRING([--disable-mozilla], [LibreOffice usually includes a strangely hacked up Mozilla binary for your platform, to build without this version, use this option.]) ) AC_ARG_ENABLE(epm, AS_HELP_STRING([--enable-epm], [LibreOffice includes self-packaging code, that requires epm, however epm is useless for large scale package building.]) ) AC_ARG_ENABLE(activex_component, AS_HELP_STRING([--disable-activex-component], [Remove support for ActiveX embedding of LibreOffice.]) ) AC_ARG_ENABLE(odk, AS_HELP_STRING([--disable-odk], [LibreOffice includes an ODK, office development kit which some packagers may wish to build without.]) ) AC_ARG_ENABLE(mathmldtd, AS_HELP_STRING([--disable-mathmldtd], [Disable mathmldtd (useful for distributions that want to avoid packaging it).]) ) AC_ARG_ENABLE(evolution2, AS_HELP_STRING([--enable-evolution2], [Allows the built-in evolution 2 addressbook connectivity build to be enabled.]) ) AC_ARG_ENABLE(directx, AS_HELP_STRING([--disable-directx], [Remove DirectX implementation for the new XCanvas interface. The DirectX support requires more stuff installed on Windows to compile. (DirectX SDK, GDI+ libs)]) ) AC_ARG_ENABLE(activex, AS_HELP_STRING([--disable-activex], [Disable the use of ActiveX for a Windows build. This switch is mandatory when using VC++ 2008 Express.]) ) AC_ARG_ENABLE(atl, AS_HELP_STRING([--disable-atl], [Disable the use of ATL for a Windows build.]) [ This switch is mandatory when using VC++ 2008 Express. ], ,) AC_ARG_ENABLE(symbols, AS_HELP_STRING([--enable-symbols], [Include debugging symbols in output. WARNING - a complete build needs 8 Gb of space and takes much longer (enables -g compiler flag).]) [ Enabling symbols disables the stripping of the solver (--disable-strip-solver). ], ,) AC_ARG_ENABLE(strip-solver, AS_HELP_STRING([--disable-strip-solver], [Disable the stripping of the solver. By default the solver is stripped unless a build with debugging symbols (--enable-symbols) is requested.]) [ This switch allows to override this setting. ], ,) AC_ARG_ENABLE(werror, AS_HELP_STRING([--enable-werror], [Turn warnings to errors. (Has no effect in modules where the treating of warnings as errors is disabled explicitly.)]), ,) AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug], [Include debugging symbols from --enable-symbols plus extra debugging code. Extra large build! (enables -g compiler flag and dmake debug=true) If you need even more verbose output, build a module with "build -- debug=true dbglevel=2".])) AC_ARG_ENABLE(dbgutil, AS_HELP_STRING([--enable-dbgutil], [Include additional debugging utilities, such as assertions, object counting, etc. Larger build. Independent from --enable-debug])) AC_ARG_ENABLE(linkoo, AS_HELP_STRING([--disable-linkoo], [Disable linkoo for the smoketest installation.])) AC_ARG_ENABLE(lto, AS_HELP_STRING([--enable-lto], [Enable link-time optimization. Suitable for product builds. Building takes longer but libraries are optimized for speed. (possible only with gcc-4.5 or later, better to use gcc-4.6 and 'gold' as linker)])) AC_ARG_ENABLE(crashdump, AS_HELP_STRING([--enable-crashdump], [Enable the crashdump feature.])) AC_ARG_ENABLE(python, AS_HELP_STRING([--enable-python=<no/auto/system/internal>], [Enables or disables Python support at run-time and build-time. Also specifies what Python to use. 'auto' is the default. Note that Python can be disabled with --disable-python or --enable-python=no only if no translations are required.])) AC_ARG_ENABLE(gtk, AS_HELP_STRING([--disable-gtk], [Determines whether to use Gtk+ vclplug on platforms where Gtk+ is available.]), ,enable_gtk=yes) AC_ARG_ENABLE(gtk3, AS_HELP_STRING([--disable-gtk3], [Determines whether to use Gtk+ 3.0 vclplug on platforms where Gtk+ 3.0 is available.]), ,enable_gtk3=no) AC_ARG_ENABLE(systray, AS_HELP_STRING([--disable-systray], [Determines whether to build the systray quickstarter.]), ,enable_systray=yes) AC_ARG_ENABLE(split-app-modules, AS_HELP_STRING([--enable-split-app-modules], [Split file lists for app modules, e.g. base, calc. Has effect only with make distro-pack-install]), ,) AC_ARG_ENABLE(split-opt-features, AS_HELP_STRING([--enable-split-opt-features], [Split file lists for some optional features, .e.g. pyuno, testtool. Has effect only with make distro-pack-install]), ,) AC_ARG_ENABLE(cairo-canvas, [ --disable-cairo-canvas Determines whether to build the Cairo canvas on platforms where Cairo is available. ],,enable_cairo_canvas=yes) AC_ARG_ENABLE(librsvg, AS_HELP_STRING([--enable-librsvg=<no/auto/system/internal>], [Enables or disables use of librsvg to render SVG at run-time. Also specificed what librsvg to use. 'auto' is the default.])) AC_ARG_ENABLE(opengl, AS_HELP_STRING([--disable-opengl], [Determines whether to build the OpenGL 3D slide transitions component.]), ,enable_opengl=yes) AC_ARG_ENABLE(dbus, AS_HELP_STRING([--enable-dbus], [Determines whether to enable presentation mode screensaver control under GNOME via DBUS.]), ,enable_dbus=no) AC_ARG_ENABLE(gconf, AS_HELP_STRING([--disable-gconf], [Determines whether to use the GConf support.]), ,enable_gconf=yes) AC_ARG_ENABLE(gnome-vfs, AS_HELP_STRING([--disable-gnome-vfs], [Determines whether to use the Gnome Virtual Filing System on platforms where that VFS is available.]), ,enable_gnome_vfs=yes) AC_ARG_ENABLE(gio, AS_HELP_STRING([--enable-gio], [Determines whether to use the GIO support.]), ,enable_gio=no) AC_ARG_ENABLE(build-mozilla, AS_HELP_STRING([--disable-build-mozilla], [Use this option if you do not want to build the Mozilla components from the Mozilla source code but take precompiled zips.]), ,) AC_ARG_ENABLE(xmlsec, AS_HELP_STRING([--disable-xmlsec], [Whether to enable XMLsec for open document signing.]), ) AC_ARG_ENABLE(kde, AS_HELP_STRING([--enable-kde], [Determines whether to use Qt3/KDE3 vclplug on platforms where Qt3 and KDE3 are available.]), ,) AC_ARG_ENABLE(kdeab, AS_HELP_STRING([--disable-kdeab], [Disable the KDE3 address book support.]), , if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi ) AC_ARG_ENABLE(kde4, AS_HELP_STRING([--enable-kde4], [Determines whether to use Qt4/KDE4 vclplug on platforms where Qt4 and KDE4 are available. May be used with --enable-kde if you want to support both KDE3 and KDE4.]), ,) AC_ARG_ENABLE(unix-qstart-libpng, AS_HELP_STRING([--disable-unix-qstart-libpng], [On UNIX systems, we have a faster splash app, that can use libpng to render its splash, if we can safely link to the system libpng then enabling this is a good idea (ie. for Linux Distro packaging).]), ,enable_unix_qstart_libpng=yes) AC_ARG_ENABLE(binfilter, AS_HELP_STRING([--enable-binfilter], [Enable legacy binary file formats filters build.]), ,enable_binfilter=no ) AC_ARG_ENABLE(ugly, AS_HELP_STRING([--enable-ugly], [Enables ugly pieces of functionality.]), ,enable_ugly=no ) AC_ARG_ENABLE(rpath, AS_HELP_STRING([--disable-rpath], [Disable the use of relative paths in shared libraries.]), ,) AC_ARG_ENABLE(randr, AS_HELP_STRING([--disable-randr], [Disable RandR support in the vcl project.]), ,enable_randr=yes) AC_ARG_ENABLE(randr-link, AS_HELP_STRING([--disable-randr-link], [Disable linking with libXrandr, instead dynamically open it at runtime.]), ,enable_randr_link=yes) AC_ARG_ENABLE(gstreamer, AS_HELP_STRING([--disable-gstreamer], [Disable building the gstreamer avmedia backend.]), ,enable_gstreamer=yes) AC_ARG_ENABLE(neon, AS_HELP_STRING([--disable-neon], [Disable neon and the compilation of webdav binding.]), ,) AC_ARG_ENABLE(build-unowinreg, AS_HELP_STRING([--enable-build-unowinreg], [Do not use the prebuilt unowinreg.dll. Build it instead. The MinGW C++ compiler is needed on Linux.]) [ Usage: --enable-build-unowinreg ], ,) AC_ARG_ENABLE(verbose, AS_HELP_STRING([--enable-verbose], [Increase build verbosity.])[ --disable-verbose Decrease build verbosity.], ,) AC_ARG_ENABLE(dependency-tracking, AS_HELP_STRING([--enable-dependency-tracking], [Do not reject slow dependency extractors.])[ --disable-dependency-tracking Disables generation of dependency information. Speed up one-time builds.], ,) AC_ARG_ENABLE(icecream, AS_HELP_STRING([--enable-icecream], [Use the 'icecream' distributed compiling tool to speedup the compilation. It defaults to /opt/icecream for the location of the icecream gcc/g++ wrappers, you can override that using --with-gcc-home=/the/path switch.]), ,) AC_ARG_ENABLE(zenity, AS_HELP_STRING([--disable-zenity], [Do not display a build icon in the notification area (on unix) during build.]), ,enable_zenity=yes) AC_ARG_ENABLE(nsplugin, AS_HELP_STRING([--disable-nsplugin], [Do not build nsplugin extension for browser embedding.]) ) AC_ARG_ENABLE(ccache, AS_HELP_STRING([--disable-ccache], [Do not try to use ccache automatically. By default, we will try to detect if ccache is available; in that case if CC/CXX are not yet set, and --enable-icecream is not given, we attempt to use ccache. --disable-ccache disables ccache completely. ]), ,) AC_ARG_ENABLE(cl-x64, AS_HELP_STRING([--enable-cl-x64], [Build a 64-bit LibreOffice using the Microsoft C/C++ x64 compiler.]), ,) AC_ARG_ENABLE(extra-gallery, AS_HELP_STRING([--enable-extra-gallery], [Add extra gallery content.]), ,) AC_ARG_ENABLE(extra-template, AS_HELP_STRING([--enable-extra-template], [Add extra template content.]), ,) AC_ARG_ENABLE(extra-sample, AS_HELP_STRING([--enable-extra-sample], [Add extra sample content.]), ,) AC_ARG_ENABLE(extra-font, AS_HELP_STRING([--enable-extra-font], [Add extra font content.]), ,) AC_ARG_ENABLE(oxygenoffice, AS_HELP_STRING([--enable-oxygenoffice], [Download OxygenOffice branding and set custom settings.]), ,) AC_ARG_ENABLE(lomenubar, AS_HELP_STRING([--enable-lomenubar], [Enable global menu support.]), ,) AC_ARG_ENABLE(online-update, AS_HELP_STRING([--enable-online-update], [Enable the online update service that will check for new versions of LibreOffice. By default, it is on on Windows and Mac, and off on Linux.]), ,) AC_ARG_ENABLE(release-build, AS_HELP_STRING([--enable-release-build], [Enable release build. See http://wiki.documentfoundation.org/DevBuild]), ,) AC_ARG_ENABLE(silent-msi, AS_HELP_STRING([--enable-silent-msi], [Enable MSI with LIMITUI=1 (silent install).]), ,) AC_ARG_ENABLE(postgresql-sdbc, AS_HELP_STRING([--disable-postgresql-sdbc], [Disable the build of the PostgreSQL-SDBC driver.]) ) dnl =================================================================== dnl Optional Packages (--with/without-) dnl =================================================================== AC_ARG_WITH(android-ndk, AS_HELP_STRING([--with-android-ndk], [Specify location of the Android Native Development Kit. Mandatory when building for Android.]), ,) AC_ARG_WITH(android-sdk, AS_HELP_STRING([--with-android-sdk], [Specify location of the Android SDK. Mandatory when building for Android.]), ,) AC_ARG_WITH(gnu-patch, AS_HELP_STRING([--with-gnu-patch], [Specify location of GNU patch on Solaris or FreeBSD.]), ,) AC_ARG_WITH(gnu-cp, AS_HELP_STRING([--with-gnu-cp], [Specify location of GNU cp on Solaris or FreeBSD.]), ,) AC_ARG_WITH(external-tar, AS_HELP_STRING([--with-external-tar=<TARFILE PATH>], [Specify path to tarfiles manually.]), TARFILE_LOCATION=$withval , ) AC_ARG_WITH(linked-git, AS_HELP_STRING([--with-linked-git=<OTHER_CLONE_DIR>], [Specify another checkout's clonedir to re-use. This makes use of git-new-workdir, and saves a lot of diskspace when having multiple trees side-by-side.]), GIT_LINK_SRC=$withval , ) AC_ARG_WITH(openldap, AS_HELP_STRING([--with-openldap], [Enables the use of the OpenLDAP LDAP SDK instead of the Netscape/Mozilla one.]), ,) AC_ARG_WITH(vba-package-format, AS_HELP_STRING([--with-vba-package-format], [Specify package format for vba compatibility api. Specifying "builtin" means the api component and associated type library are part of the installation set. Specifying "extn" creates an uno extension that is part of the installation set (located in the program directory) that MUST be optionly registered using either the unopkg executeable or the extension manager gui.]) [ Note: "builtin" is the default, "extn" can cause problems. Usage: --with-vba-package-format="builtin" or --with-vba-package-format="extn" ], ,) AC_ARG_WITH(theme, AS_HELP_STRING([--with-theme="theme1 theme2..."], [Choose which themes to include. By default those themes with an '*' are included. Possible choices: *default, *crystal, *hicontrast, *oxygen, *tango, classic, industrial, human.]), ,) AC_ARG_WITH(helppack-integration, [ --without-helppack-integration It will not integrate the helppacks to the installer of the product. Please use this switch to use the online help or separate help packages.], ,) AC_ARG_WITH(fonts, AS_HELP_STRING([--without-fonts], [LibreOffice includes some third-party fonts to provide a reliable basis for help content, templates, samples, etc. When these fonts are already known to be available on the system then you should use this option.]), ,) AC_ARG_WITH(ppds, AS_HELP_STRING([--without-ppds], [Removes Postscript Printer definition files from LibreOffice installation set, for people building for specific distributions where PPDs are known to be already available (every recent distro with CUPS backend).]), ,) AC_ARG_WITH(afms, AS_HELP_STRING([--without-afms], [Removes bitmap font files from LibreOffice installation set, for people building for specific distributions where AFM files or TrueType Fonts are known to be available.]), ,) AC_ARG_WITH(agfa-monotype-fonts, AS_HELP_STRING([--with-agfa-monotype-fonts], [This switch should only be enabled for those who have the right to use or distribute the proprietary Agfa Monotype fonts.]) ,) AC_ARG_WITH(epm, AS_HELP_STRING([--with-epm], [Decides which epm to use. Default is to use the one from the system if one is built. When either this is not there or you say =internal epm will be built.]), ,) AC_ARG_WITH(package-format, AS_HELP_STRING([--with-package-format], [Specify package format(s) for LibreOffice installsets. Default is the "normal" one of the OS/Distribution. Possible values: aix, bsd, deb, inst, tardist, osx, pkg, rpm, setld, native, portable, archive, dmg, installed, msi. Example: --with-package-format="deb dmg"]), ,) AC_ARG_WITH(system-libs, AS_HELP_STRING([--with-system-libs], [Use libraries already on system -- enables all --with-system-* flags except mozilla.]), ,) AC_ARG_WITH(system-headers, AS_HELP_STRING([--with-system-headers], [Use headers already on system -- enables all --with-system-* flags for external packages whose headers are the only entities used i.e. boost/vigra/odbc/sane-header(s).]), ,) AC_ARG_WITH(system-jars, AS_HELP_STRING([--without-system-jars], [When building with --with-system-libs, also the needed jars are expected on the system. Use this to disable that (except for the db case where --with-system-db *has to* imply using the db.jar from there, too).]), ,) AC_ARG_WITH(system-stdlibs, AS_HELP_STRING([--with-system-stdlibs], [Use libstdc++/libgcc_s already on system.]),, [with_system_stdlibs="$with_system_libs"]) AC_ARG_WITH(system-cairo, AS_HELP_STRING([--with-system-cairo], [Use Cairo libraries already on system.]),, [with_system_cairo="$with_system_libs"]) AC_ARG_WITH(system-graphite, AS_HELP_STRING([--with-system-graphite], [Use graphite library already installed on system.]),, [with_system_graphite="$with_system_libs"]) AC_ARG_WITH(system-nss, AS_HELP_STRING([--with-system-nss], [Use NSS/nspr libraries already on system.]),, [with_system_nss="$with_system_libs"]) AC_ARG_WITH(system-sampleicc, AS_HELP_STRING([--with-system-sampleicc], [Use SampleICC libraries already on system (used only during build).]),, [with_system_sampleicc="$with_system_libs"]) AC_ARG_WITH(mozilla-version, AS_HELP_STRING([--with-mozilla-version], [Choose which version of Mozilla to use while building Mozilla. (default=1.7.5) Note that not all versions are supported.]), ,) AC_ARG_WITH(mozilla-toolkit, AS_HELP_STRING([--with-mozilla-toolkit], [Choose which GUI toolkit to use while building Mozilla components. (default=gtk2)]), ,) AC_ARG_WITH(myspell-dicts, AS_HELP_STRING([--without-myspell-dicts], [Removes myspell dictionaries from LibreOffice installation set, for people building for specific distributions where the myspell dictionaries are installed from other sources.]), ,) AC_ARG_WITH(system-dicts, AS_HELP_STRING([--with-system-dicts], [Use dictionaries from system paths- Specify them via --with-{dict,hyph,thes}-path=/path if you want to override the default ones.]), ,) AC_ARG_WITH(external-dict-dir, AS_HELP_STRING([--with-external-dict-dir], [Specify external dictionary dir.]), ,) AC_ARG_WITH(external-hyph-dir, AS_HELP_STRING([--with-external-hyph-dir], [Specify external hyphenation pattern dir.]), ,) AC_ARG_WITH(external-thes-dir, AS_HELP_STRING([--with-external-thes-dir], [Specify external thesaurus dir.]), ,) AC_ARG_WITH(system-zlib, AS_HELP_STRING([--with-system-zlib], [Use zlib already on system.]),, [if test "$_os" != "WINNT"; then with_system_zlib=yes else with_system_zlib="$with_system_libs" fi]) AC_ARG_WITH(system-openssl, AS_HELP_STRING([--with-system-openssl], [Use OpenSSL already on system.]),, [with_system_openssl="$with_system_libs"]) AC_ARG_WITH(system-jpeg, AS_HELP_STRING([--with-system-jpeg], [Use jpeg already on system.]),, [if test "$_os" = "Linux"; then with_system_jpeg=yes else with_system_jpeg="$with_system_libs" fi]) AC_ARG_WITH(system-expat, AS_HELP_STRING([--with-system-expat], [Use expat already on system.]),, [with_system_expat="$with_system_libs"]) AC_ARG_WITH(system-libcmis, AS_HELP_STRING([--with-system-libcmis], [Use libcmis already on system.]),, [with_system_libcmis="$with_system_libs"]) AC_ARG_WITH(system-libcdr, AS_HELP_STRING([--with-system-libcdr], [Use libvisio already on system.]),, [with_system_libcdr="no"]) AC_ARG_WITH(system-libvisio, AS_HELP_STRING([--with-system-libvisio], [Use libvisio already on system.]),, [with_system_libvisio="$with_system_libs"]) AC_ARG_WITH(system-libwpd, AS_HELP_STRING([--with-system-libwpd], [Use libwpd already on system.]),, [with_system_libwpd="$with_system_libs"]) AC_ARG_WITH(system-libwps, AS_HELP_STRING([--with-system-libwps], [Use libwps already on system.]),, [with_system_libwps="$with_system_libs"]) AC_ARG_WITH(system-libwpg, AS_HELP_STRING([--with-system-libwpg], [Use libwpg already on system.]),, [with_system_libwpg="$with_system_libs"]) AC_ARG_WITH(system-libxml, AS_HELP_STRING([--with-system-libxml], [Use libxml/libxslt already on system.]),, [if test "$_os" = "Darwin"; then with_system_libxml=yes else with_system_libxml="$with_system_libs" fi]) AC_ARG_WITH(system-icu, AS_HELP_STRING([--with-system-icu], [Use icu already on system.]),, [with_system_icu="$with_system_libs"]) AC_ARG_WITH(system-poppler, AS_HELP_STRING([--with-system-poppler], [Use system poppler. (only needed for pdfimport extension)]),, [with_system_poppler="$with_system_libs"]) AC_ARG_WITH(system-db, AS_HELP_STRING([--with-system-db], [Use Berkeley db already on system.]),, [with_system_db="$with_system_libs"]) AC_ARG_WITH(system-lucene, AS_HELP_STRING([--with-system-lucene], [Use Lucene already on system.]),, [with_system_lucene="$with_system_jars"]) AC_ARG_WITH(system-apache-commons, AS_HELP_STRING([--with-system-apache-commons], [Use Apache commons libraries already on system.]),, [with_system_apache_commons="$with_system_jars"]) AC_ARG_WITH(lucene-core-jar, AS_HELP_STRING([--with-lucene-core-jar=JARFILE], [Specify path to jarfile manually.]), LUCENE_CORE_JAR=$withval) AC_ARG_WITH(lucene-analyzers-jar, AS_HELP_STRING([--with-lucene-analyzers-jar=JARFILE], [Specify path to jarfile manually.]), LUCENE_ANALYZERS_JAR=$withval ,) AC_ARG_WITH(system-mysql, AS_HELP_STRING([--with-system-mysql], [Use MySQL libraries already on system, for building the MySQL Connector/LibreOffice extension. If the the mysql_config executable is not in PATH, use MYSQLCONFIG to point to it.]),, [with_system_mysql="$with_system_libs"]) AC_ARG_WITH(libmysql-path, AS_HELP_STRING([--with-libmysql-path], [Use Connector/C (libmysql) installation for building the MySQL Connector/LibreOffice extension.]) [ Usage: --with-libmysql-path=<absolute path to your Connector/C installation> ], ,) AC_ARG_WITH(system-mysql-cppconn, AS_HELP_STRING([--with-system-mysql-cppconn], [Use MySQL C++ Connector libraries already on system.]),, [with_system_mysql_cppconn="$with_system_libs"]) AC_ARG_WITH(system-postgresql, AS_HELP_STRING([--with-system-postgresql], [Use PostgreSQL libraries already on system, for building the PostgreSQL-SDBC driver. If pg_config is not in PATH, use PGCONFIG to point to it.]),, [with_system_postgresql="$with_system_libs"]) AC_ARG_WITH(libpq-path, AS_HELP_STRING([--with-libpq-path], [Use this PostgreSQL C interface (libpq) installation for building the PostgreSQL-SDBC extension.]) [ Usage: --with-libpq-path=<absolute path to your libq installation> ], ,) AC_ARG_WITH(system-hsqldb, AS_HELP_STRING([--with-system-hsqldb], [Use hsqldb already on system.]),, [with_system_hsqldb="$with_system_jars"]) AC_ARG_WITH(hsqldb-jar, AS_HELP_STRING([--with-hsqldb-jar=JARFILE], [Specify path to jarfile manually.]), HSQLDB_JAR=$withval) AC_ARG_WITH(system-beanshell, AS_HELP_STRING([--with-system-beanshell], [Use beanshell already on system.]),, [with_system_beanshell="$with_system_jars"]) AC_ARG_WITH(beanshell-jar, AS_HELP_STRING([--with-beanshell-jar=JARFILE], [Specify path to jarfile manually.]), BSH_JAR=$withval) AC_ARG_WITH(commons-codec-jar, AS_HELP_STRING([--with-commons-codec-jar=JARFILE], [Specify path to jarfile manually.]), COMMONS_CODEC_JAR=$withval) AC_ARG_WITH(commons-lang-jar, AS_HELP_STRING([--with-commons-lang-jar=JARFILE], [Specify path to jarfile manually.]), COMMONS_LANG_JAR=$withval) AC_ARG_WITH(commons-httpclient-jar, AS_HELP_STRING([--with-commons-httpclient-jar=JARFILE], [Specify path to jarfile manually.]), COMMONS_HTTPCLIENT_JAR=$withval) AC_ARG_WITH(commons-logging-jar, AS_HELP_STRING([--with-commons-logging-jar=JARFILE], [Specify path to jarfile manually.]), COMMONS_LOGGING_JAR=$withval) AC_ARG_WITH(system-servlet-api, AS_HELP_STRING([--with-system-servlet-api], [Use servlet-api already on system.]),, [with_system_servlet_api="$with_system_jars"]) AC_ARG_WITH(servlet-api-jar, AS_HELP_STRING([--with-servlet-api-jar=JARFILE], [Specify path to jarfile manually.]), SERVLETAPI_JAR=$withval) AC_ARG_WITH(system-jfreereport, AS_HELP_STRING([--with-system-jfreereport], [Use JFreeReport already on system.]),, [with_system_jfreereport="$with_system_jars"]) AC_ARG_WITH(sac-jar, AS_HELP_STRING([--with-sac-jar=JARFILE], [Specify path to jarfile manually.]), SAC_JAR=$withval) AC_ARG_WITH(libxml-jar, AS_HELP_STRING([--with-libxml-jar=JARFILE], [Specify path to jarfile manually.]), LIBXML_JAR=$withval) AC_ARG_WITH(flute-jar, AS_HELP_STRING([--with-flute-jar=JARFILE], [Specify path to jarfile manually.]), FLUTE_JAR=$withval) AC_ARG_WITH(jfreereport-jar, AS_HELP_STRING([--with-jfreereport-jar=JARFILE], [Specify path to jarfile manually.]), JFREEREPORT_JAR=$withval) AC_ARG_WITH(liblayout-jar, AS_HELP_STRING([--with-liblayout-jar=JARFILE], [Specify path to jarfile manually.]), LIBLAYOUT_JAR=$withval) AC_ARG_WITH(libloader-jar, AS_HELP_STRING([--with-libloader-jar=JARFILE], [Specify path to jarfile manually.]), LIBLOADER_JAR=$withval) AC_ARG_WITH(libloader-jar, AS_HELP_STRING([--with-libloader-jar=JARFILE], [Specify path to jarfile manually.]), LIBLOADER_JAR=$withval) AC_ARG_WITH(libformula-jar, AS_HELP_STRING([--with-libformula-jar=JARFILE], [Specify path to jarfile manually.]), LIBFORMULA_JAR=$withval) AC_ARG_WITH(librepository-jar, AS_HELP_STRING([--with-librepository-jar=JARFILE], [Specify path to jarfile manually.]), LIBREPOSITORY_JAR=$withval) AC_ARG_WITH(libfonts-jar, AS_HELP_STRING([--with-libfonts-jar=JARFILE], [Specify path to jarfile manually.]), LIBFONTS_JAR=$withval) AC_ARG_WITH(libserializer-jar, AS_HELP_STRING([--with-libserializer-jar=JARFILE], [Specify path to jarfile manually.]), LIBSERIALIZER_JAR=$withval) AC_ARG_WITH(libbase-jar, AS_HELP_STRING([--with-libbase-jar=JARFILE], [Specify path to jarfile manually.]), LIBBASE_JAR=$withval) AC_ARG_WITH(system-saxon, AS_HELP_STRING([--with-system-saxon], [Use saxon already on system.]),, [with_system_saxon="$with_system_jars"]) AC_ARG_WITH(saxon-jar, AS_HELP_STRING([--with-saxon-jar=JARFILE], [Specify path to jarfile manually.]), SAXON_JAR=$withval) AC_ARG_WITH(system-odbc, AS_HELP_STRING([--with-system-odbc], [Use the odbc headers already on system.]),, [with_system_odbc="$with_system_headers"]) AC_ARG_WITH(system-sane, AS_HELP_STRING([--with-system-sane], [Use sane.h already on system.]),, [with_system_sane="$with_system_headers"]) AC_ARG_WITH(system-xextensions-headers, AS_HELP_STRING([--with-system-xextensions-headers], [To build without system X11 extensions headers, use --without-system-xextensions-headers. This is possibly useful on legacy unix systems which ship with the libs but without the headers.])) AC_ARG_WITH(system-mesa-headers, AS_HELP_STRING([--with-system-mesa-headers], [Use Mesa headers already on system.]),, [with_system_mesa_headers="$with_system_headers"]) AC_ARG_WITH(system-curl, AS_HELP_STRING([--with-system-curl], [Use curl already on system.]),, [if test "$_os" = "Darwin"; then with_system_curl=yes else with_system_curl="$with_system_libs" fi]) AC_ARG_WITH(system-boost, AS_HELP_STRING([--with-system-boost], [Use boost already on system.]),, [with_system_boost="$with_system_headers"]) AC_ARG_WITH(system-mdds, AS_HELP_STRING([--with-system-mdds], [Use mdds already on system.]),, [with_system_mdds="$with_system_headers"]) AC_ARG_WITH(system-vigra, AS_HELP_STRING([--with-system-vigra], [Use vigra already on system.]),, [with_system_vigra="$with_system_headers"]) AC_ARG_WITH(system-neon, AS_HELP_STRING([--with-system-neon], [Use neon already on system.]),, [with_system_neon="$with_system_libs"]) AC_ARG_WITH(system-hunspell, AS_HELP_STRING([--with-system-hunspell], [Use libhunspell already on system.]),, [with_system_hunspell="$with_system_libs"]) AC_ARG_WITH(system-mythes, AS_HELP_STRING([--with-system-mythes], [Use mythes already on system.]),, [with_system_mythes="$with_system_libs"]) AC_ARG_WITH(system-altlinuxhyph, AS_HELP_STRING([--with-system-altlinuxhyph], [Use ALTLinuxhyph already on system.]),, [with_system_altlinuxhyph="$with_system_libs"]) AC_ARG_WITH(system-lpsolve, AS_HELP_STRING([--with-system-lpsolve], [Use lpsolve already on system.]),, [with_system_lpsolve="$with_system_libs"]) AC_ARG_WITH(system-libexttextcat, AS_HELP_STRING([--with-system-libexttextcat], [Use libexttextcat already on system.]),, [with_system_libexttextcat="$with_system_libs"]) AC_ARG_WITH(system-cppunit, AS_HELP_STRING([--with-system-cppunit], [Use cppunit already on system.]),, [with_system_cppunit="$with_system_libs"]) AC_ARG_WITH(system-redland, AS_HELP_STRING([--with-system-redland], [Use redland library already on system.]),, [with_system_redland="$with_system_libs"]) AC_ARG_WITH(system-mozilla, AS_HELP_STRING([--with-system-mozilla], [Use Mozilla already on system. Note that some components cannot be built against a contemporary Mozilla. The flavour used can be specified by --with-system-mozilla=<flavour>. Supported are: libxul (default), xulrunner, firefox, seamonkey, mozilla, iceape.]), WITH_SYSTEM_MOZILLA=$withval , WITH_SYSTEM_MOZILLA=no) AC_ARG_WITH(system-mozilla-headers, AS_HELP_STRING([--with-system-mozilla-headers], [Use mozilla headers provided by system instead of bundled ones. Used in nsplugin]),, [with_system_mozilla_headers="$with_system_headers"] ) AC_ARG_WITH(system-gettext, AS_HELP_STRING([--with-system-gettext], [Use gettext runtime library already on system.]),, [with_system_gettext="$with_system_libs"]) AC_ARG_WITH(system-libpng, AS_HELP_STRING([--with-system-libpng], [Use libpng already on system.]),, [with_system_libpng="$with_system_libs"]) AC_ARG_WITH(linker-hash-style, AS_HELP_STRING([--with-linker-hash-style], [Use linker with --hash-style=<style> when linking shared objects. Possible values: "sysv", "gnu", "both". The default value is "gnu" if supported on the build system, and "sysv" otherwise.])) AC_ARG_WITH(stlport, AS_HELP_STRING([--with-stlport], [Build the STLPort library for compatibility with old extensions for architectures where STLPort used to be used.]), with_stlport=$withval , with_stlport=auto) AC_ARG_WITH(jdk-home, AS_HELP_STRING([--with-jdk-home], [If you have installed JDK 1.3 or later on your system please supply the path here. Note that this is not the location of the java command but the location of the entire distribution.]) [ Usage: --with-jdk-home=<absolute path to JDK home> ], ,) AC_ARG_WITH(gxx_include_path, AS_HELP_STRING([--with-gxx-include-path], [If you want to override the autodetected g++ include path.]) [ Usage: --with-gxx-include-path=<absolute path to g++ include dir> ], ,) AC_ARG_WITH(help, AS_HELP_STRING([--with-help], [Enable the build of help. To build without help, use --without-help.])) AC_ARG_WITH(java, AS_HELP_STRING([--with-java], [Specify the name of the Java interpreter command. Typically "java" which is the default. To build without support for Java components, applets, accessibility or the XML filters written in Java, use --without-java or --with-java=no.]) [ Usage: --with-java==<java command> --without-java ], [ test -z "$with_java" -o "$with_java" = "yes" && with_java=java ], [ with_java=java ] ) AC_ARG_WITH(java_target_version, AS_HELP_STRING([--with-java-target-version], [Generate class files that will work on JVMs with the specified version. For example, use --with-java-target-version=1.4 to make sure that the application will work with JVM 1.4 even when compiled with JDK 1.5.]) [ This option is ignored when you compile with gcj/gij. Usage: --with-java-target-version=<jvm version> ], ,) AC_ARG_WITH(jvm-path, AS_HELP_STRING([--with-jvm-path], [Use a specific JVM search path at runtime.]) [ Usage: --with-jvm-path=<absolute path to parent of jvm home> e. g.: --with-jvm-path=/usr/lib/ to find JRE/JDK in /usr/lib/jvm/ ], ,) AC_ARG_WITH(ant-home, AS_HELP_STRING([--with-ant-home], [If you have installed Jakarta Ant on your system, please supply the path here. Note that this is not the location of the Ant binary but the location of the entire distribution.]) [ Usage: --with-ant-home=<absolute path to Ant home> ], ,) AC_ARG_WITH(junit, AS_HELP_STRING([--with-junit], [Specifies the JUnit 4 jar file to use for JUnit-based tests. --without-junit disables those tests. Not relevant in the --without-java case.]) [ Usage: --with-junit=<absolute path to JUnit 4 jar> ], ,with_junit=yes) AC_ARG_WITH(perl-home, AS_HELP_STRING([--with-perl-home], [If you have installed Perl 5 Distribution, on your system, please supply the path here. Note that this is not the location of the Perl binary but the location of the entire distribution.]) [ Usage: --with-perl-home=<abs. path to Perl 5 home> ], ,) AC_ARG_WITH( [doxygen], AS_HELP_STRING( [--with-doxygen], [Specifies the doxygen executable to use when generating ODK C/C++ documentation. --without-doxygen disables generation of ODK C/C++ documentation. Not relevant in the --disable-odk case.]) [ Usage: --with-doxygen=<absolute path to doxygen executable> ],, [with_doxygen=yes]) AC_ARG_WITH(cl-home, AS_HELP_STRING([--with-cl-home], [For Windows NT users, please supply the path for the Microsoft C/C++ compiler. Note that this is not the location of the compiler binary but the location of the entire distribution.]) [ Usage: --with-cl-home=<absolute path to Microsoft C/C++ compiler home> ], ,) AC_ARG_WITH(mspdb-path, AS_HELP_STRING([--with-mspdb-path], [For Microsoft C/C++ compiler users, please supply the path pointing to the mspdb80.dll (if using Visual Studio 2008) or mspdb100.dll (if using Visual Studio 2010).]) [ Usage: --with-mspdb-path=<path to mspdb80.dll/mspdb100.dll> ], ,) AC_ARG_WITH(midl-path, AS_HELP_STRING([--with-midl-path], [For Microsoft compiler users, please supply the path pointing to the midl.exe.]) [ Usage: --with-midl-path=<abs. path to midl.exe> ], ,) AC_ARG_WITH(csc-path, AS_HELP_STRING([--with-csc-path], [For Windows builds, please supply the path pointing to the csc.exe. Usually found automatically when building on Windows.]) [ Usage: --with-csc-path=<abs. path to csc.exe> ], ,) AC_ARG_WITH(dotnet-framework-home, AS_HELP_STRING([--with-dotnet-framework-home], [For Microsoft compiler users, please supply the path pointing to lib/mscoree.lib, usually something like: "/cygdrive/c/Program Files/Windows SDKs/Windows/v7.0"]) [ Note that in most cases it will be automatically found, though. Usage: --with-dotnet-framework-home=<absolute path to .NET Framework> ], ,) AC_ARG_WITH(windows-sdk-home, AS_HELP_STRING([--with-windows-sdk-home], [For Windows builds, please supply the path to the Windows SDK. Usually found automatically when building on Windows.]) [ Usage: --with-windows-sdk-home=<absolute path to Windows SDK> ], ,) AC_ARG_WITH(directx-home, AS_HELP_STRING([--with-directx-home], [For Windows users, please supply the path to the Microsoft DirectX SDK.]) [ Usage: --with-directx-home=<absolute path to Microsoft DirectX SDK> ], ,) AC_ARG_WITH(mozilla-build, AS_HELP_STRING([--with-mozilla-build], [For Windows users, please supply the path to the Mozilla build tools.]) [ Usage: --with-mozilla-build=<absolute path to Mozilla build tools> At the moment of this writing, an installer for the mozilla build tools can be obtained from http://ftp. mozilla.org/pub/mozilla.org/mozilla/libraries/win32. ], MOZILLABUILD=$withval , ) AC_ARG_WITH(lang, AS_HELP_STRING([--with-lang], [Use this option to build LibreOffice with additional language support. English (US) is always included by default. Separate multiple languages with space. For all languages, use --with-lang=ALL.]) [ Usage: --with-lang="es sw tu cs sk" ], ,) # Kerberos and GSSAPI used only by PostgreSQL as of LibO 3.5 AC_ARG_WITH(krb5, AS_HELP_STRING([--with-krb5], [Enable MIT Kerberos 5 support in modules that support it. By default automatically enabled on platforms where a good system Kerberos 5 is available.]), ,) #AC_ARG_WITH(system-redland, # AS_HELP_STRING([--with-system-redland], # [Use redland library already on system.]),, # [with_system_redland="$with_system_libs"]) AC_ARG_WITH(gssapi, AS_HELP_STRING([--with-gssapi], [Enable GSSAPI support in modules that support it. By default automatically enabled on platforms where a good system GSSAPI is available.]), ,) dnl =================================================================== dnl Branding dnl =================================================================== AC_ARG_WITH(branding, [ --with-branding Use given path to retrieve all branding images. Expects /path/intro.png ... /path/backing_rtl_right.png to be there. Individual images can be overridden via --with-intro-bitmap ... --with-startcenter-rtl-left-bitmap switches. Usage: --with-branding=/path/to/images ],,) AC_ARG_WITH(intro-bitmap, [ --with-intro-bitmap Prefer the specified intro bitmap over the the default one. Usage: --with-intro-bitmap=/path/my_ooo_intro.png ],,) AC_ARG_WITH(intro-progressbar-color, [ --with-intro-progressbar-color Set color of progress bar on intro screen. Comma separated RGB values in decimal format. Usage: --with-intro-progressbar-color=126,170,23 ],,) AC_ARG_WITH(intro-progressbar-size, [ --with-intro-progressbar-size Set size of progress bar on intro screen. Comma separated values in decimal format. Usage: --with-intro-progressbar-size=319,10 ],,) AC_ARG_WITH(intro-progressbar-position, [ --with-intro-progressbar-position Set position of progress bar on intro screen. Comma separated values in decimal format. Usage: --with-intro-progressbar-position=164,225 ],,) AC_ARG_WITH(intro-progressbar-frame-color, [ --with-intro-progressbar-frame-color Set color of progress bar frame on intro screen. Comma separated RGB values in decimal format. Usage: --with-intro-progressbar-frame-color=207,208,211 ],,) AC_ARG_WITH(about-bitmap, [ --with-about-bitmap Similarly to --with-intro-bitmap, this allows specification of bitmap for the About box. Usage: --with-about-bitmap=/path/my_ooo_about.png ],,) AC_ARG_WITH(startcenter-left-bitmap, [ --with-startcenter-left-bitmap Similarly to --with-intro-bitmap, this allows specification of bitmap for the Start center. Usage: --with-startcenter-left-bitmap=/path/my_backing_left.png ],,) AC_ARG_WITH(startcenter-right-bitmap, [ --with-startcenter-right-bitmap Similarly to --with-intro-bitmap, this allows specification of bitmap for the Start center. Usage: --with-startcenter-right-bitmap=/path/my_backing_right.png ],,) AC_ARG_WITH(startcenter-rtl-left-bitmap, [ --with-startcenter-rtl-left-bitmap Similarly to --with-intro-bitmap, this allows specification of bitmap for the Start center. Usage: --with-startcenter-rtl-left-bitmap=/path/my_backing_rtl_left.png ],,) AC_ARG_WITH(startcenter-rtl-right-bitmap, [ --with-startcenter-rtl-right-bitmap Similarly to --with-intro-bitmap, this allows specification of bitmap for the Start center. Usage: --with-startcenter-rtl-right-bitmap=/path/my_backing_rtl_right.png ],,) AC_ARG_WITH(startcenter-space-bitmap, [ --with-startcenter-space-bitmap Similarly to --with-intro-bitmap, this allows specification of bitmap for the Start center. Usage: --with-startcenter-space-bitmap=/path/my_backing_space.png ],,) AC_ARG_WITH(vendor, AS_HELP_STRING([--with-vendor], [Set vendor of the build.]) [ Usage: --with-vendor="John the Builder" ], ,) AC_ARG_WITH(unix-wrapper, AS_HELP_STRING([--with-unix-wrapper], [Redefines the name of the UNIX wrapper that will be used in the desktop files and in the desktop-integration RPMs.]) [ Usage: --with-unix-wrapper=ooffice ], ,) AC_ARG_WITH(compat-oowrappers, AS_HELP_STRING([--with-compat-oowrappers], [Install oo* wrappers in parallel with lo* ones to keep backward compatibility. Has effect only with make distro-pack-install]), ,) AC_ARG_WITH(asm-home, AS_HELP_STRING([--with-asm-home], [For Windows, please supply the path for the ml.exe or ml64.exe assembler.]) [ Usage: --with-asm-home=<path to assembler directory> ], ,) AC_ARG_WITH(os-version, AS_HELP_STRING([--with-os-version], [For FreeBSD users, use this option option to override the detected OSVERSION.]) [ Usage: --with-os-version=<OSVERSION> ], ,) AC_ARG_WITH(mingw-cross-compiler, AS_HELP_STRING([--with-mingw-cross-compiler], [Specify the MinGW cross-compiler to use.]) [ Usage: --with-mingw-cross-compiler=<mingw32-g++ command> When building on the ODK on Unix and building unowinreg.dll, specify the MinGW C++ cross-compiler. ], ,) AC_ARG_WITH(build-version, AS_HELP_STRING([--with-build-version], [Allows the builder to add a custom version tag that will appear in the Help/About box for QA purposes.]) [ Usage: --with-build-version="Built by Jim" ], with_build_version=$withval , ) AC_ARG_WITH(alloc, AS_HELP_STRING([--with-alloc], [Define which allocator to build with (choices are oo, system, tcmalloc, jemalloc). Note that on FreeBSD/NetBSD system==jemalloc]), ,) AC_ARG_WITH(sun-templates, AS_HELP_STRING([--with-sun-templates], [Integrate Sun template packages.]), ,) AC_ARG_WITH(num-cpus, AS_HELP_STRING([--with-num-cpus], [Number of build processes/cpus to use (number of projects that will build at the same time). Multi-process/multi-cpu builds can save a lot of time on multi-cpu machines. Defaults to the number of CPUs on the machine.]), ,) AC_ARG_WITH(max-jobs, AS_HELP_STRING([--with-max-jobs], [Maximum number of jobs that will be issued at the same time per dmake or gbuild subproject. The real number of the jobs is affected by the --with-num-cpus too, it can get up to CPUS*max_jobs. Defaults to 1, unless you configure --enable-icecream - then to 10.]), ,) dnl =================================================================== dnl MacOSX build and runtime environment options dnl =================================================================== AC_ARG_WITH(macosx-sdk, AS_HELP_STRING([--with-macosx-sdk], [Use a specific SDK for building.]) [ Usage: --with-macosx-sdk=<version> e. g.: --with-macosx-sdk=10.4 there are 3 options to controle the MacOSX build: --with-macosx-sdk (refered as 'sdl' below) --with-macosx-version-min-required (refered as 'min' below) --with-macosx-version-max-allowed (refered as 'max' below) the connection between these value and the default they take is as follow: ( ? means not specified on the command line, constraint: x <= y <= z) ========================================== command line || config result ========================================== min | max | sdk || min | max | sdk | ? | ? | ? || 10.4 | 10.4 | 10.4 | ? | ? | 10.x || 10.4 | 10.4 | 10.x | ? | 10.x | ? || 10.4 | 10.x | 10.x | ? | 10.x | 10.y || 10.4 | 10.x | 10.y | 10.x | ? | ? || 10.x | 10.x | 10.x | 10.x | ? | 10.y || 10.x | 10.x | 10.y | 10.x | 10.y | ? || 10.x | 10.y | 10.y | 10.x | 10.y | 10.z || 10.x | 10.y | 10.z | see: http://developer.apple.com/library/mac/#technotes/tn2064/_index.html for a detailled technical explanation of these variables Note: MACOSX_DEPLOYMENT_TARGET will be set to the value of 'min'. ], ,) AC_ARG_WITH(macosx-version-min-required, AS_HELP_STRING([--with-macosx-version-min-required], [set the minimum OS version needed to run the built LibreOffice]) [ Usage: --with-macosx-version-min-required=<version> e. g.: --with-macos-version-min-required=10.4 see --with-macosx-sdk for more info ], ,) AC_ARG_WITH(macosx-version-max-allowed, AS_HELP_STRING([--with-macosx-version-max-allowed], [set the maximum allowed OS version the LibreOffice compilation can use APIs from]) [ Usage: --with-macosx-version-max-allowed=<version> e. g.: --with-macos-version-max-allowed=10.6 see --with-macosx-sdk for more info ], ,) dnl =================================================================== dnl check for required programs (grep, awk, sed, bash) dnl =================================================================== AC_PROG_EGREP AC_PROG_AWK AC_PATH_PROG( AWK, $AWK) if test -z "$AWK"; then AC_MSG_ERROR([install awk to run this script]) fi AC_PATH_PROG(BASH, bash) if test -z "$BASH"; then AC_MSG_ERROR([bash not found in \$PATH]) fi AC_SUBST(BASH) AC_MSG_CHECKING([for GNU or BSD tar]) for a in $GNUTAR gtar gnutar tar /usr/sfw/bin/gtar; do $a --version 2> /dev/null | egrep "GNU|bsdtar" 2>&1 > /dev/null if test $? -eq 0; then GNUTAR=$a break fi done AC_MSG_RESULT($GNUTAR) if test -z "$GNUTAR"; then AC_MSG_ERROR([not found. install GNU or BSD tar.]) fi AC_SUBST(GNUTAR) dnl It is useful to have a BUILD_TYPE keyword to distinguish "normal" dnl desktop OSes from "mobile" ones. dnl We assume that a non-DESKTOP build type is also a non-NATIVE one. dnl In other words, that when building for an OS that is not a dnl "desktop" one but a "mobile" one, we are always cross-compiling. dnl Note the direction of the implication; there is no assumption that dnl cross-compiling would imply a non-desktop OS. if test $_os != iOS -a $_os != Android; then BUILD_TYPE="$BUILD_TYPE DESKTOP" fi dnl =================================================================== dnl Extra check for Windows. Cygwin builds need gcc to build dmake dnl although MSVC is used to build other build-time tools and dnl LibreOffice itself. dnl =================================================================== if test "$build_os" = "cygwin" ; then AC_MSG_CHECKING([for Cygwin gcc/g++]) if which gcc > /dev/null && which g++ > /dev/null ; then AC_MSG_RESULT([found]) else AC_MSG_ERROR([Cygwin gcc and g++ are needed, please install them.]) fi fi dnl =================================================================== dnl Checks if ccache is available dnl =================================================================== if test "$enable_ccache" = "yes" -o \( "$enable_ccache" = "" -a "$enable_icecream" != "yes" \) ; then if test -z "$CC" ; then if test -z "$CXX" ; then AC_PATH_PROG([CCACHE],[ccache],[not found]) if test "$CCACHE" = "not found" ; then CCACHE="" else CCACHE="ccache" # need to check for ccache version: otherwise prevents # caching of the results (like "-x objective-c++" for Mac) if test $_os = Darwin -o $_os = iOS; then # check ccache version AC_MSG_CHECKING([whether version of ccache is suitable]) CCACHE_VERSION=`"$CCACHE" -V | "$AWK" '/^ccache version/{print $3}'` CCACHE_NUMVER=`echo $CCACHE_VERSION | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$CCACHE_VERSION" = "2.4_OOo" -o "$CCACHE_NUMVER" -ge "030100"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) AC_MSG_NOTICE([ccache version $CCACHE_VERSION not accepted. ccache will not be used.]) CCACHE="" fi fi fi else AC_MSG_NOTICE([Automatic ccache detection ignored: CXX is pre-defined]) CCACHE="" fi else AC_MSG_NOTICE([Automatic ccache detection ignored: CC is pre-defined]) CCACHE="" fi else CCACHE="" fi if test "$CCACHE" != "" ; then ccache_size_msg=$([ccache -s | tail -n 1 | sed 's/^[^0-9]*//' | sed -e 's/\.[0-9]*//']) ccache_size=$(echo "$ccache_size_msg" | grep "G" | sed -e 's/G.*$//') if test "$ccache_size" = "" ; then ccache_size=$(echo "$ccache_size_msg" | grep "M" | sed -e 's/\ M.*$//') if test "$ccache_size" = "" ; then ccache_size=0 fi # we could not determine the size or it was less than 1GB -> disable auto-ccache if test $ccache_size -lt 1024 ; then CCACHE="" AC_MSG_WARN([ccache's cache size is less than 1GB using it is counter-producive: Disabling auto-ccache detection]) echo "ccache's cache size is less than 1GB using it is counter-producive: auto-ccache detection disabled" >> warn else # warn that ccache may be too small for debug build AC_MSG_WARN([ccache's cache size is less than 5GB using it may be counter-producive for debug or symbol-enabled build]) echo "ccache's cache size is less than 5GB using it may be counter-producive for debug or symbol-enabled build" >> warn fi else if test $ccache_size -lt 5 ; then #warn that ccache may be too small for debug build AC_MSG_WARN([ccache's cache size is less than 5GB using it may be counter-producive for debug or symbol-enabled build]) echo "ccache's cache size is less than 5GB using it may be counter-producive for debug or symbol-enabled build" >> warn fi fi fi dnl =================================================================== dnl Checks for C compiler, dnl The check for the C++ compiler is later on. dnl =================================================================== GCC_HOME_SET="true" AC_MSG_CHECKING([gcc home]) if test -z "$with_gcc_home"; then if test "$enable_icecream" = "yes" ; then GCC_HOME="/opt/icecream" else GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,` GCC_HOME_SET="false" fi else GCC_HOME="$with_gcc_home" fi AC_MSG_RESULT($GCC_HOME) AC_SUBST(GCC_HOME) if test "$GCC_HOME_SET" = "true" ; then if test -z "$CC"; then CC="$GCC_HOME/bin/gcc" fi if test -z "$CXX"; then CXX="$GCC_HOME/bin/g++" fi fi dnl The following checks for gcc, cc and then cl (if it weren't guarded for win32) if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then AC_PROG_CC fi COMPATH=`dirname "$CC"` if test "$COMPATH" = "." ; then AC_PATH_PROGS(COMPATH, $CC) dnl double square bracket to get single because of M4 quote... COMPATH=`echo $COMPATH | $SED "s@/[[^/:]]*\\\$@@"`; fi COMPATH=`echo $COMPATH | $SED "s@/[[Bb]][[Ii]][[Nn]]\\\$@@"`; dnl =================================================================== dnl Test MacOSX sdk and version requirement dnl =================================================================== if test "$_os" = "Darwin" ; then if test "$with_macosx_version_min_required" = "" ; then with_macosx_version_min_required="10.4" fi if test "$with_macosx_version_max_allowed" = "" ; then with_macosx_version_max_allowed="$with_macosx_version_min_required" fi if test "$with_macosx_sdk" = "" ; then with_macosx_sdk="$with_macosx_version_max_allowed" fi case "$with_macosx_sdk" in 10.4) MACOSX_SDK_PATH="/Developer/SDKs/MacOSX10.4u.sdk" if test ! -d "$MACOSX_SDK_PATH"; then MACOSX_SDK_PATH="/Developer-old/SDKs/MacOSX10.4u.sdk" fi macosx_sdk_value="1040" ;; 10.5) MACOSX_SDK_PATH="/Developer/SDKs/MacOSX10.5.sdk" if test ! -d "$MACOSX_SDK_PATH"; then MACOSX_SDK_PATH="/Developer-old/SDKs/MacOSX10.5.sdk" fi macosx_sdk_value="1050" AC_MSG_WARN([Building with a SDK > 10.4 is experimental]) echo "Building with a SDK > 10.4 is experimental" >> warn ;; 10.6) MACOSX_SDK_PATH="/Developer/SDKs/MacOSX10.6.sdk" macosx_sdk_value="1060" AC_MSG_WARN([Building with a SDK > 10.4 is experimental]) echo "Building with a SDK > 10.4 is experimental" >> warn ;; 10.7) MACOSX_SDK_PATH="/Developer/SDKs/MacOSX10.7.sdk" macosx_sdk_value="1070" AC_MSG_WARN([Building with SDK 10.7 is known to fail in vcl]) echo "Building with SDK 10.7 is known to fail in vcl" >> warn ;; *) AC_MSG_ERROR([$with_macosx_sdk is not a supported SDK value, supported value are 10.4, 10.5, 10.6 and 10.7]) ;; esac AC_MSG_CHECKING([the presence of the SDK $with_macosx_sdk]) if test -d "$MACOSX_SDK_PATH" ; then AC_MSG_RESULT([$MACOSX_SDK_PATH ok]) else AC_MSG_ERROR([$MACOSX_SDK_PATH not found]) fi MACOSX_DEPLOYMENT_TARGET="$with_macosx_version_min_required" case "$with_macosx_version_min_required" in 10.4) MAC_OS_X_VERSION_MIN_REQUIRED="1040" ;; 10.5) MAC_OS_X_VERSION_MIN_REQUIRED="1050" AC_MSG_WARN([Building with a minimum version requirement > 10.4 break 10.4 compatibility. do not use for deliverable build]) echo "Building with a minimum version requirement > 10.4 break 10.4 compatibility. do not use for deliverable build" >>warn if test -z "$save_CC" ; then CC="gcc-4.2 -m32" CXX="g++-4.2 -m32" fi ;; 10.6) MAC_OS_X_VERSION_MIN_REQUIRED="1060" AC_MSG_WARN([Building with a minimum version requirement > 10.4 break 10.4 compatibility. do not use for deliverable build]) echo "Building with a minimum version requirement > 10.4 break 10.4 compatibility. do not use for deliverable build" >>warn if test -z "$save_CC" ; then CC="gcc-4.2 -m32" CXX="g++-4.2 -m32" fi ;; 10.7) MAC_OS_X_VERSION_MIN_REQUIRED="1070" AC_MSG_WARN([Building with a minimum version requirement > 10.4 break 10.4 compatibility. do not use for deliverable build]) echo "Building with a minimum version requirement > 10.4 break 10.4 compatibility. do not use for deliverable build" >>warn if test -z "$save_CC" ; then CC="gcc-4.2 -m32" CXX="g++-4.2 -m32" fi ;; *) AC_MSG_ERROR([with-macosx-version-min-required $with_macosx_version_min_required is not a supported value, supported value are 10.4, 10.5, 10.6 and 10.7]) ;; esac case "$with_macosx_version_max_allowed" in 10.4) MAC_OS_X_VERSION_MAX_ALLOWED="1040" ;; 10.5) MAC_OS_X_VERSION_MAX_ALLOWED="1050" ;; 10.6) MAC_OS_X_VERSION_MAX_ALLOWED="1060" ;; 10.7) MAC_OS_X_VERSION_MAX_ALLOWED="1070" ;; *) AC_MSG_ERROR([with-macosx-version-max-allowed $with_macosx_version_max_allowed is not a supported value, supported value are 10.4, 10.5, 10.6 and 10.7]) ;; esac AC_MSG_CHECKING([that macosx-version-min-required is coherent with macosx-version-max-allowed]) if test $MAC_OS_X_VERSION_MIN_REQUIRED -gt $MAC_OS_X_VERSION_MAX_ALLOWED ; then AC_MSG_ERROR([the version minimumn required must be inferior or equal to the version maximum allowed]) else AC_MSG_RESULT([ok]) fi AC_MSG_CHECKING([that macosx-version-max-allowed is coherent macos-with-sdk]) if test $MAC_OS_X_VERSION_MAX_ALLOWED -gt $macosx_sdk_value ; then AC_MSG_ERROR([the version maximum allowed cannot be greater thatn the sdk level]) else AC_MSG_RESULT([ok]) fi AC_MSG_NOTICE([MAC_OS_X_VERSION_MIN_REQUIRED=$MAC_OS_X_VERSION_MIN_REQUIRED]) AC_MSG_NOTICE([MAC_OS_X_VERSION_MAX_ALLOWED=$MAC_OS_X_VERSION_MAX_ALLOWED]) fi AC_SUBST(MACOSX_SDK_PATH) AC_SUBST(MACOSX_DEPLOYMENT_TARGET) AC_SUBST(MAC_OS_X_VERSION_MIN_REQUIRED) AC_SUBST(MAC_OS_X_VERSION_MAX_ALLOWED) dnl =================================================================== dnl Windows specific tests and stuff dnl =================================================================== if test "$_os" = "WINNT"; then dnl Include twain scanners BUILD_TYPE="$BUILD_TYPE TWAIN" dnl Set the CL_X64 variable if we are building a 64-bit LibreOffice. AC_MSG_CHECKING([whether to build a 64-bit LibreOffice]) if test "z$enable_cl_x64" = "z" -o "$enable_cl_x64" = "no"; then CL_X64="" AC_MSG_RESULT([no]) else CL_X64="TRUE" AC_MSG_RESULT([yes]) fi AC_SUBST(CL_X64) AC_MSG_CHECKING([whether to use DirectX]) if test "$enable_directx" = "yes" -o "$enable_directx" = ""; then ENABLE_DIRECTX="TRUE" AC_MSG_RESULT([yes]) else ENABLE_DIRECTX="" AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_DIRECTX) AC_MSG_CHECKING([whether to use ActiveX]) if test "$enable_activex" = "yes" -o "$enable_activex" = "TRUE" -o "$enable_activex" = ""; then DISABLE_ACTIVEX="" AC_MSG_RESULT([yes]) else DISABLE_ACTIVEX="TRUE" AC_MSG_RESULT([no]) fi AC_SUBST(DISABLE_ACTIVEX) AC_MSG_CHECKING([whether to use ATL]) if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE"; then DISABLE_ATL="" AC_MSG_RESULT([yes]) elif test "$enable_atl" = ""; then if test "$WITH_MINGW" = "yes"; then DISABLE_ATL="TRUE" AC_MSG_RESULT([no]) else DISABLE_ATL="" AC_MSG_RESULT([yes]) fi else DISABLE_ATL="TRUE" AC_MSG_RESULT([no]) fi AC_SUBST(DISABLE_ATL) fi dnl =================================================================== dnl Test the gcc version, 3 is OK dnl =================================================================== if test \( "$_os" != "WINNT" -o "$WITH_MINGW" = "yes" \) -a "$GCC" = "yes"; then AC_MSG_CHECKING([the GNU C compiler version]) _gcc_version=`$CC -dumpversion` _gcc_major=`echo $_gcc_version | $AWK -F. '{ print \$1 }'` GCCVER=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_os" = "Darwin" -a "$with_macosx_sdk" = "10.4" -a "$GCCVER" -ge "040100" ; then if test -z "$save_CC" -a -x "$GCC_HOME/bin/gcc-4.0" ; then export CC="$GCC_HOME/bin/gcc-4.0" # export CC to have it available in set_soenv -> config.guess GCCVER2=`$CC -dumpversion | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$GCCVER2" -ge "040000" -a "$GCCVER2" -lt "040100" ; then GCCVER=$GCCVER2 fi fi if test "$GCCVER" -ge "040100" ; then AC_MSG_ERROR([You need to use the gcc-4.0 compiler (gcc $_gcc_version won't work with the MacOSX10.4u.sdk) - set CC accordingly]) else AC_MSG_RESULT([implicitly using CC=$CC]) fi else AC_MSG_RESULT([checked (gcc $_gcc_version)]) fi fi # # prefix C with ccache if needed # if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes" ; then if test "$CCACHE" != "" ; then AC_MSG_CHECKING([whether $CC is already ccached]) AC_LANG_PUSH([C]) save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS --ccache-skip -O2" dnl an empty program will do, we're checking the compiler flags AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [use_ccache=yes], [use_ccache=no]) if test $use_ccache = yes ; then AC_MSG_RESULT([yes]) else CC="$CCACHE $CC" AC_MSG_RESULT([no]) fi CFLAGS=$save_CFLAGS AC_LANG_POP([C]) fi fi HAVE_LD_BSYMBOLIC_FUNCTIONS= if test "$GCC" = "yes"; then AC_MSG_CHECKING( for -Bsymbolic-functions linker support ) bsymbolic_functions_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo" AC_LINK_IFELSE([AC_LANG_PROGRAM([ #include <stdio.h> ],[ printf ("hello world\n"); ])], HAVE_LD_BSYMBOLIC_FUNCTIONS=TRUE, []) if test "z$HAVE_LD_BSYMBOLIC_FUNCTIONS" = "zTRUE"; then AC_MSG_RESULT( found ) else AC_MSG_RESULT( not found ) fi LDFLAGS=$bsymbolic_functions_ldflags_save fi AC_SUBST(HAVE_LD_BSYMBOLIC_FUNCTIONS) dnl Set the ENABLE_DBGUTIL variable dnl =================================================================== AC_MSG_CHECKING([whether to build with additional debug utilities]) if test -n "$enable_dbgutil" && test "$enable_dbgutil" != "no"; then PROEXT="" PRODUCT="" AC_MSG_RESULT([yes]) # cppunit and graphite expose STL in public headers if test "$with_system_cppunit" = "yes"; then AC_MSG_ERROR([--with-system-cppunit conflicts with DBG_UTIL build]) else with_system_cppunit=no fi if test "$with_system_graphite" = "yes"; then AC_MSG_ERROR([--with-system-graphite conflicts with DBG_UTIL build]) else with_system_graphite=no fi if test "$with_system_mysql_cppconn" = "yes"; then AC_MSG_ERROR([--with-system-mysql-cppconn conflicts with DBG_UTIL build]) else with_system_mysql_cppconn=no fi if test $_os = WINNT -a \ \( "$enable_mozilla" != no -o \ "$enable_build_mozilla" != no \); then # We can't build against the Mozilla stuff if using _DEBUG, will get linking errors # See connectivity/drivers/mozab AC_MSG_WARN([Also disabling Mozilla stuff then]) enable_mozilla=no enable_build_mozilla=no fi else PRODUCT="full" PROEXT=".pro" AC_MSG_RESULT([no, full product build]) fi AC_SUBST(PRODUCT) AC_SUBST(PROEXT) dnl =================================================================== dnl Check which Microsoft C/C++ or MinGW compiler is used for WINNT dnl =================================================================== SHOWINCLUDES_PREFIX= if test "$_os" = "WINNT"; then if test "$WITH_MINGW" != "yes"; then AC_MSG_CHECKING([for a friendly Microsoft C/C++ compiler installation path]) if test -z "$with_cl_home"; then vctest=`./oowintool --msvc-productdir`; if test "$CL_X64" = ""; then if test -x "$vctest/bin/cl.exe"; then with_cl_home=$vctest; fi else if test -x "$vctest/bin/amd64/cl.exe"; then with_cl_home=$vctest; fi fi else with_cl_home=`cygpath -u "$with_cl_home"` fi with_cl_home=`cygpath -d "$with_cl_home"` with_cl_home=`cygpath -u "$with_cl_home"` AC_MSG_RESULT([$with_cl_home]) dnl =========================================================== dnl Check for mspdb80.dll/mspdb100.dll dnl =========================================================== dnl MSVS 2008/10 Compiler if test -n "$with_mspdb_path";then with_mspdb_path=`cygpath -u "$with_mspdb_path"` fi if test -e "$with_mspdb_path/mspdb80.dll" -o -e "$with_mspdb_path/mspdb100.dll"; then MSPDB_PATH="$with_mspdb_path" fi dnl MSVS 2008 case if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb80.dll"; then MSPDB_PATH="$with_cl_home/../Common7/IDE" fi dnl Windows SDK 6.0 case if test -z "$MSPDB_PATH" -a -e "$with_cl_home/bin/mspdb80.dll"; then MSPDB_PATH="$with_cl_home/bin" fi dnl MSVS 2010 case if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb100.dll"; then MSPDB_PATH="$with_cl_home/../Common7/IDE" fi if test -z "$MSPDB_PATH";then dnl AC_PATH_PROG only checks if MSPDB_PATH is still empty AC_PATH_PROG(MSPDB_PATH, mspdb80.dll) AC_PATH_PROG(MSPDB_PATH, mspdb100.dll) MSPDB_PATH=`dirname "$MSPDB_PATH"` fi if test -z "$MSPDB_PATH"; then AC_MSG_ERROR([You need a mspdb80.dllor mspdb100.dll, make sure it is in the path or use --with-mspdb-path]) fi MSPDB_PATH=`cygpath -d "$MSPDB_PATH"` MSPDB_PATH=`cygpath -u "$MSPDB_PATH"` dnl The path needs to be added before cl is called PATH="$MSPDB_PATH:$PATH" AC_MSG_CHECKING([the Microsoft C/C++ Compiler]) if test -z "$CC"; then if test "$CL_X64" = ""; then if test -x "$with_cl_home/bin/cl.exe"; then CC="$with_cl_home/bin/cl.exe" fi else if test -x "$with_cl_home/bin/amd64/cl.exe"; then CC="$with_cl_home/bin/amd64/cl.exe" fi fi if test -z "$CC"; then AC_PATH_PROG(CC, cl.exe) fi # This gives us a posix path with 8.3 filename restrictions CC=`cygpath -d "$CC"` CC=`cygpath -u "$CC"` fi if test -n "$CC"; then # Remove /cl.exe from CC case insensitive AC_MSG_RESULT([found ($CC)]) if test "$CL_X64" = ""; then COMPATH=`echo $CC | $SED -e 's@\/[[Bb]][[Ii]][[Nn]]\/[[cC]][[lL]]\.[[eE]][[xX]][[eE]].*@@' -e 's@^.* @@'` else if test -n "$with_cl_home"; then COMPATH=`echo $with_cl_home` fi fi export INCLUDE=`cygpath -d "$COMPATH/Include"` dnl Check which Microsoft C/C++ compiler is found AC_MSG_CHECKING([the Version of Microsoft C/C++ Compiler]) # The following finds Microsoft, matches nn.nn.nnnn then pulls numbers out. CCNUMVER=`$CC 2>&1 | $AWK "/Microsoft/ && /..\\...\\...../ { x = match( \\\$0, /..\\...\\...../ ) CCversion = substr( \\\$0, RSTART, RLENGTH) tokencount = split (CCversion,vertoken,\".\") for ( i = 1 ; i <= tokencount ; i++ ) { printf (\"%04d\",vertoken[[i]] ) } }"` if test "$CCNUMVER" -ge "001600000000"; then COMEX=13 MSVSVER=2010 elif test "$CCNUMVER" -ge "001500000000"; then COMEX=12 MSVSVER=2008 else AC_MSG_ERROR([Compiler too old. Use Microsoft Visual Studio 2008 or 2010.]) fi AC_MSG_RESULT([found compiler version $CCNUMVER (MSVS $MSVSVER).]) else AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe.]) fi dnl We need to guess the prefix of the -showIncludes output, it can be dnl localized AC_MSG_CHECKING([the dependency generation prefix (cl.exe -showIncludes)]) echo "#include <stdlib.h>" > conftest.c SHOWINCLUDES_PREFIX=`$CC -c -showIncludes conftest.c 2>/dev/null | \ grep 'stdlib\.h' | head -n1 | sed 's/ [[[:alpha:]]]:.*//'` rm -f conftest.c conftest.obj if test -z "$SHOWINCLUDES_PREFIX" ; then AC_MSG_ERROR([cannot determine the -showIncludes prefix]) else AC_MSG_RESULT(["$SHOWINCLUDES_PREFIX"]) fi # Check for 64-bit (cross-)compiler to use to build the 64-bit # version of the Explorer extension (and maybe other small # bits, too) needed when installing a 32-bit LibreOffice on a # 64-bit OS. The 64-bit Explorer extension is a feature that # has been present since long in OOo. Don't confuse it with # building LibreOffice itself as 64-bit code, which is # unfished work and highly experimental. BUILD_X64= CC_X64_BINARY= LINK_X64_BINARY= LIBMGR_X64_BINARY= AC_MSG_CHECKING([for a x64 compiler and libraries for 64bit ActiveX component]) if test "$CL_X64" = "" -a -f "$with_cl_home/atlmfc/lib/amd64/atls.lib"; then # Prefer native x64 compiler to cross-compiler, in case we are running # the build on a 64-bit OS. if "$with_cl_home/bin/amd64/cl.exe" -? </dev/null >/dev/null 2>&1; then BUILD_X64=TRUE CC_X64_BINARY="$with_cl_home/bin/amd64/cl.exe" CXX_X64_BINARY="$with_cl_home/bin/amd64/cl.exe" LINK_X64_BINARY="$with_cl_home/bin/amd64/link.exe" LIBMGR_X64_BINARY="$with_cl_home/bin/amd64/lib.exe" elif "$with_cl_home/bin/x86_amd64/cl.exe" -? </dev/null >/dev/null 2>&1; then BUILD_X64=TRUE CC_X64_BINARY="$with_cl_home/bin/x86_amd64/cl.exe" CXX_X64_BINARY="$with_cl_home/bin/x86_amd64/cl.exe" LINK_X64_BINARY="$with_cl_home/bin/x86_amd64/link.exe" LIBMGR_X64_BINARY="$with_cl_home/bin/x86_amd64/lib.exe" fi fi if test "$BUILD_X64" = TRUE; then AC_MSG_RESULT([found]) else AC_MSG_RESULT([not found]) AC_MSG_WARN([Installation set will not contain the 64-bit Explorer extension]) fi AC_SUBST(BUILD_X64) # These are passed to the environment through set_soenv.in as usual, and then # used in set_wntx64.mk AC_SUBST(CC_X64_BINARY) AC_SUBST(CXX_X64_BINARY) AC_SUBST(LINK_X64_BINARY) AC_SUBST(LIBMGR_X64_BINARY) else AC_MSG_CHECKING([the compiler is MinGW]) MACHINE_PREFIX=`$CC -dumpmachine` if echo $MACHINE_PREFIX | grep -q mingw32; then AC_MSG_RESULT([yes]) else AC_MSG_ERROR([Compiler is not MinGW.]) fi fi fi AC_SUBST(COMEX) AC_SUBST(MSPDB_PATH) AC_SUBST(SHOWINCLUDES_PREFIX) # # determine CPU, CPUNAME, GUI, GUIBASE, ... # LIB64="lib" case "$host_os" in aix*) COM=GCC CPU=P CPUNAME=POWERPC GUI=UNX GUIBASE=unx OS=AIX OUTPATH=unxaigppc P_SEP=: ;; cygwin*) COM=MSC GUI=WNT GUIBASE=WIN OS=WNT P_SEP=";" case "$host_cpu" in i*86|x86_64) if test "$CL_X64" != ""; then CPU=X CPUNAME=X86_64 LIB64="lib/x64" OUTPATH=wntmscx$COMEX else CPU=I CPUNAME=INTEL OUTPATH=wntmsci$COMEX fi ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac SCPDEFS="$SCPDEFS -D_MSC_VER" ;; darwin*) COM=GCC GUI=UNX GUIBASE="aqua" OS=MACOSX P_SEP=: case "$host_cpu" in arm*) CPU=R CPUNAME=ARM GUIBASE=cocoatouch OUTPATH=unxiosr OS=IOS; ;; powerpc*) CPU=P CPUNAME="POWERPC" OUTPATH="unxmacxp" ;; i*86|x86_64) CPU=I CPUNAME=INTEL OUTPATH=unxmacxi ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; dragonfly*) COM=GCC GUI=UNX GUIBASE=unx OS=DRAGONFLY OUTPATH=unxdfly P_SEP=: case "$host_cpu" in i*86) CPU=I CPUNAME=INTEL ;; x86_64) CPU=X CPUNAME=X86_64 ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; freebsd*) COM=GCC GUI=UNX GUIBASE=unx OS=FREEBSD OUTPATH=unxfbsd P_SEP=: case "$host_cpu" in i*86) CPU=I CPUNAME=INTEL OUTPATH=unxfbsdi ;; x86_64) CPU=X CPUNAME=X86_64 ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; linux-gnu*) COM=GCC GUI=UNX GUIBASE=unx OS=LINUX P_SEP=: case "$host_cpu" in alpha) CPU=L CPUNAME=AXP OUTPATH=unxlngaxp ;; armel) CPU=R CPUNAME=ARM OUTPATH=unxlngr ;; armel-androideabi) CPU=R CPUNAME=ARM OUTPATH=unxandr GUIBASE=android ;; hppa) CPU=H CPUNAME=HPPA OUTPATH=unxlnghppa ;; i*86) CPU=I CPUNAME=INTEL OUTPATH=unxlngi6 ;; ia64) CPU=A CPUNAME=IA64 OUTPATH=unxlnga ;; mips) CPU=M CPUNAME=GODSON OUTPATH=unxlngmips ;; m68k) CPU=6 CPUNAME=M68K OUTPATH=unxlngm68k ;; powerpc) CPU=P CPUNAME=POWERPC OUTPATH=unxlngppc ;; powerpc64) CPU=P CPUNAME=POWERPC64 LIB64="lib64" OUTPATH=unxlngppc64 ;; sparc) CPU=S CPUNAME=SPARC OUTPATH=unxlngs ;; s390) CPU=3 CPUNAME=S390 OUTPATH=unxlngs390 ;; s390x) CPU=3 CPUNAME=S390x LIB64="lib64" OUTPATH=unxlngs390x ;; x86_64) CPU=X CPUNAME=X86_64 LIB64="lib64" OUTPATH=unxlngx6 ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; linux-androideabi*) COM=GCC GUI=UNX GUIBASE=android OS=ANDROID P_SEP=: case "$host_cpu" in arm|armel) CPU=R CPUNAME=ARM OUTPATH=unxandr ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; mingw*) COM=GCC GUI=WNT GUIBASE=WIN OS=WNT P_SEP=: case "$host_cpu" in i*86|x86_64) if test "$CL_X64" != ""; then CPU=X CPUNAME=X86_64 OUTPATH=wntgccx$COMEX else CPU=I CPUNAME=INTEL OUTPATH=wntgcci$COMEX fi ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; *netbsd*) COM=GCC GUI=UNX GUIBASE=unx OS=NETBSD OUTPATH=unxnbsd P_SEP=: case "$host_cpu" in i*86) CPU=I CPUNAME=INTEL ;; powerpc) CPU=P CPUNAME=POWERPC ;; sparc) CPU=S CPUNAME=SPARC ;; x86_64) CPU=X CPUNAME=X86_64 ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; openbsd*) COM=GCC GUI=UNX GUIBASE=unx OS=OPENBSD OUTPATH=unxobsd P_SEP=: case "$host_cpu" in i*86) CPU=I CPUNAME=INTEL ;; x86_64) CPU=X CPUNAME=X86_64 ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; solaris*) COM=GCC GUI=UNX GUIBASE=unx OS=SOLARIS P_SEP=: case "$host_cpu" in i*86) CPU=I CPUNAME=INTEL OUTPATH=unxsoli ;; sparc) CPU=S CPUNAME=SPARC OUTPATH=unxsogs ;; *) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) ;; esac ;; *) AC_MSG_ERROR([$host_os operating system is not suitable to build LibreOffice for!]) ;; esac INPATH=${OUTPATH}${PROEXT} AC_SUBST(COM) AC_SUBST(CPU) AC_SUBST(CPUNAME) AC_SUBST(GUI) AC_SUBST(GUIBASE) AC_SUBST(INPATH) AC_SUBST(OS) AC_SUBST(OUTPATH) AC_SUBST(P_SEP) dnl =================================================================== dnl Set up a different compiler to produce tools to run on the build dnl machine when doing cross-compilation dnl =================================================================== m4_pattern_allow([PKG_CONFIG_FOR_BUILD]) if test "$cross_compiling" = "yes"; then AC_MSG_CHECKING([for BUILD platform configuration]) echo rm -rf CONF-FOR-BUILD Env.Build.sh mkdir CONF-FOR-BUILD tar cf - \ bin/repo-list.in \ build_env.in \ android/qa/sc/local.properties.in \ android/qa/desktop/local.properties.in \ config.guess \ config_host.mk.in \ configure \ ooo.lst.in \ oowintool \ post_download.in \ set_soenv.in \ solenv/inc/langlist.mk \ solenv/inc/postset.mk \ | (cd CONF-FOR-BUILD && tar xf -) ( unset COM GUI GUIBASE OS CPU CPUNAME unset CC CXX SYSBASE CFLAGS unset PYTHON_CFLAGS PYTHON_LIBS unset AR NM OBJDUMP PKG_CONFIG RANLIB STRIP test -n "$CC_FOR_BUILD" && export CC="$CC_FOR_BUILD" test -n "$CXX_FOR_BUILD" && export CXX="$CXX_FOR_BUILD" test -n "$PKG_CONFIG_FOR_BUILD" && export PKG_CONFIG="$PKG_CONFIG_FOR_BUILD" cd CONF-FOR-BUILD sub_conf_opts="" test -n "$with_ant_home" && sub_conf_opts="$sub_conf_opts --with-ant-home=$with_ant_home" test $with_junit = no && sub_conf_opts="$sub_conf_opts --without-junit" test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION" ./configure \ --disable-mozilla \ --disable-build-mozilla \ --disable-zenity \ --with-num-cpus="$with_num_cpus" \ --with-max-jobs="$with_max_jobs" \ --without-doxygen \ $sub_conf_opts \ 2>&1 | sed -e 's/^/ /' test -f ./Env.Host.sh 2>/dev/null || exit test -f ./config_host.mk 2>/dev/null || exit cp config_host.mk ../config_build.mk sed -e 's/config_host.mk/config_build.mk/' <Env.Host.sh >../Env.Build.sh cp config.log ../config.Build.log . ./config_host.mk . ./Env.Host.sh for V in COM GUI GUIBASE OS CPU CPUNAME CC CXX GXX_INCLUDE_PATH MACOSX_DEPLOYMENT_TARGET INPATH OUTPATH \ SYSTEM_LIBXSLT; do VV='$'$V VV=`eval "echo $VV"` if test -n "$VV"; then line=${V}_FOR_BUILD='${'${V}_FOR_BUILD:-$VV'}' echo "$line" >>build-config fi done for V in OUTDIR PATH SOLARINC SOLARLIB WORKDIR; do VV='$'$V VV=`eval "echo $VV"` VV=`echo $VV | sed -e 's,/CONF-FOR-BUILD,,g'` if test -n "$VV"; then line="${V}_FOR_BUILD='$VV'" echo "$line" >>build-config fi done ) test -f CONF-FOR-BUILD/build-config || AC_MSG_ERROR([Running configure script for BUILD system failed, see CONF-FOR-BUILD/config.log]) 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]) test -f Env.Build.sh || AC_MSG_ERROR([A file called Env.Build.sh was supposed to have been copied here, but it isn't found]) perl -pi -e 's,/CONF-FOR-BUILD,,g' Env.Build.sh perl -pi -e 's,/CONF-FOR-BUILD,,g' config_build.mk eval `cat CONF-FOR-BUILD/build-config` AC_MSG_RESULT([checking for BUILD platform configuration... done]) rm -rf CONF-FOR-BUILD else CC_FOR_BUILD="$CC" CXX_FOR_BUILD="$CXX" CC_FOR_BUILD="$CC" COM_FOR_BUILD="$COM" CPUNAME_FOR_BUILD="$CPUNAME" CPU_FOR_BUILD="$CPU" CXX_FOR_BUILD="$CXX" GUIBASE_FOR_BUILD="$GUIBASE" GUI_FOR_BUILD="$GUI" INPATH_FOR_BUILD="$INPATH" OS_FOR_BUILD="$OS" OUTPATH_FOR_BUILD="$OUTPATH" fi AC_SUBST(COM_FOR_BUILD) AC_SUBST(GUI_FOR_BUILD) AC_SUBST(GUIBASE_FOR_BUILD) AC_SUBST(OS_FOR_BUILD) AC_SUBST(CPU_FOR_BUILD) AC_SUBST(CPUNAME_FOR_BUILD) AC_SUBST(CC_FOR_BUILD) AC_SUBST(CXX_FOR_BUILD) AC_SUBST(GXX_INCLUDE_PATH_FOR_BUILD) AC_SUBST(INPATH_FOR_BUILD) AC_SUBST(OUTPATH_FOR_BUILD) AC_SUBST(MACOSX_DEPLOYMENT_TARGET_FOR_BUILD) AC_SUBST(SYSTEM_LIBXSLT_FOR_BUILD) AC_SUBST(OUTDIR_FOR_BUILD) AC_SUBST(PATH_FOR_BUILD) AC_SUBST(SOLARINC_FOR_BUILD) AC_SUBST(SOLARLIB_FOR_BUILD) AC_SUBST(WORKDIR_FOR_BUILD) UPD="`echo AC_PACKAGE_VERSION | sed "s/\.//"`0" SOURCEVERSION="OOO$UPD" AC_SUBST(UPD) AC_SUBST(SOURCEVERSION) dnl =================================================================== dnl Set the ENABLE_CRASHDUMP variable. dnl =================================================================== AC_MSG_CHECKING([whether to enable crashdump feature]) if test "$enable_crashdump" = "yes"; then ENABLE_CRASHDUMP="TRUE" BUILD_TYPE="$BUILD_TYPE CRASHREP" AC_MSG_RESULT([yes]) else ENABLE_CRASHDUMP="" AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_CRASHDUMP) dnl Set the ENABLE_WERROR variable. (Activate --enable-werror) dnl =================================================================== AC_MSG_CHECKING([whether to turn warnings to errors]) if test -n "$enable_werror" && test "$enable_werror" != "no"; then ENABLE_WERROR="TRUE" AC_MSG_RESULT([yes]) else ENABLE_WERROR="FALSE" AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_WERROR) dnl Set the ENABLE_DEBUG variable. (Activate --enable-symbols) dnl =================================================================== AC_MSG_CHECKING([whether to do a debug build]) if test -n "$enable_debug" && test "$enable_debug" != "no"; then ENABLE_DEBUG="TRUE" enable_symbols="yes" AC_MSG_RESULT([yes]) else ENABLE_DEBUG="FALSE" AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_DEBUG) dnl Determine whether to use linkoo for the smoketest installation dnl =================================================================== AC_MSG_CHECKING([whether to use linkoo for the smoketest installation]) if test "$enable_linkoo" = "no"; then DISABLE_LINKOO="TRUE" AC_MSG_RESULT([no]) else DISABLE_LINKOO= AC_MSG_RESULT([yes]) fi AC_SUBST(DISABLE_LINKOO) # Set the ENABLE_LTO variable # =================================================================== AC_MSG_CHECKING([whether to use link-time optimization]) if test -n "$enable_lto" -a "$enable_lto" != "no"; then ENABLE_LTO="TRUE" AC_MSG_RESULT([yes]) else ENABLE_LTO="" AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_LTO) dnl whether to include symbols into final build. dnl =================================================================== AC_MSG_CHECKING([whether to include symbols]) if test -n "$enable_symbols" -a "$enable_symbols" != "no"; then ENABLE_SYMBOLS="TRUE" AC_MSG_RESULT([yes]) else ENABLE_SYMBOLS= AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_SYMBOLS) dnl Determine if the solver is to be stripped or not. dnl =================================================================== AC_MSG_CHECKING([whether to strip the solver or not.]) if test "z$enable_strip_solver" = "zno"; then DISABLE_STRIP="TRUE" AC_MSG_RESULT([no]) else if test -n "$ENABLE_SYMBOLS"; then DISABLE_STRIP="TRUE" AC_MSG_RESULT([no]) else DISABLE_STRIP= AC_MSG_RESULT([yes]) fi fi AC_SUBST(DISABLE_STRIP) dnl check for cups support dnl =================================================================== if test "$test_cups" = "yes"; then AC_MSG_CHECKING([whether cups support is present]) AC_CHECK_LIB(cups, cupsPrintFiles) AC_CHECK_HEADER(cups/cups.h, AC_DEFINE(HAVE_CUPS_H)) if test "$ac_cv_lib_cups_cupsPrintFiles" != "yes" -a "$ac_cv_header_cups_cups_h" != "yes"; then AC_MSG_ERROR([Could not find CUPS. Install libcupsys2-dev or cups???-devel.]) fi fi # fontconfig checks if test "z$test_fontconfig" = "zyes"; then PKG_CHECK_MODULES([FONTCONFIG], [fontconfig >= 2.2.0]) else case "$BUILD_TYPE" in *FONTCONFIG*) FONTCONFIG_LIBS="-lfontconfig" ;; esac fi AC_SUBST(FONTCONFIG_CFLAGS) AC_SUBST(FONTCONFIG_LIBS) dnl whether to find & fetch external tarballs? dnl =================================================================== if test -z "$TARFILE_LOCATION"; then TARFILE_LOCATION="DEFAULT" fi AC_SUBST(TARFILE_LOCATION) AC_MSG_CHECKING([whether we want to fetch tarballs]) if test "z$enable_fetch_external" != "zno" ; then AC_MSG_RESULT([yes]) DO_FETCH_TARBALLS="YES" else AC_MSG_RESULT([no]) DO_FETCH_TARBALLS="NO" fi AC_SUBST(DO_FETCH_TARBALLS) dnl Disable legacy binary file formats filters dnl =================================================================== AC_MSG_CHECKING([whether to enable filters for legacy binary file formats (StarOffice 5.2)]) if test "$enable_binfilter" = "no"; then WITH_BINFILTER="NO" AC_MSG_RESULT([no]) else WITH_BINFILTER="YES" BUILD_TYPE="$BUILD_TYPE BINFILTER" GIT_REPO_NAMES="$GIT_REPO_NAMES binfilter" AC_MSG_RESULT([yes]) fi AC_SUBST(WITH_BINFILTER) AC_MSG_CHECKING([whether to build help]) if test "$with_help" != "no" -a $_os != iOS -a $_os != Android; then AC_MSG_RESULT([yes]) BUILD_TYPE="$BUILD_TYPE HELP" SCPDEFS="$SCPDEFS -DWITH_HELP" GIT_REPO_NAMES="$GIT_REPO_NAMES help" else AC_MSG_RESULT([no]) fi dnl Enable ugly pieces of code we're better off without dnl =================================================================== if test "$enable_ugly" = "yes"; then BUILD_TYPE="$BUILD_TYPE DICTIONARIES" SCPDEFS="$SCPDEFS -DWITH_UGLY" ENABLE_UGLY=YES else ENABLE_UGLY=NO fi AC_SUBST(ENABLE_UGLY) dnl =================================================================== dnl Disable rpath in shared libraries? dnl =================================================================== AC_MSG_CHECKING([whether to use RPATH in shared libraries]) if test "$enable_rpath" = "no"; then ENABLE_RPATH="no" else ENABLE_RPATH="yes" fi AC_MSG_RESULT([$ENABLE_RPATH]) AC_SUBST(ENABLE_RPATH) dnl Test whether to include MySpell dictionaries dnl =================================================================== AC_MSG_CHECKING([whether to include MySpell dictionaries]) if test -z "$with_myspell_dicts" || test "$with_myspell_dicts" = "yes"; then AC_MSG_RESULT([yes]) WITH_MYSPELL_DICTS=YES BUILD_TYPE="$BUILD_TYPE DICTIONARIES" GIT_REPO_NAMES="$GIT_REPO_NAMES dictionaries" else AC_MSG_RESULT([no]) WITH_MYSPELL_DICTS=NO fi AC_SUBST(WITH_MYSPELL_DICTS) AC_MSG_CHECKING([whether to use dicts from external paths]) if test -n "$with_system_dicts" -a "$with_system_dicts" = "yes"; then AC_MSG_RESULT([yes]) SYSTEM_DICTS=YES AC_MSG_CHECKING([for spelling dictionary directory]) if test -n "$with_external_dict_dir"; then DICT_SYSTEM_DIR=file://$with_external_dict_dir else DICT_SYSTEM_DIR=file:///usr/share/hunspell fi AC_MSG_RESULT([$DICT_SYSTEM_DIR]) AC_MSG_CHECKING([for hyphenation patterns directory]) if test -n "$with_external_hyph_dir"; then HYPH_SYSTEM_DIR=file://$with_external_hyph_dir else HYPH_SYSTEM_DIR=file:///usr/share/hyphen fi AC_MSG_RESULT([$HYPH_SYSTEM_DIR]) AC_MSG_CHECKING([for thesaurus directory]) if test -n "$with_external_thes_dir"; then THES_SYSTEM_DIR=file://$with_external_thes_dir else THES_SYSTEM_DIR=file:///usr/share/mythes fi AC_MSG_RESULT([$THES_SYSTEM_DIR]) else AC_MSG_RESULT([no]) SYSTEM_DICTS=NO fi AC_SUBST(SYSTEM_DICTS) AC_SUBST(DICT_SYSTEM_DIR) AC_SUBST(HYPH_SYSTEM_DIR) AC_SUBST(THES_SYSTEM_DIR) dnl =================================================================== dnl ENABLE_PCH i now a no-op dnl =================================================================== AC_MSG_CHECKING([whether to enable pch feature]) AC_MSG_RESULT([no, obsolete]) dnl =================================================================== dnl Search all the common names for GNU make dnl =================================================================== AC_MSG_CHECKING([for GNU make]) # try to use our own make if it is available and GNUMAKE was not already defined if test -z "$GNUMAKE"; then if test -x "/opt/lo/bin/make"; then GNUMAKE="/opt/lo/bin/make" fi fi for a in "$MAKE" $GNUMAKE make gmake gnumake; do $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null if test $? -eq 0; then GNUMAKE=$a break fi done AC_MSG_RESULT($GNUMAKE) if test -z "$GNUMAKE"; then AC_MSG_ERROR([not found. install GNU make.]) fi AC_MSG_CHECKING([the GNU make version]) _make_version=`$GNUMAKE --version | grep GNU | grep -v GPL | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _make_longver=`echo $_make_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_make_longver" -ge "038200" ; then AC_MSG_RESULT([$GNUMAKE $_make_version]) elif test "$_make_longver" -ge "038100" ; then AC_MSG_RESULT([$GNUMAKE $_make_version]) AC_MSG_CHECKING([for GNU make bug 20033]) TESTGMAKEBUG20033=`mktemp -d` cat > $TESTGMAKEBUG20033/Makefile << EOF A := \$(wildcard *.a) .PHONY: all all: \$(A:.a=.b) @echo survived bug20033. #dont kill these tabs, you will break the Makefile!!!! .PHONY: setup setup: @touch 1.a 2.a 3.a 4.a 5.a 6.a define d1 @echo lala \$(1) @sleep 1 endef define d2 @echo tyty \$(1) @sleep 1 endef %.b : %.a \$(eval CHECKSUM := \$(word 1,\$(shell cat \$^ | sha1sum))) \$(if \$(wildcard \$(CACHEDIR)/\$(CHECKSUM)),\ \$(call d1,\$(CHECKSUM)),\ \$(call d2,\$(CHECKSUM))) EOF if test -z "`(cd $TESTGMAKEBUG20033 && $GNUMAKE setup && $GNUMAKE -j)|grep survived`"; then no_parallelism_make="YES" AC_MSG_RESULT([yes, disable parallelism]) else AC_MSG_RESULT([no, keep parallelism enabled]) fi rm -rf $TESTGMAKEBUG20033 else AC_MSG_ERROR([failed ($GNUMAKE version >= 3.81 needed]) fi AC_SUBST(GNUMAKE) _make_ver_check=`$GNUMAKE --version | grep LibreOffice`; STALE_MAKE= make_warning= if test "z$_make_ver_check" = "z"; then STALE_MAKE=TRUE fi AC_SUBST(STALE_MAKE) dnl =================================================================== dnl Test the Solaris compiler version dnl =================================================================== if test "$_os" = "SunOS"; then if test "$CC" = "cc"; then AC_PATH_PROGS(_cc, cc) COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"` AC_MSG_CHECKING([the SunStudio C/C++ compiler version]) dnl cc -V outputs to standard error!!!! _sunstudio_string=`$CC -V 2>&1 | grep '^cc' | $SED -e 's/.* C //'` _sunstudio_version=`echo $_sunstudio_string | $AWK '{ print $1 }'` _sunstudio_major=`echo $_sunstudio_version | $AWK -F. '{ print $1 }'` if test "$_sunstudio_major" != "5"; then AC_MSG_ERROR([found version "$_sunstudio_version", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler]) else _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" }'` if test "$_sunstudio_minor" = "false"; then AC_MSG_ERROR([found version "$_sunstudio_version", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler]) else dnl compiler will do AC_MSG_RESULT([checked]) fi fi fi fi HAVE_LD_HASH_STYLE=FALSE WITH_LINKER_HASH_STYLE= AC_MSG_CHECKING( for --hash-style gcc linker support ) if test "$GCC" = "yes" ; then if test -z "$with_linker_hash_style" -o "$with_linker_hash_style" = "yes" ; then hash_styles="gnu sysv" elif test "$with_linker_hash_style" = "no" ; then hash_styles= else hash_styles="$with_linker_hash_style" fi for hash_style in $hash_styles ; do test "$HAVE_LD_HASH_STYLE" = "TRUE" && continue hash_style_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--hash-style=$hash_style" AC_LINK_IFELSE([AC_LANG_PROGRAM( [ #include <stdio.h> ],[ printf (""); ])], [ if ./conftest$EXEEXT; then HAVE_LD_HASH_STYLE=TRUE WITH_LINKER_HASH_STYLE=$hash_style fi], [HAVE_LD_HASH_STYLE=FALSE]) LDFLAGS=$hash_style_ldflags_save done if test "$HAVE_LD_HASH_STYLE" = "TRUE"; then AC_MSG_RESULT( $WITH_LINKER_HASH_STYLE ) else AC_MSG_RESULT( no ) fi LDFLAGS=$hash_style_ldflags_save else AC_MSG_RESULT( no ) fi AC_SUBST(HAVE_LD_HASH_STYLE) AC_SUBST(WITH_LINKER_HASH_STYLE) dnl =================================================================== dnl Check whether there's a Perl version available. dnl =================================================================== if test -z "$with_perl_home"; then AC_PATH_PROG(PERL, perl) else test "$build_os" = "cygwin" && with_perl_home=`cygpath -u "$with_perl_home"` _perl_path="$with_perl_home/bin/perl" if test -x "$_perl_path"; then PERL=$_perl_path else AC_MSG_ERROR([$_perl_path not found]) fi fi dnl =================================================================== dnl Testing for Perl version 5 or greater. dnl $] is the Perl version variable, it is returned as an integer dnl =================================================================== if test "$PERL"; then AC_MSG_CHECKING([the Perl version]) ${PERL} -e "exit($]);" _perl_version=$? if test "$_perl_version" -lt 5; then AC_MSG_ERROR([found Perl version "$_perl_version", use version 5 of Perl]) fi AC_MSG_RESULT([checked (perl $_perl_version)]) else AC_MSG_ERROR([Perl not found, install version 5 of Perl]) fi AC_SUBST(PERL) dnl =================================================================== dnl Testing for required Perl modules dnl =================================================================== AC_MSG_CHECKING([for required Perl modules]) if `$PERL -e 'use Archive::Zip; use Cwd;'`; then AC_MSG_RESULT([all modules found]) else AC_MSG_ERROR([Failed to find some modules]) fi dnl =================================================================== dnl Check for pkg-config dnl =================================================================== if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then PKG_PROG_PKG_CONFIG fi if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then # If you use CC=/path/to/compiler/foo-gcc or even CC="ccache # /path/to/compiler/foo-gcc" you need to set the AR etc env vars # explicitly. Or put /path/to/compiler in PATH yourself. AC_CHECK_TOOL(AR,ar) AC_CHECK_TOOL(NM,nm) AC_CHECK_TOOL(OBJDUMP,objdump) AC_CHECK_TOOL(RANLIB,ranlib) AC_CHECK_TOOL(STRIP,strip) if test "$_os" = "WINNT"; then AC_CHECK_TOOL(DLLTOOL,dlltool) AC_CHECK_TOOL(WINDRES,windres) fi fi AC_SUBST(AR) AC_SUBST(DLLTOOL) AC_SUBST(NM) AC_SUBST(OBJDUMP) AC_SUBST(PKG_CONFIG) AC_SUBST(RANLIB) AC_SUBST(STRIP) AC_SUBST(WINDRES) dnl =================================================================== dnl pkg-config checks on Mac OS X dnl =================================================================== if test $_os = Darwin; then AC_MSG_CHECKING([for bogus pkg-config]) if test -n "$PKG_CONFIG"; then if test "$PKG_CONFIG" = /usr/bin/pkg-config && ls -l /usr/bin/pkg-config | grep -q Mono.framework; then AC_MSG_RESULT([yes, from Mono]) else AC_MSG_RESULT([yes, from unknown origin]) fi AC_MSG_WARN([This might have unexpected consequences, please consider hiding $PKG_CONFIG]) echo "Having a $PKG_CONFIG might have unexpected consequences, please consider hiding it" >>warn else AC_MSG_RESULT([no]) fi fi dnl =================================================================== dnl .NET needs special treatment dnl (does the above comment really mean .NET, or is it misusing dnl that to mean Visual Studio .NET 2003 ? And does this also dnl in fact apply equally to what we actually support, i.e. dnl Visual Studio 2008 and 2010?) dnl =================================================================== if test "$build_os" = "cygwin"; then dnl Check midl.exe AC_PATH_PROG(MIDL_PATH, midl.exe) if test -n "$MIDL_PATH";then MIDL_PATH=`dirname "$MIDL_PATH"` fi if test -n "$with_midl_path";then with_midl_path=`cygpath -u "$with_midl_path"` fi if test -x "$with_midl_path/midl.exe"; then MIDL_PATH="$with_midl_path" fi if test -z "$MIDL_PATH" -a -e "$with_cl_home/../Common7/Tools/Bin/midl.exe"; then MIDL_PATH="$with_cl_home/../Common7/Tools/Bin" fi if test -z "$MIDL_PATH" ; then vstest=`./oowintool --msvs-productdir`; if test -x "$vstest/Common7/Tools/Bin/midl.exe" ; then MIDL_PATH="$vstest/Common7/Tools/Bin" fi fi if test -z "$MIDL_PATH" ; then winsdktest=`./oowintool --windows-sdk-home` if test -x "$winsdktest/Bin/midl.exe" ; then MIDL_PATH="$winsdktest/Bin" fi fi if test ! -x "$MIDL_PATH/midl.exe"; then AC_MSG_ERROR([midl.exe not found. Make sure it's in PATH or use --with-midl-path]) fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) MIDL_PATH=`cygpath -d "$MIDL_PATH"` MIDL_PATH=`cygpath -u "$MIDL_PATH"` dnl Check csc.exe AC_PATH_PROG(CSC_PATH, csc.exe) if test -n "$CSC_PATH";then CSC_PATH=`dirname "$CSC_PATH"` fi if test -n "$with_csc_path";then with_csc_path=`cygpath -u "$with_csc_path"` fi if test -x "$with_csc_path/csc.exe"; then CSC_PATH="$with_csc_path" else csctest=`./oowintool --csc-compilerdir`; if test -x "$csctest/csc.exe"; then CSC_PATH="$csctest" fi fi if test ! -x "$CSC_PATH/csc.exe"; then AC_MSG_ERROR([csc.exe not found. Make sure it's in the path or use --with-csc-path]) fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) CSC_PATH=`cygpath -d "$CSC_PATH"` CSC_PATH=`cygpath -u "$CSC_PATH"` dnl Check mscoree.lib / .NET Framework dir AC_MSG_CHECKING(.NET Framework) if test -n "$with_dotnet_framework_home"; then with_dotnet_framework_home=`cygpath -u "$with_dotnet_framework_home"` fi if test -f "$with_dotnet_framework_home/lib/mscoree.lib"; then DOTNET_FRAMEWORK_HOME="$with_dotnet_framework_home" fi if test -z "$DOTNET_FRAMEWORK_HOME" ; then frametest=`./oowintool --dotnetsdk-dir` if test -f "$frametest/lib/mscoree.lib"; then DOTNET_FRAMEWORK_HOME="$frametest" else frametest=`./oowintool --windows-sdk-home` if test -f "$frametest/lib/mscoree.lib"; then DOTNET_FRAMEWORK_HOME="$frametest" fi fi fi if test ! -f "$DOTNET_FRAMEWORK_HOME/lib/mscoree.lib"; then AC_MSG_ERROR([mscoree.lib (.NET Framework) not found. Make sure you use --with-dotnet-framework-home]) fi AC_MSG_RESULT(found) # Convert to posix path with 8.3 filename restrictions ( No spaces ) DOTNET_FRAMEWORK_HOME=`cygpath -d "$DOTNET_FRAMEWORK_HOME"` DOTNET_FRAMEWORK_HOME=`cygpath -u "$DOTNET_FRAMEWORK_HOME"` AC_SUBST(MIDL_PATH) AC_SUBST(CSC_PATH) AC_SUBST(DOTNET_FRAMEWORK_HOME) fi dnl =================================================================== dnl Check if stdc headers are available excluding MSVC. dnl =================================================================== if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then AC_HEADER_STDC fi dnl =================================================================== dnl Testing for C++ compiler and version... dnl =================================================================== if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then AC_PROG_CXX else if test -n "$CC" -a -z "$CXX"; then CXX="$CC" fi fi dnl check if we are using a buggy version of g++ (currently 3.4.0, 3.4.1 and trunk) if test "$GXX" = "yes"; then AC_MSG_CHECKING([the GNU C++ compiler version]) _gpp_version=`$CXX -dumpversion` _gpp_majmin=`echo $_gpp_version | $AWK -F. '{ print \$1*100+\$2 }'` if test "$_os" = "Darwin" -a "$with_macosx_sdk" = "10.4" -a "$_gpp_majmin" -ge "401" ; then if test -z "$save_CXX" -a -x "$GCC_HOME/bin/g++-4.0" ; then export CXX="$GCC_HOME/bin/g++-4.0" _gpp_majmin_2=`$CXX -dumpversion | $AWK -F. '{ print \$1*100+\$2 }'` if test "$_gpp_majmin_2" -ge "400" -a "$_gpp_majmin_2" -lt "401" ; then _gpp_majmin=$_gpp_majmin_2 fi fi if test "$_gpp_majmin" -ge "401" ; then AC_MSG_ERROR([You need to use the g++-4.0 compiler (g++ $_gpp_version won't work with the MacOSX10.4u.sdk) - set CXX accordingly]) else AC_MSG_RESULT([implicitly using CXX=$CXX]) fi else AC_MSG_RESULT([checked (g++ $_gpp_version)]) fi if test "$_gpp_majmin" = "304"; then AC_MSG_CHECKING([whether $CXX has the enum bug]) AC_RUN_IFELSE([AC_LANG_SOURCE([[ extern "C" void abort (void); extern "C" void exit (int status); enum E { E0, E1, E2, E3, E4, E5 }; void test (enum E e) { if (e == E2 || e == E3 || e == E1) exit (1); } int main (void) { test (E4); test (E5); test (E0); return 0; } ]])],[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])],[]) fi fi # # prefx CXX with ccache if needed # if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then if test "$CCACHE" != "" ; then AC_MSG_CHECKING([whether $CXX is already ccached]) AC_LANG_PUSH([C++]) save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS --ccache-skip -O2" dnl an empty program will do, we're checking the compiler flags AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [use_ccache=yes], [use_ccache=no]) if test $use_ccache = yes ; then AC_MSG_RESULT([yes]) else CXX="$CCACHE $CXX" AC_MSG_RESULT([no]) fi CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) fi fi dnl =================================================================== dnl Find pre-processors.(should do that _after_ messing with CC/CXX) dnl =================================================================== if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then AC_PROG_CXXCPP dnl Check whether there's a C pre-processor. dnl =================================================================== dnl When using SunStudio compiler, there is a bug with the cc dnl preprocessor, so use CC preprocessor as the cc preprocessor dnl See Issuezilla #445. dnl =================================================================== if test "$_os" = "SunOS"; then CPP=$CXXCPP else AC_PROG_CPP fi fi dnl =================================================================== dnl Find integral type sizes and alignments dnl =================================================================== if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long long) AC_CHECK_SIZEOF(double) AC_CHECK_SIZEOF(void*) SIZEOF_SHORT=$ac_cv_sizeof_short SIZEOF_INT=$ac_cv_sizeof_int SIZEOF_LONG=$ac_cv_sizeof_long SIZEOF_LONGLONG=$ac_cv_sizeof_long_long SIZEOF_DOUBLE=$ac_cv_sizeof_double SIZEOF_POINTER=$ac_cv_sizeof_voidp dnl Allow build without AC_CHECK_ALIGNOF, grrr m4_pattern_allow([AC_CHECK_ALIGNOF]) m4_ifdef([AC_CHECK_ALIGNOF], [ AC_CHECK_ALIGNOF(short,[#include <stddef.h>]) AC_CHECK_ALIGNOF(int,[#include <stddef.h>]) AC_CHECK_ALIGNOF(long,[#include <stddef.h>]) AC_CHECK_ALIGNOF(double,[#include <stddef.h>]) ], [ case "$_os-$host_cpu" in Darwin-powerpc) test -z "$ac_cv_alignof_short" && ac_cv_alignof_short=1 test -z "$ac_cv_alignof_int" && ac_cv_alignof_int=1 test -z "$ac_cv_alignof_long" && ac_cv_alignof_long=1 test -z "$ac_cv_alignof_double" && ac_cv_alignof_double=1 ;; *) if test -z "$ac_cv_alignof_short" -o \ -z "$ac_cv_alignof_int" -o \ -z "$ac_cv_alignof_long" -o \ -z "$ac_cv_alignof_double"; then 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.]) fi ;; esac ]) ALIGNOF_SHORT=$ac_cv_alignof_short ALIGNOF_INT=$ac_cv_alignof_int ALIGNOF_LONG=$ac_cv_alignof_long ALIGNOF_DOUBLE=$ac_cv_alignof_double AC_C_BIGENDIAN WORDS_BIGENDIAN=$ac_cv_c_bigendian dnl Check for large file support AC_SYS_LARGEFILE if test -n "$ac_cv_sys_file_offset_bits"; then LFS_CFLAGS="-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" fi if test -n "$ac_cv_sys_large_files" && test "$ac_cv_sys_large_files" != "no"; then LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES" fi else # Hardcode for MSVC SIZEOF_SHORT=2 SIZEOF_INT=4 SIZEOF_LONG=4 SIZEOF_LONGLONG=8 if test "$CL_X64" = ""; then SIZEOF_POINTER=4 else SIZEOF_POINTER=8 fi ALIGNOF_SHORT=2 ALIGNOF_INT=4 ALIGNOF_LONG=4 ALIGNOF_DOUBLE=8 WORDS_BIGENDIAN=no LFS_CFLAGS='' fi AC_SUBST(WORDS_BIGENDIAN) AC_SUBST(LFS_CFLAGS) AC_SUBST(SIZEOF_SHORT) AC_SUBST(SIZEOF_INT) AC_SUBST(SIZEOF_LONG) AC_SUBST(SIZEOF_LONGLONG) AC_SUBST(SIZEOF_DOUBLE) AC_SUBST(SIZEOF_POINTER) AC_SUBST(ALIGNOF_SHORT) AC_SUBST(ALIGNOF_INT) AC_SUBST(ALIGNOF_LONG) AC_SUBST(ALIGNOF_DOUBLE) dnl =================================================================== dnl Check if valgrind.h is available dnl =================================================================== if test "$cross_compiling" != "yes" -a "$enable_dbgutil" != "no" -a \ -z "$VALGRIND_CFLAGS"; then dnl Test $prefix (currently only testing for /usr and /usr/local) dnl so that VALGRIND_CFLAGS = -I$prefix/include/valgrind prev_cppflags=$CPPFLAGS CPPFLAGS="-I/usr/include/valgrind" AC_CHECK_HEADER([valgrind.h], [VALGRIND_CFLAGS=$CPPFLAGS], [unset ac_cv_header_valgrind_h]) if test -z "$VALGRIND_CFLAGS"; then CPPFLAGS="-I/usr/local/include/valgrind" AC_CHECK_HEADER([valgrind.h], [VALGRIND_CFLAGS=$CPPFLAGS], []) fi if test -n "$VALGRIND_CFLAGS"; then CPPFLAGS=$VALGRIND_CFLAGS AC_CHECK_HEADER([memcheck.h], [], [VALGRIND_CFLAGS=""]) fi CPPFLAGS=$prev_cppflags fi AC_SUBST([VALGRIND_CFLAGS]) dnl =================================================================== dnl Set the gcc/gxx include directories dnl =================================================================== # Removed the special FreeBSD treatment. The problem was that with_gxx_include_path # often contains an i386 which is expanded as a macro. if test "$GXX" = "yes"; then AC_MSG_CHECKING([for g++ include path]) if test -z "$with_gxx_include_path"; then with_gxx_include_path=`echo "#include <cstring>" | $CXX -E -xc++ - | $SED -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1` if test "$with_gxx_include_path" = "/usr/libexec/(null)/include"; then with_gxx_include_path="/usr/include" fi if echo $with_gxx_include_path | grep -q linux; then # workaround for Mandriva - issue 100049 with_gxx_include_path=`cd $with_gxx_include_path && pwd` fi fi dnl This is the original code... dnl with_gxx_include_path=`$CXX -print-search-dirs | grep instal |$AWK '{ print \$2 }'`/include if test -z "$with_gxx_include_path"; then with_gxx_include_path="NO_GXX_INCLUDE" AC_MSG_RESULT([none]) else AC_MSG_RESULT([$with_gxx_include_path]) fi else with_gxx_include_path="NO_GXX_INCLUDE" fi GXX_INCLUDE_PATH="$with_gxx_include_path" AC_SUBST(GXX_INCLUDE_PATH) dnl =================================================================== dnl Set the MinGW include directories dnl =================================================================== if test "$WITH_MINGW" = "yes"; then AC_MSG_CHECKING([for MinGW include path]) cat >conftest.$ac_ext <<_ACEOF #include <stddef.h> #include <bits/c++config.h> _ACEOF _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` rm conftest.$ac_ext if test -z "$_mingw_lib_include_path"; then _mingw_lib_include_path="NO_LIB_INCLUDE" AC_MSG_RESULT([no MinGW include path]) else AC_MSG_RESULT([$_mingw_lib_include_path]) fi MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path" AC_SUBST(MINGW_LIB_INCLUDE_PATH) mingw_crtbegin=`$CC -print-file-name=crtbegin.o` MINGW_CLIB_DIR=`dirname $mingw_crtbegin` AC_LANG_PUSH([C++]) AC_MSG_CHECKING([for dynamic libgcc]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <iostream> using namespace std; ]], [[ try { throw 42; } catch (int e) { cout << "Yep, " << e << endl; } ]])],[ MINGW_GCCDLL=`$OBJDUMP -p conftest.exe | grep 'DLL Name: libgcc' | $SED -e 's@.*DLL Name: @@'` if test -n "$MINGW_GCCDLL"; then MINGW_SHARED_GCCLIB=YES AC_MSG_RESULT([ $MINGW_GCCDLL]) else MINGW_SHARED_GCCLIB=NO AC_MSG_RESULT([no]) fi ],[ AC_MSG_RESULT([no]) ]) AC_MSG_CHECKING([for dynamic libstdc++]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <iostream> using namespace std; ]], [[ cout << "Hello there." << endl; ]])],[ MINGW_GXXDLL=`$OBJDUMP -p conftest.exe | grep 'DLL Name: libstdc++' | $SED -e 's@.*DLL Name: @@'` if test -n "$MINGW_GXXDLL"; then mingw_gxxdll_root=${MINGW_GXXDLL%.dll} mingw_gxxdll_root=${mingw_gxxdll_root#lib} MINGW_SHARED_LIBSTDCPP=-l$mingw_gxxdll_root MINGW_SHARED_GXXLIB=YES AC_MSG_RESULT([$MINGW_GXXDLL]) else MINGW_SHARED_GXXLIB=NO AC_MSG_RESULT([no]) fi ],[ AC_MSG_RESULT([no]) ]) AC_LANG_POP([C++]) AC_SUBST(MINGW_CLIB_DIR) AC_SUBST(MINGW_SHARED_GCCLIB) AC_SUBST(MINGW_SHARED_GXXLIB) AC_SUBST(MINGW_SHARED_LIBSTDCPP) AC_SUBST(MINGW_GCCDLL) AC_SUBST(MINGW_GXXDLL) fi dnl =================================================================== dnl Extra checking for the SunOS compiler dnl =================================================================== if test "$_os" = "SunOS"; then dnl SunStudio C++ compiler packaged with SunStudio C compiler if test "$CC" = "cc"; then AC_MSG_CHECKING([SunStudio C++ Compiler]) if test "$CXX" != "CC"; then AC_MSG_WARN([SunStudio C++ was not found]) echo "SunStudio C++ was not found" >> warn else AC_MSG_RESULT([checked]) fi fi fi dnl ************************************************************* dnl Testing for exception handling - dwarf2 or sjlj exceptions... dnl ************************************************************* if test "$WITH_MINGW" = "yes"; then AC_MSG_CHECKING([exception type]) AC_LANG_PUSH([C++]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iostream> extern "C" void _Unwind_SjLj_RaiseException(void) __attribute__ ((__noreturn__)); ]], [[_Unwind_SjLj_RaiseException() ]])],[exceptions_type="sjlj"],[exceptions_type="dwarf2" ]) AC_MSG_RESULT($exceptions_type) AC_LANG_POP([C++]) fi EXCEPTIONS="$exceptions_type" AC_SUBST(EXCEPTIONS) dnl =================================================================== dnl Checks for what the default STL should be dnl =================================================================== AC_MSG_CHECKING([Whether building STLPort library makes sense]) BUILD_STLPORT="no" if test "$_os" = "Linux"; then case "$host_cpu" in i?86) case "$host_os" in k*bsd*-gnu*) BUILD_STLPORT="no" ;; *) BUILD_STLPORT="yes" ;; esac ;; *) BUILD_STLPORT="no" ;; esac elif test "$_os" = "SunOS"; then BUILD_STLPORT="yes" elif test "$_os" = "WINNT" -a "$WITH_MINGW" != "yes"; then BUILD_STLPORT="yes" elif test "$_os" = "FreeBSD"; then BUILD_STLPORT="yes" fi if test "$BUILD_STLPORT" = "yes" ; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([Whether STLPort library will be actually built]) if test "$with_stlport" = "auto" -o "$BUILD_STLPORT" = "no"; then with_stlport=$BUILD_STLPORT fi if test "$with_stlport" = "yes" ; then AC_MSG_RESULT([yes]) WITH_STLPORT=YES SCPDEFS="$SCPDEFS -DWITH_STLPORT" BUILD_TYPE="$BUILD_TYPE STLPORT" else WITH_STLPORT=NO AC_MSG_RESULT([no]) fi AC_SUBST(WITH_STLPORT) dnl =================================================================== dnl thread-safe statics dnl =================================================================== AC_MSG_CHECKING([whether $CXX supports thread safe statics]) unset HAVE_THREADSAFE_STATICS if test "$GCC" = "yes"; then save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS -fthreadsafe-statics" AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,)],[HAVE_THREADSAFE_STATICS=TRUE],[]) AC_LANG_POP([C++]) CXXFLAGS=$save_CXXFLAGS if test "$HAVE_THREADSAFE_STATICS" = "TRUE"; then dnl Some C++ runtimes use a single lock for all static variables, which dnl can cause deadlock in multi-threaded applications. This is not dnl easily tested here; for POSIX-based systems, if executing the dnl following C++ program does not terminate then the tool chain dnl apparently has this problem: dnl dnl #include <pthread.h> dnl int h() { return 0; } dnl void * g(void * unused) { dnl static int n = h(); dnl return &n; dnl } dnl int f() { dnl pthread_t t; dnl pthread_create(&t, 0, g, 0); dnl pthread_join(t, 0); dnl return 0; dnl } dnl int main() { dnl static int n = f(); dnl return n; dnl } dnl dnl Mac OS X up to at least 10.7.1 is known to have this problem: if test "$_os" = "Darwin"; then unset HAVE_THREADSAFE_STATICS AC_MSG_RESULT([broken (i.e., no)]) else AC_MSG_RESULT([yes]) fi else AC_MSG_RESULT([no]) fi else AC_MSG_RESULT([unknown (assuming no)]) fi AC_SUBST(HAVE_THREADSAFE_STATICS) dnl =================================================================== dnl visibility and c++0x features dnl =================================================================== if test "$GCC" = "yes"; then AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden]) save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -Werror -fvisibility=hidden" AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_VISIBILITY_FEATURE=TRUE ],[]) CFLAGS=$save_CFLAGS if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([whether $CC supports -Wno-long-double]) save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -Werror -Wno-long-double" AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_NO_LONG_DOUBLE=TRUE ],[]) CFLAGS=$save_CFLAGS if test "$HAVE_GCC_NO_LONG_DOUBLE" = "TRUE"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([whether $CC supports -mno-avx]) save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -Werror -mno-avx" AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_AVX=TRUE ],[]) CFLAGS=$save_CFLAGS if test "$HAVE_GCC_AVX" = "TRUE"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([whether $CC supports -std=c++0x without Language Defect 757]) save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS -std=c++0x" AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <stddef.h> template <typename T, size_t S> char (&sal_n_array_size( T(&)[S] ))[S]; namespace { struct b { int i; int j; }; } ]], [[ struct a { int i; int j; }; a thinga[]={{0,0}, {1,1}}; b thingb[]={{0,0}, {1,1}}; size_t i = sizeof(sal_n_array_size(thinga)); size_t j = sizeof(sal_n_array_size(thingb)); return !(i != 0 && j != 0); ]])],[HAVE_CXX0X=TRUE],[]) AC_LANG_POP([C++]) CXXFLAGS=$save_CXXFLAGS if test "$HAVE_CXX0X" = "TRUE"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi fi AC_SUBST(HAVE_CXX0X) AC_SUBST(HAVE_GCC_NO_LONG_DOUBLE) AC_SUBST(HAVE_GCC_AVX) dnl =================================================================== dnl system stl sanity tests dnl =================================================================== HAVE_GCC_VISIBILITY_BROKEN= if test \( "$_os" != "WINNT" -o "$WITH_MINGW" = "yes" \) ; then AC_LANG_PUSH([C++]) if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then AC_MSG_CHECKING([if STL headers are visibility safe]) AC_EGREP_HEADER(visibility push, string, stlvisok=yes, stlvisok=no) AC_MSG_RESULT([$stlvisok]) if test "$stlvisok" = "no"; then AC_MSG_WARN([Your gcc STL headers are not visibility safe. Disabling visibility]) echo "Your gcc STL headers are not visibility safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi fi if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then sharedlink_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -fvisibility-inlines-hidden -fpic -shared" AC_MSG_CHECKING([if gcc is -fvisibility-inlines-hidden safe with STL headers]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <sstream> using namespace std; ]], [[ istringstream strm( "test" ); return 0; ]])],[$EGREP -q unresolvable conftest.err; if test $? -eq 0; then gccvisok=no; else gccvisok=yes; fi],[gccvisok=no ]) AC_MSG_RESULT([$gccvisok]) if test "$gccvisok" = "no"; then AC_MSG_WARN([Your gcc is not -fvisibility-inlines-hidden safe, disabling that.]) echo "Your gcc is not -fvisibility-inlines-hidden safe, disabling that." >> warn HAVE_GCC_VISIBILITY_BROKEN="TRUE" fi LDFLAGS=$sharedlink_ldflags_save fi if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then AC_MSG_CHECKING([if gcc has a visibility bug with class-level attributes (GCC bug 26905)]) cat >visibility.cxx <<_ACEOF #pragma GCC visibility push(hidden) struct __attribute__ ((visibility ("default"))) TestStruct { static void Init(); }; __attribute__ ((visibility ("default"))) void TestFunc() { TestStruct::Init(); } _ACEOF if ! $CXX $CXXFLAGS $CPPFLAGS -fpic -S visibility.cxx 2>/dev/null > /dev/null; then gccvisbroken=yes else case "$host_cpu" in i?86|x86_64) if test "$_os" = "Darwin"; then gccvisbroken=no else if $EGREP -q '@PLT' visibility.s; then gccvisbroken=no else gccvisbroken=yes fi fi ;; *) gccvisbroken=no ;; esac fi rm -f visibility.s visibility.cxx AC_MSG_RESULT([$gccvisbroken]) if test "$gccvisbroken" = "yes"; then AC_MSG_WARN([Your gcc is not -fvisibility=hidden safe. Disabling visibility]) echo "Your gcc is not -fvisibility=hidden safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi fi AC_LANG_POP([C++]) fi AC_SUBST(HAVE_GCC_VISIBILITY_FEATURE) AC_SUBST(HAVE_GCC_VISIBILITY_BROKEN) dnl =================================================================== dnl allocator dnl =================================================================== AC_MSG_CHECKING([which memory allocator to use]) if test "$with_alloc" = "system"; then AC_MSG_RESULT([system]) ALLOC="SYS_ALLOC"; AC_CHECK_FUNCS([malloc realloc calloc free]) fi if test "$with_alloc" = "tcmalloc"; then AC_MSG_RESULT(tcmalloc) if ! echo $host_cpu | grep -E 'i[[3456]]86' 2>/dev/null >/dev/null; then AC_MSG_ERROR([tcmalloc only available/usable on ix86]) fi AC_CHECK_LIB(tcmalloc, malloc, [], [AC_MSG_ERROR(tcmalloc not found or functional. Install the Google Profiling Tools)], []) ALLOC="TCMALLOC"; fi if test "$with_alloc" = "jemalloc"; then if test "$_os" != "FreeBSD" -o "$_os" != "NetBSD"; then AC_MSG_RESULT(jemalloc) save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -pthread" AC_CHECK_LIB(jemalloc, malloc, [], [AC_MSG_ERROR(jemalloc not found or functional. Install the jemalloc allocator.)], []) ALLOC="JEMALLOC"; CFLAGS=$save_CFLAGS else AC_MSG_RESULT([system]) ALLOC="SYS_ALLOC"; AC_CHECK_FUNCS([malloc realloc calloc free]) fi fi if test "$with_alloc" = "internal" -o -z "$with_alloc"; then AC_MSG_RESULT([internal]) fi AC_CHECK_FUNCS(posix_fallocate, HAVE_POSIX_FALLOCATE=YES, [HAVE_POSIX_FALLOCATE=NO]) AC_SUBST(HAVE_POSIX_FALLOCATE) AC_SUBST(ALLOC) dnl =================================================================== dnl Custom build version dnl =================================================================== AC_MSG_CHECKING([whether to add custom build version]) if test "z$with_build_version" != "z"; then BUILD_VER_STRING=$with_build_version AC_MSG_RESULT([yes, $BUILD_VER_STRING]) else BUILD_VER_STRING= AC_MSG_RESULT([no]) fi AC_SUBST(BUILD_VER_STRING) dnl =================================================================== dnl Java support enable dnl =================================================================== AC_MSG_CHECKING([whether to build with Java support]) if test "$with_java" != "no"; then AC_MSG_RESULT([yes]) SOLAR_JAVA="TRUE" else AC_MSG_RESULT([no]) SOLAR_JAVA="" fi AC_SUBST(SOLAR_JAVA) dnl SOLAR_JAVA="YES" (yes, silly name, should rename) indicates whether we dnl want there to be *run-time* (and build-time) support for Java extensions in the dnl built LibreOffice. dnl SOLAR_JAVA="BUILD" is claimed to indicate build-time only support dnl (no runtime support). It doesn't seem to ever be set to this dnl value, though, and everywhere SOLAR_JAVA is only checked for being dnl empty or non-empty. dnl SOLAR_JAVA="" indicate no java support at all JITC_PROCESSOR_TYPE="" if test "$_os" = "Linux" && test "$host_cpu" = "powerpc"; then # IBMs JDK needs this... JITC_PROCESSOR_TYPE=6 export JITC_PROCESSOR_TYPE fi AC_SUBST([JITC_PROCESSOR_TYPE]) if test $_os = "WINNT"; then WITH_VC_REDIST="TRUE" fi AC_SUBST(WITH_VC_REDIST) dnl =================================================================== dnl Checks for Java dnl =================================================================== if test "$SOLAR_JAVA" != ""; then # Windows-specific tests if test "$build_os" = "cygwin" -a "$_os" = "WINNT"; then if test "$CL_X64" != ""; then bitness="64-bit" otherbitness="32-bit" else bitness="32-bit" otherbitness="64-bit" fi if test -z "$with_jdk_home"; then # Unfortunately apparently no way to find, if needed, the 64-bit # JDK in the Registry from the 32-bit Perl oowintool _jdk_home=`./oowintool --jdk-home` if test -f "$_jdk_home/lib/jvm.lib" -a -f "$_jdk_home/bin/java.exe"; then with_jdk_home="$_jdk_home" howfound="found by oowintool" else AC_MSG_ERROR([No JDK found by oowintool, pass the --with-jdk-home option pointing to a $bitness JDK]) fi else test "$build_os" = "cygwin" && with_jdk_home=`cygpath -u "$with_jdk_home"` howfound="you passed" fi fi JAVA_HOME=; export JAVA_HOME if test -z "$with_jdk_home"; then AC_PATH_PROG(JAVAINTERPRETER, $with_java) else _java_path="$with_jdk_home/bin/$with_java" dnl Check if there is a Java interpreter at all. if test -x "$_java_path"; then JAVAINTERPRETER=$_java_path else AC_MSG_ERROR([$_java_path not found, pass --with-jdk-home]) fi fi if test "$build_os" = "cygwin" -a "$_os" = "WINNT"; then # Check that the JDK found is correct architecture # Why is this necessary, we don't link with any library from the JDK I think, shortjdkhome=`cygpath -d "$with_jdk_home"` if test "$CL_X64" != "" -a -f "$with_jdk_home/bin/java.exe" -a "`$shortjdkhome/bin/java.exe -version 2>&1 | grep -i 64-bit`" = "" >/dev/null; then AC_MSG_WARN([You are building 64-bit binaries but the JDK $howfound is 32-bit]) AC_MSG_ERROR([You should pass the --with-jdk-home option pointing to a 64-bit JDK]) elif test "$CL_X64" = "" -a -f "$_jdk_home/bin/java.exe" -a "`$shortjdkhome/bin/java.exe -version 2>&1 | grep -i 64-bit`" != "" >/dev/null; then AC_MSG_WARN([You are building 32-bit binaries but the JDK $howfound is 64-bit]) AC_MSG_ERROR([You should pass the --with-jdk-home option pointing to a (32-bit) JDK]) fi if test x`echo "$JAVAINTERPRETER" | grep -i '\.exe$'` = x; then JAVAINTERPRETER="${JAVAINTERPRETER}.exe" fi JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"` JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"` elif test "$_os" = "Darwin"; then dnl HACK: There currently is only a 32 bit version of LibreOffice for Mac OS X, dnl and Tiger Java complains about -d32 while Snow Leopard Java needs it dnl to run in 32 bit mode and be able to load LibreOffice jnilibs: AC_MSG_CHECKING([whether to pass -d32 to Java interpreter]) if "$JAVAINTERPRETER" -d32 >&5 2>&5; then AC_MSG_RESULT([yes]) JAVAIFLAGS=-d32 else AC_MSG_RESULT([no]) fi fi fi dnl =================================================================== dnl Checks for JDK. dnl =================================================================== # Note that JAVA_HOME as for now always means the *build* platform's # JAVA_HOME. Whether all the complexity here actually is needed any # more or not, no idea. if test "$SOLAR_JAVA" != ""; then _gij_longver=0 AC_MSG_CHECKING([the installed JDK]) if test -n "$JAVAINTERPRETER"; then dnl java -version sends output to stderr! if test `$JAVAINTERPRETER -version 2>&1 | grep -c "Kaffe"` -gt 0; then AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.in]) elif test `$JAVAINTERPRETER --version 2>&1 | grep -c "GNU libgcj"` -gt 0; then JDK=gcj AC_MSG_RESULT([checked (gcj)]) _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | grep -c "BEA"` -gt 0; then AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.in]) elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | grep -c "IBM"` -gt 0; then JDK=ibm dnl IBM JDK specific tests _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//` _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10500; then AC_MSG_ERROR([IBM JDK is too old, you need at least 1.5]) fi AC_MSG_RESULT([checked (IBM JDK $_jdk)]) if test "$with_jdk_home" = ""; then AC_MSG_ERROR([In order to successfully build LibreOffice using the IBM JDK, you must use the "--with-jdk-home" configure option explicitly]) fi JAVA_HOME=$with_jdk_home else JDK=sun dnl Sun JDK specific tests _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//` _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10500; then AC_MSG_ERROR([JDK is too old, you need at least 1.5]) fi AC_MSG_RESULT([checked (JDK $_jdk)]) JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"` if test "$_os" = "WINNT"; then JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"` fi fi else AC_MSG_ERROR([Java not found. You need at least jdk-1.5, or gcj-4]) fi else dnl Java disabled JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME fi _java_target_ver="1.5" dnl =================================================================== dnl Check for target Java bytecode version dnl =================================================================== if test "$SOLAR_JAVA" != ""; then AC_MSG_CHECKING([for target Java bytecode version]) if test "$JDK" = "gcj" -o "$JDK" = "kaffe"; then AC_MSG_RESULT([default by $JDK]) if test -n "$with_java_target_version" -a "$with_java_target_version" != "no" ; then AC_MSG_WARN([Value defined by --with-java-target-version is ignored!]) fi else if test -n "$with_java_target_version" -a "$with_java_target_version" != "no" ; then _java_target_ver="$with_java_target_version" AC_MSG_RESULT([$_java_target_ver]) elif test $_jdk_ver -gt 10000 ; then _java_target_ver=`echo "$_jdk_ver" | $AWK '{ maj=substr($0,1,1); min=substr($0,2,2); print int(maj)"."int(min) }'` AC_MSG_RESULT([$_java_target_ver]) else AC_MSG_ERROR([Unable to guess Java bytecode version from Java version!]) fi fi if ! test -z "$_java_target_ver" -o \ "$_java_target_ver" = "1.1" -o \ "$_java_target_ver" = "1.2" -o \ "$_java_target_ver" = "1.3" -o \ "$_java_target_ver" = "1.4" -o \ "$_java_target_ver" = "1.5" -o \ "$_java_target_ver" = "1.6" -o \ "$_java_target_ver" = "5" ; then AC_MSG_ERROR([$_java_target_ver is not a supported Java bytecode version!]) fi JAVA_SOURCE_VER="$_java_target_ver" JAVA_TARGET_VER="$_java_target_ver" fi dnl =================================================================== dnl Checks for javac dnl =================================================================== if test "$SOLAR_JAVA" != ""; then if test "$JDK" = "gcj"; then javacompiler=`echo $with_java | $SED -e "s/gij/gcj/g" | $SED -e "s/java/javac/g"` else javacompiler="javac" fi if test -z "$with_jdk_home"; then AC_PATH_PROG(JAVACOMPILER, $javacompiler) else _javac_path="$with_jdk_home/bin/$javacompiler" dnl Check if there is a Java compiler at all. if test -x "$_javac_path"; then JAVACOMPILER=$_javac_path fi fi if test -z "$JAVACOMPILER"; then AC_MSG_ERROR([$javacompiler not found set with_jdk_home]) fi if test "$build_os" = "cygwin" -a "$_os" = "WINNT"; then if test x`echo "$JAVACOMPILER" | grep -i '\.exe$'` = x; then JAVACOMPILER="${JAVACOMPILER}.exe" fi JAVACOMPILER=`cygpath -d "$JAVACOMPILER"` JAVACOMPILER=`cygpath -u "$JAVACOMPILER"` fi if test `$JAVACOMPILER -version 2>&1 | grep -c "Eclipse Java Compiler"` -gt 0; then AC_MSG_CHECKING([re-checking JDK]) JDK=gcj AC_MSG_RESULT([checked (ecj)]) #TODO: what's to do here? some switch to do 1.5 compiling? JAVAFLAGS="-source 1.5 -target 1.5" _gij_longver="40200" fi fi JAVACISGCJ="" dnl =================================================================== dnl Checks that javac is gcj dnl =================================================================== if test "$SOLAR_JAVA" != ""; then if test `$JAVACOMPILER --version 2>&1 | grep -c "GCC"` -gt 0; then JAVACISGCJ="yes" fi fi AC_SUBST(JAVACISGCJ) JAVACISKAFFE="" dnl =================================================================== dnl Checks that javac is kaffe dnl =================================================================== if test "$SOLAR_JAVA" != ""; then if test `$JAVACOMPILER -version 2>&1 | grep -c "Kaffe"` -gt 0; then JAVACISKAFFE="yes" fi fi AC_SUBST(JAVACISKAFFE) dnl =================================================================== dnl Checks for javadoc dnl =================================================================== if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then AC_PATH_PROG(JAVADOC, javadoc) else _javadoc_path="$with_jdk_home/bin/javadoc" dnl Check if there is a javadoc at all. if test -x "$_javadoc_path"; then JAVADOC=$_javadoc_path else AC_PATH_PROG(JAVADOC, javadoc) fi fi if test -z "$JAVADOC"; then AC_MSG_ERROR([$_javadoc_path not found set with_jdk_home]) fi if test "$build_os" = "cygwin" -a "$_os" = "WINNT"; then if test x`echo "$JAVADOC" | grep -i '\.exe$'` = x; then JAVADOC="${JAVADOC}.exe" fi JAVADOC=`cygpath -d "$JAVADOC"` JAVADOC=`cygpath -u "$JAVADOC"` fi fi if test "$SOLAR_JAVA" != ""; then # check if JAVA_HOME was (maybe incorrectly?) set automatically to /usr if test "$JAVA_HOME" = "/usr" -a "x$with_jdk_home" = "x"; then if basename $(readlink $(readlink $JAVACOMPILER)) >/dev/null 2>/dev/null; then # try to recover first by looking whether we have a alternatives # system as in Debian or newer SuSEs where following /usr/bin/javac # over /etc/alternatives/javac leads to the right bindir where we # just need to strip a bit away to get a valid JAVA_HOME JAVA_HOME=$(readlink $(readlink $JAVACOMPILER)) elif readlink $JAVACOMPILER >/dev/null 2>/dev/null; then # maybe only one level of symlink (e.g. on Mac) JAVA_HOME=$(readlink $JAVACOMPILER) if test "$(dirname $JAVA_HOME)" = "."; then # we've got no path to trim back JAVA_HOME="" fi else # else warn AC_MSG_WARN([JAVA_HOME is set to /usr - this is very likely to be incorrect]) AC_MSG_WARN([if this is the case, please inform the correct JAVA_HOME with --with-jdk-home]) echo "JAVA_HOME is set to /usr - this is very likely to be incorrect" >> warn echo "if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >> warn fi dnl now that we have the path to the real javac, make a JAVA_HOME out of it.. if test "$JAVA_HOME" != "/usr"; then if test "$_os" = "Darwin" -o "$OS_FOR_BUILD" = MACOSX; then dnl Leopard returns a non-suitable path with readlink - points to "Current" only JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/Current/Commands/javac$,/CurrentJDK/Home,) dnl Tiger already returns a JDK path.. JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/CurrentJDK/Commands/javac$,/CurrentJDK/Home,) else JAVA_HOME=$(echo $JAVA_HOME | $SED -e s,/bin/javac$,,) fi fi fi # as we drop out of this, JAVA_HOME may have been set to the empty string by readlink dnl now if JAVA_HOME has been set to empty, then call findhome to find it if test -z "$JAVA_HOME"; then if test "x$with_jdk_home" = "x"; then cat > findhome.java <<_ACEOF [import java.io.File; class findhome { public static void main(String args[]) { String jrelocation = System.getProperty("java.home"); File jre = new File(jrelocation); System.out.println(jre.getParent()); } }] _ACEOF AC_MSG_CHECKING([if javac works]) javac_cmd="$JAVACOMPILER findhome.java 1>&2" AC_TRY_EVAL(javac_cmd) if test $? = 0 && test -f ./findhome.class ; then AC_MSG_RESULT([javac works]) else echo "configure: javac test failed" >&5 cat findhome.java >&5 AC_MSG_ERROR([javac does not work - java projects will not build!]) fi AC_MSG_CHECKING([if gij knows its java.home]) JAVA_HOME=`$JAVAINTERPRETER findhome` if test $? = 0 && test "$JAVA_HOME" != "" ; then AC_MSG_RESULT([$JAVA_HOME]) else echo "configure: java test failed" >&5 cat findhome.java >&5 AC_MSG_ERROR([gij does not know its java.home - use --with-jdk-home]) fi # clean-up after ourselves rm -f ./findhome.java ./findhome.class else JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*$with_java,,p"` fi fi dnl second sanity check JAVA_HOME if possible if test "$JDK" != "gcj" -o "$_gij_longver" -ge "40200"; then # now check if $JAVA_HOME is really valid if test "$_os" = "Darwin" -o "$OS_FOR_BUILD" = MACOSX; then if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then JAVA_HOME_OK="NO" fi elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then JAVA_HOME_OK="NO" fi if test "$JAVA_HOME_OK" = "NO"; then AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script]) AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed]) AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly]) echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn fi fi fi AWTLIB= if test "$SOLAR_JAVA" != ""; then AC_MSG_CHECKING([for jawt lib name]) if test "$JDK" = "gcj"; then save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS -I$JAVA_HOME/include" LDFLAGS="$LDFLAGS -L$JAVA_HOME/lib -lgcj" exec 6>/dev/null # no output AC_CHECK_HEADER(jni.h, [], [AC_MSG_ERROR([jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?])], []) AC_CHECK_LIB(gcjawt, JAWT_GetAWT, [ AWTLIB="-lgcjawt -lgcj"] ) exec 6>&1 # output on again CFLAGS=$save_CFLAGS LDFLAGS=$save_LDFLAGS fi # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols. # A workaround is to link also against libpmawt.so if test "$JDK" = "ibm" ; then save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH CFLAGS="$CFLAGS -I$JAVA_HOME/include" LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin" LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH export LD_LIBRARY_PATH exec 6>/dev/null # no output AC_CHECK_HEADER(jni.h, [], [AC_MSG_ERROR([jni.h could not be found.])], []) AC_CHECK_LIB(jawt, JAWT_GetAWT, [ AWTLIB="-ljawt"] ) if test -z "$AWTLIB"; then LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt" AC_CHECK_LIB(mawt, JAWT_GetAWT, [ AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt"]) fi exec 6>&1 # output on again CFLAGS=$save_CFLAGS LDFLAGS=$save_LDFLAGS LD_LIBRARY_PATH=$save_LD_LIBRARY_PATH fi if test -z "$AWTLIB"; then AWTLIB=-ljawt fi AC_MSG_RESULT([$AWTLIB]) AC_SUBST(AWTLIB) fi # # Determine JAVALIB # If your platform follow the common pattern # just define JAVA_ARCH and JAVA_TOOLKIT for it # if not, leave JAVA_ARCH empty and define JAVALIB manually # if you don't want JAVALIB to be exported at all # define x_JAVALIB=[\#] # JAVA_ARCH= JAVA_TOOLKIT= x_JAVALIB= case "$host_os" in aix*) JAVA_ARCH="ppc" JAVA_TOOLKIT="classic" ;; cygwin*|darwin*) x_JAVALIB=[\#] ;; dragonfly*) case "$host_cpu" in i*86) JAVA_ARCH="i386" JAVA_TOOLKIT="client" ;; x86_64) JAVA_ARCH="amd64" JAVA_TOOLKIT="server" ;; esac ;; freebsd*) case "$host_cpu" in i*86) JAVA_ARCH="i386" JAVA_TOOLKIT="client" ;; x86_64) if test "`echo $JAVA_HOME | sed -e 's,.*/,,'`" = "linux" ; then JAVA_ARCH="i386" JAVA_TOOLKIT="client" else JAVA_ARCH="amd64" JAVA_TOOLKIT="server" fi ;; esac ;; k*bsd*-gnu*) case "$host_cpu" in i*86) JAVA_ARCH="i386" JAVA_TOOLKIT="client" ;; x86_64) JAVA_ARCH="amd64" JAVA_TOOLKIT="server" ;; esac ;; linux-gnu*) case "$host_cpu" in alpha) JAVA_ARCH="alpha" JAVA_TOOLKIT="server" ;; arm) JAVA_ARCH="arm" JAVA_TOOLKIT="server" ;; hppa) JAVA_ARCH="hppa" JAVA_TOOLKIT="server" ;; i*86) JAVA_ARCH="i386" case "$JDK" in [Ii][Bb][Mm]*) JAVA_ARCH= JRE_BASE_DIR="$JAVA_HOME/jre/bin" JAVALIB="-L $JAVA_HOME/$LIB64 -L $JRE_BASE_DIR -L $JRE_BASE_DIR/classic -L $JRE_BASE_DIR/native_thread" ;; [Bb][Ee][Aa]*) JAVA_TOOLKIT="jrockit"; ;; *) JAVA_TOOLKIT="client"; ;; esac ;; ia64) JAVA_ARCH="ia64" JAVA_TOOLKIT="server" ;; m68k) JAVA_ARCH="mk68" JAVA_TOOLKIT="server" ;; mips|mips64|mipsel|mips64el) JAVA_ARCH="$host_cpu" JAVA_TOOLKIT="server" ;; mips32) JAVA_ARCH="$host_cpu" JAVA_TOOLKIT="client" ;; powerpc) JAVA_ARCH="ppc" case "$JDK" in [Ii][Bb][Mm]*) JAVA_TOOLKIT="classic" ;; gcj) JAVA_TOOLKIT="client" ;; *) JAVA_TOOLKIT="server" ;; esac ;; powerpc64) JAVA_ARCH="ppc64" if test "$JDK" = "gcj" ; then JAVA_TOOLKIT="client" else JAVA_TOOLKIT="server" fi ;; sparc) JAVA_ARCH="sparc" JAVA_TOOLKIT="server" ;; s390) JAVA_ARCH="s390" JAVA_TOOLKIT="server" ;; s390x) JAVA_ARCH="s390x" JAVA_TOOLKIT="server" ;; x86_64) JAVA_ARCH="amd64" JAVA_TOOLKIT="server" ;; *) AC_MSG_ERROR([No JAVALIB defintion host_cpu $host_cpu for host_os $host_os]) ;; esac ;; linux-androideabi*) case "$host_cpu" in arm|armel) JAVA_ARCH="arm" JAVA_TOOLKIT="server" ;; esac ;; mingw*) x_JAVALIB=[\#] ;; *netbsd*) case "$host_cpu" in i*86) JAVA_ARCH="i386" JAVA_TOOLKIT="client" ;; powerpc) JAVA_ARCH="pcc" JAVA_TOOLKIT="classic" ;; sparc) JAVA_ARCH="sparc" JAVA_TOOLKIT="client" ;; x86_64) JAVA_ARCH="amd64" JAVA_TOOLKIT="client" ;; esac ;; openbsd*) case "$host_cpu" in i*86) JAVA_ARCH="i386" JAVA_TOOLKIT="client" ;; x86_64) JAVA_ARCH="amd64" JAVA_TOOLKIT="server" ;; esac ;; solaris*) JAVA_TOOLKIT="xawt" case "$host_cpu" in i*86) JAVA_ARCH="i386" ;; sparc) JAVA_ARCH="sparc" ;; esac ;; esac if test -n "$JAVA_ARCH" ; then JRE_BASE_DIR="$JAVA_HOME/jre/lib/$JAVA_ARCH" JAVALIB="-L $JAVA_HOME/$LIB64" test -d "$JRE_BASE_DIR" && JAVALIB="$JAVALIB -L $JRE_BASE_DIR" test -d "$JRE_BASE_DIR/$JAVA_TOOLKIT" && JAVALIB="$JAVALIB -L $JRE_BASE_DIR/$JAVA_TOOLKIT" test -d "$JRE_BASE_DIR/native_thread" && JAVALIB="$JAVALIB -L $JRE_BASE_DIR/native_thread" fi AC_SUBST(x_JAVALIB) AC_SUBST(JAVALIB) AC_SUBST(JAVA_HOME) AC_SUBST(JDK) AC_SUBST(JAVAFLAGS) AC_SUBST(JAVA_SOURCE_VER) AC_SUBST(JAVA_TARGET_VER) AC_SUBST(JAVAINTERPRETER) AC_SUBST(JAVAIFLAGS) AC_SUBST(JAVACOMPILER) AC_SUBST(JAVADOC) dnl =================================================================== dnl Checks for specific files. dnl =================================================================== dnl =================================================================== dnl Checks for programs. dnl =================================================================== dnl =================================================================== dnl Check whether we already have dmake dnl =================================================================== AC_PATH_PROG(DMAKE, dmake, no) if test "$DMAKE" = "no"; then BUILD_DMAKE=YES echo "dmake will be built on ./bootstrap" else AC_MSG_CHECKING([whether the found dmake is the right dmake]) # we need to find out whether that dmake we found is "our" dmake # or the dmake from Sun's SunStudio Compiler which is something # different # This test _should_ work because the one accepts -V (ours) and one # (the other) not... $DMAKE -V 2>/dev/null | grep 'dmake .* Version .*' >/dev/null if test $? -eq 0; then BUILD_DMAKE=NO AC_MSG_RESULT([yes]) AC_MSG_CHECKING([the dmake version]) DMAKE_VERSION=`$DMAKE -V | $AWK '$3 == "Version" {print $4}'` if test "`echo $DMAKE_VERSION | cut -d'.' -f1`" -gt "4"; then AC_MSG_RESULT([OK, >= 4.11]) elif test "`echo $DMAKE_VERSION | cut -d'.' -f1`" = "4" && \ test "`echo $DMAKE_VERSION | cut -d'.' -f2`" -ge "11"; then AC_MSG_RESULT([OK, >= 4.11]) else AC_MSG_RESULT([too old. >= 4.11 is needed]) echo "A newer dmake will be built on ./bootstrap" BUILD_DMAKE=YES fi else AC_MSG_RESULT([no]) echo "dmake will be built on ./bootstrap" BUILD_DMAKE=YES fi fi AC_SUBST(BUILD_DMAKE) AC_MSG_CHECKING([whether to enable EPM for packing]) BUILD_EPM=NO if test "$enable_epm" = "yes"; then AC_MSG_RESULT([yes]) dnl =================================================================== dnl Check for epm - not needed for Windows dnl =================================================================== if test "$_os" != "WINNT"; then if test -n "$with_epm"; then EPM=$with_epm else AC_PATH_PROG(EPM, epm, no) fi if test "$EPM" = "no" || test "$EPM" = "internal"; then echo "EPM will be built." BUILD_EPM=YES BUILD_TYPE="$BUILD_TYPE EPM" else # Gentoo has some epm which is something different... AC_MSG_CHECKING([whether the found epm is the right epm]) if $EPM | grep "ESP Package Manager" >/dev/null 2>/dev/null; then AC_MSG_RESULT([yes]) else AC_MSG_ERROR([no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm]) fi AC_MSG_CHECKING([epm version]) EPM_VERSION=`$EPM | grep 'ESP Package Manager' | cut -d' ' -f4 | $SED -e s/v//` if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \ test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then AC_MSG_RESULT([OK, >= 3.7]) BUILD_EPM=NO if test "$_os" = "Darwin"; then AC_MSG_CHECKING([which PackageMaker EPM thinks to use]) _pm=`strings $EPM | grep PackageMaker | cut -d" " -f1` if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then 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)]) elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then AC_MSG_RESULT([$_pm, ok]) else # we never should get here, but go safe 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)]) fi fi else AC_MSG_RESULT([too old. epm >= 3.7 is required.]) echo "EPM will be built." BUILD_EPM=YES BUILD_TYPE="$BUILD_TYPE EPM" fi fi fi # test which package format to use AC_MSG_CHECKING([which package format to use]) # defaults case "$_os" in Darwin) PKGFORMAT=dmg ;; SunOS) PKGFORMAT=pkg ;; Linux) # if building on Debian, default should be deb... if test -e /etc/debian_version; then PKGFORMAT=deb else PKGFORMAT=rpm fi ;; AIX) PKGFORMAT=rpm ;; OpenBSD|DragonFly) PKGFORMAT=portable ;; *BSD) PKGFORMAT=bsd ;; WINNT) PKGFORMAT=msi ;; # we never should get here since we check the arciecture/os at the beginning, # but go sure... *) AC_MSG_ERROR([unknown system]) esac if test -n "$with_package_format"; then for i in $with_package_format; do case "$i" in aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable | archive | dmg | installed | msi) ;; *) AC_MSG_ERROR([unsupported format $i. Supported by EPM are: aix - AIX software distribution bsd - FreeBSD, NetBSD, or OpenBSD software distribution deb - Debian software distribution inst or tardist - IRIX software distribution osx - MacOS X software distribution pkg - Solaris software distribution rpm - RedHat software distribution setld - Tru64 (setld) software distribution native - "Native" software distribution for the platform portable - Portable software distribution LibreOffice additionally supports: archive - .tar.gz or .zip dmg - Mac OS X .dmg installed - installation tree msi - Windows .msi ]) ;; esac done PKGFORMAT="$with_package_format" fi AC_MSG_RESULT([$PKGFORMAT]) if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then AC_MSG_CHECKING([for rpm]) for a in "$RPM" rpmbuild rpm; do $a --usage >/dev/null 2> /dev/null if test $? -eq 0; then RPM=$a break else $a --version >/dev/null 2> /dev/null if test $? -eq 0; then RPM=$a break fi fi done if test -z "$RPM" ; then AC_MSG_ERROR([not found]) elif "$RPM" --help 2>&1 | $EGREP buildroot >/dev/null; then RPM_PATH=`which $RPM` AC_MSG_RESULT([$RPM_PATH]) else AC_MSG_ERROR([cannot build packages. Try installing rpmbuild.]) fi fi if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then AC_PATH_PROG(DPKG, dpkg, no) if test "$DPKG" = "no"; then AC_MSG_ERROR([dpkg needed for deb creation. Install dpkg.]) fi fi if echo "PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then if test "$_os" = "Darwin"; then AC_MSG_CHECKING([for PackageMaker availability]) if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then AC_MSG_ERROR([not installed. Please install Apples Dev Tools]) else AC_MSG_RESULT([ok]) fi else AC_MSG_ERROR([PackageMaker needed to build OSX packages and you are not on OSX...]) fi fi if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null || \ echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then if test "$EPM" != "no" && test "$EPM" != "internal"; then if test "`echo $EPM_VERSION | cut -d'.' -f1`" -lt "4"; then AC_MSG_CHECKING([whether epm is patched for LibreOffice's needs]) if grep "Patched for LibreOffice" $EPM >/dev/null 2>/dev/null; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) if echo "$PKGFORMAT" | grep -q rpm; then _pt="rpm" AC_MSG_WARN([the rpms will need to be installed with --nodeps]) echo "the rpms will need to be installed with --nodeps" >> warn else _pt="pkg" fi AC_MSG_WARN([the ${_pt}s will not be relocateable]) echo "the ${_pt}s will not be relocateable" >> warn AC_MSG_WARN([if you want to make sure installation without --nodeps and relocation will work, you need to patch your epm with the patch in epm/epm-3.7.patch or build with --with-epm=internal which will build a suitable epm]) fi fi fi fi if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then AC_PATH_PROG(PKGMK, pkgmk, no) if test "$PKGMK" = "no"; then AC_MSG_ERROR([pkgmk needed for Solaris pkg creation. Install it.]) fi fi AC_SUBST(RPM) AC_SUBST(DPKG) AC_SUBST(PKGMK) else AC_MSG_RESULT([no]) EPM=NO PKGFORMAT=native fi AC_SUBST(EPM) AC_SUBST(BUILD_EPM) AC_SUBST(PKGFORMAT) dnl =================================================================== dnl Check for gperf dnl =================================================================== AC_PATH_PROG(GPERF, gperf) if test -z "$GPERF"; then AC_MSG_ERROR([gperf not found but needed. Install it.]) fi AC_MSG_CHECKING([gperf version]) if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then AC_MSG_RESULT([OK]) else AC_MSG_ERROR([too old, you need at least 3.0.0]) fi AC_SUBST(GPERF) dnl =================================================================== dnl Check for building ODK dnl =================================================================== AC_MSG_CHECKING([whether to build the ODK]) if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then AC_MSG_RESULT([yes]) if test "$with_java" != "no"; then AC_MSG_CHECKING([whether to build unowinreg.dll]) if test "$_os" = "WINNT" -a "z$enable_build_unowinreg" = "z" ; then # build on Win by default enable_build_unowinreg=yes fi if test "z$enable_build_unowinreg" = "z" -o "$enable_build_unowinreg" = "no"; then AC_MSG_RESULT([no]) BUILD_UNOWINREG=NO else AC_MSG_RESULT([yes]) BUILD_UNOWINREG=YES fi if test "$_os" != "WINNT" -a "$BUILD_UNOWINREG" = "YES"; then if test -z "$with_mingw_cross_compiler"; then dnl Guess... AC_CHECK_PROGS(MINGWCXX,i386-mingw32msvc-g++ i586-pc-mingw32-g++ i686-pc-mingw32-g++ i686-w64-mingw32-g++,false) elif test -x "$with_mingw_cross_compiler"; then MINGWCXX="$with_mingw_cross_compiler" else AC_CHECK_TOOL(MINGWCXX, "$with_mingw_cross_compiler", false) fi if test "$MINGWCXX" = "false"; then AC_MSG_ERROR([MinGW32 C++ cross-compiler not found.]) fi mingwstrip_test="`echo $MINGWCXX | $SED -e s/g++/strip/`" if test -x "$mingwstrip_test"; then MINGWSTRIP="$mingwstrip_test" else AC_CHECK_TOOL(MINGWSTRIP, "$mingwstrip_test", false) fi if test "$MINGWSTRIP" = "false"; then AC_MSG_ERROR(MinGW32 binutils not found.) fi fi fi BUILD_TYPE="$BUILD_TYPE ODK" else AC_MSG_RESULT([no]) BUILD_UNOWINREG=NO fi AC_SUBST(BUILD_UNOWINREG) AC_SUBST(MINGWCXX) AC_SUBST(MINGWSTRIP) dnl =================================================================== dnl Check for system stdlibs dnl =================================================================== AC_MSG_CHECKING([whether to provide libstdc++/libgcc_s in the installset]) if test "$with_system_stdlibs" = "yes"; then AC_MSG_RESULT([no]) SYSTEM_STDLIBS=YES else AC_MSG_RESULT([yes]) SYSTEM_STDLIBS=NO fi AC_SUBST(SYSTEM_STDLIBS) dnl =================================================================== dnl Check for system zlib dnl =================================================================== AC_MSG_CHECKING([which zlib to use]) if test "$with_system_zlib" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_ZLIB=YES AC_CHECK_HEADER(zlib.h, [], [AC_MSG_ERROR(zlib.h not found. install zlib)], []) AC_CHECK_LIB(z, deflate, [ ZLIB=-lz ], [AC_MSG_ERROR(zlib not found or functional)], []) else AC_MSG_RESULT([internal]) SYSTEM_ZLIB=NO BUILD_TYPE="$BUILD_TYPE ZLIB" fi AC_SUBST(SYSTEM_ZLIB) dnl =================================================================== dnl Check for system jpeg dnl =================================================================== AC_MSG_CHECKING([which jpeg to use]) if test "$with_system_jpeg" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_JPEG=YES AC_CHECK_HEADER(jpeglib.h, [], [AC_MSG_ERROR(jpeg.h not found. install libjpeg)], []) AC_CHECK_LIB(jpeg, jpeg_resync_to_restart, [ JPEG3RDLIB=-ljpeg ], [AC_MSG_CHECKING(jpeg library not found or fuctional)], []) else AC_MSG_RESULT([internal]) SYSTEM_JPEG=NO BUILD_TYPE="$BUILD_TYPE JPEG" fi AC_SUBST(SYSTEM_JPEG) dnl =================================================================== dnl Check for system expat dnl =================================================================== AC_MSG_CHECKING([which expat to use]) if test "$with_system_expat" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_EXPAT=YES AC_CHECK_HEADER(expat.h, [], [AC_MSG_ERROR(expat.h not found. install expat)], []) AC_CHECK_LIB(expat, XML_ParserCreate, [], [AC_MSG_RESULT(expat library not found or functional.)], []) MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libexpat-1.dll" else AC_MSG_RESULT([internal]) SYSTEM_EXPAT=NO BUILD_TYPE="$BUILD_TYPE EXPAT" fi AC_SUBST(SYSTEM_EXPAT) dnl =================================================================== dnl Check for system libcdr dnl =================================================================== AC_MSG_CHECKING([which libcdr to use]) if test "$with_system_libcdr" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBCDR=YES PKG_CHECK_MODULES( CDR, libcdr-0.0 ) else AC_MSG_RESULT([internal]) SYSTEM_LIBCDR=NO BUILD_TYPE="$BUILD_TYPE LIBCDR" fi AC_SUBST(SYSTEM_LIBCDR) AC_SUBST(CDR_CFLAGS) AC_SUBST(CDR_LIBS) dnl =================================================================== dnl Check for system libvisio dnl =================================================================== AC_MSG_CHECKING([which libvisio to use]) if test "$with_system_libvisio" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBVISIO=YES PKG_CHECK_MODULES( VISIO, libvisio-0.0 ) else AC_MSG_RESULT([internal]) SYSTEM_LIBVISIO=NO BUILD_TYPE="$BUILD_TYPE LIBVISIO" fi AC_SUBST(SYSTEM_LIBVISIO) AC_SUBST(VISIO_CFLAGS) AC_SUBST(VISIO_LIBS) dnl =================================================================== dnl Check for system libcmis dnl =================================================================== AC_MSG_CHECKING([which libcmis to use]) if test "$with_system_libcmis" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBCMIS=YES PKG_CHECK_MODULES( LIBCMIS, libcmis-0.2 ) else AC_MSG_RESULT([internal]) SYSTEM_LIBCMIS=NO BUILD_TYPE="$BUILD_TYPE LIBCMIS" fi AC_SUBST(SYSTEM_LIBCMIS) AC_SUBST(LIBCMIS_CFLAGS) AC_SUBST(LIBCMIS_LIBS) dnl =================================================================== dnl Check for system libwpd dnl =================================================================== AC_MSG_CHECKING([which libwpd to use]) if test "$with_system_libwpd" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBWPD=YES PKG_CHECK_MODULES( WPD, libwpd-0.9 libwpd-stream-0.9 ) elif test $_os = IOS; then AC_MSG_RESULT([none]) else AC_MSG_RESULT([internal]) SYSTEM_LIBWPD=NO BUILD_TYPE="$BUILD_TYPE LIBWPD" fi AC_SUBST(SYSTEM_LIBWPD) AC_SUBST(WPD_CFLAGS) AC_SUBST(WPD_LIBS) dnl =================================================================== dnl Check for system cppunit dnl =================================================================== AC_MSG_CHECKING([which cppunit to use]) if test "$with_system_cppunit" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_CPPUNIT=YES # might work for earlier, too but go sure: PKG_CHECK_MODULES( CPPUNIT, cppunit >= 1.12.0 ) else AC_MSG_RESULT([internal]) SYSTEM_CPPUNIT=NO BUILD_TYPE="$BUILD_TYPE CPPUNIT" fi AC_SUBST(SYSTEM_CPPUNIT) AC_SUBST(CPPUNIT_CFLAGS) AC_SUBST(CPPUNIT_LIBS) dnl =================================================================== dnl Check whether freetype is available dnl =================================================================== if test "$test_freetype" = "yes"; then AC_MSG_CHECKING([whether freetype is available]) PKG_CHECK_MODULES( FREETYPE, freetype2 >= 2.0 ) else case "$BUILD_TYPE" in *FREETYPE*) FREETYPE_LIBS="-lfreetype" ;; esac fi AC_SUBST(FREETYPE_CFLAGS) AC_SUBST(FREETYPE_LIBS) dnl =================================================================== dnl Check for system libwps dnl =================================================================== AC_MSG_CHECKING([which libwps to use]) if test "$with_system_libwps" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBWPS=YES PKG_CHECK_MODULES( WPS, libwps-0.2 ) elif test $_os = IOS; then AC_MSG_RESULT([none]) else AC_MSG_RESULT([internal]) SYSTEM_LIBWPS=NO BUILD_TYPE="$BUILD_TYPE LIBWPS" fi AC_SUBST(SYSTEM_LIBWPS) AC_SUBST(WPS_CFLAGS) AC_SUBST(WPS_LIBS) dnl =================================================================== dnl Check for system libwpg dnl =================================================================== AC_MSG_CHECKING([which libwpg to use]) if test "$with_system_libwpg" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBWPG=YES PKG_CHECK_MODULES( WPG, libwpg-0.2 ) elif test $_os = IOS; then AC_MSG_RESULT([none]) else AC_MSG_RESULT([internal]) SYSTEM_LIBWPG=NO BUILD_TYPE="$BUILD_TYPE LIBWPG" fi AC_SUBST(SYSTEM_LIBWPG) AC_SUBST(WPG_CFLAGS) AC_SUBST(WPG_LIBS) dnl =================================================================== dnl Check whether freetype2 supports emboldening dnl =================================================================== if test "$test_freetype" = "yes"; then save_CPPFLAGS="$CPPFLAGS" save_LDFLAGS="$LDFLAGS" save_LIBS="$LIBS" CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS" LDFLAGS="$LDFLAGS $FREETYPE_LIBS" AC_CHECK_LIB(freetype, FT_GlyphSlot_Embolden, [USE_FT_EMBOLDEN="YES"], [USE_FT_EMBOLDEN="NO"], []) LDFLAGS="$save_LDFLAGS" CPPFLAGS="$save_CPPFLAGS" LIBS="$save_LIBS" fi AC_SUBST(USE_FT_EMBOLDEN) # =================================================================== # Check for system libxslt # to prevent incompatibilities between internal libxml2 and external libxslt, # or vice versa, use with_system_libxml here # =================================================================== AC_MSG_CHECKING([which libxslt to use]) if test "$with_system_libxml" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBXSLT=YES if test "$_os" = "Darwin"; then dnl make sure to use SDK path LIBXSLT_CFLAGS="-I$MACOSX_SDK_PATH/usr/include/libxml2" dnl omit -L/usr/lib LIBXSLT_LIBS="-lxslt -lxml2 -lz -lpthread -liconv -lm" else PKG_CHECK_MODULES(LIBXSLT, libxslt) fi dnl Check for xsltproc AC_PATH_PROG(XSLTPROC, xsltproc, no) if test "$XSLTPROC" = "no"; then AC_MSG_ERROR([xsltproc is required]) fi MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libxslt-1.dll" else AC_MSG_RESULT([internal]) SYSTEM_LIBXSLT=NO BUILD_TYPE="$BUILD_TYPE LIBXSLT" if test "$cross_compiling" = "yes"; then AC_PATH_PROG(XSLTPROC, xsltproc, no) if test "$XSLTPROC" = "no"; then AC_MSG_ERROR([xsltproc is required]) fi fi fi AC_SUBST(SYSTEM_LIBXSLT) AC_SUBST(LIBXSLT_CFLAGS) AC_SUBST(LIBXSLT_LIBS) AC_SUBST(XSLTPROC) # =================================================================== # Check for system libxml # =================================================================== AC_MSG_CHECKING([which libxml to use]) if test "$with_system_libxml" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBXML=YES if test "$_os" = "Darwin"; then dnl make sure to use SDK path LIBXML_CFLAGS="-I$MACOSX_SDK_PATH/usr/include/libxml2" dnl omit -L/usr/lib LIBXML_LIBS="-lxml2 -lz -lpthread -liconv -lm" elif test $_os = iOS; then dnl make sure to use SDK path usr=`echo '#include <stdlib.h>' | $CC -E -MD - | grep usr/include/stdlib.h | head -1 | sed -e 's,# 1 ",,' -e 's,/usr/include/.*,/usr,'` LIBXML_CFLAGS="-I$usr/include/libxml2" LIBXML_LIBS="-L$usr/lib -lxml2 -liconv" else PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= 2.0) fi MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS zlib1.dll libxml2-2.dll" else AC_MSG_RESULT([internal]) SYSTEM_LIBXML=NO BUILD_TYPE="$BUILD_TYPE LIBXML2" fi AC_SUBST(SYSTEM_LIBXML) AC_SUBST(LIBXML_CFLAGS) AC_SUBST(LIBXML_LIBS) dnl =================================================================== dnl Checks for Python dnl =================================================================== AC_MSG_CHECKING([which Python to use]) case "$enable_python" in no|disable) enable_python=no AC_MSG_RESULT([none]) DISABLE_PYTHON=TRUE ;; ""|yes|auto) if test $build_os = cygwin; then dnl When building on Windows we don't attempt to use any installed dnl "system" Python. dnl dnl (When cross-compiling to Windows from Linux using the mingw32-cross dnl compiler from OBS, use mingw32-python from OBS, and ditto for other dnl MinGW cross-compilation setups.) AC_MSG_RESULT([internal]) enable_python=internal elif test $_os = Darwin -a \( "$with_macosx_version_min_required" = 10.4 -o "$with_macosx_version_min_required" = 10.5 \); then AC_MSG_RESULT([internal, the Python in Mac OS X $with_macosx_version_min_required is incompatible with Python3-ified pyuno]) enable_python=internal else AC_MSG_RESULT([checking below]) enable_python=auto fi ;; internal) AC_MSG_RESULT([internal]) ;; system) if test $_os = Darwin -a \( "$with_macosx_version_min_required" = 10.4 -o "$with_macosx_version_min_required" = 10.5 \); then AC_MSG_ERROR([Cannot use "system" Python, the Python in Mac OS X $with_macosx_version_min_required is incompatible with Python3-ified pyuno]) fi AC_MSG_RESULT([system]) ;; *) AC_MSG_ERROR([Incorrect --enable-python option]) ;; esac AC_SUBST(DISABLE_PYTHON) if test $_os = WINNT -a "$WITH_MINGW" != yes -a $enable_python = system; then AC_MSG_ERROR([Must use internal Python when building with MSVC]) fi if test $enable_python != no; then BUILD_TYPE="$BUILD_TYPE PYUNO" fi if test "$cross_compiling" = yes; then if test $enable_python = auto; then enable_python=system fi else if test $enable_python = system; then # This causes an error if no python command is found # Note that this takes the system python called just "python", # which isn't actually what we want on MacOSX when building # against the 10.6 SDK. But that shouldn't matter, we # select the correct python command manually below anyway. AM_PATH_PYTHON([2.6]) elif test $enable_python = auto; then dnl This allows lack of system Python AM_PATH_PYTHON([2.6],, [:]) if test "$PYTHON" = :; then enable_python=internal else enable_python=system fi fi fi if test $enable_python = system; then if test $_os = Darwin; then # We already have logic above to make sure the system Python # is used only when building against SDK 10.6 or newer. # Make sure we use the 2.6 Python when building against the # 10.6 SDK. case $with_macosx_sdk in 10.6) python_version=2.6;; 10.7) python_version=2.7;; *) # ??? python_version=2.7;; esac PYTHON=python$python_version PYTHON_CFLAGS="-I/Developer/SDKs/MacOSX${with_macosx_sdk}.sdk/System/Library/Frameworks/Python.framework/Versions/${python_version}/include/python${python_version}" PYTHON_LIBS="-framework Python" fi if test -n "$PYTHON_CFLAGS" -a -n "$PYTHON_LIBS"; then # Fallback: Accept these in the environment, or as set above # for MacOSX. : elif test "$cross_compiling" != yes; then python_include=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('INCLUDEPY'));"` python_version=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'));"` python_libs=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBS'));"` python_libdir=`$PYTHON -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBDIR'));"` if $PKG_CONFIG --exists python-$python_version; then PYTHON_CFLAGS="`$PKG_CONFIG --cflags python-$python_version`" PYTHON_LIBS="`$PKG_CONFIG --libs python-$python_version`" else PYTHON_CFLAGS="-I$python_include" PYTHON_LIBS="-L$python_libdir -lpython$python_version $python_libs" fi elif test "$cross_compiling" = yes; then dnl How to find out the cross-compilation Python installation path? dnl Let's hardocode what we know for different distributions for now... for python_sysroot in /usr/i686-w64-mingw32/sys-root/mingw ; do for python_version in 2.6 ; do if test -f ${python_sysroot}/include/python${python_version}/Python.h; then PYTHON_CFLAGS="-I ${python_sysroot}/include/python$python_version" PYTHON_LIBS="-L ${python_sysroot}lib -lpython$python_version $python_libs" break fi done test -n "$PYTHON_CFLAGS" && break done fi fi dnl By now enable_python should be "system", "internal" or "no" case $enable_python in system) SYSTEM_PYTHON=YES dnl Check if the headers really work save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS" AC_CHECK_HEADER(Python.h, [], [AC_MSG_ERROR([Python headers not found. You probably want to set both the PYTHON_CFLAGS and PYTHON_LIBS environment variables.])], []) CPPFLAGS="$save_CPPFLAGS" dnl FIXME Check if the Python library can be linked with, too? ;; internal) SYSTEM_PYTHON=NO BUILD_TYPE="$BUILD_TYPE PYTHON" # Embedded Python dies without Home set if test "z$HOME" = "z"; then export HOME=""; fi # bz2 tarball and bzip2 is not standard if test -z "$BZIP2"; then AC_PATH_PROG( BZIP2, bzip2) if test -z "$BZIP2"; then AC_MSG_ERROR([the internal Python module has a .tar.bz2. You need bzip2]) fi fi ;; no) SYSTEM_PYTHON=NO ;; *) AC_MSG_ERROR([Internal configure script error, invalid enable_python value "$enable_python"]) ;; esac AC_SUBST(SYSTEM_PYTHON) AC_SUBST(PYTHON_CFLAGS) AC_SUBST(PYTHON_LIBS) dnl =================================================================== dnl Check for system Berkeley db dnl =================================================================== AC_MSG_CHECKING([which db to use]) if test "$with_system_db" = "yes"; then SYSTEM_DB=YES AC_MSG_RESULT([external]) db_header= for dbver in 5.1 5.0 5 4.8 4.7 4; do for dash in - ''; do AC_CHECK_HEADER([db$dash$dbver/db.h], [ db_header="db$dash$dbver/db.h"; break 2 ]) done done if test -z "$db_header"; then AC_CHECK_HEADER([db/db.h], [db_header='db/db.h'; dbver='']) fi if test -z "$db_header"; then AC_CHECK_HEADER(db.h, [ db_header='db.h'; dbver='' ]) fi if test -z "$db_header"; then AC_MSG_ERROR([db.h not found. Use the correct -I flag, or install the Berkeley db development package.]) fi AC_MSG_CHECKING([whether db is at least 4.1]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <$db_header>]], [[int array[(DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1))-1];]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([no. you need at least db 4.1])]) SYSTEM_DB_CFLAGS="-DSYSTEM_DB_HEADER='<$db_header>'" DB_LIB= dnl At least on OpenBSD dbver is not appended to the library if test "$_os" = "OpenBSD"; then dbver='' fi for dash in - ''; do AC_CHECK_LIB(db$dash$dbver, dbopen, [ DB_LIB="db$dash$dbver"; DB_CPPLIB="db_cxx$dash$dbver"; break ]) AC_CHECK_LIB(db$dash$dbver, __db185_open, [ DB_LIB="db$dash$dbver"; DB_CPPLIB="db_cxx$dash$dbver"; break ]) done if test -z "$DB_LIB" ; then AC_MSG_ERROR([db library not found. Use the correct -L flag, or install the Berkeley db development package.]) fi SCPDEFS="$SCPDEFS -DSYSTEM_DB" MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libdb-4.8.dll" elif test $_os != iOS -a $_os != Android; then AC_MSG_RESULT([internal]) SYSTEM_DB=NO BUILD_TYPE="$BUILD_TYPE BERKELEYDB" else AC_MSG_RESULT([none]) fi AC_SUBST(SYSTEM_DB) AC_SUBST(SYSTEM_DB_CFLAGS) AC_SUBST(DB_LIB) AC_SUBST(DB_CPPLIB) dnl =================================================================== dnl Check for system lucene dnl =================================================================== if test "$with_java" != "no"; then AC_MSG_CHECKING([which lucene to use]) if test "$with_system_lucene" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LUCENE=YES if test -z $LUCENE_CORE_JAR; then AC_CHECK_FILE(/usr/share/java/lucene-core-2.3.jar, [ LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.3.jar ], [ AC_CHECK_FILE(/usr/share/java/lucene-core.jar, [ LUCENE_CORE_JAR=/usr/share/java/lucene-core.jar ], [ AC_CHECK_FILE(/usr/share/java/lucene.jar, [ LUCENE_CORE_JAR=/usr/share/java/lucene.jar ], [ AC_MSG_ERROR(lucene-core.jar replacement not found)] ) ] ) ] ) else AC_CHECK_FILE($LUCENE_CORE_JAR, [], [AC_MSG_ERROR(lucene-core.jar not found.)], []) fi if test -z $LUCENE_ANALYZERS_JAR; then AC_CHECK_FILE(/usr/share/java/lucene-analyzers-2.3.jar, [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-analyzers-2.3.jar ], [ AC_CHECK_FILE(/usr/share/java/lucene-contrib/lucene-analyzers.jar, [ LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-contrib/lucene-analyzers.jar ], [ AC_MSG_ERROR(lucene-analyzers.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LUCENE_CORE_JAR, [], [ AC_MSG_ERROR(lucene-analyzers.jar not found.)], []) fi AC_MSG_CHECKING([whether lucene is version 2.x]) export LUCENE_CORE_JAR if $PERL -e 'use Archive::Zip; my $file = "$ENV{'LUCENE_CORE_JAR'}"; my $zip = Archive::Zip->new( $file ); my $mf = $zip->contents ( "META-INF/MANIFEST.MF" ); if ( $mf =~ m/Specification-Version: 2.*/ ) { exit 0; } else { exit 1; }'; then AC_MSG_RESULT([yes]) else AC_MSG_ERROR([no, you need lucene 2]) fi else AC_MSG_RESULT([internal]) SYSTEM_LUCENE=NO BUILD_TYPE="$BUILD_TYPE LUCENE" fi fi AC_SUBST(SYSTEM_LUCENE) AC_SUBST(LUCENE_CORE_JAR) AC_SUBST(LUCENE_ANALYZERS_JAR) AC_MSG_CHECKING([whether to build the MySQL Connector extension]) if test "x$enable_ext_mysql_connector" = "xyes" -a "x$enable_extension_integration" != "xno"; then AC_MSG_RESULT([yes]) ENABLE_MYSQLC=YES BUILD_TYPE="$BUILD_TYPE MYSQLC" else AC_MSG_RESULT([no]) ENABLE_MYSQLC=NO fi AC_SUBST(ENABLE_MYSQLC) if test "$ENABLE_MYSQLC" = "YES"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_MYSQLC" dnl =================================================================== dnl Check for system MySQL dnl =================================================================== AC_MSG_CHECKING([for MySQL prerequisites]) if test "$with_system_mysql" = "yes"; then AC_MSG_RESULT([external MySQL]) SYSTEM_MYSQL=YES AC_PATH_PROG( MYSQLCONFIG, mysql_config) AC_MSG_CHECKING([MySQL version]) MYSQL_VERSION=`$MYSQLCONFIG --version` MYSQL_MAJOR=`$MYSQLCONFIG --version | cut -d"." -f1` if test "$MYSQL_MAJOR" -ge "5"; then AC_MSG_RESULT([OK]) else AC_MSG_ERROR([too old, use 5.0.x or 5.1.x]) fi AC_MSG_CHECKING([for MySQL Client library]) MYSQL_INC=`$MYSQLCONFIG --include` MYSQL_LIB=`$MYSQLCONFIG --libs` MYSQL_DEFINES=`$MYSQLCONFIG --cflags | $SED -e s,$MYSQL_INC,,` AC_MSG_RESULT([includes $MYSQL_INC, libraries $MYSQL_LIB]) else SYSTEM_MYSQL=NO if test -n "$with_libmysql_path"; then AC_MSG_RESULT([external Connector/C (libmysql)]) LIBMYSQL=libmysql.so if test "$_os" = "Darwin"; then LIBMYSQL=libmysql.dylib elif test "$_os" = "WINNT"; then LIBMYSQL=libmysql.dll fi AC_MSG_CHECKING([for $LIBMYSQL]) if test -e "$with_libmysql_path/lib/$LIBMYSQL"; then AC_MSG_RESULT([found.]) LIBMYSQL_PATH=$with_libmysql_path else AC_MSG_ERROR([not found. Please specify proper path in --with-libmysql-path.]) fi else AC_MSG_ERROR([not given. Please specify either --with-system-mysql or --with-libmysql-path]) fi fi AC_SUBST(SYSTEM_MYSQL) AC_SUBST(MYSQL_INC) AC_SUBST(MYSQL_LIB) AC_SUBST(MYSQL_DEFINES) AC_SUBST(LIBMYSQL_PATH) AC_LANG_PUSH([C++]) dnl =================================================================== dnl Check for system MySQL C++ Connector dnl =================================================================== # FIXME! # who thought this too-generic cppconn dir was a good idea? AC_MSG_CHECKING([MySQL Connector/C++]) if test "$with_system_mysql_cppconn" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_MYSQL_CPPCONN=YES AC_LANG_PUSH([C++]) AC_CHECK_HEADER(mysql_driver.h, [], [AC_MSG_ERROR(mysql_driver.h not found. install MySQL C++ Connectivity)], []) AC_CHECK_LIB(mysqlcppconn, main, [], [AC_MSG_ERROR(MySQL C++ Connectivity lib not found or functional)], []) AC_MSG_CHECKING([version]) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <mysql_driver.h> int main(int argc, char **argv) { sql::Driver *driver; driver = get_driver_instance(); if (driver->getMajorVersion() > 1 || \ (driver->getMajorVersion() == 1 && driver->getMinorVersion() > 0) || \ (driver->getMajorVersion() == 1 && driver->getMinorVersion() == 0 && driver->getPatchVersion() >= 6)) return 0; else return 1; } ]])],[AC_MSG_RESULT(OK)],[AC_MSG_ERROR([not suitable, we need >= 1.0.6])],[]) AC_LANG_POP([C++]) else AC_MSG_RESULT([internal]) AC_MSG_CHECKING([for mysqlcppconn module]) if test -d mysqlcppconn; then AC_MSG_RESULT([OK]) else AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)]) fi BUILD_TYPE="$BUILD_TYPE MYSQLCPPCONN" SYSTEM_MYSQL_CPPCONN=NO fi AC_LANG_POP([C++]) AC_SUBST(SYSTEM_MYSQL_CPPCONN) fi dnl =================================================================== dnl Check for system hsqldb dnl =================================================================== if test "$with_java" != "no"; then AC_MSG_CHECKING([which hsqldb to use]) if test "$with_system_hsqldb" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_HSQLDB=YES if test -z $HSQLDB_JAR; then HSQLDB_JAR=/usr/share/java/hsqldb.jar fi AC_CHECK_FILE($HSQLDB_JAR, [], [AC_MSG_ERROR(hsqldb.jar not found.)], []) AC_MSG_CHECKING([whether hsqldb is 1.8.0.x]) export HSQLDB_JAR if $PERL -e 'use Archive::Zip; my $file = "$ENV{'HSQLDB_JAR'}"; my $zip = Archive::Zip->new( $file ); my $mf = $zip->contents ( "META-INF/MANIFEST.MF" ); if ( $mf =~ m/Specification-Version: 1.8.*/ ) { push @l, split(/\n/, $mf); foreach my $line (@l) { if ($line =~ m/Specification-Version:/) { ($t, $version) = split (/:/,$line); $version =~ s/^\s//; ($a, $b, $c, $d) = split (/\./,$version); if ($c == "0" && $d > "8") { exit 0; } else { exit 1; } } } } else { exit 1; }'; then AC_MSG_RESULT([yes]) else AC_MSG_ERROR([no, you need hsqldb >= 1.8.0.9 but < 1.8.1]) fi else AC_MSG_RESULT([internal]) SYSTEM_HSQLDB=NO BUILD_TYPE="$BUILD_TYPE HSQLDB" fi AC_SUBST(SYSTEM_HSQLDB) AC_SUBST(HSQLDB_JAR) fi dnl =================================================================== dnl Check for PostgreSQL stuff dnl =================================================================== if test "x$enable_postgresql_sdbc" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_POSTGRESQL_SDBC" # if/when anything else than PostgreSQL uses Kerberos, # move this out of `test "x$enable_postgresql_sdbc" != "xno"' WITH_KRB5=NO WITH_GSSAPI=no case "$_os" in Darwin) # MacOS X has system MIT Kerberos 5 since 10.4 if test "$with_krb5" != "no"; then WITH_KRB5=YES AC_SEARCH_LIBS(com_err, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken' com_err 'com_err -lssl -lcrypto'], [], [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])]) AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [], [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])]) fi if test "$with_gssapi" != "no"; then WITH_GSSAPI=YES AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [], [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])]) fi ;; WINNT) if test "$with_krb5" = "yes" || "$with_gssapi" = "yes"; then AC_MSG_ERROR([Refusing to enable MIT Kerberos 5 or GSSAPI on Microsoft Windows.]) fi ;; *) if test "$with_krb5" = "yes"; then WITH_KRB5=YES AC_SEARCH_LIBS(com_err, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken' com_err 'com_err -lssl -lcrypto'], [], [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])]) AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'], [], [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])]) fi if test "$with_gssapi" = "yes"; then WITH_GSSAPI=YES AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [], [AC_MSG_ERROR([could not find function 'gss_init_sec_context' required for GSSAPI])]) fi esac AC_MSG_CHECKING([PostgreSQL C interface]) if test "$with_system_postgresql" = "yes"; then AC_MSG_RESULT([external PostgreSQL]) SYSTEM_POSTGRESQL=YES if test "$_os" = Darwin; then supp_path='' for d in /Library/PostgreSQL/9.*/bin /sw/opt/postgresql/9.*/bin /opt/local/lib/postgresql9*/bin; do pg_supp_path="$P_SEP$d$pg_supp_path" done fi AC_PATH_PROG(PGCONFIG, pg_config, ,$PATH$pg_supp_path) if test -z "$PGCONFIG"; then AC_MSG_ERROR([pg_config needed; set PGCONFIG if not in PATH]) fi POSTGRESQL_INC=-I$(${PGCONFIG} --includedir) POSTGRESQL_LIB="-L$(${PGCONFIG} --libdir)" else if test -n "$with_libpq_path"; then SYSTEM_POSTGRESQL=YES AC_MSG_RESULT([external libpq]) POSTGRESQL_LIB="-L${with_libpq_path}/lib/" POSTGRESQL_INC=-I"${with_libpq_path}/include/" else SYSTEM_POSTGRESQL=NO AC_MSG_RESULT([internal]) POSTGRESQL_LIB="" POSTGRESQL_INC="%OVERRIDE_ME%" BUILD_TYPE="$BUILD_TYPE POSTGRESQL" fi fi if test "${SYSTEM_POSTGRESQL}" = "YES"; then AC_MSG_NOTICE([checking system PostgreSQL prerequisites]) save_CFLAGS=$CFLAGS save_CPPFLAGS=$CPPFLAGS save_LIBS=$LIBS CPPFLAGS="${CPPFLAGS} ${POSTGRESQL_INC}" LIBS="${LIBS} ${POSTGRESQL_LIB}" AC_CHECK_HEADER([libpq-fe.h], [], [AC_MSG_ERROR([libpq-fe.h is needed])], []) AC_CHECK_LIB(pq, PQconnectdbParams, [], [AC_MSG_ERROR(libpq not found or too old. Need >= 9.0)], []) CFLAGS=$save_CFLAGS CPPFLAGS=$save_CPPFLAGS LIBS=$save_LIBS fi BUILD_POSTGRESQL_SDBC=YES fi AC_SUBST(WITH_KRB5) AC_SUBST(WITH_GSSAPI) AC_SUBST(BUILD_POSTGRESQL_SDBC) AC_SUBST(SYSTEM_POSTGRESQL) AC_SUBST(POSTGRESQL_INC) AC_SUBST(POSTGRESQL_LIB) dnl =================================================================== dnl Check for system beanshell dnl =================================================================== if test "$with_java" != "no"; then AC_MSG_CHECKING([which beanshell to use]) if test "$with_system_beanshell" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_BSH=YES if test -z $BSH_JAR; then BSH_JAR=/usr/share/java/bsh.jar fi AC_CHECK_FILE($BSH_JAR, [], [AC_MSG_ERROR(bsh.jar not found.)], []) else AC_MSG_RESULT([internal]) SYSTEM_BSH=NO BUILD_TYPE="$BUILD_TYPE BSH" fi fi AC_SUBST(SYSTEM_BSH) AC_SUBST(BSH_JAR) dnl =================================================================== dnl Check for system saxon dnl =================================================================== if test "$with_java" != "no"; then AC_MSG_CHECKING([which saxon to use]) if test "$with_system_saxon" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_SAXON=YES if test -z $SAXON_JAR; then AC_CHECK_FILE(/usr/share/java/saxon9.jar, [ SAXON_JAR=/usr/share/java/saxon9.jar ], [ AC_CHECK_FILE(/usr/share/java/saxon.jar, [ SAXON_JAR=/usr/share/java/saxon.jar ], [ AC_CHECK_FILE(/usr/share/java/saxon9.jar, [ SAXON_JAR=/usr/share/java/saxon9.jar ], [ AC_MSG_ERROR(saxon.jar replacement not found)] ) ] ) ] ) else AC_CHECK_FILE($SAXON_JAR, [], [AC_MSG_ERROR(saxon.jar replacement not found.)], []) fi if test -n "$SERIALIZER_JAR"; then AC_CHECK_FILE($SERIALIZER_JAR, [], [AC_MSG_ERROR(serializer.jar not found.)], []) AC_SUBST(SERIALIZER_JAR) fi dnl Saxon comes in two practically available versions, the out-of-date saxonb which dnl supports the Java extensions that LibreOffice uses, and the up-to-date saxon he dnl "home edition" version, which is crippled to not support those Java extensions. dnl And as an aside the he one also needs to be tweaked to include dnl a META-INF/services to broadcast that it supports the jaxp transform factory AC_MSG_CHECKING([if saxon works]) cat > saxontest.java <<_ACEOF [import javax.xml.transform.TransformerFactory; import javax.xml.transform.Transformer; import javax.xml.transform.stream.StreamSource; import java.io.*; import net.sf.saxon.FeatureKeys; class saxontest { public static void main(String[] args) { System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl"); try { TransformerFactory tfactory = TransformerFactory.newInstance(); // some external saxons (Debian, Ubuntu, ...) have this disabled // per default tfactory.setAttribute(FeatureKeys.ALLOW_EXTERNAL_FUNCTIONS, new Boolean(true)); System.out.println("TransformerFactory is" + tfactory.getClass().getName()); Transformer transformer = tfactory.newTransformer( new StreamSource(new File(args[0]))); } catch(Exception e){ e.printStackTrace(System.err); System.exit(-1); } System.exit(0); } } ] _ACEOF cat > saxontest.xsl<<_ACEOF [<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:value-of select="math:sqrt(1)" xmlns:math="java:java.lang.Math"/> </xsl:template> </xsl:stylesheet> ] _ACEOF javac_cmd="$JAVACOMPILER -cp $SAXON_JAR saxontest.java 1>&2" AC_TRY_EVAL(javac_cmd) if test $? = 0 && test -f ./saxontest.class ; then java_cmd="$JAVAINTERPRETER -cp $SAXON_JAR:. saxontest saxontest.xsl 1>&2" AC_TRY_EVAL(java_cmd) if test $? = 0; then AC_MSG_RESULT([yes]) else cat saxontest.java >&5 AC_MSG_RESULT([no]) AC_MSG_ERROR([Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb]) fi else AC_MSG_RESULT([no]) cat saxontest.java >&5 AC_MSG_ERROR([saxontest could not be compiled, non-functional saxon jar]) fi else AC_MSG_RESULT([internal]) SYSTEM_SAXON=NO NEED_SAXON=TRUE fi fi AC_SUBST(SYSTEM_SAXON) AC_SUBST(SAXON_JAR) if test -n "$NEED_SAXON"; then BUILD_TYPE="$BUILD_TYPE SAXON" fi # =================================================================== # Check whether to build stax # =================================================================== AC_MSG_CHECKING([whether building the stax is required]) BUILD_STAX=NO if test -z "$SOLAR_JAVA"; then AC_MSG_RESULT([no (java disabled)]) elif test "$SYSTEM_SAXON" = "YES"; then AC_MSG_RESULT([no (already provided by system saxon)]) elif test -f "./stax/download/jsr173_1.0_api.jar"; then AC_MSG_RESULT([no (will use the prebuilt stax/download/jsr173_1.0_api.jar)]) else BUILD_STAX=YES AC_MSG_RESULT([yes (no system saxon and no prebuilt copy)]) fi AC_SUBST(BUILD_STAX) dnl =================================================================== dnl Check for system curl dnl =================================================================== AC_MSG_CHECKING([which libcurl to use]) if test "$with_system_curl" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_CURL=YES curl_version="" if test "$cross_compiling" = "yes"; then dnl At least the OBS mingw32-libcurl-devel package dnl comes with a proper .pc file PKG_CHECK_MODULES(CURL, libcurl,, [:]) if test -n "$CURL_PKG_ERRORS"; then AC_MSG_RESULT([no]) else curl_version=`$PKG_CONFIG --modversion libcurl` fi fi if test -z "$curl_version"; then AC_PATH_PROG(CURLCONFIG, curl-config) if test -z "$CURLCONFIG"; then AC_MSG_ERROR([install the libcurl development package]) fi CURL_LIBS=`$CURLCONFIG --libs` CURL_CFLAGS=`$CURLCONFIG --cflags` curl_version=`$CURLCONFIG --version | $SED -e 's/^libcurl //'` fi AC_MSG_CHECKING([whether libcurl is >= 7.13.1]) case $curl_version in dnl brackets doubled below because Autoconf uses them as m4 quote characters, dnl so they need to be doubled to end up in the configure script 7.13.1|7.1[[4-9]].*|7.[[2-9]]?.*|7.???.*|[[8-9]].*|[[1-9]][[0-9]].*) AC_MSG_RESULT([yes, you have $curl_version]) ;; *) AC_MSG_ERROR([no, you have $curl_version]) ;; esac MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libintl-8.dll libidn-11.dll libnspr4.dll nssutil3.dll libplc4.dll libplds4.dll nss3.dll ssl3.dll libgpg-error-0.dll libgcrypt-11.dll libssh2-1.dll libcurl-4.dll" else AC_MSG_RESULT([internal]) SYSTEM_CURL=NO BUILD_TYPE="$BUILD_TYPE CURL" fi AC_SUBST(SYSTEM_CURL) AC_SUBST(CURL_CFLAGS) AC_SUBST(CURL_LIBS) dnl =================================================================== dnl Check for system boost dnl =================================================================== AC_MSG_CHECKING([which boost to use]) if test "$with_system_boost" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_BOOST=YES AC_LANG_PUSH([C++]) AC_CHECK_HEADER(boost/shared_ptr.hpp, [], [AC_MSG_ERROR(boost/shared_ptr.hpp not found. install boost)], []) AC_CHECK_HEADER(boost/spirit/include/classic_core.hpp, [], [AC_MSG_ERROR(boost/spirit/include/classic_core.hpp not found. install boost >= 1.36)], []) AC_CHECK_HEADER(boost/function.hpp, [], [AC_MSG_ERROR(boost/function.hpp not found. install boost)], []) AC_CHECK_HEADER([boost/unordered_map.hpp], [HAVE_BOOST_UNORDERED_MAP=TRUE], [AC_MSG_WARN([boost/unordered_map.hpp not found])], []) save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS -fno-exceptions" AC_MSG_CHECKING([whether boost/function.hpp compiles with -fno-exceptions]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <boost/function.hpp> ]], [[]])],[ac_cv_cxx_boost_no_exceptions_broken=no],[ac_cv_cxx_boost_no_exceptions_broken=yes]) if test "$ac_cv_cxx_boost_no_exceptions_broken" = "yes"; then AC_MSG_ERROR([no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131]) else AC_MSG_RESULT([yes]) fi CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) else AC_MSG_RESULT([internal]) BUILD_TYPE="$BUILD_TYPE BOOST" SYSTEM_BOOST=NO HAVE_BOOST_UNORDERED_MAP=TRUE fi AC_SUBST([HAVE_BOOST_UNORDERED_MAP]) AC_SUBST(SYSTEM_BOOST) dnl =================================================================== dnl Check for system mdds dnl =================================================================== AC_MSG_CHECKING([which mdds to use]) if test "$with_system_mdds" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_MDDS=YES dnl =================================================================== dnl Determine which hash container mdds shall use dnl =================================================================== AC_MSG_CHECKING([which hash container mdds shall use]) if test "x$HAVE_CXX0X" = "xTRUE"; then MDDS_CPPFLAGS="-std=c++0x" AC_MSG_RESULT([std::unordered_map]) else MDDS_CPPFLAGS="-DMDDS_HASH_CONTAINER_BOOST" AC_MSG_RESULT([boost::unordered_map]) fi AC_LANG_PUSH([C++]) save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $MDDS_CPPFLAGS" AC_CHECK_HEADER(mdds/flat_segment_tree.hpp, [], [AC_MSG_ERROR(mdds/flat_segment_tree.hpp not found. install mdds)], []) AC_CHECK_HEADER(mdds/mixed_type_matrix.hpp, [], [AC_MSG_ERROR(mdds/mixed_type_matrix.hpp not found. install mdds >= 0.4.0)], []) CPPFLAGS="$save_CPPFLAGS" save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS $MDDS_CPPFLAGS" AC_MSG_CHECKING([for correct signature of ::mdds::flat_segment_tree]) AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <mdds/flat_segment_tree.hpp> int main(int argc, char **argv) { ::mdds::flat_segment_tree<long, short> db(0, 100, 0); short val; if (!db.search(5, val).second) return 1; return 0; } ]])],[ac_cv_cxx_mdds_flat_segment_tree_correct=yes],[ac_cv_cxx_mdds_flat_segment_tree_correct=no],[]) if test "$ac_cv_cxx_mdds_flat_segment_tree_correct" = "yes"; then AC_MSG_RESULT([yes]) else AC_MSG_ERROR([no, install mdds >= 0.5.0]) fi CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) else AC_MSG_RESULT([internal]) BUILD_TYPE="$BUILD_TYPE MDDS" SYSTEM_MDDS=NO dnl =================================================================== dnl Determine which hash container mdds shall use dnl =================================================================== AC_MSG_CHECKING([which hash container mdds shall use]) MDDS_CPPFLAGS="-DMDDS_HASH_CONTAINER_BOOST" AC_MSG_RESULT([boost::unordered_map]) fi AC_SUBST(SYSTEM_MDDS) AC_SUBST([MDDS_CPPFLAGS]) dnl =================================================================== dnl Check for system vigra dnl =================================================================== AC_MSG_CHECKING([which vigra to use]) if test "$with_system_vigra" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_VIGRA=YES AC_LANG_PUSH([C++]) AC_CHECK_HEADER(vigra/copyimage.hxx, [], [AC_MSG_ERROR(vigra/copyimage.hxx not found. install vigra)], []) AC_LANG_POP([C++]) else AC_MSG_RESULT([internal]) BUILD_TYPE="$BUILD_TYPE VIGRA" SYSTEM_VIGRA=NO fi AC_SUBST(SYSTEM_VIGRA) dnl =================================================================== dnl Check for system odbc dnl =================================================================== AC_MSG_CHECKING([which odbc headers to use]) if test "$with_system_odbc" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_ODBC_HEADERS=YES AC_CHECK_HEADER(sqlext.h, [], [AC_MSG_ERROR(odbc not found. install odbc)], []) else AC_MSG_RESULT([internal]) SYSTEM_ODBC_HEADERS=NO BUILD_TYPE="$BUILD_TYPE UNIXODBC" fi AC_SUBST(SYSTEM_ODBC_HEADERS) AC_MSG_CHECKING([whether to enable build of Mozilla]) if test "$enable_mozilla" = "no"; then AC_MSG_RESULT([no]) WITH_MOZILLA=NO else AC_MSG_RESULT([yes]) WITH_MOZILLA=YES fi AC_SUBST(WITH_MOZILLA) AC_MSG_CHECKING([whether to build Mozilla addressbook connectivity]) if test "$enable_mozilla" = "no"; then AC_MSG_RESULT([no]) elif test "$with_system_mozilla" = "yes"; then AC_MSG_RESULT([no, not possible with system-mozilla]) else AC_MSG_RESULT([yes]) fi AC_MSG_CHECKING([whether to build XML Security support]) if test "$enable_xmlsec" = "no"; then AC_MSG_RESULT([no]) ENABLE_XMLSEC= else ENABLE_XMLSEC="YES" BUILD_TYPE="$BUILD_TYPE LIBXMLSEC" AC_MSG_RESULT([yes]) fi AC_SUBST(ENABLE_XMLSEC) AC_MSG_CHECKING([whether to build LDAP configuration backend]) if test "$enable_ldap" != "no"; then WITH_OPENLDAP=NO WITH_LDAP=NO if test "$with_openldap" = "yes"; then WITH_LDAP=YES AC_MSG_RESULT([OpenLDAP]) WITH_OPENLDAP=YES AC_CHECK_HEADERS(ldap.h, [], [AC_MSG_ERROR(ldap.h not found. install openldap libs)], []) AC_CHECK_LIB(ldap, ldap_simple_bind_s, [], [AC_MSG_ERROR(openldap lib not found or functional)], []) AC_CHECK_LIB(ldap, ldap_set_option, [], [AC_MSG_ERROR(openldap lib not found or functional)], []) elif test "$enable_mozilla" != "no"; then AC_MSG_RESULT([Mozilla]) WITH_LDAP=YES WITH_OPENLDAP=NO else AC_MSG_RESULT([no. Either Mozilla or OpenLDAP required]) fi else AC_MSG_RESULT([no]) WITH_LDAP=NO fi AC_SUBST(WITH_LDAP) AC_SUBST(WITH_OPENLDAP) dnl =================================================================== dnl Check for system mozilla dnl =================================================================== AC_MSG_CHECKING([which Mozilla to use]) if test -n "$with_system_mozilla" && test "$with_system_mozilla" != "no"; then AC_MSG_RESULT([external]) SYSTEM_MOZILLA=YES AC_MSG_CHECKING([which Mozilla flavour to use]) if test -n "$with_system_mozilla" && test "$with_system_mozilla" = "libxul"; then MOZ_FLAVOUR=libxul elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "xulrunner"; then MOZ_FLAVOUR=xulrunner elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "seamonkey"; then MOZ_FLAVOUR=seamonkey elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "iceape"; then MOZ_FLAVOUR=iceape elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "firefox"; then MOZ_FLAVOUR=firefox elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "mozilla"; then MOZ_FLAVOUR=mozilla else MOZ_FLAVOUR=libxul fi tmp=`echo $MOZ_FLAVOUR | $PERL -e 'print ucfirst(<STDIN>);'` AC_MSG_RESULT($tmp) if test "$MOZ_FLAVOUR" != "libxul"; then PKG_CHECK_MODULES( MOZILLAXPCOM, $MOZ_FLAVOUR-xpcom, HASXPCOM="TRUE", HASXPCOM="" ) MOZ_INC=`$PKG_CONFIG --variable=includedir $MOZ_FLAVOUR-xpcom` MOZ_LIB=`$PKG_CONFIG --variable=libdir $MOZ_FLAVOUR-xpcom` fi if test -z "$HASXPCOM"; then PKG_CHECK_MODULES( MOZILLAXPCOM, libxul ) MOZ_INC=`$PKG_CONFIG --variable=includedir libxul` MOZ_LIB=`$PKG_CONFIG --variable=libdir libxul` if ! test -e "$MOZ_LIB/libxul.so"; then MOZ_LIB=`$PKG_CONFIG --variable=sdkdir libxul` if test -e "$MOZ_LIB/sdk/lib/libxul.so"; then MOZ_LIB="$MOZ_LIB/sdk/lib" fi fi fi MOZ_LIB_XPCOM=$MOZILLAXPCOM_LIBS if test "$WITH_LDAP" != "NO" && test "$WITH_OPENLDAP" != "YES"; then AC_MSG_CHECKING([whether $tmp was compiled with --enable-ldap]) if test -d "$MOZ_INC/ldap"; then AC_MSG_RESULT([yes]) MOZ_LDAP_CFLAGS="-I$MOZ_INC" else AC_MSG_ERROR([no. Could not find LDAP header include files in $MOZ_INC/ldap. Please recompile $tmp with --enable-ldap or use --with-openldap.]) fi fi #e.g. http://fedoraproject.org/wiki/Releases/FeatureXULRunnerAPIChanges #the plugin pkg-config etc. reverts to "mozilla-plugin" with libxul if test "$MOZ_FLAVOUR" = "libxul"; then MOZ_FLAVOUR="mozilla" fi elif test "$enable_mozilla" = "no"; then AC_MSG_RESULT([none]) WITH_MOZILLA=NO else AC_MSG_RESULT([internal]) SYSTEM_MOZILLA=NO BUILD_TYPE="$BUILD_TYPE MOZ" if test -z "$with_mozilla_version"; then MOZILLA_VERSION= else AC_MSG_CHECKING([which Mozilla version to build]) MOZILLA_VERSION=$with_mozilla_version enable_build_mozilla=1 AC_MSG_RESULT([$MOZILLA_VERSION]) fi AC_SUBST(MOZILLA_VERSION) AC_MSG_CHECKING([for toolkit Mozilla should use]) if test -z "$with_mozilla_toolkit"; then if test "$_os" != "WINNT" ; then if test "$_os" = "Darwin" ; then MOZILLA_TOOLKIT=mac AC_MSG_RESULT([mac]) else MOZILLA_TOOLKIT=gtk2 AC_MSG_RESULT([gtk2]) fi fi else MOZILLA_TOOLKIT=$with_mozilla_toolkit enable_build_mozilla=1 AC_MSG_RESULT([$MOZILLA_TOOLKIT]) fi AC_SUBST(MOZILLA_TOOLKIT) # default to enabling build mozilla if test "$enable_build_mozilla" != "no"; then enable_build_mozilla=yes else enable_build_mozilla= fi AC_MSG_CHECKING([whether to build Mozilla/SeaMonkey]) if test -n "$enable_build_mozilla"; then BUILD_MOZAB="TRUE" AC_MSG_RESULT([yes]) else BUILD_MOZAB="" AC_MSG_RESULT([no]) fi if test "$BUILD_MOZAB" = "TRUE"; then if test "$_os" = "WINNT"; then if test "$WITH_MINGW" != "yes"; then # compiling with MSVC. Only supported platform here is MSVS2005 at the moment. if test "$MSVSVER" != "2005"; then AC_MSG_ERROR([Building SeaMonkey is supported with Microsoft Visual Studio 2005 only.]) fi else AC_MSG_WARN([Building SeaMonkey with MinGW is not tested, and likely to break.]) echo "Building SeaMonkey with MinGW is not tested, and likely to break." >> warn fi fi if test -z "$MOZILLA_VERSION"; then MOZILLA_VERSION=1.1.14 fi MOZILLA_SOURCE_VERSION="seamonkey-${MOZILLA_VERSION}.source" MOZILLA_FETCH_FILE=`grep $MOZILLA_SOURCE_VERSION ooo.lst.in` AC_MSG_CHECKING([for Mozilla sources]) if test -z "$MOZILLA_FETCH_FILE"; then AC_MSG_RESULT([not found]) HAVE_MOZILLA_TARBALL=n else AC_MSG_CHECKING([for $MOZILLA_FETCH_FILE]) if test ! -e "$TARFILE_LOCATION/$MOZILLA_FETCH_FILE"; then if test -z "$DO_FETCH"; then AC_MSG_RESULT([will be fetched]) HAVE_MOZILLA_TARBALL=y else AC_MSG_RESULT([not found]) HAVE_MOZILLA_TARBALL=n fi else AC_MSG_RESULT([found]) HAVE_MOZILLA_TARBALL=y fi fi if test "$HAVE_MOZILLA_TARBALL" != "y"; then AC_MSG_ERROR([Mozilla/SeaMonkey source archive not found. Use "./download" to download.]) fi if test "$_os" = "WINNT"; then AC_MSG_CHECKING([for moztools binaries]) if test ! -e "$TARFILE_LOCATION/vc8-moztools.zip" ; then AC_MSG_ERROR([The following file is missing in $TARFILE_LOCATION: vc8-moztools.zip (from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)]) else AC_MSG_RESULT([ok]) fi elif test "$_os" = "Darwin"; then PKG_CHECK_MODULES(MOZLIBREQ, libIDL-2.0 >= 0.6.3, MOZIDL="TRUE", MOZIDL="") if test -z "$MOZIDL"; then AC_MSG_ERROR([libIDL 0.6.3 or newer is needed to build Mozilla with Mac toolkit.]) fi else # Generic Unix/Linux section if test "$MOZILLA_TOOLKIT" = "gtk2"; then PKG_CHECK_MODULES(MOZLIBREQ, gtk+-2.0, MOZGTK="TRUE", MOZGTK="") if test -z "$MOZGTK"; then AC_MSG_ERROR([GTK2 is needed to build Mozilla.]) fi PKG_CHECK_MODULES(MOZLIBREQ, libIDL-2.0 >= 0.8.0, MOZIDL="TRUE", MOZIDL="") if test -z "$MOZIDL"; then AC_MSG_ERROR([libIDL >= 0.8.0 is needed when using GTK2 to build Mozilla.]) fi else PKG_CHECK_MODULES(MOZLIBREQ, gtk+ >= 1.2.3, MOZGTK="TRUE", MOZGTK="") if test -z "$MOZGTK"; then AC_MSG_ERROR([GTK+ 1.2 is needed when not using GTK2 to build Mozilla.]) fi PKG_CHECK_MODULES(MOZLIBREQ, libidl >= 0.6.3 libidl <= 0.6.8, MOZIDL="TRUE", MOZIDL="") if test -z "$MOZIDL"; then AC_MSG_ERROR([libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build Mozilla.]) fi fi fi else AC_MSG_CHECKING([which pre-built Mozilla module in moz/zipped]) if test -e "$SRC_ROOT/moz/zipped/${OS}${COM}${CPU}inc.zip" -a \ -e "$SRC_ROOT/moz/zipped/${OS}${COM}${CPU}lib.zip" -a \ -e "$SRC_ROOT/moz/zipped/${OS}${COM}${CPU}runtime.zip" ; then AC_MSG_RESULT([Found]) PREBUILD_MOZAB="YES" if test "$_os" = "cygwin" ; then AC_MSG_CHECKING([for MSVC 2005 runtime needed for prebuilt Mozilla]) if test -e "$SRC_ROOT/external/msvcp80/Microsoft.VC80.CRT.manifest" -a \ -e "$SRC_ROOT/external/msvcp80/msvcp80.dll" -a \ -e "$SRC_ROOT/external/msvcp80/msvcr80.dll" ; then AC_MSG_RESULT([Found]) else AC_MSG_RESULT([Not Found]) AC_MSG_ERROR([For the pre-built Mozilla libraries, you need MSVC 2005 runtime files Microsoft.VC80.CRT.manifest, msvcp80.dll, and msvcr80.dll in external/msvcp80. You can get them by installing: <http://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE> and copying the abovementioned files from: c:/windows/winsxs/x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989/ and c:/windows/winsxs/manifests/x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989.manifest ]) fi fi else AC_MSG_RESULT([Not Found]) AC_MSG_ERROR([If you don't use system mozilla and also disable the build of internal mozilla, you must provided the appropriate libraries yourself. You need to copy $OS$COM$CPU{inc,lib,runtime}.zip into moz/zipped. These files can be found at <http://dev-www.libreoffice.org/mozilla/> ]) fi fi fi AC_SUBST(BUILD_MOZAB) AC_SUBST(PREBUILT_MOZAB) AC_SUBST(MOZILLABUILD) AC_SUBST(SYSTEM_MOZILLA) AC_SUBST(MOZ_FLAVOUR) AC_SUBST(MOZ_INC) AC_SUBST(MOZ_LIB) AC_SUBST(MOZ_LIB_XPCOM) AC_SUBST(MOZ_LDAP_CFLAGS) dnl =================================================================== dnl Check for system NSS only with xmlsec or mozilla build enabled dnl =================================================================== if test "x$enable_xmlsec" != "xno" -o "x$enable_mozilla" != "xno"; then AC_MSG_CHECKING([which NSS to use]) if test "$with_system_nss" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_NSS="YES" PKG_CHECK_MODULES(NSS, nss >= 3.9.3 nspr >= 4.8) else SYSTEM_NSS="NO" BUILD_TYPE="$BUILD_TYPE NSS" AC_MSG_RESULT([internal]) if test "$build_os" = "cygwin"; then AC_MSG_CHECKING([for Mozilla build tooling. Required for nss and/or mozilla]) if test -z "$MOZILLABUILD" ; then AC_MSG_ERROR([Mozilla build tooling not found. Use the --with-mozilla-build option after installing the tools obtained from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32]) else if test \( "$WITH_MINGW" = "yes" \) ; then if test ! -d "$MOZILLABUILD" ; then AC_MSG_ERROR([Mozilla build tooling incomplete!]) else AC_MSG_RESULT([ok]) fi else if test ! -d "$MOZILLABUILD/moztools" \ -o ! -d "$MOZILLABUILD/msys" ; then AC_MSG_ERROR([Mozilla build tooling incomplete!]) else AC_MSG_RESULT([ok]) fi fi fi fi fi # system nss fi # enable xmlsec || enable mozilla AC_SUBST(SYSTEM_NSS) AC_SUBST(NSS_CFLAGS) AC_SUBST(NSS_LIBS) dnl =================================================================== dnl Check for system mozilla headers dnl =================================================================== AC_MSG_CHECKING([which mozilla headers to use]) if test "$with_system_mozilla_headers" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_MOZILLA_HEADERS=YES # First try npapi-sdk: PKG_CHECK_MODULES(MOZILLA_HEADERS, npapi-sdk, [LOCATED=yes], [LOCATED=no]) # Then go with libxul: if test "x$LOCATED" != "xyes"; then PKG_CHECK_MODULES(MOZILLA_HEADERS, libxul, [LOCATED=yes], [LOCATED=no]) fi # if still not found bail out if test "x$LOCATED" != "xyes"; then AC_MSG_ERROR([npapi.h header file not found]) fi else AC_MSG_RESULT([internal]) SYSTEM_MOZILLA_HEADERS=NO fi AC_SUBST(MOZILLA_HEADERS_CFLAGS) AC_SUBST(SYSTEM_MOZILLA_HEADERS) dnl =================================================================== dnl Check for system sane dnl =================================================================== AC_MSG_CHECKING([which sane header to use]) if test "$with_system_sane" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_SANE_HEADER=YES AC_CHECK_HEADER(sane/sane.h, [], [AC_MSG_ERROR(sane not found. install sane)], []) else AC_MSG_RESULT([internal]) SYSTEM_SANE_HEADER=NO BUILD_TYPE="$BUILD_TYPE SANE" fi AC_SUBST(SYSTEM_SANE_HEADER) dnl =================================================================== dnl Check for system icu dnl =================================================================== SYSTEM_GENBRK= SYSTEM_GENCCODE= SYSTEM_GENCMN= ICU_MAJOR= ICU_MINOR= ICU_MICRO= ICU_RECLASSIFIED_CLOSE_PARENTHESIS= AC_MSG_CHECKING([which icu to use]) if test "$with_system_icu" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_ICU=YES AC_LANG_PUSH([C++]) AC_MSG_CHECKING([for unicode/rbbi.h]) AC_PREPROC_IFELSE([AC_LANG_SOURCE([[unicode/rbbi.h]])],[AC_MSG_RESULT(checked.)],[AC_MSG_ERROR(icu headers not found.)]) AC_LANG_POP([C++]) ICUPATH="$PATH" if test "$WITH_MINGW" = "yes" ; then ICUPATH="/usr/i686-w64-mingw32/sys-root/mingw/bin:$ICUPATH" fi AC_PATH_PROG(ICUCONFIG,icu-config,,[$ICUPATH]) AC_MSG_CHECKING([ICU version]) ICU_VERSION=`$ICUCONFIG --noverify --version 2>/dev/null || $ICUCONFIG --version` ICU_MAJOR=`echo $ICU_VERSION | cut -d"." -f1` ICU_MINOR=`echo $ICU_VERSION | cut -d"." -f2` ICU_MICRO=`echo $ICU_VERSION | cut -d"." -f3` if test "$ICU_MAJOR" -ge "4"; then AC_MSG_RESULT([OK, $ICU_VERSION]) else AC_MSG_ERROR([not suitable, only >= 4.0 supported currently]) fi if test "$cross_compiling" != "yes"; then # using the system icu tools can lead to version confusion, use the # ones from the build environment when cross-compiling AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin]) if test -z "$SYSTEM_GENBRK"; then AC_MSG_ERROR([\'genbrk\' not found in \$PATH, install the icu development tool \'genbrk\']) fi AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin]) if test -z "$SYSTEM_GENCCODE"; then AC_MSG_ERROR([\'genccode\' not found in \$PATH, install the icu development tool \'genccode\']) fi AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin]) if test -z "$SYSTEM_GENCMN"; then AC_MSG_ERROR([\'gencmn\' not found in \$PATH, install the icu development tool \'gencmn\']) fi if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "4"; then ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES" fi fi MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS icui18n$ICU_MAJOR$ICU_MINOR.dll icuuc$ICU_MAJOR$ICU_MINOR.dll icudata$ICU_MAJOR$ICU_MINOR.dll" else AC_MSG_RESULT([internal]) SYSTEM_ICU="NO" ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES" BUILD_TYPE="$BUILD_TYPE ICU" fi AC_SUBST(SYSTEM_ICU) AC_SUBST(SYSTEM_GENBRK) AC_SUBST(SYSTEM_GENCCODE) AC_SUBST(SYSTEM_GENCMN) AC_SUBST(ICU_MAJOR) AC_SUBST(ICU_MINOR) AC_SUBST(ICU_MICRO) AC_SUBST(ICU_RECLASSIFIED_CLOSE_PARENTHESIS) dnl =================================================================== dnl Graphite dnl =================================================================== AC_MSG_CHECKING([whether to enable graphite support]) if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" = "z" -o "$enable_graphite" != "no" ; then AC_MSG_RESULT([yes]) ENABLE_GRAPHITE="TRUE" AC_MSG_CHECKING([which graphite to use]) if test "$with_system_graphite" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_GRAPHITE=YES PKG_CHECK_MODULES( GRAPHITE, graphite2 >= 0.9.3 ) MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libgraphite2.dll" else AC_MSG_RESULT([internal]) SYSTEM_GRAPHITE=NO BUILD_TYPE="$BUILD_TYPE GRAPHITE" fi else AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_GRAPHITE) AC_SUBST(SYSTEM_GRAPHITE) AC_SUBST(GRAPHITE_LIBS) AC_SUBST(GRAPHITE_CFLAGS) dnl =================================================================== dnl SampleICC dnl =================================================================== AC_MSG_CHECKING([whether to use system SampleICC]) if test "$with_system_sampleicc" = "yes"; then AC_MSG_RESULT([yes]) SYSTEM_SAMPLEICC=YES PKG_CHECK_MODULES(SAMPLEICC, sampleicc) else AC_MSG_RESULT([no]) SYSTEM_SAMPLEICC=NO fi AC_SUBST(SYSTEM_SAMPLEICC) AC_SUBST(SAMPLEICC_LIBS) AC_SUBST(SAMPLEICC_CFLAGS) dnl =================================================================== dnl Checks for libraries. dnl =================================================================== dnl Check for Mac OS X native GUI, which may is now required; the X11 build is no longer supported dnl See if we have the AppKit framework for building with Quartz graphics. if test "$_os" = "Darwin"; then if test "x$with_x" = "xyes"; then AC_MSG_ERROR([X11 build is no longer supported on MacOSX, please use the native aqua build]) else AC_MSG_CHECKING([for /System/Library/Frameworks/AppKit.framework]) if test -d "/System/Library/Frameworks/AppKit.framework/"; then AC_MSG_RESULT([yes]) x_includes="no_x_includes" x_libraries="no_x_libraries" dnl disable some things used on other Unix versions but not on the aqua build enable_gtk=no else AC_MSG_ERROR([No AppKit.framewrok found]) fi fi fi if test $_os = iOS -o $_os = Android; then enable_gtk=no fi dnl =================================================================== dnl Check for nsplugin dnl =================================================================== AC_MSG_CHECKING([wether to build nsplugin extension]) ENABLE_NSPLUGIN=NO if test "$enable_nsplugin" != "no"; then if test "$enable_gtk" != "no"; then AC_MSG_RESULT([yes]) ENABLE_NSPLUGIN=YES else AC_MSG_RESULT([no, disabled gtk2]) fi else AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_NSPLUGIN) dnl *************************************** dnl testing for X libraries and includes... dnl *************************************** if test "$_os" = "Darwin" -a "x$x_includes" = "xno_x_includes"; then dnl Mac OS X using Aqua graphics. Don't check for X11. : elif test "$_os" != "WINNT" -a "$_os" != "Android" -a "$_os" != "iOS"; then AC_PATH_X AC_PATH_XTRA CPPFLAGS="$CPPFLAGS $X_CFLAGS" if test "x$x_includes" = "x"; then x_includes="default_x_includes" fi if test "x$x_libraries" = "x"; then x_libraries="default_x_libraries" fi dnl The variables $x_libraries and $x_includes are set. if test -z "$x_libraries"; then AC_MSG_ERROR([No X libraries found]) # Exit fi if test -z "$x_includes"; then AC_MSG_ERROR([No X includes found]) # Exit fi CFLAGS="$CFLAGS $X_CFLAGS" LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS" AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS", [AC_MSG_ERROR([X Development libraries not found])]) else x_includes="no_x_includes" x_libraries="no_x_libraries" fi if test -z "$x_includes"; then x_includes="no_x_includes" fi if test -z "$x_libraries"; then x_libraries="no_x_libraries" fi if test "$x_includes" = "default_x_includes"; then XINC="/usr/include" else XINC="$x_includes" fi AC_SUBST(XINC) if test "$x_libraries" = "default_x_libraries"; then XLIB=`$PKG_CONFIG --variable=libdir x11` if test "x$XLIB" = x; then XLIB="/usr/lib" fi else XLIB="$x_libraries" fi AC_SUBST(XLIB) if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "Android" -a "$_os" != "iOS"; then dnl =================================================================== dnl Check for Composite.h for Mozilla plugin dnl =================================================================== AC_CHECK_HEADERS(X11/Composite.h,[],[AC_MSG_ERROR([Xt headers not found])], [#include <X11/Intrinsic.h>]) fi AC_MSG_CHECKING([whether to use internal X11 extensions headers]) if test "$with_system_xextensions_headers" != "no"; then AC_MSG_RESULT([no]) else AC_MSG_RESULT([yes]) BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS" fi dnl =================================================================== dnl Check for system Xrender dnl =================================================================== AC_MSG_CHECKING([whether to use Xrender]) if test "$test_xrender" = "yes"; then AC_MSG_RESULT([yes]) AC_CHECK_LIB(Xrender, XRenderQueryVersion, [], [AC_MSG_ERROR(libXrender not found or functional)], []) AC_MSG_CHECKING([which Xrender headers to use]) if test "$with_system_xextensions_headers" != "no"; then AC_MSG_RESULT([external]) AC_CHECK_HEADER(X11/extensions/Xrender.h, [], [AC_MSG_ERROR(Xrender not found. install X)], []) else AC_MSG_RESULT([internal]) fi fi dnl =================================================================== dnl Check for XRandr dnl =================================================================== AC_MSG_CHECKING([whether to enable RandR support]) if test "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \) ; then if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then XRANDR_DLOPEN="TRUE" AC_MSG_RESULT([configured to dlopen libXrandr at runtime]) else AC_MSG_RESULT([yes]) XRANDR_DLOPEN="FALSE" PKG_CHECK_MODULES(XRANDR, xrandr >= 1.2, ENABLE_RANDR="TRUE", ENABLE_RANDR="") if test "$ENABLE_RANDR" != "TRUE"; then AC_CHECK_HEADER(X11/extensions/Xrandr.h, [], [AC_MSG_ERROR([X11/extensions/Xrandr.h could not be found. X11 dev missing?])], []) XRANDR_CFLAGS=" " AC_CHECK_LIB(Xrandr, XRRQueryExtension, [], [ AC_MSG_ERROR(libXrandr not found or functional) ], []) XRANDR_LIBS="-lXrandr " ENABLE_RANDR="TRUE" fi fi else ENABLE_RANDR="" AC_MSG_RESULT([no]) fi AC_SUBST(XRANDR_DLOPEN) AC_SUBST(XRANDR_CFLAGS) AC_SUBST(XRANDR_LIBS) AC_SUBST(ENABLE_RANDR) dnl =================================================================== dnl Check for building neon dnl =================================================================== AC_MSG_CHECKING([whether to use neon]) if test "$enable_neon" = "no"; then AC_MSG_RESULT([no]) DISABLE_NEON=TRUE AC_SUBST(DISABLE_NEON) else AC_MSG_RESULT([yes]) dnl =================================================================== dnl Check for system neon dnl =================================================================== AC_MSG_CHECKING([which neon to use]) if test "$with_system_neon" = "yes"; then AC_MSG_RESULT([external]) PKG_CHECK_MODULES(NEON, neon >= 0.26.0, , AC_MSG_ERROR([you need neon >= 0.26.x for system-neon])) NEON_VERSION="`$PKG_CONFIG --modversion neon | $SED 's/\.//g'`" NEON_CFLAGS="$NEON_CFLAGS -DSYSTEM_NEON -DUSE_DAV_LOCKS=1" SYSTEM_NEON=YES MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libtasn1-3.dll libgnutls-26.dll libneon-27.dll" else AC_MSG_RESULT([internal]) SYSTEM_NEON=NO NEON_LIBS=-lneon NEON_CFLAGS= BUILD_TYPE="$BUILD_TYPE NEON" fi AC_SUBST(SYSTEM_NEON) AC_SUBST(NEON_VERSION) AC_SUBST(NEON_LIBS) AC_SUBST(NEON_CFLAGS) fi dnl =================================================================== dnl Check for system openssl dnl =================================================================== if test "$_os" = "Darwin" -o "$_os" = "NetBSD" -o "$_os" = "OpenBSD" -o \ "$_os" = "DragonFly" && test "$with_system_openssl" != "no"; then with_system_openssl=yes fi AC_MSG_CHECKING([which libssl to use]) if test "$with_system_openssl" = "yes"; then AC_MSG_RESULT([external]) # Mac OS builds should get out without extra stuff is the Mac porters' # wish. And pkg-config is although Xcode ships a .pc for openssl if test "$_os" = "Darwin" -o "$_os" = "NetBSD" -o "$_os" = "OpenBSD" -o \ "$_os" = "DragonFly"; then OPENSSL_CFLAGS= OPENSSL_LIBS="-lssl -lcrypto" else PKG_CHECK_MODULES( OPENSSL, openssl ) fi SYSTEM_OPENSSL=YES MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libssl-8.dll libcrypto-8.dll" else AC_MSG_RESULT([internal]) SYSTEM_OPENSSL=NO BUILD_TYPE="$BUILD_TYPE OPENSSL" fi AC_SUBST(SYSTEM_OPENSSL) AC_SUBST(OPENSSL_CFLAGS) AC_SUBST(OPENSSL_LIBS) dnl =================================================================== dnl Check for system redland dnl =================================================================== AC_MSG_CHECKING([which redland library to use]) if test "$with_system_redland" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_REDLAND=YES dnl versions before 1.0.8 write RDF/XML that is useless for ODF (@xml:base) PKG_CHECK_MODULES(REDLAND, redland >= 1.0.8) MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libraptor-1.dll librasqal-2.dll libsqlite3-0.dll librdf-0.dll" else AC_MSG_RESULT([internal]) BUILD_TYPE="$BUILD_TYPE REDLAND" SYSTEM_REDLAND=NO fi AC_SUBST(SYSTEM_REDLAND) AC_SUBST(REDLAND_CFLAGS) AC_SUBST(REDLAND_LIBS) dnl =================================================================== dnl Check for system hunspell dnl =================================================================== AC_MSG_CHECKING([which libhunspell to use]) if test "$with_system_hunspell" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_HUNSPELL=YES AC_LANG_PUSH([C++]) PKG_CHECK_MODULES(HUNSPELL, hunspell, HUNSPELL_PC="TRUE", HUNSPELL_PC="" ) if test "$HUNSPELL_PC" != "TRUE"; then AC_CHECK_HEADER(hunspell.hxx, [], [ AC_CHECK_HEADER(hunspell/hunspell.hxx, [ HUNSPELL_CFLAGS=-I/usr/include/hunspell ], [AC_MSG_ERROR(hunspell headers not found.)], []) ], []) AC_CHECK_LIB(hunspell, main, [], [ AC_MSG_ERROR(hunspell library not found.) ], []) HUNSPELL_LIBS=-lhunspell fi AC_LANG_POP([C++]) MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libhunspell-1.3-0.dll" else AC_MSG_RESULT([internal]) SYSTEM_HUNSPELL=NO BUILD_TYPE="$BUILD_TYPE HUNSPELL" fi AC_SUBST(SYSTEM_HUNSPELL) AC_SUBST(HUNSPELL_CFLAGS) AC_SUBST(HUNSPELL_LIBS) dnl =================================================================== dnl Checking for altlinuxhyph dnl =================================================================== AC_MSG_CHECKING([which altlinuxhyph to use]) if test "$with_system_altlinuxhyph" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_HYPH=YES AC_CHECK_HEADER(hyphen.h, [], [ AC_MSG_ERROR(altlinuxhyph headers not found.)], []) AC_CHECK_MEMBER(struct _HyphenDict.cset, [], [ AC_MSG_ERROR(no. You are sure you have altlinuyhyph headers?)], [#include <hyphen.h>]) AC_CHECK_LIB(hyphen, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyphen], [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], []) if test -z "$HYPHEN_LIB"; then AC_CHECK_LIB(hyph, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyph], [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], []) fi if test -z "$HYPHEN_LIB"; then AC_CHECK_LIB(hnj, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhnj], [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], []) fi MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libhyphen-0.dll" else AC_MSG_RESULT([internal]) SYSTEM_HYPH=NO BUILD_TYPE="$BUILD_TYPE HYPHEN" fi AC_SUBST(SYSTEM_HYPH) AC_SUBST(HYPHEN_LIB) dnl =================================================================== dnl Checking for mythes dnl =================================================================== AC_MSG_CHECKING([which mythes to use]) if test "$with_system_mythes" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_MYTHES=YES AC_LANG_PUSH([C++]) PKG_CHECK_MODULES(MYTHES, mythes, MYTHES_PKGCONFIG=yes, MYTHES_PKGCONFIG=no) if test "$MYTHES_PKGCONFIG" = "no"; then AC_CHECK_HEADER(mythes.hxx, [], [ AC_MSG_ERROR(mythes.hxx headers not found.)], []) AC_CHECK_LIB(mythes-1.2, main, [], [ MYTHES_FOUND=no], []) if test "$MYTHES_FOUND" = "no"; then AC_CHECK_LIB(mythes, main, [MYTHES_FOUND=yes], [ MYTHES_FOUND=no], []) fi if test "$MYTHES_FOUND" = "no"; then AC_MSG_ERROR([mythes library not found!.]) fi fi AC_LANG_POP([C++]) MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libmythes-1.2-0.dll" else AC_MSG_RESULT([internal]) SYSTEM_MYTHES=NO BUILD_TYPE="$BUILD_TYPE MYTHES" fi AC_SUBST(SYSTEM_MYTHES) AC_SUBST(MYTHES_CFLAGS) AC_SUBST(MYTHES_LIBS) dnl =================================================================== dnl Checking for lpsolve dnl =================================================================== AC_MSG_CHECKING([which lpsolve to use]) if test "$with_system_lpsolve" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LPSOLVE=YES AC_CHECK_HEADER(lpsolve/lp_lib.h, [], [ AC_MSG_ERROR(lpsolve headers not found.)], []) # some systems need this. Like Ubuntu.... AC_CHECK_LIB(m, floor) AC_CHECK_LIB(dl, dlopen) AC_CHECK_LIB(lpsolve55, make_lp, , [ AC_MSG_ERROR(lpsolve library not found or too old.)], []) MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS lpsolve55.dll" else AC_MSG_RESULT([internal]) SYSTEM_LPSOLVE=NO BUILD_TYPE="$BUILD_TYPE LPSOLVE" fi AC_SUBST(SYSTEM_LPSOLVE) dnl =================================================================== dnl Checking for libexttextcat dnl =================================================================== AC_MSG_CHECKING([which libexttextcat to use]) if test "$with_system_libexttextcat" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_LIBEXTTEXTCAT=YES PKG_CHECK_MODULES([LIBEXTTEXTCAT], [libexttextcat >= 3.1.1]) SYSTEM_LIBEXTTEXTCAT_DATA=file://`$PKG_CONFIG --variable=pkgdatadir libexttextcat` else AC_MSG_RESULT([internal]) SYSTEM_LIBEXTTEXTCAT=NO BUILD_TYPE="$BUILD_TYPE LIBEXTTEXTCAT" fi AC_SUBST(SYSTEM_LIBEXTTEXTCAT) AC_SUBST(SYSTEM_LIBEXTTEXTCAT_DATA) AC_SUBST(LIBEXTTEXTCAT_CFLAGS) AC_SUBST(LIBEXTTEXTCAT_LIBS) dnl *************************************** dnl testing libc version for Linux... dnl *************************************** if test "$_os" = "Linux"; then AC_MSG_CHECKING([whether libc is >= 2.1.1]) exec 6>/dev/null # no output AC_CHECK_LIB(c, gnu_get_libc_version, HAVE_LIBC=yes; export HAVE_LIBC) exec 6>&1 # output on again if test "$HAVE_LIBC"; then AC_MSG_RESULT([yes]) else AC_MSG_ERROR([no, upgrade libc]) fi fi if test "$_os" != "WINNT"; then AC_CHECK_FUNCS(getopt, HAVE_GETOPT=YES, [HAVE_GETOPT=NO]) AC_CHECK_FUNCS(readdir_r, HAVE_READDIR_R=YES, [HAVE_READDIR_R=NO]) if test "$HAVE_GETOPT" = "YES" -a "$HAVE_READDIR_R" = "YES"; then SYSTEM_LIBC=YES fi else HAVE_GETOPT=NO HAVE_READDIR_R=NO SYSTEM_LIBC=YES fi AC_SUBST(HAVE_GETOPT) AC_SUBST(HAVE_READDIR_R) AC_SUBST(SYSTEM_LIBC) dnl ========================================= dnl Check for the Windows SDK. dnl ========================================= dnl FIXME: I don't know yet if the Windows SDK works with MinGW, keep it until I know better, dnl and add "-a \( "$WITH_MINGW" != "yes" \)" then if test "$_os" = "WINNT"; then AC_MSG_CHECKING([for Windows SDK]) if test "$build_os" = "cygwin"; then if test -z "$with_windows_sdk_home"; then # This first line will detect a February 2003 Microsoft Platform SDK WINDOWS_SDK_HOME=`./oowintool --windows-sdk-home` # But there might be also an April 2005 PSDK, unfortunately MS changed # the registry entry. (we prefer the old version!?) if test -z "$WINDOWS_SDK_HOME"; then WINDOWS_SDK_HOME=`cat /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/*/Install\ Dir 2> /dev/null | tr '\000' '\n' | head -n 1` fi # normalize if found if test -n "$WINDOWS_SDK_HOME"; then WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"` WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"` fi else WINDOWS_SDK_HOME=`cygpath -u "$with_windows_sdk_home"` fi fi if test -n "$WINDOWS_SDK_HOME"; then # Remove a possible trailing backslash WINDOWS_SDK_HOME=`echo $WINDOWS_SDK_HOME | $SED 's/\/$//'` # Problem with current PSDK (iz 49865) # (What "current" does that mean?) if test -f "$WINDOWS_SDK_HOME/Lib/libcp.lib"; then AC_MSG_ERROR([ Some modules do not build correctly with MS Platform SDK - April 2005 Edition if the library ($WINDOWS_SDK_HOME/Lib/libcp.lib) is found. Remove/rename/backup that file and restart configure. Details about this problem can be found in issue 49856.]) fi if test -f "$WINDOWS_SDK_HOME/Include/adoint.h" \ -a -f "$WINDOWS_SDK_HOME/Include/SqlUcode.h" \ -a -f "$WINDOWS_SDK_HOME/Include/usp10.h"; then HAVE_PSDK_H="yes" else HAVE_PSDK_H="no" fi if test -f "$WINDOWS_SDK_HOME/lib/user32.lib"; then HAVE_PSDK_LIB="yes" else HAVE_PSDK_LIB="no" fi if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then AC_MSG_ERROR([Some (all?) Windows SDK files not found, please check if all needed parts of the Windows SDK are installed.]) fi if test ! -x "$WINDOWS_SDK_HOME/bin/msiinfo.exe" \ -o ! -x "$WINDOWS_SDK_HOME/bin/msidb.exe" \ -o ! -x "$WINDOWS_SDK_HOME/bin/uuidgen.exe" \ -o ! -x "$WINDOWS_SDK_HOME/bin/msitran.exe" ; then AC_MSG_ERROR([Some (all) files of the Windows Installer SDK are missing, please install.]) fi fi if test -z "$WINDOWS_SDK_HOME"; then AC_MSG_RESULT([no, hoping the necessary headers and libraries will be found anyway]) elif echo $WINDOWS_SDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then AC_MSG_RESULT([found Windows SDK 6.1 ($WINDOWS_SDK_HOME)]) elif echo $WINDOWS_SDK_HOME | grep "v6.0" >/dev/null 2>/dev/null; then AC_MSG_RESULT([found Windows SDK 6.0 ($WINDOWS_SDK_HOME)]) elif echo $WINDOWS_SDK_HOME | grep "v7" >/dev/null 2>/dev/null; then AC_MSG_RESULT([found Windows SDK 7 ($WINDOWS_SDK_HOME)]) else AC_MSG_ERROR([Found legacy Windows Platform SDK ($WINDOWS_SDK_HOME)]) fi fi AC_SUBST(WINDOWS_SDK_HOME) dnl ========================================= dnl Check for the Microsoft DirectX SDK. dnl ========================================= if test -n "$ENABLE_DIRECTX" -a "$_os" = "WINNT"; then AC_MSG_CHECKING([for DirectX SDK]) if test "$build_os" = "cygwin"; then if test -z "$with_directx_home"; then dnl A standard installation of the DirectX SDK sets $DXSDK_DIR if test -n "$DXSDK_DIR"; then DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"` DIRECTXSDK_HOME=`cygpath -u "$DIRECTXSDK_HOME"` fi # At this point $DIRECTXSDK_HOME might still be undefined. This will lead to # the "DirectX SDK not found" error later else DIRECTXSDK_HOME=`cygpath -u "$with_directx_home"` fi # Remove a possible trailing backslash DIRECTXSDK_HOME=`echo $DIRECTXSDK_HOME | $SED 's/\/$//'` elif test -n "$with_directx_home"; then DIRECTXSDK_HOME="$with_directx_home" fi if test -f "$DIRECTXSDK_HOME/Include/ddraw.h" -o -f "$DIRECTXSDK_HOME/Include/d3d9.h" ; then HAVE_DIRECTXSDK_H="yes" else HAVE_DIRECTXSDK_H="no" fi # MS changed the location of the libraries with Dec 2004 DirectX SDK if test -d "$DIRECTXSDK_HOME/lib/x86" ; then DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib/x86" else DIRECTXSDK_LIB="$DIRECTXSDK_HOME/lib" fi if test -f "$DIRECTXSDK_LIB/ddraw.lib" -o -f "$DIRECTXSDK_LIB/d3d9.lib" ; then HAVE_DIRECTXSDK_LIB="yes" else HAVE_DIRECTXSDK_LIB="no" fi if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then AC_MSG_RESULT([found]) else AC_MSG_RESULT([no, hoping the necessary headers and libraries will be found anyway]) fi fi AC_SUBST(DIRECTXSDK_HOME) AC_SUBST(DIRECTXSDK_LIB) dnl *************************************** dnl Checking for bison and flex dnl *************************************** AC_PATH_PROG(BISON, bison) ANCIENT_BISON="NO" if test -z "$BISON"; then AC_MSG_ERROR([no bison found in \$PATH, install it]) else AC_MSG_CHECKING([the bison version]) _bison_version=`$BISON --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'` # Accept newer than 1.875 or older(equal) than 1.75 if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then if test "$_bison_version" = "1.875" ; then AC_MSG_WARN([suspect ($BISON $_bison_version)]) echo "Suspect ($BISON $_bison_version) suggest upgrade" >> warn else AC_MSG_RESULT([checked ($BISON $_bison_version)]) fi else AC_MSG_ERROR([failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))]) fi if test "$_bison_longver" -lt 2000; then ANCIENT_BISON="YES" fi fi AC_SUBST(ANCIENT_BISON) AC_PATH_PROG(FLEX, flex) if test -z "$FLEX"; then AC_MSG_ERROR([no flex found in \$PATH, install it]) fi dnl *************************************** dnl Checking for patch dnl *************************************** AC_PATH_PROG(PATCH, patch) if test -z "$PATCH"; then AC_MSG_ERROR([\"patch\" not found in \$PATH, install it]) fi dnl On Solaris, FreeBSD or MacOS X, check if --with-gnu-patch was used if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then if test -z "$with_gnu_patch"; then GNUPATCH=$PATCH else if test -x "$with_gnu_patch"; then GNUPATCH=$with_gnu_patch else AC_MSG_ERROR([--with-gnu-patch did not point to an executable]) fi fi AC_MSG_CHECKING([whether $GNUPATCH is GNU patch]) if $GNUPATCH --version | grep "Free Software Foundation" >/dev/null 2>/dev/null; then AC_MSG_RESULT([yes]) else AC_MSG_ERROR([no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it]) fi fi dnl We also need to check for --with-gnu-cp if test -z "$with_gnu_cp"; then # check the place where the good stuff is hidden on Solaris... if test -x /usr/gnu/bin/cp; then GNUCP=/usr/gnu/bin/cp else AC_PATH_PROGS(GNUCP, gnucp cp) fi if test -z $GNUCP; then AC_MSG_ERROR([Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it]) fi else if test -x "$with_gnu_cp"; then GNUCP=$with_gnu_cp else AC_MSG_ERROR([--with-gnu-cp did not point to an executable]) fi fi AC_MSG_CHECKING([whether $GNUCP is GNU cp from coreutils with preserve= support]) if $GNUCP --version 2>/dev/null | grep "coreutils" >/dev/null 2>/dev/null; then AC_MSG_RESULT([yes]) elif $GNUCP --version 2>/dev/null | grep "GNU fileutils" >/dev/null 2>/dev/null; then AC_MSG_RESULT([yes]) else case "$build_os" in darwin*|netbsd*|openbsd*|freebsd*|dragonfly*|aix*) x_GNUCP=[\#] GNUCP='' AC_MSG_RESULT([no gnucp found - using the system's cp command]) ;; *) AC_MSG_ERROR([no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it]) ;; esac fi AC_SUBST(GNUPATCH) AC_SUBST(GNUCP) AC_SUBST(x_GNUCP) dnl *************************************** dnl testing assembler path dnl *************************************** ML_EXE="" if test "$_os" = "WINNT" -a "$WITH_MINGW" != "yes"; then if test "$CL_X64" = ""; then assembler=ml.exe assembler_bin=bin else assembler=ml64.exe assembler_bin=bin/amd64 fi if test -n "$with_asm_home"; then with_asm_home=`cygpath -u "$with_asm_home"` fi if test -x "$with_asm_home/$assembler"; then AC_MSG_CHECKING([$assembler assembler path]) AC_MSG_RESULT([$with_asm_home/$assembler]) ML_EXE="$with_asm_home/$assembler" else AC_PATH_PROG(ML_EXE, $assembler) if test -z "$ML_EXE"; then AC_MSG_CHECKING([$with_cl_home/$assembler_bin/$assembler]) if test -x "$with_cl_home/$assembler_bin/$assembler"; then with_asm_home=$with_cl_home/$assembler_bin AC_MSG_RESULT([found]) ML_EXE="$with_cl_home/$assembler_bin/$assembler" else AC_MSG_ERROR([Configure did not find $assembler assembler.]) fi else with_asm_home="ASM_IN_PATH" ML_EXE="$assembler" fi fi else with_asm_home="NO_ASM_HOME" fi ASM_HOME="$with_asm_home" AC_SUBST(ASM_HOME) AC_SUBST(ML_EXE) dnl =================================================================== dnl We need zip and unzip dnl =================================================================== AC_PATH_PROG(ZIP, zip) test -z "$ZIP" && AC_MSG_ERROR([zip is required]) if ! "$ZIP" --filesync < /dev/null 2>/dev/null > /dev/null; then AC_MSG_ERROR([Zip version 3.0 or newer is required to build, please install or use --with-zip-home],,) fi AC_PATH_PROG(UNZIP, unzip) test -z "$UNZIP" && AC_MSG_ERROR([unzip is required]) dnl =================================================================== dnl Zip must be a specific type for different build types. dnl =================================================================== if test $build_os = cygwin; then if test -n "`$ZIP -h | grep -i WinNT`" ; then AC_MSG_ERROR([$ZIP is not the required Cygwin version of Info-ZIP's zip.exe.]) fi fi dnl =================================================================== dnl Test which vclplugs have to be built. dnl =================================================================== R="" GTK3_CFLAGS="" GTK3_LIBS="" ENABLE_GTK3="" if test "x$enable_gtk3" = "xyes"; then if test "$with_system_cairo" != yes; then echo "System cairo required for gtk3 support, please use --with-system-cairo" fi PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.2 gtk+-unix-print-3.0 cairo, ENABLE_GTK3="TRUE", ENABLE_GTK3="") if test "x$ENABLE_GTK3" = "xTRUE"; then R="gtk3" else AC_MSG_ERROR([gtk3 libraries of the correct versions, not found]) fi fi AC_SUBST(GTK3_LIBS) AC_SUBST(GTK3_CFLAGS) AC_SUBST(ENABLE_GTK3) AC_MSG_CHECKING([which VCLplugs shall be built]) ENABLE_GTK="" if test "x$enable_gtk" = "xyes"; then ENABLE_GTK="TRUE" R="gtk $R" fi AC_SUBST(ENABLE_GTK) ENABLE_KDE="" if test "x$enable_kde" = "xyes"; then ENABLE_KDE="TRUE" R="$R kde" fi AC_SUBST(ENABLE_KDE) ENABLE_KDE4="" if test "x$enable_kde4" = "xyes"; then ENABLE_KDE4="TRUE" R="$R kde4" fi AC_SUBST(ENABLE_KDE4) if test -z "$R"; then AC_MSG_RESULT([none]) else AC_MSG_RESULT([$R]) fi dnl =================================================================== dnl GCONF check dnl =================================================================== ENABLE_GCONF="" AC_MSG_CHECKING([whether to enable GConf support]) if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gconf" = "yes"; then ENABLE_GCONF="TRUE" AC_MSG_RESULT([yes]) PKG_CHECK_MODULES( GCONF, gconf-2.0 ORBit-2.0 ) else AC_MSG_RESULT([no]) fi AC_SUBST(GCONF_LIBS) AC_SUBST(GCONF_CFLAGS) AC_SUBST(ENABLE_GCONF) dnl =================================================================== dnl Gnome VFS check dnl =================================================================== ENABLE_GNOMEVFS="" AC_MSG_CHECKING([whether to enable GNOME VFS support]) if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes" -a "$enable_gconf" = "yes"; then ENABLE_GNOMEVFS="TRUE" AC_MSG_RESULT([yes]) PKG_CHECK_MODULES( GNOMEVFS, gnome-vfs-2.0 >= 2.6.0 ) else AC_MSG_RESULT([no]) fi AC_SUBST(GNOMEVFS_LIBS) AC_SUBST(GNOMEVFS_CFLAGS) AC_SUBST(ENABLE_GNOMEVFS) dnl =================================================================== dnl Check whether the gtk 2.0 libraries are available. dnl =================================================================== GTK_CFLAGS="" GTK_LIBS="" ENABLE_SYSTRAY_GTK="" ENABLE_DBUS="" DBUS_CFLAGS="" DBUS_LIBS="" if test "$test_gtk" = "yes"; then if test "$ENABLE_GTK" = "TRUE" ; then 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])) 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])) BUILD_TYPE="$BUILD_TYPE GTK" if test "x$enable_systray" = "xyes"; then PKG_CHECK_MODULES( GTK210, gtk+-2.0 >= 2.10.0, [ ENABLE_SYSTRAY_GTK="TRUE" ], [ ENABLE_SYSTRAY_GTK="" ]) fi AC_MSG_CHECKING([whether to enable Gtk print dialog support]) PKG_CHECK_MODULES([GTK_PRINT], [gtk+-unix-print-2.0 >= 2.10.0], [ENABLE_GTK_PRINT="TRUE"], [ENABLE_GTK_PRINT=""]) AC_MSG_CHECKING([whether to enable DBUS support]) if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_dbus" = "yes"; then ENABLE_DBUS="TRUE" AC_MSG_RESULT([yes]) PKG_CHECK_MODULES( DBUS, dbus-glib-1 >= 0.70 ) else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([whether to enable GIO support]) if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then if test "$ENABLE_GNOMEVFS" = "TRUE" ; then AC_MSG_ERROR([please use --enable-gio only together with --disable-gnome-vfs.]) fi ENABLE_GIO="TRUE" AC_MSG_RESULT([yes]) PKG_CHECK_MODULES( GIO, gio-2.0 ) else AC_MSG_RESULT([no]) fi fi fi AC_SUBST(ENABLE_GIO) AC_SUBST(GIO_CFLAGS) AC_SUBST(GIO_LIBS) AC_SUBST(ENABLE_DBUS) AC_SUBST(ENABLE_SYSTRAY_GTK) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) AC_SUBST(GTHREAD_CFLAGS) AC_SUBST(GTHREAD_LIBS) AC_SUBST(DBUS_CFLAGS) AC_SUBST(DBUS_LIBS) AC_SUBST([ENABLE_GTK_PRINT]) AC_SUBST([GTK_PRINT_CFLAGS]) AC_SUBST([GTK_PRINT_LIBS]) PKG_CHECK_MODULES( LIBPNG, libpng, ENABLE_QUICKSTART_LIBPNG="TRUE", ENABLE_QUICKSTART_LIBPNG="" ) AC_SUBST(LIBPNG_LIBS) AC_SUBST(LIBPNG_CFLAGS) AC_MSG_CHECKING([whether to enable libpng linking in quickstarter]) if test "x$enable_unix_qstart_libpng" != "xno"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) ENABLE_QUICKSTART_LIBPNG="" fi AC_SUBST(ENABLE_QUICKSTART_LIBPNG) SPLIT_APP_MODULES="" if test "$enable_split_app_modules" = "yes"; then SPLIT_APP_MODULES="YES" fi AC_SUBST(SPLIT_APP_MODULES) SPLIT_OPT_FEATURES="" if test "$enable_split_opt_features" = "yes"; then SPLIT_OPT_FEATURES="YES" fi AC_SUBST(SPLIT_OPT_FEATURES) ENABLE_CAIRO_CANVAS="FALSE" if test "$enable_cairo_canvas" = "yes" ; then ENABLE_CAIRO_CANVAS="TRUE" fi AC_SUBST(ENABLE_CAIRO_CANVAS) dnl =================================================================== dnl Check whether the GStreamer libraries are available. dnl =================================================================== ENABLE_GSTREAMER="" if test "$build_gstreamer" = "yes"; then AC_MSG_CHECKING([whether to enable the GStreamer avmedia backend]) if test "x$enable_gstreamer" != "xno" ; then ENABLE_GSTREAMER="TRUE" AC_MSG_RESULT([yes]) PKG_CHECK_MODULES( GSTREAMER, gstreamer-0.10 gstreamer-plugins-base-0.10 ) else AC_MSG_RESULT([no]) fi fi AC_SUBST(ENABLE_GSTREAMER) dnl =================================================================== dnl Check whether the OpenGL libraries are available dnl =================================================================== AC_MSG_CHECKING([whether to build the OpenGL Transitions component]) ENABLE_OPENGL= if test "$_os" = "Darwin" ; then # We use frameworks on Mac OS X, no need for detail checks ENABLE_OPENGL=TRUE SYSTEM_MESA_HEADERS=YES AC_MSG_RESULT([yes]) else if test "x$enable_opengl" != "xno" ; then if test "$_os" != "WINNT"; then save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -lm" AC_MSG_RESULT([yes]) AC_CHECK_LIB(GL, main, [], [AC_MSG_ERROR(libGL not installed or functional)], []) AC_CHECK_LIB(GLU, main, [], [AC_MSG_ERROR(libGLU not installed or functional)], []) ENABLE_OPENGL=TRUE LDFLAGS=$save_LDFLAGS dnl =================================================================== dnl Check for system Mesa dnl =================================================================== AC_MSG_CHECKING([which Mesa headers to use]) if test "$with_system_mesa_headers" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_MESA_HEADERS=YES AC_LANG_PUSH(C) AC_CHECK_HEADER(GL/glxext.h, [], [ AC_MSG_ERROR(mesa headers not found.)], [#include <GL/glx.h>]) AC_MSG_CHECKING([whether GL/glxext.h defines PFNGLXBINDTEXIMAGEEXTPROC]) AC_EGREP_HEADER(PFNGLXBINDTEXIMAGEEXTPROC, GL/glxext.h, [AC_MSG_RESULT([yes])], AC_MSG_ERROR(no)) AC_LANG_POP(C) else AC_MSG_RESULT([internal]) SYSTEM_MESA_HEADERS=NO BUILD_TYPE="$BUILD_TYPE MESA" fi else AC_MSG_RESULT([not on Windows]) fi else AC_MSG_RESULT([no]) fi fi AC_SUBST(SYSTEM_MESA_HEADERS) AC_SUBST(ENABLE_OPENGL) # presenter minimizer extension? AC_MSG_CHECKING([whether to build the Presentation Minimizer extension]) if test "x$enable_ext_presenter_minimizer" != "xno" -a "x$enable_extension_integration" != "xno"; then AC_MSG_RESULT([yes]) ENABLE_MINIMIZER=YES else AC_MSG_RESULT([no]) ENABLE_MINIMIZER=NO SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_MINIMIZER" fi AC_SUBST(ENABLE_MINIMIZER) # presenter console extension? AC_MSG_CHECKING([whether to build the Presenter Console extension]) if test "x$enable_ext_presenter_console" != "xno" -a "x$enable_extension_integration" != "xno"; then AC_MSG_RESULT([yes]) ENABLE_PRESENTER_SCREEN=YES else AC_MSG_RESULT([no]) ENABLE_PRESENTER_SCREEN=NO SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_PRESENTER_SCREEN" fi AC_SUBST(ENABLE_PRESENTER_SCREEN) # pdf import extension? AC_MSG_CHECKING([whether to build the PDF Import extension]) if test "x$enable_ext_pdfimport" != "xno" -a "x$enable_extension_integration" != "xno"; then AC_MSG_RESULT([yes]) ENABLE_PDFIMPORT=YES dnl =================================================================== dnl Check for system poppler dnl =================================================================== AC_MSG_CHECKING([which pdf backend to use]) if test "$with_system_poppler" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_POPPLER=YES PKG_CHECK_MODULES( POPPLER, poppler >= 0.8.0 ) AC_LANG_PUSH([C++]) save_CXXFLAGS=$CXXFLAGS save_CPPFLAGS=$CPPFLAGS CXXFLAGS="$CXXFLAGS $POPPLER_CFLAGS" CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS" AC_CHECK_HEADER([cpp/poppler-version.h], [], [AC_MSG_ERROR([cpp/poppler-version.h not found. Install poppler])], []) CXXFLAGS=$save_CXXFLAGS CPPFLAGS=$save_CPPFLAGS AC_LANG_POP([C++]) else AC_MSG_RESULT([internal]) SYSTEM_POPPLER=NO BUILD_TYPE="$BUILD_TYPE XPDF" fi else AC_MSG_RESULT([no]) ENABLE_PDFIMPORT=NO SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_PDFIMPORT" fi AC_SUBST(ENABLE_PDFIMPORT) AC_SUBST(SYSTEM_POPPLER) AC_SUBST(POPPLER_CFLAGS) AC_SUBST(POPPLER_LIBS) if test "$ENABLE_PRESENTER_SCREEN" = "YES" -o "$ENABLE_MINIMIZER" = "YES" -o "$ENABLE_PDFIMPORT" = "YES"; then AC_MSG_CHECKING([for sdext module]) BUILD_TYPE="$BUILD_TYPE SDEXT" fi AC_MSG_CHECKING([whether to build the Wiki Publisher extension]) if test "x$enable_ext_wiki_publisher" = "xyes" -a "x$enable_extension_integration" != "xno" -a "$with_java" != "no"; then AC_MSG_RESULT([yes]) AC_MSG_CHECKING([for swext module]) ENABLE_MEDIAWIKI=YES BUILD_TYPE="$BUILD_TYPE SWEXT" if test "x$with_java" = "xno"; then AC_MSG_ERROR([Wiki Publisher requires Java! Enable Java if you want to build it.]) fi else AC_MSG_RESULT([no]) ENABLE_MEDIAWIKI=NO SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_MEDIAWIKI" fi AC_SUBST(ENABLE_MEDIAWIKI) if test "$ENABLE_MEDIAWIKI" = "YES"; then AC_MSG_CHECKING([which Servlet API Jar to use]) if test "$with_system_servlet_api" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_SERVLETAPI=YES if test -z "$SERVLETAPI_JAR"; then SERVLETAPI_JAR=/usr/share/java/servlet-api.jar fi AC_CHECK_FILE($SERVLETAPI_JAR, [], [AC_MSG_ERROR(servlet-api.jar not found.)], []) else AC_MSG_RESULT([internal]) SYSTEM_SERVLETAPI=NO BUILD_TYPE="$BUILD_TYPE TOMCAT" fi fi AC_SUBST(SYSTEM_SERVLETAPI) AC_SUBST(SERVLETAPI_JAR) AC_MSG_CHECKING([whether to build the Report Builder extension]) if test "$enable_ext_report_builder" != "no" -a "x$enable_extension_integration" != "xno" -a "$with_java" != "no"; then AC_MSG_RESULT([yes]) ENABLE_REPORTBUILDER=YES AC_MSG_CHECKING([for reportbuilder module]) AC_MSG_CHECKING([which jfreereport libs to use]) if test "$with_system_jfreereport" = "yes"; then SYSTEM_JFREEREPORT=YES AC_MSG_RESULT([external]) if test -z $SAC_JAR; then SAC_JAR=/usr/share/java/sac.jar fi AC_CHECK_FILE($SAC_JAR, [], [AC_MSG_ERROR(sac.jar not found.)], []) if test -z $LIBXML_JAR; then AC_CHECK_FILE(/usr/share/java/libxml-1.0.0.jar, [ LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar ], [ AC_CHECK_FILE(/usr/share/java/libxml.jar, [ LIBXML_JAR=/usr/share/java/libxml.jar ], [AC_MSG_ERROR(libxml.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LIBXML_JAR, [], [AC_MSG_ERROR(libxml.jar not found.)], []) fi if test -z $FLUTE_JAR; then AC_CHECK_FILE(/usr/share/java/flute-1.3.0.jar, [ FLUTE_JAR=/usr/share/java/flute-1.3.0.jar ], [ AC_CHECK_FILE(/usr/share/java/flute.jar, [ FLUTE_JAR=/usr/share/java/flute.jar ], [ AC_MSG_ERROR(flute-1.3.0.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($FLUTE_JAR, [], [AC_MSG_ERROR(flute-1.3.0.jar not found.)], []) fi if test -z $JFREEREPORT_JAR; then AC_CHECK_FILE(/usr/share/java/flow-engine-0.9.2.jar, [ JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar ], [ AC_CHECK_FILE(/usr/share/java/flow-engine.jar, [ JFREEREPORT_JAR=/usr/share/java/flow-engine.jar ], [AC_MSG_ERROR(jfreereport.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($JFREEREPORT_JAR, [], [AC_MSG_ERROR(jfreereport.jar not found.)], []) fi if test -z $LIBLAYOUT_JAR; then AC_CHECK_FILE(/usr/share/java/liblayout-0.2.9.jar, [ LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar ], [ AC_CHECK_FILE(/usr/share/java/liblayout.jar, [ LIBLAYOUT_JAR=/usr/share/java/liblayout.jar ], [AC_MSG_ERROR(liblayout.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LIBLAYOUT_JAR, [], [AC_MSG_ERROR(liblayout.jar not found.)], []) fi if test -z $LIBLOADER_JAR; then AC_CHECK_FILE(/usr/share/java/libloader-1.0.0.jar, [ LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar ], [ AC_CHECK_FILE(/usr/share/java/libloader.jar, [ LIBLOADER_JAR=/usr/share/java/libloader.jar ], [AC_MSG_ERROR(libloader.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LIBLOADER_JAR, [], [AC_MSG_ERROR(libloader.jar not found.)], []) fi if test -z $LIBFORMULA_JAR; then AC_CHECK_FILE(/usr/share/java/libformula-0.2.0.jar, [ LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar ], [ AC_CHECK_FILE(/usr/share/java/libformula.jar, [ LIBFORMULA_JAR=/usr/share/java/libformula.jar ], [AC_MSG_ERROR(libformula.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LIBFORMULA_JAR, [], [AC_MSG_ERROR(libformula.jar not found.)], []) fi if test -z $LIBREPOSITORY_JAR; then AC_CHECK_FILE(/usr/share/java/librepository-1.0.0.jar, [ LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar ], [ AC_CHECK_FILE(/usr/share/java/librepository.jar, [ LIBREPOSITORY_JAR=/usr/share/java/librepository.jar ], [AC_MSG_ERROR(librepository.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LIBREPOSITORY_JAR, [], [AC_MSG_ERROR(librepository.jar not found.)], []) fi if test -z $LIBFONTS_JAR; then AC_CHECK_FILE(/usr/share/java/libfonts-1.0.0.jar, [ LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar ], [ AC_CHECK_FILE(/usr/share/java/libfonts.jar, [ LIBFONTS_JAR=/usr/share/java/libfonts.jar ], [AC_MSG_ERROR(libfonts.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LIBFONTS_JAR, [], [AC_MSG_ERROR(libfonts.jar not found.)], []) fi if test -z $LIBSERIALIZER_JAR; then AC_CHECK_FILE(/usr/share/java/libserializer-1.0.0.jar, [ LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar ], [ AC_CHECK_FILE(/usr/share/java/libserializer.jar, [ LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar ], [AC_MSG_ERROR(libserializer.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LIBSERIALIZER_JAR, [], [AC_MSG_ERROR(libserializer.jar not found.)], []) fi if test -z $LIBBASE_JAR; then AC_CHECK_FILE(/usr/share/java/libbase-1.0.0.jar, [ LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar ], [ AC_CHECK_FILE(/usr/share/java/libbase.jar, [ LIBBASE_JAR=/usr/share/java/libbase.jar ], [AC_MSG_ERROR(libbase.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($LIBBASE_JAR, [], [AC_MSG_ERROR(libbase.jar not found.)], []) fi else AC_MSG_RESULT([internal]) AC_MSG_CHECKING([for jfreereport module]) SYSTEM_JFREEREPORT=NO BUILD_TYPE="$BUILD_TYPE JFREEREPORT" fi BUILD_TYPE="$BUILD_TYPE REPORTBUILDER" else AC_MSG_RESULT([no]) ENABLE_REPORTBUILDER=NO SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_REPORTDESIGN" SYSTEM_JFREEREPORT=NO fi AC_SUBST(ENABLE_REPORTBUILDER) AC_SUBST(SYSTEM_JFREEREPORT) AC_SUBST(SAC_JAR) AC_SUBST(LIBXML_JAR) AC_SUBST(FLUTE_JAR) AC_SUBST(JFREEREPORT_JAR) AC_SUBST(LIBBASE_JAR) AC_SUBST(LIBLAYOUT_JAR) AC_SUBST(LIBLOADER_JAR) AC_SUBST(LIBFORMULA_JAR) AC_SUBST(LIBREPOSITORY_JAR) AC_SUBST(LIBFONTS_JAR) AC_SUBST(LIBSERIALIZER_JAR) # this has to be here because both the Wiki Publisher and the SRB use # commons-logging if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then AC_MSG_CHECKING([which Apache commons-* libs to use]) if test "$with_system_apache_commons" = "yes"; then SYSTEM_APACHE_COMMONS=YES AC_MSG_RESULT([external]) if test "$ENABLE_MEDIAWIKI" = "YES"; then if test -z $COMMONS_CODEC_JAR; then AC_CHECK_FILE(/usr/share/java/commons-codec-1.3.jar, [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.3.jar ], [ AC_CHECK_FILE(/usr/share/java/commons-codec.jar, [ COMMONS_CODEC_JAR=/usr/share/java/commons-codec.jar ], [AC_MSG_ERROR(commons-codec.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($COMMONS_CODEC_JAR, [], [AC_MSG_ERROR(commons-codec.jar not found.)], []) fi if test -z $COMMONS_LANG_JAR; then AC_CHECK_FILE(/usr/share/java/commons-lang-2.3.jar, [ COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.3.jar ], [ AC_CHECK_FILE(/usr/share/java/commons-lang.jar, [ COMMONS_LANG_JAR=/usr/share/java/commons-lang.jar ], [AC_MSG_ERROR(commons-lang.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($COMMONS_LANG_JAR, [], [AC_MSG_ERROR(commons-lang.jar not found.)], []) fi if test -z $COMMONS_HTTPCLIENT_JAR; then AC_CHECK_FILE(/usr/share/java/commons-httpclient-3.1.jar, [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar ], [ AC_CHECK_FILE(/usr/share/java/commons-httpclient.jar, [ COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient.jar ], [AC_MSG_ERROR(commons-httpclient.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($COMMONS_HTTPCLIENT_JAR, [], [AC_MSG_ERROR(commons-httpclient.jar not found.)], []) fi fi if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then if test -z $COMMONS_LOGGING_JAR; then AC_CHECK_FILE(/usr/share/java/commons-logging-1.1.1.jar, [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar ], [ AC_CHECK_FILE(/usr/share/java/commons-logging.jar, [ COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar ], [AC_MSG_ERROR(commons-logging.jar replacement not found.)] ) ] ) else AC_CHECK_FILE($COMMONS_LOGGING_JAR, [], [AC_MSG_ERROR(commons-logging.jar not found.)], []) fi fi else AC_MSG_RESULT([internal]) SYSTEM_APACHE_COMMONS=NO BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT" fi fi AC_SUBST(SYSTEM_APACHE_COMMONS) AC_SUBST(COMMONS_CODEC_JAR) AC_SUBST(COMMONS_LANG_JAR) AC_SUBST(COMMONS_HTTPCLIENT_JAR) AC_SUBST(COMMONS_LOGGING_JAR) # scripting provider for BeanShell extension? AC_MSG_CHECKING([whether to build extension for support of scripts in BeanShell]) if test "x$enable_ext_scripting_beanshell" = "xyes" -a "x$enable_extension_integration" != "xno" -a "x$with_java" != "xno"; then AC_MSG_RESULT([yes]) ENABLE_SCRIPTING_BEANSHELL=YES else AC_MSG_RESULT([no]) ENABLE_SCRIPTING_BEANSHELL=NO SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_SCRIPTING_BEANSHELL" fi AC_SUBST(ENABLE_SCRIPTING_BEANSHELL) # scripting provider for JavaScript extension? AC_MSG_CHECKING([whether to build extension for support of scripts in JavaScript]) if test "x$enable_ext_scripting_javascript" = "xyes" -a "x$enable_extension_integration" != "xno" -a "x$with_java" != "xno"; then AC_MSG_RESULT([yes]) ENABLE_SCRIPTING_JAVASCRIPT=YES else AC_MSG_RESULT([no]) ENABLE_SCRIPTING_JAVASCRIPT=NO SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_SCRIPTING_JAVASCRIPT" fi AC_SUBST(ENABLE_SCRIPTING_JAVASCRIPT) dnl Scripting provider for Python extension? dnl We always provide this unless we have disabled Python completely if test $enable_python = no; then ENABLE_SCRIPTING_PYTHON=NO SCPDEFS="$SCPDEFS -DWITHOUT_EXTENSION_SCRIPTING_PYTHON" else ENABLE_SCRIPTING_PYTHON=YES fi AC_SUBST(ENABLE_SCRIPTING_PYTHON) supports_multilib= case "$host_cpu" in x86_64 | powerpc64 | s390x) if test "$SIZEOF_LONG" = "8"; then supports_multilib="yes" fi ;; *) ;; esac dnl =================================================================== dnl Check whether the Qt3 and KDE3 libraries are available. dnl =================================================================== KDE_CFLAGS="" KDE_LIBS="" if test "$_os" != "OpenBSD"; then MOC="moc" fi if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then dnl Search paths for Qt3 and KDE3 if test -z "$supports_multilib" ; then 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" 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" else 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" 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" fi if test -n "$QTDIR" ; then qt_incdirs="$QTDIR/include $qt_incdirs" if test -z "$supports_multilib" ; then qt_libdirs="$QTDIR/lib $qt_libdirs" else qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs" fi fi if test -z "$supports_multilib" ; then 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" 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" else 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" 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" fi if test -n "$KDEDIR" ; then kde_incdirs="$KDEDIR/include $kde_incdirs" if test -z "$supports_multilib" ; then kde_libdirs="$KDEDIR/lib $kde_libdirs" else kde_libdirs="$KDEDIR/lib64 $KDEDIR/lib $kde_libdirs" fi fi dnl What to test qt_test_include="qstyle.h" kde_test_include="kapp.h" if test "$_os" != "OpenBSD"; then qt_test_library="libqt-mt.so" kde_test_library="libDCOP.so" else qt_test_library="libqt-mt.so*" kde_test_library="libDCOP.so*" fi dnl Check for Qt3 headers AC_MSG_CHECKING([for Qt3 headers]) qt_incdir="no" for kde_check in $qt_incdirs ; do if test -r "$kde_check/$qt_test_include" ; then qt_incdir="$kde_check" break fi done AC_MSG_RESULT([$qt_incdir]) if test "x$qt_incdir" = "xno" ; then AC_MSG_ERROR([Qt3 headers not found. Please specify the root of your Qt3 installation by exporting QTDIR before running "configure".]) fi dnl Check for Qt3 libraries AC_MSG_CHECKING([for Qt3 libraries]) qt_libdir="no" for qt_check in $qt_libdirs ; do if test -r "`ls $qt_check/$qt_test_library 2>/dev/null | head -1`" ; then qt_libdir="$qt_check" break fi done AC_MSG_RESULT([$qt_libdir]) if test "x$qt_libdir" = "xno" ; then AC_MSG_ERROR([Qt3 libraries not found. Please specify the root of your Qt3 installation by exporting QTDIR before running "configure".]) fi dnl Check for Meta Object Compiler AC_PATH_PROG( MOC, moc, no, [`dirname $qt_libdir`/bin:$QTDIR/bin:$PATH] ) if test "$MOC" = "no" ; then AC_MSG_ERROR([Qt3 Meta Object Compiler not found. Please specify the root of your Qt3 installation by exporting QTDIR before running "configure".]) fi dnl Check for KDE3 headers AC_MSG_CHECKING([for KDE3 headers]) kde_incdir="no" for kde_check in $kde_incdirs ; do if test -r "$kde_check/$kde_test_include" ; then kde_incdir="$kde_check" break fi done AC_MSG_RESULT([$kde_incdir]) if test "x$kde_incdir" = "xno" ; then AC_MSG_ERROR([KDE3 headers not found. Please specify the root of your KDE3 installation by exporting KDEDIR before running "configure".]) fi dnl Check for KDE3 libraries AC_MSG_CHECKING([for KDE3 libraries]) kde_libdir="no" for kde_check in $kde_libdirs ; do if test -r "`ls $kde_check/$kde_test_library 2>/dev/null | head -1`" ; then kde_libdir="$kde_check" break fi done AC_MSG_RESULT([$kde_libdir]) if test "x$kde_libdir" = "xno" ; then AC_MSG_ERROR([KDE3 libraries not found. Please specify the root of your KDE3 installation by exporting KDEDIR before running "configure".]) fi dnl Set the variables KDE_CFLAGS="-I$qt_incdir -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT" KDE_LIBS="-L$kde_libdir -L$qt_libdir -lkdeui -lkdecore -lqt-mt" fi AC_SUBST(KDE_CFLAGS) AC_SUBST(KDE_LIBS) AC_SUBST(MOC) dnl =================================================================== dnl KDE4 Integration dnl =================================================================== KDE4_CFLAGS="" KDE4_LIBS="" MOC4="moc" KDE_GLIB_CFLAGS="" KDE_GLIB_LIBS="" KDE_HAVE_GLIB="" if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then qt_incdirs="$QT4INC /usr/include/qt4 /usr/include $x_includes" qt_libdirs="$QT4LIB /usr/lib/qt4 /usr/lib $x_libraries" kde_incdirs="/usr/include /usr/include/kde4 $x_includes" kde_libdirs="/usr/lib /usr/lib/kde4 /usr/lib/kde4/devel $x_libraries" if test -n "$supports_multilib" ; then qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64" kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4 /usr/lib64/kde4/devel" fi if test -n "$QTDIR" ; then qt_incdirs="$QTDIR/include $qt_incdirs" if test -z "$supports_multilib" ; then qt_libdirs="$QTDIR/lib $qt_libdirs" else qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs" fi fi if test -n "$QT4DIR" ; then qt_incdirs="$QT4DIR/include $qt_incdirs" if test -z "$supports_multilib" ; then qt_libdirs="$QT4DIR/lib $qt_libdirs" else qt_libdirs="$QT4DIR/lib64 $QT4DIR/lib $qt_libdirs" fi fi if test -n "$KDEDIR" ; then kde_incdirs="$KDEDIR/include $kde_incdirs" if test -z "$supports_multilib" ; then kde_libdirs="$KDEDIR/lib $kde_libdirs" else kde_libdirs="$KDEDIR/lib64 $KDEDIR/lib $kde_libdirs" fi fi if test -n "$KDE4DIR" ; then kde_incdirs="$KDE4DIR/include $KDE4DIR/include/kde4 $kde_incdirs" if test -z "$supports_multilib" ; then kde_libdirs="$KDE4DIR/lib $kde_libdirs" else kde_libdirs="$KDE4DIR/lib64 $KDE4DIR/lib $kde_libdirs" fi fi qt_test_include="Qt/qobject.h" qt_test_library="libQtCore.so" kde_test_include="kwindowsystem.h" kde_test_library="libsolid.so" AC_MSG_CHECKING([for Qt4 headers]) qt_header_dir="no" for inc_dir in $qt_incdirs ; do if test -r "$inc_dir/$qt_test_include" ; then qt_header_dir="$inc_dir" break fi done AC_MSG_RESULT([$qt_header_dir]) if test "x$qt_header_dir" = "xno" ; then AC_MSG_ERROR([Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".]) fi AC_MSG_CHECKING([for Qt4 libraries]) qt_lib_dir="no" for lib_dir in $qt_libdirs ; do if test -r "$lib_dir/$qt_test_library" ; then qt_lib_dir="$lib_dir" PKG_CONFIG_PATH="$qt_lib_dir"/pkgconfig:$PKG_CONFIG_PATH break fi done AC_MSG_RESULT([$qt_lib_dir]) if test "x$qt_lib_dir" = "xno" ; then AC_MSG_ERROR([Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running "configure".]) fi dnl Check for Meta Object Compiler AC_PATH_PROG( MOCQT4, moc-qt4, no, [`dirname $qt_lib_dir`/bin:$QT4DIR/bin:$PATH] ) MOC4="$MOCQT4" if test "$MOC4" = "no" ; then AC_PATH_PROG( MOC4, moc, no, [`dirname $qt_lib_dir`/bin:$QT4DIR/bin:$PATH] ) if test "$MOC4" = "no" ; then AC_MSG_ERROR([Qt Meta Object Compiler not found. Please specify the root of your Qt installation by exporting QT4DIR before running "configure".]) fi fi dnl Check for KDE4 headers AC_MSG_CHECKING([for KDE4 headers]) kde_incdir="no" for kde_check in $kde_incdirs ; do if test -r "$kde_check/$kde_test_include" ; then kde_incdir="$kde_check" break fi done AC_MSG_RESULT([$kde_incdir]) if test "x$kde_incdir" = "xno" ; then AC_MSG_ERROR([KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".]) fi dnl Check for KDE4 libraries AC_MSG_CHECKING([for KDE4 libraries]) kde_libdir="no" for kde_check in $kde_libdirs ; do if test -r "$kde_check/$kde_test_library" ; then kde_libdir="$kde_check" break fi done AC_MSG_RESULT([$kde_libdir]) if test "x$kde_libdir" = "xno" ; then AC_MSG_ERROR([KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running "configure".]) fi KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT" KDE4_LIBS="-L$kde_libdir -L$qt_lib_dir -lkdeui -lkdecore -lQtCore -lQtGui" AC_LANG_PUSH([C++]) save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS $KDE4_CFLAGS" AC_MSG_CHECKING([whether KDE is >= 4.2]) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <kdeversion.h> int main(int argc, char **argv) { if (KDE_VERSION_MAJOR == 4 && KDE_VERSION_MINOR >= 2) return 0; else return 1; } ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([KDE version too old])],[]) CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) # Glib is needed for properly handling Qt event loop with Qt's Glib integration enabled PKG_CHECK_MODULES(KDE_GLIB,[glib-2.0 >= 2.4], [KDE_HAVE_GLIB=1], AC_MSG_WARN([[No Glib found, KDE4 support will not integrate with Qt's Glib event loop support]])) fi AC_SUBST(KDE4_CFLAGS) AC_SUBST(KDE4_LIBS) AC_SUBST(MOC4) AC_SUBST(KDE_GLIB_CFLAGS) AC_SUBST(KDE_GLIB_LIBS) AC_SUBST(KDE_HAVE_GLIB) dnl =================================================================== dnl Test for the enabling the lockdown pieces dnl =================================================================== AC_MSG_CHECKING([whether to enable the lockdown pieces]) ENABLE_LOCKDOWN="" if test -n "$enable_lockdown" && test "$enable_lockdown" != "no"; then ENABLE_LOCKDOWN=YES AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_LOCKDOWN) dnl =================================================================== dnl Test whether to include Evolution 2 support dnl =================================================================== AC_MSG_CHECKING([whether to enable evolution 2 support]) if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then AC_MSG_RESULT([yes]) PKG_CHECK_MODULES(GOBJECT, gobject-2.0) ENABLE_EVOAB2="TRUE" else ENABLE_EVOAB2="" AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_EVOAB2) AC_SUBST(GOBJECT_CFLAGS) AC_SUBST(GOBJECT_LIBS) dnl =================================================================== dnl Test whether to include KDE AB support dnl =================================================================== AC_MSG_CHECKING([whether to enable KDE address book support]) if test "$enable_kdeab" = "yes" && test "$enable_kde" = "yes"; then AC_MSG_RESULT([yes]) AC_LANG_PUSH([C++]) save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS $KDE_CFLAGS" AC_MSG_CHECKING([whether KDE is between 3.2 and 3.6]) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <kdeversion.h> int main(int argc, char **argv) { if (KDE_VERSION_MAJOR == 3 && 2 <= KDE_VERSION_MINOR && KDE_VERSION_MINOR <= 6) return 0; else return 1; } ]])],[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])],[]) CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) ENABLE_KAB=TRUE else AC_MSG_RESULT([no]) ENABLE_KAB= fi AC_SUBST(ENABLE_KAB) dnl =================================================================== dnl Test whether to include MathMLDTD dnl =================================================================== AC_MSG_CHECKING([whether to include MathMLDTD]) if test -n "$enable_mathmldtd"; then if test "$enable_mathmldtd" = "no"; then AC_MSG_RESULT([no]) SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD" else AC_MSG_RESULT([yes]) BUILD_TYPE="$BUILD_TYPE MATHMLDTD" fi else AC_MSG_RESULT([no]) SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD" fi dnl =================================================================== dnl Test which themes to include dnl =================================================================== AC_MSG_CHECKING([which themes to include]) # if none given, use all available themes if test "x$with_theme" = "x" -o "x$with_theme" = "xyes"; then with_theme="default crystal hicontrast oxygen tango" fi WITH_THEMES="" for theme in $with_theme; do case $theme in default|crystal|hicontrast|oxygen|tango|human) : ;; *) AC_MSG_ERROR([Unknown value for --with-theme: $theme]) ;; esac WITH_THEMES="$WITH_THEMES $theme" SCPDEFS="$SCPDEFS -DTHEME_`echo $theme|tr '[[:lower:]]' '[[:upper:]]'`" done AC_MSG_RESULT([$WITH_THEMES]) AC_SUBST([WITH_THEMES]) dnl =================================================================== dnl Test whether to integrate helppacks into the product's installer dnl =================================================================== AC_MSG_CHECKING([for helppack integration]) if test "z$with_helppack_integration" = "zno" ; then WITH_HELPPACK_INTEGRATION=NO AC_MSG_RESULT([no integration]) else WITH_HELPPACK_INTEGRATION=YES SCPDEFS="$SCPDEFS -DWITH_HELPPACK_INTEGRATION" AC_MSG_RESULT([integration]) fi AC_SUBST(WITH_HELPPACK_INTEGRATION) ############################################################################### # Extensions checking ############################################################################### dnl =================================================================== dnl Test whether to integrate extensions into the product's installer dnl =================================================================== AC_MSG_CHECKING([for extensions integration]) if test "x$enable_extension_integration" != "xno"; then WITH_EXTENSION_INTEGRATION=YES SCPDEFS="$SCPDEFS -DWITH_EXTENSION_INTEGRATION" AC_MSG_RESULT([yes, use integration]) else WITH_EXTENSION_INTEGRATION=NO AC_MSG_RESULT([no, do not integrate]) fi AC_SUBST(WITH_EXTENSION_INTEGRATION) dnl =================================================================== dnl Test whether to include Watch Window extension dnl =================================================================== AC_MSG_CHECKING([for Watch Window extension integration]) WATCH_WINDOW_EXTENSION_PACK= if test "x$enable_ext_watch_window" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_WATCH_WINDOW" WATCH_WINDOW_EXTENSION_PACK="23bd75552206dfcd8fd4e29137dcac84-WatchWindow_1.2.0.0.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(WATCH_WINDOW_EXTENSION_PACK) dnl =================================================================== dnl Test whether to include SmART Gallery (Diagram) extension dnl =================================================================== AC_MSG_CHECKING([for SmART Gallery (Diagram) extension integration]) DIAGRAM_EXTENSION_PACK= if test "x$enable_ext_diagram" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_DIAGRAM" DIAGRAM_EXTENSION_PACK="8d74685d41f8bffe8c3e71fe8deac09d-SmART_0.9.5.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(DIAGRAM_EXTENSION_PACK) dnl =================================================================== dnl Test whether to include Validator extension dnl =================================================================== AC_MSG_CHECKING([for Validator extension integration]) VALIDATOR_EXTENSION_PACK= if test "x$enable_ext_validator" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_VALIDATOR" VALIDATOR_EXTENSION_PACK="bbdd5639ada63e3130761daaecae1a10-Validator_1.1.0.0.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(VALIDATOR_EXTENSION_PACK) dnl =================================================================== dnl Test whether to include Barcode extension dnl =================================================================== AC_MSG_CHECKING([for Barcode extension integration]) BARCODE_EXTENSION_PACK= if test "x$enable_ext_barcode" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_BARCODE" BARCODE_EXTENSION_PACK="7e7efc5d4a03126bb9ae3ae9aa2c4e87-Barcode_1.3.1.0.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST([BARCODE_EXTENSION_PACK]) dnl =================================================================== dnl Test whether to include ConvertTextToNumber extension dnl =================================================================== AC_MSG_CHECKING([for ConvertTextToNumber extension integration]) CT2N_EXTENSION_PACK= if test "x$enable_ext_ct2n" = "xyes" -a "x$enable_extension_integration" != "xno"; then BUILD_TYPE="$BUILD_TYPE CT2N" SCPDEFS="$SCPDEFS -DWITH_EXTENSION_CT2N" CT2N_EXTENSION_PACK="451ccf439a36a568653b024534669971-ConvertTextToNumber_1.3.2.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(CT2N_EXTENSION_PACK) dnl =================================================================== dnl Test whether to include Numbertext extension dnl =================================================================== AC_MSG_CHECKING([for Numbertext extension integration]) NUMBERTEXT_EXTENSION_PACK= if test "x$enable_ext_numbertext" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_NUMBERTEXT" NUMBERTEXT_EXTENSION_PACK="b8cbca7b3363e6ca2d02bc0ba2b63904-numbertext_0.9.4.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(NUMBERTEXT_EXTENSION_PACK) dnl =================================================================== dnl Test whether to include Hungarian Cross-reference Toolbar extension dnl =================================================================== AC_MSG_CHECKING([for Hungarian Cross-reference Toolbar extension integration]) HUNART_EXTENSION_PACK= if test "x$enable_ext_hunart" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_HUNART" HUNART_EXTENSION_PACK="b632bdd25649cc4067bcb410bae23d2b-hunart_0.3.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(HUNART_EXTENSION_PACK) dnl =================================================================== dnl Test whether to include Typography Toolbar extension dnl =================================================================== AC_MSG_CHECKING([for Typography Toolbar extension integration]) TYPO_EXTENSION_PACK= if test "x$enable_ext_typo" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_TYPO" TYPO_EXTENSION_PACK="9d60b6cfa3ef1926848710bbcd11115b-typo_0.4.2.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(TYPO_EXTENSION_PACK) dnl =================================================================== dnl Test whether to include Google Docs extension dnl =================================================================== AC_MSG_CHECKING([for Google Docs extension integration]) GOOGLE_DOCS_EXTENSION_PACK= if test "x$enable_ext_google_docs" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_GOOGLE_DOCS" GOOGLE_DOCS_EXTENSION_PACK="cea0f63d5985ba4fcbd882031df44346-gdocs_3.0.0_modified.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(GOOGLE_DOCS_EXTENSION_PACK) dnl =================================================================== dnl Test whether to include NLPSolver extension dnl =================================================================== AC_MSG_CHECKING([for NLPSolver extension integration]) if test "x$enable_ext_nlpsolver" = "xyes" -a "x$enable_extension_integration" != "xno" -a "x$with_java" != "xno"; then BUILD_TYPE="$BUILD_TYPE NLPSOLVER" SCPDEFS="$SCPDEFS -DWITH_EXTENSION_NLPSOLVER" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi dnl =================================================================== dnl Test whether to include LanguageTool extension dnl =================================================================== AC_MSG_CHECKING([for LanguageTool extension integration]) if test "x$enable_ext_languagetool" = "xyes" -a "x$enable_extension_integration" != "xno"; then BUILD_TYPE="$BUILD_TYPE LANGUAGETOOL" SCPDEFS="$SCPDEFS -DWITH_EXTENSION_LANGUAGETOOL" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi dnl =================================================================== dnl Test whether to include oooblogger extension dnl =================================================================== AC_MSG_CHECKING([for oooblogger extension integration]) OOOBLOGGER_EXTENSION_PACK= if test "x$enable_ext_oooblogger" = "xyes" -a "x$enable_extension_integration" != "xno"; then SCPDEFS="$SCPDEFS -DWITH_EXTENSION_OOOBLOGGER" OOOBLOGGER_EXTENSION_PACK="b7b2d0e04e142f26dd96119c80757d1f-oooblogger_0.1.oxt" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(OOOBLOGGER_EXTENSION_PACK) ############################################################################### dnl =================================================================== dnl Test whether to include Sun Professional Template Pack dnl =================================================================== AC_MSG_CHECKING([for Sun Professional Template Pack integration (only supported languages displayed)]) if test "z$with_sun_templates" = "z" -o "z$with_sun_templates" = "zno" ; then AC_MSG_RESULT([no integration]) else SCPDEFS="$SCPDEFS -DWITH_EXTENSION_SUN_TEMPLATE_PACK" sun_supported_langs="en-US de it fr es hu" if test "z$with_sun_templates" = "zyes" ; then wanted_sun_templates="$sun_supported_langs" else # check whether the langs are supported by Sun wanted_sun_templates= for lang in $with_sun_templates ; do if test -n "`echo $sun_supported_langs | grep "$lang"`" ; then wanted_sun_templates="$wanted_sun_templates $lang" fi done fi SUNTEMPLATES_LANG= SUNTEMPLATES_DE_PACK= SUNTEMPLATES_EN_US_PACK= SUNTEMPLATES_ES_PACK= SUNTEMPLATES_FR_PACK= SUNTEMPLATES_HU_PACK= SUNTEMPLATES_IT_PACK= # check whether the langs are requested at all for lang in $wanted_sun_templates ; do if test "$with_lang" = "ALL" -o -n "`echo $with_lang | grep "$lang"`" ; then SUNTEMPLATES_LANG="$SUNTEMPLATES_LANG $lang" case $lang in "de") SUNTEMPLATES_DE_PACK="53ca5e56ccd4cab3693ad32c6bd13343-Sun-ODF-Template-Pack-de_1.0.0.oxt";; "en-US") SUNTEMPLATES_EN_US_PACK="472ffb92d82cf502be039203c606643d-Sun-ODF-Template-Pack-en-US_1.0.0.oxt";; "es") SUNTEMPLATES_ES_PACK="4ad003e7bbda5715f5f38fde1f707af2-Sun-ODF-Template-Pack-es_1.0.0.oxt";; "fr") SUNTEMPLATES_FR_PACK="a53080dc876edcddb26eb4c3c7537469-Sun-ODF-Template-Pack-fr_1.0.0.oxt";; "hu") SUNTEMPLATES_HU_PACK="09ec2dac030e1dcd5ef7fa1692691dc0-Sun-ODF-Template-Pack-hu_1.0.0.oxt";; "it") SUNTEMPLATES_IT_PACK="b33775feda3bcf823cad7ac361fd49a6-Sun-ODF-Template-Pack-it_1.0.0.oxt";; esac fi done AC_MSG_RESULT([$SUNTEMPLATES_LANG]) fi AC_SUBST(SUNTEMPLATES_DE_PACK) AC_SUBST(SUNTEMPLATES_EN_US_PACK) AC_SUBST(SUNTEMPLATES_ES_PACK) AC_SUBST(SUNTEMPLATES_FR_PACK) AC_SUBST(SUNTEMPLATES_HU_PACK) AC_SUBST(SUNTEMPLATES_IT_PACK) dnl =================================================================== dnl Test whether to include fonts dnl =================================================================== AC_MSG_CHECKING([whether to include third-party fonts]) if test "$with_fonts" != "no" ; then AC_MSG_RESULT([yes]) WITH_FONTS=YES BUILD_TYPE="$BUILD_TYPE MORE_FONTS" else AC_MSG_RESULT([no]) WITH_FONTS=NO SCPDEFS="$SCPDEFS -DWITHOUT_FONTS" fi AC_SUBST(WITH_FONTS) AC_MSG_CHECKING([whether to include Agfa Monotype fonts]) if test "$with_agfa_monotype_fonts" = "yes" ; then AC_MSG_RESULT([yes]) WITH_AGFA_MONOTYPE_FONTS=YES SCPDEFS="$SCPDEFS -DWITH_AGFA_MONOTYPE_FONTS" BUILD_TYPE="$BUILD_TYPE AGFA_MONOTYPE_FONTS" else AC_MSG_RESULT([no]) WITH_AGFA_MONOTYPE_FONTS=NO fi AC_SUBST(WITH_AGFA_MONOTYPE_FONTS) dnl =================================================================== dnl Test whether to include ppds dnl =================================================================== AC_MSG_CHECKING([whether to include PPDs]) if test "$with_ppds" != "no"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) WITHOUT_PPDS=YES SCPDEFS="$SCPDEFS -DWITHOUT_PPDS" fi AC_SUBST(WITHOUT_PPDS) dnl =================================================================== dnl Test whether to include afms dnl =================================================================== AC_MSG_CHECKING([whether to include AFMs]) if test "$with_afms" != "no"; then AC_MSG_RESULT([yes]) BUILD_TYPE="$BUILD_TYPE AFMS" else AC_MSG_RESULT([no]) WITHOUT_AFMS=YES SCPDEFS="$SCPDEFS -DWITHOUT_AFMS" fi AC_SUBST(WITHOUT_AFMS) dnl =================================================================== dnl Test whether to include extra galleries dnl =================================================================== AC_MSG_CHECKING([whether to include extra galleries]) if test "z$enable_extra_gallery" = "z" -o "z$enable_extra_gallery" = "zno" ; then AC_MSG_RESULT([no]) WITH_EXTRA_GALLERY=NO OOOP_GALLERY_PACK="" else AC_MSG_RESULT([yes]) WITH_EXTRA_GALLERY=YES BUILD_TYPE="$BUILD_TYPE EXTRA_GALLERY" SCPDEFS="$SCPDEFS -DWITH_EXTRA_GALLERY" OOOP_GALLERY_PACK="af9314c5972d95a5d6da23ffad818f68-OOOP-gallery-pack-2.8.0.0.zip" fi AC_SUBST(WITH_EXTRA_GALLERY) AC_SUBST(OOOP_GALLERY_PACK) dnl =================================================================== dnl Test whether to include extra templates dnl =================================================================== AC_MSG_CHECKING([whether to include extra templates]) if test "z$enable_extra_template" = "z" -o "z$enable_extra_template" = "zno" ; then AC_MSG_RESULT([no]) WITH_EXTRA_TEMPLATE=NO OOOP_TEMPLATES_PACK="" else AC_MSG_RESULT([yes]) WITH_EXTRA_TEMPLATE=YES BUILD_TYPE="$BUILD_TYPE EXTRA_TEMPLATE" SCPDEFS="$SCPDEFS -DWITH_EXTRA_TEMPLATE" OOOP_TEMPLATES_PACK="1be202fbbbc13f10592a98f70a4a87fb-OOOP-templates-pack-2.9.0.0.zip" fi AC_SUBST(WITH_EXTRA_TEMPLATE) AC_SUBST(OOOP_TEMPLATES_PACK) dnl =================================================================== dnl Test whether to include extra samples dnl =================================================================== AC_MSG_CHECKING([whether to include extra samples]) if test "z$enable_extra_sample" = "z" -o "z$enable_extra_sample" = "zno" ; then AC_MSG_RESULT([no]) WITH_EXTRA_SAMPLE=NO OOOP_SAMPLES_PACK="" else AC_MSG_RESULT([yes]) WITH_EXTRA_SAMPLE=YES BUILD_TYPE="$BUILD_TYPE EXTRA_SAMPLE" SCPDEFS="$SCPDEFS -DWITH_EXTRA_SAMPLE" OOOP_SAMPLES_PACK="a6bccacf44914969e6e7b2f8faf4132c-OOOP-samples-pack-2.7.0.0.zip" fi AC_SUBST(WITH_EXTRA_SAMPLE) AC_SUBST(OOOP_SAMPLES_PACK) dnl =================================================================== dnl Test whether to include extra fonts dnl =================================================================== AC_MSG_CHECKING([whether to include extra fonts]) if test "z$enable_extra_font" = "z" -o "z$enable_extra_font" = "zno" ; then AC_MSG_RESULT([no]) WITH_EXTRA_FONT=NO OOOP_FONTS_PACK="" else AC_MSG_RESULT([yes]) WITH_EXTRA_FONT=YES BUILD_TYPE="$BUILD_TYPE EXTRA_FONT" SCPDEFS="$SCPDEFS -DWITH_EXTRA_FONT" OOOP_FONTS_PACK="a10aa597411643326e27d7fc128af12d-OOOP-fonts-pack-2.9.0.0.zip" fi AC_SUBST(WITH_EXTRA_FONT) AC_SUBST(OOOP_FONTS_PACK) dnl =================================================================== dnl Test whether to download OxygenOffice branding and set custom settings dnl =================================================================== AC_MSG_CHECKING([whether to download OxygenOffice branding and set custom settings]) if test "z$enable_oxygenoffice" = "z" -o "z$enable_oxygenoffice" = "zno" ; then AC_MSG_RESULT([no]) ENABLE_OXYGENOFFICE=NO else AC_MSG_RESULT([yes]) ENABLE_OXYGENOFFICE=YES OXYGENOFFICE_PACK="18bf204479ff641d99a88cd71f6f25f7-oxygenoffice-001.zip" BUILD_TYPE="$BUILD_TYPE OXYGENOFFICE" fi AC_SUBST(ENABLE_OXYGENOFFICE) AC_SUBST(OXYGENOFFICE_PACK) dnl =================================================================== dnl Test whether to build global menu support dnl =================================================================== AC_MSG_CHECKING([whether to build global menu support]) if test "z$enable_lomenubar" = "z" -o "z$enable_lomenubar" = "zno" ; then AC_MSG_RESULT([no]) ENABLE_LOMENUBAR="FALSE" else AC_MSG_RESULT([yes]) PKG_CHECK_MODULES(DBUSMENUGTK, dbusmenu-gtk-0.4,, AC_MSG_ERROR([requirements to build lo-menubar not met. Use --disable-lomenubar or install the missing packages])) ENABLE_LOMENUBAR="TRUE" fi AC_SUBST(ENABLE_LOMENUBAR) dnl =================================================================== dnl Test whether to enable online update service dnl =================================================================== AC_MSG_CHECKING([whether to enable online update]) ENABLE_ONLINE_UPDATE= if test "z$enable_online_update" = "z" ; then if test "$_os" = "WINNT" -o "$_os" = "Darwin" ; then AC_MSG_RESULT([yes]) ENABLE_ONLINE_UPDATE="TRUE" else AC_MSG_RESULT([no]) fi else if test "z$enable_online_update" = "zyes" ; then AC_MSG_RESULT([yes]) ENABLE_ONLINE_UPDATE="TRUE" else AC_MSG_RESULT([no]) fi fi AC_SUBST(ENABLE_ONLINE_UPDATE) dnl =================================================================== dnl Test whether build target is Release Build dnl =================================================================== AC_MSG_CHECKING([whether build target is Release Build]) if test "z$enable_release_build" = "z" -o "z$enable_release_build" = "zno" ; then AC_MSG_RESULT([no]) ENABLE_RELEASE_BUILD="FALSE" else AC_MSG_RESULT([yes]) ENABLE_RELEASE_BUILD="TRUE" fi AC_SUBST(ENABLE_RELEASE_BUILD) dnl =================================================================== dnl Test whether to create MSI with LIMITUI=1 (silent install) dnl =================================================================== AC_MSG_CHECKING([whether to create MSI with LIMITUI=1 (silent install)]) if test "z$enable_silent_msi" = "z" -o "z$enable_silent_msi" = "zno" ; then AC_MSG_RESULT([no]) ENABLE_SILENT_MSI="FALSE" else AC_MSG_RESULT([yes]) ENABLE_SILENT_MSI="TRUE" SCPDEFS="$SCPDEFS -DENABLE_SILENT_MSI" fi AC_SUBST(ENABLE_SILENT_MSI) dnl =================================================================== dnl Test whether to enable ActiveX embedding dnl =================================================================== if test "$_os" = "WINNT"; then AC_MSG_CHECKING([whether to enable ActiveX embedding of LibreOffice components]) if test "$enable_activex_component" = "yes" -o "$enable_activex_component" = "TRUE" -o "$enable_activex_component" = ""; then ENABLE_ACTIVEX_COMPONENT="TRUE" AC_MSG_RESULT([yes]) SCPDEFS="$SCPDEFS -DWITH_ACTIVEX_COMPONENT" else ENABLE_ACTIVEX_COMPONENT="" AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_ACTIVEX_COMPONENT) AC_SUBST(SCPDEFS) fi AC_MSG_CHECKING([whether and how to use Xinerama]) if test "$_os" = "Darwin"; then USE_XINERAMA=YES XINERAMA_LINK=dynamic AC_MSG_RESULT([yes]) elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then if test "$x_libraries" = "default_x_libraries"; then XINERAMALIB=`$PKG_CONFIG --variable=libdir xinerama` if test "x$XINERAMALIB" = x; then XINERAMALIB="/usr/lib" fi else XINERAMALIB="$x_libraries" fi if test -e "$XINERAMALIB/libXinerama.so" -a -e "$XINERAMALIB/libXinerama.a"; then # we have both versions, let the user decide but use the dynamic one # per default USE_XINERAMA=YES if test -z "$with_static_xinerama" -o -n "$with_system_libs"; then XINERAMA_LINK=dynamic else XINERAMA_LINK=static fi elif test -e "$XINERAMALIB/libXinerama.so" -a ! -e "$XINERAMALIB/libXinerama.a"; then # we have only the dynamic version USE_XINERAMA=YES XINERAMA_LINK=dynamic elif test -e "$XINERAMALIB/libXinerama.a"; then # static version if echo $host_cpu | grep -E 'i[[3456]]86' 2>/dev/null >/dev/null; then USE_XINERAMA=YES XINERAMA_LINK=static else USE_XINERAMA=NO XINERAMA_LINK=none fi else # no Xinerama USE_XINERAMA=NO XINERAMA_LINK=none fi if test "$USE_XINERAMA" = "YES"; then AC_MSG_RESULT([yes, with $XINERAMA_LINK linking]) AC_CHECK_HEADER(X11/extensions/Xinerama.h, [], [AC_MSG_ERROR(Xinerama header not found.)], []) XEXTLIBS=`$PKG_CONFIG --variable=libs xext` if test "x$XEXTLIB" = x; then XEXTLIBS="-L$XLIB -L$XINERAMALIB -lXext" fi XINERAMA_EXTRA_LIBS="$XEXTLIBS" if test "$_os" = "FreeBSD"; then XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -lXt" fi if test "$_os" = "Linux"; then XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl" fi AC_CHECK_LIB(Xinerama, XineramaIsActive, [], [AC_MSG_ERROR(Xinerama not functional?)], [$XINERAMA_EXTRA_LIBS]) else AC_MSG_RESULT([no, libXinerama not found or wrong architecture.]) fi else USE_XINERAMA=NO XINERAMA_LINK=none AC_MSG_RESULT([no]) fi AC_SUBST(USE_XINERAMA) AC_SUBST(XINERAMA_LINK) dnl =================================================================== dnl Checks for librsvg dnl =================================================================== dnl ENABLE_LIBRSVG is set to "" (for NO), SYSTEM or INTERNAL. The dnl SYSTEM_LIBRSVG, SYSTEM_GDKPIXBUF etc are redundant. ENABLE_LIBRSVG="" LIBRSVG_CFLAGS="" LIBRSVG_LIBS="" AC_MSG_CHECKING([what librsvg to use]) case "$enable_librsvg" in no|disable) AC_MSG_RESULT([none]) enable_librsvg=no ;; ""|yes|auto) if test $build_os = cygwin -o \ $_os = Darwin; then dnl When building on/for these OSes always use the internal one, dnl if at all. Add more OSes above as needed. AC_MSG_RESULT([internal]) enable_librsvg=internal elif test $_os = iOS -o $_os = Android; then AC_MSG_RESULT([none]) enable_librsvg=no else if test "$with_system_libs" = yes; then AC_MSG_RESULT([system]) PKG_CHECK_MODULES(LIBRSVG, librsvg-2.0 >= 2.14) enable_librsvg=system elif test "$with_system_libs" = no; then AC_MSG_RESULT([internal]) enable_librsvg=internal else AC_MSG_RESULT([checking further]) PKG_CHECK_MODULES(LIBRSVG, librsvg-2.0 >= 2.14,, [:]) if test -z "$LIBRSVG_PKG_ERRORS"; then enable_librsvg=system else enable_librsvg=internal fi fi fi ;; internal) AC_MSG_RESULT([internal]) ;; system) if test $_os = WINNT -a "$WITH_MINGW" != yes; then AC_MSG_ERROR([Must use internal librsvg when building with MSVC]) fi AC_MSG_RESULT([system]) PKG_CHECK_MODULES(LIBRSVG, librsvg-2.0 >= 2.14) ;; *) AC_MSG_ERROR([Incorrect --enable-librsvg option]) ;; esac dnl By now enable_librsvg should be "system", "internal" or "no" case $enable_librsvg in system) ENABLE_LIBRSVG=SYSTEM SYSTEM_LIBRSVG=YES ;; internal) ENABLE_LIBRSVG=INTERNAL SYSTEM_LIBRSVG=NO BUILD_TYPE="$BUILD_TYPE LIBRSVG" ;; no) ENABLE_LIBRSVG=NO SYSTEM_LIBRSVG=NO ;; *) AC_MSG_ERROR([Internal configure script error, invalid enable_librsvg value "$enable_librsvg"]) ;; esac AC_SUBST(ENABLE_LIBRSVG) AC_SUBST(LIBRSVG_CFLAGS) AC_SUBST(LIBRSVG_LIBS) AC_SUBST(SYSTEM_LIBRSVG) dnl =================================================================== dnl Test whether to build cairo or rely on the system version dnl =================================================================== SYSTEM_CAIRO="" AC_MSG_CHECKING([whether to use the system cairo]) if test "$with_system_cairo" = "yes"; then SYSTEM_CAIRO=YES AC_MSG_RESULT([yes]) PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 ) if test "$test_xrender" = "yes"; then if test "$with_system_xextensions_headers" != "no"; then AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8]) AC_LANG_PUSH([C]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/extensions/Xrender.h>]],[[ #ifdef PictStandardA8 #else return fail; #endif ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([no, X headers too old.])]) AC_LANG_POP([C]) fi fi MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libfontconfig-1.dll libfreetype-6.dll libpixman-1-0.dll libpng15-15.dll libcairo-2.dll" else AC_MSG_RESULT([no]) if test $_os = WINNT; then dnl We only need cairo for Windows if we dnl build librsvg or directx disabled if test "$ENABLE_LIBRSVG" != NO -o -z "$ENABLE_DIRECTX"; then BUILD_TYPE="$BUILD_TYPE CAIRO" fi else BUILD_TYPE="$BUILD_TYPE CAIRO" fi fi AC_SUBST(SYSTEM_CAIRO) AC_SUBST(CAIRO_CFLAGS) AC_SUBST(CAIRO_LIBS) dnl =================================================================== dnl Test whether to build gdk-pixbuf or rely on the system version dnl =================================================================== AC_MSG_CHECKING([whether to use the system gdk-pixbuf]) dnl As long as the only thing we need gdk-pixbuf for is below dnl librsvg, use the same --enable-librsvg (possibly implied dnl by --with-system-libs) to override this. if test "$SYSTEM_LIBRSVG" = YES; then SYSTEM_GDKPIXBUF=YES AC_MSG_RESULT([yes]) else case "$_os" in WINNT|Darwin|iOS|Android) SYSTEM_GDKPIXBUF=NO AC_MSG_RESULT([no]) ;; *) SYSTEM_GDKPIXBUF=YES AC_MSG_RESULT([yes]) ;; esac fi AC_SUBST(SYSTEM_GDKPIXBUF) dnl =================================================================== dnl Test whether to build GLib or rely on the system version dnl =================================================================== AC_MSG_CHECKING([whether to use the system GLib]) dnl As long as the only thing we need GLib for is below dnl librsvg, use the same --enable-librsvg (possibly implied dnl by --with-system-libs) to override this. if test "$SYSTEM_LIBRSVG" = YES; then SYSTEM_GLIB=YES AC_MSG_RESULT([yes]) else case "$_os" in WINNT|Darwin|iOS|Android) SYSTEM_GLIB=NO AC_MSG_RESULT([no]) ;; *) SYSTEM_GLIB=YES AC_MSG_RESULT([yes]) ;; esac fi AC_SUBST(SYSTEM_GLIB) dnl =================================================================== dnl Test whether to build gettext runtime (libintl) or rely on the dnl system version dnl =================================================================== AC_MSG_CHECKING([whether to use the system gettext runtime]) if test "$with_system_gettext" = yes; then SYSTEM_GETTEXT=YES AC_MSG_RESULT([yes]) else case "$_os" in WINNT|Darwin|iOS|Android) SYSTEM_GETTEXT=NO AC_MSG_RESULT([no]) ;; *) SYSTEM_GETTEXT=YES AC_MSG_RESULT([yes]) ;; esac fi AC_SUBST(SYSTEM_GETTEXT) dnl =================================================================== dnl Test whether to build libcroco or rely on the system version dnl =================================================================== AC_MSG_CHECKING([whether to use the system libcroco]) dnl As long as the only thing we need libcroco for is below dnl librsvg, use the same --enable-librsvg (possibly implied dnl by --with-system-libs) to override this. if test "$SYSTEM_LIBRSVG" = YES; then SYSTEM_LIBCROCO=YES AC_MSG_RESULT([yes]) else case "$_os" in WINNT|Darwin|iOS|Android) SYSTEM_LIBCROCO=NO AC_MSG_RESULT([no]) ;; *) SYSTEM_LIBCROCO=YES AC_MSG_RESULT([yes]) ;; esac fi AC_SUBST(SYSTEM_LIBCROCO) dnl =================================================================== dnl Test whether to build Pango or rely on the system version dnl =================================================================== AC_MSG_CHECKING([whether to use the system pango]) dnl As long as the only thing we need Pango for is below dnl librsvg, use the same --enable-librsvg (possibly implied dnl by --with-system-libs) to override this. if test "$SYSTEM_LIBRSVG" = YES; then SYSTEM_PANGO=YES AC_MSG_RESULT([yes]) else case "$_os" in WINNT|Darwin|iOS|Android) SYSTEM_PANGO=NO AC_MSG_RESULT([no]) ;; *) SYSTEM_PANGO=YES AC_MSG_RESULT([yes]) ;; esac fi AC_SUBST(SYSTEM_PANGO) dnl =================================================================== dnl Test whether to build libgsf or rely on the system version dnl =================================================================== AC_MSG_CHECKING([whether to use the system libgsf]) dnl As long as the only thing we need libgsf for is below librsvg (is dnl it?), use the same --enable-librsvg (possibly implied by dnl --with-system-libs) to override this. if test "$SYSTEM_LIBRSVG" = YES; then SYSTEM_LIBGSF=YES AC_MSG_RESULT([yes]) else case "$_os" in WINNT|Darwin|iOS|Android) SYSTEM_LIBGSF=NO AC_MSG_RESULT([no]) ;; *) SYSTEM_LIBGSF=YES AC_MSG_RESULT([yes]) ;; esac fi AC_SUBST(SYSTEM_LIBGSF) dnl =================================================================== dnl Test whether to build libpng or rely on the system version dnl =================================================================== AC_MSG_CHECKING([whether to use the system libpng]) dnl How should and does this interact with the checks for libpng dnl related to use of libpng in the quickstarter above? This needs to dnl be unified. if test "$with_system_libpng" = yes; then SYSTEM_LIBPNG=YES AC_MSG_RESULT([yes]) else case "$_os" in WINNT|Darwin|iOS|Android) SYSTEM_LIBPNG=NO AC_MSG_RESULT([no]) ;; *) SYSTEM_LIBPNG=YES AC_MSG_RESULT([no]) ;; esac fi AC_SUBST(SYSTEM_LIBPNG) dnl =================================================================== dnl Test whether to build libjpeg or rely on the system version dnl =================================================================== dnl FIXME: this is currently because we have jpeg-6b for our filters dnl and jpeg-8 as dependency for librsvg dnl this should be unified into using only one version for both AC_MSG_CHECKING([whether to use the system libjpeg]) if test "$SYSTEM_JPEG" = "YES"; then SYSTEM_LIBJPEG=YES AC_MSG_RESULT([yes]) else case "$_os" in WINNT|Darwin|iOS|Android) SYSTEM_LIBJPEG=NO AC_MSG_RESULT([no]) ;; *) SYSTEM_LIBJPEG=YES AC_MSG_RESULT([yes]) ;; esac fi AC_SUBST(SYSTEM_LIBJPEG) dnl =================================================================== dnl Check for runtime JVM search path dnl =================================================================== if test "$SOLAR_JAVA" != ""; then AC_MSG_CHECKING([whether to use specific JVM search path at runtime]) if test -n "$with_jvm_path" && test "$with_jvm_path" != "no"; then AC_MSG_RESULT([yes]) if ! test -d "$with_jvm_path"; then AC_MSG_ERROR(["$with_jvm_path" not a directory]) fi if ! test -d "$with_jvm_path"jvm; then AC_MSG_ERROR(["$with_jvm_path"jvm not found, point with_jvm_path to \[/path/to/\]jvm]) fi JVM_ONE_PATH_CHECK="$with_jvm_path" AC_SUBST(JVM_ONE_PATH_CHECK) else AC_MSG_RESULT([no]) fi fi dnl =================================================================== dnl Test for the presence of Ant and that it works dnl =================================================================== if test "$SOLAR_JAVA" != ""; then ANT_HOME=; export ANT_HOME WITH_ANT_HOME=; export WITH_ANT_HOME if test -z "$with_ant_home"; then AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd]) else if test "$_os" = "WINNT"; then with_ant_home=`cygpath -u "$with_ant_home"` fi AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat ant.cmd],,$with_ant_home/bin:$PATH) WITH_ANT_HOME=$with_ant_home ANT_HOME=$with_ant_home fi if test -z "$ANT"; then AC_MSG_ERROR([Ant not found - Make sure it's in the path or use --with-ant-home]) else # resolve relative or absolute symlink while test -h "$ANT"; do a_cwd=`pwd` a_basename=`basename "$ANT"` a_script=`ls -l "$ANT" | $SED "s/.*${a_basename} -> //g"` cd "`dirname "$ANT"`" cd "`dirname "$a_script"`" ANT="`pwd`"/"`basename "$a_script"`" cd "$a_cwd" done AC_MSG_CHECKING([if $ANT works]) cat > conftest.java << EOF public class conftest { int testmethod(int a, int b) { return a + b; } } EOF cat > conftest.xml << EOF <project name="conftest" default="conftest"> <target name="conftest"> <javac srcdir="." includes="conftest.java"> </javac> </target> </project> EOF oldJAVA_HOME=$JAVA_HOME if test "$JAVACISGCJ" = "yes"; then JAVA_HOME=; export JAVA_HOME ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2" else ant_cmd="$ANT -buildfile conftest.xml 1>&2" fi AC_TRY_EVAL(ant_cmd) if test $? = 0 && test -f ./conftest.class ; then AC_MSG_RESULT([Ant works]) if test -z "$WITH_ANT_HOME"; then ANT_HOME=`$ANT -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"` if test -z "$ANT_HOME"; then ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"` fi else ANT_HOME="$WITH_ANT_HOME" fi else echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 AC_MSG_WARN([Ant does not work - Some Java projects will not build!]) ANT_HOME="" echo "Ant does not work - Some Java projects will not build!" >>warn fi JAVA_HOME=$oldJAVA_HOME rm -f conftest* core core.* *.core fi if test -z "$ANT_HOME"; then ANT_HOME="NO_ANT_HOME" fi AC_SUBST(ANT_HOME) dnl Checking for ant.jar if test "$ANT_HOME" != "NO_ANT_HOME"; then AC_MSG_CHECKING([Ant lib directory]) if test -f $ANT_HOME/lib/ant.jar; then ANT_LIB="$ANT_HOME/lib" else if test -f $ANT_HOME/ant.jar; then ANT_LIB="$ANT_HOME" else if test -f /usr/share/java/ant.jar; then ANT_LIB=/usr/share/java else if test -f /usr/share/ant-core/lib/ant.jar; then ANT_LIB=/usr/share/ant-core/lib else if test -f $ANT_HOME/lib/ant/ant.jar; then ANT_LIB="$ANT_HOME/lib/ant" else if test -f /usr/share/lib/ant/ant.jar; then ANT_LIB=/usr/share/lib/ant else AC_MSG_ERROR([Ant libraries not found!]) fi fi fi fi fi fi AC_MSG_RESULT([Ant lib directory found.]) fi AC_SUBST(ANT_LIB) ant_minver=1.6.0 ant_minminor1=`echo $ant_minver | cut -d"." -f2` AC_MSG_CHECKING([whether Ant is >= $ant_minver]) ant_version=`$ANT -version | $AWK '{ print $4; }'` ant_version_major=`echo $ant_version | cut -d. -f1` ant_version_minor=`echo $ant_version | cut -d. -f2` echo "configure: ant_version $ant_version " >&5 echo "configure: ant_version_major $ant_version_major " >&5 echo "configure: ant_version_minor $ant_version_minor " >&5 if test "$ant_version_major" -ge "2"; then AC_MSG_RESULT([yes, $ant_version]) elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then AC_MSG_RESULT([yes, $ant_version]) else AC_MSG_ERROR([no, you need at least Ant >= $ant_minver]) fi if test "$ENABLE_MEDIAWIKI" = "YES"; then AC_MSG_CHECKING([whether Ant supports mapper type="regexp"]) rm -rf confdir mkdir confdir cat > conftest.java << EOF public class conftest { int testmethod(int a, int b) { return a + b; } } EOF cat > conftest.xml << EOF <project name="conftest" default="conftest"> <target name="conftest" depends="copytest"> <javac srcdir="." includes="conftest.java"> </javac> </target> <target name="copytest"> <copy todir="confdir"> <fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/> <filterset/> <mapper type="regexp" from="^(.*[/\\])foo([/\\].*)" to="\1baa\2"/> </copy> </target> </project> EOF if test "$JAVACISGCJ" = "yes"; then JAVA_HOME=; export JAVA_HOME ant_cmd="$ANT -Dbuild.compiler=gcj -buildfile conftest.xml 1>&2" else ant_cmd="$ANT -buildfile conftest.xml 1>&2" fi AC_TRY_EVAL(ant_cmd) if test $? = 0 && test -f ./conftest.class ; then AC_MSG_RESULT([yes]) rm -rf confdir else echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 rm -rf confdir AC_MSG_ERROR([no. Did you install ant-apache-regexp?]) fi fi rm -f conftest* core core.* *.core fi OOO_JUNIT_JAR= if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no"; then AC_MSG_CHECKING([for JUnit 4]) if test "$with_junit" = "yes"; then if test -e /usr/share/java/junit4.jar; then OOO_JUNIT_JAR=/usr/share/java/junit4.jar else if test -e /usr/share/lib/java/junit.jar; then OOO_JUNIT_JAR=/usr/share/lib/java/junit.jar else OOO_JUNIT_JAR=/usr/share/java/junit.jar fi fi else OOO_JUNIT_JAR=$with_junit fi if test "$_os" = "WINNT"; then OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"` fi "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" 2>&5 | \ grep org/junit/Before.class > /dev/null 2>&5 if test $? -eq 0; then # check if either class-path entry is available for hamcrest or # it's bundled if "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" |grep -q hamcrest || \ "$UNZIP" -c "$OOO_JUNIT_JAR" META-INF/MANIFEST.MF |grep -q 'Class-Path: hamcrest'; then AC_MSG_RESULT([$OOO_JUNIT_JAR]) else AC_MSG_ERROR([your junit jar neither sets a classpath nor includes hamcrest; please provide a full junit jar or use --without-junit]) fi else AC_MSG_RESULT([no]) AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the default location (/usr/share/java), specify its pathname via --with-junit=..., or disable it via --without-junit]) fi if test $OOO_JUNIT_JAR != ""; then BUILD_TYPE="$BUILD_TYPE QADEVOOO" fi fi AC_SUBST(OOO_JUNIT_JAR) if test "$enable_odk" = no; then unset DOXYGEN else if test "$with_doxygen" = no; then AC_MSG_CHECKING([for doxygen]) unset DOXYGEN AC_MSG_RESULT([no]) else if test "$with_doxygen" = yes; then AC_PATH_PROG([DOXYGEN], [doxygen]) if test -z "$DOXYGEN"; then AC_MSG_RESULT([no]) AC_MSG_ERROR([doxygen not found in \$PATH; specify its pathname via --with-doxygen=..., or disable its use via --without-doxygen]) fi else AC_MSG_CHECKING([for doxygen]) DOXYGEN=$with_doxygen AC_MSG_RESULT([$DOXYGEN]) fi fi fi AC_SUBST([DOXYGEN]) dnl =================================================================== dnl Product version dnl =================================================================== AC_MSG_CHECKING([for product version]) PRODUCTVERSION=AC_PACKAGE_VERSION AC_MSG_RESULT([$PRODUCTVERSION]) AC_SUBST(PRODUCTVERSION) dnl =================================================================== dnl Dealing with l10n options dnl =================================================================== AC_MSG_CHECKING([which languages to be built]) # get list of all languages # generate shell variable from completelangiso= from solenv/inc/langlist.mk # the sed command does the following: # + if a line ends with a backslash, append the next line to it # + adds " on the beginning of the value (after =) # + adds " at the end of the value # + removes en-US; we want to put it on the beginning # + prints just the section starting with 'completelangiso=' and ending with the " at the end of line [eval $(sed -e :a -e '/\\$/N; s/\\\n//; ta' -n -e 's/=/="/;s/\([^\\]\)$/\1"/;s/en-US//;/^completelangiso/p' solenv/inc/langlist.mk)] ALL_LANGS="en-US $completelangiso" # check the configured localizations WITH_LANG="$with_lang" if test -z "$WITH_LANG"; then AC_MSG_RESULT([en-US]) else AC_MSG_RESULT([$WITH_LANG]) GIT_REPO_NAMES="$GIT_REPO_NAMES translations" fi # check that the list is valid for lang in $WITH_LANG ; do test "$lang" = "ALL" && continue; # need to check for the exact string, so add space before and after the list of all languages for vl in $ALL_LANGS ; do if test "$vl" = "$lang" ; then break; fi done if test "$vl" != "$lang" ; then AC_MSG_ERROR([invalid language: $lang; supported languages are: $ALL_LANGS]) fi done # list with substituted ALL WITH_LANG_LIST=`echo $WITH_LANG | sed "s/ALL/$ALL_LANGS/"` # this variable is used only by bin/distro-install-* helper scripts # they need a real list of languages test -z "$WITH_LANG_LIST" && WITH_LANG_LIST="en-US" AC_SUBST(ALL_LANGS) AC_SUBST(WITH_LANG) AC_SUBST(WITH_LANG_LIST) AC_SUBST(GIT_REPO_NAMES) dnl git-new-workdir dnl =================================================================== if test -n "${GIT_LINK_SRC}"; then for repo in ${GIT_REPO_NAMES}; do if ! test -d "${GIT_LINK_SRC}"/${repo}; then AC_MSG_ERROR([linked git: required repository does not exist: ${GIT_LINK_SRC}/${repo}]) fi done fi AC_SUBST(GIT_LINK_SRC) AC_MSG_CHECKING([for custom 'intro' progress bar color]) PROGRESSBARCOLOR= if test -z "$with_intro_progressbar_color" ; then PROGRESSBARCOLOR="126,170,23" AC_MSG_RESULT([none]) else PROGRESSBARCOLOR="$with_intro_progressbar_color" AC_MSG_RESULT([$PROGRESSBARCOLOR]) fi AC_SUBST(PROGRESSBARCOLOR) AC_MSG_CHECKING([for custom 'intro' progress bar size]) PROGRESSSIZE= if test -z "$with_intro_progressbar_size" ; then PROGRESSSIZE="319,10" AC_MSG_RESULT([none]) else PROGRESSSIZE="$with_intro_progressbar_size" AC_MSG_RESULT([$PROGRESSSIZE]) fi AC_SUBST(PROGRESSSIZE) AC_MSG_CHECKING([for custom 'intro' progress bar position]) PROGRESSPOSITION= if test -z "$with_intro_progressbar_position" ; then PROGRESSPOSITION="164,225" AC_MSG_RESULT([none]) else PROGRESSPOSITION="$with_intro_progressbar_position" AC_MSG_RESULT([$PROGRESSPOSITION]) fi AC_SUBST(PROGRESSPOSITION) AC_MSG_CHECKING([for custom 'intro' progress bar frame color]) PROGRESSFRAMECOLOR= if test -z "$with_intro_progressbar_frame_color" ; then PROGRESSFRAMECOLOR="207,208,211" AC_MSG_RESULT([none]) else PROGRESSFRAMECOLOR="$with_intro_progressbar_frame_color" AC_MSG_RESULT([$PROGRESSFRAMECOLOR]) fi AC_SUBST(PROGRESSFRAMECOLOR) AC_MSG_CHECKING([for alternative branding images directory]) INTRO_BITMAP= ABOUT_BITMAP= STARTCENTER_LEFT_BITMAP= STARTCENTER_RIGHT_BITMAP= STARTCENTER_RTL_LEFT_BITMAP= STARTCENTER_RTL_RIGHT_BITMAP= STARTCENTER_SPACE_BITMAP= if test -z "$with_branding" -o "$with_branding" = "no" ; then AC_MSG_RESULT([none]) else INTRO_BITMAP="$with_branding/intro.png" ABOUT_BITMAP="$with_branding/about.png" STARTCENTER_LEFT_BITMAP="$with_branding/backing_left.png" STARTCENTER_RIGHT_BITMAP="$with_branding/backing_right.png" STARTCENTER_RTL_LEFT_BITMAP="$with_branding/backing_rtl_left.png" STARTCENTER_RTL_RIGHT_BITMAP="$with_branding/backing_rtl_right.png" STARTCENTER_SPACE_BITMAP="$with_branding/backing_space.png" for i in $INTRO_BITMAP \ $ABOUT_BITMAP \ $STARTCENTER_LEFT_BITMAP \ $STARTCENTER_RIGHT_BITMAP \ $STARTCENTER_RTL_LEFT_BITMAP \ $STARTCENTER_RTL_RIGHT_BITMAP \ $STARTCENTER_SPACE_BITMAP; do if test ! -f $i; then AC_MSG_WARN([Required file $i does not exist!]) fi done AC_MSG_RESULT([$with_branding]) fi AC_MSG_CHECKING([for yet another 'intro' bitmap]) if test -z "$with_intro_bitmap" -o "$with_intro_bitmap" = "no" ; then if test "$with_intro_bitmap" = "no" ; then INTRO_BITMAP= fi AC_MSG_RESULT([none]) else case "$with_intro_bitmap" in *.png) INTRO_BITMAP="$with_intro_bitmap" ;; *) AC_MSG_WARN([Intro bitmap should be a .png file!]) ;; esac AC_MSG_RESULT([$INTRO_BITMAP]) fi AC_SUBST(INTRO_BITMAP) AC_MSG_CHECKING([for yet another 'about' bitmap]) if test -z "$with_about_bitmap" -o "$with_about_bitmap" = "no" ; then if test "$with_about_bitmap" = "no" ; then ABOUT_BITMAP= fi AC_MSG_RESULT([none]) else case "$with_about_bitmap" in *.png) ABOUT_BITMAP="$with_about_bitmap" ;; *) AC_MSG_WARN([About bitmap should be a .png file!]) ;; esac AC_MSG_RESULT([$ABOUT_BITMAP]) fi AC_SUBST(ABOUT_BITMAP) AC_MSG_CHECKING([for yet another 'start center left' bitmap]) if test -z "$with_startcenter_left_bitmap" -o "$with_startcenter_left_bitmap" = "no" ; then if test "$with_startcenter_left_bitmap" = "no" ; then STARTCENTER_LEFT_BITMAP= fi AC_MSG_RESULT([none]) else case "$with_startcenter_left_bitmap" in *.png) STARTCENTER_LEFT_BITMAP="$with_startcenter_left_bitmap" ;; *) AC_MSG_WARN([Startcenter left bitmap should be a .png file!]) ;; esac AC_MSG_RESULT([$STARTCENTER_LEFT_BITMAP]) fi AC_SUBST(STARTCENTER_LEFT_BITMAP) AC_MSG_CHECKING([for yet another 'start center right' bitmap]) if test -z "$with_startcenter_right_bitmap" -o "$with_startcenter_right_bitmap" = "no" ; then if test "$with_startcenter_right_bitmap" = "no" ; then STARTCENTER_RIGHT_BITMAP= fi AC_MSG_RESULT([none]) else case "$with_startcenter_right_bitmap" in *.png) STARTCENTER_RIGHT_BITMAP="$with_startcenter_right_bitmap" ;; *) AC_MSG_WARN([Startcenter right bitmap should be a .png file!]) ;; esac AC_MSG_RESULT([$STARTCENTER_RIGHT_BITMAP]) fi AC_SUBST(STARTCENTER_RIGHT_BITMAP) AC_MSG_CHECKING([for yet another 'start center rtl left' bitmap]) if test -z "$with_startcenter_rtl_left_bitmap" -o "$with_startcenter_rtl_left_bitmap" = "no" ; then if test "$with_startcenter_rtl_left_bitmap" = "no" ; then STARTCENTER_RTL_LEFT_BITMAP= fi AC_MSG_RESULT([none]) else case "$with_startcenter_rtl_left_bitmap" in *.png) STARTCENTER_RTL_LEFT_BITMAP="$with_startcenter_rtl_left_bitmap" ;; *) AC_MSG_WARN([Startcenter rtl left bitmap should be a .png file!]) ;; esac AC_MSG_RESULT([$STARTCENTER_RTL_LEFT_BITMAP]) fi AC_SUBST(STARTCENTER_RTL_LEFT_BITMAP) AC_MSG_CHECKING([for yet another 'start center rtl right' bitmap]) if test -z "$with_startcenter_rtl_right_bitmap" -o "$with_startcenter_rtl_right_bitmap" = "no" ; then if test "$with_startcenter_rtl_right_bitmap" = "no" ; then STARTCENTER_RTL_RIGHT_BITMAP= fi AC_MSG_RESULT([none]) else case "$with_startcenter_rtl_right_bitmap" in *.png) STARTCENTER_RTL_RIGHT_BITMAP="$with_startcenter_rtl_right_bitmap" ;; *) AC_MSG_WARN([Startcenter rtl right bitmap should be a .png file!]) ;; esac AC_MSG_RESULT([$STARTCENTER_RTL_RIGHT_BITMAP]) fi AC_SUBST(STARTCENTER_RTL_RIGHT_BITMAP) AC_MSG_CHECKING([for yet another 'start center space' bitmap]) if test -z "$with_startcenter_space_bitmap" -o "$with_startcenter_space_bitmap" = "no" ; then if test "$with_startcenter_space_bitmap" = "no" ; then STARTCENTER_SPACE_BITMAP= fi AC_MSG_RESULT([none]) else case "$with_startcenter_space_bitmap" in *.png) STARTCENTER_SPACE_BITMAP="$with_startcenter_space_bitmap" ;; *) AC_MSG_WARN([Startcenter left bitmap should be a .png file!]) ;; esac AC_MSG_RESULT([$STARTCENTER_SPACE_BITMAP]) fi AC_SUBST(STARTCENTER_SPACE_BITMAP) OOO_VENDOR= AC_MSG_CHECKING([for vendor]) if test -z "$with_vendor" -o "$with_vendor" = "no" ; then AC_MSG_RESULT([not set]) else OOO_VENDOR="$with_vendor" AC_MSG_RESULT([$OOO_VENDOR]) fi AC_SUBST(OOO_VENDOR) UNIXWRAPPERNAME= AC_MSG_CHECKING([for UNIX wrapper name]) if test -z "$with_unix_wrapper" -o "$with_unix_wrapper" = "no" -o "$with_unix_wrapper" = "yes" ; then AC_MSG_RESULT([not set]) else UNIXWRAPPERNAME="$with_unix_wrapper" AC_MSG_RESULT([$UNIXWRAPPERNAME]) fi AC_SUBST(UNIXWRAPPERNAME) AC_MSG_CHECKING([whether to install the compat oo* wrappers]) if test "$with_compat_oowrappers" = "yes" ; then WITH_COMPAT_OOWRAPPERS=YES AC_MSG_RESULT(yes) else WITH_COMPAT_OOWRAPPERS= AC_MSG_RESULT(no) fi AC_SUBST(WITH_COMPAT_OOWRAPPERS) AC_MSG_CHECKING([for product name]) PRODUCTNAME=AC_PACKAGE_NAME AC_MSG_RESULT([$PRODUCTNAME]) AC_SUBST(PRODUCTNAME) INSTALLDIRNAME=`echo AC_PACKAGE_NAME | tr '[[:upper:]]' '[[:lower:]]'` AC_MSG_CHECKING([for install dirname]) if test -n "$with_install_dirname" -a "$with_install_dirname" != "no" -a "$with_install_dirname" != "yes" ; then INSTALLDIRNAME="$with_install_dirname" fi AC_MSG_RESULT([$INSTALLDIRNAME]) AC_SUBST(INSTALLDIRNAME) AC_MSG_CHECKING([for prefix]) test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix PREFIXDIR="$prefix" AC_MSG_RESULT([$PREFIXDIR]) AC_SUBST(PREFIXDIR) AC_MSG_CHECKING([for libdir]) LIBDIR=[$(eval echo $(eval echo $libdir))] AC_MSG_RESULT([$LIBDIR]) AC_SUBST(LIBDIR) AC_MSG_CHECKING([for data dir]) DATADIR=[$(eval echo $(eval echo $datadir))] AC_MSG_RESULT([$DATADIR]) AC_SUBST(DATADIR) AC_MSG_CHECKING([for man dir]) MANDIR=[$(eval echo $(eval echo $mandir))] AC_MSG_RESULT([$MANDIR]) AC_SUBST(MANDIR) AC_MSG_CHECKING([for doc dir]) DOCDIR=[$(eval echo $(eval echo $docdir))] AC_MSG_RESULT([$DOCDIR]) AC_SUBST(DOCDIR) AC_MSG_CHECKING([for install dir]) INSTALLDIR="$LIBDIR/$INSTALLDIRNAME" AC_MSG_RESULT([$INSTALLDIR]) AC_SUBST(INSTALLDIR) # =================================================================== # De- or increase default verbosity of build process # =================================================================== AC_MSG_CHECKING([build verbosity]) if test -n "$enable_verbose"; then if test "$enable_verbose" = "yes"; then VERBOSE="TRUE" AC_MSG_RESULT([high]) fi if test "$enable_verbose" = "no"; then VERBOSE="FALSE" AC_MSG_RESULT([low]) fi else AC_MSG_RESULT([not set]) fi AC_SUBST(VERBOSE) dnl =================================================================== dnl Use zenity during build dnl =================================================================== AC_MSG_CHECKING([whether to use zenity during build]) if test "$enable_zenity" = "yes"; then AC_MSG_RESULT([yes]) AC_PATH_PROGS( ZNTY, zenity ) if test -z "$ZNTY"; then ENABLE_ZENITY=FALSE else ENABLE_ZENITY=TRUE fi else ENABLE_ZENITY=FALSE AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_ZENITY) dnl =================================================================== dnl Hook up LibreOffice's nodep environmental variable to automake's equivalent dnl --enable-dependency-tracking configure option dnl =================================================================== AC_MSG_CHECKING([whether to enable dependency tracking]) if test "$enable_dependency_tracking" = "no"; then nodep=TRUE AC_MSG_RESULT([no]) else AC_MSG_RESULT([yes]) fi AC_SUBST(nodep) dnl =================================================================== dnl Number of CPUs to use during the build dnl =================================================================== AC_MSG_CHECKING([for number of processors to use]) if test -n "$with_num_cpus"; then BUILD_NCPUS=$with_num_cpus else case `uname -s` in Darwin|FreeBSD|NetBSD|OpenBSD) BUILD_NCPUS=`sysctl -n hw.ncpu` ;; Linux) BUILD_NCPUS=`getconf _NPROCESSORS_ONLN` ;; # what else than above does profit here *and* has /proc? *) BUILD_NCPUS=`grep $'^processor\t*:' /proc/cpuinfo | wc -l` ;; esac # If we hit the catch-all case, but /proc/cpuinfo doesn't exist or has an # unexpected format, 'wc -l' will have returned 0. if test "$BUILD_NCPUS" -eq 0; then BUILD_NCPUS=1 fi fi AC_MSG_RESULT([$BUILD_NCPUS]) AC_SUBST(BUILD_NCPUS) # =================================================================== # Creating bigger shared library to link against # =================================================================== AC_MSG_CHECKING([whether to create a big library for better performance]) MERGELIBS= if test "$enable_mergelibs" = "yes"; then MERGELIBS="TRUE" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_SUBST(MERGELIBS) dnl =================================================================== dnl Number of parallel jobs to be executed by dmake dnl =================================================================== AC_MSG_CHECKING([for maximum of jobs per processor]) BUILD_MAX_JOBS="1" if test "z$with_max_jobs" != "z"; then BUILD_MAX_JOBS="$with_max_jobs" else if test "$enable_icecream" = "yes" ; then BUILD_MAX_JOBS="10" fi fi AC_MSG_RESULT([$BUILD_MAX_JOBS]) AC_SUBST(BUILD_MAX_JOBS) # ===================================================================== # determine the parallelism for gnu make # ===================================================================== AC_MSG_CHECKING([for maximum parallelism for gmake]) if test $BUILD_MAX_JOBS -gt $BUILD_NCPUS ; then GMAKE_PARALLELISM="$BUILD_MAX_JOBS" else GMAKE_PARALLELISM="$BUILD_NCPUS" fi GMAKE_MODULE_PARALLELISM="$BUILD_MAX_JOBS" if test "$no_parallelism_make" = "YES" ; then if test -z "$with_num_cpus"; then GMAKE_PARALLELISM="1"; if test $GMAKE_MODULE_PARALLELISM -gt 1 ; then AC_MSG_WARN([gmake 3.81 crashes with parallelism > 1, reducing it to 1. upgrade to 3.82 to avoid this.]) if test -z "$with_num_cpus"; then echo "gmake 3.81 crashes with parallelism > 1, reducing it to 1. upgrade to 3.82 to avoid this." >> warn fi GMAKE_MODULE_PARALLELISM="1" fi else GMAKE_PARALLELISM="$BUILD_NCPUS"; echo "make 3.81 is prone to crashes with parallelism > 1. Since --with-num-cpus was explicitly given, it is honored, but do not complain when make segfault on you." >> warn fi fi # GMAKE_PARALLELISM is used in tail_build # GMAKE_MODULE_PARALLELISM is used when building individual gbuildified module AC_MSG_RESULT([per module:$GMAKE_MODULE_PARALLELISM, for tail_build:$GMAKE_PARALLELISM]) AC_SUBST(GMAKE_PARALLELISM) AC_SUBST(GMAKE_MODULE_PARALLELISM) dnl =================================================================== dnl Setting up the environment. dnl =================================================================== echo "setting up the build environment variables..." if test -z "$COMPATH"; then AC_MSG_ERROR([No compiler found.]) fi AC_SUBST(COMPATH) AC_SUBST(BUILD_TYPE) if test "$WITH_MINGW" != "yes" ; then MINGW_EXTERNAL_DLLS= else mingw_dlldir=`$CC -print-sysroot`/mingw/bin for DLL in $MINGW_EXTERNAL_DLLS ; do AC_MSG_CHECKING([for $DLL]) if ! test -f "$mingw_dlldir/$DLL" ; then AC_MSG_ERROR([Could not find $DLL, install the appropriate mingw32-<package>, not only mingw32-<package>-devel.]) fi AC_MSG_RESULT([$mingw_dlldir/$DLL]) done fi AC_SUBST(MINGW_EXTERNAL_DLLS) # make sure config.guess is +x; we execute config.guess, so it has to be so; chmod +x ./config.guess dnl Setting up the post_download check script dnl Using autoconf here, so that the migration from the previous state dnl (checks for the additional Windows downloads were directly in dnl configure.in) is as easy as possible echo "setting up the post_download check script" autoconf post_download.in > post_download chmod +x post_download # Generate a configuration timestamp we can use for deps if test -f set_soenv; then mv -f set_soenv set_soenv.last else echo > set_soenv.last fi AC_CONFIG_FILES([config_host.mk ooo.lst set_soenv bin/repo-list build_env android/qa/sc/local.properties android/qa/desktop/local.properties]) AC_OUTPUT # touch the config timestamp file set_soenv.stamp if test ! -f set_soenv.stamp; then echo > set_soenv.stamp elif diff set_soenv set_soenv.last >/dev/null 2>&1; then echo "Configuration unchanged - avoiding scp2 stamp update" else echo > set_soenv.stamp fi dnl Run the set_soenv script to setup the Env.Host.sh script that sets dnl environment variables for the build. chmod +x set_soenv . ./config_host.mk && ./set_soenv dnl vim:set shiftwidth=4 softtabstop=4 expandtab: