comparing with http://hg.mozilla.org/tamarin-central
real URL is http://hg.mozilla.org/tamarin-central/
searching for changes
changeset:   110:19b37ddd4fc3
user:        benjamin@smedbergs.us
date:        Thu Aug 02 10:25:51 2007 -0400
files:       build/configuration.py configure.py core/manifest.mk
description:
Fix Linux debug builds (add RTTI and -ldl for AVM Debug instrumentation)


diff -r 22bc4cfc0254 -r 19b37ddd4fc3 build/configuration.py
--- a/build/configuration.py	Thu Aug 02 10:22:43 2007 -0400
+++ b/build/configuration.py	Thu Aug 02 10:25:51 2007 -0400
@@ -202,6 +202,9 @@ class Configuration:
                 'MKPROGRAM'    : '$(CXX) -o $(1)'
                 })
 
+    def getDebug(self):
+        return self._debug
+
     def subst(self, name, value):
         self._acvars[name] = value
 
diff -r 22bc4cfc0254 -r 19b37ddd4fc3 configure.py
--- a/configure.py	Thu Aug 02 10:22:43 2007 -0400
+++ b/configure.py	Thu Aug 02 10:25:51 2007 -0400
@@ -71,7 +71,11 @@ DEBUG_CXXFLAGS = "-g "
 DEBUG_CXXFLAGS = "-g "
 
 if config.COMPILER_IS_GCC:
-    APP_CXXFLAGS = "-fno-exceptions -fno-rtti -Werror -Wall -Wno-reorder -Wno-switch -Wno-invalid-offsetof -Wno-uninitialized -Wno-strict-aliasing -fmessage-length=0 -finline-functions -finline-limit=65536 "
+    APP_CXXFLAGS = "-fno-exceptions -Werror -Wall -Wno-reorder -Wno-switch -Wno-invalid-offsetof -Wno-uninitialized -Wno-strict-aliasing -fmessage-length=0 -finline-functions -finline-limit=65536 "
+    if config.getDebug():
+        APP_CXXFLAGS = "-frtti "
+    else:
+        APP_CXXFLAGS += "-fno-rtti "
 else:
     APP_CXXFLAGS = "-GR- -W4 -WX "
 
@@ -87,6 +91,8 @@ elif os == "linux":
 elif os == "linux":
     APP_CPPFLAGS += "-DUNIX -DAVMPLUS_UNIX -DLINUX "
     OS_LIBS.append('pthread')
+    if config.getDebug():
+        OS_LIBS.append("dl")
 else:
     raise Exception("Unsupported OS")
 
diff -r 22bc4cfc0254 -r 19b37ddd4fc3 core/manifest.mk
--- a/core/manifest.mk	Thu Aug 02 10:22:43 2007 -0400
+++ b/core/manifest.mk	Thu Aug 02 10:25:51 2007 -0400
@@ -110,5 +110,17 @@ avmplus_CXXSRCS := $(avmplus_CXXSRCS) \
   $(curdir)/AvmPlusScriptableObject.cpp \
   $(NULL)
 
+ifdef ENABLE_DEBUG
+ifeq (windows,$(TARGET_OS))
+avmplus_CXXSRCS := $(avmplus_CXXSRCS) \
+  $(curdir)/AvmDebugWin.cpp \
+  $(NULL)
+else
+avmplus_CXXSRCS := $(avmplus_CXXSRCS) \
+  $(curdir)/AvmDebugUnix.cpp \
+  $(NULL)
+endif
+endif
+
 #  $(curdir)/avmplus.cpp \
 #  $(curdir)/AtomConstants.cpp \

changeset:   111:a0722e9fc6c7
parent:      110:19b37ddd4fc3
parent:      107:7b5c450a74f0
user:        benjamin@smedbergs.us
date:        Thu Aug 02 10:26:05 2007 -0400
description:
Merge to trunk


