On Sun, Jul 12, 2009 at 06:15:15PM +0300, Aleksey Cheusov wrote: AC> Как раз наоборот. AC> bmake PREFIX=/usr/pkg MANDIR=/some/where/man AC> по сути своей ничем не отличется от AC> ./configure --prefix=/usr/pkg --mandir=/some/where/man AC> Не вижу необходимости плодить сущности без необходимости. AC> Опции не нужны. На самом деле хватает указания значений переменных AC> make-а. AC> Опции же типа ./configure --lalala-includedir=yyy --lalala-libdir=yyy AC> я считаю, эм... скажем так, весьма сомнительным дизайнерским решением. Простой пример -- libgsm у нас и в некоторых других дистрибутивах находится в разных includedir. Вопрос -- как решается эта проблема? autotools позволяют создать configure который автоматически обнаружит эту библиотеку. AC> bmake USE_EXTERNAL_LIBX=1 USE_LOCALLIBY=1 AC> Не вижу никаких принципиальных отличий от опций ./configure. AC> Построение же приложения с или без каких-то библиотек в зависимости от AC> их наличия -- натуральное зло, об этом знает каждый пакетировщик. Если делается приложение которое предназначено только для опакечивание -- это так. Увы, не всегда это правило верно. К примеру Asterisk подавляющее большинство пользователей собирают сами, увы. При этом в нем несколько десятков модулей, и для некоторых из них нужны сторонние библиотеки. И многие из этих модулей большинству пользователей не нужны. AC> На мой взгляд этот уровень не нужен, как не нужен сам ./configure. Вы пробовали написать приложение, которое бы: а) пользовалось большим количеством сторонних библиотек; б) использовало бы некоторые ОС-специфичные функции (к примеру системные вызовы); в) собиралось бы под хотя бы 2-3 разных ОС; г) собиралось бы под несколько аппаратных архитектур (с учетом того что некоторые типы данных в C на этих архитектурах имеют разный размер в байтах) ? Я понимаю зачем может быть полезен некоторый уровень абстракции _над_ autotools. Понимаю что у autotools есть много недостатков. Но не понимаю зачем нужна система которая позволяет _меньше_ чем autotools. -- С уважением, Денис http://freesource.info ----------------------------------------------------------------------------