From e50c7947b58e4937e1d5bd8a346be3c44592962c Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Tue, 5 Aug 2008 16:24:53 +0000 Subject: Added strap and test.stability targets. --- OMakefile | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) 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, \ -- cgit v1.2.3