Devang Patel
2008-Jul-10 01:13 UTC
[LLVMdev] Including svn version number in --version output
On Jul 9, 2008, at 6:13 PM, Tanya M. Lattner wrote:> > Why not set the VERSUFFIX to be " (Based on Apple Inc. build 5555) > (LLVM > rXXXX)" > > Where you set the revision number?I do not want to set the revision number in a source file every time I do 'svn update' :)> We currently use LLVM_VERSION_INFO to set this sort of information > and to > me it makes more sense to have the svn rev number there instead of > just > saying LLVM build like it does now.LLVM_VERSION_INFO indicates build numbers.> -Tanya > > On Wed, 9 Jul 2008, Devang Patel wrote: > >> It is very useful to have svn version number encoded in llvm-gcc's >> --version >> output. Here is one approach. >> >> Anyone has a better patch ? >> - >> Devang >> >> >> >> Index: Makefile.in >> ==================================================================>> --- Makefile.in (revision 53385) >> +++ Makefile.in (working copy) >> @@ -802,6 +802,9 @@ >> DEVPHASE_s := "\"$(if $(DEVPHASE_c), ($(DEVPHASE_c)))\"" >> DATESTAMP_s := "\"$(if $(DEVPHASE_c), $(DATESTAMP_c))\"" >> >> +SVNVER_c := $(shell svnversion $(abs_srcdir) ) >> +SVNVER_s := "\"$(if $(SVNVER_c), $(SVNVER_c))\"" >> + >> # Shorthand variables for dependency lists. >> TARGET_H = $(TM_H) target.h insn-modes.h >> MACHMODE_H = machmode.h mode-classes.def insn-modes.h >> @@ -2048,9 +2051,11 @@ >> >> dumpvers: dumpvers.c >> >> -version.o: version.c version.h $(DATESTAMP) $(BASEVER) $(DEVPHASE) >> +.PHONY: version.o >> +version.o: >> $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ >> -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \ >> + -DSVNVER=$(SVNVER_s) \ >> -DDEVPHASE=$(DEVPHASE_s) -c $(srcdir)/version.c $(OUTPUT_OPTION) >> >> gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $ >> (TM_H) \ >> >> >> > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev- Devang
Eric Christopher
2008-Jul-10 01:17 UTC
[LLVMdev] Including svn version number in --version output
gcc does this with contrib/gcc_update which updates the file every update: revision=`svn info | awk '/Revision:/ { print $2 }'` branch=`svn info | sed -ne "/URL:/ { s,.*/trunk,trunk, s,.*/branches/,, s,.*/tags/,, p }"` where you now have revision and branch information. -eric
Chris Lattner
2008-Jul-10 03:40 UTC
[LLVMdev] Including svn version number in --version output
On Jul 9, 2008, at 6:17 PM, Eric Christopher wrote:> gcc does this with contrib/gcc_update which updates the file every > update: > > revision=`svn info | awk '/Revision:/ { print $2 }'` > branch=`svn info | sed -ne "/URL:/ { > s,.*/trunk,trunk, > s,.*/branches/,, > s,.*/tags/,, > p > }"` > > where you now have revision and branch information.We don't want another commit after every other commit. This should be set by the makefile when a build is done. On Jul 9, 2008, at 7:16 PM, David Greene wrote:> On Wednesday 09 July 2008 20:13, Tanya M. Lattner wrote: >> Why not set the VERSUFFIX to be " (Based on Apple Inc. build 5555) >> (LLVM >> rXXXX)" > > Not everyone is at Apple. :)I don't see what that has to do with anything here. Have you build llvm-gcc lately? It says that for every build - it *is* based on apple gcc. -Chris
Tanya Lattner
2008-Jul-10 03:47 UTC
[LLVMdev] Including svn version number in --version output
On Jul 9, 2008, at 6:13 PM, Devang Patel wrote:> > On Jul 9, 2008, at 6:13 PM, Tanya M. Lattner wrote: > >> >> Why not set the VERSUFFIX to be " (Based on Apple Inc. build 5555) >> (LLVM >> rXXXX)" >> >> Where you set the revision number? > > I do not want to set the revision number in a source file every time I > do 'svn update' :) >Ok, so I'm confused. Don't you want the svn revision number to be shown when you do llvm-gcc --version? So why wouldn't you want to update it everytime you update and then compile? Shouldn't it match whatever svn version your build is using?>> We currently use LLVM_VERSION_INFO to set this sort of information >> and to >> me it makes more sense to have the svn rev number there instead of >> just >> saying LLVM build like it does now. > > LLVM_VERSION_INFO indicates build numbers. >Well, isn't that what you want? You are basically labeling a build with an svn revision number. Except instead of making someone set LLVM_VERSION_INFO you modify it for them when its not set (or use some other macro). Perhaps I am misunderstanding what you want it to show when you do -- version or how it is set. -Tanya>> -Tanya >> >> On Wed, 9 Jul 2008, Devang Patel wrote: >> >>> It is very useful to have svn version number encoded in llvm-gcc's >>> --version >>> output. Here is one approach. >>> >>> Anyone has a better patch ? >>> - >>> Devang >>> >>> >>> >>> Index: Makefile.in >>> ==================================================================>>> --- Makefile.in (revision 53385) >>> +++ Makefile.in (working copy) >>> @@ -802,6 +802,9 @@ >>> DEVPHASE_s := "\"$(if $(DEVPHASE_c), ($(DEVPHASE_c)))\"" >>> DATESTAMP_s := "\"$(if $(DEVPHASE_c), $(DATESTAMP_c))\"" >>> >>> +SVNVER_c := $(shell svnversion $(abs_srcdir) ) >>> +SVNVER_s := "\"$(if $(SVNVER_c), $(SVNVER_c))\"" >>> + >>> # Shorthand variables for dependency lists. >>> TARGET_H = $(TM_H) target.h insn-modes.h >>> MACHMODE_H = machmode.h mode-classes.def insn-modes.h >>> @@ -2048,9 +2051,11 @@ >>> >>> dumpvers: dumpvers.c >>> >>> -version.o: version.c version.h $(DATESTAMP) $(BASEVER) $(DEVPHASE) >>> +.PHONY: version.o >>> +version.o: >>> $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \ >>> -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \ >>> + -DSVNVER=$(SVNVER_s) \ >>> -DDEVPHASE=$(DEVPHASE_s) -c $(srcdir)/version.c $(OUTPUT_OPTION) >>> >>> gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $ >>> (TM_H) \ >>> >>> >>> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > - > Devang > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Devang Patel
2008-Jul-10 17:47 UTC
[LLVMdev] Including svn version number in --version output
On Jul 9, 2008, at 8:47 PM, Tanya Lattner wrote:> > On Jul 9, 2008, at 6:13 PM, Devang Patel wrote: > >> >> On Jul 9, 2008, at 6:13 PM, Tanya M. Lattner wrote: >> >>> >>> Why not set the VERSUFFIX to be " (Based on Apple Inc. build 5555) >>> (LLVM >>> rXXXX)" >>> >>> Where you set the revision number? >> >> I do not want to set the revision number in a source file every >> time I >> do 'svn update' :) >> > > Ok, so I'm confused. Don't you want the svn revision number to be > shown when you do llvm-gcc --version? So why wouldn't you want to > update it everytime you update and then compile? Shouldn't it match > whatever svn version your build is using?I want build-llvm-gcc-but-rebuild-only-modified-files command to automatically pick up svn revision number, but I do not want to enforce "svn update" wrapper usage, if possible, to store svn revision number somewhere. And I do not want to reuse build number.>>> We currently use LLVM_VERSION_INFO to set this sort of information >>> and to >>> me it makes more sense to have the svn rev number there instead of >>> just >>> saying LLVM build like it does now. >> >> LLVM_VERSION_INFO indicates build numbers. >> > > Well, isn't that what you want? You are basically labeling a build > with an svn revision number. Except instead of making someone set > LLVM_VERSION_INFO you modify it for them when its not set (or use > some other macro).Let's take example of checker build Ted produces on cfe-dev list. He regularly announces checker builds at http://clang.llvm.org/StaticAnalysis.html . The last one is checker-59 and it is not checker-(svn-revision- number). The build number, 59 in this example, is useful for the end user to connect the software build he received. The svn revision number is useful for the developer to track source base in svn. Usually, build number corresponds to a tag in svn tree. We have LLVM_VERSION_INFO to set build number. We need another mechanism to track svn revision numbers. This will even useful when people try to track issues reported by nightly tester, for example.> > Perhaps I am misunderstanding what you want it to show when you do -- > version or how it is set.> -Tanya- Devang
Apparently Analagous Threads
- [LLVMdev] Including svn version number in --version output
- [LLVMdev] Including svn version number in --version output
- [LLVMdev] Including svn version number in --version output
- [LLVMdev] Including svn version number in --version output
- [LLVMdev] Including svn version number in --version output