Будни #bootstrap
https://www.phoronix.com/news/Meson-1.8-Released
Вышел новый #meson, вышел и вышел.
Давно хотелось написать, что #meson - это oss система сборки, от который у меня постоянный butthurt.
Ее автор - классический пример "есть только два мнения по любому предмету - мое, и неправильное".
С каждым новым релизом meson он постоянно ломает какие-то мои use case.
Например, раньше у него был fallback при поиске кодогенераторов - если не получалось найти через pkg-config, то он просто искал в PATH.
Мне это было очень удобно, потому что, когда мне нужно собрать программу с glib, то там есть две части - неопсредственно libglib.a, и, скажем, какой-нить кодоген, типа glib-mkenums (не суть, что это такое).
И эти две части должны быть собраны под разные платформы, в случае кросс-компиляции.
И получается так, что в одном glib.pc должно быть описание как таргетной части (пути к libglib.a), так и хостовой части, а так собрать этот пакет невозможно в принципе.
Ну вот я просто раньше убирал пути до этих программ из glib.pc, и пользовался fallback, про который написал выше.
Однажды это сломалось.
Чтобы оно "как-то" заработало, пришлось в glib.pc нагенерить записей вида:
...
glib-mkenums=glib-mkenums
...
Тем самым, meson получает нужную ему запись, и дальше просто зовет ее, находя в PATH.
Я в курсе, что в meson можно иметь разный PKG_CONFIG_PATH для host и target графов, но это не очень хорошо мне модельно подходит, ну и так никто, кроме meson, не делает.