Re: BSD検出

Quote from: dkaparis on August 11, 2010, 11:00:16 PM

headers.hに以下のコードがある:

#ifdef WXMAC_OSX #define WXMAC 1 #define WXOSX 1 #define BSD 1 #endif #endif

私のテストでは、FreeBSD 8.1で検出されなかった。

以下のように変更することを提案する:

#if (defined(unix) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif

そしてBSDの検出は以下のようにすべきである: #ifdef BSD これはFreeBSD Porter’s Handbookで推奨されているBSD検出方法である。

この変更は既に私のCMakeツリーで実施済みである。

#ifdef WXMAC_OSX #define WXMAC 1 #define WXOSX 1 #define BSD 1 #endif #endif

そのコードはそもそもよくないアイデアだったので、削除する。Mac用のコードは__WXMAC_OSX__のみを使用すべきで、__WXMAC__や__WXOSX__は使わず、__BSD__の使用もやめるべきだ。

Quote #if (defined(unix) || defined(unix)) && !defined(USG) #include <sys/param.h> #endif

これでMacでBSDが確実に定義されるだろうか?