Podrobnosti o tomto balíčku se nacházejí v Section 6.14.2, “Obsah GCC.”
Balíček gcc obsahuje kolekci kompileru GNU(GNU compiler collection),která zahrnuje kompilery C a C++
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=cVýznam konfiguračních voleb:
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.
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.
Tato volba zajišťuje, že je zkompilován pouze kompiler C.
Pokračujte s kompilací balíčku:
make bootstrap
Význam parametrů make:
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.”