From 67ffb417861a90fd2c1b215a42fd230272ed94cb Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 8 Jan 2022 13:36:57 +0000 Subject: patch 8.2.4039: the xdiff library is linked in even when not used Problem: The xdiff library is linked in even when not used. Solution: Use configure to decide whether xdiff object files are included. --- src/Makefile | 2 +- src/auto/configure | 15 +++++++++++++++ src/config.mk.in | 2 ++ src/configure.ac | 10 ++++++++++ src/feature.h | 3 ++- src/version.c | 2 ++ 6 files changed, 32 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Makefile b/src/Makefile index aafe1398dc..c65781ec59 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1874,7 +1874,7 @@ OBJ_COMMON = \ $(OS_EXTRA_OBJ) \ $(NETBEANS_OBJ) \ $(CHANNEL_OBJ) \ - $(XDIFF_OBJS) + $(XDIFF_OBJS_USED) # The files included by tests are not in OBJ_COMMON. OBJ_MAIN = \ diff --git a/src/auto/configure b/src/auto/configure index cde05d688e..72d2d076dc 100755 --- a/src/auto/configure +++ b/src/auto/configure @@ -714,6 +714,7 @@ LUA_SRC vi_cv_path_plain_lua vi_cv_path_luajit vi_cv_path_lua +XDIFF_OBJS_USED compiledby dogvimdiff dovimdiff @@ -5305,6 +5306,20 @@ else $as_echo "yes" >&6; } fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking diff feature" >&5 +$as_echo_n "checking diff feature... " >&6; } +if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled in $features version" >&5 +$as_echo "disabled in $features version" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled" >&5 +$as_echo "enabled" >&6; } + $as_echo "#define FEAT_DIFF 1" >>confdefs.h + + XDIFF_OBJS_USED="\$(XDIFF_OBJS)" + +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-luainterp argument" >&5 $as_echo_n "checking --enable-luainterp argument... " >&6; } # Check whether --enable-luainterp was given. diff --git a/src/config.mk.in b/src/config.mk.in index df09cfe30b..4eb692839b 100644 --- a/src/config.mk.in +++ b/src/config.mk.in @@ -37,6 +37,8 @@ X_PRE_LIBS = @X_PRE_LIBS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIB@ +XDIFF_OBJS_USED = @XDIFF_OBJS_USED@ + LUA_LIBS = @LUA_LIBS@ LUA_SRC = @LUA_SRC@ LUA_OBJ = @LUA_OBJ@ diff --git a/src/configure.ac b/src/configure.ac index b5f217ca1f..86f70f581c 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -567,6 +567,16 @@ else AC_MSG_RESULT(yes) fi +AC_MSG_CHECKING([diff feature]) +if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then + AC_MSG_RESULT([disabled in $features version]) +else + AC_MSG_RESULT(enabled) + AC_DEFINE(FEAT_DIFF) + XDIFF_OBJS_USED="\$(XDIFF_OBJS)" + AC_SUBST(XDIFF_OBJS_USED) +fi + dnl Check for Lua feature. AC_MSG_CHECKING(--enable-luainterp argument) AC_ARG_ENABLE(luainterp, diff --git a/src/feature.h b/src/feature.h index fcd0d4b5cb..b2df6f9a5c 100644 --- a/src/feature.h +++ b/src/feature.h @@ -345,8 +345,9 @@ /* * +diff Displaying diffs in a nice way. * Requires +windows and +autocmd. + * Can be enabled in autoconf already. */ -#if defined(FEAT_NORMAL) +#if defined(FEAT_NORMAL) && !defined(FEAT_DIFF) # define FEAT_DIFF #endif diff --git a/src/version.c b/src/version.c index c4d639ef6a..542227c903 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4039, /**/ 4038, /**/ -- cgit v1.2.3