Новости с полей разработки FPC 2.1.1
Модератор: Модераторы
Неудержусь и сделаю Copy+Paste %)
Lots of new progress in March, but too busy coding to update the website, so this entry will be a summary of progress on the main (2.1.1) branch:
* Thomas Schatzl is making good progress with the linux 64-bit PowerPC port. A snapshot is here
* Peter did a Titanic work, and crafted an internal linker for win32 and win64, reducing linking times tremendously. For such a complex new subsystem, it is already quite stable.
* DWARF debugging info support is slowly starting to work. Stabs will be phased out in time.
* Florian just showed a first "Hello world" program for Win64. This is remarkable since GCC and the binutils don't even support this target. (Internal linker!)
* Jonas reported that he has ported to Darwin/i386 with remarkable little effort. Snapshots are expected in the coming weeks.
Здорово одним словом.
Написано на www.freepascal.org
Lots of new progress in March, but too busy coding to update the website, so this entry will be a summary of progress on the main (2.1.1) branch:
* Thomas Schatzl is making good progress with the linux 64-bit PowerPC port. A snapshot is here
* Peter did a Titanic work, and crafted an internal linker for win32 and win64, reducing linking times tremendously. For such a complex new subsystem, it is already quite stable.
* DWARF debugging info support is slowly starting to work. Stabs will be phased out in time.
* Florian just showed a first "Hello world" program for Win64. This is remarkable since GCC and the binutils don't even support this target. (Internal linker!)
* Jonas reported that he has ported to Darwin/i386 with remarkable little effort. Snapshots are expected in the coming weeks.
Здорово одним словом.
Написано на www.freepascal.org
- Сергей Смирнов
- энтузиаст
- Сообщения: 595
- Зарегистрирован: 28.04.2005 13:23:25
- Откуда: Москва
- Контактная информация:
-
SovNarKom
- постоялец
- Сообщения: 389
- Зарегистрирован: 28.05.2005 10:37:39
- Откуда: Воронеж [vrn] [36]
- Контактная информация:
Наверное особенно не порадую...
Наконец откомпилировалась свн версия FPC 2.1.1... которая с встроенным компоновщиком для win32...
Рассказываю всё подробно, так как возможно я что-то упустил, до этого "свином" не пользовался...
1. Клиентом сделал чекаут репозитория <a href='http://svn.freepascal.org/svn/fpc/trunk' target='_blank'>http://svn.freepascal.org/svn/fpc/trunk</a>
2. Запустил в корне следующий бат файл
Эта весёлая конструкция загнулась на этапе make install, заругавшись на permission denied в одной из svn директорий... (зачем она ему нужна стала незнаю, хотел скопироавать видать)...
3. Выполнил, на всякий случай, make clean
4. SVN Export в другую директорию.
5. Запустил в ней всё тот же бат... Он всё очнь долго делал, но ошибок не возникло и в корне диска стала красоваться нужная pp.
Тут важно. не был обнаружен ld... что не могло не наатолкнуть на добрые мысли...
6. Для проверки создал в Лазаре новыйй проект и сохранил куда надо:)
Обычно использую такой бат для компиляции без самого Лазаря...
Так вот 2.0.2 всё откомпилил на раз, при этом прада перекомпилировав чуть-чуть LCL со смартлинком(но это не суть важно) получил готовое приложение ~900Kb за 30 секунд при первой компиляции(LCL частично) и 15 секунд при чистой сборке уже откомпилированных модулей.
А вот 2.1.1 сначала некритично ругнулся на устаревший ключ OG, потом не нашёл один (не запомнил какой) свой системный файл и послал меня.
Дело было в том, что не оказалось fpc.cfg... ну я его взял из 2.0.2 и пути разумеется все поправил.
Вторая компиляция завершилась успехом... почти. Дело в том, что на весь процесс ушло 57 секунд... , а только сборка заняла 28... размер при этом 1.6Мб...
размер такой получился ввиду того, что сам компилятор собирался без смартлинка и все модули соответственно тоже...
Пересборка компилятора с ключём smart вместо build не дала ни чего - файлы libcXXX.a так и не были созданы...
Нехорошо одним словом это.
Наконец откомпилировалась свн версия FPC 2.1.1... которая с встроенным компоновщиком для win32...
Рассказываю всё подробно, так как возможно я что-то упустил, до этого "свином" не пользовался...
1. Клиентом сделал чекаут репозитория <a href='http://svn.freepascal.org/svn/fpc/trunk' target='_blank'>http://svn.freepascal.org/svn/fpc/trunk</a>
2. Запустил в корне следующий бат файл
Код: Выделить всё
set PATH=E:\FPC\2.0.2\bin\i386-win32;%PATH%
rem make clean
make build
make install
cmd
Эта весёлая конструкция загнулась на этапе make install, заругавшись на permission denied в одной из svn директорий... (зачем она ему нужна стала незнаю, хотел скопироавать видать)...
3. Выполнил, на всякий случай, make clean
4. SVN Export в другую директорию.
5. Запустил в ней всё тот же бат... Он всё очнь долго делал, но ошибок не возникло и в корне диска стала красоваться нужная pp.
Тут важно. не был обнаружен ld... что не могло не наатолкнуть на добрые мысли...
6. Для проверки создал в Лазаре новыйй проект и сохранил куда надо:)
Обычно использую такой бат для компиляции без самого Лазаря...
Код: Выделить всё
set PATH=E:\FPC\2.0.2\bin\i386-win32;%PATH%
# или #
set PATH=C:\pp\bin\i386-win32;%PATH%
fpc.exe -FuC:\Lazarus0911\lcl\ -FuC:\Lazarus0911\lcl\interfaces\win32\ -FuC:\Lazarus0911\lcl\widgetset\ -FiC:\Lazarus0911\lcl\include\ OG3p3ru -CX -Xs -XX -WG project1.lpr
cmd
Так вот 2.0.2 всё откомпилил на раз, при этом прада перекомпилировав чуть-чуть LCL со смартлинком(но это не суть важно) получил готовое приложение ~900Kb за 30 секунд при первой компиляции(LCL частично) и 15 секунд при чистой сборке уже откомпилированных модулей.
А вот 2.1.1 сначала некритично ругнулся на устаревший ключ OG, потом не нашёл один (не запомнил какой) свой системный файл и послал меня.
Дело было в том, что не оказалось fpc.cfg... ну я его взял из 2.0.2 и пути разумеется все поправил.
Вторая компиляция завершилась успехом... почти. Дело в том, что на весь процесс ушло 57 секунд... , а только сборка заняла 28... размер при этом 1.6Мб...
размер такой получился ввиду того, что сам компилятор собирался без смартлинка и все модули соответственно тоже...
Пересборка компилятора с ключём smart вместо build не дала ни чего - файлы libcXXX.a так и не были созданы...
Нехорошо одним словом это.
-
SovNarKom
- постоялец
- Сообщения: 389
- Зарегистрирован: 28.05.2005 10:37:39
- Откуда: Воронеж [vrn] [36]
- Контактная информация:
yozh
Причина по которой встроенный компоновщик медленнее ld в 2 раза в чём?
Допускаю, что как обычно "много отладочной информации", ну уберут её в релизе... скорости сравнятются... а где reducing linking times tremendously?
Да, почему компилятор не собирается со смартлинком... Вот тут может я ошибся где-то?
Причина по которой встроенный компоновщик медленнее ld в 2 раза в чём?
Допускаю, что как обычно "много отладочной информации", ну уберут её в релизе... скорости сравнятются... а где reducing linking times tremendously?
Да, почему компилятор не собирается со смартлинком... Вот тут может я ошибся где-то?
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
У меня все получилось.
При сборке компилятора в compiler/fpcdefs.inc замени { define INTERNALLINKER} (это в самом конце) на {$define INTERNALLINKER}.
Работать стал быстрее, как мне показалось, хотя время не засекал. А вот откомпилировать проект с использованием JEDI Win32, без указания исходиков, мне пока еще не удалось.
..bw
При сборке компилятора в compiler/fpcdefs.inc замени { define INTERNALLINKER} (это в самом конце) на {$define INTERNALLINKER}.
Работать стал быстрее, как мне показалось, хотя время не засекал. А вот откомпилировать проект с использованием JEDI Win32, без указания исходиков, мне пока еще не удалось.
..bw
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
ld где то откопал. Я когда с JEDI парился использовал ключ -va для fpc, а за тем внимательно изучал результат. Там и заметил, что компилятор, собранный без внесения упомянутых "модификаций", упорно ищет ld, да и ошибки, при линковке, выдает именно ld, специфичные для каждой версии этого сборщика (я несколько версий пробовал, от fp и от mingw).
..bw
..bw