diff -r 19b37ddd4fc3 -r a0722e9fc6c7 MMgc/GCHeapUnix.cpp
--- a/MMgc/GCHeapUnix.cpp	Thu Aug 02 10:25:51 2007 -0400
+++ b/MMgc/GCHeapUnix.cpp	Thu Aug 02 10:26:05 2007 -0400
@@ -55,7 +55,9 @@
 #endif // !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
 
 #if defined(MEMORY_INFO) && defined(AVMPLUS_UNIX)
+#ifndef _GNU_SOURCE
 #define _GNU_SOURCE
+#endif
 #include <dlfcn.h>
 #endif
 

changeset:   112:5cd904bc7f85
parent:      108:1e4f0d607cf1
parent:      111:a0722e9fc6c7
user:        Benjamin Smedberg <benjamin@smedbergs.us>
date:        Thu Aug 02 12:41:46 2007 -0400
description:
Null merge


diff -r 1e4f0d607cf1 -r 5cd904bc7f85 build/calcdepends.py
--- a/build/calcdepends.py	Thu Aug 02 12:23:15 2007 -0400
+++ b/build/calcdepends.py	Thu Aug 02 12:41:46 2007 -0400
@@ -37,7 +37,7 @@
 # ***** END LICENSE BLOCK *****
 
 
-import os
+import os, sys, re
 from stat import *
 
 class StatCache:
@@ -79,13 +79,29 @@ def rebuildNeeded(file, dependencies):
 
     return False
 
+_fileFromLine = re.compile('^([^:]+): FORCE')
+
 def rebuildsNeeded(files, outfile):
     """Write a makefile snippet indicating whether object files need to be
     rebuilt.
 
     @param files: a dictionary of { 'objfile', 'depfile' }"""
 
-    ostream = open(outfile, "w")
+    oldrebuilds = {}
+    do_write = False
+
+    if os.path.exists(outfile):
+        istream = open(outfile, "r")
+        for line in istream:
+            m = _fileFromLine.match(line)
+            if m:
+                oldrebuilds[m.group(1)] = None
+        istream.close()
+    else:
+        print >>sys.stderr, "Writing %s: doesn't exist" % outfile
+        do_write = True
+
+    newrebuilds = []
 
     for (objfile, depfile) in files.items():
         rebuild = True
@@ -101,15 +117,25 @@ def rebuildsNeeded(files, outfile):
             pass
 
         if rebuild:
+            newrebuilds.append(objfile)
+
+            if objfile in oldrebuilds:
+                del oldrebuilds[objfile]
+            else:
+                do_write = True
+
+    if do_write or len(oldrebuilds):
+        print "Building %s" % outfile
+        ostream = open(outfile, "w")
+        for objfile in newrebuilds:
             ostream.write(objfile + ": FORCE\n")
-
-    ostream.close()
+        ostream.close()
 
 if __name__ == "__main__":
     import sys
     import re
 
-    _argExpr = re.compile("\\.(ii)$")
+    _argExpr = re.compile("\\.ii$")
 
     files = {}
 
@@ -117,7 +143,7 @@ if __name__ == "__main__":
     outfile = sys.argv.pop(0)
 
     for objfile in sys.argv:
-        depfile = _argExpr.sub("deps", objfile)
+        depfile = _argExpr.sub(".deps", objfile)
         files[objfile] = depfile
 
     rebuildsNeeded(files, outfile)
diff -r 1e4f0d607cf1 -r 5cd904bc7f85 build/config.mk
--- a/build/config.mk	Thu Aug 02 12:23:15 2007 -0400
+++ b/build/config.mk	Thu Aug 02 12:41:46 2007 -0400
@@ -52,6 +52,8 @@ COMPILE_CXXFLAGS += $(OPT_CXXFLAGS)
 COMPILE_CXXFLAGS += $(OPT_CXXFLAGS)
 endif
 
