On Tue, Dec 03, 2013 at 05:14:31PM +0200, Martin Storsjö wrote:
> On Mon, 2 Dec 2013, Diego Biurrun wrote:
> 
> >This still fails on MSVC, as I did not add a host version of
> >check_func_headers().  Instead, we should switch the msvcrt test
> >over to some CPP condition, like we do for all other libcs.
> 
> IIRC it's not like we didn't consider adding a CPP-based test - but
> this was the least fragile one we found, to differentiate mingw from
> msvcrt properly. I don't remember all the details offhand right now
> though. It's not quite as easy as you make it sound at least.
> 
> >The test we currently have enables a bunch of variables, which
> >would generate unwanted sideeffects if it was done once for the
> >target and then for the host.  Splitting all of this properly is a
> >lot of work, instead, finding a CPP-based test for msvcrt should
> >be fairly simple.
> 
> No, assuming that it should be fairly simple just shows that you
> don't recall all the work that went into this back when we added it.
> And if we try to change it now without thinking through it at least
> as deeply as we did back then when we added it, we will most
> certainly overlook some aspect.
> 
> All the enable $foo in check_func_headers isn't ok to use in a host
> libc test, but the fact that they are enabled here is just a
> sideeffect which we don't really need - splitting/fixing this
> doesn't sound like quite as hard work as you make it sound like.
> 
> A plain linking test would be enough (although I see the patchset
> doesn't have check_host_ld yet either). But we don't have
> check_host_ld in your patchset, and adding that would require adding
> yet another temp file (TMPHOSTE - like TMPE but with HOSTEXESUF
> instead of EXESUF).

Basically I started looking into splitting the libc detection and
duplicating all the test functions started becoming tedious.  Plus,
some of the tests set variables as a side effect and are thus unsafe
if done through the host toolchain.  One would have to add tests that
do not set the variables or duplicate all the variables as host versions.
Clearly a rabbit hole, that would go away completely with a CPP-based
msvcrt test.  So finding such a test is the desirable solution.

> That said - it would indeed be nice if we could do this libc
> detection without a linking test - but I wouldn't go so far to say
> that it "should be fairly simple" because that is just
> underestimating the work we spent on this last year, which I find a
> little insulting.

That was certainly not my intention, sorry about that.

Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to