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 the http://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.
I was having a successfully android build, and i wanted to enable profiler support, so i followed the http://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@
GYP环境变量覆盖Bug
本文描述了在使用GYP工具进行Chromium编译配置时遇到的问题,即当通过环境变量GYP_DEFINES覆盖默认设置时,触发了错误的目标平台编译。作者尝试启用性能剖析支持,却意外启动了Linux而非Android平台的构建流程。
1468

被折叠的 条评论
为什么被折叠?



