changeset 358:dfccc2e17f8d

6685160: fix cscope build with hg Summary: Use hg's fstatus instead of teamware's nametable to trigger cscope database rebuild Reviewed-by: jcoomes, kamg
author ysr
date Tue, 08 Apr 2008 12:10:35 -0700
parents 8ea45f69cebb
children ce83a69e2ec7
files hotspot/build/linux/makefiles/cscope.make hotspot/build/solaris/makefiles/cscope.make
diffstat 2 files changed, 20 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/hotspot/build/linux/makefiles/cscope.make	Mon Apr 07 09:32:49 2008 -0700
+++ b/hotspot/build/linux/makefiles/cscope.make	Tue Apr 08 12:10:35 2008 -0700
@@ -38,6 +38,7 @@
 
 NAWK	= awk
 RM	= rm -f
+HG	= hg
 CS_TOP	= ../..
 
 CSDIRS	= $(CS_TOP)/src $(CS_TOP)/build
@@ -140,13 +141,17 @@
 
 # .nametable.files and .nametable.files.tmp are used to determine if any files
 # were added to/deleted from/renamed in the workspace.  If not, then there's
-# normally no need to run find.  To force a 'find':  gmake nametable.clean.
+# normally no need to rebuild the cscope database. To force a rebuild of
+# the cscope database: gmake nametable.clean.
 .nametable.files:  .nametable.files.tmp
-	cmp -s $@ $< || cp $< $@
+	( cmp -s $@ $< ) || ( cp $< $@ )
+	-$(RM) $<
 
-.nametable.files.tmp:  $(CS_TOP)/Codemgr_wsdata/nametable
-	$(NAWK) \
-	'{ if (sub("( [a-z0-9]{2,8}){4}$$", "")) print $$0; }' $< > $@
+# `hg status' is slightly faster than `hg fstatus'. Both are
+# quite a bit slower on an NFS mounted file system, so this is
+# really geared towards repos on local file systems.
+.nametable.files.tmp:
+	-$(HG) fstatus -acmn > $@
 
 nametable.clean:
 	-$(RM) .nametable.files .nametable.files.tmp
--- a/hotspot/build/solaris/makefiles/cscope.make	Mon Apr 07 09:32:49 2008 -0700
+++ b/hotspot/build/solaris/makefiles/cscope.make	Tue Apr 08 12:10:35 2008 -0700
@@ -38,6 +38,7 @@
 
 NAWK	= /usr/xpg4/bin/awk
 RM	= rm -f
+HG	= hg
 CS_TOP	= ../..
 
 CSDIRS	= $(CS_TOP)/src $(CS_TOP)/build
@@ -141,13 +142,17 @@
 
 # .nametable.files and .nametable.files.tmp are used to determine if any files
 # were added to/deleted from/renamed in the workspace.  If not, then there's
-# normally no need to run find.  To force a 'find':  gmake nametable.clean.
+# normally no need to rebuild the cscope database. To force a rebuild of
+# the cscope database: gmake nametable.clean.
 .nametable.files:  .nametable.files.tmp
-	cmp -s $@ $< || cp $< $@
+	( cmp -s $@ $< ) || ( cp $< $@ )
+	-$(RM) $<
 
-.nametable.files.tmp:  $(CS_TOP)/Codemgr_wsdata/nametable
-	$(NAWK) \
-	'{ if (sub("( [a-z0-9]{2,8}){4}$$", "")) print $$0; }' $< > $@
+# `hg status' is slightly faster than `hg fstatus'. Both are
+# quite a bit slower on an NFS mounted file system, so this is
+# really geared towards repos on local file systems.
+.nametable.files.tmp:
+	-$(HG) fstatus -acmn > $@
 
 nametable.clean:
 	-$(RM) .nametable.files .nametable.files.tmp