summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/gcc-uClibc/gcc-uClibc.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/extra/gcc-uClibc/gcc-uClibc.c b/extra/gcc-uClibc/gcc-uClibc.c
index b283ed086..201f0ac20 100644
--- a/extra/gcc-uClibc/gcc-uClibc.c
+++ b/extra/gcc-uClibc/gcc-uClibc.c
@@ -75,7 +75,6 @@
#include <stdarg.h>
#include <string.h>
#include <unistd.h>
-#include <libgen.h>
#include "gcc-uClibc.h"
@@ -90,6 +89,22 @@ static char nostdlib[] = "-nostdlib";
static char nostdinc_plus[] = "-nostdinc++";
#endif
+/* Include a local implementation of basename, since this
+ * uses the host system's C lib, and CYGWIN apparently
+ * doesn't provide an implementation of basename(). */
+char *basename(const char *path)
+{
+ register const char *s;
+ register const char *p;
+ p = s = path;
+ while (*s) {
+ if (*s++ == '/') {
+ p = s;
+ }
+ }
+ return (char *) p;
+}
+
extern void *xmalloc(size_t size)
{