Когда идет построение из исходного кода, FreeBASIC может быть
сконфигурирован и установлен в одной из двух сборок:
Normal build (по умолчанию)
| Standalone build
|
Normal
расположение каталога:
- bin/
- fbc.exe
- ld.exe
- <target>-ld.exe
- другие нативные инструменты и инструменты кросс-компиляции ...
- include/
- freebasic/
- fbgfx.bi
- другие заголовки...
- lib/
- freebasic/
- libfb.a (нативная)
- другие библиотеки...
- <target>-freebasic/
- libfb.a (для другой платформы)
- другие библиотеки для платформы...
| Standalone расположение каталога:
- bin/
- inc/
- fbgfx.bi
- другие заголовки...
- lib/
- <target>/
- libfb.a
- другие библиотеки...
- fbc.exe
|
Отличия от standalone build:
- fbc помещается в bin/, как и другие программы
- Поиск для заголовков в include/freebasic/, вместо inc/ или include/
- Поиск для библиотек в lib/freebasic/ вместо lib/
- Поиск для binutils/gcc 1) в bin/ и 2) , опираясь на PATH
- Поиск для crt/gcc библиотек 1) в lib/freebasic/ и 2) запуск "gcc -print-file-name=..."
- -target принимает системные триплеты
например "i686-pc-linux-gnu"
- целевое имя, данное при помощи -target предваряет gcc/binutils имена
программ при кросс-компилировании
- совместим со стандартом /usr или /usr/local каталогов
- обычно используется для выпуска FB-Linux
- использует windres из Binutils для компиляции win32 скриптов ресурсов
Это заставляет Normal Build FB интегрироваться с
GNU/Linux дистрибутивами и другими подобными Unix системами вполне прилично,
и также позволяет устанавливать FreeBASIC в MinGW или деревья DJGPP, и даже
позволяет FB работать с binutils/gcc, кросс-компилирующим toolchains.
| Отличия от normal build:
- fbc бинарные файлы находятся на верхнем уровне, не внутри bin/
- ищет инструменты внутри bin/<target>/, не в bin/
- Поиск для FB заголовков в inc/, не в include/freebasic/
- Поиск для библиотек в lib/<target>/, не в lib/freebasic/
- не пытается полагаться на PATH и используемые системные утилиты
- не пытается запросить GCC для поиска файлов
- -target принимает только простые
целевые имена FB, никакие системные триплеты
- обычно используется для FB-DOS и FB-win32-релизов
- Использует GoRC чтобы компилировать скрипты ресурсов Win32
standalone build предназначена, чтобы использоваться для автономных
установок, таких как традиционный FB-win32 и выпуски FB-DOS. Это также
позволяет добавлять fbc в PATH, не имея необходимости добавлять каталог bin/
.
|