5.4. GCC-3.4.3 - 1. průchod

Balíček gcc obsahuje kolekci kompileru GNU(GNU compiler collection),která zahrnuje kompilery C a C++

Průměrný čas kompilace: 4.4 SBU
Potřebné volné místo: 219 MB
Instalace závisí na: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, and Texinfo

5.4.1. Instalace GCC

O tomto balíčku je známo, že má problémy, pokud jsou jeho výchozí optimalizační příznaky (včetně -march a -mcpu voleb) změněné. Pokud nějaké proměnné prostředí přepisují tyto výchozí optimalizace jako CFLAGS a CXXFLAGS, odstraňte je při kompilaci GCC.

Dokumentace GCC doporučuje kompilaci GCC mimo zdroje ve zvláštním kompilačním adresáři:

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

Připravte GCC na kompilaci:

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

Význam konfiguračních voleb:

--with-local-prefix=/tools

Význam tohoto přepínače je odstranění adresáře /usr/local/include z vyhledávací cesty gcc. Toto není hlavní, ale minimalizujete tak ovlivnění hostitelským systémem.

--enable-shared

Tento přepínač umožňuje kompilaci libgcc_s.so.1 a libgcc_eh.a. Pokud budete mít libgcc_eh.a zajistíte, že konfigurační skript Glibc (další balíček, který budeme kompilovat) vytvoří správné výsledky.

--enable-languages=c

Tato volba zajišťuje, že je zkompilován pouze kompiler C.

Pokračujte s kompilací balíčku:

make bootstrap

Význam parametrů make:

bootstrap

Toto pouze nekompiluje GCC, ale kompiluje ho několikrát. Nejprve používá programy kompilované v prvním kolečku, aby se jimi kompilovalo podruhé a nakonec znovu potřetí. Poté porovná tuto druhou a třetí kompilaci, pro ujištění, že kompilace proběhla bez chyb.

Kompilace je nyní kompletní. Nyní můžou normálně běžet testy, ale jak bylo poznamenáno dříve, ještě nejsou na místě. Výhoda by byla velmi malá, protože programy z první fáze budou brzy nahrazeny.

Nainstaluj balíček:

make install

Jako poslední krok vytvořte odkaz. Hodně programů a skriptů spuští cc místo gcc. Tímto se udržují programy nezávislé, a proto jsou použitelné na všech druzích UNIXových systémů, kde nemusí vždy být GNU C compiler nainstalován. Pomocí příkazu cc se může systémový administrátor rozhodnou, který C kompiler nainstalovat.

ln -s gcc /tools/bin/cc

Podrobnosti o tomto balíčku se nacházejí v Section 6.14.2, “Obsah GCC.”