From 6c6ce21baa9b50d394bb8ed9878944504ffd57d8 Mon Sep 17 00:00:00 2001 From: Eric Sunshine Date: Fri, 31 Aug 2018 04:33:42 -0400 Subject: [PATCH] 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 Signed-off-by: Eric Sunshine Reviewed-by: Jonathan Nieder Signed-off-by: Junio C Hamano --- config.mak.uname | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/config.mak.uname b/config.mak.uname index 684fc5bf02..8906755769 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -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 -- 2.11.4.GIT