Metadata-Version: 1.0
Name: bopen.recipe.libinc
Version: 0.2.1
Summary: zc.buildout recipe that parses compile options from libraries config scripts
Home-page: http://pypi.python.org/pypi/bopen.recipe.libinc
Author: Alessandro Amici
Author-email: a.amici@bopen.it
License: ZPL
Description: ****************************************************************
        Recipe that parses compile options from libraries config scripts
        ****************************************************************
        
        .. contents::
        
        The LibInc recipe can parse CFLAGS, LDFLAGS and other information
        tipically returned by libraries config scripts like gdal-config, libpng-config
        and others. The parsed information can be used by other recipes as
        hexagonit.recipe.cmmi or zc.recipe.egg to make the build process more
        robust.
        
        The initial version of this recipe has been written within the PrimaGIS
        topic of the 2007 Plone Naples Sprint and it is used for the PCL/PrimaGIS
        buildout.
        
        Detailed Documentation
        **********************
        
        
        Warning: Work in progress
        =========================
        
        This zc.buildout recipe is pre-alpha quality.
        
        Supported options
        =================
        
        flags-command
        a list of commands that return the linking options, one per line
        
        Example usage
        =============
        
        We'll use a simple config command to demonstrate the recipe.
        
        >>> import os.path
        >>> testdata = join(os.path.dirname(__file__), 'testdata')
        >>> ls(testdata)
        d .svn
        - sample-config
        
        The options are accessible by other recipes:
        
        >>> 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']},
        ...     )
        ... """)
        
        Let's create a buildout to build and install the package.
        
        >>> 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
        
        
Keywords: development buildout recipe
Platform: UNKNOWN
Classifier: Framework :: Buildout
Classifier: Programming Language :: Python
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
