Re: gen-make dependency generation bug
Philip Martin wrote:
>Philip Martin <email@example.com> 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
Let me look at the dependency generation first. If I can't fix it by
tomorrow night, then let's rename the files. I'd rather fix the bug than
use a horrible workaround, since we're bound to be bitten by it again
sooner or later.
To unsubscribe, e-mail: firstname.lastname@example.org
For additional commands, e-mail: email@example.com
Received on Sat May 7 03:56:40 2005
This is an archived mail posted to the Subversion Dev