Skip to content

Commit

Permalink
patch 8.2.4039: the xdiff library is linked in even when not used
Browse files Browse the repository at this point in the history
Problem:    The xdiff library is linked in even when not used.
Solution:   Use configure to decide whether xdiff object files are included.
  • Loading branch information
brammool committed Jan 8, 2022
1 parent 748b308 commit 67ffb41
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/Makefile
Expand Up @@ -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 = \
Expand Down
15 changes: 15 additions & 0 deletions src/auto/configure
Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down
2 changes: 2 additions & 0 deletions src/config.mk.in
Expand Up @@ -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@
Expand Down
10 changes: 10 additions & 0 deletions src/configure.ac
Expand Up @@ -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,
Expand Down
3 changes: 2 additions & 1 deletion src/feature.h
Expand Up @@ -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

Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -750,6 +750,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4039,
/**/
4038,
/**/
Expand Down

0 comments on commit 67ffb41

Please sign in to comment.