在 gyp 文件中运行配置

MvG*_*MvG 7 autoconf autotools node.js gyp node-gyp

假设我有一个 node 模块,它本质上是一个使用 autotools 的标准 C 库的包装器。因此,库本身将使用./configure和安装make,也许make install. 包装器代码只是几个文件,可以由 gyp 处理。但是我该如何处理依赖呢?在编译代码之前,如何指示 gyp 我要构建自动工具库?或者这是不可能的,因为不能期望 autotools 在 Windows 上运行?如果我不能运行configure,是否有一些 gyp 方法可以做类似的事情,特别是检测哪些功能可用,哪些不可用?

pme*_*med 6

随着 gyp行动'target_type': none它可能如下所示:

   {
        'target_name': 'FTGL',
        'type': 'none',
        'dependencies': ['FreeType'],
        'actions': [
            {
                'action_name': 'build_ftgl',
                'message': 'Building FTGL...',
                'inputs': ['ftgl/src/FTGL/ftgl.h'],
                'outputs': ['ftgl/src/.libs/libftgl.a'],
                'action': ['eval', 'cd ftgl && ./configure --with-pic && make -C src'],
            },
        ],
  }
Run Code Online (Sandbox Code Playgroud)

注意:eval在动作中使用允许运行多个命令