patch 8.1.0578: cannot disable arabic, rightleft and farsi in configure

Problem:    Cannot disable arabic, rightleft and farsi in configure.
Solution:   Add configur flags. (Diego Fernando Carrión, closes #1867)
diff --git a/src/Makefile b/src/Makefile
index 5b25e03..ad0b718 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -499,6 +499,10 @@
 # configure tests may fail.
 #CONF_OPT_MULTIBYTE = --enable-multibyte
 
+# When building with at least "big" features, right-left, Arabic and Farsi
+# features are enabled.  Use this to disable them.
+#CONF_OPT_MULTIBYTE = --disable-rightleft --disable-farsi --disable-arabic
+
 # NLS - National Language Support
 # Uncomment this when you do not want to support translated messages, even
 # though configure can find support for it.
diff --git a/src/auto/configure b/src/auto/configure
index 907ec6c..825d5da 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -818,6 +818,9 @@
 enable_terminal
 enable_autoservername
 enable_multibyte
+enable_rightleft
+enable_arabic
+enable_farsi
 enable_hangulinput
 enable_xim
 enable_fontset
@@ -1497,6 +1500,9 @@
   --enable-terminal       Enable terminal emulation support.
   --enable-autoservername Automatically define servername at vim startup.
   --enable-multibyte      Include multibyte editing support.
+  --disable-rightleft     Do not include Right-to-Left language support.
+  --disable-arabic        Do not include Arabic language support.
+  --disable-farsi         Do not include Farsi language support.
   --enable-hangulinput    Include Hangul input support.
   --enable-xim            Include XIM input support.
   --enable-fontset        Include X fontset output support.
@@ -7954,6 +7960,63 @@
 
 fi
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-rightleft argument" >&5
+$as_echo_n "checking --disable-rightleft argument... " >&6; }
+# Check whether --enable-rightleft was given.
+if test "${enable_rightleft+set}" = set; then :
+  enableval=$enable_rightleft;
+else
+  enable_rightleft="yes"
+fi
+
+if test "$enable_rightleft" = "yes"; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	$as_echo "#define DISABLE_RIGHTLEFT 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-arabic argument" >&5
+$as_echo_n "checking --disable-arabic argument... " >&6; }
+# Check whether --enable-arabic was given.
+if test "${enable_arabic+set}" = set; then :
+  enableval=$enable_arabic;
+else
+  enable_arabic="yes"
+fi
+
+if test "$enable_arabic" = "yes"; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	$as_echo "#define DISABLE_ARABIC 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-farsi argument" >&5
+$as_echo_n "checking --disable-farsi argument... " >&6; }
+# Check whether --enable-farsi was given.
+if test "${enable_farsi+set}" = set; then :
+  enableval=$enable_farsi;
+else
+  enable_farsi="yes"
+fi
+
+if test "$enable_farsi" = "yes"; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	$as_echo "#define DISABLE_FARSI 1" >>confdefs.h
+
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-hangulinput argument" >&5
 $as_echo_n "checking --enable-hangulinput argument... " >&6; }
 # Check whether --enable-hangulinput was given.
diff --git a/src/config.h.in b/src/config.h.in
index 09420d2..8352563 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -390,6 +390,15 @@
 /* Define if you want to include multibyte support. */
 #undef FEAT_MBYTE
 
+/* Define if you don't want to include right-left support. */
+#undef DISABLE_RIGHTLEFT
+
+/* Define if you don't want to include Farsi support. */
+#undef DISABLE_FARSI
+
+/* Define if you don't want to include Arabic support. */
+#undef DISABLE_ARABIC
+
 /* Define if you want to always define a server name at vim startup. */
 #undef FEAT_AUTOSERVERNAME
 
diff --git a/src/configure.ac b/src/configure.ac
index 2a31f41..c97603a 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -2138,6 +2138,45 @@
   AC_DEFINE(FEAT_MBYTE)
 fi
 
+dnl Right-to-Left language support for Vim will be included with big features,
+dnl unless ENABLE_RIGHTLEFT is undefined.
+AC_MSG_CHECKING(--disable-rightleft argument)
+AC_ARG_ENABLE(rightleft,
+	[  --disable-rightleft     Do not include Right-to-Left language support.],
+	, [enable_rightleft="yes"])
+if test "$enable_rightleft" = "yes"; then
+	AC_MSG_RESULT(no)
+else
+	AC_MSG_RESULT(yes)
+	AC_DEFINE(DISABLE_RIGHTLEFT)
+fi
+
+dnl Arabic language support for Vim will be included with big features,
+dnl unless ENABLE_ARABIC is undefined.
+AC_MSG_CHECKING(--disable-arabic argument)
+AC_ARG_ENABLE(arabic,
+	[  --disable-arabic        Do not include Arabic language support.],
+	, [enable_arabic="yes"])
+if test "$enable_arabic" = "yes"; then
+	AC_MSG_RESULT(no)
+else
+	AC_MSG_RESULT(yes)
+	AC_DEFINE(DISABLE_ARABIC)
+fi
+
+dnl Farsi language support for vim will be included with big features,
+dnl unless ENABLE_FARSI is undefined.
+AC_MSG_CHECKING(--disable-farsi argument)
+AC_ARG_ENABLE(farsi,
+	[  --disable-farsi         Do not include Farsi language support.],
+	, [enable_farsi="yes"])
+if test "$enable_farsi" = "yes"; then
+	AC_MSG_RESULT(no)
+else
+	AC_MSG_RESULT(yes)
+	AC_DEFINE(DISABLE_FARSI)
+fi
+
 AC_MSG_CHECKING(--enable-hangulinput argument)
 AC_ARG_ENABLE(hangulinput,
 	[  --enable-hangulinput    Include Hangul input support.], ,
diff --git a/src/feature.h b/src/feature.h
index 6ae3ac2..9e87345 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -263,7 +263,7 @@
  *
  * Disabled for EBCDIC as it requires multibyte.
  */
-#if defined(FEAT_BIG) && !defined(EBCDIC)
+#if defined(FEAT_BIG) && !defined(DISABLE_RIGHTLEFT) && !defined(EBCDIC)
 # define FEAT_RIGHTLEFT
 #endif
 
@@ -273,7 +273,7 @@
  *
  * Disabled for EBCDIC as it requires multibyte.
  */
-#if defined(FEAT_BIG) && !defined(EBCDIC)
+#if defined(FEAT_BIG) && !defined(DISABLE_FARSI) && !defined(EBCDIC)
 # define FEAT_FKMAP
 #endif
 #ifdef FEAT_FKMAP
@@ -288,7 +288,7 @@
  *
  * Disabled for EBCDIC as it requires multibyte.
  */
-#if defined(FEAT_BIG) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
+#if defined(FEAT_BIG) && !defined(DISABLE_ARABIC) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
 # define FEAT_ARABIC
 #endif
 #ifdef FEAT_ARABIC
diff --git a/src/version.c b/src/version.c
index 0600217..fafba67 100644
--- a/src/version.c
+++ b/src/version.c
@@ -793,6 +793,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    578,
+/**/
     577,
 /**/
     576,