#! /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 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_PROGRAM_PATH}" setenv OO_SDK_URE_JAVA_DIR "${OFFICE_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 " | ${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 " | ${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 " | ${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 " * 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"