summaryrefslogtreecommitdiff
path: root/acconfig.h
diff options
context:
space:
mode:
authorRyan Bloom <rbb@apache.org>1999-08-19 13:31:10 +0000
committerRyan Bloom <rbb@apache.org>1999-08-19 13:31:10 +0000
commit3a2b8ec64a710190cf6de44bf70f0ddc486f08aa (patch)
treeabe784db4b35ae4f14233b3246a0a0a5b8cc3f25 /acconfig.h
parent3ae598cfecb39189a85c90fe6ea57f55f7eb9894 (diff)
downloadapr-3a2b8ec64a710190cf6de44bf70f0ddc486f08aa.tar.gz
Changes to let APR compile and build on AIX with a non GNU compiler.
I'll test these on other systems now. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59165 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'acconfig.h')
-rw-r--r--acconfig.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/acconfig.h b/acconfig.h
index 989bb153a..621c89be5 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -1,5 +1,29 @@
#ifndef APR_CONFIG_H
#define APR_CONFIG_H
+
+/* So that we can use inline on some critical functions, and use
+ * GNUC attributes (such as to get -Wall warnings for printf-like
+ * functions). Only do this in gcc 2.7 or later ... it may work
+ * on earlier stuff, but why chance it.
+ *
+ * We've since discovered that the gcc shipped with NeXT systems
+ * as "cc" is completely broken. It claims to be __GNUC__ and so
+ * on, but it doesn't implement half of the things that __GNUC__
+ * means. In particular it's missing inline and the __attribute__
+ * stuff. So we hack around it. PR#1613. -djg
+ */
+#if !defined(__GNUC__) || __GNUC__ < 2 || \
+ (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ||\
+ defined(NEXT)
+#define ap_inline
+#define __attribute__(__x)
+#define ENUM_BITFIELD(e,n,w) signed int n : w
+#else
+#define ap_inline __inline__
+#define USE_GNU_INLINE
+#define ENUM_BITFIELD(e,n,w) e n : w
+#endif
+
@TOP@
/* Various #defines we need to know about */