]> git.ipfire.org Git - thirdparty/git.git/commitdiff
config.mak.uname: resolve FreeBSD iconv-related compilation warning
authorEric Sunshine <sunshine@sunshineco.com>
Fri, 31 Aug 2018 08:33:42 +0000 (04:33 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 31 Aug 2018 19:05:24 +0000 (12:05 -0700)
OLD_ICONV has long been needed by FreeBSD so config.mak.uname defines
it unconditionally. However, recent versions do not need it, and its
presence results in compilation warnings. Resolve this issue by defining
OLD_ICONV only for older FreeBSD versions.

Specifically, revision r281550[1], which is part of FreeBSD 11, removed
the need for OLD_ICONV, and r282275[2] back-ported that change to 10.2.
Versions prior to 10.2 do need it.

[1] https://github.com/freebsd/freebsd/commit/b0813ee288f64f677a2cebf7815754b027a8215b
[2] https://github.com/freebsd/freebsd/commit/b709ec868adb5170d09bc5a66b18d0e0d5987ab6

[es: commit message; tweak version check to distinguish 10.x versions]

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
config.mak.uname

index 684fc5bf02677bbaddd214f78b14fa55df7025c2..8906755769d8e1c8ba4b121e01f9fa2fbe6a9bab 100644 (file)
@@ -192,7 +192,17 @@ ifeq ($(uname_O),Cygwin)
 endif
 ifeq ($(uname_S),FreeBSD)
        NEEDS_LIBICONV = YesPlease
-       OLD_ICONV = YesPlease
+       # Versions up to 10.1 require OLD_ICONV; 10.2 and beyond don't.
+       # A typical version string looks like "10.2-RELEASE".
+       ifeq ($(shell expr "$(uname_R)" : '[1-9]\.'),2)
+               OLD_ICONV = YesPlease
+       endif
+       ifeq ($(firstword $(subst -, ,$(uname_R))),10.0)
+               OLD_ICONV = YesPlease
+       endif
+       ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
+               OLD_ICONV = YesPlease
+       endif
        NO_MEMMEM = YesPlease
        BASIC_CFLAGS += -I/usr/local/include
        BASIC_LDFLAGS += -L/usr/local/lib