# [PATCH] fix handling of iconv configuration options

3 messages from 2009-06-08 to 2009-06-08. Participants: Marco Nelissen, Junio C Hamano.
Thread: https://gitlist.dev/t/19730

## Marco Nelissen, 2009-06-08 00:45

Subject: [PATCH] fix handling of iconv configuration options
Message-ID: <3a3d9e520906071745k1fde4215xba310d945db37979@mail.gmail.com>
URL: https://gitlist.dev/e/3a3d9e520906071745k1fde4215xba310d945db37979%40mail.gmail.com

```
Fix the way in which the configure script handles --without-iconv
(and --with-iconv=no), which it  used to essentially ignore.
Also fix the way the configure script determines the value of
NEEDS_LIBICONV, which would be incorrectly set to 'YesPlease' on
systems that lack iconv entirely.

Signed-off-by: Marco Nelissen <marcone@xs4all.nl>
---

Since configure.ac uses a mix of 2, 3 and 4 space indentation and tabs, I
wasn't quite sure what to do with regard to that. I decided to keep the
number of lines changed to a minimum, rather than changing indentation
for a bunch of lines.

 configure.ac |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/configure.ac b/configure.ac
index 108a97f..3388036 100644
--- a/configure.ac
+++ b/configure.ac
@@ -385,6 +385,8 @@ AC_SUBST(NO_EXPAT)
 # some Solaris installations).
 # Define NO_ICONV if neither libc nor libiconv support iconv.

+if test -z $NO_ICONV; then
+
 GIT_STASH_FLAGS($ICONVDIR)

 AC_DEFUN([ICONVTEST_SRC], [
@@ -431,6 +433,12 @@ GIT_UNSTASH_FLAGS($ICONVDIR)
 AC_SUBST(NEEDS_LIBICONV)
 AC_SUBST(NO_ICONV)

+if test -n $NO_ICONV; then
+    NEEDS_LIBICONV=
+fi
+
+fi
+
 #
 # Define NO_DEFLATE_BOUND if deflateBound is missing from zlib.

-- 
1.6.3.1

```

## Junio C Hamano, 2009-06-08 21:50

Subject: Re: [PATCH] fix handling of iconv configuration options
Message-ID: <7vhbyqwg2y.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vhbyqwg2y.fsf%40alter.siamese.dyndns.org
In-Reply-To: <3a3d9e520906071745k1fde4215xba310d945db37979@mail.gmail.com>

```
Marco Nelissen <marcone@xs4all.nl> writes:

> diff --git a/configure.ac b/configure.ac
> index 108a97f..3388036 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -385,6 +385,8 @@ AC_SUBST(NO_EXPAT)
>  # some Solaris installations).
>  # Define NO_ICONV if neither libc nor libiconv support iconv.
>
> +if test -z $NO_ICONV; then
> +
>  GIT_STASH_FLAGS($ICONVDIR)
>
>  AC_DEFUN([ICONVTEST_SRC], [
> @@ -431,6 +433,12 @@ GIT_UNSTASH_FLAGS($ICONVDIR)
>  AC_SUBST(NEEDS_LIBICONV)
>  AC_SUBST(NO_ICONV)
>
> +if test -n $NO_ICONV; then
> +    NEEDS_LIBICONV=
> +fi
> +
> +fi
> +

Hmm, have you tested this with both NO_ICONV defined and undefined?

Because ...

	$ test -z ; echo $?
        0
	$ test -n ; echo $?
        0

... I would feel better if you had dq around $NO_ICONV in both tests.

```

## Marco Nelissen, 2009-06-08 23:51

Subject: Re: [PATCH] fix handling of iconv configuration options
Message-ID: <3a3d9e520906081651r33b485c2v745c4275a25c0f58@mail.gmail.com>
URL: https://gitlist.dev/e/3a3d9e520906081651r33b485c2v745c4275a25c0f58%40mail.gmail.com
In-Reply-To: <7vhbyqwg2y.fsf@alter.siamese.dyndns.org>

```
On Mon, Jun 8, 2009 at 2:50 PM, Junio C Hamano<gitster@pobox.com> wrote:
> Marco Nelissen <marcone@xs4all.nl> writes:
>
>> diff --git a/configure.ac b/configure.ac
>> index 108a97f..3388036 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -385,6 +385,8 @@ AC_SUBST(NO_EXPAT)
>>  # some Solaris installations).
>>  # Define NO_ICONV if neither libc nor libiconv support iconv.
>>
>> +if test -z $NO_ICONV; then
>> +
>>  GIT_STASH_FLAGS($ICONVDIR)
>>
>>  AC_DEFUN([ICONVTEST_SRC], [
>> @@ -431,6 +433,12 @@ GIT_UNSTASH_FLAGS($ICONVDIR)
>>  AC_SUBST(NEEDS_LIBICONV)
>>  AC_SUBST(NO_ICONV)
>>
>> +if test -n $NO_ICONV; then
>> +    NEEDS_LIBICONV=
>> +fi
>> +
>> +fi
>> +
>
> Hmm, have you tested this with both NO_ICONV defined and undefined?
>
> Because ...
>
>        $ test -z ; echo $?
>        0
>        $ test -n ; echo $?
>        0
>
> ... I would feel better if you had dq around $NO_ICONV in both tests.

Ah, you're right. I tested that it didn't incorrectly set
NEEDS_LIBICONV on a system that doesn't have/need it, but didn't test
that it doesn't unset it on a system that does need it (because I
don't have such a system).

```
