除标准选项外,是否有任何方法可以在 *.pc 文件中定义自己的选项
Is there any way to define own options in *.pc files except standard options
我正在尝试制作一个 .pc 文件并想定义一个标志 ldflags
并像这样使用它
pkg-config package --ldflags
但显示的是 unknown option ldflags
。
有没有办法在pc文件中定义我自己的选项。
.pc文件有特殊格式,检查here:
The file format contains predefined metadata keywords and freeform
variables.
关键字是固定的,例如Cflags 其中大部分对应于 pkg-config 工具选项,例如--cflags。但是变量:
... can be used by the keyword definitions for flexibility or to store
data not covered by pkg-config
因此,可以添加自己的,例如我创建了最小可能的一个(名称、版本、描述是必需的关键字):
$ cat test.pc
Name: test
Version: 1
Description: test
aaa=bbb
$ pkg-config --variable=aaa
bbb
可以使用 --print-variables 选项列出所有内容(有趣的是 pcfiledir 变量是自动添加的):
$ pkg-config --print-variables test.pc
aaa
pcfiledir
$ pkg-config --variable=pcfiledir
.
它甚至可以使用另一个变量(重新)定义一个变量:
$ cat test.pc
Name: test
Version: 1
Description: test
aaa=bbb${ccc}
$ pkg-config test.pc --variable=aaa --define-variable=ccc=xxx
bbbxxx
想知道您的用例吗?因为此文件的内容仅用于保存有关某些包具有的依赖项的元数据。也许您应该将这些标志添加到 Libs 或 Libs.private 关键字?
我正在尝试制作一个 .pc 文件并想定义一个标志 ldflags
并像这样使用它
pkg-config package --ldflags
但显示的是 unknown option ldflags
。
有没有办法在pc文件中定义我自己的选项。
.pc文件有特殊格式,检查here:
The file format contains predefined metadata keywords and freeform variables.
关键字是固定的,例如Cflags 其中大部分对应于 pkg-config 工具选项,例如--cflags。但是变量:
... can be used by the keyword definitions for flexibility or to store data not covered by pkg-config
因此,可以添加自己的,例如我创建了最小可能的一个(名称、版本、描述是必需的关键字):
$ cat test.pc
Name: test
Version: 1
Description: test
aaa=bbb
$ pkg-config --variable=aaa
bbb
可以使用 --print-variables 选项列出所有内容(有趣的是 pcfiledir 变量是自动添加的):
$ pkg-config --print-variables test.pc
aaa
pcfiledir
$ pkg-config --variable=pcfiledir
.
它甚至可以使用另一个变量(重新)定义一个变量:
$ cat test.pc
Name: test
Version: 1
Description: test
aaa=bbb${ccc}
$ pkg-config test.pc --variable=aaa --define-variable=ccc=xxx
bbbxxx
想知道您的用例吗?因为此文件的内容仅用于保存有关某些包具有的依赖项的元数据。也许您应该将这些标志添加到 Libs 或 Libs.private 关键字?