[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: gen-make dependency generation bug

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2005-05-07 00:35:11 CEST

Philip Martin <philip@codematters.co.uk> writes:

> If I modify the 'subversion/libsvn_fs_base/fs.h' header and run 'make'
> nothing gets compiled, even though several source files include the
> modified header. Looking at build-outputs.mk I see things like:
> $ grep base/uuid.c build-outputs.mk
> subversion/libsvn_fs_base/uuid.lo: subversion/libsvn_fs_base/uuid.c subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/uuid.h subversion/libsvn_fs_fs/err.h subversion/libsvn_fs_fs/fs.h
> Note the dependency on the fs_fs version of fs.h instead of the
> fs_base version, it appears that gen-make fails to implement the
> #include rules correctly.

I've had a quick look at the gen_base.py code and it appears to rely
on all the header files having different names and makes no attempt to
implement C's #include rules. A simple fix is to rename the header
files to avoid the clashes.

libsvn_fs_base and libsvn_fs_fs are the directories that contain
header files that clash, namely: dag.h, err.h, fs.h, id.h, key-gen.h,
lock.h, revs-txns.h and tree.h. We could do double renames

   libsvn_fs_fs/dag.h -> libsvn_fs_fs/dag-fs.h
   libsvn_fs_base/dag.h -> libsvn_fs_base/dag-base.h

although obviously once one of the files is renamed the problem is
solved. Thoughts?

Philip Martin
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat May 7 00:36:15 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.