csh
shell.
Variables specified in red are provided by the user. The other variables should be derived from them.
SCALE
~/scale
.
SCALERELEASE
dev
.
SCALEHOME
SCALEHOME
can have the same value as SCALE
.
SCALEHOSTTYPE
sparc
alpha
i686
ppc
mips
trips2
SCALEHOSTOS
solaris
osf1
darwin
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
.
It finds the libraries using the LD_LIBRARY_PATH
environmental variable.
These libraries are
libScale_$(SCALETARGETTYPE).a | C runtime routines & F77 runtime routines |
CC
CFLAGS
-g
to use when compiling the parts of Scale that are written in C.
AS
as
is used.
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
"${CLASSPATH}:${SCALE}/${SCALERELEASE}:${SCALE}/${SCALERELEASE}/scale/frontend/antlr.jar:${CLASSDEST):${SCALEHOME}/${SCALERELEASE}:${SCALEHOME}/${SCALERELEASE}/scale/frontend/antlr.jar:${SCALEHOME}/${SCALERELEASE}/classes"
.
Note that both the ${SCALE}/${SCALERELEASE}
and ${CLASSDEST)
paths are necessary in order for the JVM to find both the .java
and .class
files.
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 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 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."