summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-02-03 00:25:14 +0000
committerEric Andersen <andersen@codepoet.org>2001-02-03 00:25:14 +0000
commitf91e94f6c5a1f1d6dfd3e5a535df303b805bf321 (patch)
tree85a06d8fdacf9b53cecc148b1e06f607a8a5d57d /include
parentec2e4b41b98fdc9083405be56b8bfa91d892438e (diff)
I hereby commit a sin. features.h is now going to _lie_
and claim that this is GNU libc. Too many pieces of code look for GNU libc version numbers. So uClibc is now going to lie and claim it is GNU libc. This makes, for example, networking apps work much better since /usr/include/linux/socket.h does the wrong thing otherwise. There are lots of other examples. -Erik
Diffstat (limited to 'include')
-rw-r--r--include/features.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/features.h b/include/features.h
index 3d79d618d..6f920d8ad 100644
--- a/include/features.h
+++ b/include/features.h
@@ -8,6 +8,17 @@
#define __UCLIBC_MAJOR__ 9
#define __UCLIBC_MINOR__ 5
+/* There is an unwholesomely huge amount of code out there that depends on the
+ * presence of GNU libc header files. We have GNU libc header files. So here
+ * we commit a horrible sin. At this point, we _lie_ and claim to be GNU libc
+ * to make things like /usr/include/linux/socket.h and lots of apps work as
+ * their developers intended. This is IMHO, pardonable, since these defines
+ * are not really intended to check for the presence of a particular library,
+ * but rather are used to define an _interface_. */
+#define __GNU_LIBRARY__ 6
+#define __GLIBC__ 2
+#define __GLIBC_MINOR__ 1
+
/* Make a half-hearted attempt to accomodate non-gcc compilers */
#ifndef __GNUC__
#define __attribute(foo) /* Ignore */