[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nbitools on Darwin



話が本題とは異なり恐縮なのですが、
環境変数の設定でよい解決法があったら教えてください。

Hiramatsu Yoshifumi wrote:
> +-#if defined(__FreeBSD__) || defined(__NetBSD__)
> ++#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__)
中略
> ++#if defined(__APPLE__)
> ++# define CPP_PROGRAM "/usr/bin/cpp"
> ++#endif
のように、MDあるいはplatform dependな環境での変数の扱いを
patchの形で入れてしまうと他のOSで使う時に、
OSの数だけ付け加えなくてはならなくなるので維持が面倒なように思えます。
#元々はNetBSD用のpkgsrcなので__NetBSD__はいいとしても
#さらに付け加えるならdefine(__OpenBSD__)とかも加えるべきなんでしょうし

とりあえずの解決法としては、
$(CC)や$(CPP)の設定はpkgsrcのMakefileで行うとして、
platform依存性は、
1."CPPFAGS+=-D__NetBSD__" とかして処理OSを強制的にNetBSDにする
2.pkgsrcの環境変数でplatformを判別する
3.uname(1)かmachine(1)で判別
4.その他

--
大石 修