| #! /bin/csh |
| ############################################################### |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| ############################################################### |
| |
| # 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/openoffice.org/basis3.0/sdk |
| setenv OO_SDK_HOME '@OO_SDK_HOME@' |
| |
| # Office installation directory. |
| # Example: set OFFICE_HOME=/opt/openoffice.org3 |
| set OFFICE_HOME='@OFFICE_HOME@' |
| OFFICE_BASE_HOME='@OFFICE_BASE_HOME@' |
| |
| # URE installation directory. |
| # Example: setenv OO_SDK_URE_HOME /opt/openoffice.org/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 stldebug=_debug |
| |
| # 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 stldebug=_stldebug |
| |
| # 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 stldebug=_stldebug |
| |
| # 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 stldebug=_stldebug |
| |
| # 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 ( -r "${OO_SDK_URE_LIB_DIR}/libstlport_${pltfrm}${stldebug}.${soext}" ) then |
| setenv STLDEBUG ${stldebug} |
| else |
| setenv STLDEBUG "" |
| 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 ( -e "${OO_SDK_OUT}/${directoryname}/lib/libstlport_${pltfrm}${STLDEBUG}.${soext}" ) then |
| rm -rf "${OO_SDK_OUT}/${directoryname}/lib/libstlport_${pltfrm}${STLDEBUG}.${soext}" |
| endif |
| |
| 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}" |
| |
| 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}" |
| endif |
| 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" |