summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2008-08-05 16:24:53 +0000
committerIulian Dragos <jaguarul@gmail.com>2008-08-05 16:24:53 +0000
commite50c7947b58e4937e1d5bd8a346be3c44592962c (patch)
treeffbf1d4e64aa3a29a4aa5896848b466c0146202f
parent2daab02552adedd4bc2b3a028a845abb5fdd566a (diff)
downloadscala-e50c7947b58e4937e1d5bd8a346be3c44592962c.tar.gz
scala-e50c7947b58e4937e1d5bd8a346be3c44592962c.tar.bz2
scala-e50c7947b58e4937e1d5bd8a346be3c44592962c.zip
Added strap and test.stability targets.
-rw-r--r--OMakefile25
1 files changed, 24 insertions, 1 deletions
diff --git a/OMakefile b/OMakefile
index 93e5f6c660..fc740f1fa3 100644
--- a/OMakefile
+++ b/OMakefile
@@ -5,10 +5,14 @@
JAVA_HOME = $(getenv JAVA_HOME, /home/linuxsoft/apps/java-1.6/)
JAVACMD = $(getenv JAVACMD, $(JAVA_HOME)$(DIRSEP)bin$(DIRSEP)/java)
JAVAC = $(getenv JAVAC, $(JAVA_HOME)$(DIRSEP)bin$(DIRSEP)javac)
+JAVAP = $(JAVA_HOME)$(DIRSEP)bin$(DIRSEP)javap
# Default options for the JVM
JAVA_OPTS = -Xms1024M -Xmx1024M -XX:MaxPermSize=256M
+DIFF=diff
+DIFF_OPTS=-r
+
######################################################################
# The current copyright string
@@ -26,6 +30,9 @@ LOCKER_CLASS_DIR = $(LOCKER_DIR)$(DIRSEP)classes
# The directory where the quick files are kept
QUICK_DIR = $(BUILD_DIR)$(DIRSEP)quick
QUICK_CLASS_DIR = $(QUICK_DIR)$(DIRSEP)classes
+# The directory where the strap files are kept
+STRAP_DIR = $(BUILD_DIR)$(DIRSEP)strap
+STRAP_CLASS_DIR = $(STRAP_DIR)$(DIRSEP)classes
# Scala compiler class
SCALAC_CLASS = scala.tools.nsc.Main
@@ -46,6 +53,7 @@ STARR_CLASSPATH = $(array $(addprefix $(LIB_DIR)$(DIRSEP), scala-library.jar sca
#println($(string $(STARR_CLASSPATH)))
LOCKER_CLASSPATH = $(array $(addprefix $(LOCKER_CLASS_DIR)$(DIRSEP), compiler library) $(COMMON_CLASSPATH))
QUICK_CLASSPATH = $(array $(addprefix $(QUICK_CLASS_DIR)$(DIRSEP), compiler library partest) $(COMMON_CLASSPATH))
+STRAP_CLASSPATH = $(array $(addprefix $(STRAP_CLASS_DIR)$(DIRSEP), compiler library partest) $(COMMON_CLASSPATH))
######################################################################
@@ -66,6 +74,14 @@ idem-mkdir(dir) =
# println(Creating directory $(dir))
mkdir(-p $(dir))
+# compare two classes using javap
+javap-diff(cpath1, cpath2, cls) =
+ tmp1 = $(tmpfile javap1, .txt)
+ tmp2 = $(tmpfile javap2, .txt)
+ $(JAVAP) -classpath $(cpath1) -private $(cls) > $(tmp1)
+ $(JAVAP) -classpath $(cpath2) -private $(cls) > $(tmp2)
+ ($(DIFF) $(tmp1) $(tmp2)) || echo $(cls) is different in $(cpath1) and $(cpath2)
+
# Write a property file
propfile(file) =
handle = $(fopen $(file), w)
@@ -124,7 +140,7 @@ partest(classpath) =
# Specify those targets that are "phony", as in, they do not
# correspond to actual files that will be created.
-.PHONY : locker quick partest test clean all.clean locker.clean
+.PHONY : locker quick partest test clean all.clean locker.clean strap stability
# Specify the default target
.DEFAULT : test
@@ -151,6 +167,13 @@ locker $(LOCKER_DIR) :
quick $(QUICK_DIR) : $(LOCKER_DIR)
buildscala($(LOCKER_CLASSPATH), $(QUICK_DIR))
+strap $(STRAP_DIR) : $(QUICK_DIR)
+ buildscala($(QUICK_CLASSPATH), $(STRAP_DIR))
+
+test.stability : $(STRAP_DIR)
+# javap-diff($(QUICK_CLASS_DIR)/library, $(STRAP_CLASS_DIR)/library, "scala.swing.Key")
+ $(DIFF) $(DIFF_OPTS) $(QUICK_CLASS_DIR) $(STRAP_CLASS_DIR)
+
partest : quick
idem-mkdir($(QUICK_CLASS_DIR)$(DIRSEP)partest)
javac($(LOCKER_CLASSPATH), $(QUICK_CLASS_DIR)$(DIRSEP)partest, \