Új C++ stack a FreeBSD HEAD-ben

Címkék

A FreeBSD fejlesztők egyik (kísérleti) célja az, hogy a FreeBSD 10-re GPL-mentes alaprendszert hozzanak össze, vagyis lehetőség szerint az összes GPL-es szoftvert (gcc, binutils, gdb, grep stb.) eltávolítsák a base-ből. Hogy ez sikerül-e vagy sem, majd elválik. Mindenesetre ez az oldal összesíti azt, hogy a fejlesztők hol tartanak e cél elérésében. Részben emiatt szeretnének a fejlesztők a FreeBSD 10-ben egy, a régi, GPLv2 alatt terjesztett, GNU-s változatot leváltó, új C++ stack-et szállítani.

A licencelés csak az egyik ok. A másik funkcionális. Ebben az évben bemutatkozott egy új C++ szabvány. Mivel a FreeBSD által jelenleg szállított 2007-es libstdc++ nem támogatja a C++11 szabványt, emiatt is fontos lenne az új stack bevezetése.

Egy C++ implementáció több főbb komponensből tevődik össze. Többek közt: a fordítóprogram, a Standard Template Library (STL), az ABI library. Az FreeBSD új stack-je így festene:

David Chisnall (theraven@) tegnap jelezte, hogy importálta a libc++ és libcxxrt összetevőket a FreeBSD HEAD-be. Az utóbbi összetevőnek - a libcxxrt-nek - Chisnall a szerzője (korábban volt róla szó).

A libcxxrt és a libc++ alapértelmezetten nem fordulnak együtt az alaprendszerrel és egyelőre nem használja őket semmi. A cél az, hogy a GNU-s libstdc++ a ports-ba vándoroljon és a fejlesztők GNU-mentes C++ stack-et szállíthassanak a FreeBSD 10-ben.

Részletek a bejelentésben.

Hozzászólások

Remélem használható lesz a végeredmény, mert jelenleg a clang nem mindent visz. Tudom, biztos nem jól megírt gány kód, stb., de ha a gcc viszi, akkor az lesz az irány és egy clang alapú rendszer lemarad (vagy majd ugyanazt megeszi a clang, mint a gcc). Én mindenesetre szurkolok nekik.

Csak eszembe jutott a hírről. Arról van/volt hír, hogy jelenleg miért 2007-es 4.2.1-es gcc az alaprendszer része és nem frissült azóta?

"Arról van/volt hír, hogy jelenleg miért 2007-es 4.2.1-es gcc az alaprendszer része és nem frissült azóta?"

Mert az volt az utolsó GPLv2-es kiadás? A GPLv3 pedig elfogadhatatlan a BSD-seknek.

http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html

"GCC 4.2.1 will be the last release of GCC covered by version 2 of the GNU General Public License. All future releases will be released under GPL version 3."

--
trey @ gépház

Hint: market share?

(Amúgy pinyo finoman csúsztat, hisz Mac esetén sokkal kisebb a hardverváltozatok száma, amin fényesen kell teljesítenie a clang-nak, ellenben Linux alatt sokkal kisebb a szoftverváltozatok száma, amit ferdítenie kell a GCC-nek. Sacc/kb akik Linux alatt egyáltalán fordítanak valamit, azok elenyésző számban teszik ezt a make configure/install/bzImage témakörön túl.)

> egy clang alapú rendszer lemarad
vagy pedig azokat a szoftvereket, amikkel a clang-nak baja van, kijavítják. Esetleg magát a clang-ot javítják ki. Amennyiben az LLVM infrastruktúra licence nem változik, akkor azt gondolom lehet frissíteni - mondjuk major verzióváltásnál. Mittudomén, jelenleg clang2.8 van a base-ben, és ez lesz a hamarosan megjelenő FreeBSD-9.0-ban. (Nem alapértelmezett, hanem alapértelmezetten települő fordító.) Aztán valamikor fél éven belül a 10-esben már alapértelmezett fordító is lesz, majd 1 év múlva az akkori CURRENT-ben előrelépnek 2.10-re, és mire kijön a FreeBSD 10.0, addigra ki lesz annyira tesztelve, hogy nyugodtan lehet azt használni. Végül is jelenleg pont ez a helyzet Linux fronton a GCC-vel (azt hiszem), és hasonlóan ment FreeBSD-n eddig a GCC-vel (azt hiszem).

2.8?


op@opn ~> uname -sr
FreeBSD 9.0-PRERELEASE
op@opn ~> clang++ --version
FreeBSD clang version 3.0 (branches/release_30 142614) 20111021
Target: x86_64-unknown-freebsd9.0
Thread model: posix
op@opn ~> clang --version
FreeBSD clang version 3.0 (branches/release_30 142614) 20111021
Target: x86_64-unknown-freebsd9.0
Thread model: posix

___
info

Sok boldogságot és kellemes bort, búzát kívánok hozzá.

Ma C/C++ fordítót írni nem fehér embernek való feladat. Mondjuk annak a pár száz BSD felhasználónak úgyis mindegy.

/evilface

--
GPLv3-as hozzászólás.