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

Re: Bug#697032: rcpp: FTBFS[kfreebsd]: #error "Rcpp::Timer not supported by your OS."

Hi Dirk,

On 31/12/12 02:06, Dirk Eddelbuettel wrote:
> | > #elif defined(linux) || defined(__linux) || defined(__FreeBSD__)

Sometimes you are really testing for the type of libc on the system, not
the kernel.  For that, __GLIBC__ is supposed to be defined on all
GNU/k*BSD variants.  There is a bit more info at:


> | >
> | > in two place.  If memory serves, there were a) similar handles for NetBSD and
> | > OpenBSD I should add.   And which one do you guys need for the BSD kernel on
> | > Debian?
> | 
> | Jep I'm seeing __NetBSD__ and __OpenBSD__ in lots of source.

Plenty of examples of that here:


Generally you have to list all of them :(

But it is probably more portable in the long term to test for specific
features that you want to use, wherever it makes sense.

> | uses __FreeBSD_kernel__ which -- if memory serves me correctly -- be
> | also defined in newer FreeBSDs.
> ... you are telling me I also need this?

If you are really testing for kernels, I think it is preferred that you
test for __FreeBSD_kernel__, instead of just __FreeBSD__ which is a bit
ambigious, and only defined on a pure FreeBSD (with BSD libc) system.

Steven Chamberlain

Reply to: