Этот учебный руководство основано на
этой странице. Да, я
изменил некоторые вещи. Поверьте мне, я знаю что делаю, даже если вы так не
думаете.
Во-первых вам нужно проверить FreeBASIC подверсию репозитория. Это выходит
за рамки настоящего документа, и если вы читаете эту страницу, вы вероятно
уже сделали это в любом случае. Но некоторые люди не знают этого, поэтому
данные шаги описаны здесь:
- Во-первых установите переменную FBC_SRC в вашей оболочке (СДЕЛАЙТЕ
ЭТО, ДАЖЕ ЕСЛИ ВЫ УЖЕ ПРОВЕРИЛИ ИСТОЧНИК) так: FBC_SRC=~/src/fbc/fbc-svn
- Далее проверьте источник: svn co https://fbc.svn.sourceforge.net/svnroot/fbc/trunk/FreeBASIC ${FBC_SRC}/FreeBASIC
- Примечание: Если вы скопироватли и вставили команду во 2 строке(выше),
вы получите знак «#» в вставке. Удалите его, он будет портить все, если вы не
знаете.
ВАЖНОЕ ПРИМЕЧАНИЕ: НЕ ВЫХОДИТЕ ИЗ ОБОЛОЧКИ! FBC_SRC устанавливается только
для текущего сеанса оболочки и не существует в любой другом процессе, за
исключением вашего текущего сеанса оболочки.
Кроме того для графики, вам нужно иметь установленный X11. Чтобы упростить,
мета-порт
x11/xorg обеспечивает весь дистрибутив X.org (объявив все
X.org как зависимости).
Если у вас чистая установка FreeBSD (скорее всего нет), вы можете установить
X вот так (из под root):
cd /usr/ports/x11/xorg
make install distclean
Обратите внимание, что этот процесс займет час или больше, даже на быстрой
машине, но как я уже сказал, у вас вероятно уже есть X11 и не нужно этого
делать.
Наконец поскольку компилятор
Freebasic написан на
себе самом, вам будет нужно установить копию готовой версии FreeBASIC - я (segin)
предоставил построение и вы можете найти его
здесь.
Если вы сделали все правильно, вы сможете найти источники FreeBASIC runtime
библиотеки
~/src/fbc/fbc-svn/FreeBASIC/src/rtlib . Если вы сделали
что-то неправильно , то источник может находится в другом месте.
Далее, вам необходимы символические ссылки для некоторых объектов C
rintime в FreeBASIC дереве сборки, а также создать
каталоги для библиотек FreeBSD:
cd ${FBC_SRC}/FreeBASIC/lib
mkdir freebsd
cd freebsd
ln -s /usr/lib/crt1.o
ln -s /usr/lib/crti.o
ln -s /usr/lib/crtbegin.o
ln -s /usr/lib/crtend.o
ln -s /usr/lib/crtn.o
cd ../../bin/freebsd
ln -s /usr/bin/as
ln -s /usr/bin/ar
ln -s /usr/bin/ld
Если
mkdir не удается, и говорит, что каталог
freebsd уже
существует, считайте, что это сделано и продолжайте в обычном режиме.
На данный момент вам нужно иметь библиотеку libbfd от GNU binutils 2.17 .
Обратите внимание, что версия должна быть именно 2.17, а не какая либо
другая. В настоящее время FreeBASIC имеет только заголовки для версии 2.17,
и библиотеку интерфейса изменений между версиями, так что используйте именно
эту версию.
Используйте
cd без параметров, чтобы вернуться в ваш домашний
каталог
~
Теперь, скачайте бинарную сборку 2,17 так:
fetch http://ftp.gnu.org/gnu/binutils/binutils-2.17.tar.bz2
tar jxf binutils-2.17.tar.bz2
cd binutils-2.17
И затем постройте соответствующие библиотеки:
cd intl && ./configure && make && cp libintl.a ${FBC_SRC}/FreeBASIC/lib/freebsd/ && cd ..
cd bfd && ./configure && make && cp libbfd.a ${FBC_SRC}/FreeBASIC/lib/freebsd/ && cd ..
cd libiberty && ./configure && make && cp libiberty.a ${FBC_SRC}/FreeBASIC/lib/freebsd/
На этом этапе у вас должно быть все необходимое для построения FreeBASIC.
Теперь можно построить
runtime библиотеку.
Все, что Вам придется сделать:
cd ${FBC_SRC}/FreeBASIC/src/rtlib/obj/freebsd
../../configure
gmake
gmake MULTITHREADED=1
gmake install
А сейчас gfxlib2.
Опять же просто, как и выше:
cd ${FBC_SRC}/FreeBASIC/src/gfxlib2/obj/freebsd
../../configure
gmake
gmake install
Если сборка не удается жалуясь на отсутствие X11/extensions/X<whatever>.h,
это - потому что X.org реструктурировали некоторые заголовки в
каких-то пакетах, удаляя заголовки интерфейса библиотеки из пакетов
заголовков протокола и помещая их в пакет фактической библиотеки, из которой
они описывают интерфейс. Пример: XInput.h был в inputproto но был удален
оттуда и вместо этого вставлен в libXi. Вы модернизировали свои xorg пакеты
частично и имеете несоответствия вариантов - сделайте
portupgrade -R xorg
для фикса.
Выполните следующее:
cd ${FBC_SRC}/FreeBASIC/src/compiler/obj/freebsd
../../configure
gmake
И вот оно! Вы должны иметь "fbc_new", собранный из последних исходников!
Если вы ищете распределения для упаковки, вы можете использовать install.sh
из моей предварительно построенной копии.