developer: only do the C++ reserved name checking on Linux
[kai/samba-autobuild/.git] / source4 / include / includes.h
index b93a3faf2945f155da5da41738c57069dd8cc09c..d0a97020c6e470de2ebe05bd28b10635ebd621b4 100644 (file)
@@ -20,7 +20,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 
 /* make sure we have included the correct config.h */
 #ifndef NO_CONFIG_H /* for some tests */
 #endif
 #endif /* NO_CONFIG_H */
 
-#include "local.h"
-
-#ifndef PRINTF_ATTRIBUTE
-#if __GNUC__ >= 3
-/** Use gcc attribute to check printf fns.  a1 is the 1-based index of
- * the parameter containing the format, and a2 the index of the first
- * argument. Note that some gcc 2.x versions don't handle this
- * properly **/
-#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (__printf__, a1, a2)))
-#else
-#define PRINTF_ATTRIBUTE(a1, a2)
-#endif
-#endif
-
 #include "system/time.h"
 #include "system/wait.h"
+#include "system/locale.h"
 
-#ifndef _PRINTF_ATTRIBUTE
-#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
+/* only do the C++ reserved word check when we compile
+   to include --with-developer since too many systems
+   still have comflicts with their header files (e.g. IRIX 6.4) */
+
+#if !defined(__cplusplus) && defined(DEVELOPER) && defined(__linux__)
+#define class #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
+#define private #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
+#define public #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
+#define protected #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
+#define template #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
+#define this #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
+#define new #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
+#define delete #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
+#define friend #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
 #endif
 
 /* Lists, trees, caching, database... */
-#include <stdlib.h>
-#include <stdbool.h>
 #include <talloc.h>
-#include "libcli/util/nt_status.h"
-#include "charset/charset.h"
-#include "util/util.h"
-#include "librpc/gen_ndr/misc.h"
-
-typedef bool BOOL;
-
-#define False false
-#define True true
+#ifndef _PRINTF_ATTRIBUTE
+#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
+#endif
+#include "../lib/util/xfile.h"
+#include "../lib/util/attr.h"
+#include "../lib/util/debug.h"
+#include "../lib/util/util.h"
 
-struct smbcli_tree;
 #include "libcli/util/error.h"
 
 /* String routines */
-#include "util/safe_string.h"
+#include "../lib/util/safe_string.h"
 
-#if 0
-/* darn, we can't do this now that we don't link the ldb tools to all the smb libs */
-#define TALLOC_ABORT(reason) smb_panic(reason)
-#endif
+/* Thread functions. */
+#include "../lib/util/smb_threads.h"
+#include "../lib/util/smb_threads_internal.h"
 
 #endif /* _INCLUDES_H */