[Mesa-dev] [PATCH] egl: fix android logger compilation

Chih-Wei Huang cwhuang at android-x86.org
Fri May 12 06:19:50 UTC 2017


2017-05-12 14:15 GMT+08:00 Tapani Pälli <tapani.palli at intel.com>:
>
>
> On 05/12/2017 09:13 AM, Chih-Wei Huang wrote:
>>
>> 2017-05-12 13:37 GMT+08:00 Tapani Pälli <tapani.palli at intel.com>:
>>>
>>> this patch is a partial revert of 1ce5853 that break compilation
>>> since LOG_ERROR etc are not defined and also macro expansion won't
>>> work as planned (expands to 'ANDROID_egl2alog[level]')
>>>
>>> Fixes: 1ce5853 ("egl: simplify the Android logger")
>>> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
>>> ---
>>>   src/egl/main/egllog.c | 21 ++++++++++++++-------
>>>   1 file changed, 14 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/src/egl/main/egllog.c b/src/egl/main/egllog.c
>>> index 6de2a50..51ab76f 100644
>>> --- a/src/egl/main/egllog.c
>>> +++ b/src/egl/main/egllog.c
>>> @@ -81,13 +81,20 @@ static void
>>>   _eglDefaultLogger(EGLint level, const char *msg)
>>>   {
>>>   #ifdef HAVE_ANDROID_PLATFORM
>>> -   static const int egl2alog[] = {
>>> -      [_EGL_FATAL] = LOG_ERROR,
>>> -      [_EGL_WARNING]  = LOG_WARN,
>>> -      [_EGL_INFO] = LOG_INFO,
>>> -      [_EGL_DEBUG] = LOG_DEBUG,
>>
>>
>> How about just change LOG_* to ANDROID_LOG_* ?
>> You also need to include "android/log.h".

Correction: this has already included (from cutils/log.h)

>> LOG_* are not real macros defined in Android headers.
>> They are concatenated to ANDROID_LOG_*
>> defined in android/log.h. (in system/core/include/)
>
>
> problem is that ALOG stringifies (is that a word?) the first argument and
> concats that with 'ANDROID_', so currently you get 'ANDROID_egl2alog[level]'
> which does not exist. With ANDROID applied, you would get 'ANDROID_ANDROID
> ..'

Ah, I see. Then change ALOG to LOG_PRI
(or android_printLog).

>
>
>>> -   };
>>> -   ALOG(egl2alog[level], LOG_TAG, "%s", msg);
>>> +   switch (level) {
>>> +   case _EGL_FATAL:
>>> +      ALOGE("%s", msg);
>>> +      break;
>>> +   case _EGL_WARNING:
>>> +      ALOGW("%s", msg);
>>> +      break;
>>> +   case _EGL_INFO:
>>> +      ALOGI("%s", msg);
>>> +      break;
>>> +   case _EGL_DEBUG:
>>> +      ALOGD("%s", msg);
>>> +      break;
>>> +   }
>>>   #else
>>>      fprintf(stderr, "libEGL %s: %s\n", level_strings[level], msg);
>>>   #endif /* HAVE_ANDROID_PLATFORM */


-- 
Chih-Wei
Android-x86 project
http://www.android-x86.org


More information about the mesa-dev mailing list