( Zahy | 2013. 10. 05., szo – 14:41 )

9-esen a GCC a standard, ráadásul kb ezer éve a 4.2.1-s GCC van az alapoprendszerben. Továbbmegyek, tudtommal mindegyik ma még támogatott rendszerben (azaz a 8.x-ben is). Speciel shell-beli CC változó nincs (legalábbis ha jól értettem a kérdésedet, mert echo $CC -vel teszteltem). Mivel az a tippem, hogy inkább make-beli CC-változóra gondoltál, ezt is csináltam:

$ cat Makefile
.default:
@echo CC is ${CC}
$ make
CC is cc
$

No most neked ezzel az lesz a bajod, hogy tudtommal clang-ra váltás után az van, hogy a [mM]akefile-ban szereplő CC az változatlanul cc lesz, csak épp a cc az nem a gcc, hanem a clang binárist jelenti. Most direkt rábutultam a 10.0-ALPHA4-es telepítődiszkre, és ugyanaz a kód pont ugyanazt az eredményt adja. Persze ha elindítom a cc binárist (mondjuk --version opcióval), akkor szépen látszik, hogy ő már ne ugyanaz.
Viszont találtam neked egy érdekes levelet: ebben pont azt írják, hogy mi módon lehetne egyszerűen ellenőrizni hogy gcc vagy clang és ettől függően átadni valami opciókat. Ráadásul megnéztem a buglistát, és commitolták ezt a peccset, szóval jónak tűnik. Az én értelmezésem szerint ez van a peccsben: ellenőrizzük, hogy mit ad ki a cc --version, és ha nincs benne a clang szócska, akkor a CFLAGS változóhoz hozzátesz valamit. No most ha jól gondolom, neked is pont ilyen kellene. Hm?