Instalowanie GCC-3.3.1 - przebieg 1

Estimated build time:           4.4 SBU
Estimated required disk space: 300 MB

Zawartość GCC

Pakiet GCC zawiera zbiór kompilatorów na licencji GNU, włącznie z kompilatorami C i C++.

Instalowane programy: c++, cc (link to gcc), cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, and gcov

Instalowane biblioteki: libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] and libsupc++.a

Zależności Instalacyjne GCC

GCC zależy od: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.

Instalowanie GCC

Rozpakuj tylko tarball GCC-core, bo w tej chwili nie będzie nam porzebny kompilator C++.

Uwaga: Chociaż GCC jest ważnym pakietem narzędzi, nie będziemy uruchamiać zestawu testów na tak wczesnym etapie. Po pierwsze, nie ma jeszcze jego podstaw we właściwym miejscu, a po drugie, programy z tego pierwszego przebiegu już wkrótce zostaną nadpisane programami w drugim przebiegu.

Znane są kłopoty z powodu zmian domyślnych wartości flag optymalizacji (włącznie z opcjami -march oraz -mcpu). Daltego, jeśli definiowałaś jakieś zmienne środowiskowe, któe nadpisały wartości domyslne optymalizacji, takie jak CFLAGS oraz CXXFLAGS, to zalecamy wyłączenie ich lub zmianę ich wartości na czas budowy GCC.

Dokumentacja GCC zaleca budowę GCC poza katalogiem źródłowym, w specjalnym katalogu do tego celu gcc-build:

mkdir ../gcc-build
cd ../gcc-build

Przygotuj GCC do kompilacji:

../gcc-3.3.1/configure --prefix=/tools \
--with-local-prefix=/tools \
--disable-nls --enable-shared \
--enable-languages=c

Znaczenie tych opcji configure:

Nadal kompilujemy ten pakiet:

make BOOT_LDFLAGS="-static" bootstrap

Znaczenie parametrów make:

I instalujemy pakiet:

make install

Jako końcowe pociągnięcie, tworzymy łącze symboliczne (symlink) /tools/bin/cc. Wiele programów i skryptów uruchamia  cc zamiast gcc, co ma im zapewnic ogólność i dzięki temu użyteczność we wszystkich odmianach systemów uniksowych. Nie w każdym znajdzie się zainstalowany kompilator GNU C. Proste włączenie cc pozostawia administratorowi systemu swobodę w decydowaniu, jaki kompilator C zainstalować, o ile istnieje symlink wskazujący na niego:

ln -sf gcc /tools/bin/cc