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 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 [email protected]

时间: 2024-11-08 19:20:30

BUG when using GYP_DEFINES+=" profiling=1 release_extra_cflags=-fno-omit-frame-pointer disable_pie=1的相关文章

Linus Torvalds 如何修正影响《猎魔人2》的内核 bug

Bug: CD Projekt去年为其角色扮演游戏<猎魔人2:国王刺客>加入了Linux支持,但Linux版并不是原生版本,而是使用一个特殊的包装器让Windows版本能在Linux机器上运行,方法类似Wine.游戏在Linux系统上的性能表现不佳,而以为买到了Linux原生版本的Linux玩家则感到了欺骗.但不是所有的问题都是游戏本身导致的.玩家在Steam论坛和GitHub<猎魔人2>非官方问题跟踪器上报告的游戏崩溃bug被发现是一个内核退化bug导致的,Linux作者Linu

Android调用JNI本地方法经过有点改变

方法注册好后要经过哪些路 Android一个异常捕获项目 https://github.com/xroche/coffeecatch coffeecatch CoffeeCatch, a tiny native POSIX signal catcher (especially useful for JNI code on Android/Dalvik, but it can be used in non-Java projects) It allows to "gracefully"

栈回溯技术

转载于:http://blog.csdn.net/yangzhiloveyou/article/details/9042137 1.    前言 段错误.非法地址访问等问题导致程序崩溃的现象屡屡发生,如果能找到发生错误的函数,往往一眼就能看出BUG所在--对于这类比较简单的问题,比如使用空指针进行读写等,利用栈回溯技术可以很快定位.但是对于数组溢出.内存泄漏等问题导致的程序错误,往往隐藏很深,它们并不当场发作,即使我们一步一步跟踪到发生错误的语句时,也经常会让人觉得"这个地方根本不可能出错啊&q

Linux Kernel - Debug Guide (Linux内核调试指南 )

http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环

VC编译连接选项详解(转)

大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解.原因是多方面的.大多数情况下,我们只停留在“使用”它,而不会想去“了解”它.因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上.我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试.但是,所谓:“公欲善其事,必先利其器”.如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢? VC的处理流程,大致分为两步:编译和连接.源文件通过编译生成了.obj文件:所有.obj文件和.lib文件通过连接

Debug和Release之本质区别

Debug 和 Release 编译方式的本质区别    Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用.    Debug 和 Release 的真正秘密,在于一组编译选项.下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此不讨论)Debug 版本  参数 

《Walking the callstack(转载)》

本文转载自:https://www.codeproject.com/articles/11132/walking-the-callstack Download demo project with source - 64.2 Kb Introduction In some cases you need to display the callstack of the current thread or your are just interested in the callstack of othe

Debug与Release版本区别

Debug与Release版本区别 Debug版本就是调试版本,Visual C++ 6.0默认的就是Debug版本.在Debug版本中,可以使用单步执行.跟踪等功能,但其生成的可执行文件比较大,代码运行比较慢.Release版本就是发行版本,其运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能.     还有一点,Release版本的exe文件链接的目标是标准的MFC DLL(Use MFC in a shared or static dll).比如MFC42.DLL.这些DLL在

云计算的安全挑战—虚拟化安全

本文内容分为安全策略和虚拟化安全管理,重点讲介绍虚拟化安全 0x01 实施安全策略 安全策略是有效的安全防御机制的基础,公司如果在没有创建安全策略.标准.指南.流程等基础的情况下,首先实现了技术解决方案,会导致安全控制机制目标不集中 下图是安全策略的层析结构关系: 策略通常被认为是最高层的文档,而标准.流程和指南则是较低层次的组成元素,当然这并不是说较高层次的策略就更重要,而是 说它应该在流程最初阶段创建,这样能对后面的细节元素有指导作用 1. 策略的高级管理声明:在所有策略最先创建的,是一种通