csh shell.
Variables specified in red are provided by the user. The other variables should be derived from them.
CVSROOT
cvs repository for the Scale compiler.
SCALE
~/scale.
SCALEHOME
SCALEHOME can have the same value as SCALE.
SCALEHOSTTYPE
sparc
alpha
i686
SCALEHOSTNAME
SCALEHOSTTYPE if you do not wish to keep separate executable and libraries for differnt systems of the same type.
SCALETARGETTYPE
sparc
alpha
mips
SCALETARGETNAME
SCALEHOSTOS
SCALETARGETOS
SCALELIB
$SCALE/$SCALERELEASE/$SCALEHOSTNAME/lib.
SCALEHOMELIB
$SCALEHOME/$SCALERELEASE/$SCALEHOSTNAME/lib.
SCALEBIN
$SCALE/$SCALERELEASE/$SCALEHOSTNAME/bin.
SCALEHOMEBIN
$SCALEHOME/$SCALERELEASE/$SCALEHOSTNAME/bin.
LD_LIBRARY_PATH
$SCALELIB and $SCALEHOMELIB.
CC
CFLAGS
-g to use when compiling the parts of Scale that are written in C.
AR
ar is used.
MAKE
make.
JAVAHOME
JNI_INCLUDES
"-I$JAVAHOME/include -I$JAVAHOME/include/xxx"
where xxx is solaris, alpha, or linux.
CLASSDEST
$SCALE/$SCALERELEASE/classes.
CLASSPATH
jar file for this.
This is usually set to "${CLASSPATH}:${SCALE}/${SCALERELEASE}:${SCALE}/${SCALERELEASE}/classes:${SCALEHOME}/${SCALERELEASE}:${SCALEHOME}/${SCALERELEASE}/classes".
EDGCPSRC
"$SCALE/$SCALERELEASE/tools/edgcpfe_2.43/src".
EDGCPSRCHOME
"$SCALEHOME/$SCALERELEASE/tools/edgcpfe_2.43/src".
EDGCP_INCLUDES
.h files for the frontend.
This is usually set to "-I$EDGCPSRC -I$EDGCPSRCHOME".
EDGFSRC
"$SCALE/$SCALERELEASE/tools/edgffe_1.03/src".
EDGFSRCHOME
"$SCALEHOME/$SCALERELEASE/tools/edgffe_1.03/src".
EDGF_INCLUDES
.h files for the frontend.
This is usually set to "-I$EDGFSRC -I$EDGFSRCHOME".
JAVA
"$JAVAHOME/bin/java".
JAVAC
"$JAVAHOME/bin/javac".
JAVACFLAGS
"-J-Xmx32m -d $CLASSDEST -g".
JAVAD
javadoc tool. This is usually set to "${JAVAHOME/bin/javadoc".
JAVADFLAGS
"-J-Xmx128m -J-Xms32m".
JAVADDEST
javadoc generated documentation.
This is usually set to $SCALE/$SCALERELEASE/doc/html.
When we make a change to the Scale compiler, we run the regression tests to see if the change caused a problem that did not occur before the change. If a test fails, we can use it to track down the bug that was introduced by the change.
There are many separate tests that comprise the regression test suite. Each test is compiled by Scale and compiled by a native compiler. The regression tests compare the output generated from running both versions. If there is any difference, the test failed.
These environmental variables are in addition to the ones described above. They are used when running the regression tests on the compiler. You may or may not be able to run these tests. They are not provided with the normal release of the Scale compiler.
F77
DAVINCIHOME
F77FLGS
-g to use when using the native F77 compiler.
CFP95
CINT95
CFP2000
CINT2000
DISBMK
csh Setup Script
#!/bin/csh -f
# This file must be sourced - not executed.
if ($?SCALE == 0) then
echo SCALE must be set in your environment. Exiting.
exit
endif
if ($?SCALERELEASE == 0) then
echo SCALERELEASE must be set in your environment. Exiting.
exit
endif
echo Setting up Scale for developer environment.
setenv SCALEHOME ~scale
if (${?LD_LIBRARY_PATH} == 0) then
setenv LD_LIBRARY_PATH
endif
setenv SCALEHOSTTYPE "unknown"
if ($MACHINETYPE == "SOLsun") then
setenv MANPATH /exp/rcf/comm/forte/SUNWspro/man:/usr/man:$MANPATH
setenv LD_LIBRARY_PATH ".:/exp/rcf/comm/forte/SUNWspro/lib:$LD_LIBRARY_PATH"
setenv LM_LICENSE_FILE /exp/rcf/comm/forte/SUNWste/license_tools/sunpro.lic,node
setenv SCALEHOSTTYPE "sparc"
setenv CC "/exp/rcf/comm/forte/SUNWspro/bin/cc -Xc"
setenv CFLAGS "-g -v"
setenv F77 "/exp/rcf/comm/forte/SUNWspro/bin/f77 -silent"
setenv AR /usr/ccs/bin/ar
setenv MAKE /exp/rcf/share/bin/make
setenv JAVAHOME /exp/rcf/share/X11R5/j2sdk1_3_0
setenv JNI_INCLUDES "-I$JAVAHOME/include -I$JAVAHOME/include/solaris"
else if ($MACHINETYPE == "ALPHA") then
setenv MANPATH /usr/man:$MANPATH
setenv LD_LIBRARY_PATH .:$LD_LIBRARY_PATH
setenv SCALEHOSTTYPE "alpha"
setenv CC "cc -std"
setenv CFLAGS "-g -warnprotos"
# don't add -msg_disable tags because they aren't portable across cxx versions. -msg_quiet seems to be better
setenv F77 f77
setenv AR /usr/ccs/bin/ar
setenv MAKE /exp/rcf/share/bin/make
setenv JAVAHOME /usr/opt/java131
setenv JNI_INCLUDES "-I$JAVAHOME/include -I$JAVAHOME/include/alpha"
else if ($MACHINETYPE == "i686") then
setenv SCALEHOSTTYPE "i686"
setenv CC gcc
setenv AR /usr/bin/ar
setenv MAKE /usr/bin/gmake
setenv CFLAGS -g
setenv JAVAHOME /exp/rcf/share/X11R5/jdk1.3
setenv JNI_INCLUDES "-I$JAVAHOME/include -I$JAVAHOME/include/linux"
endif
setenv SCALEHOSTNAME `echo $HOST | awk -F. '{print $1}'`
setenv SCALETARGETTYPE $SCALEHOSTTYPE
setenv SCALELIB ${SCALE}/${SCALERELEASE}/${SCALEHOSTNAME}/lib
setenv SCALEHOMELIB ${SCALEHOME}/${SCALERELEASE}/${SCALEHOSTNAME}/lib
setenv SCALEBIN ${SCALE}/${SCALERELEASE}/${SCALEHOSTNAME}/bin
setenv SCALEHOMEBIN ${SCALEHOME}/${SCALERELEASE}/${SCALEHOSTNAME}/bin
setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SCALELIB}:${SCALEHOMELIB}"
set path = ($path $SCALEBIN $SCALEHOMEBIN)
setenv CVSROOT ${SCALEHOME}/cvs
setenv CLASSDEST $SCALE/$SCALERELEASE/classes
if ($?CLASSPATH == 0) then
setenv CLASSPATH
endif
# the CLASSPATH goes as follows:
# - the development destination directory
# - the root of the development hierarchy (needed for looking up .java files)
# - the main development directory
# - the root of the main development hierarchy (also for .java files)
setenv CLASSPATH ${CLASSPATH}:${SCALE}/${SCALERELEASE}:${SCALE}/${SCALERELEASE}/classes:${SCALEHOME}/${SCALERELEASE}:${SCALEHOME}/${SCALERELEASE}/classes
setenv EDGCPSRC ${SCALE}/${SCALERELEASE}/tools/edgcpfe_2.43/src
setenv EDGCPSRCHOME ${SCALEHOME}/${SCALERELEASE}/tools/edgcpfe_2.43/src
setenv EDGCP_INCLUDES "-I$EDGCPSRC -I$EDGCPSRCHOME"
setenv EDGFSRC ${SCALE}/${SCALERELEASE}/tools/edgffe_1.03/src
setenv EDGFSRCHOME ${SCALEHOME/${SCALERELEASE}/tools/edgffe_1.03/src
setenv EDGF_INCLUDES "-I$EDGFSRC -I$EDGFSRCHOME"
setenv JAVA "$JAVAHOME/bin/java"
setenv JAVAC "$JAVAHOME/bin/javac"
setenv JAVACFLAGS "-J-Xmx32m -d $CLASSDEST -g"
setenv JAVAD "${JAVAHOME/bin/javadoc -J-Xmx128m -J-Xms32m"
setenv JAVADFLAGS "-J-Xmx128m -J-Xms32m"
setenv JAVADDEST $SCALE/$SCALERELEASE/doc/html
setenv JAVAH $JAVAHOME/bin/javah
setenv DAVINCIHOME $SCALEHOME/$SCALERELEASE/tools/daVinci/daVinci_V2.1_$MACHINETYPE
setenv CFP95 /exp/rcf/common/pub/spec/benchspec/CFP95
setenv CINT95 /exp/rcf/common/pub/spec/benchspec/CINT95
setenv CFP2000 /exp/rcf/common/pub/spec/benchspec/CFP2000
setenv CINT2000 /exp/rcf/common/pub/spec/benchspec/CINT2000
setenv DISBMK /exp/rcf/common/pub/DIS/dis
echo SCALE = $SCALE
echo "Compiling on $SCALEHOSTTYPE : $SCALEHOSTNAME for $SCALETARGETTYPE"
echo "Looking for libraries at: $SCALELIB $SCALEHOMELIB"
echo "Looking for binaries at: $SCALEBIN $SCALEHOMEBIN"
echo "Using development directory: $SCALE/$SCALERELEASE"
echo "Using support development directory: $SCALEHOME/$SCALERELEASE"
echo "Generated classes stored at: $CLASSDEST"
echo "Looking for classes at: $CLASSPATH"
echo "Using C compiler: $CC"
echo "Using F77 compiler: $F77"
echo "Scale setup complete."