]> Sergey Matveev's repositories - stargrave-blog.git/commit
pkg-config нравится
authorSergey Matveev <stargrave@stargrave.org>
Mon, 16 Nov 2020 19:01:08 +0000 (22:01 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 16 Nov 2020 19:01:08 +0000 (22:01 +0300)
commit90345b90ef49ffbdb80cd9ca185081182be08b00
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parentc565c56fd36c4b0c75ed2fa4932549b017d4244a
pkg-config нравится

https://people.freedesktop.org/~dbn/pkg-config-guide.html
В целом я считаю что freedesktop.org делает в основном плохое, но
pkg-config мне нравится. Только сегодня дошли руки причесать
генерирование корректного .pc файла, который позволяет парой вызовов
получить реально все CFLAGS/LDFLAGS/LDLIBS нужные для сборки. Requires
справляется с тем, что указав зависимости, он и их CFLAGS подставит все.
А у себя в проекте прям определяю какие зависимости определились через
pkgconf, добавляя их в итоговый requires, а какие нет, добавляя их
*FLAGS/LDLIBS уже к соответствующим секциям. К сожалению, проблема на
практике в том, что не все библиотеки предоставляют .pc файлы. Но,
благо, их легко делать. Но даже suckless проекты его вовсю используют и
поэтому их сборка не вызывает проблем и, тем более, какого-нибудь ада в
виде autotools.