Skip to content

Support for pkg-config #140

@Uberoverlord

Description

@Uberoverlord

On Linux, there is not really a standard location for libraries and headers to be. Due to this and gprbuild's apparent inability to dynamically locate these resources, properly packaging software to be compiled with gprbuild often requires hard coding paths (which may be incorrect on many systems, damaging portability) or using a secondary build tool to template in this information before gprbuild (which complicates the build process, hinting at a flaw in gprbuild)

The more or less standard solution to this issue, at least on Linux, is to use pkg-config which can find where these resources for any given library are. I've been unable to find any way that gprbuild is able to use this vital tool however, and it seems much of the ecosystem built atop of gprbuild has been unable to use pkg-config as well (some example packages showing this is an issue within alire would be: tash, gtkada, adasdl). This has lead to the aforementioned problems of damaged portability and over-complicated build processes being common whenever third party libraries are required.

If using pkg-config to dynamically locate these resources is an existing capability, it needs to be documented better so that developers may be able to use it. If it is not, then I would like to have a discussion about how it could be brought into gprbuild because it would greatly improve the quality and experience of using of gprbuild.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions