#!/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: OOB680_m5 and SRC680_m158 # # 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 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="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=LinuxAMD64 [ `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 export OOO_BUILD_SYSTEM=MacOSXIntel fi } [ `uname -s | grep CYGWIN` ] && export OOO_BUILD_SYSTEM=Windows # TEMP: On AMD64, always build development branch # Remove as soon as AMD64 platform build is stable enough [ ${OOO_BUILD_SYSTEM} = "LinuxAMD64" ] && DEVEL="yes" if [ $DEVEL = "yes" ] then VERSION=SRC680_m158 BUILD_IDENTIFICATION="Build-1" BUILD_NUMBER=680 # FIXME: Languages to fix: hr ns/nso? SUPPORTEDLANGUAGES="af ar be-BY bg bn br cs cy da de el en-GB en-US et fa fi fr ga it km lo lt lv mk nb ne nl nn nr sr-CS sh-YU sk sl st sv th tn ts xh zu" # Build-0 is for experimental purposes only [ "x${BUILD_IDENTIFICATION}" = "xBuild-0" ] && SUPPORTEDLANGUAGES="en-US" else VERSION=OOB680_m5 BUILD_IDENTIFICATION="Build-2" BUILD_NUMBER=680 # FIXME: Languages to fix: hr ns/nso? # FIXME: SA languages with wrong URLs: af xh zu nr ns st tn ts SUPPORTEDLANGUAGES="ar be-BY bg bn br cs cy da de el en-GB en-US et fa fi fr ga it km lo lt lv mk nb ne nl nn sr-CS sh-YU sk sl sv th" # Build-0 is for experimental purposes only [ "x${BUILD_IDENTIFICATION}" = "xBuild-0" ] && SUPPORTEDLANGUAGES="en-US" fi # Build en-US only for AMD64 [ ${OOO_BUILD_SYSTEM} = "LinuxAMD64" ] && SUPPORTEDLANGUAGES="en-US" # FIXME: Solaris [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && SUPPORTEDLANGUAGES="en-US cs da" # Build en-US 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" fi BUILD_ID="${VERSION} ${BUILD_IDENTIFICATION} (`LANG=C date`)" CCACHEVERSION=2.4 DPKGVERSION=1.10.27 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} = "LinuxAMD64" ] 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 ;; LinuxAMD64) OOOUTPATH=unxlngx6 OOARCHENVIRONMENT=LinuxAMD 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 # # 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} = "LinuxAMD64" -o ${OOO_BUILD_SYSTEM} = "MacOSXIntel" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] && PrepareCCache # Prepare dpkg for Debian packages [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "LinuxAMD64" ] && PrepareDpkg # Prepare translate tools [ ${OOO_BUILD_SYSTEM} = "Linux" -o ${OOO_BUILD_SYSTEM} = "LinuxAMD64" ] && PrepareTranslate # 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 # # # ########################################################################### # # Linux/AMD64 specific fixes for development version # if [ ${OOO_BUILD_SYSTEM} = "LinuxAMD64" ] then # FIXME: workaround for qadevOOo build failure export ANT_OPTS="-Xmx512m" # Commented region # # Issue #i50482#: 64bit: crash while initializing fontconfig # # Fixed in gslpatches2 # ApplyCWSPatch psprint CWS-gslpatches2-psprint.diff # # Issue #i50483#: 64bit: Wrong getting of work area rectangle # # Fixed in gslpatches2 # ApplyCWSPatch vcl CWS-gslpatches2-vcl.diff # # FIXME: report, http://www.go-oo.org/patches/64bit/buildfix-64bit-fpicker.diff # ApplyPatch iFIXME-fpicker.diff # # FIXME: http://www.go-oo.org/patches/64bit/buildfix-64bit-setup_native.diff # ApplyPatch iFIXME-setup_native.diff # # FIXME: http://www.go-oo.org/patches/64bit/buildfix-64bit-dbaccess.diff # ApplyPatch iFIXME-dbaccess.diff # # FIXME: http://www.go-oo.org/patches/64bit/buildfix-64bit-svx.diff # ApplyPatch iFIXME-svx.diff # # FIXME: http://www.go-oo.org/patches/64bit/buildfix-64bit-forms.diff # ApplyPatch iFIXME-forms.diff # # Issue #i50733#: Python registration failed (AMD64) # # TEMP: not proper solution # ApplyPatch i50733-scp2-no-python.diff # # Issue #i50781#: 64bit: pointer vs. ULONG (Focus) # ApplyPatch iFIXME-vcl-Focus.diff # # Issue #i50781#: 64bit: pointer vs. ULONG (Focus) # ApplyPatch iFIXME-svtools-Focus.diff # # FIXME: http://www.go-oo.org/patches/64bit/fix-64bit-tools-svbt.diff # ApplyPatch fix-64bit-tools-svbt.diff -p0 fi # Set OOO_VENDOR in build environment export OOO_VENDOR="Pavel JanĂ­k (paveljanik@openoffice.org)" # # Generic fixes # # Development fixes if [ $DEVEL = "yes" ] then # QA pj50 # TEMP: resync aqauvcl01 after pj50 is integrated. [ ${OOO_BUILD_SYSTEM} != "MacOSXPPC" ] && { ApplyCWS pj50 # Issue #i62337#: Nonproduct build fails at project autodoc (after pj50) ApplyPatch i62337-nonproduct-MacOSX.diff } # QA ause048 ApplyCWS ause048 # QA sixtyfour02 ApplyCWS sixtyfour02 # # Experimental Mac OS X stuff # if [ ${OOO_BUILD_SYSTEM} = "MacOSXIntel" -o ${OOO_BUILD_SYSTEM} = "MacOSXPPC" ] then # # Experimental AQUA from aquavcl01 # if [ ${AQUA} = "yes" ] then # Add aquavcl01 child workspace ApplyCWS aquavcl01 # ApplyPatch CWS-aquavcl01.diff ${CP} -rav ${SOURCES}/aquavcl01/* . # Issue #i60930#: Cleanup the makefile.mk for unoapploader ApplyCWS jsc3 fi # # Experimental Universal Binaries support # if [ ${UNIVERSAL} = "yes" ] then # Add Universal Binaries flags to Mac OS X environmental file ApplyPatch UB-solenv.diff ApplyPatch UB-sal.diff ApplyPatch UB-nas.diff # FIXME: prepare NEW patch! ApplyPatch UB-portaudio.diff ApplyPatch UB-icu.diff ApplyPatch UB-stlport.diff # Temporary disable Universal Binaries in bridges ApplyPatch UB-TEMP-bridges.diff # Pyuno link command fix! ApplyPatch UB-TEMP-pyuno.diff # Temporary hack to get berkeleydb compiled as Universal Binary ApplyPatch UB-TEMP-berkeleydb.diff # Temporary hack to get sndfile compiled as Universal Binary # PREPARE FIXME new one # ApplyPatch UB-TEMP-sndfile.diff fi fi # # 64bit issues # if [ ${OOO_BUILD_SYSTEM} = "LinuxAMD64" ] then # Issue #i60372#: 64bit: Cannot open files created on other architectures ApplyPatch i60372-64bit-fix-native-documents.diff # TEMP: this has to be completed... # Issue #i58385#: 64bit: basic: UserData is 32bit or 64bit? ApplyPatch iFIXME-64bit-basic.diff # Issue #i62466#: 64bit: sw: using types consistently ApplyPatch i62466-64bit-sw.diff # FIXME: continue # FIXME: separate DXArr changes ApplyPatch iFIXME-64bit-binfilter.diff ApplyPatch iFIXME-64bit-binfilter-xmloff.diff ApplyPatch iFIXME-64bit-binfilter-fields.diff ApplyPatch iFIXME-64bit-binfilter-bf_sw.diff ApplyPatch iFIXME-64bit-binfilter-bf_sw-layout.diff ApplyPatch iFIXME-64bit-binfilter-core-misc.diff ApplyPatch iFIXME-64bit-comphelper.diff ApplyPatch iFIXME-64bit-sc.diff ApplyPatch iFIXME-64bit-sd.diff ApplyPatch iFIXME-64bit-sw-1.diff # ApplyPatch iFIXME-64bit-sw.diff ApplyPatch iFIXME-64bit-forms.diff ApplyPatch iFIXME-64bit-fpicker.diff # Broken for 32bits... ApplyPatch iFIXME-64bit-framework.diff ApplyPatch iFIXME-64bit-svtools-1.diff # FIXME: status? # ApplyPatch iFIXME-64bit-svtools.diff # ApplyPatch iFIXME-64bit-svtools.diff ApplyPatch iFIXME-64bit-tools-svstream_Size_to_u32.diff ApplyPatch iFIXME-64bit-MinMax.diff # Fix bridges (from ooo-build) ApplyPatch kendy-bridges.diff # Add stdio.h for debugging ApplyPatch DEBUG-64bit-bridges.diff # Issue #i31057#: Without this, pyuno debug build SIGSEGVs ApplyPatch i31057-DEBUG-64bit-no-opt-pyuno-sigsegv.diff # 64bit ApplyPatch iFIXME-64bit-tools-bigint.diff # 64bit ApplyPatch iFIXME-64bit-tools-pstm.diff # 64bit ApplyPatch iFIXME-64bit-automation.diff # 64bit ApplyPatch iFIXME-64bit-sfx2.diff # # 64bit child workspaces # # 64bit: Trivial long/ULONG -> sal_Int32/sal_uInt32 ApplyCWS long2int fi else # # OpenOffice.org 2.0.2 fixes and patches # # Issue #i59729#: extensions needs np_sdk also with --disable-mozilla ApplyPatch i59729-no-mozilla.diff fi # Issue #i50775#: Potential speedup for *nix builds ApplyPatch i50775-tcsh.diff # Issue #i61824#: always strip on GNU/Linux # Petr Mládek promised to fix it. ApplyPatch i61824-always-strip.diff # Issue #i47142#: font size 10,5 shown as 10 (in combo box) when selected ApplyPatch i47142-font-sizes.diff # Issue #i35873#: Turn kerning on by default for 2.0 ApplyPatch i35873-kerning-on.diff # Issue #i42014#: Add Czech and Bulgarian calendar to awt (for agenda wizard) # Eike is working on correct fix in cws internatiodel ApplyPatch i42014-Czech-awt-calendar.diff ApplyPatch i42014-Bulgarian-awt-calendar.diff # Do not substitute fonts while printing # FIXME: report! ApplyPatch psprint-do-not-substitute.diff # Slovak and Slovenian fonts... # FIXME: report! ApplyPatch officecfg-sl_sk_default_fonts.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} = "LinuxAMD64" -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) [ ${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 --with-build-version=\"${BUILD_ID}\"" 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\" ;; LinuxAMD64) # Issue #i53880#: Use system freetype (FIXME) # Issue #i58343#: Use system boost (FIXME) eval ./configure ${COMMON_CONFIG_FLAGS} --disable-binfilter --disable-cups --disable-cairo --disable-gnome-vfs --with-system-freetype --with-system-boost # --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/ " if [ "${AQUA}" != "yes" ] then eval ./configure ${COMMON_CONFIG_FLAGS} ${X11CONFIG} --disable-gtk --disable-crashdump --with-system-curl --with-system-libxml else eval ./configure ${COMMON_CONFIG_FLAGS} --disable-gtk --disable-crashdump --with-system-curl --with-system-libxml 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" ] && { export MAXPROCESS=4 export nodep=true if [ ${MAXPROCESS} -gt 1 ] then # MAXPROCESS=1 fixes (#i#) for i in sdk_oo/pack/copying/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 } # The number of processes running in parallel # FIXME: see above [ ${OOO_BUILD_SYSTEM} = "LinuxAMD64" ] && { export MAXPROCESS=4 export nodep=true if [ ${MAXPROCESS} -gt 1 ] then # MAXPROCESS=1 fixes # for i in moz/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 } # The number of processes running in parallel [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && { export MAXPROCESS=4 export nodep=true } [ -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 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 ] && { # FIXME: OOO_LICENSE was removed! # CWS localisation02 # Some languages still referenci it :-((( grep -v OOO_LICENSE ${BUILD}/GSI_${ISOCODE}.sdf >${BUILD}/GSI_${ISOCODE}.sdf.tmp mv ${BUILD}/GSI_${ISOCODE}.sdf.tmp ${BUILD}/GSI_${ISOCODE}.sdf # Remove all existing translations from localize.sdf files for localize in `find . -name localize.sdf` do grep -v " $ISOCODE " $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 dmake || { date echo "Dmake failed, fix the bug above." read } # # Openoffice.org SDK # [ ${OOO_BUILD_SYSTEM} != "LinuxAMD64" ] && CreateSDK # # Installation sets # CreateNativeInstallers CreateNativeLangPacks CreateURE [ ${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