| From: | ketmar |
Date: | August 24th, 2012 - 12:07 pm |
---|
| | | (Link) |
|
э… а какие, собственно, возможности линкера надо проверять? нет, я действительно озадачен. вот сколько делаю всякое — от приветмиров до немалых проектов, — ни разу мне не было это интересно. линкер умеет линковать. ar умеет ar'овать. что ещё надо-то?
и да, проверять систему — самый простой и нормальный вариант. а если юзер воткнул себе в систему что-то нестандартное, то его не затруднит и накормить сборщик нужными флагами.
есть, впрочем, ещё более расово верный вариант: «нам нужен gcc не ниже x.y.z и вот такой вот набор библиотек. все остальные берут трубу и барабан, после чего с весёлым маршем отправляются нахуй.» решает две задачи сразу: позволяет избавиться от идиотских конфигураторов и избавляет исходный текст от кучи ifdef'ов.
максимум, что можно сделать — пнуть pkg-config и врубить/вырубить некоторые опции сборки. у кого pkg-config нет, тем не повезло.
чем дольше авторы софта поддерживают идиотский зоопарк, тем дольше он будет существовать.
Как ему скормить version script: -M или --version-script?
Экспортирует ли он все дин. символы по умолчанию, или его надо попросить? (--export-dynamic)?
Ах, да ещё: при линковке libXXX.a он сам догадается развернуть архив, или надо за него? (Mesa так делает, вроде.)
| From: | ketmar |
Date: | August 24th, 2012 - 12:27 pm |
---|
| | | (Link) |
|
какой-то линкер не умеет .a? O_O
на помойку этот линкер, нечего дрожать над инвалидами.
| From: | ketmar |
Date: | August 24th, 2012 - 12:26 pm |
---|
| | | (Link) |
|
хм. не знаю, зачем это надо, но ок. полагаю, впрочем, что как минимум cmake должен что-то такое уметь (точно не знаю, потому что всем этим зоопарком не пользуюсь). но помилуй, почти гигабайтный configure, который проверяет 100500 фич, уж много лет как везде (почти) доступных? но помилуй, make? который до сих пор нормально не дружит с подкаталогами и без пинка обожает срать объектниками по всем местам? а уж .ac — это отдельная песня ярости и боли.
в своё время набор костылей под названием autocrap, возможно, и был хорош. но тем не менее, это всё ещё набор костылей. причём ладно, если бы при своих размерах он умел хотя бы разные системы (ту же винду с m$vc, пополаму, гайку и так далее). да вообще хоть что-то бы умел нормально кроме генерации шелл-портянок.
да, признаюсь честно: я ниасилил. jam — асилил. доработал напильником и пользуюсь. меньше 150 кил одиночного бинаря, а сколько радости. а от автокрапа после audiere2 до сих пор потряхивает.
| From: | ketmar |
Date: | August 24th, 2012 - 12:29 pm |
---|
| | | (Link) |
|
впрочем, я вообще изгой и читер: рассчитываю на наличие нормального позикса (привет, макось! и пока), нормального gcc и gnu binutils (привет, шланг… и пока), обильно насыпаю в код «gcc-измы» (мне моё удобство важнее, чем трепетная душа неведомого компилятора).
| From: | ketmar |
Date: | August 24th, 2012 - 10:46 pm |
---|
| | | (Link) |
|
и при этом патчат мэйкфайлы заместо просто заменить то, что поломано, на что-то нормальное? этот мир обречён.