[cairo] AC_TRY_RUN vs crosscompile

Uli Schlachter psychon at znc.in
Wed Apr 12 17:14:30 UTC 2017


Hi,

On 12.04.2017 18:03, Enrico Weigelt, metux IT consult wrote:
> just seen that we've got an AC_TRY_RUN call, which - obviously - can't
> work when crosscompiling. (it just wildly guesses in that case).

Yes, it guesses. However, in this case "no" is always a safe guess (see
below).

> It's in the CAIRO_ENABLE_SURFACE_BACKEND(xlib...) block.
> 
> What's the actual goal of that ?

The code says/does:

AC_DEFINE(IPC_RMID_DEFERRED_RELEASE, 1, [Define to 1 if shared memory
segments are released deferred.])

So this test some runtime behaviour of the OS (does shmat() after
shmctl(IPC_RMID) still work?).

Looking at the C code, there is just one "#ifdef
IPC_RMID_DEFERRED_RELEASE" and that just does an XSync() if that feature
is not there, so this is just a minor performance optimisation. Always
doing that XSync() causes no problems.

> It also checks for sysv-ipc headers ... is there any chance that some
> system could have xlib and xext, but no sysv-ipc headers at all ?

I bet that someone somewhere has such a system. How well cairo works
there is another question...

Cheers,
Uli
-- 
Bitte nicht mit dem verbleibenden Auge in den Laser gucken.
 - Vincent Ebert


More information about the cairo mailing list