From 25f3a146a0e4c731b8608f4cfbbfdf7a71b2d05e Mon Sep 17 00:00:00 2001 From: Martin Tournoij Date: Sat, 8 Oct 2022 19:26:41 +0100 Subject: patch 9.0.0700: there is no real need for a "big" build Problem: There is no real need for a "big" build. Solution: Move common features to "normal" build, less often used features to the "huge" build. (Martin Tournoij, closes #11283) --- src/INSTALL | 8 ------ src/INSTALLvms.txt | 7 ++--- src/Make_ami.mak | 8 ------ src/Make_cyg_ming.mak | 4 +-- src/Make_mvc.mak | 6 ++-- src/Make_vms.mms | 1 - src/Makefile | 6 ++-- src/auto/configure | 12 ++++---- src/config.h.in | 3 -- src/configure.ac | 16 +++++------ src/feature.h | 62 ++++++++++++++++++---------------------- src/testdir/test_regexp_utf8.vim | 3 +- src/version.c | 4 +-- 13 files changed, 54 insertions(+), 86 deletions(-) (limited to 'src') diff --git a/src/INSTALL b/src/INSTALL index 05153410c4..efa03da800 100644 --- a/src/INSTALL +++ b/src/INSTALL @@ -178,14 +178,6 @@ There used to be a KDE version of Vim, using Qt libraries, but since it didn't work very well and there was no maintainer it was dropped. -Unix: COMPILING WITH MULTI-BYTE - -When you want to compile with the multi-byte features enabled, make sure you -compile on a machine where the locale settings actually work, otherwise the -configure tests may fail. You need to compile with "big" features: - - ./configure --with-features=big - Unix: COMPILING ON LINUX On Linux, when using -g to compile (which is default for gcc), the executable diff --git a/src/INSTALLvms.txt b/src/INSTALLvms.txt index de1446b2cb..c235151165 100644 --- a/src/INSTALLvms.txt +++ b/src/INSTALLvms.txt @@ -79,11 +79,10 @@ from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/ Description : Build model selection Options: : TINY - No optional features enabled NORMAL - A default selection of features enabled - BIG - Many features enabled, as rich as possible. - (OpenVMS default) + (OpenVMS default) HUGE - All possible features enabled. - Uncommented - will default to BIG - Default : MODEL = BIG + Uncommented - will default to NORMAL + Default : MODEL = NORMAL Parameter name : GUI Description : GUI or terminal mode executable diff --git a/src/Make_ami.mak b/src/Make_ami.mak index a889ebd46f..1d74b3e5a9 100644 --- a/src/Make_ami.mak +++ b/src/Make_ami.mak @@ -29,14 +29,6 @@ CFLAGS += \ -DFEAT_HUGE else -# Vim 'big' build -ifeq ($(BUILD),big) -CFLAGS += \ - -DFEAT_BROWSE \ - -DFEAT_MOUSE \ - -DFEAT_BIG -else - # Vim 'normal' build ifeq ($(BUILD),normal) CFLAGS +=\ diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak index dfc540375b..37dc26033d 100644 --- a/src/Make_cyg_ming.mak +++ b/src/Make_cyg_ming.mak @@ -28,7 +28,7 @@ # Updated 2014 Oct 13. #>>>>> choose options: -# FEATURES=[TINY | NORMAL | BIG | HUGE] +# FEATURES=[TINY | NORMAL | HUGE] # Set to TINY to make a minimal version (no optional features). FEATURES=HUGE @@ -113,7 +113,7 @@ TERMINAL=no endif # Set to yes to enable sound support. -ifneq ($(findstring $(FEATURES),BIG HUGE),) +ifneq ($(findstring $(FEATURES),HUGE),) SOUND=yes else SOUND=no diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index be08c6fd5e..028277a108 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -16,7 +16,7 @@ # # !!!! After changing any features do "nmake clean" first !!!! # -# Feature Set: FEATURES=[TINY, NORMAL, BIG, HUGE] (default is HUGE) +# Feature Set: FEATURES=[TINY, NORMAL, HUGE] (default is HUGE) # # Name to add to the version: MODIFIED_BY=[name of modifier] # @@ -354,7 +354,7 @@ TERM_DEPS = \ !endif !ifndef SOUND -! if "$(FEATURES)"=="HUGE" || "$(FEATURES)"=="BIG" +! if "$(FEATURES)"=="HUGE" SOUND = yes ! else SOUND = no @@ -1124,7 +1124,7 @@ CFLAGS = $(CFLAGS) -DMSWINPS !endif # POSTSCRIPT # -# FEATURES: TINY, NORMAL, BIG or HUGE +# FEATURES: TINY, NORMAL, or HUGE # CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES) diff --git a/src/Make_vms.mms b/src/Make_vms.mms index 4e945e534a..20cf52f391 100644 --- a/src/Make_vms.mms +++ b/src/Make_vms.mms @@ -29,7 +29,6 @@ DECC = YES # Build model selection # TINY - No optional features enabled # NORMAL - A default selection of features enabled -# BIG - Many features enabled, as rich as possible. (default) # HUGE - All possible features enabled. # Please select one of these alternatives above. MODEL = HUGE diff --git a/src/Makefile b/src/Makefile index 8ac6e4f84d..bd6c187554 100644 --- a/src/Makefile +++ b/src/Makefile @@ -453,7 +453,6 @@ CClink = $(CC) # Uncomment this when you want to include the Tcl interface. # First one is for static linking, second one for dynamic loading. # Debian package is "tcl-dev". -# This requires at least "normal" features, "tiny" doesn't work. #CONF_OPT_TCL = --enable-tclinterp #CONF_OPT_TCL = --enable-tclinterp=dynamic #CONF_OPT_TCL = --enable-tclinterp --with-tclsh=tclsh8.4 @@ -482,7 +481,7 @@ CClink = $(CC) # MULTIBYTE - To edit multi-byte characters. # This is now always enabled. -# When building with at least "big" features, right-left and Arabic +# When building with "huge" features, right-left and Arabic # features are enabled. Use this to disable them. #CONF_OPT_MULTIBYTE = --disable-rightleft --disable-arabic @@ -518,7 +517,7 @@ CClink = $(CC) # though you have /dev/sysmouse and includes. #CONF_OPT_SYSMOUSE = --disable-sysmouse -# libcanberra - For sound support. Default is on for big features. +# libcanberra - For sound support. Default is on for huge features. # Uncomment one of the two to chose otherwise. # CONF_OPT_CANBERRA = --enable-canberra # CONF_OPT_CANBERRA = --disable-canberra @@ -532,7 +531,6 @@ CClink = $(CC) # The default is "huge" for most systems. #CONF_OPT_FEAT = --with-features=tiny #CONF_OPT_FEAT = --with-features=normal -#CONF_OPT_FEAT = --with-features=big #CONF_OPT_FEAT = --with-features=huge # COMPILED BY - For including a specific e-mail address for ":version". diff --git a/src/auto/configure b/src/auto/configure index 9e2512dad2..bcb40a7824 100755 --- a/src/auto/configure +++ b/src/auto/configure @@ -1523,7 +1523,7 @@ Optional Packages: --with-view-name=NAME what to call the View executable --with-global-runtime=DIR global runtime directory in 'runtimepath', comma-separated for multiple directories --with-modified-by=NAME name of who modified a release version - --with-features=TYPE tiny, normal, big or huge (default: huge) + --with-features=TYPE tiny, normal or huge (default: huge) --with-compiledby=NAME name to show in :version message --with-lua-prefix=PFX Prefix where Lua is installed. --with-luajit Link with LuaJIT instead of Lua. @@ -5220,7 +5220,8 @@ fi case "$features" in - small) features="tiny" ;; + small) features="tiny" ;; + big) features="normal" ;; esac dovimdiff="" @@ -5229,9 +5230,6 @@ case "$features" in tiny) $as_echo "#define FEAT_TINY 1" >>confdefs.h ;; normal) $as_echo "#define FEAT_NORMAL 1" >>confdefs.h - dovimdiff="installvimdiff"; - dogvimdiff="installgvimdiff" ;; - big) $as_echo "#define FEAT_BIG 1" >>confdefs.h dovimdiff="installvimdiff"; dogvimdiff="installgvimdiff" ;; huge) $as_echo "#define FEAT_HUGE 1" >>confdefs.h @@ -12883,7 +12881,7 @@ fi if test "$enable_canberra" = "maybe"; then - if test "$features" = "big" -o "$features" = "huge"; then + if test "$features" = "huge"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: Defaulting to yes" >&5 $as_echo "Defaulting to yes" >&6; } enable_canberra="yes" @@ -12957,7 +12955,7 @@ fi if test "$enable_libsodium" = "maybe"; then - if test "$features" = "big" -o "$features" = "huge"; then + if test "$features" = "huge"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: Defaulting to yes" >&5 $as_echo "Defaulting to yes" >&6; } enable_libsodium="yes" diff --git a/src/config.h.in b/src/config.h.in index 89e6f2380c..ef0637a040 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -322,9 +322,6 @@ /* Define if you want normal features. */ #undef FEAT_NORMAL -/* Define if you want big features. */ -#undef FEAT_BIG - /* Define if you want huge features. */ #undef FEAT_HUGE diff --git a/src/configure.ac b/src/configure.ac index e203fde84c..e63c685123 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -522,13 +522,15 @@ fi dnl Check user requested features. AC_MSG_CHECKING(--with-features argument) -AC_ARG_WITH(features, [ --with-features=TYPE tiny, normal, big or huge (default: huge)], +AC_ARG_WITH(features, [ --with-features=TYPE tiny, normal or huge (default: huge)], features="$withval"; AC_MSG_RESULT($features), features="huge"; AC_MSG_RESULT(Defaulting to huge)) dnl "small" is supported for backwards compatibility, now an alias for "tiny" +dnl "big" is supported for backwards compatibility, now an alias for "normal" case "$features" in - small) features="tiny" ;; + small) features="tiny" ;; + big) features="normal" ;; esac dovimdiff="" @@ -537,8 +539,6 @@ case "$features" in tiny) AC_DEFINE(FEAT_TINY) ;; normal) AC_DEFINE(FEAT_NORMAL) dovimdiff="installvimdiff"; dogvimdiff="installgvimdiff" ;; - big) AC_DEFINE(FEAT_BIG) dovimdiff="installvimdiff"; - dogvimdiff="installgvimdiff" ;; huge) AC_DEFINE(FEAT_HUGE) dovimdiff="installvimdiff"; dogvimdiff="installgvimdiff" ;; *) AC_MSG_RESULT([Sorry, $features is not supported]) ;; @@ -2266,7 +2266,7 @@ if test "$enable_multibyte" != "yes"; then a problem with this, discuss on the Vim mailing list.]) fi -dnl Right-to-Left language support for Vim will be included with big features, +dnl Right-to-Left language support for Vim will be included with huge features, dnl unless ENABLE_RIGHTLEFT is undefined. AC_MSG_CHECKING(--disable-rightleft argument) AC_ARG_ENABLE(rightleft, @@ -2279,7 +2279,7 @@ else AC_DEFINE(DISABLE_RIGHTLEFT) fi -dnl Arabic language support for Vim will be included with big features, +dnl Arabic language support for Vim will be included with huge features, dnl unless ENABLE_ARABIC is undefined. AC_MSG_CHECKING(--disable-arabic argument) AC_ARG_ENABLE(arabic, @@ -3717,7 +3717,7 @@ AC_ARG_ENABLE(canberra, , [enable_canberra="maybe"]) if test "$enable_canberra" = "maybe"; then - if test "$features" = "big" -o "$features" = "huge"; then + if test "$features" = "huge"; then AC_MSG_RESULT(Defaulting to yes) enable_canberra="yes" else @@ -3763,7 +3763,7 @@ AC_ARG_ENABLE(libsodium, , [enable_libsodium="maybe"]) if test "$enable_libsodium" = "maybe"; then - if test "$features" = "big" -o "$features" = "huge"; then + if test "$features" = "huge"; then AC_MSG_RESULT(Defaulting to yes) enable_libsodium="yes" else diff --git a/src/feature.h b/src/feature.h index 4de298925b..b283e63058 100644 --- a/src/feature.h +++ b/src/feature.h @@ -33,10 +33,9 @@ * * +tiny no optional features enabled, not even +eval * +normal a default selection of features enabled - * +big many features enabled, except "expensive" ones * +huge all possible features enabled. * - * When +normal is used, +tiny is also included. +big implies +normal, etc. + * When +normal is used, +tiny is also included. +huge implies +normal, etc. */ /* @@ -49,34 +48,36 @@ # endif #endif +/* + * +big is now an alias for +normal + */ +#if defined(FEAT_BIG) +# undef FEAT_BIG +# if !defined(FEAT_NORMAL) +# define FEAT_NORMAL +# endif +#endif + /* * Uncomment one of these to override the default. For unix use a configure * argument, see Makefile. */ -#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) \ - && !defined(FEAT_BIG) && !defined(FEAT_HUGE) +#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) && !defined(FEAT_HUGE) // #define FEAT_TINY // #define FEAT_NORMAL -// #define FEAT_BIG // #define FEAT_HUGE #endif /* * For Unix, Mac and Win32 use +huge by default. These days CPUs are fast and * Memory is cheap. - * Use +big for older systems: VMS and Amiga. * Otherwise use +normal */ -#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) \ - && !defined(FEAT_BIG) && !defined(FEAT_HUGE) +#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) && !defined(FEAT_HUGE) # if defined(UNIX) || defined(MSWIN) || defined(MACOS_X) # define FEAT_HUGE # else -# if defined(VMS) || defined(AMIGA) -# define FEAT_BIG -# else -# define FEAT_NORMAL -# endif +# define FEAT_NORMAL # endif #endif @@ -84,9 +85,6 @@ * Each feature implies including the "smaller" ones. */ #ifdef FEAT_HUGE -# define FEAT_BIG -#endif -#ifdef FEAT_BIG # define FEAT_NORMAL #endif #ifdef FEAT_NORMAL @@ -164,7 +162,7 @@ * keyboard in a special language mode, e.g. for typing * greek. */ -#ifdef FEAT_BIG +#ifdef FEAT_HUGE # define FEAT_LANGMAP #endif @@ -172,7 +170,7 @@ * +keymap 'keymap' option. Allows you to map typed keys in * Insert mode for a special language. */ -#ifdef FEAT_BIG +#ifdef FEAT_HUGE # define FEAT_KEYMAP #endif @@ -219,7 +217,7 @@ /* * +rightleft Right-to-left editing/typing support. */ -#if defined(FEAT_BIG) && !defined(DISABLE_RIGHTLEFT) +#if defined(FEAT_HUGE) && !defined(DISABLE_RIGHTLEFT) # define FEAT_RIGHTLEFT #endif @@ -227,7 +225,7 @@ * +arabic Arabic keymap and shaping support. * Requires FEAT_RIGHTLEFT */ -#if defined(FEAT_BIG) && !defined(DISABLE_ARABIC) +#if defined(FEAT_HUGE) && !defined(DISABLE_ARABIC) # define FEAT_ARABIC #endif #ifdef FEAT_ARABIC @@ -252,14 +250,14 @@ * +emacs_tags When FEAT_EMACS_TAGS defined: Include support for * emacs style TAGS file. */ -#ifdef FEAT_BIG +#ifdef FEAT_HUGE # define FEAT_EMACS_TAGS #endif /* * +cscope Unix only: Cscope support. */ -#if defined(UNIX) && defined(FEAT_BIG) && !defined(FEAT_CSCOPE) && !defined(MACOS_X) +#if defined(UNIX) && defined(FEAT_HUGE) && !defined(FEAT_CSCOPE) && !defined(MACOS_X) # define FEAT_CSCOPE #endif @@ -374,7 +372,7 @@ * +conceal 'conceal' option. Depends on syntax highlighting * as this is how the concealed text is defined. */ -#if defined(FEAT_BIG) && defined(FEAT_SYN_HL) +#if defined(FEAT_NORMAL) && defined(FEAT_SYN_HL) # define FEAT_CONCEAL #endif @@ -395,7 +393,7 @@ /* * libsodium - add cryptography support */ -#if defined(HAVE_SODIUM) && defined(FEAT_BIG) +#if defined(HAVE_SODIUM) && defined(FEAT_HUGE) # define FEAT_SODIUM #endif @@ -428,7 +426,7 @@ // #define FEAT_MBYTE_IME #endif -#if defined(FEAT_BIG) && defined(FEAT_GUI_HAIKU) && !defined(FEAT_MBYTE_IME) +#if defined(FEAT_HUGE) && defined(FEAT_GUI_HAIKU) && !defined(FEAT_MBYTE_IME) # define FEAT_MBYTE_IME #endif @@ -606,14 +604,14 @@ /* * +termguicolors 'termguicolors' option. */ -#if (defined(FEAT_BIG) && defined(FEAT_SYN_HL)) && !defined(ALWAYS_USE_GUI) +#if (defined(FEAT_NORMAL) && defined(FEAT_SYN_HL)) && !defined(ALWAYS_USE_GUI) # define FEAT_TERMGUICOLORS #endif /* * +vartabs 'vartabstop' and 'varsofttabstop' options. */ -#ifdef FEAT_BIG +#ifdef FEAT_HUGE # define FEAT_VARTABS #endif @@ -854,13 +852,9 @@ // Amiga console has no mouse support #if defined(UNIX) || defined(VMS) # define FEAT_MOUSE_XTERM -# ifdef FEAT_BIG +# ifdef FEAT_NORMAL # define FEAT_MOUSE_NET -# endif -# ifdef FEAT_BIG # define FEAT_MOUSE_DEC -# endif -# ifdef FEAT_BIG # define FEAT_MOUSE_URXVT # endif #endif @@ -1091,7 +1085,7 @@ * +signs Allow signs to be displayed to the left of text lines. * Adds the ":sign" command. */ -#if defined(FEAT_BIG) || defined(FEAT_NETBEANS_INTG) || defined(FEAT_PROP_POPUP) +#if defined(FEAT_NORMAL) || defined(FEAT_NETBEANS_INTG) || defined(FEAT_PROP_POPUP) # define FEAT_SIGNS # if (defined(FEAT_GUI_MOTIF) && defined(HAVE_X11_XPM_H)) \ || defined(FEAT_GUI_GTK) \ @@ -1149,7 +1143,7 @@ /* * +autochdir 'autochdir' option. */ -#if defined(FEAT_NETBEANS_INTG) || defined(FEAT_BIG) +#if defined(FEAT_NETBEANS_INTG) || defined(FEAT_NORMAL) # define FEAT_AUTOCHDIR #endif diff --git a/src/testdir/test_regexp_utf8.vim b/src/testdir/test_regexp_utf8.vim index fdee80f0d7..b591aedbb7 100644 --- a/src/testdir/test_regexp_utf8.vim +++ b/src/testdir/test_regexp_utf8.vim @@ -228,8 +228,7 @@ func Test_multibyte_chars() " When there is no match use only the first two items. let tl = [] - " Multi-byte character tests. These will fail unless vim is compiled - " with Multibyte (FEAT_MBYTE) or BIG/HUGE features. + " Multi-byte character tests. call add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna']) call add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ']) " equivalence classes call add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oijasoifjos']) diff --git a/src/version.c b/src/version.c index c162a2085e..453df911f9 100644 --- a/src/version.c +++ b/src/version.c @@ -699,6 +699,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 700, /**/ 699, /**/ @@ -2419,8 +2421,6 @@ list_version(void) #if defined(FEAT_HUGE) msg_puts(_("\nHuge version ")); -#elif defined(FEAT_BIG) - msg_puts(_("\nBig version ")); #elif defined(FEAT_NORMAL) msg_puts(_("\nNormal version ")); #else -- cgit v1.2.3