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/feature.h | 62 +++++++++++++++++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 34 deletions(-) (limited to 'src/feature.h') 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 -- cgit v1.2.3