Столкнулся вот с какой проблемой. Смартлинк не работает, если в конфиге или в командной строке выставлена опция -CX (не создаются файлы lib*.a, а в линуксе, я так понимаю, внутреннего компоновщика нету, которому на эти файлы пофиг?). В результате простая консольная программа, использующая только Classes и SysUtils получается неимоверных размеров - более 600 КБ, а консольная программа вообще без всяких модулей, кроме System, весит более 140 КБ. Если же в самом модуле указать {$SMARTLINK ON}, то все работает как и положено.
Но проблема еще и в том, что RTL и все библиотеки, что с компилятором идут, тоже собраны без смартлинка. Чтобы пересобрать библиотеки со смартлинком, надо в каждый файл вставить строку {$SMARTLINK ON}, ведь на конфигурационный файл компилятор не реагирует... Бинарники качал и с офф. репозиториев Убунты, и с freepascal.org (с сурсфоржа) - смартлинка нет нигде.
Может, кто в курсе, в чем проблема? Это глюк, или все правильно и внутренний компоновщик есть и в линуксе? Если так, то почему размер программы такой большой? Или для 64-разрядных это нормальный размер? В общем, просветите, пожалуйста.
Спасибо за внимание.