#!/bin/sh # Get arg1 (if any) ARG_1=$1 # Detect the Repository, we are running # How to detect, the repository environment: # ------------------------------------------ # 32_64 # 32 # 64 # # 1. Pick a object that will be part of "ttsh" for eternity [eg). "xaondy.o"] # 2. Check "file" type of "xaondy.o" under $(ORACLE_HOME)/lib # - Set B64=TRUE, if type is == "64-bit XCOFF" # # - Set B32=TRUE, if type is == "RISC System/6000" # # 3. Check "file" type of "xaondy.o" under $(ORACLE_HOME)/lib32, provided B32 # is == FALSE # - Set B32=TRUE, if type is == "RISC System/6000" # "file" doesn't follow sym links. So make a local temporary copy REPO_DETECT_FNAME_ORIG=xaondy.o REPO_DETECT_FNAME=xaondy.o.tmp cp ${ORACLE_HOME}/rdbms/lib/${REPO_DETECT_FNAME_ORIG} ${ORACLE_HOME}/lib/${REPO_DETECT_FNAME} 1>/dev/null 2>&1 # Added for Bug-5403089. (grep requires text in English below). export LANG_ORG=$LANG export LANG=C B64=`file ${ORACLE_HOME}/lib/${REPO_DETECT_FNAME} | grep "64-bit XCOFF"` if [[ ${B64} != "" ]] then B64="TRUE" else B64="FALSE" fi B32=`file ${ORACLE_HOME}/lib/${REPO_DETECT_FNAME} | grep "RISC System\/6000"` if [[ ${B32} != "" ]] then B32="TRUE" else B32="FALSE" fi rm -rf ${ORACLE_HOME}/lib/${REPO_DETECT_FNAME} B32_64="FALSE" if [[ ${B32} = FALSE ]] then cp ${ORACLE_HOME}/rdbms/lib32/${REPO_DETECT_FNAME_ORIG} ${ORACLE_HOME}/lib32/${REPO_DETECT_FNAME} 1>/dev/null 2>&1 B32=`file ${ORACLE_HOME}/lib32/${REPO_DETECT_FNAME} | grep "RISC System\/6000"` rm -rf ${ORACLE_HOME}/lib32/${REPO_DETECT_FNAME} if [[ ${B32} != "" ]] then B32="TRUE" B32_64="TRUE" else B32="FALSE" fi fi # Added for Bug-5403089. (grep required text in English above). export LANG=$LANG_ORG # Process arg_1 if [[ ${ARG_1} = "no32" ]] then B32=FALSE fi if [[ ${ARG_1} = "no64" ]] then B64=FALSE fi # Nothing to do if [[ ${B32} = "FALSE" && ${B64} = "FALSE" ]] then exit 0 fi # Do processing, common for both Builds here PATH=/usr/bin:/usr/ccs/bin:/bin export PATH RMF="rm -rf" SHROBJ_PREFIX=shr_ CLNT_NAM=ttsh CLNT_VER=11 MAJOR_VER=11 #unset LD_LIBRARY_PATH #unset SHLIB_PATH #echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}" #echo "SHLIB_PATH: ${SHLIB_PATH}" # Now do the Build for build in 64 do do_build="FALSE" OBJECT_MODE= if [[ ${build} = 32 ]] then LIB_DIR_NAME=lib if [[ ${B32_64} = "TRUE" ]] then LIB_DIR_NAME=lib32 fi OBJECT_MODE=32 if [[ ${B32} = "TRUE" ]] then do_build="TRUE" echo "Building 32bit libttsh.so" fi fi if [[ ${build} = 64 ]] then LIB_DIR_NAME=lib OBJECT_MODE=64 if [[ ${B64} = "TRUE" ]] then do_build="TRUE" echo "Building 64bit libttsh.so" fi fi export OBJECT_MODE if [[ ${do_build} = "TRUE" ]] then # the real stuff LIB_DIR=${ORACLE_HOME}/${LIB_DIR_NAME} if [ ! -z "${SRCHOME}" ] then LIB_DIR=${SRCHOME}/rdbms/${LIB_DIR_NAME} fi LIBNAME=${LIB_DIR}/lib${CLNT_NAM}${CLNT_VER}.so ${RMF} ${LIBNAME} OLIB=${ORACLE_HOME}/${LIB_DIR_NAME} RLIB=${ORACLE_HOME}/rdbms/${LIB_DIR_NAME} # RDBMS LMM="${OLIB}/libmm.a" [ -r ${OLIB}/libskgxp${MAJOR_VER}.a ] && LSKGXP="${OLIB}/libskgxp${MAJOR_VER}.a" [ -r ${OLIB}/libclient${MAJOR_VER}.a ] && LCLIENT="${OLIB}/libclient${MAJOR_VER}.a" [ -r ${OLIB}/libcommon${MAJOR_VER}.a ] && LCOMMON="${OLIB}/libcommon${MAJOR_VER}.a" [ -r ${OLIB}/libgeneric${MAJOR_VER}.a ] && LGENERIC="${OLIB}/libgeneric${MAJOR_VER}.a" [ -r ${OLIB}/libvsn${MAJOR_VER}.a ] && LVSN="${OLIB}/libvsn${MAJOR_VER}.a" [ -r ${OLIB}/libskgxp${MAJOR_VER}.a ] && LSKGXP="${OLIB}/libskgxp${MAJOR_VER}.a" # NLSRTL & CORE [ -r ${OLIB}/libnls${MAJOR_VER}.a ] && LNLSRTL="${OLIB}/libnls${MAJOR_VER}.a" [ -r ${OLIB}/libunls${MAJOR_VER}.a ] && LUNLSRTL="${OLIB}/libunls${MAJOR_VER}.a" [ -r ${OLIB}/libsnls${MAJOR_VER}.a ] && LSNLSRTL="${OLIB}/libsnls${MAJOR_VER}.a" [ -r ${OLIB}/libcore${MAJOR_VER}.a ] && LCORE="${OLIB}/libcore${MAJOR_VER}.a" [ -r ${OLIB}/libxml${MAJOR_VER}.a ] && LXDK="${OLIB}/libxml${MAJOR_VER}.a" [ -r ${OLIB}/libslax${MAJOR_VER}.a ] && LSLAX="${OLIB}/libslax${MAJOR_VER}.a" # PL/SQL [ -r ${OLIB}/libpls${MAJOR_VER}.a ] && LPLS="${OLIB}/libpls${MAJOR_VER}.a" [ -r ${OLIB}/libplp${MAJOR_VER}.a ] && LPLP="${OLIB}/libplp${MAJOR_VER}.a" # PRECOMP [ -r ${OLIB}/libsql${MAJOR_VER}.a ] && LSQL="${OLIB}/libsql${MAJOR_VER}.a" # NETWORK [ -r ${OLIB}/libnl${MAJOR_VER}.a ] && LNL="${OLIB}/libnl${MAJOR_VER}.a" [ -r ${OLIB}/libnnet${MAJOR_VER}.a ] && LNNET="${OLIB}/libnnet${MAJOR_VER}.a" [ -r ${OLIB}/libnnetd${MAJOR_VER}.a ] && LNNETD="${OLIB}/libnnetd${MAJOR_VER}.a" [ -r ${OLIB}/libnent${MAJOR_VER}.a ] && LNENT="${OLIB}/libnent${MAJOR_VER}.a" [ -r ${OLIB}/libnnz${MAJOR_VER}.a ] && LNNZ="${OLIB}/libnnz${MAJOR_VER}.a" [ -r ${OLIB}/libnro${MAJOR_VER}.a ] && LNRO="${OLIB}/libnro${MAJOR_VER}.a" [ -r ${OLIB}/libnsgr${MAJOR_VER}.a ] && LNSGR="${OLIB}/libnsgr${MAJOR_VER}.a" [ -r ${OLIB}/libnzjs${MAJOR_VER}.a ] && LNZJS="${OLIB}/libnzjs${MAJOR_VER}.a" [ -r ${OLIB}/libnsh${MAJOR_VER}.a ] && LNSH="${OLIB}/libnsh${MAJOR_VER}.a" [ -r ${OLIB}/libzt${MAJOR_VER}.a ] && LZT="${OLIB}/libzt${MAJOR_VER}.a" [ -r ${OLIB}/libztkg${MAJOR_VER}.a ] && LZTKG="${OLIB}/libztkg${MAJOR_VER}.a" LDFLAGSLIST=`cat ${ORACLE_HOME}/${LIB_DIR_NAME}/ldflags` LNCRYPT="-lncrypt${MAJOR_VER} -ln${MAJOR_VER} -lnl${MAJOR_VER} -lnro${MAJOR_VER} -lnsslb${MAJOR_VER}" [ -r ${OLIB}/libldapclnt${MAJOR_VER}.a ] && LDAPCLNT="${OLIB}/libldapclnt${MAJOR_VER}.a" NETLIBS="${LDFLAGSLIST} ${LNL} ${LNNET} ${LNNETD} ${LNENT} ${LNNZ} ${LNRO} ${LNCRYPT}" NETLIBS="${NETLIBS} ${LNSGR} ${LNZJS} ${LNSH} ${LZT} ${LZTKG} ${LDFLAGSLIST}" OLIBS="${LCLIENT}" OLIBS="${OLIBS} ${LSQL}" OLIBS="${OLIBS} ${LCLIENT}" OLIBS="${OLIBS} ${LCOMMON}" OLIBS="${OLIBS} ${LGENERIC}" OLIBS="${OLIBS} ${LMM}" OLIBS="${OLIBS} ${LSKGXP}" OLIBS="${OLIBS} ${LVSN}" OLIBS="${OLIBS} ${NETLIBS}" OLIBS="${OLIBS} ${LCLIENT}" OLIBS="${OLIBS} ${LCOMMON}" OLIBS="${OLIBS} ${LGENERIC}" OLIBS="${OLIBS} ${LPLS}" OLIBS="${OLIBS} ${LPLP}" OLIBS="${OLIBS} ${NETLIBS}" OLIBS="${OLIBS} ${LCLIENT}" OLIBS="${OLIBS} ${LCOMMON}" OLIBS="${OLIBS} ${LGENERIC}" OLIBS="${OLIBS} ${LPLS}" OLIBS="${OLIBS} ${LSNLSRTL}" OLIBS="${OLIBS} ${LNLSRTL}" OLIBS="${OLIBS} ${LCORE}" OLIBS="${OLIBS} ${LSLAX}" OLIBS="${OLIBS} ${LSNLSRTL}" OLIBS="${OLIBS} ${LNLSRTL}" OLIBS="${OLIBS} ${LCORE}" OLIBS="${OLIBS} ${LSNLSRTL}" OLIBS="${OLIBS} ${LNLSRTL}" OLIBS="${OLIBS} ${LUNLSRTL}" OLIBS="${OLIBS} ${LXDK}" OLIBS="${OLIBS} ${LSNLSRTL}" OLIBS="${OLIBS} ${LNLSRTL}" OLIBS="${OLIBS} ${LUNLSRTL}" OLIBS="${OLIBS} ${LCORE}" OOBJS= OOBJS="${OOBJS} ${OLIB}/nautab.o" OOBJS="${OOBJS} ${OLIB}/naeet.o" OOBJS="${OOBJS} ${OLIB}/naect.o" OOBJS="${OOBJS} ${OLIB}/naedhs.o" OOBJS="${OOBJS} ${RLIB}/xaondy.o" OOBJS="${OOBJS} ${RLIB}/sllfls.o" SYSLIBS=`cat ${ORACLE_HOME}/${LIB_DIR_NAME}/sysliblist`" -lc" # Do the stuff rm -rf ${ORACLE_HOME}/${LIB_DIR_NAME}/ttsh.def 1>/dev/null 2>&1 # if [ ! -z "${SRCHOME}" ] then cp ${ORACLE_HOME}/${LIB_DIR_NAME}/ttsh.lst ${ORACLE_HOME}/${LIB_DIR_NAME}/ttsh.def else cp ${ORACLE_HOME}/rdbms/admin/ttsh.lst ${ORACLE_HOME}/${LIB_DIR_NAME}/ttsh.def fi LD_COMMAND="/bin/ld -bbigtoc -brtl -G -o ${LIBNAME} -bnoentry -bM:SRE -bexpall -bI:/usr/lib/aio.exp -bE:${ORACLE_HOME}/${LIB_DIR_NAME}/ttsh.def -L${ORACLE_HOME}/${LIB_DIR_NAME} ${OOBJS} ${OLIBS} ${SYSLIBS} -lpthread" echo $LD_COMMAND echo "" $LD_COMMAND rm -rf ${ORACLE_HOME}/${LIB_DIR_NAME}/ttsh.def 1>/dev/null 2>&1 # Setup if [ ! -z "${SRCHOME}" ] then cd ${SRCHOME}/${LIB_DIR_NAME} ln -sf ${LIBNAME} . fi # End of if (do_build) fi # End of for loop done exit 0