问题标签 [waf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
introspection - 如何使用 waf 为 gir 文件生成类型库
我使用以下 wscript_build 片段来构建一个带有其 gir 文件的 vala 库:
但是现在我想知道如何使用 waf 从这个 gir 文件构建一个类型库?
optimization - 检查 waf 中的编译器优化标志
我已经开始使用 waf 构建系统作为 CMake 的替代品。到目前为止,这是一次很棒的经历。但是,我想不出有条件地将优化标志传递给编译器的好方法。我编写的一些代码受益于仅在最近的 gcc 版本中可用的特定优化标志,但我希望我的代码尽可能可移植。因此,我想在将它们添加到用于编译的 cxx 标志列表之前检查编译器是否支持这些标志。最简单的方法是什么?
c++ - 如何避免waf中的库多次检查?
我正在尝试在多个项目中使用不同的模块(具有独立的 wscript 文件),以便可以在一个地方开发模块并可以在多个地方签出。
我有一个项目的顶级 wscript 是这样的:
wscript 在来自子目录“ ./a ”和“ ./b ”的模块中:
那么,有没有办法告诉 waf 只检查一次 libz 呢?
c++ - 如何在 waf 构建系统中安装具有不同名称的库?
我想用 waf 构建一个库,但是以与目标名称不同的名称安装它。看来你可以做到
但我需要能够执行以下操作:
另外, bld.install_as() 不起作用,因为它似乎不接受任务作为目标,而且我不知道如何将任务变成代表目标的节点,所以以下内容也不起作用:
或者,我需要能够禁用自动添加到库名称中的“lib”前缀,但仅适用于这个库 - 在构建期间并非适用于所有库,例如:
我知道您也可以设置 shlib_PATTERN,但这似乎会影响当前环境下的所有库。我们有一个非常复杂的构建,它使用许多不同的环境来同时构建调试/发布,所以仅仅克隆当前环境并更改标志也不起作用,因为它克隆了默认环境,而不是最终构建目标的环境下(因为我们在构建期间克隆每个环境的目标)。
有什么想法吗?谢谢!
module - 使用 waf 构建 fortran 库,安装 .mod 文件
我使用 waf (http://code.google.com/p/waf/) 来构建一个 fortran 库(它也使用一些 c 代码)。
对应的 wscript 如下所示:
调用 waf 产生如下所示:
我希望能够将.mod
文件安装到${PREFIX}/mod
. 我试过install_path
在这种情况下没有效果,或者 install_files 不起作用,因为 a)它没有在 build/ 目录中查找,b)因为如果文件不存在,它会在构建之前抱怨。 3
python - Waf:如何输出生成的文件?
我有一个文件要在通过 python 脚本推送后发送到构建目录。我将如何在 waf 中执行此操作?
例如,如果我有这样的文件:
并且想在将其输出到 waf 构建目录之前替换 %%VERSION%% 和 %%DATADIR%% ,我该怎么做?
我知道它是这样的:
但我不知道规则是什么。
另外,一旦生成了该文件,是否可以在其他任务中使用它?
c++ - 如何使用 waf 编译运行时生成的 c++ 源文件?
我在源代码树中有 protobuf 原型文件。我想在每次更改和首次运行时从原始文件生成源文件(例如,我创建新的原始文件)。然后,我想从这些源文件编译共享库并将它们保存在源树中。
实现我的目标的最佳方式是什么?
c++ - 为什么在我运行 node-waf build 后会有一个 .lock-wscript 文件
在我运行node-waf configure
and之后node-waf build
,我的文件夹中有一个.lock-wscript
节目,这是什么?即使我跑了node-waf clean
,它仍然存在。我应该保留它还是删除它?
python - Waf:为 python 扩展指定库名称
用 waf 构建库很好,我喜欢lib<targetname>
命名方案。但是当我将 is 与 boost::python 一起使用时,我想摆脱它:我希望库的名称与目标名称一样。我知道这只是一个简单的重命名,但是:我可以告诉 waflib
在目标名称之前省略放置吗(或者:指定一个保持不变的自己的名称)?
visual-studio - cl.exe、kernelbase.dll 中的周期性崩溃
我经常从 cl.exe 遇到以下崩溃。在 cl 上编译和运行其他帮助命令时都会发生这种情况。这发生在 Windows Server 2008 上,但我认为这有时也会发生在 Windows XP 上。这在运行时在 Jenkins 中非常频繁地发生waf configure
。
尽管有人提到 kernelbase.dll 在其他程序中崩溃,但我无法在网上找到任何东西来解决这个问题。
有没有人对如何避免这个问题有任何想法?
谢谢