From b6e56eca8a4eb74a86e9f2d99aa480c665458aa7 Mon Sep 17 00:00:00 2001 From: "Fernando J. Pereda" Date: Thu, 16 Feb 2006 09:38:01 +0100 Subject: [PATCH] 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 Signed-off-by: Junio C Hamano --- Makefile | 6 ++++++ mailinfo.c | 4 ++++ 2 files changed, 10 insertions(+) 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 #include #include +#ifndef NO_ICONV #include +#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)