Не хочет перекомпилировать, приходится удалять все ppu :

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Аватара пользователя
Cheb
энтузиаст
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34
Контактная информация:

Не хочет перекомпилировать, приходится удалять все ppu :

Сообщение Cheb »

Вот, собственно, build.sh :
mkdir /tmp/.chentrah
fpc chentrah.lpr -CX -XX -Xs -Ur -dcge -dnotlaz -O2 -Op4 -Or -Sd -Sh -Sc -Sg -Rintel -Fu./ -FE../../../ -Fu../../../3rdparty/vampyre/Source/ -Fu../../../3rdparty/vampyre/Source/JpegLib/ -Fu../../../3rdparty/vampyre/Source/ZLib/ -Fu../../../3rdparty/vampyre/Extras/Extensions/ -Fi../../../3rdparty/vampyre/Source/ -FU/tmp/.chentrah/
../../../bin/incbuild build.h
strip -s -x -X ../../../chentrah
mv ../../../chentrah /usr/bin
rm /tmp/.chentrah/*

Откомпилированные юниты приходится каждый раз удалять, иначе паразит не перекомпилирует ничего, как бы дата исходников не изменялась. Пока был один мой код, я ещё терпел. Но теперь он по полчаса строит всю Vampyre Imaging, и терпение уже лопается.

Есть какие-нибудь идеи, *что* именно я забыл вставить в строку вызова компилятора? И почему этот гад не хочет замечать, что дата исходников новее даты ppu-шек?

З.Ы. Большая часть кода состоит из .inc - файлов, иногда многократно матрёшечной вложенности. Может, он не догадывается проверить даты включаемых по {$include ...} ?
Аватара пользователя
Alexander
энтузиаст
Сообщения: 888
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

А ключ -B не помогает ?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Ну так ключ -Ur именно для этого и существует. С ним компилятся библиотеки, чтобы потом, если случайно изменится дата исходника, компилятор не кидался на полчаса собирать все, что от него зависит. Но проект-то зачем с -Ur собирать??
Аватара пользователя
Cheb
энтузиаст
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34
Контактная информация:

Сообщение Cheb »

Ась?... Где?... :shock: И точно... И когда я этот -Ur успел вставить?.. :oops:

А ключ -B не помогает ?

Что в лоб, что по лбу. С этим ключом он всё равно всю Vampyre Imaging пересобирает.

З.Ы. Ну всё, финиш. Убрал -Ur, получил:
/home/cheb/chentrah/modules/chentrah/src/cge.pp(8,1) Fatal: Internal error 200306067
Хотя Vampyre он пересобирать на этот раз не пытался.
Аватара пользователя
Cheb
энтузиаст
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34
Контактная информация:

Сообщение Cheb »

P.S. Обошёл, вставив команду удалять только ppuшки моих собственных модулей:
rm /tmp/.chentrah/cl_*.*
Всё работает, собирается за секунду вместо двух минут :D
Спасибо :)
Ответить