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