diff options
Diffstat (limited to 'odk/setsdkenv_unix.csh.in')
-rw-r--r-- | odk/setsdkenv_unix.csh.in | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/odk/setsdkenv_unix.csh.in b/odk/setsdkenv_unix.csh.in new file mode 100644 index 000000000000..f48be7b6ce99 --- /dev/null +++ b/odk/setsdkenv_unix.csh.in @@ -0,0 +1,293 @@ +#! /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" |