#!/bin/bash # # Pavel's build # # 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: OOO320_m19, OOO330_m20 and DEV300_m98 # # Czech Native-Lang team (http://cs.openoffice.org/) # # # (c) Pavel Janík , 2002 - 2010 # (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 . includes/build.infrastructure . includes/build.functions BuildInit BuildPhaseStarted INIT # 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 stable for stable build, # devel to build developers' version, # old to build previous stable version DEVEL="devel" # 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" # # 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 # # Previous stable version # if [ $DEVEL = "old" ] then VERSION=OOO320_m19 VERSIONNAME="${VERSION}" BUILD_IDENTIFICATION="Build-1" BUILD_NUMBER=320 SUPPORTEDLANGUAGESNOGSI="ca de en-US es fr it nl pt sv" SUPPORTEDLANGUAGES="${SUPPORTEDLANGUAGESNOGSI} be-BY bg bn cs cy da el et fi ga km ku lt mk nb nn ro sk sl uz vi" # Build-0 is for experimental purposes only [ "x${BUILD_IDENTIFICATION}" = "xBuild-0" ] && SUPPORTEDLANGUAGES="en-US cs" fi # # Current or to-be-stable version # if [ $DEVEL = "stable" ] then VERSION=OOO330_m20 VERSIONNAME="${VERSION}" BUILD_IDENTIFICATION="Build-1" BUILD_NUMBER=330 # Remove fr from NOGSI - just because I can! SUPPORTEDLANGUAGESNOGSI="ca de en-US es it nl pt sv" # Disabled: ne, gd, id, gl (latest update in April), ka (latest # update in July 2007), eo (September 2007), af (July 2007), dz # (May), tg (June 2007), th # Disable km: ahref error in readlicense_oo SUPPORTEDLANGUAGES="${SUPPORTEDLANGUAGESNOGSI} be-BY bg bn cs cy da el et fi ga ku lt lv mk nb nn ro sk sl uz vi" # Build-0 is for experimental purposes only [ "x${BUILD_IDENTIFICATION}" = "xBuild-0" ] && SUPPORTEDLANGUAGES="en-US cs" fi if [ $DEVEL = "devel" ] then VERSION=DEV300_m98 VERSIONNAME="${VERSION}" BUILD_IDENTIFICATION="Build-1" BUILD_NUMBER=300 # Disabled: ne, gd, id, gl (latest update in April), ka (latest # update in July 2007), eo (September 2007), af (July 2007), dz # (May), tg (June 2007), th SUPPORTEDLANGUAGESNOGSI="ca de en-US es fr it nl pt sv" SUPPORTEDLANGUAGES="${SUPPORTEDLANGUAGESNOGSI} be-BY bg bn cs cy da el et fi ga km ku lt lv mk nb nn ro sk sl uz 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_ID="${VERSION} ${BUILD_IDENTIFICATION} (`LANG=C date`)" CCACHEVERSION=3.0.1 MAKEVERSION=3.82 DPKGVERSION=1.13.17 ANTVERSION=1.7.0 TRANSLATEVERSION=1.2.0 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} if [ ${OOO_BUILD_SYSTEM} != "Windows" ] then export PATH=${BUILD}/bin:${PATH} fi # # 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" # Do not re-add /usr/bin into PATH! [ ${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 # Do not re-add /usr/bin into 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 if [ `hostname` = "drogo" ] 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 FRAME_HOME="/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1" fi if [ `hostname` = "drogo2" ] then export FRAME_HOME="/cygdrive/c/Program Files/Microsoft SDKs/Windows/v6.0A" export PSDK_HOME="/cygdrive/c/Program Files/Microsoft SDKs/Windows/v6.0A" export DIRECTX_HOME="/cygdrive/c/Program Files/Microsoft DirectX SDK (October 2006)" fi 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=/opt/java ;; 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 # FIXME: TEMP: new version... if [ `hostname` = "drogo" ] then JDKPATH="/cygdrive/c/Program Files/Java/jdk1.6.0_07" fi if [ `hostname` = "drogo2" ] then JDKPATH="/cygdrive/c/Java/jdk-1.6u7" fi ;; 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 # # Prepare the build tree # rm -rf ${BUILD} mkdir -p ${BUILD} mkdir -p ${BUILD_OUTPUT_DIRECTORY} cd ${BUILD} # Do not build ccache when measuring build performance if [ ${MEASURE_BUILD_PERFORMANCE} != "yes" ] then # Prepare ccache [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "LinuxX86-64" -o ${OOO_BUILD_SYSTEM} = "MacOSXX86" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] && PrepareCCache # Prepare make if [ $DEVEL = "devel" ] then PrepareMake fi fi # ccache statistics before the build starts ccache -s 2>/dev/null make -v 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 # Prepare JUnit PrepareJUnit # Add new ant to the path before the system ant (potentially) export ANT_HOME=${BUILD}/apache-ant-${ANTVERSION} export PATH=${ANT_HOME}/bin:${PATH}: BuildPhaseFinished INIT BuildInfo BuildPhaseStarted UNPACKING_THE_SOURCECODE UnpackSource BuildPhaseFinished UNPACKING_THE_SOURCECODE cd ooo_${VERSION}_src [ "x${GAELIC}" = "xyes" ] && tar xvfz ${BASE_DIRECTORY}/Files/Gaelic/helpcontent2.tar.gz # 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/SeaMonkey source to the final destination cp ${SOURCES}/mozilla-source-1.7.5.tar.gz moz/download cp ${SOURCES}/seamonkey-1.1.14.source.tar.bz2 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 BuildPhaseStarted PATCHING # # Generic fixes # if [ $DEVEL = "old" ] then # DEV300_m59 ApplyPatch DEV300_m59-basctl.diff # DEV300_m54 ApplyPatch iFIXME-graphite_layout-gcc.diff # DEV300_m53 ApplyPatch i103763-seamonkey-gtk2-toolkit.diff autoconf # DEV300_m43 ApplyPatch iFIXME-Windows-SfxItemPool.diff ApplyPatch i100197-strncpyNet2003.diff # DEV300_m42 ApplyPatch i73102.diff ApplyPatch sc-Net2003.diff fi if [ $DEVEL = "stable" ] then # Apply WaE patch for large Largo build machine only. [ `hostname` == "linux-6qcm" ] && ApplyPatch LARGE-WaE-modules.diff ApplyPatch iFIXME-writerfilter-FormControlHelper.diff ApplyPatch i112868-sdext-WaE.diff ApplyPatch i112871-WaE-crashrep.diff # #i112837#: vbahelper,sc WaE ApplyPatch i112837-vbahelper.diff ApplyPatch i112837-sc.diff # #i112500#: WaE: chart2/source/tools/DiagramHelper.cxx ApplyPatch i112500-chart2-DiagramHelper.diff # #i112497#: WaE in vcl/source/glyphs/graphite_layout.cxx ApplyPatch i112497-WaE-graphite_layout.diff ApplyPatch iFIXME-svtools.diff ApplyPatch i110973-oox.diff ApplyPatch i110731-drawinglayer.diff # VERIFY... # ApplyPatch i110731-slideshow.diff ApplyPatch i109623-NULL-FALSE.diff # DEV300_m67 # FIXME: DEV300_m68 # ApplyPatch i107025-salgdi.diff # DEV300_m59 ApplyPatch DEV300_m59-basctl.diff # DEV300_m53 ApplyPatch i103763-seamonkey-gtk2-toolkit.diff autoconf # DEV300_m43 # FIXME: DEV300_m68 # ApplyPatch iFIXME-Windows-SfxItemPool.diff # FIXME # ApplyPatch i100197-strncpyNet2003.diff # DEV300_m42 # Still needed on x86 with gcc 4.0.2 ApplyPatch i73102.diff # FIXME # ApplyPatch sc-Net2003.diff # Hack: do not build Windows Vista fpicker dialogs # ApplyPatch i87081-fpicker-Vista.diff # Windows WaE: sw (#i88204#) # Issue #i88202#: Make writerfilter WaE clean on Windows # Invalid after xmlfilter06 # FIXME: what about Windows, reopen the bug...? # ApplyPatch i88202-WaE-writerfilter-Windows.diff fi if [ $DEVEL = "devel" ] then # DEV300_m97 ApplyPatch i116423-hash-style-both.diff # PJ: verify it is fixed, close issue # ApplyPatch i116431-filter-WaE.diff ApplyPatch iFIXME-oox-anonymous-type.diff ApplyPatch iFIXME-desktop-anonymous.diff # #i116434# ApplyPatch iFIXME-slideshow-nonsense.diff ApplyPatch iFIXME-sd-nonsense.diff ApplyPatch i116440-cp-preserve.diff # PJ: FIXED? # ApplyPatch iFIXME-mktemp.diff # DEV300_m96 # nothing needed? # --- ApplyPatch i114186-WaE-slidesorter.diff ApplyPatch iFIXME-writerfilter-FormControlHelper.diff # #i112837#: vbahelper,sc WaE # Newer patch... ApplyPatch iFIXME-vbahelper.diff ApplyPatch i112837-sc.diff ApplyPatch iFIXME-svtools.diff # FIXME: patch no longer needed in DEV300_m97? # ApplyPatch i110973-oox.diff ApplyPatch i110731-drawinglayer.diff # VERIFY... # ApplyPatch i110731-slideshow.diff # DEV300_m59 ApplyPatch DEV300_m59-basctl.diff # DEV300_m53 ApplyPatch i103763-seamonkey-gtk2-toolkit.diff autoconf # FIXME: Still needed on x86 with gcc 4.0.2 ApplyPatch i73102.diff fi BuildPhaseFinished PATCHING # # 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 BuildPhaseStarted CONFIGURE ENABLE_WERROR="--enable-werror" # FIXME: presenter-screen/console? ENABLE_EXTENSIONS="--enable-minimizer --enable-presenter-console --enable-presenter-extra-ui --enable-pdfimport --enable-wiki-publisher --enable-report-builder" BUILD_MOZILLA_VERSION=1.1.14 # Configure OpenOffice.org # FIXME: --with-vendor... ( TARBALLSDIR=${BASE_DIRECTORY}/.ooo_tar_balls 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=${BUILD_MOZILLA_VERSION} --enable-build-mozab --with-build-version=\"${BUILD_ID}\" ${ENABLE_EXTENSIONS} --with-junit=${BUILD}/junit-${JUNITVERSION}.jar --with-external-tar=${TARBALLSDIR}" mkdir -p ${TARBALLSDIR} # 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}\" ${ENABLE_EXTENSIONS}" 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} --disable-gstreamer else # TEMP: --disable-kdeab # TEMP: --disable-cairo # TEMP: --disable-randr eval ./configure ${COMMON_CONFIG_FLAGS} --enable-gtk --enable-kde --disable-kdeab --disable-cairo --disable-randr --with-package-format=\"${LINUX_PACKAGE_FORMATS}\" ${ENABLE_WERROR} fi ;; LinuxX86-64) if [ `hostname` == "octopus" ] then eval ./configure ${COMMON_CONFIG_FLAGS} --with-stlport --enable-gtk --enable-kde --disable-cairo --with-package-format=\"${LINUX_PACKAGE_FORMATS}\" ${ENABLE_WERROR} --disable-gstreamer else # FIXME: testing --enable-kde eval ./configure ${COMMON_CONFIG_FLAGS} --with-stlport --enable-kde --disable-cups --disable-cairo --disable-gnome-vfs --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: system-curl not needed after configure17 integration (it is the default) eval ./configure ${COMMON_CONFIG_FLAGS} --disable-gtk --disable-crashdump --with-system-curl --with-system-libxml ${ENABLE_WERROR} ;; Windows) if [ `hostname` = "drogo" ] then # FIXME: WERROR still not possible (sd, sw) eval ./configure ${COMMON_CONFIG_FLAGS} --with-mozilla-version=${BUILD_MOZILLA_VERSION} --enable-build-mozab \ --with-frame-home=\"${FRAME_HOME}\" fi if [ `hostname` = "drogo2" ] then # FIXME: WERROR still not possible (sd, sw) eval ./configure ${COMMON_CONFIG_FLAGS} --with-mozilla-version=${BUILD_MOZILLA_VERSION} --enable-build-mozab \ --with-frame-home=\"${FRAME_HOME}\" \ --with-psdk-home=\"${PSDK_HOME}\" \ --with-midl-path=\"${FRAME_HOME}/bin\" \ --with-directx-home=\"${DIRECTX_HOME}\" fi ;; esac ) || { BuildPhaseError CONFIGURE "Configure failed. Fix it!" exit } BuildPhaseFinished CONFIGURE # # 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 JOBFLAGS="--pre_job=../../../includes/build-prejob.sh --post_job=../../../includes/build-postjob.sh" [ ! -z "${MAXMODULES}" ] && MAXMODULESFLAG="-P${MAXMODULES}" [ ! -z "${MAXPROCESSES}" ] && MAXPROCESSESFLAG="-P${MAXPROCESSES}" [ "x${OOO_DEBUG}" = "xyes" ] && export DBG_LEVEL=10 BuildPhaseStarted BOOTSTRAP [ -f bootstrap ] || { BuildPhaseError BOOTSTRAP "bootstrap not found" exit } ./bootstrap || { BuildPhaseError BOOTSTRAP "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 BuildPhaseFinished BOOTSTRAP # Set OOO_VENDOR in build environment export OOO_VENDOR="Pavel JanĂ­k (paveljanik@openoffice.org)" [ "x${GAELIC}" = "xyes" ] && export OOO_VENDOR="Ionnsachadh agus Teagasg Alba" # # Temporary directory setting # TEMPDIRECTORY=${BUILD}/tmp mkdir -p ${TEMPDIRECTORY} # Issue #i51139#: workaround export TMP=${TEMPDIRECTORY} export TEMP=${TEMPDIRECTORY} # Make build logs verbose export VERBOSE=TRUE # # 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" ] && [ "x${EXTRACT_POT}" != "xno" ] && ExtractPOT # # Add/update translations # BuildPhaseStarted MERGING_TRANSLATIONS 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 ] && { if [ -d l10n ] then cp ${BUILD}/GSI_${ISOCODE}.sdf \ l10n/source/${ISOCODE}/localize.sdf CheckGSI ${ISOCODE} else # 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} fi } 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 BuildPhaseFinished MERGING_TRANSLATIONS fi BuildPhaseStarted BUILD cd instsetoo_native build.pl ${MAXMODULESFLAG} ${JOBFLAGS} --all --html --dontgraboutput -- ${MAXPROCESSESFLAG} || { BuildPhaseError BUILD "Build failed, fix the bug above." read } cd .. BuildPhaseFinished BUILD if [ ${MEASURE_BUILD_PERFORMANCE} != "yes" ] then # # Openoffice.org SDK # [ ${OOO_BUILD_SYSTEM} = "MacOSXX86" -a ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] && CopySDK # # Report Builder # CopyReportBuilder # # Presentation Minimizer # CopyPresentationMinimizer # # Presentation Screen # CopyPresentationScreen # # PDF Import # CopyPDFImport # # WikiPublisher # CopyWikiPublisher # # Installation sets # CreateNativeInstallers CreateNativeLangPacks [ ${OOO_BUILD_SYSTEM} != "MacOSXX86" -a ${OOO_BUILD_SYSTEM} != "MacOSXPPC" ] && CreateURE fi # # Collecting some statistics from the build for future reference # BuildPhaseStarted STATISTICS # Copy final HTML build file into build directory cp ${OOOUTPATH}.pro.build.html ${BUILD_OUTPUT_DIRECTORY}/build if [ ${MEASURE_BUILD_PERFORMANCE} != "yes" ] then du -sh . du -sh solver fi ccache -s 2>/dev/null BuildPhaseFinished STATISTICS BuildFinished