Takashi Iwai <[email protected]> writes:
> On Fri, 28 Jul 2017 17:58:14 +0200,
> Ævar Arnfjörð Bjarmason wrote:
>> ...
>> * We now have much of the same header code copy/pasted between
>> sha1dc_git.h and sha1dc_git_ext.h, did you consider just always
>> including the former but making what it's doing conditional on
>> DC_SHA1_EXTERNAL? I don't know if it would be worth it from a cursory
>> glance, but again your commit message doesn't list that among options
>> considered & discarded.
>
> I don't mind either way, there is no perfect solution in this case.
> As you know, many people think the ifdef ugly no matter how.
>
> I leave the decision to maintainer. Just let me know which option is
> preferred.
Yeah, I also found it somewhat confusing to have these two headers
that look quite similar to each other at the top-level of the tree.
What's the "conditional" part between the two headers? Is it just
whether the header for underlying library is included? I wonder if
it's just the matter of adjusting "hash.h" to read like this
...
#if defined(DC_SHA1_EXTERNAL)
-#include "sha1dc_git_ext.h"
+#include <sha1dc/sha1.h>
+#include "sha1dc_git.h"
#elif defined(DC_SHA1_SUBMODULE)
...
or are there heavier tweaks needed that won't be solved by continuing
along the same line? As _ext.h variant is included only at this place,
if we can do with minimum tweaks around here without introducing it,
it may be ideal, I would think.
Thanks.