about summary refs log tree commit diff
path: root/configure.ng
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2012-10-06 18:25:43 +0200
committerAlexander Barton <alex@barton.de>2012-10-06 18:26:25 +0200
commit46b0eef721b9b3eec37d29aff65b6a7fc488a887 (patch)
treed863ced9e38b1e6e38c8fef3afa984d69984ab45 /configure.ng
parent4790d78c980c79abfd71c064be1eb085717210f8 (diff)
parent343a90dc376eb9979151752ec33c64ca45b04802 (diff)
downloadngircd-46b0eef721b9b3eec37d29aff65b6a7fc488a887.tar.gz
ngircd-46b0eef721b9b3eec37d29aff65b6a7fc488a887.zip
Merge branch 'bug109-CHARCONV'
This closes bug #109.

* bug109-CHARCONV:
  Debian: require "telnet" or "telnet-ssl" for building
  Debian ngircd-full[-dbg]: enable CHARCONV
  Add "CHARCONV" to "feature string" when enabled
  Implement new IRC+ "CHARCONV" command
  Added new configure option "--with-iconv"

Conflicts:
	src/ngircd/messages.h
Diffstat (limited to 'configure.ng')
-rw-r--r--configure.ng27
1 files changed, 27 insertions, 0 deletions
diff --git a/configure.ng b/configure.ng
index 8b47ad15..a3cab6ae 100644
--- a/configure.ng
+++ b/configure.ng
@@ -39,6 +39,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AH_TEMPLATE([DEBUG], [Define if debug-mode should be enabled])
 AH_TEMPLATE([HAVE_sockaddr_in_len], [Define if sockaddr_in.sin_len exists])
 AH_TEMPLATE([HAVE_socklen_t], [Define if socklen_t exists])
+AH_TEMPLATE([ICONV], [Define if libiconv can be used, e.g. for CHARCONV])
 AH_TEMPLATE([IDENTAUTH], [Define if the server should do IDENT requests])
 AH_TEMPLATE([IRCPLUS], [Define if IRC+ protocol should be used])
 AH_TEMPLATE([PAM], [Define if PAM should be used])
@@ -511,6 +512,29 @@ AC_ARG_ENABLE(ircplus,
 )
 if test "$x_ircplus_on" = "yes"; then
 	AC_DEFINE(IRCPLUS, 1)
+
+	# Compile in iconv support?
+	# We only check for it when IRC+ is enabled, because the IRC+ command
+	# CHARCONV is the only function depending on it.
+	x_iconv_on=no
+	AC_ARG_WITH(iconv,
+		[  --with-iconv            enable character conversation using libiconv],
+		[ if test "$withval" != "no"; then
+			if test "$withval" != "yes"; then
+				CFLAGS="-I$withval/include $CFLAGS"
+				CPPFLAGS="-I$withval/include $CPPFLAGS"
+				LDFLAGS="-L$withval/lib $LDFLAGS"
+			fi
+			AC_CHECK_LIB(iconv, iconv_open)
+			AC_CHECK_FUNCS(iconv_open, x_iconv_on=yes,
+				AC_MSG_ERROR([Can't enable libiconv support!])
+			)
+		  fi
+		]
+	)
+	if test "$x_iconv_on" = "yes"; then
+		AC_DEFINE(ICONV, 1)
+	fi
 fi
 
 # enable support for IPv6?
@@ -683,6 +707,9 @@ test "$x_pam_on" = "yes" \
 echo $ECHO_N "        SSL support: $ECHO_C"
 echo "$x_ssl_lib"
 
+echo $ECHO_N "   libiconv support: $ECHO_C"
+	echo "$x_iconv_on"
+
 echo
 
 if ! grep "^AUTOMAKE_OPTIONS = ../portab/ansi2knr" src/ngircd/Makefile.am >/dev/null 2>&1; then