X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcollectd.h;h=3d8998fddbeab2f14f21cc0c6e98aef9bb4ad036;hb=37905c5a2370c8e6edae5011978773eeaa589d09;hp=5912fe6f809b0557dac19b3460e9f038ac5230e0;hpb=10075e6fe3c384b73c2dd398a1435f8d10e56654;p=collectd.git diff --git a/src/collectd.h b/src/collectd.h index 5912fe6f..3d8998fd 100644 --- a/src/collectd.h +++ b/src/collectd.h @@ -58,6 +58,18 @@ #endif #if HAVE_STDBOOL_H # include +#else +# ifndef HAVE__BOOL +# ifdef __cplusplus +typedef bool _Bool; +# else +# define _Bool signed char +# endif +# endif +# define bool _Bool +# define false 0 +# define true 1 +# define __bool_true_false_are_defined 1 #endif #if HAVE_UNISTD_H # include @@ -139,6 +151,8 @@ # define BYTE_ORDER _BYTE_ORDER # elif defined(__BYTE_ORDER) # define BYTE_ORDER __BYTE_ORDER +# elif defined(__DARWIN_BYTE_ORDER) +# define BYTE_ORDER __DARWIN_BYTE_ORDER # endif #endif #ifndef BIG_ENDIAN @@ -146,6 +160,8 @@ # define BIG_ENDIAN _BIG_ENDIAN # elif defined(__BIG_ENDIAN) # define BIG_ENDIAN __BIG_ENDIAN +# elif defined(__DARWIN_BIG_ENDIAN) +# define BIG_ENDIAN __DARWIN_BIG_ENDIAN # endif #endif #ifndef LITTLE_ENDIAN @@ -153,6 +169,8 @@ # define LITTLE_ENDIAN _LITTLE_ENDIAN # elif defined(__LITTLE_ENDIAN) # define LITTLE_ENDIAN __LITTLE_ENDIAN +# elif defined(__DARWIN_LITTLE_ENDIAN) +# define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN # endif #endif #ifndef BYTE_ORDER @@ -203,9 +221,6 @@ # include #endif -#if HAVE_PTH_H -# include -#endif #if HAVE_SENSORS_SENSORS_H # include #endif @@ -242,6 +257,10 @@ #define PLUGINDIR PREFIX "/lib/" PACKAGE_NAME #endif +#ifndef PKGDATADIR +#define PKGDATADIR PREFIX "/share/" PACKAGE_NAME +#endif + #ifndef COLLECTD_GRP_NAME # define COLLECTD_GRP_NAME "collectd" #endif @@ -253,8 +272,24 @@ # define __attribute__(x) /**/ #endif -#if __GNUC__ -# pragma GCC poison strcpy strcat sprintf strtok +#if defined(COLLECT_DEBUG) && COLLECT_DEBUG && defined(__GNUC__) && __GNUC__ +# undef strcpy +# undef strcat +# undef strtok +# pragma GCC poison strcpy strcat strtok +#endif + +/* + * Special hack for the perl plugin: Because the later included perl.h defines + * a macro which is never used, but contains `sprintf', we cannot poison that + * identifies just yet. The parl plugin will do that itself once perl.h is + * included. + */ +#ifndef DONT_POISON_SPRINTF_YET +# if defined(COLLECT_DEBUG) && COLLECT_DEBUG && defined(__GNUC__) && __GNUC__ +# undef sprintf +# pragma GCC poison sprintf +# endif #endif extern char hostname_g[];