#!/bin/bash # # OpenOffice.org Build script for GNU/Linux on x86 and PPC, Solaris, # FreeBSD, Mac OS X and Microsoft Windows 2003 Server # # Supported versions: OOD680_m5 and SRC680_m185 # # Czech Native-Lang team (http://cs.openoffice.org/) # # # (c) Pavel Janík , 2002 - 2006 # (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 BUILD_DEBUG_PACKAGES to yes to get debugging packages BUILD_DEBUG_PACKAGES="no" # Set DEVEL to yes to build developers' version DEVEL="no" # Set OOO_DEBUG to yes to build OOo with debugging OOO_DEBUG="no" ## ## WARNING ## # This is experimental, 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" ## ## WARNING ## # This is experimental, please do not write e-mails to me that it doesn't # work, patches fail to apply etc. # 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" DEVEL="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=MacOSXIntel fi } [ `uname -s | grep CYGWIN` ] && export OOO_BUILD_SYSTEM=Windows if [ $DEVEL = "no" ] then VERSION=OOD680_m5 BUILD_IDENTIFICATION="Build-1" BUILD_NUMBER=680 # FIXME: Languages to fix: hr ns/nso? # The following GSI files still reference OOO_LICENSE: # lv # sh-YU # sr-CS # -> so they are not updated at all! # fa: Connection timed out. # en-GB: Connecting to en-gb.pyxidium.co.uk|217.155.236.249|:32080... failed: Connection timed out. # ar: disabled: www.al-daleel.org... failed: Name or service not known. # lt: Contains no longer existing sfx2/source/accel/localize.sdf SUPPORTEDLANGUAGES="af be-BY bg bn br cs cy da de el en-US et fi fr ga it km lo mk nb ne nl nn nr sk sl st sv th tn ts xh zu" # Build-0 is for experimental purposes only [ "x${BUILD_IDENTIFICATION}" = "xBuild-0" ] && SUPPORTEDLANGUAGES="en-US cs" else VERSION=SRC680_m185 BUILD_IDENTIFICATION="Build-2" BUILD_NUMBER=680 # FIXME: Languages to fix: hr ns/nso? # The following GSI files still reference OOO_LICENSE: # lv # sh-YU # sr-CS # -> so they are not updated at all! # fa: Connection timed out. # en-GB: Connecting to en-gb.pyxidium.co.uk|217.155.236.249|:32080... failed: Connection timed out. # ar: disabled: www.al-daleel.org... failed: Name or service not known. # lt: Contains no longer existing sfx2/source/accel/localize.sdf SUPPORTEDLANGUAGES="af be-BY bg bn br cs cy da de el en-US et fi fr ga it km lo mk nb ne nl nn nr sk sl st sv th tn ts xh zu" # Build-0 is for experimental purposes only [ "x${BUILD_IDENTIFICATION}" = "xBuild-0" ] && SUPPORTEDLANGUAGES="en-US cs" 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} = "MacOSXIntel" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then [ ${UNIVERSAL} = "yes" -o ${AQUA} = "yes" ] && SUPPORTEDLANGUAGES="en-US cs" 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} = "MacOSXIntel" ] 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="/tmp/GCC341/" # Try with system gcc 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 # Add new pkg_config and library path export PKG_CONFIG_PATH=${GTKPREFIX}/lib/pkgconfig export LD_LIBRARY_PATH=${GTKPREFIX}/lib/:${LD_LIBRARY_PATH} 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 # PKG_CONFIG_PATH to system for libxml2 if [ ${OOO_BUILD_SYSTEM} = "MacOSXIntel" -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} = "MacOSXIntel" -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=LinuxIntel JDKPATH=/usr/lib/SunJava2 # SUSE Linux 10.0 [ ! -e ${JDKPATH} ] && JDKPATH=/usr/lib/jvm/java-1.4.2-sun ;; LinuxX86-64) OOOUTPATH=unxlngx6 OOARCHENVIRONMENT=LinuxX86-64 JDKPATH=/opt/java ;; 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=Win32Intel JDKPATH=/cygdrive/c/j2sdk1.4.2_04 ;; MacOSXIntel) OOOUTPATH=unxmacxi OOARCHENVIRONMENT=MacOSXIntel 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} = "MacOSXIntel" -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} = "MacOSXIntel" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] && PrepareCCache # 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} = "LinuxX86-64" ] && PrepareTranslate # Prepare statifier for static gsicheck? [ ${OOO_BUILD_SYSTEM} = "Linux" -a ${PROVIDE_STATIC_GSICHECK} = "yes" ] && PrepareStatifier # 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 # # # ########################################################################### # Set OOO_VENDOR in build environment export OOO_VENDOR="Pavel JanĂ­k (paveljanik@openoffice.org)" # 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 # Issue #i68948#: Change install_name of all .dylibs ApplyPatch i68948-install_name-for-dylib.diff # Issue #i68948#: Change install_name of all berkeleydb libs ApplyPatch i68948-install_name-for-berkeleydb.diff # FIXME: libxml* libs? # QA CWS macmozplugfix ApplyCWS macmozplugfix # QA CWS dicooo03 ApplyCWS dicooo03 # QA CWS pj59 ApplyCWS pj59 # odk and translatable strings... ApplyCWS gh12c ApplyCWS osxpatchpool # Crash with Crystal icons # Issue #i69725#: SRC680_m185: crash in Bitmap::ImplGetImpBitmap ApplyCWS vcl67 ApplyCWS ause068 # Issue #i68948#: Set the install_name of all delivered .dylib files # FIXME!!!! # Issue #i69469#: 'void SwDoc::FldsToCalc(SwCalc&, ULONG, USHORT)' does # not match any in class 'SwDoc' ApplyPatch i69469-SetFieldsDirty.diff # Issue #i68981#: leaks: 96 bytes from AllSettings::CopyData ApplyPatch i68981-leak-ImplAllSettingsData.diff # Issue #i69343#: untranslatable string in Impress ApplyPatch i69343-Impress-strings.diff # Issue #i69110#: Leak in desctructor of TransferableDataHelper ApplyPatch i69110-leak-TransferableDataHelper.diff # Issue #i#: Leak in destructor of VCLXWindow ApplyPatch i68973-leak-VCLXWindow.diff # Add update URL ApplyPatch update-URL.diff # # Experimental Mac OS X stuff # if [ ${OOO_BUILD_SYSTEM} = "MacOSXIntel" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then # # Experimental AQUA from aquavcl01 # if [ ${AQUA} = "yes" ] then # Experimental: enable more extensive debugging... ApplyPatch iFIXME-aquavcl01-debugging.diff cp -r vcl vcl.${VERSION} ApplyPatch CWS-aquavcl01.diff cp -r vcl vcl.aquavcl01 # FIXME: one callback procedure is enough... ApplyPatch aquavcl01-one-SALFRAMEPROC.diff # Add demo code to svdem ApplyPatch aquavcl01-complete-menus-20060808.diff cp -r vcl vcl.aquavcl01.aftermenus # Add Pierre's function into menu ApplyPatch aquavcl01-fullscreen-pierre-use-it.diff mkdir ../ooo_${VERSION}_src.orig cp -r vcl ../ooo_${VERSION}_src.orig cp -r fpicker ../ooo_${VERSION}_src/fpicker.${VERSION} ApplyPatch aquavcl01-fpicker-enable-options.diff ApplyPatch aquavcl01-fpicker-add-to-scp2.diff ApplyPatch aquavcl01-fpicker-generic.diff cp -r fpicker ../ooo_${VERSION}_src.orig/fpicker.after_generic cp -r ${SOURCES}/aquafpicker/* . cp -r fpicker ../ooo_${VERSION}_src.orig/fpicker.patched 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 # Temporary disable Universal Binaries in bridges ApplyPatch UB-TEMP-bridges.diff # 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 fi fi else # # OpenOffice.org 2.0.4 fixes and patches # # Add update URL ApplyPatch update-URL.diff fi # Issue #i61824#: always strip on GNU/Linux # Petr Mládek promised to fix it. ApplyPatch i61824-always-strip.diff # Issue #i16874#: Turn kerning on by default for 2.0+ ApplyPatch i35873-kerning-on.diff # 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} = "MacOSXIntel" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" -o ${OOO_BUILD_SYSTEM} = "FreeBSD" ] then export CC="${BUILD}/bin/ccache ${OOO_GCC_PATH}/bin/gcc" export CXX="${BUILD}/bin/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 # Configure OpenOffice.org ( cd config_office COMMON_CONFIG_FLAGS="--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-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) if [ ${OOO_BUILD_SYSTEM} = "MacOSXIntel" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then [ ${UNIVERSAL} = "yes" ] && COMMON_CONFIG_FLAGS="--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" fi case ${OOO_BUILD_SYSTEM} in Linux) # TEMP: --disable-kdeab # TEMP: --disable-cairo eval ./configure ${COMMON_CONFIG_FLAGS} --enable-gtk --enable-kde --disable-kdeab --disable-cairo --with-package-format=\"rpm deb\" ;; LinuxX86-64) # 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=\"rpm deb\" # --without-java ;; 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 ;; MacOSXIntel|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 # FIXME: testing werror on X11 build as well! eval ./configure ${COMMON_CONFIG_FLAGS} ${X11CONFIG} --disable-gtk --disable-crashdump --with-system-curl --with-system-libxml --enable-werror else # FIXME: disable binfilter for AQUA builds... # FIXME: finish build with warnigns-are-errors, add modules to MODULES_WITH_WARNINGS... eval ./configure ${COMMON_CONFIG_FLAGS} --disable-gtk --disable-crashdump --with-system-curl --with-system-libxml --disable-binfilter --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 # The number of processes running in parallel [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "LinuxX86-64" -o ${OOO_BUILD_SYSTEM} = "Solaris" ] && { # export MAXPROCESS=4 export MAXPROCESS=1 export MAXMODULES=1 export nodep=true # # HACK: workarounds for parallel build problems. # if [ ${MAXPROCESS} -gt 1 -a ${OOO_BUILD_SYSTEM} != "Solaris" ] then # MAXPROCESS=1 fixes (#i#) # Issue #i58798# # for i in connectivity/com/sun/star/sdbcx/comp/hsqldb/makefile.mk # do # awk '{ if ($0 ~ "^PRJNAME") print "MAXPROCESS=1"; print ; }' <$i >$i.MAXPROCESS # mv -f $i.MAXPROCESS $i # done echo "No patches needed" fi } [ ! -z "${MAXMODULES}" ] && SMP="-P${MAXMODULES}" [ -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 fi # Issue #i51139#: workaround export TMP=/tmp # Issue #i59187#: workaround export TEMP=/tmp # 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" ] && ExtractPOT # # 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 ${SMP} --all --html --dontgraboutput || { 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 # # Openoffice.org SDK # CreateSDK # # Installation sets # CreateNativeInstallers # FIXME # #i64937#: Language packaging broken as of now [ ${OOO_BUILD_SYSTEM} != "MacOSXIntel" -a ${OOO_BUILD_SYSTEM} != "MacOSXPPC" ] && CreateNativeLangPacks CreateURE du -sh . [ ${BUILD_DEBUG_PACKAGES} != "yes" ] && exit # Prepare debug GSI files [ ${OOO_BUILD_SYSTEM} = "Linux" ] && PrepareDebugGSI # # Debugging installation sets # for ISOCODE in $SUPPORTEDLANGUAGES do [ -f ${BUILD}/debug_GSI_${ISOCODE}.sdf ] && MergeGSI ${ISOCODE} debug done dmake # Create debugging language packs CreateNativeLangPacks debug