office-gobmx/odk/setsdkenv_unix.sh.in
Ivo Hinkelmann bf0e839ffb INTEGRATION: CWS jsc15 (1.8.82); FILE MERGED
2006/11/23 13:57:18 jsc 1.8.82.1: #i71575# integrate patch
2006-12-20 11:23:08 +00:00

309 lines
9.1 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#! /bin/sh
# This script starts a new shell and sets all enviroment variables, which
# are necessary for building the examples of the Office Development Kit.
# The Script was developed for the operating systems Solaris and Linux.
sdkscript=`echo $0 | grep setsdkenv_unix | true`
if [ "$sdkscript" = "" ]
then
sdkscript=`history 1 | sed "s/.*\. //"`
fi
if [ "$sdkscript" = "" ]
then
# total falback; needed when history does not work
sdkscript=@OO_SDK_HOME@/setsdkenv_unix
fi
sdkdir=`dirname $sdkscript`
# The SDK name
OO_SDK_NAME=@OO_SDK_NAME@
export OO_SDK_NAME
# Installation directory of the Software Development Kit.
# Example: OO_SDK_HOME=/work/StarOffice_SDK
OO_SDK_HOME=@OO_SDK_HOME@
# Office installation directory.
# Example: OFFICE_HOME=/opt/staroffice
OFFICE_HOME=@OFFICE_HOME@
# URE installation directory.
# Example: OO_SDK_URE_HOME=/opt/openoffice.org/ure
OO_SDK_URE_HOME=@OO_SDK_URE_HOME@
export OO_SDK_URE_HOME
# Directory of the make command.
# Example: OO_SDK_MAKE_HOME=/usr/bin
OO_SDK_MAKE_HOME=@OO_SDK_MAKE_HOME@
# Directory of the zip command.
# Example: OO_SDK_ZIP_HOME=/usr/bin
OO_SDK_ZIP_HOME=@OO_SDK_ZIP_HOME@
# Directory of the C++ compiler.
# Example: OO_SDK_CPP_HOME=/usr/bin
OO_SDK_CPP_HOME=@OO_SDK_CPP_HOME@
# Solaris only
OO_SDK_CC_55_OR_HIGHER=@OO_SDK_CC_55_OR_HIGHER@
# Directory of the Java SDK.
# Example: OO_SDK_JAVA_HOME=/usr/local/j2sdk1.4.1_01
OO_SDK_JAVA_HOME=@OO_SDK_JAVA_HOME@
# Special output directory
# Example: OO_SDK_OUTPUT_DIR=$HOME
OO_SDK_OUTPUT_DIR=@OO_SDK_OUTPUT_DIR@
# Environment variable to enable auto deployment of example components
# Example: SDK_AUTO_DEPLOYMENT=YES
SDK_AUTO_DEPLOYMENT=@SDK_AUTO_DEPLOYMENT@
export SDK_AUTO_DEPLOYMENT
# Check installation path for the StarOffice Development Kit.
if [ -z "$OO_SDK_HOME" ]
then
echo Error: Please insert a correct value for the variable OO_SDK_HOME.
exit 0
fi
export OO_SDK_HOME
# Check installation path for the office.
if [ -z "${OFFICE_HOME}" ] && [ -z "${OO_SDK_URE_HOME}" ]
then
echo 'Error: Please set either the environment variable OFFICE_HOME or the'
echo 'environment variable OO_SDK_URE_HOME.'
exit 0
fi
# Set office program path (only set when using an Office).
if [ "${OFFICE_HOME}" ]
then
OFFICE_PROGRAM_PATH=${OFFICE_HOME}/program
export OFFICE_PROGRAM_PATH
fi
# Set UNO path, necessary to ensure that the cpp examples using the
# new UNO bootstrap mechanism use the configured office installation (only set
# when using an Office).
if [ "${OFFICE_HOME}" ]
then
UNO_PATH=${OFFICE_PROGRAM_PATH}
export UNO_PATH
fi
if [ "${OO_SDK_URE_HOME}" ]
then
OO_SDK_URE_BIN_DIR=${OO_SDK_URE_HOME}/bin
OO_SDK_URE_LIB_DIR=${OO_SDK_URE_HOME}/lib
OO_SDK_URE_JAVA_DIR=${OO_SDK_URE_HOME}/share/java
else
OO_SDK_URE_BIN_DIR=${OFFICE_PROGRAM_PATH}
OO_SDK_URE_LIB_DIR=${OFFICE_PROGRAM_PATH}
OO_SDK_URE_JAVA_DIR=${OFFICE_PROGRAM_PATH}/classes
fi
export OO_SDK_URE_BIN_DIR
export OO_SDK_URE_LIB_DIR
export OO_SDK_URE_JAVA_DIR
OO_EXAMPLE_OUT=$OO_SDK_HOME
# Prepare appropriate output directory.
if [ -n "$OO_SDK_OUTPUT_DIR" ]
then
OO_EXAMPLE_OUT=$OO_SDK_OUTPUT_DIR/$OO_SDK_NAME
export OO_SDK_OUTPUT_DIR
fi
# Get the operating system.
sd_platform=`$sdkdir/config.guess | cut -d"-" -f3,4`
# Set the directory name.
case $sd_platform in
solaris*)
sd_proctype=`$sdkdir/config.guess | cut -d"-" -f1`
if [ "$sd_proctype" = "sparc" ]
then
directoryname=solsparc
platform='Solaris Sparc'
else
directoryname=solintel
platform='Solaris x86'
fi
comid=C52
pltfrm=sunpro
soext=so
exampleout=SOLARISexample.out
LD_LIBRARY_PATH=$OO_SDK_HOME/$directoryname/lib:$OO_EXAMPLE_OUT/$exampleout/lib:${OO_SDK_URE_LIB_DIR}:.:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
;;
darwin*)
if [ -n "$OO_SDK_CPP_HOME" ]
then
SDK_GXX_INCLUDE_PATH=`echo "#include <cstring>" | $OO_SDK_CPP_HOME/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
export SDK_GXX_INCLUDE_PATH
fi
directoryname=macosx
comid=gcc3
pltfrm=gcc
soext=dylib
exampleout=MACOSXexample.out
platform=MacOSX
DYLD_LIBRARY_PATH=$OO_SDK_HOME/$directoryname/lib:$OO_EXAMPLE_OUT/$exampleout/lib:${OO_SDK_URE_LIB_DIR}:.:$DYLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH
;;
linux-gnu)
if [ -n "$OO_SDK_CPP_HOME" ]
then
SDK_GXX_INCLUDE_PATH=`echo "#include <cstring>" | $OO_SDK_CPP_HOME/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
export SDK_GXX_INCLUDE_PATH
fi
directoryname=linux
comid=gcc3
pltfrm=gcc
soext=so
exampleout=LINUXexample.out
platform=Linux
LD_LIBRARY_PATH=$OO_SDK_HOME/$directoryname/lib:$OO_EXAMPLE_OUT/$exampleout/lib:${OO_SDK_URE_LIB_DIR}:.:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
;;
freebsd*)
if [ -n "$OO_SDK_CPP_HOME" ]
then
SDK_GXX_INCLUDE_PATH=`echo "#include <cstring>" | $OO_SDK_CPP_HOME/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
export SDK_GXX_INCLUDE_PATH
fi
directoryname=freebsd
comid=gcc3
pltfrm=gcc
soext=so
exampleout=FREEBSDexample.out
platform=FreeBSD
LD_LIBRARY_PATH=$OO_SDK_HOME/$directoryname/lib:$OO_EXAMPLE_OUT/$exampleout/lib:${OO_SDK_URE_LIB_DIR}:.:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
if [ -e "/sbin/sysctl" ]
then
OSVERSION=`/sbin/sysctl -n kern.osreldate`
else
OSVERSION=`/usr/sbin/sysctl -n kern.osreldate`
fi
if [ $OSVERSION -lt 500016 ]
then
PTHREAD_CFLAGS=-D_THREAD_SAFE
PTHREAD_LIBS=-pthread
export PTHREAD_CFLAGS
export PTHREAD_LIBS
elif [ $OSVERSION -lt 502102 ]
then
PTHREAD_CFLAGS=-D_THREAD_SAFE
PTHREAD_LIBS=-lc_r
export PTHREAD_CFLAGS
export PTHREAD_LIBS
else
PTHREAD_LIBS=-pthread
export PTHREAD_LIBS
fi
;;
esac
# Add directory of the SDK tools to the path.
PATH=$OO_SDK_HOME/$directoryname/bin:$OO_EXAMPLE_OUT/$exampleout/bin:${OO_SDK_URE_BIN_DIR}:.:$PATH
# Set the classpath
CLASSPATH=${OO_SDK_URE_JAVA_DIR}/juh.jar:${OO_SDK_URE_JAVA_DIR}/jurt.jar:${OO_SDK_URE_JAVA_DIR}/ridl.jar:${OO_SDK_URE_JAVA_DIR}/unoloader.jar${OFFICE_PROGRAM_PATH+:${OFFICE_PROGRAM_PATH}/classes/unoil.jar}${CLASSPATH+:${CLASSPATH}}
export CLASSPATH
# Add directory of the command make to the path, if necessary.
if [ -n "$OO_SDK_MAKE_HOME" ]
then
PATH=$OO_SDK_MAKE_HOME:$PATH
export OO_SDK_MAKE_HOME
fi
# Add directory of the zip tool to the path, if necessary.
if [ -n "$OO_SDK_ZIP_HOME" ]
then
PATH=$OO_SDK_ZIP_HOME:$PATH
export OO_SDK_ZIP_HOME
fi
# Add directory of the C++ tools to the path, if necessary.
if [ -n "$OO_SDK_CPP_HOME" ]
then
PATH=$OO_SDK_CPP_HOME:$PATH
export OO_SDK_CPP_HOME
if [ -n "$OO_SDK_CC_55_OR_HIGHER" ]
then
export OO_SDK_CC_55_OR_HIGHER
fi
fi
# Add directory of the Java tools to the path, if necessary.
if [ -n "$OO_SDK_JAVA_HOME" ]
then
PATH=$OO_SDK_JAVA_HOME/bin:$PATH
# JAVA_HOME=$OO_SDK_JAVA_HOME
# export JAVA_HOME
export OO_SDK_JAVA_HOME
export PATH
# UNO_JAVA_JFW_JREHOME=`sp2bv $OO_SDK_JAVA_HOME`
# UNO_JAVA_JFW_ENV_CLASSPATH=true
# UNO_JAVA_JFW_VENDOR_SETTINGS=`sp2bv $OFFICE_HOME/share/config/javavendors.xml`
# export UNO_JAVA_JFW_JREHOME
# export UNO_JAVA_JFW_ENV_CLASSPATH
# export UNO_JAVA_JFW_VENDOR_SETTINGS
fi
export PATH
# For URE, prepare symbolic links for libraries:
rm -f "${OO_SDK_HOME}/${directoryname}/lib/libuno_cppu.${soext}" \
"${OO_SDK_HOME}/${directoryname}/lib/libuno_cppuhelper${comid}.${soext}" \
"${OO_SDK_HOME}/${directoryname}/lib/libuno_sal.${soext}" \
"${OO_SDK_HOME}/${directoryname}/lib/libuno_salhelper${comid}.${soext}" \
"${OO_SDK_HOME}/${directoryname}/lib/libstlport_${pltfrm}.${soext}"
if [ "${OO_SDK_URE_HOME}" ]
then
mkdir -p "${OO_SDK_HOME}/${directoryname}/lib"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_cppu.${soext}.3" \
"${OO_SDK_HOME}/${directoryname}/lib/libuno_cppu.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_cppuhelper${comid}.${soext}.3" \
"${OO_SDK_HOME}/${directoryname}/lib/libuno_cppuhelper${comid}.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_sal.${soext}.3" \
"${OO_SDK_HOME}/${directoryname}/lib/libuno_sal.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_salhelper${comid}.${soext}.3" \
"${OO_SDK_HOME}/${directoryname}/lib/libuno_salhelper${comid}.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libstlport_${pltfrm}.${soext}" \
"${OO_SDK_HOME}/${directoryname}/lib/libstlport_${pltfrm}.${soext}"
fi
# Prepare shell with all necessary environment variables.
echo
echo " ************************************************************************"
echo " *"
echo " * SDK environment is prepared for ${platform}"
echo " *"
echo " * SDK = $OO_SDK_HOME"
echo " * Office = $OFFICE_HOME"
echo " * URE = $OO_SDK_URE_HOME"
echo " * Make = $OO_SDK_MAKE_HOME"
echo " * Zip = $OO_SDK_ZIP_HOME"
echo " * C++ Compiler = $OO_SDK_CPP_HOME"
echo " * Java = $OO_SDK_JAVA_HOME"
echo " * Special Output directory = $OO_SDK_OUTPUT_DIR"
echo " * Auto deployment = $SDK_AUTO_DEPLOYMENT"
echo " *"
echo " ************************************************************************"
echo "]2;Shell prepared with the SDK environment"