config.mak.uname: resolve FreeBSD iconv-related compilation warning

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>

Eric Sunshine committed Aug 31, 2018 at 04:33 UTC 6c6ce21baa9b50d394bb8ed9878944504ffd57d8
1 file changed +11 -1
config.mak.uname
+11 -1
@@ -192,7 +192,17 @@ ifeq ($(uname_O),Cygwin)
192 endif
193 ifeq ($(uname_S),FreeBSD)
194 NEEDS_LIBICONV = YesPlease
195 - OLD_ICONV = YesPlease
195 + # Versions up to 10.1 require OLD_ICONV; 10.2 and beyond don't.
196 + # A typical version string looks like "10.2-RELEASE".
197 + ifeq ($(shell expr "$(uname_R)" : '[1-9]\.'),2)
198 + OLD_ICONV = YesPlease
199 + endif
200 + ifeq ($(firstword $(subst -, ,$(uname_R))),10.0)
201 + OLD_ICONV = YesPlease
202 + endif
203 + ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
204 + OLD_ICONV = YesPlease
205 + endif
206 NO_MEMMEM = YesPlease
207 BASIC_CFLAGS += -I/usr/local/include
208 BASIC_LDFLAGS += -L/usr/local/lib