On Fri, Apr 20, 2012, at 12:15 PM, Дилян Палаузов wrote: > Hello, > > Can SMakefile be deleted? >
I hope so. Most of what's in there is useless and the rest is wrong. It would be nice to have an autogen.sh which does all the necessary autotools futzery, from aclocal to configure. > Do we need "make snapshot" in addition to "make dist"? The current dist: target seems to be broken; it fails on the master branch because it's expecting a git tag which doesn't exist yet. I would expect it to always build a tarball but in this case indicate (in both the xversion.h and the version number of the tarball) that the tarball does not represent a tagged release. > Then for "make dist" I think the only missing piece is the generation of > xversion.h . The file contains the git-commit-ID used, the date, and > the distance from the last stable branch, created with > @echo "#define _CYRUS_VERSION \"git$(PACKAGE_VERSION)+`git > log --pretty=oneline $(PACKAGE_NAME)-$(PACKAGE_VERSION)..HEAD | wc > -l`\"" >> snapshot/$(PACKAGE_NAME)-$(GIT_VERSION)/xversion.h > > and a first line with a comment, containing either "/* Release > $(PACKAGE_NAME)-$(PACKAGE_VERSION) */" when the file is created by "make > dist(-git)", or "/* Development version */" in case of "make xversion.h" > or "/* $(PACKAGE_NAME)-$(PACKAGE_VERSION) */" in case of "make snapshot". > > Can this distinction of the first comment line of xversion.h be > abolished, in the name of having a single place to generate xversion.h > and how do you think it shall be generated? By make-rule (run > explicitly), Maybe. > by git hook (which everybody working with git has to > install locally) No. > or by some other ways? > A dist-hook: target which always builds xversion.h might be better; that way you can guarantee that xversion.h is fresh and not a relic left over from some earlier 'make dist' run. > Afterwards snapshot: and dist(-git): targets from Makefile.am can be > removed. -- Greg.