#!/bin/bash # # OpenOffice.org Build script for GNU/Linux on x86 and PPC, Solaris, # FreeBSD, Mac OS X on Intel and PowerPC and Microsoft Windows 2003 # Server # # Supported versions: OOG680_m9 and SRC680_m236 # # Czech Native-Lang team (http://cs.openoffice.org/) # # # (c) Pavel Janík , 2002 - 2007 # (c) Dan Ohnesorg , 2002 # (c) Josef Cacek , 2002 - 2004 # (c) Rudolf Cejka , 2004 # (c) Petr Vaníček , 2004 (Linux/PPC support) # # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # Echo commands to be executed set -x date # Additional functions are stored in separate file . build.functions # Set EXTRACT_GSI to yes to get all GSI extracted EXTRACT_GSI="no" # Set EXTRACT_PO to yes to convert all extracted GSI to PO files EXTRACT_PO="no" # Set EXTRACT_README to yes to get all README.html files generated EXTRACT_README="no" # Set EXTRACT_HELPTREE to yes to get allfiles.tree file for Online help QA EXTRACT_HELPTREE="yes" # Set PROVIDE_STATIC_GSICHECK to yes to create "statically" linked gsicheck PROVIDE_STATIC_GSICHECK="yes" # Set DEVEL to yes to build developers' version DEVEL="no" # Set OOO_DEBUG to yes to build OOo with debugging OOO_DEBUG="no" # Set MEASURE_BUILD_PERFORMANCE to yes to have limited build [ -z ${MEASURE_BUILD_PERFORMANCE} ] && MEASURE_BUILD_PERFORMANCE="no" LINUX_PACKAGE_FORMATS="rpm deb" # Build only rpm packages when measuring build performance [ ${MEASURE_BUILD_PERFORMANCE} == "yes" ] && LINUX_PACKAGE_FORMATS="rpm" ## ## WARNING !!! ## # UNIVERSAL is heavy experimental stuff, please do not write e-mails # to me that it doesn't work, patches fail to apply etc. # Experimental: build universal binaries on Mac OS X? UNIVERSAL="no" # Guess if it is UNIVERSAL build to save the manual edit pwd | grep UNIVERSAL >/dev/null && { UNIVERSAL="yes" DEVEL="yes" } # Experimental: build without X11 on Mac OS X? AQUA="no" # Guess if it is AQUA build to save the manual edit pwd | grep AQUA >/dev/null && AQUA="yes" # # Describe the build system # [ `uname -s` = "Linux" ] && export OOO_BUILD_SYSTEM=Linux [ `uname -s` = "Linux" -a "`uname -m`" = "x86_64" ] && export OOO_BUILD_SYSTEM=LinuxX86-64 [ `uname -s` = "Linux" -a "`uname -m`" = "ppc" ] && export OOO_BUILD_SYSTEM=LinuxPPC [ `uname -s` = "FreeBSD" ] && export OOO_BUILD_SYSTEM=FreeBSD [ `uname -s` = "SunOS" ] && export OOO_BUILD_SYSTEM=Solaris [ `uname -s` = "Darwin" ] && { if [ "`uname -p`" = "powerpc" ] then export OOO_BUILD_SYSTEM=MacOSXPPC else # uname -p returns i386 export OOO_BUILD_SYSTEM=MacOSXX86 fi } [ `uname -s | grep CYGWIN` ] && export OOO_BUILD_SYSTEM=Windows if [ $DEVEL = "no" ] then VERSION=OOG680_m9 VERSIONNAME="2.3.1" BUILD_IDENTIFICATION="Build-1" BUILD_NUMBER=680 SUPPORTEDLANGUAGES="af be-BY bg bn cs cy da de dz el en-US eo es et fi fr ga gl it ka km ku lt mk nb ne nl nn pt sk sl sv tg th vi" # Build-0 is for experimental purposes only [ "x${BUILD_IDENTIFICATION}" = "xBuild-0" ] && SUPPORTEDLANGUAGES="en-US cs" else VERSION=SRC680_m236 VERSIONNAME="${VERSION}" BUILD_IDENTIFICATION="Build-1" BUILD_NUMBER=680 SUPPORTEDLANGUAGES="af be-BY bg bn cs cy da de dz el en-US eo es et fi fr ga gl it ka km ku lt mk nb ne nl nn pt ro sk sl sv tg th vi" # Build-0 is for experimental purposes only [ "x${BUILD_IDENTIFICATION}" = "xBuild-0" ] && SUPPORTEDLANGUAGES="en-US cs" fi # When measuring build performance, build only en-US if [ ${MEASURE_BUILD_PERFORMANCE} == "yes" ] then BUILD_IDENTIFICATION="Build-0" SUPPORTEDLANGUAGES="en-US" fi # FIXME: Solaris [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && SUPPORTEDLANGUAGES="en-US cs da" # Build en-US and cs only for Mac OS X (testing Universal Binaries and/or Aqua build) if [ ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then [ ${UNIVERSAL} = "yes" ] && SUPPORTEDLANGUAGES="en-US" fi BUILD_ID="${VERSION} ${BUILD_IDENTIFICATION} (`LANG=C date`)" CCACHEVERSION=2.4 DPKGVERSION=1.13.17 ANTVERSION=1.6.2 TRANSLATEVERSION=0.8rc5 export BASE_DIRECTORY=${PWD} export PATCHES=${BASE_DIRECTORY}/Patches/${VERSION} [ ! -d ${PATCHES} ] && PATCHES=`echo ${PATCHES}|sed 's#_m[0-9]*##'` export FILES=${BASE_DIRECTORY}/Files/${VERSION} [ ! -d ${FILES} ] && FILES=`echo ${FILES}|sed 's#_m[0-9]*##'` export SOURCES=${BASE_DIRECTORY}/Sources export BUILD=${BASE_DIRECTORY}/BuildDir export BUILD_OUTPUT_DIRECTORY=${BUILD}/${VERSION}/${BUILD_IDENTIFICATION} export PATH=${BUILD}/bin:${PATH} # # Add correct paths for GCC # # GCC in the standard path/location if [ ${OOO_BUILD_SYSTEM} = "LinuxPPC" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" -o ${OOO_BUILD_SYSTEM} = "MacOSXX86" ] then export OOO_GCC_PATH="/usr" export PATH=${OOO_GCC_PATH}/bin/:${PATH} export LD_LIBRARY_PATH=${OOO_GCC_PATH}/lib:${LD_LIBRARY_PATH} fi if [ ${OOO_BUILD_SYSTEM} = "LinuxX86-64" ] then export OOO_GCC_PATH="/usr/" export PATH=${OOO_GCC_PATH}/bin/:${PATH} export LD_LIBRARY_PATH=${OOO_GCC_PATH}/lib64:${LD_LIBRARY_PATH} fi if [ ${OOO_BUILD_SYSTEM} = "Linux" ] then # Use GCC 3.4.1 export OOO_GCC_PATH="/disk2/OpenOffice.org/GCC341" # ... or default system gcc [ ! -d ${OOO_GCC_PATH} ] && OOO_GCC_PATH=/usr export PATH=${OOO_GCC_PATH}/bin/:${PATH} export LD_LIBRARY_PATH=${OOO_GCC_PATH}/lib:${LD_LIBRARY_PATH} GTKPREFIX=/disk2/OpenOffice.org/GTK # Special hack for unxlngi6 build server with hacked GTK if [ -d ${GTKPREFIX} ] then # Add new pkg_config and library path export PKG_CONFIG_PATH=${GTKPREFIX}/lib/pkgconfig export LD_LIBRARY_PATH=${GTKPREFIX}/lib/:${LD_LIBRARY_PATH} fi fi if [ ${OOO_BUILD_SYSTEM} = "FreeBSD" ] then export OOO_GCC_PATH=~/GCC341 export PATH=${OOO_GCC_PATH}/bin/:${PATH} export LD_LIBRARY_PATH=${OOO_GCC_PATH}/lib:${LD_LIBRARY_PATH} fi if [ ${OOO_BUILD_SYSTEM} = "Windows" ] then # Use .NET 2003 compiler and to the right version of ConvertDSW and .NET Tools, NSIS export PATH="/cygdrive/c/PROGRA~1/CONVER~2:/cygdrive/c/PROGRA~1/MICROS~1.NET/Common7/Tools/Bin:/cygdrive/c/PROGRA~1/MICROS~1.NET/Common7/IDE:/cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin:/cygdrive/c/PROGRA~1/NSIS/:${PATH}" export DOTNET_PATH="/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1" fi # FIXME: ??? Remove this? # PKG_CONFIG_PATH to system for libxml2 if [ ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/sw/lib/pkgconfig export PATH=$PATH:/sw/bin fi # # GNU tar, GNU patch and GNU cp # export TAR=`which tar` export PATCH=`which patch` export CP=`which cp` # Location of GNU utilities on Solaris if [ ${OOO_BUILD_SYSTEM} = "Solaris" ] then export TAR=/usr/local/bin/tar export PATCH=/usr/local/bin/patch # GNU patch can be installed as gpatch [ ! -x ${PATCH} ] && export PATCH=/usr/bin/gpatch export CP=/usr/local/bin/cp fi if [ ${OOO_BUILD_SYSTEM} = "FreeBSD" ] then export PATCH=/usr/local/bin/gpatch export CP=/usr/local/bin/gcp fi if [ ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then export CP=/sw/bin/cp [ ! -x ${CP} ] && { echo "Install GNU cp (fink install fileutils)" exit } fi # # Architecture specific settings # case ${OOO_BUILD_SYSTEM} in Linux) OOOUTPATH=unxlngi6 OOARCHENVIRONMENT=LinuxX86 JDKPATH=/usr/lib/SunJava2 # SUSE Linux 10.0 [ ! -e ${JDKPATH} ] && JDKPATH=/usr/lib/jvm/java-1.4.2-sun # SUSE Linux 10.2 [ ! -e ${JDKPATH} ] && JDKPATH=/usr/lib/jvm/java-1_4_2-sun-1.4.2_update13 ;; LinuxX86-64) OOOUTPATH=unxlngx6 OOARCHENVIRONMENT=LinuxX86-64 JDKPATH=/opt/java [ ! -e ${JDKPATH} ] && JDKPATH=/usr/lib64/jvm/java-1.5.0-sun [ ! -e ${JDKPATH} ] && JDKPATH=/usr ;; LinuxPPC) OOOUTPATH=unxlngppc OOARCHENVIRONMENT=LinuxPPC JDKPATH=/opt/j2sdk1.3.1 ;; FreeBSD) OOOUTPATH=unxfbsd OOARCHENVIRONMENT=FreeBSD JDKPATH=/usr/local/jdk1.4.2 ;; Solaris) OOOUTPATH=unxsols4 OOARCHENVIRONMENT=SolarisSparc JDKPATH=/usr/java ;; Windows) OOOUTPATH=wntmsci10 OOARCHENVIRONMENT=Win32X86 JDKPATH=/cygdrive/c/j2sdk1.4.2_04 ;; MacOSXX86) OOOUTPATH=unxmacxi OOARCHENVIRONMENT=MacOSXX86 JDKPATH=/usr ;; MacOSXPPC) OOOUTPATH=unxmacxp OOARCHENVIRONMENT=MacOSXPPC JDKPATH=/usr ;; *) echo "Operating system/CPU not supported yet. Please report this to Pavel Janík." exit ;; esac if [ ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then [ ${UNIVERSAL} = "yes" ] && { OOARCHENVIRONMENT=MacOSXUniversal OOOUTPATH=unxmacxu } fi # # Prepare the build tree # rm -rf ${BUILD} mkdir -p ${BUILD} mkdir -p ${BUILD_OUTPUT_DIRECTORY} cd ${BUILD} # Prepare ccache [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "LinuxX86-64" -o ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] && PrepareCCache # ccache statistics before the build starts ccache -s 2>/dev/null if [ ${MEASURE_BUILD_PERFORMANCE} != "yes" ] then # Prepare dpkg for Debian packages [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "LinuxX86-64" ] && PrepareDpkg # Prepare translate tools [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "LinuxX86-64" ] && PrepareTranslate # Prepare statifier for static gsicheck? [ ${OOO_BUILD_SYSTEM} = "Linux" -a ${PROVIDE_STATIC_GSICHECK} = "yes" ] && PrepareStatifier fi # Prepare Ant PrepareAnt UnpackSource cd ooo_${VERSION}_src # Prepare Windows-only requirements [ ${OOO_BUILD_SYSTEM} = "Windows" ] && PrepareWindowsRequirements # Additional files for different operating systems # FIXME: Issue #i27627#: Windows directory not needed now for devel tree? [ -d ${SOURCES}/${OOO_BUILD_SYSTEM} ] && ${CP} -v -f -R ${SOURCES}/${OOO_BUILD_SYSTEM}/* . # Additional files for all systems (testing, updates, ...) [ -d ${SOURCES}/all ] && ${CP} -v -f -R ${SOURCES}/all/* . # Unpack external source files - GPC UnpackGPC # Copy Mozilla source to the final destination cp ${SOURCES}/mozilla-source-1.7.5.tar.gz moz/download ########################################################################### # # # Patches and fixes # # # ########################################################################### # FIXME: cws native54 - I asked on dev@installation export FORCE_DOWNLOADSETS=TRUE # # 64bit issues # if [ ${OOO_BUILD_SYSTEM} = "LinuxX86-64" ] then # FIXME: workaround for qadevOOo build failure export ANT_OPTS="-Xmx512m" fi # # Generic fixes # # Development fixes if [ $DEVEL = "yes" ] then # Experiment for Volker ApplyPatch i83430-TEST.diff # Experimental for ause... ApplyPatch i81911-directory.diff # Make module sal WaE free on unxlngx6 ApplyPatch CWS-sb81.diff # Should be fixed in fwk77, but I don't think it is complete. ApplyPatch i83012-WaE-framework.diff ApplyPatch i83017-WaE-sc-xmlexprt.diff ApplyPatch i83017-WaE-sc-misc.diff # Issue #i83016#: sw warning free on unxlngx6 # os104 ApplyPatch i83016-WaE-sw-svx.diff ApplyPatch i83016-WaE-sw.diff # Issue #i79845#: chinese_direction.hrc missing ApplyPatch i79845-svx-deps.diff # Issue #i81911#: testing Ingo's change ApplyPatch CWS-native112.diff # Issue #i82968#: rsc WaE fix # fixed in CWS rsclangvar ApplyPatch i82968-WaE-rsc.diff # Issue #i82985#: unotools ApplyPatch i82985-WaE-unotools.diff ApplyPatch i82987-WaE-xmloff.diff # Issue #i82981#: WaE for module i18npool # Fixed in cws locales24 ApplyPatch i82981-WaE-i18npool.diff # Issue #i82823#: WaE for psprint and vcl # Fixed in CWS vcl83 ApplyPatch i82823-WaE-psprint-vcl.diff # Issue #i82830#: WaE for basic ApplyPatch i82830-WaE-basic.diff # Issue #i82831#: WaE for crashrep ApplyPatch i82831-WaE-crashrep.diff # Issue #i82331#: osxbundle.zip missing ApplyPatch i82331-osxbundlezip.diff ApplyPatch CWS-pj86.diff ApplyPatch CWS-pj87.diff # Issue #i74751#: Add extra dir ApplyPatch i74751-libmawt.diff # WaE fixes for xmlhelp # Fixed in cws cmcfixes38 ApplyPatch i81415-WaE-xmlhelp.diff # WaE fixes for xmlsecurity ApplyPatch i81417-WaE-xmlsecurity.diff # QA: t602import01 CWS # ApplyPatch CWS-t602import01.diff # Add update URL # ApplyPatch update-URL.diff # # Experimental Mac OS X stuff # if [ ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then if [ ${AQUA} = "yes" ] then # Add aquavcl04 CWS ApplyPatch CWS-aquavcl04.diff mkdir ../ooo_${VERSION}_src.orig cp -r vcl ../ooo_${VERSION}_src.orig fi # # Experimental Universal Binaries support # if [ ${UNIVERSAL} = "yes" ] then # Issue #i#: Add --enable-universal configure flag ApplyPatch UB-config_office.diff ( cd config_office autoconf ) # Add Universal Binaries flags to Mac OS X environmental file ApplyPatch UB-solenv.diff ApplyPatch UB-stlport-HACK.diff ApplyPatch UB-sal.diff ApplyPatch UB-sal-THIS_ARCH.diff ApplyPatch UB-jvmfwk-JFW_PLUGIN_ARCH.diff ApplyPatch UB-icu.diff ApplyPatch UB-nas.diff # # Universal bridges changes # ApplyPatch UB-bridges.diff # Rename PowerPC files to prevent issues with names of # files same for Intel and PowerPC... ( cd bridges/source/cpp_uno/gcc3_macosx_powerpc for i in cpp2uno.cxx except.cxx uno2cpp.cxx do mv $i powerpc_$i done ) # Pyuno link command fix! ApplyPatch UB-TEMP-pyuno.diff # FIXME: using ARCH_FLAGS? ApplyPatch UB-portaudio.diff ApplyPatch UB-TEMP-sndfile.diff ApplyPatch UB-TEMP-berkeleydb.diff ApplyPatch UB-freetype.diff ApplyPatch UB-libtextcat.diff fi fi else # # OpenOffice.org 2.3.0 fixes and patches # # Issue #i74751#: Add extra dir ApplyPatch i74751-libmawt.diff # reportdesign parallel build issue ApplyPatch i81112-reportdesign-parallel.diff # # WaE fixes... # # WaE fixes for xmlhelp ApplyPatch i81415-WaE-xmlhelp.diff # WaE fixes for sc ApplyPatch i81416-WaE-sc.diff # WaE fixes for xmlsecurity ApplyPatch i81417-WaE-xmlsecurity.diff # echo Nothing... fi # Do not substitute fonts while printing # FIXME: report! ApplyPatch psprint-do-not-substitute.diff # # Preparing the compilation process # # We will use ccache on GNU/Linux (both x86 and x86_64), FreeBSD and MacOS X if [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "LinuxX86-64" -o ${OOO_BUILD_SYSTEM} = "LinuxPPC" -o ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" -o ${OOO_BUILD_SYSTEM} = "FreeBSD" ] then export CC="ccache ${OOO_GCC_PATH}/bin/gcc" export CXX="ccache ${OOO_GCC_PATH}/bin/g++" fi if [ ${OOO_BUILD_SYSTEM} = "Solaris" ] then # Default is to use gcc! Why? FIXME! export CC=cc export CXX=CC # FIXME: temporary! # Use GNU gcc # export OOO_GCC_PATH=/usr/local # export CC="ccache ${OOO_GCC_PATH}/bin/gcc" # export CXX="ccache ${OOO_GCC_PATH}/bin/g++" # OOARCHENVIRONMENT=SolarisSparcGcc fi ENABLE_WERROR="--enable-werror" # Configure OpenOffice.org # FIXME: --with-vendor... ( cd config_office COMMON_CONFIG_FLAGS="--with-use-shell=bash --with-jdk-home=${JDKPATH} --with-dict=ALL --with-lang=\"${SUPPORTEDLANGUAGES}\" --with-gnu-patch=${PATCH} --with-gnu-cp=${CP} --enable-crashdump --with-ant-home=${BUILD}/apache-ant-${ANTVERSION} --with-mozilla-version=1.7.5 --enable-build-mozab --with-build-version=\"${BUILD_ID}\"" # FIXME: libIDL is not installed on my Solaris box [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && COMMON_CONFIG_FLAGS="--with-use-shell=bash --with-jdk-home=${JDKPATH} --with-dict=ALL --with-lang=\"${SUPPORTEDLANGUAGES}\" --with-gnu-patch=${PATCH} --with-gnu-cp=${CP} --enable-crashdump --with-ant-home=${BUILD}/apache-ant-${ANTVERSION} --disable-mozilla --with-build-version=\"${BUILD_ID}\"" # TEMP: disable Mozilla (because of universal binaries) [ ${UNIVERSAL} = "yes" ] && COMMON_CONFIG_FLAGS="--with-use-shell=bash --with-jdk-home=${JDKPATH} --with-dict=ALL --with-lang=\"${SUPPORTEDLANGUAGES}\" --with-gnu-patch=${PATCH} --with-gnu-cp=${CP} --enable-crashdump --with-ant-home=${BUILD}/apache-ant-${ANTVERSION} --disable-mozilla --disable-binfilter --with-build-version=\"${BUILD_ID}\" --enable-universal" case ${OOO_BUILD_SYSTEM} in Linux) if [ `hostname` == "octopus" ] then eval ./configure ${COMMON_CONFIG_FLAGS} --enable-gtk --enable-kde --with-package-format=\"${LINUX_PACKAGE_FORMATS}\" ${ENABLE_WERROR} else # TEMP: --disable-kdeab # TEMP: --disable-cairo eval ./configure ${COMMON_CONFIG_FLAGS} --enable-gtk --enable-kde --disable-kdeab --disable-cairo --with-package-format=\"${LINUX_PACKAGE_FORMATS}\" ${ENABLE_WERROR} fi ;; LinuxX86-64) if [ `hostname` == "octopus" ] then eval ./configure ${COMMON_CONFIG_FLAGS} --enable-gtk --enable-kde --disable-cairo --with-system-freetype --with-package-format=\"${LINUX_PACKAGE_FORMATS}\" ${ENABLE_WERROR} else # Issue #i53880#: Use system freetype (FIXME) # Issue #i58343#: Use system boost (FIXME) # FIXME: testing --enable-kde eval ./configure ${COMMON_CONFIG_FLAGS} --enable-kde --disable-cups --disable-cairo --disable-gnome-vfs --with-system-freetype --with-system-boost --with-package-format=\"${LINUX_PACKAGE_FORMATS}\" ${ENABLE_WERROR} # --without-java fi ;; LinuxPPC) eval ./configure ${COMMON_CONFIG_FLAGS} --enable-mozilla ;; FreeBSD) # Issue #i46979#: FreeBSD: portaudio eval ./configure ${COMMON_CONFIG_FLAGS} --disable-gnome-vfs --disable-pasf ;; Solaris) # TEMP: disable pasf eval ./configure ${COMMON_CONFIG_FLAGS} --disable-cups --disable-gnome-vfs --disable-gtk --disable-pasf --disable-cairo ;; MacOSXX86|MacOSXPPC) # FIXME: #i27584#: MacOS X and X includes detection X11CONFIG="--with-x --x-includes=/usr/X11R6/include/ " # FIXME: system-curl not needed after configure17 integration (it is the default) if [ "${AQUA}" != "yes" ] then eval ./configure ${COMMON_CONFIG_FLAGS} ${X11CONFIG} --disable-gtk --disable-crashdump --with-system-curl --with-system-libxml ${ENABLE_WERROR} else eval ./configure ${COMMON_CONFIG_FLAGS} --disable-gtk --disable-crashdump --with-system-curl --with-system-libxml ${ENABLE_WERROR} fi ;; Windows) eval ./configure ${COMMON_CONFIG_FLAGS} --with-mozilla-version=1.7.5 --enable-build-mozab \ --with-frame-home=\"${DOTNET_PATH}\" ;; esac ) || { echo "Configure failed. Fix it!" exit } # # Localized extras # for ISOCODE in $SUPPORTEDLANGUAGES do [ -f ${FILES}/extras_${ISOCODE}.tar.gz ] && ${TAR} xvfz ${FILES}/extras_${ISOCODE}.tar.gz done for ISOCODE in $SUPPORTEDLANGUAGES do # Unpack all auxiliary files [ -f ${FILES}/auxiliary_${ISOCODE}.tar.gz ] && ${TAR} xvfz ${FILES}/auxiliary_${ISOCODE}.tar.gz # Unpack localized help images [ -f ${FILES}/help_images_${ISOCODE}.tar.gz ] && ${TAR} xvfz ${FILES}/help_images_${ISOCODE}.tar.gz # Unpack images for toolbars (B, U, I etc.) [ -f ${FILES}/toolbar_images_${ISOCODE}.tar.gz ] && ${TAR} xvfz ${FILES}/toolbar_images_${ISOCODE}.tar.gz done # When measuring build performance, these variables are specified # in the environment if [ ${MEASURE_BUILD_PERFORMANCE} != "yes" ] then export MAXMODULES=1 export MAXPROCESSES=1 [ -f ~/.OpenOffice.org-build-SMP ] && . ~/.OpenOffice.org-build-SMP fi export nodep=true [ ! -z "${MAXMODULES}" ] && MAXMODULESFLAG="-P${MAXMODULES}" [ ! -z "${MAXPROCESSES}" ] && MAXPROCESSESFLAG="-P${MAXPROCESSES}" [ -f bootstrap ] || { echo "bootstrap not found - fix this" exit } [ "x${OOO_DEBUG}" = "xyes" ] && export DBG_LEVEL=10 ./bootstrap || { echo "Bootstrap failed" exit } # Source the environment file and copy it into final output directory for # future reference mkdir -p ${BUILD_OUTPUT_DIRECTORY}/build if [ ${OOO_BUILD_SYSTEM} = "Windows" ] then . winenv.set.sh cp winenv.set.sh ${BUILD_OUTPUT_DIRECTORY}/build else . ${OOARCHENVIRONMENT}Env.Set.sh cp ${OOARCHENVIRONMENT}Env.Set.sh ${BUILD_OUTPUT_DIRECTORY}/build set >${BUILD_OUTPUT_DIRECTORY}/build/${OOARCHENVIRONMENT}-complete_environment fi # Set OOO_VENDOR in build environment export OOO_VENDOR="Pavel JanĂ­k (paveljanik@openoffice.org)" # # Temporary directory setting # TEMPDIRECTORY=${BUILD}/tmp mkdir -p ${TEMPDIRECTORY} # Issue #i51139#: workaround export TMP=${TEMPDIRECTORY} export TEMP=${TEMPDIRECTORY} # # Merging updated translations (when not measuring build performance)... # if [ ${MEASURE_BUILD_PERFORMANCE} != "yes" ] then # Build transex3 project first PrepareLocalizeTool # Extract all README.html files [ ${EXTRACT_README} = "yes" ] && ExtractREADME # Extract the tree of helpcontent2 for QA [ ${OOO_BUILD_SYSTEM} = "Linux" -a ${EXTRACT_HELPTREE} = "yes" ] && ExtractHelpTree # Prepare static gsicheck [ ${OOO_BUILD_SYSTEM} = "Linux" -a ${PROVIDE_STATIC_GSICHECK} = "yes" ] && ProvideStaticGsicheck # Extract all GSI files [ ${EXTRACT_GSI} = "yes" -o ${EXTRACT_PO} = "yes" ] && ExtractGSI # Convert GSI files to PO files [ ${EXTRACT_PO} = "yes" ] && ExtractPO # Convert GSI files to PO files [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "MacOSXX86" ] && ExtractPOT fi # # Add/update translations # # Merging GSI/SDF files for ISOCODE in $SUPPORTEDLANGUAGES do cp ${FILES}/GSI_${ISOCODE}.sdf.{bz2,gz} ${BUILD} 2>/dev/null [ -f ${BUILD}/GSI_${ISOCODE}.sdf.bz2 ] && bunzip2 -f ${BUILD}/GSI_${ISOCODE}.sdf.bz2 [ -f ${BUILD}/GSI_${ISOCODE}.sdf.gz ] && gunzip ${BUILD}/GSI_${ISOCODE}.sdf.gz [ -f ${BUILD}/GSI_${ISOCODE}.sdf ] && { # Remove all existing translations from localize.sdf files for localize in `find . -name localize.sdf` do awk -v ISOCODE=$ISOCODE -F' ' '{if ($10 != ISOCODE) print }' $localize >$localize.tmp mv -f $localize.tmp $localize done MergeGSI ${ISOCODE} } done # FIXME/TEMP: add missing auxiliary/isocode directories for now for i in ${SUPPORTEDLANGUAGES} do [ ! -d helpcontent2/source/auxiliary/$i ] && ${CP} -r helpcontent2/source/auxiliary/en-US helpcontent2/source/auxiliary/$i done cd instsetoo_native build.pl ${MAXMODULESFLAG} --all --html --dontgraboutput -- ${MAXPROCESSESFLAG} || { date echo "Build failed, fix the bug above." read } cd .. # Copy final HTML build file into build directory cp ${OOOUTPATH}.pro.build.html ${BUILD_OUTPUT_DIRECTORY}/build if [ ${MEASURE_BUILD_PERFORMANCE} != "yes" ] then # # Openoffice.org SDK # [ ${AQUA} != "yes" ] && CreateSDK # # Sun Report Builder # CopyReportBuilder # # Sun Presentation Minimizer # [ ${DEVEL} != "no" ] && CopyPresentationMinimizer # # Installation sets # CreateNativeInstallers # FIXME # #i64937#: Language packaging broken as of now [ ${OOO_BUILD_SYSTEM} != "MacOSXX86" -a ${OOO_BUILD_SYSTEM} != "MacOSXPPC" ] && CreateNativeLangPacks [ ${AQUA} != "yes" ] && CreateURE # Some statistics... du -sh . du -sh solver fi ccache -s 2>/dev/null