summaryrefslogtreecommitdiffstats
path: root/src/feature.h
diff options
context:
space:
mode:
authorMartin Tournoij <martin@arp242.net>2022-10-08 19:26:41 +0100
committerBram Moolenaar <Bram@vim.org>2022-10-08 19:26:41 +0100
commit25f3a146a0e4c731b8608f4cfbbfdf7a71b2d05e (patch)
treecad6a29143eba1f1245e3e74a85813e1a44741f5 /src/feature.h
parentbf499c0e6f30a94fe062f83ea0190f93178d0d74 (diff)
patch 9.0.0700: there is no real need for a "big" buildv9.0.0700
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)
Diffstat (limited to 'src/feature.h')
-rw-r--r--src/feature.h62
1 files changed, 28 insertions, 34 deletions
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.
*/
/*
@@ -50,33 +49,35 @@
#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