]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
build-sys: add --disable-colors-default
authorKarel Zak <kzak@redhat.com>
Wed, 25 Feb 2015 09:06:40 +0000 (10:06 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 25 Feb 2015 09:06:40 +0000 (10:06 +0100)
The current util-linux is to have enabled colorized outputs by
default, this default behavior is possible to change by new configure
option --disable-colors-default.

Signed-off-by: Karel Zak <kzak@redhat.com>
configure.ac
lib/colors.c

index 4ae450663c44f7bd4af2e99877704b9bc13db794..122b5d532c6e453d2b8a66afc9e7fe91a30e4454 100644 (file)
@@ -1849,6 +1849,7 @@ AC_ARG_ENABLE([makeinstall-chown],
 )
 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
 
+
 AC_ARG_ENABLE([makeinstall-setuid],
   AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
   [], [enable_makeinstall_setuid=yes]
@@ -1856,6 +1857,15 @@ AC_ARG_ENABLE([makeinstall-setuid],
 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
 
 
+AC_ARG_ENABLE([colors-default],
+  AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
+  [], [enable_colors_default=yes]
+)
+AS_IF([test "x$enable_colors_default" = xyes], [
+  AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
+])
+
+
 AC_ARG_VAR([SUID_CFLAGS],
           [CFLAGS used for binaries which are usually with the suid bit])
 AC_ARG_VAR([SUID_LDFLAGS],
index 6f79ac4a8a3868833e58317cd1a424509e9917e0..2e5af48d9b1dee670b473f137c787f845008d39d 100644 (file)
 
 #include "debug.h"
 
+/*
+ * Default behavior, maybe be override by terminal-colors.d/{enable,disable}.
+ */
+#ifdef USE_COLORS_BY_DEFAULT
+# define UL_COLORMODE_DEFAULT  UL_COLORMODE_AUTO       /* check isatty() */
+#else
+# define UL_COLORMODE_DEFAULT  UL_COLORMODE_NEVER      /* no colors by default */
+#endif
+
 /*
  * terminal-colors.d debug stuff
  */
@@ -678,7 +687,7 @@ int colors_init(int mode, const char *name)
        if (mode == UL_COLORMODE_UNDEF && (atty = isatty(STDOUT_FILENO))) {
                int rc = colors_read_configuration(cc);
                if (rc)
-                       cc->mode = UL_COLORMODE_AUTO;
+                       cc->mode = UL_COLORMODE_DEFAULT;
                else {
 
                        /* evaluate scores */
@@ -686,7 +695,7 @@ int colors_init(int mode, const char *name)
                            cc->scores[UL_COLORFILE_ENABLE])
                                cc->mode = UL_COLORMODE_NEVER;
                        else
-                               cc->mode = UL_COLORMODE_AUTO;
+                               cc->mode = UL_COLORMODE_DEFAULT;
 
                        atexit(colors_deinit);
                }