#!/bin/sh

set -e

SRCDIR=`pwd`

# sync with odk/CustomTarget_build-examples
my_example_dirs=" \
    CLI/CSharp/Spreadsheet \
    CLI/VB.NET/WriterDemo \
    DevelopersGuide/BasicAndDialogs/ToolkitControls \
    DevelopersGuide/Components/Addons/ProtocolHandlerAddon_cpp \
    DevelopersGuide/Components/CppComponent \
    DevelopersGuide/Database/DriverSkeleton \
    DevelopersGuide/Extensions/DialogWithHelp \
    DevelopersGuide/OfficeDev/FilterDevelopment/FlatXmlFilter_cpp \
    DevelopersGuide/ProfUNO/CppBinding \
    DevelopersGuide/ProfUNO/SimpleBootstrap_cpp \
    OLE/activex \
    cpp/DocumentLoader \
    cpp/complextoolbarcontrols \
    cpp/counter \
    cpp/remoteclient \
    python/toolpanel \
    DevelopersGuide/BasicAndDialogs/CreatingDialogs \
    DevelopersGuide/Charts \
    DevelopersGuide/Components/Addons/JobsAddon \
    DevelopersGuide/Components/Addons/ProtocolHandlerAddon_java \
    DevelopersGuide/Components/JavaComponent \
    DevelopersGuide/Components/SimpleLicense \
    DevelopersGuide/Components/Thumbs \
    DevelopersGuide/Components/dialogcomponent \
    DevelopersGuide/Config \
    DevelopersGuide/Database \
    DevelopersGuide/Drawing \
    DevelopersGuide/FirstSteps \
    DevelopersGuide/Forms \
    DevelopersGuide/GUI \
    DevelopersGuide/OfficeBean \
    DevelopersGuide/OfficeDev \
    DevelopersGuide/OfficeDev/Clipboard \
    DevelopersGuide/OfficeDev/DesktopEnvironment \
    DevelopersGuide/OfficeDev/DisableCommands \
    DevelopersGuide/OfficeDev/FilterDevelopment/AsciiFilter \
    DevelopersGuide/OfficeDev/FilterDevelopment/FlatXmlFilterDetection \
    DevelopersGuide/OfficeDev/FilterDevelopment/FlatXmlFilter_java \
    DevelopersGuide/OfficeDev/Linguistic \
    DevelopersGuide/OfficeDev/PathSettings \
    DevelopersGuide/OfficeDev/PathSubstitution \
    DevelopersGuide/OfficeDev/TerminationTest \
    DevelopersGuide/ProfUNO/InterprocessConn \
    DevelopersGuide/ProfUNO/Lifetime \
    DevelopersGuide/ProfUNO/SimpleBootstrap_java \
    DevelopersGuide/ScriptingFramework/SayHello \
    DevelopersGuide/ScriptingFramework/ScriptSelector \
    DevelopersGuide/Spreadsheet \
    DevelopersGuide/Text \
    DevelopersGuide/UCB \
    java/DocumentHandling \
    java/Drawing \
    java/Inspector \
    java/MinimalComponent \
    java/PropertySet \
    java/Spreadsheet \
    java/Text \
    java/ToDo"

echo "====== Preparing the SDK environment ======"
cd /usr/lib/libreoffice/sdk
. ./setsdkenv_unix.sh

# don't clobber $HOME but do it in /tmp
_old_sdk_out=$OO_SDK_OUT
WORKDIR=`mktemp -d`
export OO_SDK_OUT=$WORKDIR
export PATH=`echo $PATH | sed -e "s,$_old_sdk_out,$OO_SDK_OUT,g"`
export HOME=$WORKDIR

for i in $my_example_dirs; do 
	echo "====== Building $i example ======"
	cd /usr/lib/libreoffice/sdk/examples/$i
	make
done
