On Tue, May 26, 2020 at 1:33 AM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Sibi Siddharthan <sibisiddharthan.github@xxxxxxxxx> writes: > > > 1) Relocating the CMake script to contrib/buildsystems from patch 01/xx. > > 2) Parse the Makefile for sources from patch 01/xx. > > 3) Reworded the commit messages you pointed out. > > 4) Rebased the ST_BLOCKS_IN_STRUCT_STAT and ICONV_OMITS_BOM to patch > > 01/xx to make the review process easier. > > ... > > No new features will be introduced in the script, to make the review > > process easier. > > You did not answer <xmqqd077qnqc.fsf@xxxxxxxxxxxxxxxxxxxxxx>, > so I have to guess. Sorry, was going to reply to that, but forgot about it along the way. As for my reply to that for windows only support we do not need a few of the checks namely: 1) HAVE_BSD_SYSCTL 2) ICONV_OMITS_BOM (because we are using GNU libiconv 1.16) The functions checks (check_function_exists) is needed. A few of the header checks are unnecessary(paths.h sys/sysinfo.h). The difference in build between Linux platforms and Windows would be 8-15 lines of code atmost . I see no point in the extra Linux stuff to be a burden for the reviewers. There is another way of just copying the configurations in config.mak.uname, but this hurts the purpose of configuring in the first place. > > I am guessing that your answer would be that if we keep this series > concentrate only on Windows support from the beginning and do not > add support for any other platform at all, the scope and necessary > effort to bring the patches in reviewable shape would be reduced > dramatically. And if that is the case, that would be great. > > In other words, I'd prefer not just "no new features", but "with > much less features, now we do not even add support for Linux or > macOS to the initial patch series". macOS support is ways off, needs quite a bit of work. In terms of Linux support apart from the function, header checks there is nothing special implemented here. > > But because I haven't heard the question answered, I cannot tell if > that level of simplification is possible and if that is already what > you did in (silent) response to my questions. > > > I have looked at the GIT-VERSION-GEN script and the logic it uses to > > determine the version of git. > > The logic is a bit complicated to be implemented in a CMake script, > > so I am skipping it for now. > > Regarding the generation of GIT-VERSION-FILE, I asked you why you > need to hand-parse, instead of running the script itself, which is > the way you generate the config-list.h file in the same patch, which > is done with execute_process() to run generate-cmdlist.sh. > > You did not answer the question, either, so I have to guess. > > I am guessing that it was an oversight that you did not update the > procedure to handle GIT-VERSION-FILE because you wrote the "let's > string-find in the GIT-VERSION-GEN script" approach way before you > wrote the other parts of the CMake thing, and with the experience > and hindsight of having written command-list-h support, you now > realize that running the script to ensure that you get the result > consistent with folks who use Makefile would be much better. After > all, the logic being more complex than your CMake support can > express shouldn't be an issue, if you just let the logic execute > itself, no? > Yes, fair point. Have executed GIT-VERSION-GEN, then parsed the GIT-VERSION-FILE for version info. Added it to the list of changes. > But that is also merely my guess, so... > > > Any other changes I should make before I submit PATCH v3? > > ... at this point, it is too early for me to answer that question. Thank You, Sibi Siddharthan