跳转到主要内容

zc.buildout 配方,从配置脚本中解析编译时间选项

项目描述

LibInc配方可以解析CFLAGS、LDFLAGS以及其他通常由库配置脚本(如gdal-config、libpng-config等)返回的信息。解析的信息可以被其他配方(如hexagonit.recipe.cmmi或zc.recipe.egg)使用,以使构建过程更加健壮。

此配方的初始版本是在2007年Naples Sprint的PrimaGIS主题中编写的,用于PCL/PrimaGIS构建。

主页: http://www.bopen.eu/open-source/bopen.recipe.libinc

版权(c)2007-2010 B-Open Solutions srl (http://bopen.eu)。保留所有权利。

根据ZPL 2.1条款分发http://www.zope.org/Resources/License/ZPL-2.1

详细文档

警告:工作中

此zc.buildout配方为预alpha质量。

支持选项

flags-command

返回链接选项的命令列表,每行一个

示例用法

我们将使用一个简单的配置命令来演示配方。

>>> import os.path
>>> testdata = join(os.path.dirname(__file__), 'testdata')
>>> ls(testdata)
-  sample-config

其他配方可以通过这些选项访问

>>> mkdir(sample_buildout, 'recipes')
>>> write(sample_buildout, 'recipes', 'echo.py',
... """
... import logging
...
... class Echo:
...     def __init__(self, buildout, name, options):
...         self.name, self.options = name, options
...
...     def install(self):
...         logging.getLogger(self.name).info(self.options.get('echo', ''))
...         return ()
...
...     def update(self):
...         pass
... """)
>>> write(sample_buildout, 'recipes', 'setup.py',
... """
... from setuptools import setup
...
... setup(
...     name = "recipes",
...     entry_points = {'zc.buildout': ['echo= echo:Echo']},
...     )
... """)

让我们创建一个构建,以构建和安装该软件包。

>>> write(sample_buildout, 'buildout.cfg',
... """
... [buildout]
... develop = recipes
... parts = package
...
... [package]
... recipe = recipes:echo
... echo =
...     include-dirs: ${config-package:include-dirs}
...     library-dirs: ${config-package:library-dirs}
...     libraries: ${config-package:libraries}
...     cflags: ${config-package:cflags}
...     ldflags: ${config-package:ldflags}
...
... [config-package]
... recipe = bopen.recipe.libinc
... flags-command =
...     %(testdata)s/sample-config --cflags
...     %(testdata)s/sample-config --libs
...     %(testdata)s/sample-config --version
... include-dirs = /usr/include/mysample
... library-dirs = /usr/lib/mysample
... libraries = mysample
... """ % {'testdata': testdata})
>>> print system(buildout + ' -N')
Develop: ...
config-package: .../testdata/sample-config --cflags -> -I/usr/include -I/usr/include/sample
config-package: .../testdata/sample-config --libs -> -L/usr/lib -L/usr/lib/sample -lsample -lsample_rt
config-package: .../testdata/sample-config --version -> 1.0
config-package:
    include-dirs: /usr/include /usr/include/sample /usr/include/mysample
    library-dirs: /usr/lib /usr/lib/sample /usr/lib/mysample
    libraries: sample sample_rt mysample
    cflags: -I/usr/include -I/usr/include/sample -I/usr/include/mysample
    ldflags: -L/usr/lib -L/usr/lib/sample -L/usr/lib/mysample -lsample -lsample_rt -lmysample
Installing config-package.
Installing package.
package:
    include-dirs: /usr/include /usr/include/sample /usr/include/mysample
    library-dirs: /usr/lib /usr/lib/sample /usr/lib/mysample
    libraries: sample sample_rt mysample
    cflags: -I/usr/include -I/usr/include/sample -I/usr/include/mysample
    ldflags: -L/usr/lib -L/usr/lib/sample -L/usr/lib/mysample -lsample -lsample_rt -lmysample

项目细节


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

bopen.recipe.libinc-0.3.0.tar.gz (4.7 kB 查看哈希)

上传时间

构建分发

bopen.recipe.libinc-0.3.0-py2.6.egg (9.2 kB 查看哈希)

上传时间

bopen.recipe.libinc-0.3.0-py2.5.egg (9.2 kB 查看哈希)

上传时间

bopen.recipe.libinc-0.3.0-py2.4.egg (9.1 kB 查看哈希)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页