mirror of
https://github.com/SSCLI/sscli_20021101
synced 2026-06-08 12:28:57 +00:00
9fa3874800
Moved the original file to the archive subfolder.
246 lines
6.4 KiB
Bash
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
|