2004年9月14日(火)

CC == cc (@HFS+)

MacOSX の HFS+ は case insensitive である
これには何度もハメられているのだが、たとえば xlc というファイルがあったとして、こいつは xlc としても xlC としてもオープンできてしまう。さすがに IBM は賢いもので、実行されてから  argv[0] を見返して、実行されたとき xlc として実行されたのかそれとも xlC として実行されたのかを判別して挙動を変えている。
賢くないのは Apple の方で、 cc で gcc に symlink を張っているのだが、 gcc の側では cc として呼ばれたのか CC として呼ばれたのかなんて考慮しちゃいない。 C++ なら CC っと決め打ちする馬鹿がいると見事に引っかかるんだな、これが

/usr/bin/cc な shell script を置いて argv[0] をチェックする俺

[referer: [an error occurred while processing this directive]]

あわせて読みたい