问题标签 [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.

0 投票
1 回答
713 浏览

waf - 如何使用自定义任务创建的静态库?

我想使用 waf 触发生成文件来构建其他库。为此,我创建了以下任务:

如何告诉 waf 该任务创建了一个静态库,以便我可以在 use 关键字中使用“metis”:

0 投票
2 回答
2265 浏览

c++ - 使用 Waf 查找本地外部库

我正在创建一个 wscript 文件,该文件能够链接存储在项目目录中的外部库,而不是安装到系统中,但我不确定这样做的最佳方式。

目前,我正在按照以下方式做一些事情:

在这种情况下,我链接到 A.lib 的本地副本,然后在代码后面标记要复制到我的安装目录(本地“dist”目录)的 A.dll。但是,我知道对于安装到您系统的库,您可以执行以下操作:

我想我的问题是:有没有办法用本地存储的外部库做类似的事情?可能是某种check_cxx(libpath="external/blah", ...)或某种类型的东西?

0 投票
2 回答
177 浏览

autotools - 让 WAF 构建 autotools 目标

我们正在尝试逐步从自动工具转移到 WAF。我们的大多数子项目都是自动工具,我们真的不想一次将它们转换为 WAF。

在混合 WAF 和 autotools 时,您有什么提示或要记住的事情吗?

我正在考虑在每个 autotools 子项目中创建一个简单的 wscript,它基本上只会执行 shell 命令“./configure”、“make”、“make install”。我在 WAF 示例目录中找不到任何更好的解决方案。所以我想知道你们是否有更好的主意?

谢谢!

0 投票
3 回答
7274 浏览

python - 在大型项目中选择 Scons 和 Waf

我们正在考虑将一个非常大的项目从使用 GNU Make 转换为一些更现代的构建工具。我目前的建议是使用 SCons 或 Waf。

目前:

  • 构建时间约为 15 分钟。
  • 大约 100 名开发人员。
  • 大约 10% 的代码是 C/C++/Fortran 其余的是 Ada(使用 gnatmake)。

改进的潜在希望/收益是

  • 共享编译器缓存以减少构建时间并需要磁盘空间
  • 更容易维护

SCons 能否很好地完成这项任务?我已经看到关于它的评论没有像 Waf 那样缩放。然而,这些都是几年前的。scons 在过去几年的表现有进步吗?如果不是,那么与 Waf 相比,其性能不佳的原因是什么。

0 投票
1 回答
5735 浏览

windows - Windows 上是否有适用于 Node.js 的 node-waf?

我正在尝试使用以下命令从 Node.js 安装“png”模块:

npm安装png

但是我收到以下错误:

node-waf 配置构建

'node-waf' 未被识别为内部或外部命令

我的问题是:windows 有 node-waf 吗?

0 投票
1 回答
1400 浏览

c++ - 带有 waf 的 C++ 仅头文件库

美好的一天,在完全迁移到 waf(1.7.5)之前,我尝试创建一个这种结构的简单项目:

这是根wscript

这是application wscript

这是library1 wscript

(注意:我尝试过使用target而不是namefor library1,并且我也尝试过为 启用cxx cxxshlib功能library1。)

这是main.cpp

这是我得到的错误:

我不想改变包含标题的方式,但为此我显然需要改变我的项目设置方式。

我很高兴有任何意见,谢谢。

编辑:已解决,这只是一个错字(inludes而不是includesexport_inludes而不是export_includes)。

0 投票
1 回答
913 浏览

build - 使用带有 Waf 的非标准 c 编译器

我有一个非标准的 c 编译器,例如我们称之为 comp。

如何将它与 Waf 一起使用?

我在所有示例中都看到了这一点:

我想加载我自己的编译器 - comp,以便任何构建或任务都将与它相关联?

谢谢!

0 投票
1 回答
776 浏览

waf - waf 1.7:如何复制环境?

我有一个 waf 文件,它正在为多个目标、多个平台以及在某些情况下为多个架构构建多个库。

我目前根据 waf 1.7 的文档为变体设置了环境,如下所示:

但是,这会导致 waf 在配置期间输出多行搜索编译器。这也意味着我经常多次在同一个环境附近进行设置。如果可能的话,我想这样做一次,例如:

但是, conf.env.derive 是浅拷贝,并且 conf.env.copy() 给了我错误'list' object is not callable

这是如何在 waf 1.7 中完成的?

0 投票
2 回答
8028 浏览

c++ - 如何为特定模块指定 gcc 标志(CXXFLAGS)?

我最近正在构建一个新的 NS3 模块。在我的代码中,我使用了一些新特性C++11 (c++0x),我想"-std=c++0x"waf配置系统中添加一个 gcc 标志(CXXFLAGS)。

我试过这个:CXXFLAGS="-std=c++0x" waf configure,然后构建它。但是,事实证明某些现有模块(例如 ipv4-address)与c++11. 因此,我想特别为我的新模块指定这个标志,这样其他模块就不会在 c++11 上编译。

我试图将它添加到我的新模块中的 wscript 中:

它作为第一次试验失败。

我怎样才能做到这一点?

0 投票
1 回答
137 浏览

linker - 如何在 NS3 中使用 yaml-cpp

有谁知道如何在 NS3 模块中使用 yaml-cpp 库?

我已经完成了源代码,但是我很难弄清楚如何链接它,因为它在undefined reference to使用 waf 构建时出现错误。