Takashi Iwai <ti...@suse.de> 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.

Reply via email to