+GLOBAL_DEPS := Makefile
+
 all::
 
 # Usage: from within RECURSE_DIRS
@@ -94,23 +96,17 @@ GARBAGE += \
   $$($(1)_CXXOBJS:.$(OBJ_SUFFIX)=.deps) \
   $(NULL)
 
-ifndef PP_PRECIOUS
-.INTERMEDIATE: $$($(1)_CXXOBJS:.$(OBJ_SUFFIX)=.ii)
-endif
-
-# XXX Add dependency handling!
-$$($(1)_CXXOBJS:.$(OBJ_SUFFIX)=.ii): %.ii: %.cpp	
+$$($(1)_CXXOBJS:.$(OBJ_SUFFIX)=.ii): %.ii: %.cpp $$(GLOBAL_DEPS)
 	test -d $$(dir $$@) || mkdir -p $$(dir $$@)
 	$(CXX) -E $$($(1)_CPPFLAGS) $$($(1)_CXXFLAGS) $$($(1)_DEFINES) $$($(1)_INCLUDES) \
 	  $$< > $$@
 	$(PYTHON) $(topsrcdir)/build/dependparser.py $$*.deps < $$@ > /dev/null
 
-$$($(1)_CXXOBJS): %.$(OBJ_SUFFIX): %.ii
+$$($(1)_CXXOBJS): %.$(OBJ_SUFFIX): %.ii $$(GLOBAL_DEPS)
 	$(CXX) $(OUTOPTION)$$@ $$($(1)_CPPFLAGS) $$($(1)_CXXFLAGS) $$($(1)_DEFINES) $$($(1)_INCLUDES) -c $$<
 
 $(1).thing.pp: FORCE
-	@echo Building $$@
-	@$(PYTHON) $(topsrcdir)/build/calcdepends.py $$@ $$($(1)_CXXOBJS:$(OBJ_SUFFIX)=.ii)
+	@$(PYTHON) $(topsrcdir)/build/calcdepends.py $$@ $$($(1)_CXXOBJS:.$(OBJ_SUFFIX)=.ii)
 
 include $(1).thing.pp
 
@@ -139,6 +135,7 @@ define PROGRAM_RULES
   $(1)_DEPS = \
     $$($(1)_EXTRA_DEPS) \
     $$(foreach lib,$$($(1)_STATIC_LIBRARIES),$$($$(lib)_NAME)) \
+    $$(GLOBAL_DEPS) \
     $(NULL)
   $(1)_LDFLAGS = \
     $$(LDFLAGS) \
diff -r 1e4f0d607cf1 -r 5cd904bc7f85 build/configuration.py
--- a/build/configuration.py	Thu Aug 02 12:23:15 2007 -0400
+++ b/build/configuration.py	Thu Aug 02 12:41:46 2007 -0400
@@ -202,6 +202,9 @@ class Configuration:
                 'MKPROGRAM'    : '$(CXX) -o $(1)'
                 })
 
+    def getDebug(self):
+        return self._debug
+
     def subst(self, name, value):
         self._acvars[name] = value
 
diff -r 1e4f0d607cf1 -r 5cd904bc7f85 configure.py
--- a/configure.py	Thu Aug 02 12:23:15 2007 -0400
+++ b/configure.py	Thu Aug 02 12:41:46 2007 -0400
@@ -71,7 +71,11 @@ DEBUG_CXXFLAGS = "-g "
 DEBUG_CXXFLAGS = "-g "
 
 if config.COMPILER_IS_GCC:
-    APP_CXXFLAGS = "-fno-exceptions -fno-rtti -Werror -Wall -Wno-reorder -Wno-switch -Wno-invalid-offsetof -Wno-uninitialized -Wno-strict-aliasing -fmessage-length=0 -finline-functions -finline-limit=65536 "
+    APP_CXXFLAGS = "-fno-exceptions -Werror -Wall -Wno-reorder -Wno-switch -Wno-invalid-offsetof -Wno-uninitialized -Wno-strict-aliasing -fmessage-length=0 -finline-functions -finline-limit=65536 "
+    if config.getDebug():
+        APP_CXXFLAGS = "-frtti "
+    else:
+        APP_CXXFLAGS += "-fno-rtti "
 else:
     APP_CXXFLAGS = "-GR- -W4 -WX "
 
