首页 > 代码库 > BUG when using GYP_DEFINES+=" profiling=1 release_extra_cflags=-fno-omit-frame-pointer disable_pie=1

BUG when using GYP_DEFINES+=" profiling=1 release_extra_cflags=-fno-omit-frame-pointer disable_pie=1

Hi, I find GYP‘s bug when dealing with GYP_DEFINES env variables override.

I was having a successfully android build, and i wanted to enable profiler support, so i followed thehttp://www.chromium.org/developers/profiling-chromium-and-webkit instructions,

~/Projects/Chromium/src$ GYP_DEFINES+=" profiling=1 release_extra_cflags=-fno-omit-frame-pointer disable_pie=1" build/gyp_chromium

( In my Chromium base dir, there is a file named chromium.gyp_env, its contents is "{ ‘GYP_DEFINES‘: ‘OS=android‘, }", so i supposed the above config should enable profiler support.

However, I was wrong. The above command in fact triggered the Linux build, not Android. And when i entered:

~/Projects/Chromium/src$ ninja -C out/Release android_webview_apk

GYP telled me it can not recognize android_webview_apk target, I just re-entered ninja -C out/Release to let the compile go on.

Now I see, there definitely is a BUG in GYP when dealing with GYP_DEFINES env variables override.

I now re-build the chromium source using the following commands:

~/Projects/Chromium/src$ GYP_DEFINES+="OS=android profiling=1 release_extra_cflags=-fno-omit-frame-pointer disable_pie=1" build/gyp_chromium
~/Projects/Chromium/src$ ninja -C out/Release android_webview_apk

But the previous wrong build has generated too many files in my VM. Oh dear.

//sent to chromium-dev@

BUG when using GYP_DEFINES+=" profiling=1 release_extra_cflags=-fno-omit-frame-pointer disable_pie=1