[pulseaudio-discuss] [PATCH 2/2] Move compile-time checks around pa_run_from_build_tree to core-util

Maarten Bosmans mkbosmans at gmail.com
Thu Mar 24 03:46:55 PDT 2011


2011/3/24 Colin Guthrie <gmane at colin.guthr.ie>:
> 'Twas brillig, and Colin Guthrie at 24/03/11 09:02 did gyre and gimble:
>> 'Twas brillig, and Maarten Bosmans at 22/03/11 15:06 did gyre and gimble:
>>> Is there a better way than
>>> #if defined(__linux__) && !defined(__OPTIMIZE__)
>>> to check for a debug build? By default the CFLAGS contain -g -O2, so
>>> __OPTIMIZE__ will not be defined and running uninstalled does not
>>> work.
>>
>> Do you mean __OPTIMIZE__ *will* be defined?

Yes, of course, __OPTIMIZE__ is defined when compiling with -O2 and
the condition *will not* be true and running uninstalled does not
work.

> Also, is there any way we can check to see if the binary being run is in
> the build tree? Would that be an easier hack?

Well the actual check is in the body of that function:
pa_bool_t pa_run_from_build_tree(void) {
    char *rp;
    pa_bool_t b = FALSE;
    if ((rp = pa_readlink("/proc/self/exe"))) {
        b = pa_startswith(rp, PA_BUILDDIR);
        pa_xfree(rp);
    }
    return b;
}

I think only compiling that on developer builds and inlining return
FALSE for normal, e.g. distro builds makes sense. However __OPTIMIZE__
is not a good differentiator here.

> Col

Maarten



More information about the pulseaudio-discuss mailing list