summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFernando J. Pereda <ferdy@gentoo.org>2006-02-16 09:38:01 +0100
committerJunio C Hamano <junkio@cox.net>2006-02-16 01:42:58 -0800
commitb6e56eca8a4eb74a86e9f2d99aa480c665458aa7 (patch)
treebe7cb47c247021c8c475b7c01fed816467a2a055
parentbe97bd1b88003f4a19e2832ee0cc6ac20fcab674 (diff)
downloadgit-b6e56eca8a4eb74a86e9f2d99aa480c665458aa7.tar.gz
Allow building Git in systems without iconv
Systems using some uClibc versions do not properly support iconv stuff. This patch allows Git to be built on those systems by passing NO_ICONV=YesPlease to make. The only drawback is mailinfo won't do charset conversion in those systems. Signed-off-by: Fernando J. Pereda <ferdy@gentoo.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Makefile6
-rw-r--r--mailinfo.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 648469e625..317be3c373 100644
--- a/Makefile
+++ b/Makefile
@@ -53,6 +53,8 @@ all:
# Define NO_SOCKADDR_STORAGE if your platform does not have struct
# sockaddr_storage.
#
+# Define NO_ICONV if your libc does not properly support iconv.
+#
# Define COLLISION_CHECK below if you believe that SHA1's
# 1461501637330902918203684832716283019655932542976 hashes do not give you
# sufficient guarantee that no collisions between objects will ever happen.
@@ -380,6 +382,10 @@ else
endif
endif
+ifdef NO_ICONV
+ ALL_CFLAGS += -DNO_ICONV
+endif
+
ifdef PPC_SHA1
SHA1_HEADER = "ppc/sha1.h"
LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
diff --git a/mailinfo.c b/mailinfo.c
index ff2d4d4038..3c56f8c108 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -7,7 +7,9 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
+#ifndef NO_ICONV
#include <iconv.h>
+#endif
#include "git-compat-util.h"
#include "cache.h"
@@ -469,6 +471,7 @@ static int decode_b_segment(char *in, char *ot, char *ep)
static void convert_to_utf8(char *line, char *charset)
{
+#ifndef NO_ICONV
char *in, *out;
size_t insize, outsize, nrc;
char outbuf[4096]; /* cheat */
@@ -501,6 +504,7 @@ static void convert_to_utf8(char *line, char *charset)
return;
*out = 0;
strcpy(line, outbuf);
+#endif
}
static void decode_header_bq(char *it)