@@ -87,6 +91,8 @@ elif os == "linux":
 elif os == "linux":
     APP_CPPFLAGS += "-DUNIX -DAVMPLUS_UNIX -DLINUX "
     OS_LIBS.append('pthread')
+    if config.getDebug():
+        OS_LIBS.append("dl")
 else:
     raise Exception("Unsupported OS")
 
diff -r 1e4f0d607cf1 -r 5cd904bc7f85 core/manifest.mk
--- a/core/manifest.mk	Thu Aug 02 12:23:15 2007 -0400
+++ b/core/manifest.mk	Thu Aug 02 12:41:46 2007 -0400
@@ -110,5 +110,17 @@ avmplus_CXXSRCS := $(avmplus_CXXSRCS) \
   $(curdir)/AvmPlusScriptableObject.cpp \
   $(NULL)
 
+ifdef ENABLE_DEBUG
+ifeq (windows,$(TARGET_OS))
+avmplus_CXXSRCS := $(avmplus_CXXSRCS) \
+  $(curdir)/AvmDebugWin.cpp \
+  $(NULL)
+else
+avmplus_CXXSRCS := $(avmplus_CXXSRCS) \
+  $(curdir)/AvmDebugUnix.cpp \
+  $(NULL)
+endif
+endif
+
 #  $(curdir)/avmplus.cpp \
 #  $(curdir)/AtomConstants.cpp \

changeset:   113:329992f4bb27
user:        Benjamin Smedberg <benjamin@smedbergs.us>
date:        Thu Aug 02 13:56:12 2007 -0400
files:       configure.py
description:
Fix typo in the -fno-rtti line, and add some windows-debug support (not quite building correctly due to warnings)


diff -r 5cd904bc7f85 -r 329992f4bb27 configure.py
--- a/configure.py	Thu Aug 02 12:41:46 2007 -0400
+++ b/configure.py	Thu Aug 02 13:56:12 2007 -0400
@@ -68,16 +68,21 @@ OPT_CXXFLAGS = "-Os "
 OPT_CXXFLAGS = "-Os "
 OPT_CPPFLAGS = ""
 DEBUG_CPPFLAGS = "-DDEBUG -D_DEBUG "
-DEBUG_CXXFLAGS = "-g "
+DEBUG_CXXFLAGS = ""
 
 if config.COMPILER_IS_GCC:
     APP_CXXFLAGS = "-fno-exceptions -Werror -Wall -Wno-reorder -Wno-switch -Wno-invalid-offsetof -Wno-uninitialized -Wno-strict-aliasing -fmessage-length=0 -finline-functions -finline-limit=65536 "
     if config.getDebug():
-        APP_CXXFLAGS = "-frtti "
+        APP_CXXFLAGS += "-frtti "
     else:
         APP_CXXFLAGS += "-fno-rtti "
+    DEBUG_CXXFLAGS += "-g "
 else:
-    APP_CXXFLAGS = "-GR- -W4 -WX "
+    APP_CXXFLAGS = "-W4 -WX "
+    if config.getDebug():
+        APP_CXXFLAGS += "-EHsc "
+    else:
+        APP_CXXFLAGS += "-GR- "
 
 OS_LIBS = ['z']
 

changeset:   115:4c121102955b
tag:         tip
parent:      113:329992f4bb27
parent:      114:4a9ef63d2641
user:        Benjamin Smedberg <benjamin@smedbergs.us>
date:        Thu Aug 02 14:13:04 2007 -0400
description:
Another useless merge to trunk.



