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.
This commit is contained in:
Bram Moolenaar
2022-01-08 13:36:57 +00:00
parent 748b308eeb
commit 67ffb41786
6 changed files with 32 additions and 2 deletions

View File

@ -1874,7 +1874,7 @@ OBJ_COMMON = \
$(OS_EXTRA_OBJ) \ $(OS_EXTRA_OBJ) \
$(NETBEANS_OBJ) \ $(NETBEANS_OBJ) \
$(CHANNEL_OBJ) \ $(CHANNEL_OBJ) \
$(XDIFF_OBJS) $(XDIFF_OBJS_USED)
# The files included by tests are not in OBJ_COMMON. # The files included by tests are not in OBJ_COMMON.
OBJ_MAIN = \ OBJ_MAIN = \

15
src/auto/configure vendored
View File

@ -714,6 +714,7 @@ LUA_SRC
vi_cv_path_plain_lua vi_cv_path_plain_lua
vi_cv_path_luajit vi_cv_path_luajit
vi_cv_path_lua vi_cv_path_lua
XDIFF_OBJS_USED
compiledby compiledby
dogvimdiff dogvimdiff
dovimdiff dovimdiff
@ -5305,6 +5306,20 @@ else
$as_echo "yes" >&6; } $as_echo "yes" >&6; }
fi 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 "$as_me:${as_lineno-$LINENO}: checking --enable-luainterp argument" >&5
$as_echo_n "checking --enable-luainterp argument... " >&6; } $as_echo_n "checking --enable-luainterp argument... " >&6; }
# Check whether --enable-luainterp was given. # Check whether --enable-luainterp was given.

View File

@ -37,6 +37,8 @@ X_PRE_LIBS = @X_PRE_LIBS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIB@ X_LIBS = @X_LIB@
XDIFF_OBJS_USED = @XDIFF_OBJS_USED@
LUA_LIBS = @LUA_LIBS@ LUA_LIBS = @LUA_LIBS@
LUA_SRC = @LUA_SRC@ LUA_SRC = @LUA_SRC@
LUA_OBJ = @LUA_OBJ@ LUA_OBJ = @LUA_OBJ@

View File

@ -567,6 +567,16 @@ else
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
fi 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. dnl Check for Lua feature.
AC_MSG_CHECKING(--enable-luainterp argument) AC_MSG_CHECKING(--enable-luainterp argument)
AC_ARG_ENABLE(luainterp, AC_ARG_ENABLE(luainterp,

View File

@ -345,8 +345,9 @@
/* /*
* +diff Displaying diffs in a nice way. * +diff Displaying diffs in a nice way.
* Requires +windows and +autocmd. * Requires +windows and +autocmd.
* Can be enabled in autoconf already.
*/ */
#if defined(FEAT_NORMAL) #if defined(FEAT_NORMAL) && !defined(FEAT_DIFF)
# define FEAT_DIFF # define FEAT_DIFF
#endif #endif

View File

@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
4039,
/**/ /**/
4038, 4038,
/**/ /**/