Index: configure
===================================================================
--- configure	(revision 10542)
+++ configure	(working copy)
@@ -922,11 +922,26 @@
     exit 1
 }
 
+linesize=`stty size 2>/dev/null | cut -d ' ' -f 2`
+test -z "$linesize" && linesize=80
+spaces="        "
+
 show_list() {
-    for part in $*; do
-        echo $part | sed 's/_[^_]*$//'
-    done | sort
-    exit 0
+    suffix=_$1
+    shift
+    sortedlist=`echo ${*//$suffix/} | tr ' ' '\n' | sort`
+    line=""
+    for part in $sortedlist; do
+        let "length=8-(${#part}%8)"
+        tmpline="$line$part${spaces:0:$length}"
+        if test ${#tmpline} -gt $linesize; then
+            echo "$line"
+            line="$part${spaces:0:$length}"
+        else
+            line="$tmpline"
+        fi
+    done
+    echo "$line"
 }
 
 for opt do
@@ -1005,8 +1020,9 @@
   --list-*)
     NAME="${opt#--list-}"
     is_in $NAME $COMPONENT_LIST || die_unknown $opt
-    NAME=$(toupper ${NAME%s})
-    eval show_list \$${NAME}_LIST
+    NAME=${NAME%s}
+    eval show_list $NAME \$$(toupper $NAME)_LIST
+    exit 0
   ;;
   --help) show_help
   ;;
@@ -1848,6 +1864,19 @@
     echo "License: GPL" ||
     echo "License: LGPL"
 
+echo
+for type in decoder encoder parser demuxer muxer protocol bsf; do
+    echo "Enabled ${type}s:"
+    ucname="\$`toupper $type`_LIST"
+    list="`eval echo $ucname`"
+    partlist=""
+    for part in $list; do
+        enabled $part && partlist="$partlist $part"
+    done
+    show_list $type $partlist
+    echo
+done
+
 echo "Creating config.mak and config.h..."
 
 echo "# Automatically generated by configure - do not modify!" > config.mak
