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) \
$(NETBEANS_OBJ) \
$(CHANNEL_OBJ) \
$(XDIFF_OBJS)
$(XDIFF_OBJS_USED)
# The files included by tests are not in OBJ_COMMON.
OBJ_MAIN = \

15
src/auto/configure vendored
View File

@ -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.

View File

@ -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@

View File

@ -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,

View File

@ -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

View File

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