WebSVN

fpc_bootstrap

Subversion Repositories:
[/] [build_lazarus.sh] - Rev 3

Compare with Previous - Blame


#!/bin/bash

. _settings.inc.sh

# append the bintools to our path
PATH=$PATH:$DESTDIR/bin
export PATH

mkdir -p $BUILDROOT/src
cd $BUILDROOT/src

# update svn
#svn checkout http://svn.freepascal.org/svn/lazarus/trunk lazarus
#svn checkout https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/powerpdf lazarus/components/powerpdf

build_for_real() {
CPU_TARGET=$1
shift
OS_TARGET=$1
shift
IS_CROSS=$1
shift
INSTALLOPTS="INSTALL_PREFIX=$DESTDIR \
                INSTALL_BINDIR=$DESTDIR/bin \
                INSTALL_LIBDIR=$DESTDIR/bin \
                INSTALL_BASEDIR=$DESTDIR/bin \
                OS_TARGET=$OS_TARGET \
                CPU_TARGET=$CPU_TARGET"

cd $BUILDROOT/src/lazarus
if [ ! "$IS_CROSS" == "1" ]; then
        WIDGETSET=$1
        shift
        clear
        echo "Compiling ALL for $CPU_TARGET $OS_TARGET (using $WIDGETSET for IDE)"
        #make clean all tools ${INSTALLOPTS} LCL_PLATFORM=$WIDGETSET
        if [ ! $? = 0 ]; then
                echo "Compiling ALL for $CPU_TARGET $OS_TARGET (using $WIDGETSET for IDE) - failed"
                exit
        fi;
fi;
for WIDGETSET in $@; do
        clear
        echo "Compiling LCL with $WIDGETSET for $CPU_TARGET $OS_TARGET"
        make packager/registration lazutils lcl ideintf components ${INSTALLOPTS} LCL_PLATFORM=$WIDGETSET
        if [ ! $? = 0 ]; then
                echo "Compiling LCL with $WIDGETSET for $CPU_TARGET $OS_TARGET - failed"
                exit
        fi;
done;
}

build_for() {
CPU_TARGET=$1
shift
OS_TARGET=$1
shift
if [ "$CPU_TARGET-$OS_TARGET" == "`uname -i`-linux" ]; then
        echo "NO NEED TO BUILD $CPU_TARGET $OS_TARGET AGAIN. SKIPPED!"
else
        build_for_real $CPU_TARGET $OS_TARGET 1 $@;
fi;
}

# syntax: build_for[_real] <cpu type> <os type> <widget set> [<widget set> ...]
# choose widget set from:
# win32, win64, gtk, gtk2, qt, carbon, cocoa

build_for_real `uname -i` linux 0 gtk2 qt nogui
build_for x86_64 linux gtk2 qt nogui
build_for i386 linux gtk2 qt nogui
build_for i386 win32 win32 nogui
build_for x86_64 win64 win32 nogui
 

Powered by WebSVN 2.2.1