Files
yallie 9fa3874800 Added the contents of the archive.
Moved the original file to the archive subfolder.
2017-11-20 16:11:42 +03:00

246 lines
6.4 KiB
Bash

# ==++==
#
#
# Copyright (c) 2002 Microsoft Corporation. All rights reserved.
#
# The use and distribution terms for this software are contained in the file
# named license.txt, which can be found in the root of this distribution.
# By using this software in any fashion, you are agreeing to be bound by the
# terms of this license.
#
# You must not remove this notice, or any other, from this software.
#
#
# ==--==
if test "`echo ${PWD} | sed -e 's/ //g'`" != "${PWD}"
then
echo "You cannot have spaces in the path to the SSCLI directory."
return 1;
fi
perl -e "exit 1 if '${PWD}' =~ /[\x80-\xff]/;"
if test $? -eq 1
then
echo "You cannot have high-bit characters in the path to the SSCLI directory."
return 1
fi
if test X"$SHELL" = "X"
then
echo "The SHELL environment variable is not set -- checking \$0."
SH=$(echo $0 | tr -d "-")
SH=$(basename $SH)
else
SH=$(basename $SHELL)
fi
export SH
if test X"$SH" = "Xcsh" || test X"$SH" = "Xtcsh"
then
echo "Your shell is [t]csh -- please source env.csh instead."
return 1
fi
if test X"$ROTOR_DIR" != "X"
then
echo "You cannot run env.csh more than once"
return 1
fi
# Do a simple check to see if we're in the right directory.
if [ ! -d "${PWD}/pal" ] || [ ! -d "${PWD}/clr" ]
then
echo "env.sh must be run from the root of the SSCLI directory."
return 1
fi
# Set a few environment variables for the SSCLI build process.
# This file must be run from the root of the SSCLI distribution.
ROTOR_DIR="${PWD}"
DNAROOT="${ROTOR_DIR}/fx"
NTMAKEENV="${ROTOR_DIR}/rotorenv/bin"
PLATFORM_UNIX=1
FEATURE_PAL=1
CRT_INC_PATH="${ROTOR_DIR}/palrt/inc"
SDK_INC_PATH="${ROTOR_DIR}/pal"
export ROTOR_DIR
export DNAROOT
export NTMAKEENV
export PLATFORM_UNIX
export FEATURE_PAL
export CRT_INC_PATH
export SDK_INC_PATH
# This isn't a perfect test, but the likelihood of both /TMP and /ETC
# existing on a case-sensitive system is very, very low.
if [ -s /TMP ] && [ -s /ETC ]; then
FEATURE_CASE_SENSITIVE_FS=0
else
FEATURE_CASE_SENSITIVE_FS=1
fi
CSC_COMPILE_FLAGS=""
ARCHITECTURE=`uname -p`
if [ "$ARCHITECTURE" = "unknown" ]; then
ARCHITECTURE=`uname -m`
fi
case $ARCHITECTURE in
i[3-6]86)
PROCESSOR_ARCHITECTURE=x86
TARGET_DIRECTORY=rotor_x86
_TGTCPU=i386
ROTOR_X86=1
if [ `uname -s` != "FreeBSD" ]; then
OTHER_X86=1
export OTHER_X86
fi
GCC_VERSION_OUTPUT=`sh -c "gcc -v 2>&1 | sed -e 1\\!d"`
if [ "$GCC_VERSION_OUTPUT" = "Using builtin specs." ]; then
GCC_LIB_DIR=/usr/lib
else
GCC_LIB_DIR=`sh -c "gcc -v 2>&1 | sed -e 1\\!d -e 's/^Reading specs from //g' -e 's/\/specs//g'"`
fi
if [ -f "${GCC_LIB_DIR}/libgcc_eh.a" ]; then
GCC_EH_LIB=${GCC_LIB_DIR}/libgcc_eh.a
export GCC_EH_LIB
fi
PLATFORM=`uname -s | awk '{ print tolower($0) }'`
export PLATFORM
export GCC_LIB_DIR
export ROTOR_X86
;;
"powerpc")
PROCESSOR_ARCHITECTURE=ppc
TARGET_DIRECTORY=ppc
_TGTCPU=ppc
PPC=1
CSC_COMPILE_FLAGS="${CSC_COMPILE_FLAGS} /d:__APPLE__ /d:BIGENDIAN"
export PPC
# Build with precompiled headers
if test X"$1" != "Xchecked"
then
FEATURE_PRECOMPILED_HEADERS=1
export FEATURE_PRECOMPILED_HEADERS
fi
;;
"sparc")
PROCESSOR_ARCHITECTURE=sparc
TARGET_DIRECTORY=sparc
_TGTCPU=sparc
SPARC=1
CSC_COMPILE_FLAGS="${CSC_COMPILE_FLAGS} /d:BIGENDIAN"
GCC_VERSION_OUTPUT=`sh -c "gcc -v 2>&1 | sed -e 1\\!d"`
if [ "$GCC_VERSION_OUTPUT" = "Using builtin specs." ]; then
GCC_LIB_DIR=/usr/lib
else
GCC_LIB_DIR=`sh -c "gcc -v 2>&1 | sed -e 1\\!d -e 's/^Reading specs from //g' -e 's/\/specs//g'"`
fi
if [ -f "${GCC_LIB_DIR}/libgcc_eh.a" ]; then
GCC_EH_LIB=${GCC_LIB_DIR}/libgcc_eh.a
export GCC_EH_LIB
fi
export GCC_LIB_DIR
export SPARC
;;
*)
echo "`uname -p` is not a supported processor."
exit 1
;;
esac
export PROCESSOR_ARCHITECTURE
export TARGET_DIRECTORY
export _TGTCPU
export FEATURE_CASE_SENSITIVE_FS
CORBASE="${ROTOR_DIR}/clr"
CORENV="${ROTOR_DIR}/rotorenv"
_NTROOT="${CORBASE}"
TARGETCORLIB="${CORBASE}/bin"
TARGETPATH="${CORBASE}/bin"
BUILD_DEFAULT="-iwe -nmake -i -a"
BUILD_DEFAULT_TARGETS="-dynamic ${TARGET_DIRECTORY}"
C_DEFINES="-DFEATURE_PAL -DPLATFORM_UNIX -DDEBUGGING_SUPPORTED"
C_DEFINES="${C_DEFINES} -DUSE_CDECL_HELPERS -DPAL_PORTABLE_SEH"
C_DEFINES="${C_DEFINES} -DFUSION_SUPPORTED -DPROFILING_SUPPORTED"
CSC_COMPILE_FLAGS="${CSC_COMPILE_FLAGS} /d:FEATURE_PAL /d:PLATFORM_UNIX"
DEBUGGING_SUPPORTED_BUILD=1
PROFILING_SUPPORTED_BUILD=1
SVR_WKS_DIRS=wks
CSC_NO_DOC=1
export CORBASE
export CORENV
export _NTROOT
export TARGETCORLIB
export TARGETPATH
export BUILD_DEFAULT
export BUILD_DEFAULT_TARGETS
export DEBUGGING_SUPPORTED_BUILD
export PROFILING_SUPPORTED_BUILD
export SVR_WKS_DIRS
export CSC_NO_DOC
if test X"$FEATURE_CASE_SENSITIVE_FS" = "X1"
then
C_DEFINES="${C_DEFINES} -DFEATURE_CASE_SENSITIVE_FILESYSTEM"
CSC_COMPILE_FLAGS="${CSC_COMPILE_FLAGS} /d:FEATURE_CASE_SENSITIVE_FILESYSTEM"
fi
if test X"$1" = "Xfree"
then
echo "Free Environment"
DDKBUILDENV=free
C_DEFINES="${C_DEFINES} -DNTMAKEENV -DNDEBUG -DPERF_TRACKING"
BUILD_ALT_DIR=r
TARGETCOMPLUS="${ROTOR_DIR}/build/v1.${PROCESSOR_ARCHITECTURE}fre.rotor"
NTDEBUG=ntsdnodbg
else if test X"$1" = "Xchecked"
then
echo "Checked Environment"
DDKBUILDENV=checked
C_DEFINES="${C_DEFINES} -DNTMAKEENV -D_DEBUG"
BUILD_ALT_DIR=d
TARGETCOMPLUS="${ROTOR_DIR}/build/v1.${PROCESSOR_ARCHITECTURE}chk.rotor"
NTDEBUG=ntsd
MSC_OPTIMIZATION=
export MSC_OPTIMIZATION
else
echo "Fastchecked Environment"
DDKBUILDENV=fastchecked
C_DEFINES="${C_DEFINES} -DNTMAKEENV -D_DEBUG"
BUILD_ALT_DIR=df
TARGETCOMPLUS="${ROTOR_DIR}/build/v1.${PROCESSOR_ARCHITECTURE}fstchk.rotor"
NTDEBUG=ntsd
fi
fi
export C_DEFINES
export CSC_COMPILE_FLAGS
export DDKBUILDENV
export BUILD_ALT_DIR
export TARGETCOMPLUS
export NTDEBUG
FUSION_LIB_PATH="${CORBASE}"/bin/${TARGET_DIRECTORY}/${DDKBUILDENV}
INTTOOLSTARGET="${TARGETCOMPLUS}/int_tools"
CORBUILDENV=${DDKBUILDENV}/
PATH="${PATH}:${TARGETCOMPLUS}:${TARGETCOMPLUS}/sdk/bin"
PATH="${PATH}:${TARGETCOMPLUS}/int_tools"
if test X"$LD_LIBRARY_PATH" = "X"
then
LD_LIBRARY_PATH="${TARGETCOMPLUS}"
else
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${TARGETCOMPLUS}"
fi
LD_LIB_DIRS="-L${TARGETCOMPLUS}"
export FUSION_LIB_PATH
export INTTOOLSTARGET
export CORBUILDENV
export PATH
export LD_LIBRARY_PATH
export LD_LIB_DIRS