office-gobmx/odk/setsdkenv_unix.sh.in
Rüdiger Timm 91b64b26d3 INTEGRATION: CWS jsc21 (1.10.2); FILE MERGED
2008/05/23 11:38:04 jsc 1.10.2.3: #i88797# adapted for mac
2008/05/22 07:07:55 jsc 1.10.2.2: #i88797# adapted to new structure
2008/04/30 11:34:24 jsc 1.10.2.1: #86121# update for 3 layer office
2008-07-11 13:14:23 +00:00

333 lines
9.5 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, Linux and MacOS.
# The SDK name
OO_SDK_NAME=@OO_SDK_NAME@
export OO_SDK_NAME
# Installation directory of the Software Development Kit.
# Example: OO_SDK_HOME=/opt/openoffice.org/basis3.0/sdk
OO_SDK_HOME=@OO_SDK_HOME@
# Office installation directory.
# Example: OFFICE_HOME=/opt/openoffice.org3
OFFICE_HOME=@OFFICE_HOME@
OFFICE_BASE_HOME=@OFFICE_BASE_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/jdk/jdk1.6.0_10
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 OpenOffice 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
# Get the operating system.
sdk_platform=`${OO_SDK_HOME}/config.guess | cut -d"-" -f3,4`
# Set the directory name.
programdir=program
javadir=bin
case ${sdk_platform} in
darwin*)
programdir="Contents/MacOS"
javacdir=Commands
;;
esac
# Set office program path (only set when using an Office).
if [ "${OFFICE_HOME}" ]
then
OFFICE_PROGRAM_PATH=${OFFICE_HOME}/${programdir}
export OFFICE_PROGRAM_PATH
fi
# Set office program path (only set when using an Office).
if [ "${OFFICE_BASE_HOME}" ]
then
OFFICE_BASE_PROGRAM_PATH=${OFFICE_BASE_HOME}/program
export OFFICE_BASE_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_BASE_PROGRAM_PATH}
OO_SDK_URE_JAVA_DIR=${OFFICE_BASE_PROGRAM_PATH}/classes
fi
export OO_SDK_URE_BIN_DIR
export OO_SDK_URE_LIB_DIR
export OO_SDK_URE_JAVA_DIR
OO_SDK_OUT=$OO_SDK_HOME
# Prepare appropriate output directory.
if [ -n "${OO_SDK_OUTPUT_DIR}" ]
then
OO_SDK_OUT=${OO_SDK_OUTPUT_DIR}/$OO_SDK_NAME
export OO_SDK_OUT
fi
# Set the directory name.
case ${sdk_platform} in
solaris*)
sdk_proctype=`${OO_SDK_HOME}/config.guess | cut -d"-" -f1`
if [ "${sdk_proctype}" = "sparc" ]
then
directoryname=solsparc
platform='Solaris Sparc'
else
directoryname=solintel
platform='Solaris x86'
fi
comid=C52
pltfrm=sunpro
soext=so
exampleout=SOLARISexample.out
stldebug=_debug
LD_LIBRARY_PATH=${OO_SDK_OUT}/${directoryname}/lib:${OO_SDK_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
stldebug=_stldebug
DYLD_LIBRARY_PATH=${OO_SDK_OUT}/${directoryname}/lib:${OO_SDK_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
stldebug=_stldebug
LD_LIBRARY_PATH=${OO_SDK_OUT}/${directoryname}/lib:${OO_SDK_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
stldebug=_stldebug
LD_LIBRARY_PATH=${OO_SDK_OUT}/${directoryname}/lib:${OO_SDK_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}/bin:${OO_SDK_OUT}/${exampleout}/bin:${OO_SDK_URE_BIN_DIR}:${OFFICE_PROGRAM_PATH}:.:${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_BASE_PROGRAM_PATH}/classes/unoil.jar:${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}/${javadir}:${PATH}
# JAVA_HOME=${OO_SDK_JAVA_HOME}
# export JAVA_HOME
export OO_SDK_JAVA_HOME
export PATH
fi
export PATH
if [ -r "${OO_SDK_URE_LIB_DIR}/libstlport_${pltfrm}${stldebug}.${soext}" ]
then
STLDEBUG=${stldebug}
export STLDEBUG
fi
# For URE, prepare symbolic links for libraries:
rm -f "${OO_SDK_OUT}/${directoryname}/lib/libuno_cppu.${soext}" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_cppuhelper${comid}.${soext}" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_sal.${soext}" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_salhelper${comid}.${soext}"
if [ -L "${OO_SDK_OUT}/${directoryname}/lib/libstlport_${pltfrm}${STLDEBUG}.${soext}" ]
then
rm -rf "${OO_SDK_OUT}/${directoryname}/lib/libstlport_${pltfrm}${STLDEBUG}.${soext}"
fi
if [ "${OO_SDK_URE_HOME}" ]
then
mkdir -p "${OO_SDK_OUT}/${directoryname}/lib"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_cppu.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_cppu.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_cppuhelper${comid}.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_cppuhelper${comid}.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_sal.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_sal.${soext}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_salhelper${comid}.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_salhelper${comid}.${soext}"
if [ -r "${OO_SDK_URE_LIB_DIR}/libstlport_${pltfrm}${STLDEBUG}.${soext}" ]
then
ln -s "${OO_SDK_URE_LIB_DIR}/libstlport_${pltfrm}${STLDEBUG}.${soext}" \
"${OO_SDK_OUT}/${directoryname}/lib/libstlport_${pltfrm}${STLDEBUG}.${soext}"
fi
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 " * Office Base = $OFFICE_BASE_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 " * SDK Output directory = $OO_SDK_OUT"
echo " * Auto deployment = $SDK_AUTO_DEPLOYMENT"
echo " *"
echo " ************************************************************************"
echo "]2;Shell prepared with the SDK environment"