office-gobmx/odk/setsdkenv_unix.csh.in
2011-07-25 11:03:31 +01:00

293 lines
9.6 KiB
Tcsh
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/csh
# This script 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
setenv OO_SDK_NAME @OO_SDK_NAME@
# Installation directory of the Software Development Kit.
# Example: setenv OO_SDK_HOME /opt/libreoffice/basis3.4/sdk
setenv OO_SDK_HOME '@OO_SDK_HOME@'
# Office installation directory.
# Example: set OFFICE_HOME=/opt/libreoffice
setenv OFFICE_HOME '@OFFICE_HOME@'
# URE installation directory.
# Example: setenv OO_SDK_URE_HOME /opt/libreoffice/ure
setenv OO_SDK_URE_HOME '@OO_SDK_URE_HOME@'
# Directory of the make command.
# Example: setenv OO_SDK_MAKE_HOME /usr/bin
setenv OO_SDK_MAKE_HOME @OO_SDK_MAKE_HOME@
# Directory of the zip command.
# Example: setenv OO_SDK_ZIP_HOME /usr/bin
setenv OO_SDK_ZIP_HOME @OO_SDK_ZIP_HOME@
# Directory of the C++ compiler.
# Example: setenv OO_SDK_CPP_HOME /usr/bin
setenv OO_SDK_CPP_HOME @OO_SDK_CPP_HOME@
# Solaris only
setenv OO_SDK_CC_55_OR_HIGHER @OO_SDK_CC_55_OR_HIGHER@
# Directory of the Java SDK.
# Example: setenv OO_SDK_JAVA_HOME "/usr/jdk/jdk1.6.0_10"
setenv OO_SDK_JAVA_HOME @OO_SDK_JAVA_HOME@
# Special output directory
# Example: setenv OO_SDK_OUTPUT_DIR "$HOME"
setenv OO_SDK_OUTPUT_DIR @OO_SDK_OUTPUT_DIR@
# Environment variable to enable auto deployment of example components
# Example: set SDK_AUTO_DEPLOYMENT=YES
setenv SDK_AUTO_DEPLOYMENT @SDK_AUTO_DEPLOYMENT@
# Get the operating system.
set sdk_platform=`${OO_SDK_HOME}/config.guess | cut -d"-" -f3,4`
# Set the directory name.
set programdir=program
set javadir=bin
switch (${sdk_platform})
case "darwin*":
set programdir="Contents/MacOS"
set javacdir=Commands
breaksw
endsw
# Set office program path.
if ( "${OFFICE_HOME}" != "" ) then
setenv OFFICE_PROGRAM_PATH "${OFFICE_HOME}/${programdir}"
endif
# Set office base program path.
if ( "${OFFICE_BASE_HOME}" != "" ) then
setenv OFFICE_BASE_PROGRAM_PATH "${OFFICE_BASE_HOME}/program"
endif
# Set UNO path, necessary to ensure that the cpp examples using the
# new UNO bootstrap mechanism use the configured office installation.
if ( ${?OFFICE_PROGRAM_PATH} ) then
setenv UNO_PATH "${OFFICE_PROGRAM_PATH}"
endif
if ( "${OO_SDK_URE_HOME}" != "" ) then
setenv OO_SDK_URE_BIN_DIR "${OO_SDK_URE_HOME}/bin"
setenv OO_SDK_URE_LIB_DIR "${OO_SDK_URE_HOME}/lib"
setenv OO_SDK_URE_JAVA_DIR "${OO_SDK_URE_HOME}/share/java"
else
setenv OO_SDK_URE_BIN_DIR "${OFFICE_PROGRAM_PATH}"
setenv OO_SDK_URE_LIB_DIR "${OFFICE_BASE_PROGRAM_PATH}"
setenv OO_SDK_URE_JAVA_DIR "${OFFICE_BASE_PROGRAM_PATH}/classes"
endif
# Set SDK example output directory
setenv OO_SDK_OUT ${OO_SDK_HOME}
if ( $?OO_SDK_OUTPUT_DIR ) then
setenv OO_SDK_OUT ${OO_SDK_OUTPUT_DIR}/${OO_SDK_NAME}
endif
# check platform and set appropriate variables
switch (`${OO_SDK_HOME}/config.guess | cut -d"-" -f3,4`)
case "solaris*":
if ( `${OO_SDK_HOME}/config.guess | cut -d"-" -f1` == "sparc" ) then
set directoryname=solsparc
set platform=Solaris Sparc
else
set directoryname=solintel
set platform=Solaris Intel
endif
set comid=C52
set pltfrm=sunpro
set soext=so
set exampleout=SOLARISexample.out
# set LD_LIBRARY_PATH
if ( $?LD_LIBARY_PATH == 0) then
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.
else
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.:${LD_LIBRARY_PATH}
endif
breaksw
case "linux-gnu":
if ( $?OO_SDK_CPP_HOME == 0) then
set sdk_gxx_include_path=`echo "#include <cstring>" | ${OO_SDK_CPP_HOME}/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
setenv SDK_GXX_INCLUDE_PATH ${sdk_gxx_include_path}
endif
set directoryname=linux
set comid=gcc3
set pltfrm=gcc
set soext=so
set exampleout=LINUXexample.out
set platform=Linux
# set LD_LIBRARY_PATH
if ( $?LD_LIBARY_PATH == 0) then
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.
else
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.:${LD_LIBRARY_PATH}
endif
breaksw
case "darwin*":
if ( $?OO_SDK_CPP_HOME == 0) then
set sdk_gxx_include_path=`echo "#include <cstring>" | ${OO_SDK_CPP_HOME}/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
setenv SDK_GXX_INCLUDE_PATH ${sdk_gxx_include_path}
endif
set directoryname=macosx
set comid=gcc3
set pltfrm=gcc
set soext=dylib
set exampleout=MACOSXexample.out
set platform=MacOSX
# set DYLD_LIBRARY_PATH
if ( $?DYLD_LIBRARY_PATH == 0) then
setenv DYLD_LIBRARY_PATH ${OO_SDK_OUT}/${directoryname}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.
else
setenv DYLD_LIBRARY_PATH ${OO_SDK_OUT}/${directoryname}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.:${DYLD_LIBRARY_PATH}
endif
breaksw
case "freebsd*":
if ( $?OO_SDK_CPP_HOME == 0) then
set sdk_gxx_include_path=`echo "#include <cstring>" | ${OO_SDK_CPP_HOME}/g++ -E -xc++ - | sed -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1`
setenv SDK_GXX_INCLUDE_PATH ${sdk_gxx_include_path}
endif
set directoryname=freebsd
set comid=gcc3
set pltfrm=gcc
set soext=so
set exampleout=FREEBSDexample.out
set platform=FreeBSD
# set LD_LIBRARY_PATH
if ( $?LD_LIBARY_PATH == 0) then
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.
else
setenv LD_LIBRARY_PATH ${OO_SDK_HOME}/lib:${OO_SDK_OUT}/${exampleout}/lib:${OO_SDK_URE_LIB_DIR}:.:${LD_LIBRARY_PATH}
endif
if ( -e "/sbin/sysctl" ) then
set OSVERSION=`/sbin/sysctl -n kern.osreldate`
else
set OSVERSION=`/usr/sbin/sysctl -n kern.osreldate`
endif
if ( ${OSVERSION} < 500016 ) then
setenv PTHREAD_CFLAGS -D_THREAD_SAFE
setenv PTHREAD_LIBS -pthread
else if ( ${OSVERSION} < 502102 ) then
setenv PTHREAD_CFLAGS -D_THREAD_SAFE
setenv PTHREAD_LIBS -lc_r
else
setenv PTHREAD_LIBS -pthread
endif
breaksw
endsw
# set PATH
if ( $?PATH == 0) then
setenv PATH ${OO_SDK_ZIP_HOME}:${OO_SDK_MAKE_HOME}:${OO_SDK_HOME}/bin:${OO_SDK_OUT}/${exampleout}:${OO_SDK_URE_BIN_DIR}:.
else
setenv PATH ${OO_SDK_ZIP_HOME}:${OO_SDK_MAKE_HOME}:${OO_SDK_HOME}/bin:${OO_SDK_OUT}/${exampleout}:${OO_SDK_URE_BIN_DIR}:.:${PATH}
endif
# Set CLASSPATH
if ( ${?OFFICE_PROGRAM_PATH} ) then
if ( ${?CLASSPATH} == 0 ) then
setenv CLASSPATH "${OFFICE_PROGRAM_PATH}/classes/unoil.jar"
else
setenv CLASSPATH "${OFFICE_PROGRAM_PATH}/classes/unoil.jar:${CLASSPATH}"
endif
endif
if ( $?CLASSPATH == 0) then
setenv 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"
else
setenv 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:${CLASSPATH}"
endif
if ( $?OO_SDK_CPP_HOME == 0) then
setenv PATH ${OO_SDK_CPP_HOME}:${PATH}
endif
if ( $?OO_SDK_JAVA_HOME == 0) then
setenv PATH ${OO_SDK_JAVA_HOME}:${PATH}
endif
if ( "${platform}" == "MacOSX" ) then
# For URE, prepare symbolic links for libraries:
# Only necessary on MacOSX, on other Unix systems the links are already prepared
# in the SDK installation.
# cleanup potential old links first
rm -f "${OO_SDK_OUT}/${directoryname}/lib/libuno_cppu.so" \
"${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}" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_purpenvhelper${comid}.${soext}"
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}"
ln -s "${OO_SDK_URE_LIB_DIR}/libuno_purpenvhelper${comid}.${soext}.3" \
"${OO_SDK_OUT}/${directoryname}/lib/libuno_purpenvhelper${comid}.${soext}"
endif
endif
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}"
if ( $?OO_SDK_CPP_HOME == 0) then
echo " * C++ Compiler = "
else
echo " * C++ Compiler = ${OO_SDK_CPP_HOME}"
endif
if ( $?OO_SDK_JAVA_HOME == 0) then
echo " * Java = "
else
echo " * Java = ${OO_SDK_JAVA_HOME}"
endif
if ( $?OO_SDK_OUTPUT_DIR == 0) then
echo " * Special Output directory = "
else
echo " * SDK Output directory = ${OO_SDK_OUT}"
endif
echo " * Auto deployment = ${SDK_AUTO_DEPLOYMENT}"
echo " *"
echo " ************************************************************************"
unset sdkdir
unset directoryname
unset comid
unset exampleout
unset platform
echo "]2;Shell prepared with the SDK environment"