diff --git a/configure b/configure
index 102ad79b779df0c42a2c332f635522af42f9b9e4..9ee700a96b21eac374a600173296d0c57be3391d 100755
--- a/configure
+++ b/configure
@@ -2452,8 +2452,6 @@ target_os_default=$(tolower $(uname -s))
 host_os=$target_os_default
 
 # configurable options
-enable $EXAMPLE_LIST $LIBRARY_LIST $PROGRAM_LIST
-
 enable asm
 enable debug
 enable doc
@@ -2627,6 +2625,7 @@ for opt do
         ;;
         --disable-everything)
             map 'eval disable \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST
+            enable_deep_force $EXAMPLE_LIST $LIBRARY_LIST $PROGRAM_LIST
         ;;
         --disable-all)
             map 'eval disable \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST
@@ -2692,6 +2691,10 @@ done
 
 disabled logging && logfile=/dev/null
 
+# Enable the default components if not disabled explicitly
+
+enable_weak $EXAMPLE_LIST $LIBRARY_LIST $PROGRAM_LIST
+
 # Disable all the library-specific components if the library itself
 # is disabled, see AVCODEC_LIST and following _LIST variables.