Выглядит это так: из лазаруса вызывается build.bat, в котором стоит последовательность
[...]
Всё оказалось *гораздо* интереснее!
Обновил лазарус с 1.4.4 до 1.8.4, коий зело многословнее - выяснилось, что у него встроенный интерпретатор .BAT файлов, причём - неполноценный! Он парсит батник при запуске, вычисляя переменные окружения и вштыривая их напрямую.
И получалось, что переменная окружения, которая задавалась ниже по течению, внутри блока if, тупо не работала!
И екзешник собирался с неправильными ключами.
Может, из-за этого были все мои проблемы с фпц 3?
Перенёс все определения в самое начало - сразу всё заработало!
ИЧСХ, для линукса существует аналогичный build.sh - и в нём-то всё работает как надо
Подробнее: в свойствах проекта на вкладке Compiler Commands, поле "Compiler->Command" очищено и галки убраны, а в поле "Execute after->Command" стоит
./build.bat
и галки выставлены
И в такой конфигурации проект лет десять уже.
ЧСХ, в лазаре ранних версий (0.9.что-то-там) всё работало - он, похоже, через винду батники исполнял. Зачем в новых версиях запилили свой интерпретатор с преферансом и блудницами - то тайна великая есть.