diff options
author | Дилян Палаузов <dilyan.palauzov@aegee.org> | 2012-02-12 17:23:36 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-02-13 00:11:01 -0800 |
commit | b5225286b226759262c0637058528af03226fba6 (patch) | |
tree | 527324aee510bb76384c1e7684951c8ba91e43c8 | |
parent | 828ea97de486c1693d6e4f2c7347acb50235a85d (diff) | |
download | git-b5225286b226759262c0637058528af03226fba6.tar.gz |
Makefile: introduce CHARSET_LIB to link with -lcharsetdp/i18n-libcharset
On some systems, the function locale_charset() may not be exported from
libiconv but is available from libcharset, and we need -lcharset when
linking.
Introduce a make variable CHARSET_LIB that can be set to -lcharsetlib
on such systems. Also autodetect this in the configure script by first
looking for the symbol in libiconv, and then libcharset.
Signed-off-by: Дилян Палаузов <dilyan.palauzov@aegee.org>
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | config.mak.in | 1 | ||||
-rw-r--r-- | configure.ac | 10 |
3 files changed, 16 insertions, 0 deletions
@@ -53,6 +53,10 @@ all:: # FreeBSD can use either, but MinGW and some others need to use # libcharset.h's locale_charset() instead. # +# Define CHARSET_LIB to you need to link with library other than -liconv to +# use locale_charset() function. On some platforms this needs to set to +# -lcharset +# # Define LIBC_CONTAINS_LIBINTL if your gettext implementation doesn't # need -lintl when linking. # @@ -1692,6 +1696,7 @@ endif ifdef HAVE_LIBCHARSET_H BASIC_CFLAGS += -DHAVE_LIBCHARSET_H + EXTLIBS += $(CHARSET_LIB) endif ifdef HAVE_DEV_TTY diff --git a/config.mak.in b/config.mak.in index 10698c8292..b2ba7104eb 100644 --- a/config.mak.in +++ b/config.mak.in @@ -74,3 +74,4 @@ SNPRINTF_RETURNS_BOGUS=@SNPRINTF_RETURNS_BOGUS@ NO_PTHREADS=@NO_PTHREADS@ PTHREAD_CFLAGS=@PTHREAD_CFLAGS@ PTHREAD_LIBS=@PTHREAD_LIBS@ +CHARSET_LIB=@CHARSET_LIB@ diff --git a/configure.ac b/configure.ac index 630dbdd19d..24190de616 100644 --- a/configure.ac +++ b/configure.ac @@ -836,6 +836,16 @@ AC_CHECK_HEADER([libcharset.h], [HAVE_LIBCHARSET_H=YesPlease], [HAVE_LIBCHARSET_H=]) AC_SUBST(HAVE_LIBCHARSET_H) +# Define CHARSET_LIB if libiconv does not export the locale_charset symbol +# and libcharset does +CHARSET_LIB= +AC_CHECK_LIB([iconv], [locale_charset], + [], + [AC_CHECK_LIB([charset], [locale_charset], + [CHARSET_LIB=-lcharset]) + ] +) +AC_SUBST(CHARSET_LIB) # # Define NO_STRCASESTR if you don't have strcasestr. GIT_CHECK_FUNC(strcasestr, |