diff --git a/package/acl/Config.in b/package/acl/Config.in
index f3d10d5..6fbca7a 100644
--- a/package/acl/Config.in
+++ b/package/acl/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_ACL_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_ACL
 	bool "acl"
 	select BR2_PACKAGE_ATTR
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_ACL_AVAILABLE
 	help
 	  POSIX Access Control Lists, which are used to define more
 	  fine-grained discretionary access rights for files and
diff --git a/package/acpid/Config.in b/package/acpid/Config.in
index ea9a364..3003865 100644
--- a/package/acpid/Config.in
+++ b/package/acpid/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_ACPID_AVAILABLE
+	def_bool y
+	depends on BR2_x86_64 || BR2_i386
+
 config BR2_PACKAGE_ACPID
 	bool "acpid"
-	depends on BR2_x86_64 || BR2_i386
+	depends on BR2_PACKAGE_ACPID_AVAILABLE
 	help
 	  Advanced Configuration and Power Interface event daemon.
 
diff --git a/package/alsa-lib/Config.in b/package/alsa-lib/Config.in
index 98b8313..ec8a558 100644
--- a/package/alsa-lib/Config.in
+++ b/package/alsa-lib/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_ALSA_LIB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ALSA_LIB
 	bool "alsa-lib"
 	# Temporary until
 	# https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4913
 	# is fixed
 	select BR2_PACKAGE_ALSA_LIB_PCM
+	depends on BR2_PACKAGE_ALSA_LIB_AVAILABLE
 	help
 	  The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
 	  functionality to the Linux operating system.
diff --git a/package/alsamixergui/Config.in b/package/alsamixergui/Config.in
index 3afc314..ea24538 100644
--- a/package/alsamixergui/Config.in
+++ b/package/alsamixergui/Config.in
@@ -1,11 +1,15 @@
-config BR2_PACKAGE_ALSAMIXERGUI
+config BR2_PACKAGE_ALSAMIXERGUI_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_PACKAGE_ALSA_LIB
 	depends on BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_ALSAMIXERGUI
 	select BR2_PACKAGE_FLTK
 	select BR2_PACKAGE_ALSA_LIB_PCM
 	select BR2_PACKAGE_ALSA_LIB_MIXER
 	bool "alsamixergui"
+	depends on BR2_PACKAGE_ALSAMIXERGUI_AVAILABLE
 	help
 	  A nice GUI mixer for Alsa using fltk
 
diff --git a/package/apr-util/Config.in b/package/apr-util/Config.in
index 895dbb8..62d267c 100644
--- a/package/apr-util/Config.in
+++ b/package/apr-util/Config.in
@@ -1,3 +1,7 @@
+config BR2_PACKAGE_APR_UTIL_AVAILABLE
+	def_bool y
+	depends on !BR2_PREFER_STATIC_LIB
+
 config BR2_PACKAGE_APR_UTIL
 	bool "apr-util"
 	select BR2_PACKAGE_APR
@@ -6,7 +10,7 @@ config BR2_PACKAGE_APR_UTIL
 	select BR2_PACKAGE_NEON_ZLIB
 	select BR2_PACKAGE_ZLIB
 	# apr really needs shared library support
-	depends on !BR2_PREFER_STATIC_LIB
+	depends on BR2_PACKAGE_APR_UTIL_AVAILABLE
 	help
 	  The utility library for the apache runtime project
 
diff --git a/package/apr/Config.in b/package/apr/Config.in
index ed319ed..0a66c9d 100644
--- a/package/apr/Config.in
+++ b/package/apr/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_APR_AVAILABLE
+	def_bool y
+	depends on !BR2_PREFER_STATIC_LIB
+
 config BR2_PACKAGE_APR
 	bool "apr"
 	# apr really needs shared library support
-	depends on !BR2_PREFER_STATIC_LIB
+	depends on BR2_PACKAGE_APR_AVAILABLE
 	help
 	  The mission of the Apache Portable Runtime (APR) project is to create
 	  and maintain software libraries that provide a predictable and
diff --git a/package/argp-standalone/Config.in b/package/argp-standalone/Config.in
index 5a0c051..3ea792c 100644
--- a/package/argp-standalone/Config.in
+++ b/package/argp-standalone/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_ARGP_STANDALONE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ARGP_STANDALONE
 	bool "argp-standalone"
+	depends on BR2_PACKAGE_ARGP_STANDALONE_AVAILABLE
 	help
 	  Glibc hierarchical argument parsing standalone library.
 
diff --git a/package/argus/Config.in b/package/argus/Config.in
index 6728ae7..a8853e0 100644
--- a/package/argus/Config.in
+++ b/package/argus/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_ARGUS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ARGUS
 	bool "argus"
 	select BR2_PACKAGE_LIBPCAP
+	depends on BR2_PACKAGE_ARGUS_AVAILABLE
 	help
 	  A Real Time Flow Monitor-based audit engine.
 
diff --git a/package/at/Config.in b/package/at/Config.in
index d4ddcb2..8480378 100644
--- a/package/at/Config.in
+++ b/package/at/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_AT_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_AT
 	bool "at"
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_AT_AVAILABLE
 	help
 	 At and batch read shell commands from standard input and
 	 store them as jobs to be scheduled for execution in the
diff --git a/package/atk/Config.in b/package/atk/Config.in
index 928fae7..4534761 100644
--- a/package/atk/Config.in
+++ b/package/atk/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_ATK_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_ATK
 	bool "atk"
 	select BR2_PACKAGE_LIBGLIB2
-	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_ATK_AVAILABLE
 	help
 	  The ATK accessibility toolkit, needed to build GTK+-2.x.
 
diff --git a/package/attr/Config.in b/package/attr/Config.in
index 79f2336..7f1c97e 100644
--- a/package/attr/Config.in
+++ b/package/attr/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_ATTR_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_ATTR
 	bool "attr"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_ATTR_AVAILABLE
 	help
 	  Commands for Manipulating Filesystem Extended Attributes.
 	  This package also provides libattr.
diff --git a/package/audiofile/Config.in b/package/audiofile/Config.in
index 4f9952c..bc2dff6 100644
--- a/package/audiofile/Config.in
+++ b/package/audiofile/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_AUDIOFILE_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_AUDIOFILE
 	bool "audiofile"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_AUDIOFILE_AVAILABLE
 	help
 	  The Audio File Library handles reading and writing audio files
 	  in many common formats.
diff --git a/package/autoconf/Config.in b/package/autoconf/Config.in
index 00b3e2c..5f0a4b1 100644
--- a/package/autoconf/Config.in
+++ b/package/autoconf/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_AUTOCONF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_AUTOCONF
 	bool "autoconf"
 	select BR2_PACKAGE_MICROPERL
+	depends on BR2_PACKAGE_AUTOCONF_AVAILABLE
 	help
 	  Extensible program for developing configure scripts.  These
 	  scripts handle all the mundane system/feature detection.
diff --git a/package/automake/Config.in b/package/automake/Config.in
index 935f1f1..e5f52a2 100644
--- a/package/automake/Config.in
+++ b/package/automake/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_AUTOMAKE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_AUTOMAKE
 	bool "automake"
 	select BR2_PACKAGE_AUTOCONF
 	select BR2_PACKAGE_MICROPERL
+	depends on BR2_PACKAGE_AUTOMAKE_AVAILABLE
 	help
 	  Tool for automatically generating Makefile's for input to
 	  configure scripts (made by autoconf).
diff --git a/package/avahi/Config.in b/package/avahi/Config.in
index eb3ccb6..4439062 100644
--- a/package/avahi/Config.in
+++ b/package/avahi/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_AVAHI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_AVAHI
 	bool "avahi"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_AVAHI_AVAILABLE
 	help
 	  Avahi is a system which facilitates service
 	  discovery on a local network.
diff --git a/package/axel/Config.in b/package/axel/Config.in
index 98f4941..5c5a42b 100644
--- a/package/axel/Config.in
+++ b/package/axel/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_AXEL_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_AXEL
 	bool "axel"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_AXEL_AVAILABLE
 	help
 	  HTTP/FTP download accelerator.
 
diff --git a/package/bash/Config.in b/package/bash/Config.in
index 228d5a4..043fb4e 100644
--- a/package/bash/Config.in
+++ b/package/bash/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_BASH_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_BASH
 	bool "bash"
 	select BR2_PACKAGE_NCURSES
 	# uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_BASH_AVAILABLE
 	help
 	  The standard GNU Bourne again shell.
 
diff --git a/package/beecrypt/Config.in b/package/beecrypt/Config.in
index 19c7f2f..86f55dd 100644
--- a/package/beecrypt/Config.in
+++ b/package/beecrypt/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_BEECRYPT_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_BEECRYPT
 	bool "beecrypt"
-	depends on BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_PACKAGE_ICU if BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR
+	depends on BR2_PACKAGE_BEECRYPT_AVAILABLE
 	help
 	  Beecrypt is a general-purpose cryptography library.
 
diff --git a/package/berkeleydb/Config.in b/package/berkeleydb/Config.in
index a597abb..4b3dbad 100644
--- a/package/berkeleydb/Config.in
+++ b/package/berkeleydb/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_BERKELEYDB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_BERKELEYDB
 	bool "berkeleydb"
+	depends on BR2_PACKAGE_BERKELEYDB_AVAILABLE
 	help
 	  The Berkeley database.  A very common library for database
 	  applications.
diff --git a/package/bind/Config.in b/package/bind/Config.in
index 2944f1f..8811b47 100644
--- a/package/bind/Config.in
+++ b/package/bind/Config.in
@@ -1,9 +1,13 @@
-config BR2_PACKAGE_BIND
-	bool "bind"
+config BR2_PACKAGE_BIND_AVAILABLE
+	def_bool y
 	depends on BR2_INET_IPV6
 	depends on BR2_LARGEFILE
-	# fork()
 	depends on BR2_USE_MMU
+
+config BR2_PACKAGE_BIND
+	bool "bind"
+	# fork()
+	depends on BR2_PACKAGE_BIND_AVAILABLE
 	help
 	  BIND (Berkeley Internet Name Domain) is an implementation of
 	  the Domain Name System (DNS) protocols and provides an openly
diff --git a/package/binutils/Config.in b/package/binutils/Config.in
index e068b20..22b108f 100644
--- a/package/binutils/Config.in
+++ b/package/binutils/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_BINUTILS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_BINUTILS
 	bool "binutils"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_BINUTILS_AVAILABLE
 	help
 	  Install binutils on the target
 
diff --git a/package/bison/Config.in b/package/bison/Config.in
index 1a485c4..a0a4a7f 100644
--- a/package/bison/Config.in
+++ b/package/bison/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_BISON_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_BISON
 	bool "bison"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_M4
 	# m4 uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_BISON_AVAILABLE
 	help
 	  General-purpose parser generator that converts a
 	  grammar description for an LALR context-free grammar into a C
diff --git a/package/blackbox/Config.in b/package/blackbox/Config.in
index 70f7eb4..e9b9cb1 100644
--- a/package/blackbox/Config.in
+++ b/package/blackbox/Config.in
@@ -1,9 +1,13 @@
-config BR2_PACKAGE_BLACKBOX
-	bool "blackbox"
+config BR2_PACKAGE_BLACKBOX_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_BLACKBOX
+	bool "blackbox"
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_BLACKBOX_AVAILABLE
 	help
 	  Blackbox is a fast, lightweight window manager for the X
 	  Window System.
diff --git a/package/bluez_utils/Config.in b/package/bluez_utils/Config.in
index d63284d..4079501 100644
--- a/package/bluez_utils/Config.in
+++ b/package/bluez_utils/Config.in
@@ -1,9 +1,13 @@
-config BR2_PACKAGE_BLUEZ_UTILS
-	bool "bluez-utils"
+config BR2_PACKAGE_BLUEZ_UTILS_AVAILABLE
+	def_bool y
 	depends on BR2_USE_WCHAR # libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+
+config BR2_PACKAGE_BLUEZ_UTILS
+	bool "bluez-utils"
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_BLUEZ_UTILS_AVAILABLE
 	help
 	  bluez utils
 
diff --git a/package/bmon/Config.in b/package/bmon/Config.in
index 9692118..05d1755 100644
--- a/package/bmon/Config.in
+++ b/package/bmon/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_BMON_AVAILABLE
+	def_bool y
+	depends on BR2_INET_IPV6
+
 config BR2_PACKAGE_BMON
 	bool "bmon"
-	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_BMON_AVAILABLE
 	help
 	  Linux bandwidth monitor
 
diff --git a/package/boa/Config.in b/package/boa/Config.in
index 48943ff..15b8877 100644
--- a/package/boa/Config.in
+++ b/package/boa/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_BOA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_BOA
 	bool "boa"
+	depends on BR2_PACKAGE_BOA_AVAILABLE
 	help
 	  A very small and very fast http daemon.  Not intended as
 	  a feature-packed server.
diff --git a/package/bonnie/Config.in b/package/bonnie/Config.in
index 91b1e96..778c544 100644
--- a/package/bonnie/Config.in
+++ b/package/bonnie/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_BONNIE
-	bool "bonnie++"
+config BR2_PACKAGE_BONNIE_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_MMU # fork()
+
+config BR2_PACKAGE_BONNIE
+	bool "bonnie++"
+	depends on BR2_PACKAGE_BONNIE_AVAILABLE
 	help
 	  Filesystem tester
 
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 8798367..7bfdcbb 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -1,11 +1,15 @@
 comment "boost requires a toolchain with C++ support enabled"
 	depends on !BR2_INSTALL_LIBSTDCPP
 
+config BR2_PACKAGE_BOOST_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_BOOST
 	bool "boost"
-	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_BZIP2
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_BOOST_AVAILABLE
 	help
 	  A general purpose C++ library
 
diff --git a/package/bootutils/Config.in b/package/bootutils/Config.in
index 06a8fd8..804bd81 100644
--- a/package/bootutils/Config.in
+++ b/package/bootutils/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_BOOTUTILS_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_BOOTUTILS
 	bool "bootutils"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_BOOTUTILS_AVAILABLE
 	help
 	  BootUtils is a collection of utilities to facilitate booting of
 	  Linux 2.6-based systems. The process of finding the root volume
diff --git a/package/bridge-utils/Config.in b/package/bridge-utils/Config.in
index 537eb1f..68502f7 100644
--- a/package/bridge-utils/Config.in
+++ b/package/bridge-utils/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_BRIDGE_UTILS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_BRIDGE_UTILS
 	bool "bridge-utils"
+	depends on BR2_PACKAGE_BRIDGE_UTILS_AVAILABLE
 	help
 	  Manage ethernet bridging; a way to connect networks together to
 	  form a larger network.
diff --git a/package/bsdiff/Config.in b/package/bsdiff/Config.in
index 11fd8b9..e5d1424 100644
--- a/package/bsdiff/Config.in
+++ b/package/bsdiff/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_BSDIFF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_BSDIFF
 	bool "bsdiff"
 	select BR2_PACKAGE_BZIP2
+	depends on BR2_PACKAGE_BSDIFF_AVAILABLE
 	help
 	  Binary patch/diff like xdelta but creates smaller diffs.
 	  Needs bzip2 support.
diff --git a/package/busybox/Config.in b/package/busybox/Config.in
index dedcf18..23f769f 100644
--- a/package/busybox/Config.in
+++ b/package/busybox/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_BUSYBOX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_BUSYBOX
 	bool "BusyBox"
 	default y
+	depends on BR2_PACKAGE_BUSYBOX_AVAILABLE
 	help
 	  The Swiss Army Knife of embedded Linux.  It slices, it dices, it
 	  makes Julian Fries.
diff --git a/package/bwm-ng/Config.in b/package/bwm-ng/Config.in
index 25e7cbe..d276449 100644
--- a/package/bwm-ng/Config.in
+++ b/package/bwm-ng/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_BWM_NG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_BWM_NG
 	bool "bwm-ng"
+	depends on BR2_PACKAGE_BWM_NG_AVAILABLE
 	help
 	  Bandwidth Monitor NG is a small and console-based live
 	  network and disk-io bandwidth monitor for Linux, BSD,
diff --git a/package/bzip2/Config.in b/package/bzip2/Config.in
index e8e03cf..3f144a5 100644
--- a/package/bzip2/Config.in
+++ b/package/bzip2/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_BZIP2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_BZIP2
 	bool "bzip2"
+	depends on BR2_PACKAGE_BZIP2_AVAILABLE
 	help
 	  Freely available, patent free, high-quality data compressor.
 	  It typically compresses files to within 10% to 15% of the best
diff --git a/package/cairo/Config.in b/package/cairo/Config.in
index 398e47f..2c61751 100644
--- a/package/cairo/Config.in
+++ b/package/cairo/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_CAIRO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_CAIRO
 	bool "cairo"
 	select BR2_PACKAGE_PIXMAN
 	select BR2_PACKAGE_FONTCONFIG
+	depends on BR2_PACKAGE_CAIRO_AVAILABLE
 	help
 	  Cairo is a 2D graphics library with support for multiple
 	  output devices. Currently supported output targets include
diff --git a/package/can-utils/Config.in b/package/can-utils/Config.in
index 79c1459..31dfeda 100644
--- a/package/can-utils/Config.in
+++ b/package/can-utils/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_CAN_UTILS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_CAN_UTILS
 	bool "can-utils"
+	depends on BR2_PACKAGE_CAN_UTILS_AVAILABLE
 	help
 	  SocketCAN is a set of open source CAN drivers and a
 	  networking stack.
diff --git a/package/ccache/Config.in b/package/ccache/Config.in
index f4f7f8f..b7fcfb9 100644
--- a/package/ccache/Config.in
+++ b/package/ccache/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_CCACHE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_CCACHE
 	bool "ccache"
+	depends on BR2_PACKAGE_CCACHE_AVAILABLE
 	help
 	  ccache is a compiler cache. It speeds up recompilation by
 	  caching previous compilations and detecting when the same
diff --git a/package/cdrkit/Config.in b/package/cdrkit/Config.in
index 7ff50f3..bcd85ef 100644
--- a/package/cdrkit/Config.in
+++ b/package/cdrkit/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_CDRKIT_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_CDRKIT
 	# Needed for libbz
 	select BR2_PACKAGE_BZIP2
 	select BR2_PACKAGE_LIBCAP
-	depends on BR2_LARGEFILE
 	bool "cdrkit"
+	depends on BR2_PACKAGE_CDRKIT_AVAILABLE
 	help
 	  cdrkit is a suite of programs for recording CDs and DVDs,
 	  blanking CD-RW media, creating ISO-9660 filesystem images,
diff --git a/package/cgilua/Config.in b/package/cgilua/Config.in
index 01928f0..14514ba 100644
--- a/package/cgilua/Config.in
+++ b/package/cgilua/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_CGILUA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_CGILUA
 	bool "cgilua"
 	select BR2_PACKAGE_LUAFILESYSTEM
+	depends on BR2_PACKAGE_CGILUA_AVAILABLE
 	help
 	  CGILua is a tool for creating dynamic HTML pages
 	  and manipulating input data from Web forms.
diff --git a/package/cifs-utils/Config.in b/package/cifs-utils/Config.in
index b433850..ab8772b 100644
--- a/package/cifs-utils/Config.in
+++ b/package/cifs-utils/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_CIFS_UTILS_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_CIFS_UTILS
 	bool "cifs-utils"
 	# uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_CIFS_UTILS_AVAILABLE
 	help
 	  The in-kernel CIFS filesystem is generally the preferred
 	  method for mounting SMB/CIFS shares on Linux. The in-kernel
diff --git a/package/cjson/Config.in b/package/cjson/Config.in
index ff90074..683e855 100644
--- a/package/cjson/Config.in
+++ b/package/cjson/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_CJSON_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_CJSON
 	bool "cJSON"
+	depends on BR2_PACKAGE_CJSON_AVAILABLE
 	help
 	  An ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C
 	  compliant JSON parser, under MIT license.
diff --git a/package/collectd/Config.in b/package/collectd/Config.in
index fe520f8..b52917d 100644
--- a/package/collectd/Config.in
+++ b/package/collectd/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_COLLECTD_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_COLLECTD
 	bool "collectd"
 	# Uses fork()
-	depends on BR2_USE_MMU
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_COLLECTD_AVAILABLE
 	help
 	  collectd is a daemon which collects system performance
 	  statistics periodically and provides mechanisms to store
diff --git a/package/connman/Config.in b/package/connman/Config.in
index 082b0ca..10d16e8 100644
--- a/package/connman/Config.in
+++ b/package/connman/Config.in
@@ -1,13 +1,17 @@
+config BR2_PACKAGE_CONNMAN_AVAILABLE
+	def_bool y
+	depends on !(BR2_UCLIBC_VERSION_0_9_31 || BR2_UCLIBC_VERSION_0_9_32)
+	depends on BR2_USE_WCHAR # libglib2 and gnutls
+	depends on BR2_INET_IPV6
+	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+
 config BR2_PACKAGE_CONNMAN
 	bool "connman"
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_IPTABLES
 	select BR2_PACKAGE_GNUTLS
-	depends on !(BR2_UCLIBC_VERSION_0_9_31 || BR2_UCLIBC_VERSION_0_9_32)
-	depends on BR2_USE_WCHAR # libglib2 and gnutls
-	depends on BR2_INET_IPV6
-	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+	depends on BR2_PACKAGE_CONNMAN_AVAILABLE
 	help
 	  The Connection Manager (ConnMan) project provides a daemon for
 	  managing internet connections within embedded devices running
diff --git a/package/conntrack-tools/Config.in b/package/conntrack-tools/Config.in
index be491e6..2c31226 100644
--- a/package/conntrack-tools/Config.in
+++ b/package/conntrack-tools/Config.in
@@ -1,9 +1,13 @@
-config BR2_PACKAGE_CONNTRACK_TOOLS
-	bool "conntrack-tools"
+config BR2_PACKAGE_CONNTRACK_TOOLS_AVAILABLE
+	def_bool y
 	depends on BR2_INET_IPV6
 	depends on BR2_LARGEFILE
+
+config BR2_PACKAGE_CONNTRACK_TOOLS
+	bool "conntrack-tools"
 	select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
 	select BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT
+	depends on BR2_PACKAGE_CONNTRACK_TOOLS_AVAILABLE
 	help
 	  The conntrack-tools are a set of tools targeted at
 	  system administrators.
diff --git a/package/copas/Config.in b/package/copas/Config.in
index 9969c8f..c56d01b 100644
--- a/package/copas/Config.in
+++ b/package/copas/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_COPAS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_COPAS
 	bool "copas"
 	select BR2_PACKAGE_COXPCALL
 	select BR2_PACKAGE_LUASOCKET
+	depends on BR2_PACKAGE_COPAS_AVAILABLE
 	help
 	  Copas is a dispatcher based on coroutines that
 	  can be used by TCP/IP servers.
diff --git a/package/coreutils/Config.in b/package/coreutils/Config.in
index bfd6f26..4960bb3 100644
--- a/package/coreutils/Config.in
+++ b/package/coreutils/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_COREUTILS_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_COREUTILS
 	bool "coreutils"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_COREUTILS_AVAILABLE
 	help
 	  All of the basic file/text/shell utilities.  These are the
 	  core utilities which are expected to exist on every system.
diff --git a/package/coxpcall/Config.in b/package/coxpcall/Config.in
index 1237482..f2ff937 100644
--- a/package/coxpcall/Config.in
+++ b/package/coxpcall/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_COXPCALL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_COXPCALL
 	bool "coxpcall"
+	depends on BR2_PACKAGE_COXPCALL_AVAILABLE
 	help
 	  Coxpcall encapsulates the protected calls with a coroutine
 	  based loop, so errors can be dealed without the usual
diff --git a/package/cpuload/Config.in b/package/cpuload/Config.in
index 82bc450..9d50e7a 100644
--- a/package/cpuload/Config.in
+++ b/package/cpuload/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_CPULOAD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_CPULOAD
 	bool "cpuload"
+	depends on BR2_PACKAGE_CPULOAD_AVAILABLE
 	help
 	  cpuload is a simple tool to obtain intuitive vision of CPU load
 	  (including total, user, system, irq and softirq) within a certain
diff --git a/package/cramfs/Config.in b/package/cramfs/Config.in
index a5c73a8..aa23e14 100644
--- a/package/cramfs/Config.in
+++ b/package/cramfs/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_CRAMFS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_CRAMFS
        bool "cramfs"
+	depends on BR2_PACKAGE_CRAMFS_AVAILABLE
        help
          cramfs is a compressed read-only filesystem. This package
          contains the tools to generate and check a cramfs filesystem.
diff --git a/package/ctorrent/Config.in b/package/ctorrent/Config.in
index 5e26c12..7dd8bff 100644
--- a/package/ctorrent/Config.in
+++ b/package/ctorrent/Config.in
@@ -1,9 +1,13 @@
 comment "ctorrent requires a toolchain with C++ support enabled"
 	depends on !BR2_INSTALL_LIBSTDCPP
 
+config BR2_PACKAGE_CTORRENT_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_CTORRENT
 	bool "ctorrent"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_CTORRENT_AVAILABLE
 	help
 	  CTorrent is a BitTorrent client implemented in C++
 	  to be lightweight and quick.
diff --git a/package/cups/Config.in b/package/cups/Config.in
index dc1c2ed..f7a3190 100644
--- a/package/cups/Config.in
+++ b/package/cups/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_CUPS_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_CUPS
 	bool "cups"
 	# needs fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_CUPS_AVAILABLE
 	help
 	  The Common Unix Printing System
 
diff --git a/package/customize/Config.in b/package/customize/Config.in
index 8f8aaa2..8bcddf3 100644
--- a/package/customize/Config.in
+++ b/package/customize/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_CUSTOMIZE_AVAILABLE
+	def_bool y
+	depends on BR2_DEPRECATED
+
 config BR2_PACKAGE_CUSTOMIZE
 	bool "customize"
-	depends on BR2_DEPRECATED
+	depends on BR2_PACKAGE_CUSTOMIZE_AVAILABLE
 	help
 	  Add custom stuff to your buildroot.
 
diff --git a/package/cvs/Config.in b/package/cvs/Config.in
index f9d5955..c815b56 100644
--- a/package/cvs/Config.in
+++ b/package/cvs/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_CVS_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_CVS
 	bool "cvs"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_CVS_AVAILABLE
 	help
 	  Concurrent Versions System - source code revision control tools.
 
diff --git a/package/dash/Config.in b/package/dash/Config.in
index 20970aa..b5be02f 100644
--- a/package/dash/Config.in
+++ b/package/dash/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_DASH_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DASH
 	bool "dash"
+	depends on BR2_PACKAGE_DASH_AVAILABLE
 	help
 	  The Debian/Linux port of the NetBSD version of
 	  ash (the Almquist SHell).
diff --git a/package/dbus-glib/Config.in b/package/dbus-glib/Config.in
index f1dab43..f73dafa 100644
--- a/package/dbus-glib/Config.in
+++ b/package/dbus-glib/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_DBUS_GLIB
-	bool "dbus-glib"
+config BR2_PACKAGE_DBUS_GLIB_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_DBUS
 	depends on BR2_USE_WCHAR # glib2
+
+config BR2_PACKAGE_DBUS_GLIB
+	bool "dbus-glib"
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_DBUS_GLIB_AVAILABLE
 	help
 	  GLib bindings for D-Bus.
 
diff --git a/package/dbus-python/Config.in b/package/dbus-python/Config.in
index 91c127d..1d466ae 100644
--- a/package/dbus-python/Config.in
+++ b/package/dbus-python/Config.in
@@ -1,9 +1,13 @@
-config BR2_PACKAGE_DBUS_PYTHON
-	bool "dbus-python"
+config BR2_PACKAGE_DBUS_PYTHON_AVAILABLE
+	def_bool y
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_PACKAGE_DBUS
 	depends on BR2_PACKAGE_PYTHON
+
+config BR2_PACKAGE_DBUS_PYTHON
+	bool "dbus-python"
 	select BR2_PACKAGE_DBUS_GLIB
+	depends on BR2_PACKAGE_DBUS_PYTHON_AVAILABLE
 	help
 	  Python bindings for D-Bus
 
diff --git a/package/dbus/Config.in b/package/dbus/Config.in
index 2b04e94..d7f5c66 100644
--- a/package/dbus/Config.in
+++ b/package/dbus/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_DBUS_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_DBUS
 	bool "dbus"
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_DBUS_AVAILABLE
 	help
 	  The D-Bus message bus system.
 
diff --git a/package/devmem2/Config.in b/package/devmem2/Config.in
index cb00a51..c1b0441 100644
--- a/package/devmem2/Config.in
+++ b/package/devmem2/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_DEVMEM2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DEVMEM2
 	bool "devmem2"
+	depends on BR2_PACKAGE_DEVMEM2_AVAILABLE
 	help
 	  Simple program to read/write from/to any location in memory.
 
diff --git a/package/dhcp/Config.in b/package/dhcp/Config.in
index 38cf007..71624fb 100644
--- a/package/dhcp/Config.in
+++ b/package/dhcp/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_DHCP_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_DHCP
 	bool "isc dhcp"
 	# fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_DHCP_AVAILABLE
 	help
 	  DHCP relay agent from the ISC DHCP distribution.
 
diff --git a/package/dhcpdump/Config.in b/package/dhcpdump/Config.in
index 1840e34..19736ac 100644
--- a/package/dhcpdump/Config.in
+++ b/package/dhcpdump/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_DHCPDUMP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DHCPDUMP
 	bool "dhcpdump"
 	select BR2_PACKAGE_LIBPCAP
+	depends on BR2_PACKAGE_DHCPDUMP_AVAILABLE
 	help
 	  A tool for monitoring dhcp requests using tcpdump.
diff --git a/package/dhrystone/Config.in b/package/dhrystone/Config.in
index d6fb7a7..644954a 100644
--- a/package/dhrystone/Config.in
+++ b/package/dhrystone/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_DHRYSTONE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DHRYSTONE
 	bool "dhrystone"
+	depends on BR2_PACKAGE_DHRYSTONE_AVAILABLE
 	help
 	  easy-to-use integer benchmark
 
diff --git a/package/dialog/Config.in b/package/dialog/Config.in
index 9d3462e..f26001d 100644
--- a/package/dialog/Config.in
+++ b/package/dialog/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_DIALOG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DIALOG
 	bool "dialog"
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_DIALOG_AVAILABLE
 	help
 	  dialog - display dialog boxes from shell scripts
 
diff --git a/package/diffutils/Config.in b/package/diffutils/Config.in
index 86da5d3..d2edb5f 100644
--- a/package/diffutils/Config.in
+++ b/package/diffutils/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_DIFFUTILS_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_DIFFUTILS
 	bool"diffutils"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_DIFFUTILS_AVAILABLE
 	help
 	  GNU diff. Compare files per line.
 
diff --git a/package/directfb-examples/Config.in b/package/directfb-examples/Config.in
index c463784..41fb1ee 100644
--- a/package/directfb-examples/Config.in
+++ b/package/directfb-examples/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_DIRECTFB_EXAMPLES_AVAILABLE
+	def_bool y
+       depends on BR2_PACKAGE_DIRECTFB
+
 config BR2_PACKAGE_DIRECTFB_EXAMPLES
        bool "directfb examples"
-       depends on BR2_PACKAGE_DIRECTFB
+	depends on BR2_PACKAGE_DIRECTFB_EXAMPLES_AVAILABLE
 
 config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI
        bool "usr/bin/df_andi"
diff --git a/package/directfb/Config.in b/package/directfb/Config.in
index 47f9fea..a1e3a42 100644
--- a/package/directfb/Config.in
+++ b/package/directfb/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_DIRECTFB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DIRECTFB
 	bool "directfb"
 	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_DIRECTFB_AVAILABLE
 	help
 	  http://www.directfb.org/
 
diff --git a/package/distcc/Config.in b/package/distcc/Config.in
index 2c30a21..52aec27 100644
--- a/package/distcc/Config.in
+++ b/package/distcc/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_DISTCC_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_DISTCC
 	bool "distcc"
 	# needs fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_DISTCC_AVAILABLE
 	help
 	  Distributed compiler client and server.  Allows you to
 	  distribute compilation of C code across several machines
diff --git a/package/divine/Config.in b/package/divine/Config.in
index 8202292..37f157c 100644
--- a/package/divine/Config.in
+++ b/package/divine/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_DIVINE_AVAILABLE
+	def_bool y
+       depends on BR2_PACKAGE_DIRECTFB
+
 config BR2_PACKAGE_DIVINE
        bool "directfb virtual input extension"
-       depends on BR2_PACKAGE_DIRECTFB
+	depends on BR2_PACKAGE_DIVINE_AVAILABLE
        help
          DiVine provides a DirectFB input driver that reads input
          events from a pipe and dispatches them via a virtual input
diff --git a/package/dmalloc/Config.in b/package/dmalloc/Config.in
index 315f6ca..25190d3 100644
--- a/package/dmalloc/Config.in
+++ b/package/dmalloc/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_DMALLOC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DMALLOC
 	bool "dmalloc"
+	depends on BR2_PACKAGE_DMALLOC_AVAILABLE
 	help
 	  A debug memory allocation library which is a drop in replacement for
 	  the system's malloc, realloc, calloc, free and other memory management
diff --git a/package/dmidecode/Config.in b/package/dmidecode/Config.in
index 22272ed..76c1505 100644
--- a/package/dmidecode/Config.in
+++ b/package/dmidecode/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_DMIDECODE_AVAILABLE
+	def_bool y
+	depends on BR2_i386 || BR2_x86_64
+
 config BR2_PACKAGE_DMIDECODE
 	bool "dmidecode"
-	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_PACKAGE_DMIDECODE_AVAILABLE
 	help
 	  Dmidecode reports information about your system's hardware
 	  as described in your system BIOS according to the SMBIOS/DMI
diff --git a/package/dmraid/Config.in b/package/dmraid/Config.in
index 7b37244..0ab7367 100644
--- a/package/dmraid/Config.in
+++ b/package/dmraid/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_DMRAID_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_DMRAID
 	bool "dmraid"
-	depends on BR2_LARGEFILE
 	select BR2_PACKAGE_LVM2
+	depends on BR2_PACKAGE_DMRAID_AVAILABLE
 	help
 	  dmraid discovers, activates, deactivates and displays properties
 	  of software RAID sets (eg, ATARAID) and contained DOS partitions.
diff --git a/package/dnsmasq/Config.in b/package/dnsmasq/Config.in
index e67aa46..14777e3 100644
--- a/package/dnsmasq/Config.in
+++ b/package/dnsmasq/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_DNSMASQ_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DNSMASQ
 	bool "dnsmasq"
+	depends on BR2_PACKAGE_DNSMASQ_AVAILABLE
 	help
 	  A lightweight DNS and DHCP server.  It is intended to provide
 	  coupled DNS and DHCP service to a LAN.
diff --git a/package/docker/Config.in b/package/docker/Config.in
index 75bf5be..515be82 100644
--- a/package/docker/Config.in
+++ b/package/docker/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_DOCKER
-	bool "docker"
+config BR2_PACKAGE_DOCKER_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_USE_WCHAR # glib2
+
+config BR2_PACKAGE_DOCKER
+	bool "docker"
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_DOCKER_AVAILABLE
 	help
 	  a system tray dock for X
 
diff --git a/package/dosfstools/Config.in b/package/dosfstools/Config.in
index 1b92026..65d1e73 100644
--- a/package/dosfstools/Config.in
+++ b/package/dosfstools/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_DOSFSTOOLS_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_DOSFSTOOLS
 	bool "dosfstools"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_DOSFSTOOLS_AVAILABLE
 	help
 	  Tools for creating and checking DOS FAT filesystems.
 
diff --git a/package/dropbear/Config.in b/package/dropbear/Config.in
index 0903ad1..c38dee6 100644
--- a/package/dropbear/Config.in
+++ b/package/dropbear/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_DROPBEAR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_DROPBEAR
 	bool "dropbear"
 	select BR2_PACKAGE_ZLIB if !BR2_PACKAGE_DROPBEAR_SMALL
+	depends on BR2_PACKAGE_DROPBEAR_AVAILABLE
 	help
 	  A small SSH 2 server designed for small memory environments.
 
diff --git a/package/dsp-tools/Config.in b/package/dsp-tools/Config.in
index 0267454..91b0fac 100644
--- a/package/dsp-tools/Config.in
+++ b/package/dsp-tools/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_DSP_TOOLS_AVAILABLE
+	def_bool y
+	depends on BR2_cortex_a8
+
 config BR2_PACKAGE_DSP_TOOLS
 	bool "dsp-tools"
-	depends on BR2_cortex_a8
 	select BR2_PACKAGE_TIDSP_BINARIES
+	depends on BR2_PACKAGE_DSP_TOOLS_AVAILABLE
 	help
 	  Utilities for TI OMAP3 DSP.
 
diff --git a/package/dstat/Config.in b/package/dstat/Config.in
index 1439c8b..74ee200 100644
--- a/package/dstat/Config.in
+++ b/package/dstat/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_DSTAT_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # python
+
 config BR2_PACKAGE_DSTAT
 	bool "dstat"
-	depends on BR2_USE_WCHAR # python
 	select BR2_PACKAGE_PYTHON
+	depends on BR2_PACKAGE_DSTAT_AVAILABLE
 	help
 	  Dstat, written in Python, is a versatile replacement for vmstat,
 	  iostat, netstat and ifstat. Dstat overcomes some of their limitations
diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in
index d4f4405..bfe8559 100644
--- a/package/e2fsprogs/Config.in
+++ b/package/e2fsprogs/Config.in
@@ -1,11 +1,15 @@
 
-config BR2_PACKAGE_E2FSPROGS
-	bool "e2fsprogs"
+config BR2_PACKAGE_E2FSPROGS_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR # util-linux
+
+config BR2_PACKAGE_E2FSPROGS
+	bool "e2fsprogs"
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	depends on BR2_PACKAGE_E2FSPROGS_AVAILABLE
 	help
 	  The EXT2 file system utilities.
 
diff --git a/package/ebtables/Config.in b/package/ebtables/Config.in
index 40bc45c..311b147 100644
--- a/package/ebtables/Config.in
+++ b/package/ebtables/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_EBTABLES_AVAILABLE
+	def_bool y
+	depends on BR2_INET_IPV6
+
 config BR2_PACKAGE_EBTABLES
 	bool "ebtables"
-	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_EBTABLES_AVAILABLE
 	help
 	  Ethernet bridge frame table administration
 
diff --git a/package/ed/Config.in b/package/ed/Config.in
index 63dc21e..5d749dd 100644
--- a/package/ed/Config.in
+++ b/package/ed/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_ED_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ED
 	bool "ed"
+	depends on BR2_PACKAGE_ED_AVAILABLE
 	help
 	  A line-oriented text editor.  Used to create, display, modify,
 	  and otherwise manipulate text files.  Often used in scripts
diff --git a/package/eeprog/Config.in b/package/eeprog/Config.in
index ff313bd..9b97e11 100644
--- a/package/eeprog/Config.in
+++ b/package/eeprog/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_EEPROG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_EEPROG
 	bool "eeprog"
+	depends on BR2_PACKAGE_EEPROG_AVAILABLE
 	help
 	  Simple tool to read/write i2c eeprom chips.
 
diff --git a/package/efl/Config.in b/package/efl/Config.in
index c783d7f..0f755e3 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_EFL_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 menuconfig BR2_PACKAGE_EFL
 	bool "Enlightenment Foundation Libraries"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_EFL_AVAILABLE
 	help
 	  Enlightenment Foundation Libraries
 
diff --git a/package/efl/expedite/Config.in b/package/efl/expedite/Config.in
index 9e131f3..2f5fdd3 100644
--- a/package/efl/expedite/Config.in
+++ b/package/efl/expedite/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_EXPEDITE_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_EXPEDITE
 	bool "expedite"
 	select BR2_PACKAGE_LIBEINA
 	select BR2_PACKAGE_LIBEVAS
 	select BR2_PACKAGE_LIBEET
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_EXPEDITE_AVAILABLE
 	help
 	  Expedite is the official Evas benchmark tool. It can test different
 	  engines, such as X11, XRender, OpenGL (also ES variant), SDL,
diff --git a/package/efl/libecore/Config.in b/package/efl/libecore/Config.in
index 6c887f5..67ef94a 100644
--- a/package/efl/libecore/Config.in
+++ b/package/efl/libecore/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBECORE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBECORE
 	bool "libecore"
 	select BR2_PACKAGE_LIBEINA
+	depends on BR2_PACKAGE_LIBECORE_AVAILABLE
 	help
 	  Ecore is the event/X abstraction layer that makes doing
 	  selections, Xdnd, general X stuff, event loops, timeouts and
diff --git a/package/efl/libedbus/Config.in b/package/efl/libedbus/Config.in
index 985939e..6019dc1 100644
--- a/package/efl/libedbus/Config.in
+++ b/package/efl/libedbus/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_LIBEDBUS_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+
 config BR2_PACKAGE_LIBEDBUS
 	bool "libedbus"
 	select BR2_PACKAGE_LIBEINA
 	select BR2_PACKAGE_LIBECORE
 	select BR2_PACKAGE_DBUS
-	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+	depends on BR2_PACKAGE_LIBEDBUS_AVAILABLE
 	help
 	  E_Dbus is a set of wrappers around D-Bus APIs so they can be
 	  easily used by EFL applications, automatically providing
diff --git a/package/efl/libedje/Config.in b/package/efl/libedje/Config.in
index f0985dd..7a377fe 100644
--- a/package/efl/libedje/Config.in
+++ b/package/efl/libedje/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_LIBEDJE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEDJE
 	bool "libedje"
 	select BR2_PACKAGE_LIBEINA
@@ -7,6 +10,7 @@ config BR2_PACKAGE_LIBEDJE
 	select BR2_PACKAGE_LIBEMBRYO
 	select BR2_PACKAGE_LIBEVAS
 	select BR2_PACKAGE_LUA
+	depends on BR2_PACKAGE_LIBEDJE_AVAILABLE
 	help
 	  A graphical layout and animation library for animated
 	  resizable, compressed and scalable themes.
diff --git a/package/efl/libeet/Config.in b/package/efl/libeet/Config.in
index 48631a0..f9d5a56 100644
--- a/package/efl/libeet/Config.in
+++ b/package/efl/libeet/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LIBEET_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEET
 	bool "libeet"
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_JPEG
 	select BR2_PACKAGE_LIBEINA
+	depends on BR2_PACKAGE_LIBEET_AVAILABLE
 	help
 	  Eet is a tiny library designed to write an arbitary set of
 	  chunks of data to a file and optionally compress each chunk
diff --git a/package/efl/libefreet/Config.in b/package/efl/libefreet/Config.in
index 8687db4..ec7a033 100644
--- a/package/efl/libefreet/Config.in
+++ b/package/efl/libefreet/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LIBEFREET_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEFREET
 	bool "libefreet"
 	select BR2_PACKAGE_LIBEINA
 	select BR2_PACKAGE_LIBEET
 	select BR2_PACKAGE_LIBECORE
+	depends on BR2_PACKAGE_LIBEFREET_AVAILABLE
 	help
 	  Efreet is a library designed to help apps work with several of the
 	  Freedesktop.org standards regarding Icons, Desktop files and Menus.
diff --git a/package/efl/libeina/Config.in b/package/efl/libeina/Config.in
index 80600ad..85cd7be 100644
--- a/package/efl/libeina/Config.in
+++ b/package/efl/libeina/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBEINA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEINA
 	bool "libeina"
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
 	help
 	  Eina is a tiny library to handle data types (list, hash, etc.)
 
diff --git a/package/efl/libelementary/Config.in b/package/efl/libelementary/Config.in
index 59af80e..0b4cb3d 100644
--- a/package/efl/libelementary/Config.in
+++ b/package/efl/libelementary/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_LIBELEMENTARY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBELEMENTARY
 	bool "libelementary"
 	select BR2_PACKAGE_LIBEINA
 	select BR2_PACKAGE_LIBEVAS
 	select BR2_PACKAGE_LIBECORE
 	select BR2_PACKAGE_LIBEDJE
+	depends on BR2_PACKAGE_LIBELEMENTARY_AVAILABLE
 	help
 	  Elementary is a widget toolkit and EFL wrapper and convenience
 	  library to make it easy to build applications and tools with UIs
diff --git a/package/efl/libembryo/Config.in b/package/efl/libembryo/Config.in
index 63c7064..efd48c0 100644
--- a/package/efl/libembryo/Config.in
+++ b/package/efl/libembryo/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBEMBRYO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEMBRYO
 	bool "libembryo"
 	select BR2_PACKAGE_LIBEINA
+	depends on BR2_PACKAGE_LIBEMBRYO_AVAILABLE
 	help
 	  Embryo is primarily a shared library that gives you an API
 	  to load and control interpreted programs compiled into an
diff --git a/package/efl/libethumb/Config.in b/package/efl/libethumb/Config.in
index fb0032a..61629b0 100644
--- a/package/efl/libethumb/Config.in
+++ b/package/efl/libethumb/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_LIBETHUMB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBETHUMB
 	bool "libethumb"
 	select BR2_PACKAGE_LIBEINA
@@ -5,6 +8,7 @@ config BR2_PACKAGE_LIBETHUMB
 	select BR2_PACKAGE_LIBECORE
 	select BR2_PACKAGE_LIBECORE_EVAS
 	select BR2_PACKAGE_LIBEDJE
+	depends on BR2_PACKAGE_LIBETHUMB_AVAILABLE
 	help
 	  Ethumb is a library for generating thumbnail images of documents.
 
diff --git a/package/efl/libevas/Config.in b/package/efl/libevas/Config.in
index ddac49e..d25a03e 100644
--- a/package/efl/libevas/Config.in
+++ b/package/efl/libevas/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_LIBEVAS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEVAS
 	bool "libevas"
 	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_LIBEINA
 	# required to build so far
 	select BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH
+	depends on BR2_PACKAGE_LIBEVAS_AVAILABLE
 	help
 	  Evas is a clean display canvas API for several target
 	  display systems that can draw anti-aliased text, smooth
diff --git a/package/empty/Config.in b/package/empty/Config.in
index 67b09fc..c006b68 100644
--- a/package/empty/Config.in
+++ b/package/empty/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_EMPTY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_EMPTY
 	bool "empty"
+	depends on BR2_PACKAGE_EMPTY_AVAILABLE
 	help
 	  Run processes and applications under pseudo-terminal (PTY) sessions.
 
diff --git a/package/enchant/Config.in b/package/enchant/Config.in
index 33f36db..e7e86c5 100644
--- a/package/enchant/Config.in
+++ b/package/enchant/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_ENCHANT
-	bool "enchant"
+config BR2_PACKAGE_ENCHANT_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR # glib2
+
+config BR2_PACKAGE_ENCHANT
+	bool "enchant"
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_ENCHANT_AVAILABLE
 	help
 	  Enchant is a spell-checking library that provides a consistent
 	  API across a number of spell-checking system backends.
diff --git a/package/erlang/Config.in b/package/erlang/Config.in
index 6dd5a39..5a1efe6 100644
--- a/package/erlang/Config.in
+++ b/package/erlang/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_ERLANG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ERLANG
 	bool "erlang"
+	depends on BR2_PACKAGE_ERLANG_AVAILABLE
 	help
 	  Erlang is a programming language used to build massively scalable
 	  soft real-time systems with requirements on high availability.
diff --git a/package/ethtool/Config.in b/package/ethtool/Config.in
index 48c6062..de4159b 100644
--- a/package/ethtool/Config.in
+++ b/package/ethtool/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_ETHTOOL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ETHTOOL
 	bool "ethtool"
+	depends on BR2_PACKAGE_ETHTOOL_AVAILABLE
 	help
 	  ethtool is a small utility for examining and tuning your
 	  ethernet-based network interface.
diff --git a/package/expat/Config.in b/package/expat/Config.in
index 3988c90..e68b6e0 100644
--- a/package/expat/Config.in
+++ b/package/expat/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_EXPAT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_EXPAT
 	bool"expat"
+	depends on BR2_PACKAGE_EXPAT_AVAILABLE
 	help
 	  The Expat XML Parser.
 
diff --git a/package/explorercanvas/Config.in b/package/explorercanvas/Config.in
index 9714a58..b2708da 100644
--- a/package/explorercanvas/Config.in
+++ b/package/explorercanvas/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_EXPLORERCANVAS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_EXPLORERCANVAS
 	bool "explorercanvas"
+	depends on BR2_PACKAGE_EXPLORERCANVAS_AVAILABLE
 	help
 	  Modern browsers like Firefox, Safari, Chrome and Opera
 	  support the HTML5 canvas tag to allow 2D command-based
diff --git a/package/ezxml/Config.in b/package/ezxml/Config.in
index 285c7a5..6cf5dfa 100644
--- a/package/ezxml/Config.in
+++ b/package/ezxml/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_EZXML_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_EZXML
 	bool "ezxml"
+	depends on BR2_PACKAGE_EZXML_AVAILABLE
 	help
 	  ezXML is a XML parser C library that is simple and easy to use.
 
diff --git a/package/fbdump/Config.in b/package/fbdump/Config.in
index fb4aee6..789dfb7 100644
--- a/package/fbdump/Config.in
+++ b/package/fbdump/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FBDUMP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FBDUMP
 	bool "fbdump (Framebuffer Capture Tool)"
+	depends on BR2_PACKAGE_FBDUMP_AVAILABLE
 	help
 	  fbdump is a simple tool to capture snapshots from the Linux kernel
 	  framebuffer  device and write them out as a PPM file. Currently,
diff --git a/package/fbgrab/Config.in b/package/fbgrab/Config.in
index ca6c6b7..5a64aa4 100644
--- a/package/fbgrab/Config.in
+++ b/package/fbgrab/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_FBGRAB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FBGRAB
 	bool "fbgrab"
 	select BR2_PACKAGE_LIBPNG
+	depends on BR2_PACKAGE_FBGRAB_AVAILABLE
 	help
 	  FBGrab is a framebuffer screenshot program, capturing the linux
 	  frambuffer and converting it to a png-picture.
diff --git a/package/fbset/Config.in b/package/fbset/Config.in
index 96d090e..42171a0 100644
--- a/package/fbset/Config.in
+++ b/package/fbset/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FBSET_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FBSET
 	bool "fbset"
+	depends on BR2_PACKAGE_FBSET_AVAILABLE
 	help
 	  Fbset is a system utility to show or change the settings of the frame
 	  buffer device. The frame buffer device provides a simple and unique
diff --git a/package/fbterm/Config.in b/package/fbterm/Config.in
index 1e4ab4c..87926ef 100644
--- a/package/fbterm/Config.in
+++ b/package/fbterm/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_FBTERM_AVAILABLE
+	def_bool y
+	depends on (BR2_INSTALL_LIBSTDCPP && BR2_ENABLE_LOCALE && BR2_USE_WCHAR)
+
 config BR2_PACKAGE_FBTERM
 	bool "fbterm"
-	depends on (BR2_INSTALL_LIBSTDCPP && BR2_ENABLE_LOCALE && BR2_USE_WCHAR)
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_LIBERATION
+	depends on BR2_PACKAGE_FBTERM_AVAILABLE
 	help
 	  fbterm is a fast terminal emulator for Linux with frame buffer
 	  device or VESA video card.
diff --git a/package/fbv/Config.in b/package/fbv/Config.in
index b8a9fe4..153d0f9 100644
--- a/package/fbv/Config.in
+++ b/package/fbv/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FBV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FBV
 	bool "fbv"
+	depends on BR2_PACKAGE_FBV_AVAILABLE
 	help
 	  fbv is a very simple graphic file viewer for the framebuffer console,
 	  capable of displaying GIF, JPEG, PNG and BMP files using libungif,
diff --git a/package/fconfig/Config.in b/package/fconfig/Config.in
index e7dd58a..39deb00 100644
--- a/package/fconfig/Config.in
+++ b/package/fconfig/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FCONFIG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FCONFIG
 	bool "fconfig"
+	depends on BR2_PACKAGE_FCONFIG_AVAILABLE
 	help
 	  fconfig - get/set RedBoot configuration parameters from Linux.
 
diff --git a/package/feh/Config.in b/package/feh/Config.in
index 31e7239..3760b6f 100644
--- a/package/feh/Config.in
+++ b/package/feh/Config.in
@@ -1,6 +1,9 @@
+config BR2_PACKAGE_FEH_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_FEH
 	bool "feh"
-	depends on BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XLIB_LIBXINERAMA
 	select BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_IMLIB2_PNG
@@ -8,6 +11,7 @@ config BR2_PACKAGE_FEH
 	select BR2_PACKAGE_IMLIB2_X
 	select BR2_PACKAGE_GIBLIB
 	select BR2_PACKAGE_LIBCURL
+	depends on BR2_PACKAGE_FEH_AVAILABLE
 	help
 	  feh is an X11 image viewer aimed mostly at console users.
 
diff --git a/package/fftw/Config.in b/package/fftw/Config.in
index 36f849f..8ed892a 100644
--- a/package/fftw/Config.in
+++ b/package/fftw/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FFTW_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FFTW
 	bool "fftw"
+	depends on BR2_PACKAGE_FFTW_AVAILABLE
 	help
 	  Library for computing Fast Fourier Transforms.
 
diff --git a/package/file/Config.in b/package/file/Config.in
index dede331..ed60857 100644
--- a/package/file/Config.in
+++ b/package/file/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_FILE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FILE
 	bool "file"
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_FILE_AVAILABLE
 	help
 	  Program to identify a file's format by scanning binary data
 	  for known patterns.
diff --git a/package/findutils/Config.in b/package/findutils/Config.in
index bbe2cc1..8430972 100644
--- a/package/findutils/Config.in
+++ b/package/findutils/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_FINDUTILS_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_FINDUTILS
 	bool "findutils"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_FINDUTILS_AVAILABLE
 	help
 	  Basic directory searching utilities.  Provides the
 	  common 'find', 'xargs', 'locate', and 'updatedb' binaries.
diff --git a/package/fis/Config.in b/package/fis/Config.in
index 83bbdd3..899760e 100644
--- a/package/fis/Config.in
+++ b/package/fis/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FIS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FIS
 	bool "fis"
+	depends on BR2_PACKAGE_FIS_AVAILABLE
 	help
 	  fis - manipulate RedBoot partition table from Linux.
 
diff --git a/package/flashrom/Config.in b/package/flashrom/Config.in
index 956500f..4a64e55 100644
--- a/package/flashrom/Config.in
+++ b/package/flashrom/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_FLASHROM_AVAILABLE
+	def_bool y
+	depends on BR2_i386 || BR2_x86_64
+
 config BR2_PACKAGE_FLASHROM
 	bool "flashrom"
 	select BR2_PACKAGE_PCIUTILS
 	# dmidecode is only a runtime dependency
 	select BR2_PACKAGE_DMIDECODE
-	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_PACKAGE_FLASHROM_AVAILABLE
 	help
 	  BIOS-updating utility.
 	  Requires PCIUtils libraries.
diff --git a/package/flex/Config.in b/package/flex/Config.in
index b10eb00..d1d5cf0 100644
--- a/package/flex/Config.in
+++ b/package/flex/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FLEX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FLEX
 	bool "flex"
+	depends on BR2_PACKAGE_FLEX_AVAILABLE
 	help
 	  A fast lexical analyser generator.  A tool for generating
 	  programs that perform pattern-matching on text.
diff --git a/package/flot/Config.in b/package/flot/Config.in
index 60534c1..d63bcb5 100644
--- a/package/flot/Config.in
+++ b/package/flot/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_FLOT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FLOT
 	bool "flot"
 	select BR2_PACKAGE_JQUERY
+	depends on BR2_PACKAGE_FLOT_AVAILABLE
 	help
 	  Flot is a pure Javascript plotting library for jQuery. It
 	  produces graphical plots of arbitrary datasets on-the-fly
diff --git a/package/fltk/Config.in b/package/fltk/Config.in
index eff72b5..ca978c2 100644
--- a/package/fltk/Config.in
+++ b/package/fltk/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_FLTK
-	bool "fltk"
+config BR2_PACKAGE_FLTK_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_FLTK
+	bool "fltk"
 	select BR2_PACKAGE_XLIB_LIBXT
+	depends on BR2_PACKAGE_FLTK_AVAILABLE
 	help
 	  A cross-platform C++ GUI toolkit for UNIX/Linux (X11),
 	  Microsoft Windows, and MacOS X.
diff --git a/package/fluxbox/Config.in b/package/fluxbox/Config.in
index e4d6c37..ec8a4f7 100644
--- a/package/fluxbox/Config.in
+++ b/package/fluxbox/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_FLUXBOX
-	bool "fluxbox"
+config BR2_PACKAGE_FLUXBOX_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_FLUXBOX
+	bool "fluxbox"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_FLUXBOX_AVAILABLE
 	help
 	  The Fluxbox lightweight window manager for X
 
diff --git a/package/fmtools/Config.in b/package/fmtools/Config.in
index 1591618..5de9972 100644
--- a/package/fmtools/Config.in
+++ b/package/fmtools/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FMTOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FMTOOLS
 	bool "fmtools"
+	depends on BR2_PACKAGE_FMTOOLS_AVAILABLE
 	help
 	  fmtools is a pair of simple command-line utilities for
 	  "video4linux" radio tuner cards under Linux. It includes
diff --git a/package/fontconfig/Config.in b/package/fontconfig/Config.in
index 49878d2..670cfd4 100644
--- a/package/fontconfig/Config.in
+++ b/package/fontconfig/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_FONTCONFIG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FONTCONFIG
 	bool "fontconfig"
 	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_EXPAT
+	depends on BR2_PACKAGE_FONTCONFIG_AVAILABLE
 	help
 	  a library for font customization and configuration.
 
diff --git a/package/freerdp/Config.in b/package/freerdp/Config.in
index c5ff769..21a12bd 100644
--- a/package/freerdp/Config.in
+++ b/package/freerdp/Config.in
@@ -1,3 +1,7 @@
+config BR2_PACKAGE_FREERDP_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_FREERDP
 	bool "freerdp"
 	select BR2_PACKAGE_OPENSSL
@@ -6,7 +10,7 @@ config BR2_PACKAGE_FREERDP
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
 	select BR2_PACKAGE_ZLIB
-	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_FREERDP_AVAILABLE
 	help
 	  FreeRDP is a free implementation of the Remote Desktop
 	  Protocol (RDP), released under the Apache license
diff --git a/package/freetype/Config.in b/package/freetype/Config.in
index ded8738..912eb31 100644
--- a/package/freetype/Config.in
+++ b/package/freetype/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FREETYPE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FREETYPE
 	bool "freetype"
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
 	help
 	  a free, high-quality and portable font engine.
 
diff --git a/package/gadgetfs-test/Config.in b/package/gadgetfs-test/Config.in
index 276ec54..c9ed46d 100644
--- a/package/gadgetfs-test/Config.in
+++ b/package/gadgetfs-test/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_GADGETFS_TEST_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_GADGETFS_TEST
 	bool "gadgetfs-test"
+	depends on BR2_PACKAGE_GADGETFS_TEST_AVAILABLE
 	help
 	  Test program for gadgetfs from linux-usb.org
 
diff --git a/package/games/doom-wad/Config.in b/package/games/doom-wad/Config.in
index aa1d029..5533c18 100644
--- a/package/games/doom-wad/Config.in
+++ b/package/games/doom-wad/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_DOOM_WAD_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PRBOOM
+
 config BR2_PACKAGE_DOOM_WAD
 	bool "shareware Doom WAD file"
-	depends on BR2_PACKAGE_PRBOOM
+	depends on BR2_PACKAGE_DOOM_WAD_AVAILABLE
 	help
 	  This will install the shareware wad data file for the doom game.
 
diff --git a/package/games/gnuchess/Config.in b/package/games/gnuchess/Config.in
index c79c52d..6d65b66 100644
--- a/package/games/gnuchess/Config.in
+++ b/package/games/gnuchess/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_GNUCHESS_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_GNUCHESS
 	bool "gnuchess"
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_GNUCHESS_AVAILABLE
 	help
 	  GNU Chess lets most modern computers play a full game of chess.
 
diff --git a/package/games/prboom/Config.in b/package/games/prboom/Config.in
index 2835929..aa51225 100644
--- a/package/games/prboom/Config.in
+++ b/package/games/prboom/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_PRBOOM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PRBOOM
 	bool "PrBoom"
 	select BR2_PACKAGE_SDL
 	select BR2_PACKAGE_SDL_MIXER
 	select BR2_PACKAGE_SDL_NET
+	depends on BR2_PACKAGE_PRBOOM_AVAILABLE
 	help
 	  PrBoom is a Doom client which allows you to play the good old game on
 	  newer hardware. It even supports higher resolution and better
diff --git a/package/games/rubix/Config.in b/package/games/rubix/Config.in
index 6da8c71..249a33c 100644
--- a/package/games/rubix/Config.in
+++ b/package/games/rubix/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_RUBIX_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_RUBIX
 	bool "rubix"
-	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_RUBIX_AVAILABLE
 	help
 	  A 3D rubiks cube game for X
 
diff --git a/package/gamin/Config.in b/package/gamin/Config.in
index 3ede2e4..d835789 100644
--- a/package/gamin/Config.in
+++ b/package/gamin/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_GAMIN_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_GAMIN
 	bool "gamin"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_GAMIN_AVAILABLE
 	help
 	  the File Alteration Monitor
 
diff --git a/package/gawk/Config.in b/package/gawk/Config.in
index 82c970f..57e201d 100644
--- a/package/gawk/Config.in
+++ b/package/gawk/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_GAWK_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_GAWK
 	bool "gawk"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_GAWK_AVAILABLE
 	help
 	  A special-purpose programming language which is data driven
 	  rather than procedural.  Allows for simple data-reformatting jobs
diff --git a/package/gdisk/Config.in b/package/gdisk/Config.in
index 24d305d..4abe39e 100644
--- a/package/gdisk/Config.in
+++ b/package/gdisk/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_GDISK
-	bool "gdisk"
+config BR2_PACKAGE_GDISK_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR # util-linux
+
+config BR2_PACKAGE_GDISK
+	bool "gdisk"
+	depends on BR2_PACKAGE_GDISK_AVAILABLE
 	help
 	  GPT fdisk (consisting of the gdisk and sgdisk programs) is a
 	  text-mode partitioning tool that works on Globally Unique Identifier
diff --git a/package/gdk-pixbuf/Config.in b/package/gdk-pixbuf/Config.in
index 28a0f12..7bb6e13 100644
--- a/package/gdk-pixbuf/Config.in
+++ b/package/gdk-pixbuf/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_GDK_PIXBUF_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_GDK_PIXBUF
 	bool "gdk-pixbuf"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_GDK_PIXBUF_AVAILABLE
 	help
 	  Gdk-Pixbuf is an image loader and scaler. It uses GObject
 	  and the GLib, to integrate well with GNOME applications.
diff --git a/package/genext2fs/Config.in b/package/genext2fs/Config.in
index 82992f8..14dc33c 100644
--- a/package/genext2fs/Config.in
+++ b/package/genext2fs/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_GENEXT2FS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_GENEXT2FS
        bool "genext2fs"
+	depends on BR2_PACKAGE_GENEXT2FS_AVAILABLE
        help
          genext2fs generates an ext2 filesystem as a normal (non-root)
 	 user.  It does not require you to mount the image file to
diff --git a/package/genromfs/Config.in b/package/genromfs/Config.in
index 2caf2a4..08f827e 100644
--- a/package/genromfs/Config.in
+++ b/package/genromfs/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_GENROMFS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_GENROMFS
        bool "genromfs"
+	depends on BR2_PACKAGE_GENROMFS_AVAILABLE
        help
          Tool to generate a ROMFS filesystem.
 
-	 http://romfs.sourceforge.net/
\ No newline at end of file
+	 http://romfs.sourceforge.net/
diff --git a/package/gettext/Config.in b/package/gettext/Config.in
index fabfe1e..684b84b 100644
--- a/package/gettext/Config.in
+++ b/package/gettext/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_GETTEXT
-	bool "gettext"
+config BR2_PACKAGE_GETTEXT_AVAILABLE
+	def_bool y
 	depends on BR2_NEEDS_GETTEXT
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_GETTEXT
+	bool "gettext"
+	depends on BR2_PACKAGE_GETTEXT_AVAILABLE
 	help
 	  The GNU `gettext' utilities are a set of tools that provide a
 	  framework to help other GNU packages produce multi-lingual
diff --git a/package/giblib/Config.in b/package/giblib/Config.in
index 7153bd5..2bc3aa6 100644
--- a/package/giblib/Config.in
+++ b/package/giblib/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_GIBLIB_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_GIBLIB
 	bool "giblib"
-	depends on BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_IMLIB2
 	select BR2_PACKAGE_IMLIB2_X
+	depends on BR2_PACKAGE_GIBLIB_AVAILABLE
 	help
 	  Giblib is a simple library which wraps imlib2.
 
diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in
index 16f0d4a..6dc6da2 100644
--- a/package/glib-networking/Config.in
+++ b/package/glib-networking/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_GLIB_NETWORKING_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_GLIB_NETWORKING
 	bool "glib-networking"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	depends on BR2_PACKAGE_GLIB_NETWORKING_AVAILABLE
 	help
 	  Network-related GIO modules for glib.
 
diff --git a/package/gmp/Config.in b/package/gmp/Config.in
index 226e088..e18b6c6 100644
--- a/package/gmp/Config.in
+++ b/package/gmp/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_GMP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_GMP
 	bool "gmp"
+	depends on BR2_PACKAGE_GMP_AVAILABLE
 	help
 	  GNU Multiple Precision Arithmetic Library.
 
diff --git a/package/gmpc/Config.in b/package/gmpc/Config.in
index f86945c..13a1dc2 100644
--- a/package/gmpc/Config.in
+++ b/package/gmpc/Config.in
@@ -1,8 +1,11 @@
-config BR2_PACKAGE_GMPC
-	bool "gmpc"
+config BR2_PACKAGE_GMPC_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_LIBGTK2
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_GMPC
+	bool "gmpc"
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
@@ -14,6 +17,7 @@ config BR2_PACKAGE_GMPC
 	select BR2_PACKAGE_XLIB_LIBICE
 	select BR2_PACKAGE_XLIB_LIBSM
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_GMPC_AVAILABLE
 	help
 	  Gnome Music Player Client is a GNOME/GTK2.2 client for
 	  Music Player Daemon.
diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in
index 556caea..a9271c4 100644
--- a/package/gnutls/Config.in
+++ b/package/gnutls/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_GNUTLS_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_GNUTLS
 	bool "gnutls"
 	select BR2_PACKAGE_LIBGCRYPT
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_GNUTLS_AVAILABLE
 	help
 	  GnuTLS is a secure communications library implementing the SSL
 	  and TLS protocols and technologies around them.
diff --git a/package/gob2/Config.in b/package/gob2/Config.in
index cbe30d6..a39e04f 100644
--- a/package/gob2/Config.in
+++ b/package/gob2/Config.in
@@ -1,12 +1,16 @@
+config BR2_PACKAGE_GOB2_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_GOB2
 	bool "gob2"
-	depends on BR2_USE_WCHAR # glib2
 	# m4 uses fork(), so does bison then
-	depends on BR2_USE_MMU
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_FLEX
 	select BR2_PACKAGE_FLEX_LIBFL
 	select BR2_PACKAGE_BISON
+	depends on BR2_PACKAGE_GOB2_AVAILABLE
 	help
 	  GOB (GTK+ Object Builder) is a preprocessor which simplifies
 	  the writing of GObjects in C.
diff --git a/package/gperf/Config.in b/package/gperf/Config.in
index 67b286b..7f1d113 100644
--- a/package/gperf/Config.in
+++ b/package/gperf/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_GPERF_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_GPERF
 	bool "gperf"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_GPERF_AVAILABLE
 	help
 	  A 'perfect hash function' generator
 
diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in
index a11c553..fe8d827 100644
--- a/package/gpsd/Config.in
+++ b/package/gpsd/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_GPSD_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_GPSD
 	bool "gpsd"
 	# Uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_GPSD_AVAILABLE
 	help
 	  gpsd is a service daemon that monitors one or more GPSes or AIS
 	  receivers attached to a host computer through serial or USB ports,
diff --git a/package/gqview/Config.in b/package/gqview/Config.in
index c1df40c..88d6177 100644
--- a/package/gqview/Config.in
+++ b/package/gqview/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_GQVIEW_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+
 config BR2_PACKAGE_GQVIEW
 	bool "gqview"
-	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_PACKAGE_GQVIEW_AVAILABLE
 	help
 	  GQview is an image viewer for Unix operating systems
 
diff --git a/package/grep/Config.in b/package/grep/Config.in
index 1b39922..3c4f8bd 100644
--- a/package/grep/Config.in
+++ b/package/grep/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_GREP_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_GREP
 	bool "grep"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_GREP_AVAILABLE
 	help
 	  The GNU regular expression matcher.
 
diff --git a/package/gsl/Config.in b/package/gsl/Config.in
index aa431d1..befa674 100644
--- a/package/gsl/Config.in
+++ b/package/gsl/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_GSL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_GSL
 	bool "gsl"
+	depends on BR2_PACKAGE_GSL_AVAILABLE
 	help
 	  The GNU Scientific Library (GSL) is a numerical library for
 	  C and C++ programmers.  The library provides a wide range of
diff --git a/package/gtk2-engines/Config.in b/package/gtk2-engines/Config.in
index 756a7d0..5c6b503 100644
--- a/package/gtk2-engines/Config.in
+++ b/package/gtk2-engines/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_GTK2_ENGINES_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+
 config BR2_PACKAGE_GTK2_ENGINES
 	bool "gtk engines"
-	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_PACKAGE_GTK2_ENGINES_AVAILABLE
 	help
 	  A collection of basic theme engines for GTK+.
diff --git a/package/gtk2-themes/gtk2-theme-hicolor/Config.in b/package/gtk2-themes/gtk2-theme-hicolor/Config.in
index 144f1d8..fc05c24 100644
--- a/package/gtk2-themes/gtk2-theme-hicolor/Config.in
+++ b/package/gtk2-themes/gtk2-theme-hicolor/Config.in
@@ -1,2 +1,6 @@
+config BR2_PACKAGE_GTK2_THEME_HICOLOR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_GTK2_THEME_HICOLOR
 	bool "hicolor (default theme)"
+	depends on BR2_PACKAGE_GTK2_THEME_HICOLOR_AVAILABLE
diff --git a/package/gtkperf/Config.in b/package/gtkperf/Config.in
index 0122b52..f297f0f 100644
--- a/package/gtkperf/Config.in
+++ b/package/gtkperf/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_GTKPERF_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+
 config BR2_PACKAGE_GTKPERF
 	bool "gtkperf (performance test for GTK2)"
-	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_PACKAGE_GTKPERF_AVAILABLE
 	help
 	  GtkPerf is an application designed to test GTK+ performance.
 	  The point is to create common testing platform to run
diff --git a/package/gvfs/Config.in b/package/gvfs/Config.in
index 87f9a03..e453df4 100644
--- a/package/gvfs/Config.in
+++ b/package/gvfs/Config.in
@@ -1,10 +1,14 @@
-config BR2_PACKAGE_GVFS
-	bool "gvfs"
+config BR2_PACKAGE_GVFS_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR # glib2
+
+config BR2_PACKAGE_GVFS
+	bool "gvfs"
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_SHARED_MIME_INFO
+	depends on BR2_PACKAGE_GVFS_AVAILABLE
 	help
 	  gvfs is a userspace virtual filesystem where mount runs as a
 	  separate processes which you talk to via D-Bus. It also
diff --git a/package/gzip/Config.in b/package/gzip/Config.in
index f501d5c..c447cbc 100644
--- a/package/gzip/Config.in
+++ b/package/gzip/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_GZIP_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_GZIP
 	bool "gzip"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_GZIP_AVAILABLE
 	help
 	  Standard GNU compressor.  Provides things like gzip,
 	  gunzip, gzcat, etc...
diff --git a/package/haserl/Config.in b/package/haserl/Config.in
index 7710fa1..08101cf 100644
--- a/package/haserl/Config.in
+++ b/package/haserl/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_HASERL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_HASERL
 	bool "haserl"
+	depends on BR2_PACKAGE_HASERL_AVAILABLE
 	help
 	  Haserl is a small cgi wrapper that enables shell scripts to be
 	  embedded into html documents. It is intended for environments
diff --git a/package/hdparm/Config.in b/package/hdparm/Config.in
index 32bd247..9cd1199 100644
--- a/package/hdparm/Config.in
+++ b/package/hdparm/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_HDPARM_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_HDPARM
 	bool "hdparm"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_HDPARM_AVAILABLE
 	help
 	  hdparm - get/set hard disk parameters for Linux IDE drives.
 
diff --git a/package/heirloom-mailx/Config.in b/package/heirloom-mailx/Config.in
index 9a871d4..0d72232 100644
--- a/package/heirloom-mailx/Config.in
+++ b/package/heirloom-mailx/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_HEIRLOOM_MAILX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_HEIRLOOM_MAILX
 	bool "heirloom-mailx"
+	depends on BR2_PACKAGE_HEIRLOOM_MAILX_AVAILABLE
 	help
 	  Heirloom mailx (previously known as nail) is a mail user
 	  agent for Unix systems.
diff --git a/package/hiawatha/Config.in b/package/hiawatha/Config.in
index 431a9fa..993cd99 100644
--- a/package/hiawatha/Config.in
+++ b/package/hiawatha/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_HIAWATHA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_HIAWATHA
 	bool "hiawatha"
+	depends on BR2_PACKAGE_HIAWATHA_AVAILABLE
 	help
 	  Hiawatha is a webserver for Unix and has been built with
 	  security in mind. This resulted in a highly secure
diff --git a/package/hostapd/Config.in b/package/hostapd/Config.in
index 49e8400..7434548 100644
--- a/package/hostapd/Config.in
+++ b/package/hostapd/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_HOSTAPD_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
+
 config BR2_PACKAGE_HOSTAPD
 	bool "hostapd"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
 	select BR2_PACKAGE_LIBNL
+	depends on BR2_PACKAGE_HOSTAPD_AVAILABLE
 	help
 	  User space daemon for wireless access points.
 
diff --git a/package/htop/Config.in b/package/htop/Config.in
index 55b4b15..b644d14 100644
--- a/package/htop/Config.in
+++ b/package/htop/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_HTOP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_HTOP
 	bool "htop"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_HTOP_AVAILABLE
 	help
 	  htop is an interactive text-mode process viewer for Linux.
 	  It aims to be a better top.
diff --git a/package/hwdata/Config.in b/package/hwdata/Config.in
index 33e0738..0b62eec 100644
--- a/package/hwdata/Config.in
+++ b/package/hwdata/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_HWDATA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_HWDATA
 	bool "hwdata"
+	depends on BR2_PACKAGE_HWDATA_AVAILABLE
 	help
 	  Various hardware identification and configuration data, such as
 	  the pci.ids database, or the XFree86/xorg Cards database.
diff --git a/package/i2c-tools/Config.in b/package/i2c-tools/Config.in
index 43f5e05..6958929 100644
--- a/package/i2c-tools/Config.in
+++ b/package/i2c-tools/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_I2C_TOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_I2C_TOOLS
 	bool "i2c-tools"
+	depends on BR2_PACKAGE_I2C_TOOLS_AVAILABLE
 	help
 	  Heterogeneous set of I2C tools for Linux
 
diff --git a/package/icu/Config.in b/package/icu/Config.in
index 21f5c2f..649c150 100644
--- a/package/icu/Config.in
+++ b/package/icu/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_ICU
-	bool "icu"
+config BR2_PACKAGE_ICU_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_ICU
+	bool "icu"
+	depends on BR2_PACKAGE_ICU_AVAILABLE
 	help
 	  International Components for Unicode.
 
diff --git a/package/ifplugd/Config.in b/package/ifplugd/Config.in
index 0311ad7..cff64de 100644
--- a/package/ifplugd/Config.in
+++ b/package/ifplugd/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_IFPLUGD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IFPLUGD
 	bool "ifplugd"
 	select BR2_PACKAGE_LIBDAEMON
+	depends on BR2_PACKAGE_IFPLUGD_AVAILABLE
 	help
 	  Ifplugd is a daemon which will automatically configure your
 	  ethernet device when a cable is plugged in and automatically
diff --git a/package/igh-ethercat/Config.in b/package/igh-ethercat/Config.in
index 890bb12..99e3a93 100644
--- a/package/igh-ethercat/Config.in
+++ b/package/igh-ethercat/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_IGH_ETHERCAT_AVAILABLE
+	def_bool y
+	depends on BR2_LINUX_KERNEL
+
 config BR2_PACKAGE_IGH_ETHERCAT
 	bool "igh-ethercat"
-	depends on BR2_LINUX_KERNEL
+	depends on BR2_PACKAGE_IGH_ETHERCAT_AVAILABLE
 	help
 	  IgH EtherCAT Master for Linux.
 
diff --git a/package/imagemagick/Config.in b/package/imagemagick/Config.in
index e66ded0..d963a8b 100644
--- a/package/imagemagick/Config.in
+++ b/package/imagemagick/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_IMAGEMAGICK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IMAGEMAGICK
 	bool "imagemagick"
+	depends on BR2_PACKAGE_IMAGEMAGICK_AVAILABLE
 	help
 	  ImageMagick(R) is a software suite to create, edit, and compose
 	  bitmap images. It can read, convert and write images in a variety of
diff --git a/package/imlib2/Config.in b/package/imlib2/Config.in
index 16a94d6..069b8a6 100644
--- a/package/imlib2/Config.in
+++ b/package/imlib2/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_IMLIB2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IMLIB2
 	bool "imlib2"
 	select BR2_PACKAGE_FREETYPE
+	depends on BR2_PACKAGE_IMLIB2_AVAILABLE
 	help
 	  Imlib 2 is the successor to Imlib. This library provides
 	  routines to load, save and render images in various formats.
diff --git a/package/inadyn/Config.in b/package/inadyn/Config.in
index 623da41..faa7959 100644
--- a/package/inadyn/Config.in
+++ b/package/inadyn/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_INADYN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_INADYN
 	bool "inadyn"
+	depends on BR2_PACKAGE_INADYN_AVAILABLE
 	help
 	  INADYN is a free DynDNS client. It gives the possibility
 	  to have your own fixed hostname registered on the internet,
diff --git a/package/inotify-tools/Config.in b/package/inotify-tools/Config.in
index ed94b3f..4386af1 100644
--- a/package/inotify-tools/Config.in
+++ b/package/inotify-tools/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_INOTIFY_TOOLS_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_INOTIFY_TOOLS
 	bool "inotify-tools"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_INOTIFY_TOOLS_AVAILABLE
 	help
 	  inotify-tools is a C library and a set of command-line
 	  programs for Linux providing a simple interface to inotify.
diff --git a/package/input-event-daemon/Config.in b/package/input-event-daemon/Config.in
index 84177fd..2a125cb 100644
--- a/package/input-event-daemon/Config.in
+++ b/package/input-event-daemon/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_INPUT_EVENT_DAEMON_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_INPUT_EVENT_DAEMON
 	bool "input-event-daemon"
 	# Uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_INPUT_EVENT_DAEMON_AVAILABLE
 	help
 	  input-event-daemon is a daemon which executes
 	  a user-defined command on input events, such as
diff --git a/package/input-tools/Config.in b/package/input-tools/Config.in
index 489b130..b263079 100644
--- a/package/input-tools/Config.in
+++ b/package/input-tools/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_INPUT_TOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_INPUT_TOOLS
 	bool "input-tools"
+	depends on BR2_PACKAGE_INPUT_TOOLS_AVAILABLE
 	help
 	  Tools for the Linux kernel input layer.
 	  http://linuxconsole.sourceforge.net/
diff --git a/package/intltool/Config.in b/package/intltool/Config.in
index 990a227..2cc2e3d 100644
--- a/package/intltool/Config.in
+++ b/package/intltool/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_INTLTOOL_AVAILABLE
+	def_bool y
+       depends on BR2_HOST_ONLY
+
 config BR2_PACKAGE_INTLTOOL
        bool "intltool"
        # Hide from configuration as we only support the host package
        # for the moment
-       depends on BR2_HOST_ONLY
+	depends on BR2_PACKAGE_INTLTOOL_AVAILABLE
        help
          Utility scripts for internationalizing XML
 
-	 http://www.freedesktop.org/wiki/Software/intltool
\ No newline at end of file
+	 http://www.freedesktop.org/wiki/Software/intltool
diff --git a/package/iostat/Config.in b/package/iostat/Config.in
index 1aa1464..86a094f 100644
--- a/package/iostat/Config.in
+++ b/package/iostat/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_IOSTAT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IOSTAT
 	bool "iostat"
+	depends on BR2_PACKAGE_IOSTAT_AVAILABLE
 	help
 	  An I/O performance monitoring utility.
 
diff --git a/package/iperf/Config.in b/package/iperf/Config.in
index c284bfd..7bc4272 100644
--- a/package/iperf/Config.in
+++ b/package/iperf/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_IPERF_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_IPERF
 	bool "iperf"
-	depends on BR2_INSTALL_LIBSTDCPP
 	# uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_IPERF_AVAILABLE
 	help
 	  Internet Protocol bandwidth measuring tool for measuring
 	  TCP/UDP performance.
diff --git a/package/ipkg/Config.in b/package/ipkg/Config.in
index ef65ca0..731e0ab 100644
--- a/package/ipkg/Config.in
+++ b/package/ipkg/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_IPKG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IPKG
 	bool "ipkg"
+	depends on BR2_PACKAGE_IPKG_AVAILABLE
 	help
 	  The Itsy Package Installer from handhelds.org
 
diff --git a/package/iproute2/Config.in b/package/iproute2/Config.in
index b6ee86e..6c837b8 100644
--- a/package/iproute2/Config.in
+++ b/package/iproute2/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_IPROUTE2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IPROUTE2
 	bool "iproute2"
+	depends on BR2_PACKAGE_IPROUTE2_AVAILABLE
 	help
 	  Kernel routing and traffic control utilities.  Provides things
 	  like ip and tc.
diff --git a/package/ipsec-tools/Config.in b/package/ipsec-tools/Config.in
index 6f6dc37..b90ec23 100644
--- a/package/ipsec-tools/Config.in
+++ b/package/ipsec-tools/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_IPSEC_TOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IPSEC_TOOLS
 	bool "ipsec-tools"
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_FLEX
 	select BR2_PACKAGE_FLEX_LIBFL
+	depends on BR2_PACKAGE_IPSEC_TOOLS_AVAILABLE
 	help
 	  This package is required to support IPSec for Linux 2.6+
 
diff --git a/package/ipset/Config.in b/package/ipset/Config.in
index af16fa8..e96c8fe 100644
--- a/package/ipset/Config.in
+++ b/package/ipset/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_IPSET_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_IPSET
 	bool "ipset"
-	depends on BR2_LARGEFILE
 	select BR2_PACKAGE_LIBMNL
+	depends on BR2_PACKAGE_IPSET_AVAILABLE
 	help
 	  Utility to manage IP sets in the linux kernel.
 	  Requires a patched kernel or version >=2.6.39.
diff --git a/package/iptables/Config.in b/package/iptables/Config.in
index 8c4e989..8598478 100644
--- a/package/iptables/Config.in
+++ b/package/iptables/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_IPTABLES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IPTABLES
 	bool "iptables"
+	depends on BR2_PACKAGE_IPTABLES_AVAILABLE
 	help
 	  Linux kernel (2.4+) firewall, NAT, and packet mangling tools.
 
diff --git a/package/irda-utils/Config.in b/package/irda-utils/Config.in
index 418ab61..7bbc78f 100644
--- a/package/irda-utils/Config.in
+++ b/package/irda-utils/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_IRDA_UTILS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_IRDA_UTILS
 	bool "irda-utils"
+	depends on BR2_PACKAGE_IRDA_UTILS_AVAILABLE
 	help
 	  user space utilities which control the IrDA stack
 
diff --git a/package/iw/Config.in b/package/iw/Config.in
index 69ef675..4abca8d 100644
--- a/package/iw/Config.in
+++ b/package/iw/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_IW_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
+
 config BR2_PACKAGE_IW
 	bool "iw"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
 	select BR2_PACKAGE_LIBNL
+	depends on BR2_PACKAGE_IW_AVAILABLE
 	help
 	  Utility for wireless devices using the mac80211 kernel stack
 
diff --git a/package/jpeg/Config.in b/package/jpeg/Config.in
index 36d73c5..4f308b4 100644
--- a/package/jpeg/Config.in
+++ b/package/jpeg/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_JPEG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_JPEG
 	bool "jpeg"
+	depends on BR2_PACKAGE_JPEG_AVAILABLE
 	help
 	  The ubiquitous C library for manipulating JPEG images.
 
diff --git a/package/jquery-sparkline/Config.in b/package/jquery-sparkline/Config.in
index ae66364..4c9d8c3 100644
--- a/package/jquery-sparkline/Config.in
+++ b/package/jquery-sparkline/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_JQUERY_SPARKLINE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_JQUERY_SPARKLINE
 	bool "jQuery-Sparkline"
 	select BR2_PACKAGE_JQUERY
+	depends on BR2_PACKAGE_JQUERY_SPARKLINE_AVAILABLE
 	help
 	  This jQuery plugin generates sparklines (small inline
 	  charts) directly in the browser using data supplied either
diff --git a/package/jquery-validation/Config.in b/package/jquery-validation/Config.in
index 2a764c1..a8a1603 100644
--- a/package/jquery-validation/Config.in
+++ b/package/jquery-validation/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_JQUERY_VALIDATION_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_JQUERY_VALIDATION
 	bool "jQuery-Validation"
 	select BR2_PACKAGE_JQUERY
+	depends on BR2_PACKAGE_JQUERY_VALIDATION_AVAILABLE
 	help
 	  The jQuery Validation Plugin provides drop-in validation for
 	  your existing forms, while making all kinds of
diff --git a/package/jquery/Config.in b/package/jquery/Config.in
index 92f5604..4465962 100644
--- a/package/jquery/Config.in
+++ b/package/jquery/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_JQUERY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_JQUERY
 	bool "jQuery"
+	depends on BR2_PACKAGE_JQUERY_AVAILABLE
 	help
 	  jQuery is a fast and concise JavaScript Library that
 	  simplifies HTML document traversing, event handling,
diff --git a/package/jsmin/Config.in b/package/jsmin/Config.in
index d0948b8..ef693f6 100644
--- a/package/jsmin/Config.in
+++ b/package/jsmin/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_JSMIN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_JSMIN
 	bool "jsmin"
+	depends on BR2_PACKAGE_JSMIN_AVAILABLE
 	help
 	  JSMin is a filter which removes comments and unnecessary
 	  whitespace from JavaScript files. It typically reduces
diff --git a/package/json-c/Config.in b/package/json-c/Config.in
index dbdd75b..5e1bbd0 100644
--- a/package/json-c/Config.in
+++ b/package/json-c/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_JSON_C_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_JSON_C
 	bool "json-c"
+	depends on BR2_PACKAGE_JSON_C_AVAILABLE
 	help
 	  JSON-C - A JSON implementation in C
 
diff --git a/package/kbd/Config.in b/package/kbd/Config.in
index a23b70a..f1dc8be 100644
--- a/package/kbd/Config.in
+++ b/package/kbd/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_KBD_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_KBD
 	bool "kbd"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	# Uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_KBD_AVAILABLE
 	help
 	  Keytable files and keyboard utilities.
 
diff --git a/package/kexec/Config.in b/package/kexec/Config.in
index 6f10b89..4d098e0 100644
--- a/package/kexec/Config.in
+++ b/package/kexec/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_KEXEC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_KEXEC
 	bool "kexec"
+	depends on BR2_PACKAGE_KEXEC_AVAILABLE
 	help
 	  Kexec is a user space utiltity for loading another kernel
 	  and asking the currently running kernel to do something with it.
diff --git a/package/kismet/Config.in b/package/kismet/Config.in
index 6954665..e868fff 100644
--- a/package/kismet/Config.in
+++ b/package/kismet/Config.in
@@ -1,12 +1,16 @@
 comment "Kismet requires a toolchain with C++ support enabled"
 	depends on !BR2_INSTALL_LIBSTDCPP
 
+config BR2_PACKAGE_KISMET_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_KISMET
 	bool "kismet"
-	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_NCURSES_TARGET_PANEL
 	select BR2_PACKAGE_LIBPCAP
+	depends on BR2_PACKAGE_KISMET_AVAILABLE
 	help
 	  Kismet - 802.11 layer2 wireless network detector, sniffer,
 	  and intrusion detection system.
diff --git a/package/kmod/Config.in b/package/kmod/Config.in
index 4965237..0183127 100644
--- a/package/kmod/Config.in
+++ b/package/kmod/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_KMOD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_KMOD
 	bool "kmod"
+	depends on BR2_PACKAGE_KMOD_AVAILABLE
 	help
 	  handle kernel modules
 
diff --git a/package/latencytop/Config.in b/package/latencytop/Config.in
index 12176c0..d4c0b2a 100644
--- a/package/latencytop/Config.in
+++ b/package/latencytop/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LATENCYTOP_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_LATENCYTOP
 	bool "latencytop"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_LATENCYTOP_AVAILABLE
 	help
 	  There are many types and causes of latency. LatencyTOP
 	  focuses on the type of latency that causes skips in audio,
diff --git a/package/lcdproc/Config.in b/package/lcdproc/Config.in
index 7261105..9231203 100644
--- a/package/lcdproc/Config.in
+++ b/package/lcdproc/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LCDPROC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LCDPROC
        bool "lcdproc"
        select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_LCDPROC_AVAILABLE
        help
          LCD display driver daemon and clients
 
diff --git a/package/leafpad/Config.in b/package/leafpad/Config.in
index a440854..7c9ce45 100644
--- a/package/leafpad/Config.in
+++ b/package/leafpad/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LEAFPAD_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+
 config BR2_PACKAGE_LEAFPAD
 	bool "leafpad"
-	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_PACKAGE_LEAFPAD_AVAILABLE
 	help
 	  GTK+ based simple text editor
 
diff --git a/package/less/Config.in b/package/less/Config.in
index b7aa152..d71f9f1 100644
--- a/package/less/Config.in
+++ b/package/less/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LESS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LESS
 	bool "less"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_LESS_AVAILABLE
 	help
 	  Excellent text file viewer.
 
diff --git a/package/libaio/Config.in b/package/libaio/Config.in
index 833009a..219950a 100644
--- a/package/libaio/Config.in
+++ b/package/libaio/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_LIBAIO
-	bool "libaio"
+config BR2_PACKAGE_LIBAIO_AVAILABLE
+	def_bool y
 	depends on \
 		BR2_arm   || BR2_armeb || BR2_avr32  || BR2_i386    || \
 		BR2_m68k  || BR2_mips  || BR2_mipsel || BR2_powerpc || \
 		BR2_sparc || BR2_x86_64
+
+config BR2_PACKAGE_LIBAIO
+	bool "libaio"
+	depends on BR2_PACKAGE_LIBAIO_AVAILABLE
 	help
 	  Library for doing asynchronous I/O
diff --git a/package/libao/Config.in b/package/libao/Config.in
index 3c99ab9..e41f568 100644
--- a/package/libao/Config.in
+++ b/package/libao/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBAO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBAO
 	bool "libao"
+	depends on BR2_PACKAGE_LIBAO_AVAILABLE
 	help
 	  Libao is a cross-platform audio library that allows programs
 	  to output audio using a simple API on a wide variety of platforms.
diff --git a/package/libarchive/Config.in b/package/libarchive/Config.in
index 38928b0..084f056 100644
--- a/package/libarchive/Config.in
+++ b/package/libarchive/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBARCHIVE_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_LIBARCHIVE
 	bool "libarchive"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LIBARCHIVE_AVAILABLE
 	help
 	  Libarchive is a reusable C library for reading and writing a
 	  variety of streaming archive formats.
diff --git a/package/libargtable2/Config.in b/package/libargtable2/Config.in
index 42d067b..cde9646 100644
--- a/package/libargtable2/Config.in
+++ b/package/libargtable2/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBARGTABLE2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBARGTABLE2
 	bool "libargtable2"
+	depends on BR2_PACKAGE_LIBARGTABLE2_AVAILABLE
 	help
 	  A greatly simplified and yet quite robust argument parsing
 	  set of library calls.
diff --git a/package/libart/Config.in b/package/libart/Config.in
index 9262335..402ef5d 100644
--- a/package/libart/Config.in
+++ b/package/libart/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBART_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBART
 	bool "libart"
+	depends on BR2_PACKAGE_LIBART_AVAILABLE
 	help
 	  Libart is a library for high-performance 2D graphics. It
 	  supports a very powerful imaging model, basically the same
diff --git a/package/libatomic_ops/Config.in b/package/libatomic_ops/Config.in
index 3d5d0a8..ea67143 100644
--- a/package/libatomic_ops/Config.in
+++ b/package/libatomic_ops/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBATOMIC_OPS_AVAILABLE
+	def_bool y
+	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64
+
 config BR2_PACKAGE_LIBATOMIC_OPS
 	bool "libatomic_ops"
-	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64
+	depends on BR2_PACKAGE_LIBATOMIC_OPS_AVAILABLE
 	help
 	  Atomic operations library
diff --git a/package/libcap-ng/Config.in b/package/libcap-ng/Config.in
index d1663cd..0cdf989 100644
--- a/package/libcap-ng/Config.in
+++ b/package/libcap-ng/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBCAP_NG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCAP_NG
 	bool "libcap-ng"
+	depends on BR2_PACKAGE_LIBCAP_NG_AVAILABLE
 	help
 	  The libcap-ng library is intended to make programming with
 	  posix capabilities much easier than the traditional libcap
diff --git a/package/libcap/Config.in b/package/libcap/Config.in
index f1fc8fa..edecdf2 100644
--- a/package/libcap/Config.in
+++ b/package/libcap/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBCAP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCAP
 	bool "libcap"
+	depends on BR2_PACKAGE_LIBCAP_AVAILABLE
 	help
 	 This library implements the user-space interfaces to the
 	 POSIX 1003.1e capabilities available in Linux kernels. These
diff --git a/package/libcdaudio/Config.in b/package/libcdaudio/Config.in
index 02df01e..acb2121 100644
--- a/package/libcdaudio/Config.in
+++ b/package/libcdaudio/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBCDAUDIO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCDAUDIO
 	bool "libcdaudio"
+	depends on BR2_PACKAGE_LIBCDAUDIO_AVAILABLE
 	help
 	  libcdaudio is a library designed to provide functions to
 	  control operation of a CD-ROM when playing audio CDs. It
diff --git a/package/libcgi/Config.in b/package/libcgi/Config.in
index 430039e..1353915 100644
--- a/package/libcgi/Config.in
+++ b/package/libcgi/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBCGI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCGI
 	bool "libcgi"
+	depends on BR2_PACKAGE_LIBCGI_AVAILABLE
 	help
 	  LibCGI is a library written from scratch to easily make
 	  CGI applications in C.
diff --git a/package/libcgicc/Config.in b/package/libcgicc/Config.in
index 098f9a6..8d61cc4 100644
--- a/package/libcgicc/Config.in
+++ b/package/libcgicc/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBCGICC_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_LIBCGICC
 	bool "libcgicc"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_LIBCGICC_AVAILABLE
 	help
 	  GNU cgicc is a C++ class library that greatly simplifies
 	  the creation of CGI applications for the World Wide Web.
diff --git a/package/libconfig/Config.in b/package/libconfig/Config.in
index 75dacab..041871e 100644
--- a/package/libconfig/Config.in
+++ b/package/libconfig/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBCONFIG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCONFIG
 	bool "libconfig"
+	depends on BR2_PACKAGE_LIBCONFIG_AVAILABLE
 	help
 	  Libconfig is a simple library for manipulating structured
 	  configuration files. The file format is more compact and more
diff --git a/package/libconfuse/Config.in b/package/libconfuse/Config.in
index be18cbb..7031f70 100644
--- a/package/libconfuse/Config.in
+++ b/package/libconfuse/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBCONFUSE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCONFUSE
 	bool "libconfuse"
+	depends on BR2_PACKAGE_LIBCONFUSE_AVAILABLE
 	help
 	  LibConfuse is a configuration file parser library written in
 	  C. It supports sections and (lists of) values (strings,
diff --git a/package/libcue/Config.in b/package/libcue/Config.in
index e5e2e16..0645578 100644
--- a/package/libcue/Config.in
+++ b/package/libcue/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBCUE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCUE
 	bool "libcue"
 	select BR2_PACKAGE_FLEX
 	select BR2_PACKAGE_FLEX_LIBFL
+	depends on BR2_PACKAGE_LIBCUE_AVAILABLE
 	help
 	  CUE Sheet Parser Library
 
diff --git a/package/libcuefile/Config.in b/package/libcuefile/Config.in
index 416b3e1..58d4420 100644
--- a/package/libcuefile/Config.in
+++ b/package/libcuefile/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBCUEFILE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCUEFILE
 	bool "libcuefile"
+	depends on BR2_PACKAGE_LIBCUEFILE_AVAILABLE
 	help
 	  Cue File library from Musepack
 
diff --git a/package/libcurl/Config.in b/package/libcurl/Config.in
index 1d6d08e..169a0bb 100644
--- a/package/libcurl/Config.in
+++ b/package/libcurl/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBCURL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBCURL
 	bool "libcurl"
+	depends on BR2_PACKAGE_LIBCURL_AVAILABLE
 	help
 	  cURL is a tool for getting files from FTP, HTTP, Gopher, Telnet,
 	  and Dict servers, using any of the supported protocols.
diff --git a/package/libdaemon/Config.in b/package/libdaemon/Config.in
index 6943263..f377f8d 100644
--- a/package/libdaemon/Config.in
+++ b/package/libdaemon/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBDAEMON_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBDAEMON
 	bool "libdaemon"
+	depends on BR2_PACKAGE_LIBDAEMON_AVAILABLE
 	help
 	  libdaemon is a lightweight C library that eases the
 	  writing of UNIX daemons.
diff --git a/package/libdmtx/Config.in b/package/libdmtx/Config.in
index db4187f..2821ba6 100644
--- a/package/libdmtx/Config.in
+++ b/package/libdmtx/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBDMTX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBDMTX
 	bool "libdmtx"
+	depends on BR2_PACKAGE_LIBDMTX_AVAILABLE
 	help
 	  libdmtx is a software library that enables programs to read and write
 	  Data Matrix barcodes of the modern ECC200 variety.
diff --git a/package/libdnet/Config.in b/package/libdnet/Config.in
index 589903f..a14c5d4 100644
--- a/package/libdnet/Config.in
+++ b/package/libdnet/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBDNET_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBDNET
 	bool "libdnet"
+	depends on BR2_PACKAGE_LIBDNET_AVAILABLE
 	help
 	  libdnet - simplified interface to low-level networking routines.
 
diff --git a/package/libdrm/Config.in b/package/libdrm/Config.in
index f3dab9a..636e72f 100644
--- a/package/libdrm/Config.in
+++ b/package/libdrm/Config.in
@@ -1,7 +1,10 @@
-config BR2_PACKAGE_LIBDRM
-	bool "libdrm"
+config BR2_PACKAGE_LIBDRM_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_LARGEFILE
+
+config BR2_PACKAGE_LIBDRM
+	bool "libdrm"
 	select BR2_PACKAGE_XPROTO_GLPROTO
 	select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO
 	select BR2_PACKAGE_XLIB_LIBXXF86VM
@@ -12,6 +15,7 @@ config BR2_PACKAGE_LIBDRM
 	# architectures, and we make the assumption that the intel
 	# driver can only be used on x86 and x86_64 machines.
 	select BR2_PACKAGE_LIBATOMIC_OPS if (BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL && (BR2_i386 || BR2_x86_64))
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
 	help
 	  Direct Rendering Manager
 
diff --git a/package/libdvdnav/Config.in b/package/libdvdnav/Config.in
index 5ba31e8..0425976 100644
--- a/package/libdvdnav/Config.in
+++ b/package/libdvdnav/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBDVDNAV_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE # libdvdread
+
 config BR2_PACKAGE_LIBDVDNAV
 	bool "libdvdnav"
-	depends on BR2_LARGEFILE # libdvdread
         select BR2_PACKAGE_LIBDVDREAD
+	depends on BR2_PACKAGE_LIBDVDNAV_AVAILABLE
 	help
 	  libdvdnav is a library that allows easy use of sophisticated
 	  DVD navigation features such as DVD menus, multiangle
diff --git a/package/libdvdread/Config.in b/package/libdvdread/Config.in
index b63f082..2a09efb 100644
--- a/package/libdvdread/Config.in
+++ b/package/libdvdread/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBDVDREAD_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LIBDVDREAD
 	bool "libdvdread"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBDVDREAD_AVAILABLE
 	help
 	  libdvdread provides a simple foundation for reading
 	  DVD-Video images.
diff --git a/package/libeXosip2/Config.in b/package/libeXosip2/Config.in
index 755d284..3a71fa7 100644
--- a/package/libeXosip2/Config.in
+++ b/package/libeXosip2/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBEXOSIP2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEXOSIP2
 	bool "libeXosip2"
 	select BR2_PACKAGE_LIBOSIP2
+	depends on BR2_PACKAGE_LIBEXOSIP2_AVAILABLE
 	help
 	  eXosip is a library that hides the complexity of using the
 	  SIP protocol for mutlimedia session establishement.
diff --git a/package/libelf/Config.in b/package/libelf/Config.in
index 600ef68..a5f0c4d 100644
--- a/package/libelf/Config.in
+++ b/package/libelf/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBELF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBELF
 	bool "libelf"
+	depends on BR2_PACKAGE_LIBELF_AVAILABLE
 	help
 	  The elf library provides routines to access, and manipulate,
 	  Elf object files.
diff --git a/package/liberation/Config.in b/package/liberation/Config.in
index 48d4195..4b7a881 100644
--- a/package/liberation/Config.in
+++ b/package/liberation/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBERATION_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBERATION
 	bool "Liberation (Free fonts)"
+	depends on BR2_PACKAGE_LIBERATION_AVAILABLE
 	help
 	  The Liberation Fonts are intended to be replacements for the
 	  three most commonly used fonts on Microsoft systems:
diff --git a/package/libesmtp/Config.in b/package/libesmtp/Config.in
index 4e9e455..5fb4e45 100644
--- a/package/libesmtp/Config.in
+++ b/package/libesmtp/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBESMTP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBESMTP
 	bool "libesmtp"
+	depends on BR2_PACKAGE_LIBESMTP_AVAILABLE
 	help
 	  Library for sending emails through SMTP.
 
diff --git a/package/libev/Config.in b/package/libev/Config.in
index 71abe77..2395c17 100644
--- a/package/libev/Config.in
+++ b/package/libev/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBEV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEV
 	bool "libev"
+	depends on BR2_PACKAGE_LIBEV_AVAILABLE
 	help
 	  Userspace library for handling asynchronous notifications
 
diff --git a/package/libevent/Config.in b/package/libevent/Config.in
index 680fa48..b7c63bb 100644
--- a/package/libevent/Config.in
+++ b/package/libevent/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBEVENT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEVENT
 	bool "libevent"
+	depends on BR2_PACKAGE_LIBEVENT_AVAILABLE
 	help
 	  Userspace library for handling asynchronous notifications
 
diff --git a/package/libexif/Config.in b/package/libexif/Config.in
index 9c89df4..99b9573 100644
--- a/package/libexif/Config.in
+++ b/package/libexif/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBEXIF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBEXIF
 	bool "libexif"
+	depends on BR2_PACKAGE_LIBEXIF_AVAILABLE
 	help
 	  Most digital cameras produce EXIF files, which are JPEG
 	  files with extra tags that contain information about the
diff --git a/package/libfcgi/Config.in b/package/libfcgi/Config.in
index a622ec3..6fc36f0 100644
--- a/package/libfcgi/Config.in
+++ b/package/libfcgi/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBFCGI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBFCGI
 	bool "libfcgi"
+	depends on BR2_PACKAGE_LIBFCGI_AVAILABLE
 	help
 	  FCGI, a fastcgi developer library for C/C++
 
diff --git a/package/libffi/Config.in b/package/libffi/Config.in
index 7211f8f..326a905 100644
--- a/package/libffi/Config.in
+++ b/package/libffi/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBFFI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBFFI
 	bool "libffi"
+	depends on BR2_PACKAGE_LIBFFI_AVAILABLE
 	help
 	  The libffi library provides a portable, high level
 	  programming interface to various calling conventions. This
diff --git a/package/libfreefare/Config.in b/package/libfreefare/Config.in
index 6877000..1dfea84 100644
--- a/package/libfreefare/Config.in
+++ b/package/libfreefare/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LIBFREEFARE_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_LIBFREEFARE
 	bool "libfreefare"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBNFC
+	depends on BR2_PACKAGE_LIBFREEFARE_AVAILABLE
 	help
 	  Library for high level manipulation of MIFARE cards.
 
diff --git a/package/libftdi/Config.in b/package/libftdi/Config.in
index 48e9ceb..f37ccc7 100644
--- a/package/libftdi/Config.in
+++ b/package/libftdi/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LIBFTDI_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_LIBFTDI
 	bool "libftdi"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_LIBUSB
 	select BR2_PACKAGE_LIBUSB_COMPAT
+	depends on BR2_PACKAGE_LIBFTDI_AVAILABLE
 	help
 	  Userspace access to FTDI USB interface chips
 
diff --git a/package/libfuse/Config.in b/package/libfuse/Config.in
index dffadf8..832c7b1 100644
--- a/package/libfuse/Config.in
+++ b/package/libfuse/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBFUSE_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LIBFUSE
 	bool "libfuse"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBFUSE_AVAILABLE
 	help
 	  FUSE (Filesystem in UserSpacE)
 
diff --git a/package/libgail/Config.in b/package/libgail/Config.in
index ba74795..f96726e 100644
--- a/package/libgail/Config.in
+++ b/package/libgail/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBGAIL_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+
 config BR2_PACKAGE_LIBGAIL
 	bool "libgail"
-	depends on BR2_PACKAGE_LIBGTK2
 	select BR2_PACKAGE_PANGO
+	depends on BR2_PACKAGE_LIBGAIL_AVAILABLE
 	help
 	  GAIL provides accessibility support for gtk+ and
 	  libgnomecanvas by implementing AtkObjects for widgets in
diff --git a/package/libgcrypt/Config.in b/package/libgcrypt/Config.in
index 55d2f17..ee4749a 100644
--- a/package/libgcrypt/Config.in
+++ b/package/libgcrypt/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBGCRYPT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBGCRYPT
 	bool "libgcrypt"
 	select BR2_PACKAGE_LIBGPG_ERROR
+	depends on BR2_PACKAGE_LIBGCRYPT_AVAILABLE
 	help
 	  LibGCrypt is GNU's basic cryptographic library.
 
diff --git a/package/libgeotiff/Config.in b/package/libgeotiff/Config.in
index 7489a47..4fd59ce 100644
--- a/package/libgeotiff/Config.in
+++ b/package/libgeotiff/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBGEOTIFF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBGEOTIFF
        bool "libgeotiff"
        select BR2_PACKAGE_TIFF
+	depends on BR2_PACKAGE_LIBGEOTIFF_AVAILABLE
        help
          Libgeotiff is an open source library normally hosted on top of
          libtiff for reading, and writing GeoTIFF information tags.
diff --git a/package/libglade/Config.in b/package/libglade/Config.in
index f7a9a1c..f129bdd 100644
--- a/package/libglade/Config.in
+++ b/package/libglade/Config.in
@@ -1,10 +1,14 @@
-config BR2_PACKAGE_LIBGLADE
-	bool "libglade"
+config BR2_PACKAGE_LIBGLADE_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_LIBGTK2
 	depends on BR2_USE_WCHAR # glib2
+
+config BR2_PACKAGE_LIBGLADE
+	bool "libglade"
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_ATK
 	select BR2_PACKAGE_LIBXML2
+	depends on BR2_PACKAGE_LIBGLADE_AVAILABLE
 	help
 	  Libglade allows you to load glade interface files in a program
 	  at runtime. It doesn't require GLADE to be used, but GLADE is
diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in
index d1d7231..3a47038 100644
--- a/package/libglib2/Config.in
+++ b/package/libglib2/Config.in
@@ -1,3 +1,7 @@
+config BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # gettext
+
 config BR2_PACKAGE_LIBGLIB2
 	bool "libglib2"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
@@ -5,7 +9,7 @@ config BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_LIBFFI
 	select BR2_PACKAGE_ZLIB
-	depends on BR2_USE_WCHAR # gettext
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 	help
 	  Low-level core library that forms the basis of GTK+ and GNOME.
 
diff --git a/package/libgpg-error/Config.in b/package/libgpg-error/Config.in
index 8287f98..c6071db 100644
--- a/package/libgpg-error/Config.in
+++ b/package/libgpg-error/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBGPG_ERROR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBGPG_ERROR
 	bool "libgpg-error"
+	depends on BR2_PACKAGE_LIBGPG_ERROR_AVAILABLE
 	help
 	  Libgpg-error is a small library with error codes and
 	  descriptions shared by most GnuPG related software.
diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in
index efaf12f..c0ecf49 100644
--- a/package/libgtk2/Config.in
+++ b/package/libgtk2/Config.in
@@ -1,3 +1,9 @@
+config BR2_PACKAGE_LIBGTK2_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7||BR2_PACKAGE_DIRECTFB
+	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_INSTALL_LIBSTDCPP # pango
+
 config BR2_PACKAGE_LIBGTK2
 	bool "libgtk2"
 	select BR2_PACKAGE_ATK
@@ -8,9 +14,7 @@ config BR2_PACKAGE_LIBGTK2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_PANGO
 	select BR2_PACKAGE_GDK_PIXBUF
-	depends on BR2_PACKAGE_XORG7||BR2_PACKAGE_DIRECTFB
-	depends on BR2_USE_WCHAR # glib2
-	depends on BR2_INSTALL_LIBSTDCPP # pango
+	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
 	help
 	  The GTK+ version 2 graphical user interface library
 
diff --git a/package/libhid/Config.in b/package/libhid/Config.in
index 093b98f..ec3abb8 100644
--- a/package/libhid/Config.in
+++ b/package/libhid/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LIBHID_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_LIBHID
 	bool "libhid"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_LIBUSB
 	select BR2_PACKAGE_LIBUSB_COMPAT
+	depends on BR2_PACKAGE_LIBHID_AVAILABLE
 	help
 	  Userspace library for accessing USB HID devices
 
diff --git a/package/libical/Config.in b/package/libical/Config.in
index 5907548..095e504 100644
--- a/package/libical/Config.in
+++ b/package/libical/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBICAL_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_LIBICAL
 	bool "libical"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LIBICAL_AVAILABLE
 	help
 	  libical is an Open Source (MPL/LGPL) implementation of the IETF's
 	  iCalendar Calendaring and Scheduling protocols.
diff --git a/package/libiconv/Config.in b/package/libiconv/Config.in
index ee4fd62..b0a4659 100644
--- a/package/libiconv/Config.in
+++ b/package/libiconv/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBICONV_AVAILABLE
+	def_bool y
+	depends on !BR2_ENABLE_LOCALE
+
 config BR2_PACKAGE_LIBICONV
 	bool "libiconv"
-	depends on !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_LIBICONV_AVAILABLE
 	help
 	  unicode conversion library
 
diff --git a/package/libid3tag/Config.in b/package/libid3tag/Config.in
index 869b9f7..8e13b54 100644
--- a/package/libid3tag/Config.in
+++ b/package/libid3tag/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBID3TAG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBID3TAG
 	bool "libid3tag"
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_LIBID3TAG_AVAILABLE
 	help
 	  ID3 tag reading library from the MAD project.
 
diff --git a/package/libidn/Config.in b/package/libidn/Config.in
index dcf9724..ab5bcbe 100644
--- a/package/libidn/Config.in
+++ b/package/libidn/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBIDN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBIDN
 	bool "libidn"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_LIBIDN_AVAILABLE
 	help
 	  Libidn's purpose is to encode and decode internationalized
 	  domain names.
diff --git a/package/libiqrf/Config.in b/package/libiqrf/Config.in
index 7222536..9007752 100644
--- a/package/libiqrf/Config.in
+++ b/package/libiqrf/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBIQRF_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_LIBIQRF
 	bool "libiqrf"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_LIBUSB
+	depends on BR2_PACKAGE_LIBIQRF_AVAILABLE
 	help
 	  This library implement specific protocol
 	  which is used for communicating with iqrf devices
diff --git a/package/liblo/Config.in b/package/liblo/Config.in
index 4c2d719..9eb66a3 100644
--- a/package/liblo/Config.in
+++ b/package/liblo/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBLO_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_LIBLO
 	bool "liblo"
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_LIBLO_AVAILABLE
 	help
 	  liblo is an implementation of the Open Sound Control
 	  protocol for POSIX systems
diff --git a/package/liblockfile/Config.in b/package/liblockfile/Config.in
index 88a9c33..ba5c1ec 100644
--- a/package/liblockfile/Config.in
+++ b/package/liblockfile/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_LIBLOCKFILE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBLOCKFILE
 	bool "liblockfile"
+	depends on BR2_PACKAGE_LIBLOCKFILE_AVAILABLE
 	help
 	  NFS-safe locking library.
diff --git a/package/libmad/Config.in b/package/libmad/Config.in
index d0edc49..90bb5b7 100644
--- a/package/libmad/Config.in
+++ b/package/libmad/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBMAD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBMAD
 	bool "libmad"
+	depends on BR2_PACKAGE_LIBMAD_AVAILABLE
 	help
 	  High-quality MPEG audio decoder.  All computations are performed
 	  with fixed-point integer arithmetic, making it ideal for systems
diff --git a/package/libmbus/Config.in b/package/libmbus/Config.in
index 1e2a8de..4e7e445 100644
--- a/package/libmbus/Config.in
+++ b/package/libmbus/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBMBUS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBMBUS
 	bool "libmbus"
+	depends on BR2_PACKAGE_LIBMBUS_AVAILABLE
 	help
 	  libmbus is a library for communicating with energy metering devices.
 	  It supports TCP and RS232 M-bus gateways.
diff --git a/package/libmicrohttpd/Config.in b/package/libmicrohttpd/Config.in
index cfedc8f..4af98b0 100644
--- a/package/libmicrohttpd/Config.in
+++ b/package/libmicrohttpd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBMICROHTTPD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBMICROHTTPD
 	bool "libmicrohttpd"
+	depends on BR2_PACKAGE_LIBMICROHTTPD_AVAILABLE
 	help
 	  GNU libmicrohttpd is a small C library that makes it easy to
 	  run an HTTP server as part of another application.
diff --git a/package/libmms/Config.in b/package/libmms/Config.in
index 17cb406..80fe2e4 100644
--- a/package/libmms/Config.in
+++ b/package/libmms/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBMMS_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_LIBMMS
 	bool "libmms"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_LIBMMS_AVAILABLE
 	help
           LibMMS is a common library for parsing mms:// and mmsh://
           type network streams. These are commonly used to stream
diff --git a/package/libmnl/Config.in b/package/libmnl/Config.in
index 87475df..5df3fcf 100644
--- a/package/libmnl/Config.in
+++ b/package/libmnl/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBMNL_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LIBMNL
 	bool "libmnl"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBMNL_AVAILABLE
 	help
 	  libmnl is a minimalistic user-space library oriented
 	  to Netlink developers.
diff --git a/package/libmodbus/Config.in b/package/libmodbus/Config.in
index ccf1190..3b52eec 100644
--- a/package/libmodbus/Config.in
+++ b/package/libmodbus/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBMODBUS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBMODBUS
 	bool "libmodbus"
+	depends on BR2_PACKAGE_LIBMODBUS_AVAILABLE
 	help
 	  libmodbus is a free software library to send/receive data according
 	  to the Modbus protocol. This library is written in C and supports
diff --git a/package/libmpd/Config.in b/package/libmpd/Config.in
index 9259c19..65eb21b 100644
--- a/package/libmpd/Config.in
+++ b/package/libmpd/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LIBMPD_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_LIBMPD
 	bool "libmpd"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_LIBMPD_AVAILABLE
 	help
 	  High-level client library for accessing Music Player Daemon.
 	  LibMpd is a library that provides high-level, callback-based
diff --git a/package/libmpeg2/Config.in b/package/libmpeg2/Config.in
index 3694689..3a38e31 100644
--- a/package/libmpeg2/Config.in
+++ b/package/libmpeg2/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBMPEG2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBMPEG2
 	bool "libmpeg2"
+	depends on BR2_PACKAGE_LIBMPEG2_AVAILABLE
 	help
 	  MPEG1/MPEG2 video decoder library
 
diff --git a/package/libnetfilter_conntrack/Config.in b/package/libnetfilter_conntrack/Config.in
index caf8a8a..cb13940 100644
--- a/package/libnetfilter_conntrack/Config.in
+++ b/package/libnetfilter_conntrack/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBNETFILTER_CONNTRACK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBNETFILTER_CONNTRACK
 	bool "libnetfilter_conntrack"
 	select BR2_PACKAGE_LIBNFNETLINK
+	depends on BR2_PACKAGE_LIBNETFILTER_CONNTRACK_AVAILABLE
 	help
 	  libnetfilter_conntrack is a userspace library providing
 	  a programming interface (API) to the in-kernel
diff --git a/package/libnetfilter_cttimeout/Config.in b/package/libnetfilter_cttimeout/Config.in
index 8e2f438..9781203 100644
--- a/package/libnetfilter_cttimeout/Config.in
+++ b/package/libnetfilter_cttimeout/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT
 	bool "libnetfilter_cttimeout"
-	depends on BR2_LARGEFILE
 	select BR2_PACKAGE_LIBMNL
+	depends on BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT_AVAILABLE
 	help
 	  libnetfilter_cttimeout is the userspace library that provides
 	  the programming interface to the fine-grain
diff --git a/package/libnfc-llcp/Config.in b/package/libnfc-llcp/Config.in
index f557926..67e88ce 100644
--- a/package/libnfc-llcp/Config.in
+++ b/package/libnfc-llcp/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBNFC_LLCP_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_LIBNFC_LLCP
 	bool "libnfc-llcp"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_LIBNFC
+	depends on BR2_PACKAGE_LIBNFC_LLCP_AVAILABLE
 	help
 	  Library extending libnfc with support for Logical Link Control
 	  Protocol.
diff --git a/package/libnfc/Config.in b/package/libnfc/Config.in
index 159578f..065dabc 100644
--- a/package/libnfc/Config.in
+++ b/package/libnfc/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LIBNFC_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_LIBNFC
 	bool "libnfc"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_LIBUSB
 	select BR2_PACKAGE_LIBUSB_COMPAT
+	depends on BR2_PACKAGE_LIBNFC_AVAILABLE
 	help
 	  Public platform independent Near Field Communication (NFC) library.
 
diff --git a/package/libnfnetlink/Config.in b/package/libnfnetlink/Config.in
index fa247c5..4929f58 100644
--- a/package/libnfnetlink/Config.in
+++ b/package/libnfnetlink/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBNFNETLINK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBNFNETLINK
 	bool "libnfnetlink"
+	depends on BR2_PACKAGE_LIBNFNETLINK_AVAILABLE
 	help
 	  libnfnetlink is the low-level library for netfilter related
 	  kernel/userspace communication.
diff --git a/package/libnl/Config.in b/package/libnl/Config.in
index f4a1dc2..be00d47 100644
--- a/package/libnl/Config.in
+++ b/package/libnl/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBNL_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_LIBNL
 	bool "libnl"
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_LIBNL_AVAILABLE
 	help
 	  A library for applications dealing with netlink socket.
 
diff --git a/package/libnspr/Config.in b/package/libnspr/Config.in
index 53086f0..e63c2ea 100644
--- a/package/libnspr/Config.in
+++ b/package/libnspr/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBNSPR_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LIBNSPR
 	bool "libnspr"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBNSPR_AVAILABLE
 	help
 	  NSPR is the Netscape Portable Runtime library which provides
 	  a platform-neutral API for system level and libc like
diff --git a/package/libnss/Config.in b/package/libnss/Config.in
index 55928a4..f0ece99 100644
--- a/package/libnss/Config.in
+++ b/package/libnss/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_LIBNSS_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LIBNSS
 	bool "libnss"
 	select BR2_PACKAGE_LIBNSPR
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_ZLIB
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBNSS_AVAILABLE
 	help
 	  Network Security Services (NSS) is a set of libraries designed
 	  to support development of security-enabled client and server
diff --git a/package/liboauth/Config.in b/package/liboauth/Config.in
index 77a78f1..74e0b4d 100644
--- a/package/liboauth/Config.in
+++ b/package/liboauth/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBOAUTH_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBOAUTH
 	bool "liboauth"
 	select BR2_PACKAGE_OPENSSL
+	depends on BR2_PACKAGE_LIBOAUTH_AVAILABLE
 	help
 	  liboauth is a collection of c functions implementing the oAuth
 	  Core 1.0 Rev A standard API. liboauth provides basic functions to
diff --git a/package/libogg/Config.in b/package/libogg/Config.in
index bf719ff..3117425 100644
--- a/package/libogg/Config.in
+++ b/package/libogg/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBOGG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBOGG
 	bool "libogg"
+	depends on BR2_PACKAGE_LIBOGG_AVAILABLE
 	help
 	  Ogg is a multimedia container format, and the native file
 	  and stream format for the Xiph.org multimedia codecs. As
diff --git a/package/liboping/Config.in b/package/liboping/Config.in
index 04e0e0d..2e60b35 100644
--- a/package/liboping/Config.in
+++ b/package/liboping/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBOPING_AVAILABLE
+	def_bool y
+	depends on BR2_INET_IPV6
+
 config BR2_PACKAGE_LIBOPING
 	bool "liboping"
-	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_LIBOPING_AVAILABLE
 	help
 	  liboping is a C library to generate ICMP echo requests,
 	  better known as "ping packets".
diff --git a/package/libosip2/Config.in b/package/libosip2/Config.in
index be5de2d..6c0e253 100644
--- a/package/libosip2/Config.in
+++ b/package/libosip2/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBOSIP2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBOSIP2
 	bool "libosip2"
+	depends on BR2_PACKAGE_LIBOSIP2_AVAILABLE
 	help
 	  GNU SIP (Session Initiation Protocol)
 	  This library aims to provide multimedia and telecom software
diff --git a/package/libpcap/Config.in b/package/libpcap/Config.in
index 7f9517a..2e8e0ae 100644
--- a/package/libpcap/Config.in
+++ b/package/libpcap/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBPCAP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBPCAP
 	bool "libpcap"
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_LIBPCAP_AVAILABLE
 	help
 	  A system-independent library for user-level network packet capture.
 
diff --git a/package/libplayer/Config.in b/package/libplayer/Config.in
index fe851ac..308839c 100644
--- a/package/libplayer/Config.in
+++ b/package/libplayer/Config.in
@@ -1,6 +1,10 @@
-config BR2_PACKAGE_LIBPLAYER
+config BR2_PACKAGE_LIBPLAYER_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
+
+config BR2_PACKAGE_LIBPLAYER
 	bool "libplayer"
+	depends on BR2_PACKAGE_LIBPLAYER_AVAILABLE
 	help
 	  libplayer provides a generic A/V API that relies on various multimedia
 	  player for Linux systems. It currently supports MPlayer, xine VLC and
diff --git a/package/libpng/Config.in b/package/libpng/Config.in
index b0a3646..b0796bb 100644
--- a/package/libpng/Config.in
+++ b/package/libpng/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBPNG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBPNG
 	bool "libpng"
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_LIBPNG_AVAILABLE
 	help
 	  Library for handling PNG (Portable Network Graphics)
 	  images.
diff --git a/package/libraw/Config.in b/package/libraw/Config.in
index 4378ccd..bc5947a 100644
--- a/package/libraw/Config.in
+++ b/package/libraw/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBRAW_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_LIBRAW
 	bool "libraw"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_LIBRAW_AVAILABLE
 	help
 	  libraw is a raw image manipulation library
 
diff --git a/package/libraw1394/Config.in b/package/libraw1394/Config.in
index 7a64959..58cade4 100644
--- a/package/libraw1394/Config.in
+++ b/package/libraw1394/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBRAW1394_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBRAW1394
 	bool "libraw1394"
+	depends on BR2_PACKAGE_LIBRAW1394_AVAILABLE
 	help
 	  libraw1394 provides direct access to the IEEE 1394 bus through
 	  the Linux 1394 subsystem's raw1394 user space interface.
diff --git a/package/libreplaygain/Config.in b/package/libreplaygain/Config.in
index d0045b2..363b14f 100644
--- a/package/libreplaygain/Config.in
+++ b/package/libreplaygain/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBREPLAYGAIN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBREPLAYGAIN
 	bool "libreplaygain"
+	depends on BR2_PACKAGE_LIBREPLAYGAIN_AVAILABLE
 	help
 	  Replay Gain library from Musepack
 
diff --git a/package/libroxml/Config.in b/package/libroxml/Config.in
index b6b253f..e2ec7ba 100644
--- a/package/libroxml/Config.in
+++ b/package/libroxml/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBROXML_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBROXML
 	bool "roxml"
+	depends on BR2_PACKAGE_LIBROXML_AVAILABLE
 	help
 	  libroxml is a light and powerful xml parsing library with
 	  xpath handling. Roxml is a binary using libroxml to explore
diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in
index fdb7d31..5d99f4e 100644
--- a/package/librsvg/Config.in
+++ b/package/librsvg/Config.in
@@ -1,3 +1,8 @@
+config BR2_PACKAGE_LIBRSVG_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_LIBRSVG
 	bool "librsvg"
 	select BR2_PACKAGE_LIBXML2
@@ -5,8 +10,7 @@ config BR2_PACKAGE_LIBRSVG
 	select BR2_PACKAGE_CAIRO_PNG
 	select BR2_PACKAGE_PANGO
 	select BR2_PACKAGE_LIBGLIB2
-	depends on BR2_PACKAGE_LIBGTK2
-	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBRSVG_AVAILABLE
 	help
 	  The rsvg library is an efficient renderer for Scalable
 	  Vector Graphics (SVG) pictures.
diff --git a/package/librsync/Config.in b/package/librsync/Config.in
index 5dcdfc8..9ed2b24 100644
--- a/package/librsync/Config.in
+++ b/package/librsync/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LIBRSYNC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBRSYNC
 	bool "librsync"
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_BZIP2
 	select BR2_PACKAGE_POPT
+	depends on BR2_PACKAGE_LIBRSYNC_AVAILABLE
 	help
 	  librsync implements the rolling-checksum algorithm of
 	  remote file synchronization that was popularized by the
diff --git a/package/libsamplerate/Config.in b/package/libsamplerate/Config.in
index b394fdb..b6145e5 100644
--- a/package/libsamplerate/Config.in
+++ b/package/libsamplerate/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBSAMPLERATE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBSAMPLERATE
 	bool "libsamplerate"
+	depends on BR2_PACKAGE_LIBSAMPLERATE_AVAILABLE
 	help
 	  Secret Rabbit Code (aka libsamplerate) is a Sample Rate
 	  Converter for audio. One example of where such a thing would
diff --git a/package/libsexy/Config.in b/package/libsexy/Config.in
index 5d1e710..3607401 100644
--- a/package/libsexy/Config.in
+++ b/package/libsexy/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBSEXY_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+
 config BR2_PACKAGE_LIBSEXY
 	bool "libsexy"
-	depends on BR2_PACKAGE_LIBGTK2
 	select BR2_PACKAGE_LIBXML2
+	depends on BR2_PACKAGE_LIBSEXY_AVAILABLE
 	help
 	  libsexy is a collection of GTK+ widgets that extend the
 	  functionality of such standard widgets as GtkEntry and
diff --git a/package/libsigc/Config.in b/package/libsigc/Config.in
index 93fa3f4..4601e13 100644
--- a/package/libsigc/Config.in
+++ b/package/libsigc/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBSIGC_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_LIBSIGC
 	bool "libsigc++"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_LIBSIGC_AVAILABLE
 	help
 	  libsigc++ implements a typesafe callback system for standard C++.
 	  It allows you to define signals and to connect those signals to
diff --git a/package/libsndfile/Config.in b/package/libsndfile/Config.in
index 9afe496..a07f8cc 100644
--- a/package/libsndfile/Config.in
+++ b/package/libsndfile/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBSNDFILE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBSNDFILE
 	bool "libsndfile"
+	depends on BR2_PACKAGE_LIBSNDFILE_AVAILABLE
 	help
 	  Libsndfile is a C library for reading and writing files containing
 	  sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format)
diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in
index f40625d..190f160 100644
--- a/package/libsoup/Config.in
+++ b/package/libsoup/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_LIBSOUP_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2 and gnutls
+
 config BR2_PACKAGE_LIBSOUP
 	bool "libsoup"
-	depends on BR2_USE_WCHAR # glib2 and gnutls
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	depends on BR2_PACKAGE_LIBSOUP_AVAILABLE
 	help
 	  libsoup is an HTTP client/server library. It uses GObject
 	  and the GLib main loop, to integrate well with GNOME
diff --git a/package/libsvgtiny/Config.in b/package/libsvgtiny/Config.in
index 836dec2..aa28766 100644
--- a/package/libsvgtiny/Config.in
+++ b/package/libsvgtiny/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBSVGTINY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBSVGTINY
 	bool "libsvgtiny"
 	select BR2_PACKAGE_LIBXML2
+	depends on BR2_PACKAGE_LIBSVGTINY_AVAILABLE
 	help
 	  Libsvgtiny is an implementation of SVG Tiny, written in C.
 	  It is currently in development for use with NetSurf and is
diff --git a/package/libsysfs/Config.in b/package/libsysfs/Config.in
index e4e6f28..4a367b8 100644
--- a/package/libsysfs/Config.in
+++ b/package/libsysfs/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBSYSFS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBSYSFS
 	bool "libsysfs"
+	depends on BR2_PACKAGE_LIBSYSFS_AVAILABLE
 	help
 	These are a set of utilities built upon sysfs, a filesystem in
 	Linux 2.6 kernels that exposes a system's device tree.
diff --git a/package/libtheora/Config.in b/package/libtheora/Config.in
index bf20a50..c17c96c 100644
--- a/package/libtheora/Config.in
+++ b/package/libtheora/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBTHEORA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBTHEORA
 	bool "libtheora"
 	select BR2_PACKAGE_LIBOGG
 	select BR2_PACKAGE_LIBVORBIS
+	depends on BR2_PACKAGE_LIBTHEORA_AVAILABLE
 	help
 	  A library for the free and open video compression format "Theora"
 	  from the Xiph.org Foundation.
diff --git a/package/libtool/Config.in b/package/libtool/Config.in
index d3cf2d7..6f6dbeb 100644
--- a/package/libtool/Config.in
+++ b/package/libtool/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBTOOL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBTOOL
 	bool "libtool"
+	depends on BR2_PACKAGE_LIBTOOL_AVAILABLE
 	help
 	  Library that hides the complexity of using shared/static libraries
 	  on different platforms behind a consistent, portable interface.
diff --git a/package/libtorrent/Config.in b/package/libtorrent/Config.in
index f0315a4..f26d6cf 100644
--- a/package/libtorrent/Config.in
+++ b/package/libtorrent/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LIBTORRENT_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_LIBTORRENT
 	bool "libtorrent"
-	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_LIBSIGC
+	depends on BR2_PACKAGE_LIBTORRENT_AVAILABLE
 	help
 	  BitTorrent library written in C++ for *nix
 
diff --git a/package/libtpl/Config.in b/package/libtpl/Config.in
index a2c2c2d..901c951 100644
--- a/package/libtpl/Config.in
+++ b/package/libtpl/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBTPL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBTPL
 	bool "libtpl"
+	depends on BR2_PACKAGE_LIBTPL_AVAILABLE
 	help
 	  Easily store and retrieve binary data in C
 
diff --git a/package/libungif/Config.in b/package/libungif/Config.in
index e8c301c..17fc665 100644
--- a/package/libungif/Config.in
+++ b/package/libungif/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBUNGIF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBUNGIF
 	bool "libungif"
+	depends on BR2_PACKAGE_LIBUNGIF_AVAILABLE
 	help
 	  libungif is a library for handling the uncompressed GIF image format.
 
diff --git a/package/libupnp/Config.in b/package/libupnp/Config.in
index 2e6edcd..7919530 100644
--- a/package/libupnp/Config.in
+++ b/package/libupnp/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBUPNP_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LIBUPNP
 	bool "libupnp"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBUPNP_AVAILABLE
 	help
 	  The portable SDK for UPnP(tm) Devices (libupnp) provides developers
 	  with an API and open source code for building control points,
diff --git a/package/liburcu/Config.in b/package/liburcu/Config.in
index 69878b1..013af3a 100644
--- a/package/liburcu/Config.in
+++ b/package/liburcu/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBURCU_AVAILABLE
+	def_bool y
+	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+
 config BR2_PACKAGE_LIBURCU
 	bool "liburcu"
-	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+	depends on BR2_PACKAGE_LIBURCU_AVAILABLE
 	help
 	  Userspace implementation of the Read-Copy-Update (RCU)
 	  synchronization mechanism. This library is mainly used by
diff --git a/package/libusb-compat/Config.in b/package/libusb-compat/Config.in
index f6f49ca..70d8878 100644
--- a/package/libusb-compat/Config.in
+++ b/package/libusb-compat/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBUSB_COMPAT_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBUSB
+
 config BR2_PACKAGE_LIBUSB_COMPAT
 	bool "libusb-compat"
-	depends on BR2_PACKAGE_LIBUSB
+	depends on BR2_PACKAGE_LIBUSB_COMPAT_AVAILABLE
 	help
 	  libusb-0.1 compatibility layer for libusb-1.0.
 
diff --git a/package/libusb/Config.in b/package/libusb/Config.in
index 2eed3fa..0842e4d 100644
--- a/package/libusb/Config.in
+++ b/package/libusb/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBUSB_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_LIBUSB
 	bool "libusb"
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 	help
 	  Userspace library for accessing USB devices
 
diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in
index 1e5eec6..85fb809 100644
--- a/package/libv4l/Config.in
+++ b/package/libv4l/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBV4L_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LIBV4L
 	bool "libv4l"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBV4L_AVAILABLE
 	help
 	  libv4l is an accompanying collection of libraries that adds a thin
 	  abstraction layer on top of video4linux2 (V4L2) devices.
diff --git a/package/libvncserver/Config.in b/package/libvncserver/Config.in
index ff83e34..416f698 100644
--- a/package/libvncserver/Config.in
+++ b/package/libvncserver/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBVNCSERVER_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBVNCSERVER
 	bool "libvncserver"
+	depends on BR2_PACKAGE_LIBVNCSERVER_AVAILABLE
 	help
 	  libvncserver is a VNC server/client library.
 
diff --git a/package/libvorbis/Config.in b/package/libvorbis/Config.in
index e322dd2..dca00da 100644
--- a/package/libvorbis/Config.in
+++ b/package/libvorbis/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBVORBIS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBVORBIS
 	bool "libvorbis"
 	select BR2_PACKAGE_LIBOGG
+	depends on BR2_PACKAGE_LIBVORBIS_AVAILABLE
 	help
 	  Library for the Vorbis open source audio decoder
 	  Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
diff --git a/package/libxml-parser-perl/Config.in b/package/libxml-parser-perl/Config.in
index e90e50e..a3028b3 100644
--- a/package/libxml-parser-perl/Config.in
+++ b/package/libxml-parser-perl/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_LIBXML_PARSER_PERL_AVAILABLE
+	def_bool y
+       depends on BR2_HOST_ONLY
+
 config BR2_PACKAGE_LIBXML_PARSER_PERL
        bool "libxml-parser-perl"
        select BR2_PACKAGE_EXPAT
        # Hide from configuration as we only support the host package
        # for the moment
-       depends on BR2_HOST_ONLY
+	depends on BR2_PACKAGE_LIBXML_PARSER_PERL_AVAILABLE
        help
          The Perl XML::Parser module.
 
diff --git a/package/libxml2/Config.in b/package/libxml2/Config.in
index ebd63fe..46cdb53 100644
--- a/package/libxml2/Config.in
+++ b/package/libxml2/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBXML2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBXML2
 	bool "libxml2"
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
 	help
 	  XML C Parser
 
diff --git a/package/libxslt/Config.in b/package/libxslt/Config.in
index 1dca1f0..0e3d4b2 100644
--- a/package/libxslt/Config.in
+++ b/package/libxslt/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIBXSLT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBXSLT
 	bool "libxslt"
 	select BR2_PACKAGE_LIBXML2
+	depends on BR2_PACKAGE_LIBXSLT_AVAILABLE
 	help
 	  Install the xslt library which is used
 	  to transform XML files to other XML files.
diff --git a/package/libyaml/Config.in b/package/libyaml/Config.in
index 00a48b2..a2265d9 100644
--- a/package/libyaml/Config.in
+++ b/package/libyaml/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIBYAML_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBYAML
 	bool "libyaml"
+	depends on BR2_PACKAGE_LIBYAML_AVAILABLE
 	help
 	  LibYAML is a YAML 1.1 parser and emitter written in C.
 
diff --git a/package/lighttpd/Config.in b/package/lighttpd/Config.in
index cb759ff..1819989 100644
--- a/package/lighttpd/Config.in
+++ b/package/lighttpd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LIGHTTPD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIGHTTPD
 	bool "lighttpd"
+	depends on BR2_PACKAGE_LIGHTTPD_AVAILABLE
 	help
 	  lighttpd a secure, fast, compliant and very flexible web-server
 	  which has been optimized for high-performance environments. It
diff --git a/package/links/Config.in b/package/links/Config.in
index fddf3d2..f67a7f2 100644
--- a/package/links/Config.in
+++ b/package/links/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LINKS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LINKS
 	bool "links"
+	depends on BR2_PACKAGE_LINKS_AVAILABLE
 	help
 	  Graphics and text mode WWW browser (kind of like lynx).
 
diff --git a/package/linphone/Config.in b/package/linphone/Config.in
index 1a6cfdb..f641009 100644
--- a/package/linphone/Config.in
+++ b/package/linphone/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_LINPHONE_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP # mediastreamer
+
 config BR2_PACKAGE_LINPHONE
 	bool "linphone"
 	select BR2_PACKAGE_LIBEXOSIP2
 	select BR2_PACKAGE_SPEEX
 	select BR2_PACKAGE_ORTP
 	select BR2_PACKAGE_MEDIASTREAMER
-	depends on BR2_INSTALL_LIBSTDCPP # mediastreamer
+	depends on BR2_PACKAGE_LINPHONE_AVAILABLE
 	help
 	  Linphone is an internet phone or Voice Over IP phone (VoIP).
 
diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in
index 0c24d98..500d951 100644
--- a/package/linux-firmware/Config.in
+++ b/package/linux-firmware/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LINUX_FIRMWARE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LINUX_FIRMWARE
 	bool "linux-firmware"
+	depends on BR2_PACKAGE_LINUX_FIRMWARE_AVAILABLE
 	help
 	  This package provides various binary firmware files (closed
 	  binary blobs) for such devices like LAN, WLAN cards etc.
diff --git a/package/linux-fusion/Config.in b/package/linux-fusion/Config.in
index 197e81b..f89116d 100644
--- a/package/linux-fusion/Config.in
+++ b/package/linux-fusion/Config.in
@@ -1,6 +1,10 @@
-config BR2_PACKAGE_LINUX_FUSION
+config BR2_PACKAGE_LINUX_FUSION_AVAILABLE
+	def_bool y
 	depends on BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_LINUX_FUSION
 	bool "linux-fusion communication layer for DirectFB multi"
+	depends on BR2_PACKAGE_LINUX_FUSION_AVAILABLE
 	help
 	  DirectFB Communication Layer allowing multiple DirectFB
 	  applications to run concurrently
diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in
index 722b875..e75da43 100644
--- a/package/linux-pam/Config.in
+++ b/package/linux-pam/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_LINUX_PAM_AVAILABLE
+	def_bool y
+	depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR)
+
 config BR2_PACKAGE_LINUX_PAM
 	bool "linux-pam"
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_FLEX
 	select BR2_PACKAGE_FLEX_LIBFL
-	depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR)
+	depends on BR2_PACKAGE_LINUX_PAM_AVAILABLE
 	help
 	  A Security Framework that Provides Authentication for Applications
 
diff --git a/package/lite/Config.in b/package/lite/Config.in
index 8840fe4..679ca93 100644
--- a/package/lite/Config.in
+++ b/package/lite/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LITE_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_DIRECTFB
+
 config BR2_PACKAGE_LITE
 	bool "LiTE (toolbox engine)"
-	depends on BR2_PACKAGE_DIRECTFB
+	depends on BR2_PACKAGE_LITE_AVAILABLE
 	help
 	   LiTE stands for LiTE is a Toolbox Engine. 
 	   Its role is to facilitate the functions of DirectFB so that a
diff --git a/package/live555/Config.in b/package/live555/Config.in
index 610fafc..d1731bf 100644
--- a/package/live555/Config.in
+++ b/package/live555/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LIVE555_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_LIVE555
 	bool "live555"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_LIVE555_AVAILABLE
 	help
 	  LIVE555 Streaming Media forms a set of C++ libraries for multimedia
 	  streaming, using open standard protocols (RTP/RTCP, RTSP, SIP).
diff --git a/package/lm-sensors/Config.in b/package/lm-sensors/Config.in
index 33c59fd..b32c99a 100644
--- a/package/lm-sensors/Config.in
+++ b/package/lm-sensors/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LM_SENSORS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LM_SENSORS
 	bool "lm-sensors"
+	depends on BR2_PACKAGE_LM_SENSORS_AVAILABLE
 	help
 	  Lm-sensors is a hardware health monitoring package for
 	  Linux. It allows you to access information from
diff --git a/package/lmbench/Config.in b/package/lmbench/Config.in
index c8423d1..cde05d6 100644
--- a/package/lmbench/Config.in
+++ b/package/lmbench/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LMBENCH_AVAILABLE
+	def_bool y
+	depends on BR2_INET_RPC
+
 config BR2_PACKAGE_LMBENCH
 	bool "lmbench"
 	# Uses pmap_set, pmap__unset, pmap_getport, etc.
-	depends on BR2_INET_RPC
+	depends on BR2_PACKAGE_LMBENCH_AVAILABLE
 	help
 	  LMbench is a suite of simple, portable,
 	  ANSI/C microbenchmarks for UNIX/POSIX.
diff --git a/package/lockfile-progs/Config.in b/package/lockfile-progs/Config.in
index de101a9..ce10a94 100644
--- a/package/lockfile-progs/Config.in
+++ b/package/lockfile-progs/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LOCKFILE_PROGS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LOCKFILE_PROGS
 	bool "lockfile programs"
 	select BR2_PACKAGE_LIBLOCKFILE
+	depends on BR2_PACKAGE_LOCKFILE_PROGS_AVAILABLE
 	help
 	  Build lockfile utility programs.
diff --git a/package/logrotate/Config.in b/package/logrotate/Config.in
index 0d0ec61..0130b0c 100644
--- a/package/logrotate/Config.in
+++ b/package/logrotate/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LOGROTATE_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_LOGROTATE
 	bool "logrotate"
 	select BR2_PACKAGE_POPT
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LOGROTATE_AVAILABLE
 	help
 	  A simple program to rotate logs.
 
diff --git a/package/logsurfer/Config.in b/package/logsurfer/Config.in
index 27d1881..cdfe970 100644
--- a/package/logsurfer/Config.in
+++ b/package/logsurfer/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LOGSURFER_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LOGSURFER
 	bool "logsurfer"
+	depends on BR2_PACKAGE_LOGSURFER_AVAILABLE
 	help
 	  Logsurfer is a program for monitoring system logs in real-time,
 	  and reporting on the occurrence of events.
diff --git a/package/lrzsz/Config.in b/package/lrzsz/Config.in
index 70f10cd..c3ce9ac 100644
--- a/package/lrzsz/Config.in
+++ b/package/lrzsz/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LRZSZ_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LRZSZ
 	bool "lrzsz"
+	depends on BR2_PACKAGE_LRZSZ_AVAILABLE
 	help
 	  Portable and fast implementation of the X/Y/Zmodem protocols.
 
diff --git a/package/lshw/Config.in b/package/lshw/Config.in
index 4960ac9..20d97a9 100644
--- a/package/lshw/Config.in
+++ b/package/lshw/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_LSHW
-	bool "lshw"
+config BR2_PACKAGE_LSHW_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_LSHW
+	bool "lshw"
+	depends on BR2_PACKAGE_LSHW_AVAILABLE
 	help
 	  lshw (Hardware Lister) is a small tool to provide
 	  detailed information on the hardware configuration of the machine.
diff --git a/package/lsof/Config.in b/package/lsof/Config.in
index cc7512c..6be0d89 100644
--- a/package/lsof/Config.in
+++ b/package/lsof/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LSOF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LSOF
 	bool "lsof"
+	depends on BR2_PACKAGE_LSOF_AVAILABLE
 	help
 	  lsof (LiSt Open Files)
 	  The lsof tool lists information about files opened by
diff --git a/package/lsuio/Config.in b/package/lsuio/Config.in
index 675a318..33457aa 100644
--- a/package/lsuio/Config.in
+++ b/package/lsuio/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LSUIO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LSUIO
 	bool "lsuio"
+	depends on BR2_PACKAGE_LSUIO_AVAILABLE
 	help
 	  list available userspace I/O (UIO) devices
 
diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in
index 86aa4fb..b56e707 100644
--- a/package/ltp-testsuite/Config.in
+++ b/package/ltp-testsuite/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LTP_TESTSUITE_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+
 config BR2_PACKAGE_LTP_TESTSUITE
 	bool "ltp-testsuite"
-	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_LTP_TESTSUITE_AVAILABLE
 	help
 	  The Linux Test Project provides a huge testsuite for Linux.
 
diff --git a/package/ltrace/Config.in b/package/ltrace/Config.in
index 9e71d82..c3f9714 100644
--- a/package/ltrace/Config.in
+++ b/package/ltrace/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_LTRACE_AVAILABLE
+	def_bool y
+	depends on !(BR2_avr32 || BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64 || BR2_xtensa)
+
 config BR2_PACKAGE_LTRACE
 	bool "ltrace"
-	depends on !(BR2_avr32 || BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64 || BR2_xtensa)
 	select BR2_PACKAGE_LIBELF
+	depends on BR2_PACKAGE_LTRACE_AVAILABLE
 	help
 	  Debugging program which runs a specified command until it exits.
 	  While the command is executing, ltrace intercepts and records
diff --git a/package/lttng-babeltrace/Config.in b/package/lttng-babeltrace/Config.in
index 6f47304..a2a5dcd 100644
--- a/package/lttng-babeltrace/Config.in
+++ b/package/lttng-babeltrace/Config.in
@@ -1,14 +1,18 @@
+config BR2_PACKAGE_LTTNG_BABELTRACE_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LTTNG_TOOLS
+	depends on BR2_USE_WCHAR
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LTTNG_BABELTRACE
 	bool "lttng-babeltrace"
-	depends on BR2_PACKAGE_LTTNG_TOOLS
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	select BR2_PACKAGE_LIBGLIB2
 	# libglib2 needs gettext which needs wchar support, and we
 	# also depends on util-linux which needs wchar
-	depends on BR2_USE_WCHAR
 	# util-linux depends on largefile support
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LTTNG_BABELTRACE_AVAILABLE
 	help
 	  Babeltrace is part of the LTTng 2.x project.
 
diff --git a/package/lttng-libust/Config.in b/package/lttng-libust/Config.in
index ab12963..f22c75e 100644
--- a/package/lttng-libust/Config.in
+++ b/package/lttng-libust/Config.in
@@ -1,13 +1,17 @@
+config BR2_PACKAGE_LTTNG_LIBUST_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+	depends on BR2_LARGEFILE
+	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+
 config BR2_PACKAGE_LTTNG_LIBUST
 	bool "lttng-libust"
 	select BR2_PACKAGE_LIBURCU
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	# util-linux needs wchar and largefile
-	depends on BR2_USE_WCHAR
-	depends on BR2_LARGEFILE
 	# liburcu only works on some architectures
-	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+	depends on BR2_PACKAGE_LTTNG_LIBUST_AVAILABLE
 	help
 	  Userspace tracing library for the Lttng tracing
 	  infrastructure. It allows userspace programs to create
diff --git a/package/lttng-modules/Config.in b/package/lttng-modules/Config.in
index 2a0f938..973aec0 100644
--- a/package/lttng-modules/Config.in
+++ b/package/lttng-modules/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LTTNG_MODULES_AVAILABLE
+	def_bool y
+	depends on BR2_LINUX_KERNEL
+
 config BR2_PACKAGE_LTTNG_MODULES
 	bool "lttng-modules"
-	depends on BR2_LINUX_KERNEL
+	depends on BR2_PACKAGE_LTTNG_MODULES_AVAILABLE
 	help
 	  Kernel modules for the LTTng 2.0 kernel tracing
 	  infrastructure.
diff --git a/package/lttng-tools/Config.in b/package/lttng-tools/Config.in
index b854757..03d38b7 100644
--- a/package/lttng-tools/Config.in
+++ b/package/lttng-tools/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_LTTNG_TOOLS_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LTTNG_MODULES
+	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+
 config BR2_PACKAGE_LTTNG_TOOLS
 	bool "lttng-tools"
-	depends on BR2_PACKAGE_LTTNG_MODULES
 	select BR2_PACKAGE_LIBURCU
 	select BR2_PACKAGE_POPT
 	# liburcu only works on some architectures
-	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+	depends on BR2_PACKAGE_LTTNG_TOOLS_AVAILABLE
 	help
 	  Userspace utilities for the LTTng 2.0 tracing
 	  infrastructure.
diff --git a/package/lua/Config.in b/package/lua/Config.in
index 76359c0..a38ba57 100644
--- a/package/lua/Config.in
+++ b/package/lua/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LUA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LUA
 	bool "lua"
+	depends on BR2_PACKAGE_LUA_AVAILABLE
 	help
 	  Lua is a powerful, fast, light-weight, embeddable scripting language.
 
diff --git a/package/luacjson/Config.in b/package/luacjson/Config.in
index 8a5624f..f2fd2c2 100644
--- a/package/luacjson/Config.in
+++ b/package/luacjson/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LUACJSON_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LUACJSON
 	bool "luacjson"
+	depends on BR2_PACKAGE_LUACJSON_AVAILABLE
 	help
 	  The Lua CJSON module provides JSON support for Lua. It features:
 	  - Fast, standards compliant encoding/parsing routines
diff --git a/package/luaexpat/Config.in b/package/luaexpat/Config.in
index 186c5c9..4e893d3 100644
--- a/package/luaexpat/Config.in
+++ b/package/luaexpat/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LUAEXPAT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LUAEXPAT
 	bool "luaexpat"
 	select BR2_PACKAGE_EXPAT
+	depends on BR2_PACKAGE_LUAEXPAT_AVAILABLE
 	help
 	  LuaExpat is a SAX XML parser based on the Expat library.
 
diff --git a/package/luafilesystem/Config.in b/package/luafilesystem/Config.in
index 7c130f8..a40ff70 100644
--- a/package/luafilesystem/Config.in
+++ b/package/luafilesystem/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LUAFILESYSTEM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LUAFILESYSTEM
 	bool "luafilesystem"
+	depends on BR2_PACKAGE_LUAFILESYSTEM_AVAILABLE
 	help
 	  LuaFileSystem offers a portable way to access
 	  the underlying directory structure and file attributes.
diff --git a/package/luajit/Config.in b/package/luajit/Config.in
index 23b2650..82adcb2 100644
--- a/package/luajit/Config.in
+++ b/package/luajit/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_LUAJIT_AVAILABLE
+	def_bool y
+	depends on BR2_i386 || (BR2_x86_64 && BR2_HOSTARCH='x86_64') || BR2_powerpc || BR2_arm || BR2_armeb
+
 config BR2_PACKAGE_LUAJIT
 	bool "luajit"
 	# Luajit is only available for some target architectures, and
 	# has some complexity wrt 32/64. See luajit.mk for details.
-	depends on BR2_i386 || (BR2_x86_64 && BR2_HOSTARCH='x86_64') || BR2_powerpc || BR2_arm || BR2_armeb
+	depends on BR2_PACKAGE_LUAJIT_AVAILABLE
 	help
 	  LuaJIT implements the full set of language features defined
 	  by Lua 5.1. The virtual machine (VM) is API- and
diff --git a/package/luasocket/Config.in b/package/luasocket/Config.in
index 4526303..ffa1efc 100644
--- a/package/luasocket/Config.in
+++ b/package/luasocket/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LUASOCKET_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LUASOCKET
 	bool "luasocket"
+	depends on BR2_PACKAGE_LUASOCKET_AVAILABLE
 	help
 	  LuaSocket is the most comprehensive networking support library
 	  for the Lua language.
diff --git a/package/lvm2/Config.in b/package/lvm2/Config.in
index 30af14e..3012e2f 100644
--- a/package/lvm2/Config.in
+++ b/package/lvm2/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LVM2_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_LVM2
 	bool "lvm2 & device mapper"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LVM2_AVAILABLE
 	help
 	  This is LVM2, the rewrite of The Linux Logical Volume Manager.
 	  LVM supports enterprise level volume management of disk and disk
diff --git a/package/lzma/Config.in b/package/lzma/Config.in
index 2b94dde..aa4aff3 100644
--- a/package/lzma/Config.in
+++ b/package/lzma/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_LZMA
-	bool "lzma"
+config BR2_PACKAGE_LZMA_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_DEPRECATED
+
+config BR2_PACKAGE_LZMA
+	bool "lzma"
+	depends on BR2_PACKAGE_LZMA_AVAILABLE
 	help
 	  Lempel Ziv compression method (LZMA) is a compression
 	  algorithm with high compression ratio.
diff --git a/package/lzo/Config.in b/package/lzo/Config.in
index 1b6f80b..47e2d68 100644
--- a/package/lzo/Config.in
+++ b/package/lzo/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LZO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LZO
 	bool "lzo"
+	depends on BR2_PACKAGE_LZO_AVAILABLE
 	help
 	  Portable lossless data compression library written in ANSI C.
 
diff --git a/package/lzop/Config.in b/package/lzop/Config.in
index c911823..43136d5 100644
--- a/package/lzop/Config.in
+++ b/package/lzop/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_LZOP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LZOP
 	bool "lzop"
 	select BR2_PACKAGE_LZO
+	depends on BR2_PACKAGE_LZOP_AVAILABLE
 	help
 	  lzop is a file compressor which is very similar to gzip.
 	  lzop uses the LZO data compression library for compression services.
diff --git a/package/m4/Config.in b/package/m4/Config.in
index dee2d83..6de461c 100644
--- a/package/m4/Config.in
+++ b/package/m4/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_M4_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_M4
 	bool "m4"
-	depends on BR2_USE_WCHAR
 	# uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_M4_AVAILABLE
 	help
 	  An implementation of the traditional Unix macro processor.
 
diff --git a/package/make/Config.in b/package/make/Config.in
index 364bb1e..3583ae1 100644
--- a/package/make/Config.in
+++ b/package/make/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_MAKE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MAKE
 	bool "make"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_MAKE_AVAILABLE
 	help
 	  A tool which controls the generation of executables and other
 	  non-source files of a program from the program's source files.
diff --git a/package/makedevs/Config.in b/package/makedevs/Config.in
index 4f8c38d..c415893 100644
--- a/package/makedevs/Config.in
+++ b/package/makedevs/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MAKEDEVS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MAKEDEVS
        bool "makedevs"
+	depends on BR2_PACKAGE_MAKEDEVS_AVAILABLE
        help
          The makedevs utility allows to create a set of device files
-         according to a configuration file.
\ No newline at end of file
+         according to a configuration file.
diff --git a/package/matchbox/Config.in b/package/matchbox/Config.in
index e4b6149..006211e 100644
--- a/package/matchbox/Config.in
+++ b/package/matchbox/Config.in
@@ -1,11 +1,15 @@
+config BR2_PACKAGE_MATCHBOX_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_MATCHBOX
 	bool "MatchBox Window Manager"
-	depends on BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
+	depends on BR2_PACKAGE_MATCHBOX_AVAILABLE
 	help
 	  http://projects.o-hand.com/matchbox
 
diff --git a/package/mdadm/Config.in b/package/mdadm/Config.in
index 6426453..a0869d6 100644
--- a/package/mdadm/Config.in
+++ b/package/mdadm/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MDADM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MDADM
 	bool "mdadm"
+	depends on BR2_PACKAGE_MDADM_AVAILABLE
 	help
 	  Utility for managing RAID hardware.
 
diff --git a/package/mediastreamer/Config.in b/package/mediastreamer/Config.in
index 2e1af93..c20e056 100644
--- a/package/mediastreamer/Config.in
+++ b/package/mediastreamer/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_MEDIASTREAMER_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP # until fixed
+
 config BR2_PACKAGE_MEDIASTREAMER
 	bool "mediastreamer"
 	select BR2_PACKAGE_ORTP
-	depends on BR2_INSTALL_LIBSTDCPP # until fixed
+	depends on BR2_PACKAGE_MEDIASTREAMER_AVAILABLE
 	help
 	  Mediastreamer is a powerful and lightweighted streaming
 	  engine specialized for voice/video telephony applications.
diff --git a/package/memstat/Config.in b/package/memstat/Config.in
index ca34ea3..085a373 100644
--- a/package/memstat/Config.in
+++ b/package/memstat/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MEMSTAT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MEMSTAT
 	bool "memstat"
+	depends on BR2_PACKAGE_MEMSTAT_AVAILABLE
 	help
 	  Memstat lists all the processes, executables, and shared
 	  libraries that are using up virtual memory. It's helpful to
diff --git a/package/memtester/Config.in b/package/memtester/Config.in
index 82769f5..86c06ea 100644
--- a/package/memtester/Config.in
+++ b/package/memtester/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_MEMTESTER_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_MEMTESTER
 	bool "memtester"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_MEMTESTER_AVAILABLE
 	help
 	  A userspace utility for testing the memory subsystem for faults.
 
diff --git a/package/metacity/Config.in b/package/metacity/Config.in
index c483c44..75ed570 100644
--- a/package/metacity/Config.in
+++ b/package/metacity/Config.in
@@ -1,6 +1,10 @@
-config BR2_PACKAGE_METACITY
-	bool "metacity"
+config BR2_PACKAGE_METACITY_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_LIBGTK2
 	depends on BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_METACITY
+	bool "metacity"
+	depends on BR2_PACKAGE_METACITY_AVAILABLE
 	help
 	  Metacity is a window manager for the X Window System.
diff --git a/package/microperl/Config.in b/package/microperl/Config.in
index 66bbedd..21b3d83 100644
--- a/package/microperl/Config.in
+++ b/package/microperl/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_MICROPERL_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_MICROPERL
 	bool "microperl"
 	# needs fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_MICROPERL_AVAILABLE
 	help
 	  Perl without operating-specific functions such as readdir.
 
diff --git a/package/midori/Config.in b/package/midori/Config.in
index 49867e4..c2d1b59 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -1,3 +1,9 @@
+config BR2_PACKAGE_MIDORI_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_INSTALL_LIBSTDCPP # webkit
+	depends on BR2_USE_WCHAR	 # webkit
+
 config BR2_PACKAGE_MIDORI
 	bool "midori"
 	select BR2_PACKAGE_WEBKIT
@@ -5,9 +11,7 @@ config BR2_PACKAGE_MIDORI
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
-	depends on BR2_PACKAGE_LIBGTK2
-	depends on BR2_INSTALL_LIBSTDCPP # webkit
-	depends on BR2_USE_WCHAR	 # webkit
+	depends on BR2_PACKAGE_MIDORI_AVAILABLE
 	help
 	  Midori is a lightweight web browser based on WebKit
 
diff --git a/package/mii-diag/Config.in b/package/mii-diag/Config.in
index ca48ba2..3b3d264 100644
--- a/package/mii-diag/Config.in
+++ b/package/mii-diag/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MII_DIAG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MII_DIAG
 	bool "mii-diag"
+	depends on BR2_PACKAGE_MII_DIAG_AVAILABLE
 	help
 	  mii-diag allows you to manipulate the MII registers of
 	  network cards.
diff --git a/package/minicom/Config.in b/package/minicom/Config.in
index a8a2635..76c1391 100644
--- a/package/minicom/Config.in
+++ b/package/minicom/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_MINICOM_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_MINICOM
 	bool "minicom"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_MINICOM_AVAILABLE
 	help
 	  Minicom is a menu driven communications program.
 	  It emulates ANSI and VT102 terminals. It has a
diff --git a/package/mobile-broadband-provider-info/Config.in b/package/mobile-broadband-provider-info/Config.in
index dda7105..f4e1900 100644
--- a/package/mobile-broadband-provider-info/Config.in
+++ b/package/mobile-broadband-provider-info/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO
 	bool "mobile-broadband-provider-info"
+	depends on BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO_AVAILABLE
 	help
 	  Mobile broadband provider database.
 
diff --git a/package/module-init-tools/Config.in b/package/module-init-tools/Config.in
index 77e3bce..1a67917 100644
--- a/package/module-init-tools/Config.in
+++ b/package/module-init-tools/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MODULE_INIT_TOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MODULE_INIT_TOOLS
 	bool "module-init-tools"
+	depends on BR2_PACKAGE_MODULE_INIT_TOOLS_AVAILABLE
 	help
 	  The module-init-tools package contains a set of programs for
 	  loading, inserting, and removing kernel modules for Linux
diff --git a/package/monit/Config.in b/package/monit/Config.in
index 6933aaf..8d1e3f2 100644
--- a/package/monit/Config.in
+++ b/package/monit/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MONIT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MONIT
 	bool "monit"
+	depends on BR2_PACKAGE_MONIT_AVAILABLE
 	help
 	  Monit is a free open source utility for managing and
 	  monitoring, processes, programs, files, directories and
diff --git a/package/mpc/Config.in b/package/mpc/Config.in
index 8377013..8ec89e6 100644
--- a/package/mpc/Config.in
+++ b/package/mpc/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_MPC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MPC
 	bool "mpc"
 	select BR2_PACKAGE_MPFR
 	select BR2_PACKAGE_GMP
+	depends on BR2_PACKAGE_MPC_AVAILABLE
 	help
 	  Mpc is a C library for the arithmetic of complex numbers with
 	  arbitrarily high precision and correct rounding of the result.
diff --git a/package/mpfr/Config.in b/package/mpfr/Config.in
index 9acb0b4..1df1ffc 100644
--- a/package/mpfr/Config.in
+++ b/package/mpfr/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_MPFR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MPFR
 	bool "mpfr"
 	default y if BR2_INSTALL_FORTRAN
 	select BR2_PACKAGE_GMP
+	depends on BR2_PACKAGE_MPFR_AVAILABLE
 	help
 	  C library for multiple-precision floating-point computations
 	  with exact rounding.
diff --git a/package/mrouted/Config.in b/package/mrouted/Config.in
index 1503cc6..3404179 100644
--- a/package/mrouted/Config.in
+++ b/package/mrouted/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MROUTED_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MROUTED
 	bool "mrouted"
+	depends on BR2_PACKAGE_MROUTED_AVAILABLE
 	help
 	  An implementation of the DVMRP multicast routing protocol.
 
diff --git a/package/msmtp/Config.in b/package/msmtp/Config.in
index 385ad90..10e5aaf 100644
--- a/package/msmtp/Config.in
+++ b/package/msmtp/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MSMTP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MSMTP
 	bool "msmtp"
+	depends on BR2_PACKAGE_MSMTP_AVAILABLE
 	help
 	  msmtp is an SMTP client. In the default mode, it transmits a
 	  mail to an SMTP server (for example at a free mail provider)
diff --git a/package/mtd/Config.in b/package/mtd/Config.in
index 7330dd5..599108d 100644
--- a/package/mtd/Config.in
+++ b/package/mtd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MTD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MTD
 	bool "mtd/jffs2 utilities"
+	depends on BR2_PACKAGE_MTD_AVAILABLE
 	help
 	  Build mtd/jffs utilities
 
diff --git a/package/mtdev/Config.in b/package/mtdev/Config.in
index 3419903..cc99187 100644
--- a/package/mtdev/Config.in
+++ b/package/mtdev/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MTDEV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MTDEV
 	bool "mtdev"
+	depends on BR2_PACKAGE_MTDEV_AVAILABLE
 	help
 	  The mtdev is a stand-alone library which transforms all
 	  variants of kernel MT events to the slotted type B protocol.
diff --git a/package/mtdev2tuio/Config.in b/package/mtdev2tuio/Config.in
index 74453c4..b8ccf08 100644
--- a/package/mtdev2tuio/Config.in
+++ b/package/mtdev2tuio/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_MTDEV2TUIO_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # liblo
+
 config BR2_PACKAGE_MTDEV2TUIO
 	bool "mtdev2tuio"
 	select BR2_PACKAGE_LIBLO
 	select BR2_PACKAGE_MTDEV
-	depends on BR2_TOOLCHAIN_HAS_THREADS # liblo
+	depends on BR2_PACKAGE_MTDEV2TUIO_AVAILABLE
 	help
 	  mtdev2tuio is a simple application for converting touch
 	  events captured from libmtdev to TUIO 1.1
diff --git a/package/multimedia/alsa-utils/Config.in b/package/multimedia/alsa-utils/Config.in
index c65e33f..fd21957 100644
--- a/package/multimedia/alsa-utils/Config.in
+++ b/package/multimedia/alsa-utils/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_ALSA_UTILS_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_ALSA_UTILS
 	bool "alsa-utils"
-	depends on BR2_LARGEFILE
 	select BR2_PACKAGE_ALSA_LIB
+	depends on BR2_PACKAGE_ALSA_UTILS_AVAILABLE
 	help
 	  This package contains the command line utilities for the ALSA
 	  project.
diff --git a/package/multimedia/aumix/Config.in b/package/multimedia/aumix/Config.in
index 3d32082..7987915 100644
--- a/package/multimedia/aumix/Config.in
+++ b/package/multimedia/aumix/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_AUMIX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_AUMIX
 	bool "aumix"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_AUMIX_AVAILABLE
 	help
 	  aumix is a small, easy-to-use program to control the mixer
 	  of your sound card. It runs in text mode using the ncurses
diff --git a/package/multimedia/bellagio/Config.in b/package/multimedia/bellagio/Config.in
index 1458f63..30dd085 100644
--- a/package/multimedia/bellagio/Config.in
+++ b/package/multimedia/bellagio/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_BELLAGIO_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_BELLAGIO
 	bool "bellagio"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_BELLAGIO_AVAILABLE
 	help
 	  Bellagio is an opensource implementation of the
 	  OpenMAX IL API.
diff --git a/package/multimedia/faad2/Config.in b/package/multimedia/faad2/Config.in
index 5b7fc1c..c178467 100644
--- a/package/multimedia/faad2/Config.in
+++ b/package/multimedia/faad2/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FAAD2_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FAAD2
 	bool "faad2"
+	depends on BR2_PACKAGE_FAAD2_AVAILABLE
 	help
 	  FAAD2 is an open source MPEG-4 and MPEG-2 AAC decoder,
 
diff --git a/package/multimedia/ffmpeg/Config.in b/package/multimedia/ffmpeg/Config.in
index d11233e..55d6762 100644
--- a/package/multimedia/ffmpeg/Config.in
+++ b/package/multimedia/ffmpeg/Config.in
@@ -1,10 +1,14 @@
 comment "ffmpeg requires a toolchain with LARGEFILE and IPV6 support"
 	depends on !(BR2_LARGEFILE && BR2_INET_IPV6)
 
-menuconfig BR2_PACKAGE_FFMPEG
-	bool "ffmpeg"
+config BR2_PACKAGE_FFMPEG_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_INET_IPV6
+
+menuconfig BR2_PACKAGE_FFMPEG
+	bool "ffmpeg"
+	depends on BR2_PACKAGE_FFMPEG_AVAILABLE
 	help
          FFmpeg is a complete, cross-platform solution to record, convert
          and stream audio and video.
diff --git a/package/multimedia/flac/Config.in b/package/multimedia/flac/Config.in
index 357e24f..e53af59 100644
--- a/package/multimedia/flac/Config.in
+++ b/package/multimedia/flac/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_FLAC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_FLAC
 	bool "flac"
+	depends on BR2_PACKAGE_FLAC_AVAILABLE
 	help
           FLAC is an Open Source lossless audio codec.
 
diff --git a/package/multimedia/gst-dsp/Config.in b/package/multimedia/gst-dsp/Config.in
index 590931a..66c542d 100644
--- a/package/multimedia/gst-dsp/Config.in
+++ b/package/multimedia/gst-dsp/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_GST_DSP_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_GSTREAMER && BR2_cortex_a8
+
 config BR2_PACKAGE_GST_DSP
 	bool "gst-dsp"
-	depends on BR2_PACKAGE_GSTREAMER && BR2_cortex_a8
 	select BR2_PACKAGE_TIDSP_BINARIES
+	depends on BR2_PACKAGE_GST_DSP_AVAILABLE
 	help
 	  GStreamer plug-in to access TI OMAP3 DSP algorithms.
 
diff --git a/package/multimedia/gst-ffmpeg/Config.in b/package/multimedia/gst-ffmpeg/Config.in
index 537101e..d5c8537 100644
--- a/package/multimedia/gst-ffmpeg/Config.in
+++ b/package/multimedia/gst-ffmpeg/Config.in
@@ -1,13 +1,17 @@
+config BR2_PACKAGE_GST_FFMPEG_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_GSTREAMER
+	depends on BR2_LARGEFILE
+	depends on BR2_INET_IPV6
+
 config BR2_PACKAGE_GST_FFMPEG
 	bool "gst-ffmpeg"
-	depends on BR2_PACKAGE_GSTREAMER
 	select BR2_PACKAGE_GST_PLUGINS_BASE
 	select BR2_PACKAGE_FFMPEG
 	select BR2_PACKAGE_FFMPEG_GPL
 	select BR2_PACKAGE_FFMPEG_POSTPROC
 	select BR2_PACKAGE_FFMPEG_SWSCALE
-	depends on BR2_LARGEFILE
-	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_GST_FFMPEG_AVAILABLE
 	help
 	  GStreamer plugin using FFmpeg.
 
diff --git a/package/multimedia/gst-omapfb/Config.in b/package/multimedia/gst-omapfb/Config.in
index e603cb1..6d27c2e 100644
--- a/package/multimedia/gst-omapfb/Config.in
+++ b/package/multimedia/gst-omapfb/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_GST_OMAPFB_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_GSTREAMER && BR2_cortex_a8
+
 config BR2_PACKAGE_GST_OMAPFB
 	bool "gst-omapfb"
-	depends on BR2_PACKAGE_GSTREAMER && BR2_cortex_a8
+	depends on BR2_PACKAGE_GST_OMAPFB_AVAILABLE
 	help
 	  GStreamer plug-in to use OMAP framebuffer.
 
diff --git a/package/multimedia/gst-plugins-bad/Config.in b/package/multimedia/gst-plugins-bad/Config.in
index cb50fbd..d88a432 100644
--- a/package/multimedia/gst-plugins-bad/Config.in
+++ b/package/multimedia/gst-plugins-bad/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_GST_PLUGINS_BAD_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_GSTREAMER
+
 menuconfig BR2_PACKAGE_GST_PLUGINS_BAD
 	bool "gst-plugins-bad"
-	depends on BR2_PACKAGE_GSTREAMER
 	select BR2_PACKAGE_GST_PLUGINS_BASE
+	depends on BR2_PACKAGE_GST_PLUGINS_BAD_AVAILABLE
 	help
 	  A set of plug-ins for GStreamer that may be of poor quality or
 	  lacking some features.
diff --git a/package/multimedia/gst-plugins-base/Config.in b/package/multimedia/gst-plugins-base/Config.in
index 5d82533..4987e1a 100644
--- a/package/multimedia/gst-plugins-base/Config.in
+++ b/package/multimedia/gst-plugins-base/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_GST_PLUGINS_BASE_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_GSTREAMER
+
 menuconfig BR2_PACKAGE_GST_PLUGINS_BASE
 	bool "gst-plugins-base"
-	depends on BR2_PACKAGE_GSTREAMER
 	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XLIB_LIBXV if BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_GST_PLUGINS_BASE_AVAILABLE
 	help
 	  A basic set of well-supported plug-ins for GStreamer.
 
diff --git a/package/multimedia/gst-plugins-good/Config.in b/package/multimedia/gst-plugins-good/Config.in
index 33ecb5c..5feca88 100644
--- a/package/multimedia/gst-plugins-good/Config.in
+++ b/package/multimedia/gst-plugins-good/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_GST_PLUGINS_GOOD_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_GSTREAMER
+
 menuconfig BR2_PACKAGE_GST_PLUGINS_GOOD
 	bool "gst-plugins-good"
-	depends on BR2_PACKAGE_GSTREAMER
 	select BR2_PACKAGE_GST_PLUGINS_BASE
+	depends on BR2_PACKAGE_GST_PLUGINS_GOOD_AVAILABLE
 	help
 	  A set of well-supported plug-ins for GStreamer under the preferred
 	  license.
diff --git a/package/multimedia/gst-plugins-ugly/Config.in b/package/multimedia/gst-plugins-ugly/Config.in
index c0046e4..1bbd0e5 100644
--- a/package/multimedia/gst-plugins-ugly/Config.in
+++ b/package/multimedia/gst-plugins-ugly/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_GST_PLUGINS_UGLY_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_GSTREAMER
+
 menuconfig BR2_PACKAGE_GST_PLUGINS_UGLY
 	bool "gst-plugins-ugly"
-	depends on BR2_PACKAGE_GSTREAMER
 	select BR2_PACKAGE_GST_PLUGINS_BASE
+	depends on BR2_PACKAGE_GST_PLUGINS_UGLY_AVAILABLE
 	help
 	  A set of well-supported plug-ins for GStreamer, but might pose
 	  problems for distributors.
diff --git a/package/multimedia/gstreamer/Config.in b/package/multimedia/gstreamer/Config.in
index 4d279b8..bc5507f 100644
--- a/package/multimedia/gstreamer/Config.in
+++ b/package/multimedia/gstreamer/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_GSTREAMER_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_GSTREAMER
 	bool "gstreamer"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_GSTREAMER_AVAILABLE
 	help
 	  GStreamer is an open source multimedia framework.
 
diff --git a/package/multimedia/lame/Config.in b/package/multimedia/lame/Config.in
index 2b144a0..c0806a4 100644
--- a/package/multimedia/lame/Config.in
+++ b/package/multimedia/lame/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_LAME_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LAME
 	bool "lame"
+	depends on BR2_PACKAGE_LAME_AVAILABLE
 	help
 	  LAME is a high quality MPEG Audio Layer III (MP3) encoder.
 
diff --git a/package/multimedia/madplay/Config.in b/package/multimedia/madplay/Config.in
index a77cc36..92ce1e4 100644
--- a/package/multimedia/madplay/Config.in
+++ b/package/multimedia/madplay/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_MADPLAY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MADPLAY
 	bool "madplay"
 	select BR2_PACKAGE_LIBMAD
 	select BR2_PACKAGE_LIBID3TAG
+	depends on BR2_PACKAGE_MADPLAY_AVAILABLE
 	help
 	  Command-line front-end to libmad, a high-quality MPEG audio decoder.
 	  It currently supports MPEG-1 and the MPEG-2 extension to lower
diff --git a/package/multimedia/mpd/Config.in b/package/multimedia/mpd/Config.in
index c7c0cd7..84de844 100644
--- a/package/multimedia/mpd/Config.in
+++ b/package/multimedia/mpd/Config.in
@@ -1,10 +1,14 @@
-menuconfig BR2_PACKAGE_MPD
-	bool "mpd"
+config BR2_PACKAGE_MPD_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+
+menuconfig BR2_PACKAGE_MPD
+	bool "mpd"
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG)
+	depends on BR2_PACKAGE_MPD_AVAILABLE
 	help
 	  MPD is a flexible, powerful, server-side application
 	  for playing music. Through plugins and libraries
diff --git a/package/multimedia/mpg123/Config.in b/package/multimedia/mpg123/Config.in
index 18ac41c..463482e 100644
--- a/package/multimedia/mpg123/Config.in
+++ b/package/multimedia/mpg123/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MPG123_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MPG123
 	bool "mpg123"
+	depends on BR2_PACKAGE_MPG123_AVAILABLE
 	help
 	  Fast, free and portable MPEG audio player for Unix.  It supports
 	  MPEG 1.0/2.0 layers 1, 2 and 3.
diff --git a/package/multimedia/mplayer/Config.in b/package/multimedia/mplayer/Config.in
index a9a4bb6..73defc1 100644
--- a/package/multimedia/mplayer/Config.in
+++ b/package/multimedia/mplayer/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MPLAYER_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MPLAYER
 	bool "mplayer"
+	depends on BR2_PACKAGE_MPLAYER_AVAILABLE
 	help
 	  MPlayer is a movie player which runs on many systems and supports
 	  many different file formats.
diff --git a/package/multimedia/musepack/Config.in b/package/multimedia/musepack/Config.in
index 2a966a4..15ab2da 100644
--- a/package/multimedia/musepack/Config.in
+++ b/package/multimedia/musepack/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_MUSEPACK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MUSEPACK
 	bool "musepack"
 	select BR2_PACKAGE_LIBCUEFILE
 	select BR2_PACKAGE_LIBREPLAYGAIN
+	depends on BR2_PACKAGE_MUSEPACK_AVAILABLE
 	help
 	  Musepack is an audio compression format with a strong emphasis
 	  on high quality. It's not lossless, but it is designed
diff --git a/package/multimedia/pulseaudio/Config.in b/package/multimedia/pulseaudio/Config.in
index 6e6d64c..21ee4ea 100644
--- a/package/multimedia/pulseaudio/Config.in
+++ b/package/multimedia/pulseaudio/Config.in
@@ -1,11 +1,15 @@
+config BR2_PACKAGE_PULSEAUDIO_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_PULSEAUDIO
 	bool "pulseaudio"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_LIBTOOL
 	select BR2_PACKAGE_JSON_C
 	select BR2_PACKAGE_LIBSNDFILE
 	select BR2_PACKAGE_SPEEX
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	depends on BR2_PACKAGE_PULSEAUDIO_AVAILABLE
 	help
 	  PulseAudio is a sound system for POSIX OSes, meaning that it
 	  is a proxy for your sound applications. It allows you to do
diff --git a/package/multimedia/tidsp-binaries/Config.in b/package/multimedia/tidsp-binaries/Config.in
index 48f85a5..f341193 100644
--- a/package/multimedia/tidsp-binaries/Config.in
+++ b/package/multimedia/tidsp-binaries/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_TIDSP_BINARIES_AVAILABLE
+	def_bool y
+	depends on BR2_cortex_a8
+
 config BR2_PACKAGE_TIDSP_BINARIES
 	bool "tidsp-binaries"
-	depends on BR2_cortex_a8
+	depends on BR2_PACKAGE_TIDSP_BINARIES_AVAILABLE
 	help
 	  TI OMAP3 DSP algorithms.
 
diff --git a/package/multimedia/vorbis-tools/Config.in b/package/multimedia/vorbis-tools/Config.in
index 6092e01..4ad76ab 100644
--- a/package/multimedia/vorbis-tools/Config.in
+++ b/package/multimedia/vorbis-tools/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_VORBIS_TOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_VORBIS_TOOLS
 	bool "vorbis-tools"
 	select BR2_PACKAGE_LIBAO
 	select BR2_PACKAGE_LIBOGG
 	select BR2_PACKAGE_LIBVORBIS
 	select BR2_PACKAGE_LIBCURL
+	depends on BR2_PACKAGE_VORBIS_TOOLS_AVAILABLE
 	help
 	  Standalone player, encoder and decoder for Ogg format files.
 
diff --git a/package/multimedia/wavpack/Config.in b/package/multimedia/wavpack/Config.in
index 1ef3e42..7fe67c5 100644
--- a/package/multimedia/wavpack/Config.in
+++ b/package/multimedia/wavpack/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_WAVPACK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_WAVPACK
 	bool "wavpack"
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_WAVPACK_AVAILABLE
 	help
 	  WavPack is a completely open audio compression format providing
 	  lossless, high-quality lossy, and a unique hybrid compression mode.
diff --git a/package/mutt/Config.in b/package/mutt/Config.in
index 754979a..03062f6 100644
--- a/package/mutt/Config.in
+++ b/package/mutt/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_MUTT_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_MUTT
 	bool "mutt"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_MUTT_AVAILABLE
 	help
 	  Mutt is a sophisticated text-based Mail User Agent (MUA)
 
diff --git a/package/mxml/Config.in b/package/mxml/Config.in
index d3202b4..f190f42 100644
--- a/package/mxml/Config.in
+++ b/package/mxml/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MXML_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MXML
 	bool "Mini-XML"
+	depends on BR2_PACKAGE_MXML_AVAILABLE
 	help
 	  Lightweight XML Library
 
diff --git a/package/mysql_client/Config.in b/package/mysql_client/Config.in
index f07fdb4..23b416b 100644
--- a/package/mysql_client/Config.in
+++ b/package/mysql_client/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_MYSQL_CLIENT_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_MYSQL_CLIENT
 	bool "MySQL client"
-	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_READLINE
+	depends on BR2_PACKAGE_MYSQL_CLIENT_AVAILABLE
 	help
 	  MySQL client
 
diff --git a/package/nano/Config.in b/package/nano/Config.in
index ef7f69d..9db120a 100644
--- a/package/nano/Config.in
+++ b/package/nano/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_NANO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NANO
 	bool "nano"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_NANO_AVAILABLE
 	help
 	  A nice ncurses-based editor. Started out as a clone of pico.
 	  Great editor for new users.
diff --git a/package/nanocom/Config.in b/package/nanocom/Config.in
index 51d628a..d533cf5 100644
--- a/package/nanocom/Config.in
+++ b/package/nanocom/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NANOCOM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NANOCOM
 	bool "nanocom"
+	depends on BR2_PACKAGE_NANOCOM_AVAILABLE
 	help
 	  Nanocom is based upon microcom (http://microcom.port5.com/) but
 	  removes the scripting and logging features while introducing support
diff --git a/package/nbd/Config.in b/package/nbd/Config.in
index 6e92f93..3be526c 100644
--- a/package/nbd/Config.in
+++ b/package/nbd/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_NBD_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_NBD
 	bool "nbd"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_NBD_AVAILABLE
 	help
 	  NBD is a set of utilities to configure network block devices,
 	  allowing access to remote block devices over TCP/IP network.
diff --git a/package/ncftp/Config.in b/package/ncftp/Config.in
index 4aaa62d..2baf0f3 100644
--- a/package/ncftp/Config.in
+++ b/package/ncftp/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_NCFTP_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_NCFTP
 	bool "ncftp"
 	# fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_NCFTP_AVAILABLE
 	help
 	  NcFTP Client (also known as just NcFTP) is a set of FREE application
 	  programs implementing the File Transfer Protocol (FTP).
diff --git a/package/ncurses/Config.in b/package/ncurses/Config.in
index d80f573..be06d2b 100644
--- a/package/ncurses/Config.in
+++ b/package/ncurses/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NCURSES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NCURSES
 	bool "ncurses"
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 	help
 	  The Ncurses (new curses) library is a free software emulation of
 	  curses in System V Release 4.0, and more.
diff --git a/package/ndisc6/Config.in b/package/ndisc6/Config.in
index 126bfa2..e19dd9d 100644
--- a/package/ndisc6/Config.in
+++ b/package/ndisc6/Config.in
@@ -1,9 +1,13 @@
 comment "ndisc6 requires a toolchain with IPv6 support"
 	depends on !BR2_INET_IPV6
 
+config BR2_PACKAGE_NDISC6_AVAILABLE
+	def_bool y
+	depends on BR2_INET_IPV6
+
 config BR2_PACKAGE_NDISC6
 	bool "ndisc6 tools"
-	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_NDISC6_AVAILABLE
 	help
 	  NDisc6 is a small collection of useful tools for IPv6 networking
 
diff --git a/package/neon/Config.in b/package/neon/Config.in
index f972dbb..709112f 100644
--- a/package/neon/Config.in
+++ b/package/neon/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NEON_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NEON
 	bool "libneon"
+	depends on BR2_PACKAGE_NEON_AVAILABLE
 	help
 	  HTTP and WebDAV client library, with a C interface.
 
diff --git a/package/netatalk/Config.in b/package/netatalk/Config.in
index 26f14c3..b72e0ef 100644
--- a/package/netatalk/Config.in
+++ b/package/netatalk/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_NETATALK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NETATALK
 	bool "netatalk"
 	select BR2_PACKAGE_BERKELEYDB
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBGPG_ERROR
+	depends on BR2_PACKAGE_NETATALK_AVAILABLE
 	help
 	  Netatalk can be used to turn a *NIX machine into an extremely
 	  high-performance and reliable file server for Macintosh computers.
diff --git a/package/netcat/Config.in b/package/netcat/Config.in
index 54aac76..f95432e 100644
--- a/package/netcat/Config.in
+++ b/package/netcat/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NETCAT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NETCAT
 	bool "netcat"
+	depends on BR2_PACKAGE_NETCAT_AVAILABLE
 	help
 	  Netcat is a featured networking utility which reads and writes data
 	  across network connections, using the TCP/IP protocol.
diff --git a/package/netkitbase/Config.in b/package/netkitbase/Config.in
index 725e500..09e5494 100644
--- a/package/netkitbase/Config.in
+++ b/package/netkitbase/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_NETKITBASE_AVAILABLE
+	def_bool y
+	depends on BR2_INET_RPC
+
 config BR2_PACKAGE_NETKITBASE
 	bool "netkitbase"
-	depends on BR2_INET_RPC
+	depends on BR2_PACKAGE_NETKITBASE_AVAILABLE
 	help
 	  Old-style inetd.
 
diff --git a/package/netkittelnet/Config.in b/package/netkittelnet/Config.in
index 058d210..e5b98d4 100644
--- a/package/netkittelnet/Config.in
+++ b/package/netkittelnet/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_NETKITTELNET_AVAILABLE
+	def_bool y
+	depends on BR2_INET_RPC
+
 config BR2_PACKAGE_NETKITTELNET
 	bool "netkittelnet"
-	depends on BR2_INET_RPC
 	select BR2_PACKAGE_NETKITBASE
+	depends on BR2_PACKAGE_NETKITTELNET_AVAILABLE
 	help
 	  Standard Linux telnet client and server.
 
diff --git a/package/netperf/Config.in b/package/netperf/Config.in
index 2f36b1b..928d3cf 100644
--- a/package/netperf/Config.in
+++ b/package/netperf/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NETPERF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NETPERF
 	bool "netperf"
+	depends on BR2_PACKAGE_NETPERF_AVAILABLE
 	help
 	  Network performance benchmark tool
 
diff --git a/package/netplug/Config.in b/package/netplug/Config.in
index 5c9bca6..8247e4e 100644
--- a/package/netplug/Config.in
+++ b/package/netplug/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NETPLUG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NETPLUG
 	bool "netplug"
+	depends on BR2_PACKAGE_NETPLUG_AVAILABLE
 	help
 	  A Linux daemon that manages network interfaces in
 	  response to network cables being plugged in and out.
diff --git a/package/netsnmp/Config.in b/package/netsnmp/Config.in
index 108ab83..987dd73 100644
--- a/package/netsnmp/Config.in
+++ b/package/netsnmp/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NETSNMP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NETSNMP
 	bool "netsnmp"
+	depends on BR2_PACKAGE_NETSNMP_AVAILABLE
 	help
 	  Suite of applications used to implement SNMP v1, SNMP v2c, and
 	  SNMP v3 using both IPv4 and IPv6.
diff --git a/package/netstat-nat/Config.in b/package/netstat-nat/Config.in
index 6afcf89..f84cfee 100644
--- a/package/netstat-nat/Config.in
+++ b/package/netstat-nat/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NETSTAT_NAT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NETSTAT_NAT
 	bool "netstat-nat"
+	depends on BR2_PACKAGE_NETSTAT_NAT_AVAILABLE
 	help
 	  Displays NAT connections
 
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
index 3f01fef..254458e 100644
--- a/package/network-manager/Config.in
+++ b/package/network-manager/Config.in
@@ -1,11 +1,14 @@
-config BR2_PACKAGE_NETWORK_MANAGER
-	bool "NetworkManager"
+config BR2_PACKAGE_NETWORK_MANAGER_AVAILABLE
+	def_bool y
 	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
-	select BR2_PACKAGE_DBUS
 	depends on BR2_INET_IPV6
 	depends on BR2_LARGEFILE # acl
 	depends on BR2_USE_WCHAR # libglib2 and gnutls
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+
+config BR2_PACKAGE_NETWORK_MANAGER
+	bool "NetworkManager"
+	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_DBUS_GLIB
 	select BR2_PACKAGE_UDEV
 	select BR2_PACKAGE_UDEV_ALL_EXTRAS
@@ -15,6 +18,7 @@ config BR2_PACKAGE_NETWORK_MANAGER
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	select BR2_PACKAGE_WIRELESS_TOOLS
 	select BR2_PACKAGE_WIRELESS_TOOLS_LIB
+	depends on BR2_PACKAGE_NETWORK_MANAGER_AVAILABLE
 	help
 	  NetworkManager is a set of co-operative tools that make networking
 	  simple and straightforward. Whether WiFi, wired, 3G, or Bluetooth,
diff --git a/package/newt/Config.in b/package/newt/Config.in
index ae6b69c..547911a 100644
--- a/package/newt/Config.in
+++ b/package/newt/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_NEWT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NEWT
 	bool "newt"
 	select BR2_PACKAGE_SLANG
+	depends on BR2_PACKAGE_NEWT_AVAILABLE
 	help
 	  Programming library for color text mode, widget based user interfaces.
 
diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in
index 67d25a7..ecb7d05 100644
--- a/package/nfs-utils/Config.in
+++ b/package/nfs-utils/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_NFS_UTILS
-	bool "nfs-utils"
+config BR2_PACKAGE_NFS_UTILS_AVAILABLE
+	def_bool y
 	depends on BR2_INET_RPC
 	depends on BR2_LARGEFILE
+
+config BR2_PACKAGE_NFS_UTILS
+	bool "nfs-utils"
 	select BR2_PACKAGE_PORTMAP
+	depends on BR2_PACKAGE_NFS_UTILS_AVAILABLE
 	help
 	  The NFS Linux kernel server.
 	  Warning: We do not force largefile support on here on purpose.
diff --git a/package/ngircd/Config.in b/package/ngircd/Config.in
index e8fc3d0..720d372 100644
--- a/package/ngircd/Config.in
+++ b/package/ngircd/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_NGIRCD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NGIRCD
 	bool "ngircd"
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_NGIRCD_AVAILABLE
 	help
 	  Next Generation IRC server deamon.
 
diff --git a/package/ngrep/Config.in b/package/ngrep/Config.in
index cd91225..258f7c0 100644
--- a/package/ngrep/Config.in
+++ b/package/ngrep/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_NGREP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NGREP
 	bool "ngrep"
 	select BR2_PACKAGE_LIBPCAP
 	select BR2_PACKAGE_PCRE
+	depends on BR2_PACKAGE_NGREP_AVAILABLE
 	help
 	  Network grep.
 
diff --git a/package/noip/Config.in b/package/noip/Config.in
index 02039dd..831c5de 100644
--- a/package/noip/Config.in
+++ b/package/noip/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NOIP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NOIP
 	bool "noip"
+	depends on BR2_PACKAGE_NOIP_AVAILABLE
 	help
 	  Dynamic DNS update client for no-ip.com
 
diff --git a/package/nss-mdns/Config.in b/package/nss-mdns/Config.in
index 485cfcd..8654bb1 100644
--- a/package/nss-mdns/Config.in
+++ b/package/nss-mdns/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_NSS_MDNS
-	bool "nss-mdns"
+config BR2_PACKAGE_NSS_MDNS_AVAILABLE
+	def_bool y
 	depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
 	depends on BR2_PACKAGE_AVAHI_DAEMON
+
+config BR2_PACKAGE_NSS_MDNS
+	bool "nss-mdns"
+	depends on BR2_PACKAGE_NSS_MDNS_AVAILABLE
 	help
 	  nss-mdns is a plugin for the GNU Name Service Switch (NSS)
 	  functionality of the GNU C Library (glibc) providing host
diff --git a/package/ntfs-3g/Config.in b/package/ntfs-3g/Config.in
index 5301038..20883b8 100644
--- a/package/ntfs-3g/Config.in
+++ b/package/ntfs-3g/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_NTFS_3G
-	bool "ntfs-3g"
+config BR2_PACKAGE_NTFS_3G_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_NTFS_3G
+	bool "ntfs-3g"
+	depends on BR2_PACKAGE_NTFS_3G_AVAILABLE
 	help
 	  The NTFS-3G driver is an open source, freely available
 	  read/write NTFS driver for Linux, FreeBSD, Mac OS X, NetBSD,
diff --git a/package/ntp/Config.in b/package/ntp/Config.in
index 5996596..5fe10a4 100644
--- a/package/ntp/Config.in
+++ b/package/ntp/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NTP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NTP
 	bool "ntp"
+	depends on BR2_PACKAGE_NTP_AVAILABLE
 	help
 	  Network Time Protocol suite/programs.
 	  Provides things like ntpd, ntpdate, ntpq, etc...
diff --git a/package/nuttcp/Config.in b/package/nuttcp/Config.in
index fb6d3b1..41f3fb6 100644
--- a/package/nuttcp/Config.in
+++ b/package/nuttcp/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_NUTTCP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_NUTTCP
 	bool "nuttcp"
+	depends on BR2_PACKAGE_NUTTCP_AVAILABLE
 	help
 	  nuttcp is a TCP/UDP network testing tool, much like iperf
 
diff --git a/package/ocf-linux/Config.in b/package/ocf-linux/Config.in
index 9dc5766..f59360e 100644
--- a/package/ocf-linux/Config.in
+++ b/package/ocf-linux/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_OCF_LINUX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_OCF_LINUX
 	bool "ocf-linux"
+	depends on BR2_PACKAGE_OCF_LINUX_AVAILABLE
 	help
 	  OCF-Linux is a Linux port of the OpenBSD/FreeBSD Cryptographic
 	  Framework (OCF). This port aims to bring full asynchronous HW/SW
diff --git a/package/ofono/Config.in b/package/ofono/Config.in
index 74c8b53..55e0607 100644
--- a/package/ofono/Config.in
+++ b/package/ofono/Config.in
@@ -1,11 +1,15 @@
-config BR2_PACKAGE_OFONO
-	bool "ofono"
+config BR2_PACKAGE_OFONO_AVAILABLE
+	def_bool y
 	depends on BR2_USE_WCHAR # gettext/libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+
+config BR2_PACKAGE_OFONO
+	bool "ofono"
 	select BR2_PACKAGE_LIBCAP_NG
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO
+	depends on BR2_PACKAGE_OFONO_AVAILABLE
 	help
 	  oFono is a free, open source project for mobile telephony
 	  (GSM/UMTS) applications. It uses high-level D-Bus API for
diff --git a/package/olsr/Config.in b/package/olsr/Config.in
index ada82b4..672053c 100644
--- a/package/olsr/Config.in
+++ b/package/olsr/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_OLSR_AVAILABLE
+	def_bool y
+	depends on BR2_INET_IPV6
+
 config BR2_PACKAGE_OLSR
 	bool "OLSR mesh networking Daemon"
-	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_OLSR_AVAILABLE
 	help
 	  The Optimized Link State Routing protocol (OLSR) is a
 	  routing protocol that is optimised for mobile ad-hoc
diff --git a/package/open2300/Config.in b/package/open2300/Config.in
index df0a969..1735dea 100644
--- a/package/open2300/Config.in
+++ b/package/open2300/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_OPEN2300_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_OPEN2300
 	bool "open2300"
+	depends on BR2_PACKAGE_OPEN2300_AVAILABLE
 	help
 	  open2300 reads (and writes) data from a Lacrosse
 	  WS2300/WS2305/WS2310/WS2315 Weather Station
diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index 3e9ead6..d0f953f 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_OPENCV_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_WCHAR
+
 menuconfig BR2_PACKAGE_OPENCV
 	bool "opencv"
 	select BR2_PACKAGE_ZLIB
-	depends on BR2_INSTALL_LIBSTDCPP
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_OPENCV_AVAILABLE
 	help
 	  OpenCV (Open Source Computer Vision) is a library of programming
 	  functions for real time computer vision.
diff --git a/package/openntpd/Config.in b/package/openntpd/Config.in
index 4dd9a29..d4bf9fc 100644
--- a/package/openntpd/Config.in
+++ b/package/openntpd/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_OPENNTPD_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_OPENNTPD
 	bool "openntpd"
 	# fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_OPENNTPD_AVAILABLE
 	help
 	  OpenNTPD is an easy to use implementation of the Network Time
 	  Protocol. It provides the ability to sync the local clock
diff --git a/package/openocd/Config.in b/package/openocd/Config.in
index 4ea66a5..b53535d 100644
--- a/package/openocd/Config.in
+++ b/package/openocd/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_OPENOCD_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_OPENOCD
 	bool "openocd"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_LIBUSB
 	select BR2_PACKAGE_LIBUSB_COMPAT
+	depends on BR2_PACKAGE_OPENOCD_AVAILABLE
 	help
 	  OpenOCD - Open On-Chip Debugger
 
diff --git a/package/openssh/Config.in b/package/openssh/Config.in
index 0c3d993..de3b1e1 100644
--- a/package/openssh/Config.in
+++ b/package/openssh/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_OPENSSH_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_OPENSSH
 	bool "openssh"
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_OPENSSH_AVAILABLE
 	help
 	  A free version of the SSH protocol suite of network connectivity
 	  tools.  The standard 'ssh', 'sshd', 'scp', and friends.
diff --git a/package/openssl/Config.in b/package/openssl/Config.in
index 6ba644a..0382826 100644
--- a/package/openssl/Config.in
+++ b/package/openssl/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_OPENSSL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_OPENSSL
 	bool "openssl"
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
 	help
 	  A collaborative effort to develop a robust, commercial-grade, fully
 	  featured, and Open Source toolkit implementing the Secure Sockets
diff --git a/package/openswan/Config.in b/package/openswan/Config.in
index 3336156..7d09454 100644
--- a/package/openswan/Config.in
+++ b/package/openswan/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_OPENSWAN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_OPENSWAN
 	bool "openswan"
 	select BR2_PACKAGE_GMP
 	select BR2_PACKAGE_IPROUTE2
+	depends on BR2_PACKAGE_OPENSWAN_AVAILABLE
 	help
 	  Openswan is an implementation of IPsec for Linux
 
diff --git a/package/openvpn/Config.in b/package/openvpn/Config.in
index 9f9057d..e9f2bc5 100644
--- a/package/openvpn/Config.in
+++ b/package/openvpn/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_OPENVPN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_OPENVPN
 	bool "openvpn"
+	depends on BR2_PACKAGE_OPENVPN_AVAILABLE
  	help
 	  OpenVPN is a full-featured SSL VPN solution which can
 	  accomodate a wide range of configurations, including road
diff --git a/package/opkg/Config.in b/package/opkg/Config.in
index eb997a7..e0db91a 100644
--- a/package/opkg/Config.in
+++ b/package/opkg/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_OPKG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_OPKG
 	bool "opkg"
+	depends on BR2_PACKAGE_OPKG_AVAILABLE
 	help
 	  Opkg is a lightweight package management system, based on ipkg. It is
 	  written in C and resembles apt/dpkg in operation. It is intended for
diff --git a/package/oprofile/Config.in b/package/oprofile/Config.in
index 562c910..9525eec 100644
--- a/package/oprofile/Config.in
+++ b/package/oprofile/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_OPROFILE_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_OPROFILE
 	bool "oprofile"
 	select BR2_PACKAGE_POPT
 	select BR2_PACKAGE_BINUTILS
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_OPROFILE_AVAILABLE
 	help
 	  OProfile is a system-wide profiler for Linux systems,
 	  capable of profiling all running code at low overhead.
diff --git a/package/orc/Config.in b/package/orc/Config.in
index 1de0f23..2a3b25f 100644
--- a/package/orc/Config.in
+++ b/package/orc/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_ORC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ORC
 	bool "orc"
+	depends on BR2_PACKAGE_ORC_AVAILABLE
 	help
 	  Orc is a library and set of tools for compiling and executing
 	  very simple programs that operate on arrays of data.
diff --git a/package/ortp/Config.in b/package/ortp/Config.in
index 39d9c9a..916615c 100644
--- a/package/ortp/Config.in
+++ b/package/ortp/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_ORTP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ORTP
 	bool "oRTP"
+	depends on BR2_PACKAGE_ORTP_AVAILABLE
 	help
 	  oRTP, a Real-time Transport Protocol (RTP,RFC3550) library
 
diff --git a/package/owl-linux/Config.in b/package/owl-linux/Config.in
index f6e18d5..835d3c6 100644
--- a/package/owl-linux/Config.in
+++ b/package/owl-linux/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_OWL_LINUX
-	bool "owl-linux"
+config BR2_PACKAGE_OWL_LINUX_AVAILABLE
+	def_bool y
 	depends on BR2_LINUX_KERNEL
 	depends on (BR2_arm920t || BR2_arm922t || BR2_arm926t)
 	depends on BR2_ARM_EABI
+
+config BR2_PACKAGE_OWL_LINUX
+	bool "owl-linux"
+	depends on BR2_PACKAGE_OWL_LINUX_AVAILABLE
 	help
 	  Linux kernel driver for the H&D Wireless SPB104 SD-card WiFi SIP.
 
diff --git a/package/pango/Config.in b/package/pango/Config.in
index 923c3d4..c064f91 100644
--- a/package/pango/Config.in
+++ b/package/pango/Config.in
@@ -1,12 +1,16 @@
-config BR2_PACKAGE_PANGO
-	bool "pango"
+config BR2_PACKAGE_PANGO_AVAILABLE
+	def_bool y
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_INSTALL_LIBSTDCPP # freetype support
+
+config BR2_PACKAGE_PANGO
+	bool "pango"
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_PANGO_AVAILABLE
 	help
 	  Pango is a library for laying out and rendering of text, with an
 	  emphasis on internationalization. Pango can be used anywhere that
diff --git a/package/parted/Config.in b/package/parted/Config.in
index 7349763..a5f8422 100644
--- a/package/parted/Config.in
+++ b/package/parted/Config.in
@@ -1,11 +1,15 @@
-config BR2_PACKAGE_PARTED
-	bool "parted"
+config BR2_PACKAGE_PARTED_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_PARTED
+	bool "parted"
 	select BR2_PACKAGE_LVM2
 	select BR2_PACKAGE_READLINE
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	depends on BR2_PACKAGE_PARTED_AVAILABLE
 	help
 	  parted, the GNU partition resizing program
 
diff --git a/package/patch/Config.in b/package/patch/Config.in
index dd6d51c..060fcfd 100644
--- a/package/patch/Config.in
+++ b/package/patch/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_PATCH_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_PATCH
 	bool "patch"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_PATCH_AVAILABLE
 	help
 	  Take patch files (containing difference listings) and apply them
 	  to original files, producing patched versions.
diff --git a/package/pciutils/Config.in b/package/pciutils/Config.in
index a082f23..4e2e9fc 100644
--- a/package/pciutils/Config.in
+++ b/package/pciutils/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PCIUTILS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PCIUTILS
 	bool "pciutils"
+	depends on BR2_PACKAGE_PCIUTILS_AVAILABLE
 	help
 	  Various utilities dealing with the PCI bus.
 	  Provides things like setpci and lspci.
diff --git a/package/pcmanfm/Config.in b/package/pcmanfm/Config.in
index c8b4deb..f9d203b 100644
--- a/package/pcmanfm/Config.in
+++ b/package/pcmanfm/Config.in
@@ -1,10 +1,14 @@
-config BR2_PACKAGE_PCMANFM
-	bool "pcmanfm"
+config BR2_PACKAGE_PCMANFM_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGTK2
+
+config BR2_PACKAGE_PCMANFM
+	bool "pcmanfm"
 	select BR2_PACKAGE_GAMIN
 	select BR2_PACKAGE_STARTUP_NOTIFICATION
-	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_PACKAGE_PCMANFM_AVAILABLE
 	help
 	  An extremly fast and lightweight file manager which features
 	  tabbed browsing and user-friendly interface.
diff --git a/package/pcre/Config.in b/package/pcre/Config.in
index a4e2547..8130d31 100644
--- a/package/pcre/Config.in
+++ b/package/pcre/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PCRE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PCRE
 	bool "pcre"
+	depends on BR2_PACKAGE_PCRE_AVAILABLE
 	help
 	  Perl Compatible Regular Expressions
 
diff --git a/package/php/Config.in b/package/php/Config.in
index c8c100c..af12c5c 100644
--- a/package/php/Config.in
+++ b/package/php/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PHP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PHP
 	bool "php"
+	depends on BR2_PACKAGE_PHP_AVAILABLE
 	help
 	  PHP  is a widely-used general-purpose scripting
 	  language that is especially suited for Web development
diff --git a/package/picocom/Config.in b/package/picocom/Config.in
index bd584e2..b0009b4 100644
--- a/package/picocom/Config.in
+++ b/package/picocom/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PICOCOM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PICOCOM
 	bool "picocom"
+	depends on BR2_PACKAGE_PICOCOM_AVAILABLE
 	help
 	  picocom is a minimal dumb-terminal emulation program. It
 	  is, in principle, very much like minicom, only it's pico
diff --git a/package/pixman/Config.in b/package/pixman/Config.in
index aa2a68f..6b3b57d 100644
--- a/package/pixman/Config.in
+++ b/package/pixman/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PIXMAN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PIXMAN
 	bool "pixman"
+	depends on BR2_PACKAGE_PIXMAN_AVAILABLE
 	help
 	  Cairo pixel manager
 
diff --git a/package/pkg-config/Config.in b/package/pkg-config/Config.in
index eae0a21..a7edcfc 100644
--- a/package/pkg-config/Config.in
+++ b/package/pkg-config/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_PKG_CONFIG_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_PKG_CONFIG
 	bool "pkg-config"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_PACKAGE_PKG_CONFIG_AVAILABLE
 	help
 	  pkg-config is a system for managing library compile/link
 	  flags that works with automake and autoconf. It replaces
diff --git a/package/poco/Config.in b/package/poco/Config.in
index 36d8de9..449fa93 100644
--- a/package/poco/Config.in
+++ b/package/poco/Config.in
@@ -1,9 +1,13 @@
-config BR2_PACKAGE_POCO
-	bool "poco"
+config BR2_PACKAGE_POCO_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_POCO
+	bool "poco"
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_PCRE
+	depends on BR2_PACKAGE_POCO_AVAILABLE
 	help
 	  The C++ Portable Components Libraries
 
diff --git a/package/polarssl/Config.in b/package/polarssl/Config.in
index 3414a7f..5226f46 100644
--- a/package/polarssl/Config.in
+++ b/package/polarssl/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_POLARSSL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_POLARSSL
 	bool "polarssl"
+	depends on BR2_PACKAGE_POLARSSL_AVAILABLE
 	help
 	  PolarSSL is an SSL library written in ANSI C. PolarSSL makes
 	  it easy for developers to include cryptographic and SSL/TLS
diff --git a/package/popt/Config.in b/package/popt/Config.in
index cbcdc15..ca33ca5 100644
--- a/package/popt/Config.in
+++ b/package/popt/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_POPT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_POPT
 	bool "popt"
+	depends on BR2_PACKAGE_POPT_AVAILABLE
 	help
 	  Popt is a C library for parsing command line parameters.
 
diff --git a/package/portaudio/Config.in b/package/portaudio/Config.in
index f91acc0..4b73301 100644
--- a/package/portaudio/Config.in
+++ b/package/portaudio/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PORTAUDIO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PORTAUDIO
 	bool "portaudio"
+	depends on BR2_PACKAGE_PORTAUDIO_AVAILABLE
 	help
 	  PortAudio is a free, cross-platform, open-source,
 	  audio I/O library.
diff --git a/package/portmap/Config.in b/package/portmap/Config.in
index 5914357..d1f3c25 100644
--- a/package/portmap/Config.in
+++ b/package/portmap/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_PORTMAP_AVAILABLE
+	def_bool y
+	depends on BR2_INET_RPC
+
 config BR2_PACKAGE_PORTMAP
 	bool "portmap"
-	depends on BR2_INET_RPC
+	depends on BR2_PACKAGE_PORTMAP_AVAILABLE
 	help
 	  The standard portmapper for RPC services.
 
diff --git a/package/pppd/Config.in b/package/pppd/Config.in
index 879b263..7686eb0 100644
--- a/package/pppd/Config.in
+++ b/package/pppd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PPPD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PPPD
 	bool "pppd"
+	depends on BR2_PACKAGE_PPPD_AVAILABLE
 	help
 	  An implementation of the Point-to-point protocol.
 
diff --git a/package/pptp-linux/Config.in b/package/pptp-linux/Config.in
index 165f79b..13ae2a5 100644
--- a/package/pptp-linux/Config.in
+++ b/package/pptp-linux/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PPTP_LINUX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PPTP_LINUX
 	bool "pptp-linux"
+	depends on BR2_PACKAGE_PPTP_LINUX_AVAILABLE
 	help
 	  An implementation of the Point-to-point protocol client.
 
diff --git a/package/procps/Config.in b/package/procps/Config.in
index 48baf7b..0af3bdf 100644
--- a/package/procps/Config.in
+++ b/package/procps/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_PROCPS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PROCPS
 	bool "procps"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_PROCPS_AVAILABLE
 	help
 	  Standard informational utilities and process-handling tools.
 	  Provides things like kill, ps, uptime, free, top, etc...
diff --git a/package/proftpd/Config.in b/package/proftpd/Config.in
index abdedc9..e423518 100644
--- a/package/proftpd/Config.in
+++ b/package/proftpd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PROFTPD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PROFTPD
 	bool "proftpd"
+	depends on BR2_PACKAGE_PROFTPD_AVAILABLE
 	help
 	  ProFTPD, a highly configurable FTP server.
 
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
index b044ef0..a5459d3 100644
--- a/package/protobuf/Config.in
+++ b/package/protobuf/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_PROTOBUF_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_PROTOBUF
 	bool "protobuf"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_PROTOBUF_AVAILABLE
 	help
 	  Protocol buffers are Google's language-neutral, platform-neutral,
 	  extensible mechanism for serializing structured data.
diff --git a/package/psmisc/Config.in b/package/psmisc/Config.in
index a138204..05fe88d 100644
--- a/package/psmisc/Config.in
+++ b/package/psmisc/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_PSMISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PSMISC
 	bool "psmisc"
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_PSMISC_AVAILABLE
 	help
 	  Helpful /proc related utilities such as pstree, fuser, and killall
 
diff --git a/package/pv/Config.in b/package/pv/Config.in
index 671f78e..2dd9df1 100644
--- a/package/pv/Config.in
+++ b/package/pv/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PV
 	bool "pv"
+	depends on BR2_PACKAGE_PV_AVAILABLE
 	help
 	  Pipe Viewer - is a terminal-based tool for
 	  monitoring the progress of data through a
diff --git a/package/python-dpkt/Config.in b/package/python-dpkt/Config.in
index aac9f09..4ab9a26 100644
--- a/package/python-dpkt/Config.in
+++ b/package/python-dpkt/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_PYTHON_DPKT_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_DPKT
 	bool "python-dpkt"
-	depends on BR2_PACKAGE_PYTHON
 	select BR2_PACKAGE_PYTHON_ZLIB
+	depends on BR2_PACKAGE_PYTHON_DPKT_AVAILABLE
 	help
 	  Fast, simple packet creation / parsing, with definitions
 	  for the basic TCP/IP protocols.
diff --git a/package/python-id3/Config.in b/package/python-id3/Config.in
index 829a657..807be1b 100644
--- a/package/python-id3/Config.in
+++ b/package/python-id3/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_PYTHON_ID3_AVAILABLE
+	def_bool y
+    depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_ID3
     bool "python-id3"
-    depends on BR2_PACKAGE_PYTHON
+	depends on BR2_PACKAGE_PYTHON_ID3_AVAILABLE
     help
       This module allows one to read and manipulate so-called ID3
       informational tags on MP3 files through an object-oriented
diff --git a/package/python-mad/Config.in b/package/python-mad/Config.in
index 2535421..f6d884b 100644
--- a/package/python-mad/Config.in
+++ b/package/python-mad/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_PYTHON_MAD_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_MAD
 	bool "python-mad"
-	depends on BR2_PACKAGE_PYTHON
 	select BR2_PACKAGE_LIBMAD
+	depends on BR2_PACKAGE_PYTHON_MAD_AVAILABLE
 	help
 	  python-mad is a Python binding for the MAD library, a
 	  high-quality integer-only MPEG decoder.
diff --git a/package/python-meld3/Config.in b/package/python-meld3/Config.in
index 8dee723..f4b04fc 100644
--- a/package/python-meld3/Config.in
+++ b/package/python-meld3/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_PYTHON_MELD3_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_MELD3
 	bool "python-meld3"
-	depends on BR2_PACKAGE_PYTHON
 	select BR2_PACKAGE_PYTHON_PYEXPAT
+	depends on BR2_PACKAGE_PYTHON_MELD3_AVAILABLE
 	help
 	  A HTML/XML templating system.
 
diff --git a/package/python-netifaces/Config.in b/package/python-netifaces/Config.in
index b9d66d8..d13d5ec 100644
--- a/package/python-netifaces/Config.in
+++ b/package/python-netifaces/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_PYTHON_NETIFACES_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_NETIFACES
 	bool "python-netifaces"
-	depends on BR2_PACKAGE_PYTHON
 	select BR2_PACKAGE_PYTHON_SETUPTOOLS
+	depends on BR2_PACKAGE_PYTHON_NETIFACES_AVAILABLE
 	help
 	  Portable access to network interfaces from Python.
 
diff --git a/package/python-nfc/Config.in b/package/python-nfc/Config.in
index c928ba1..3202bc4 100644
--- a/package/python-nfc/Config.in
+++ b/package/python-nfc/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_PYTHON_NFC_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_NFC
 	bool "python-nfc"
-	depends on BR2_PACKAGE_PYTHON
 	select BR2_PACKAGE_LIBUSB
 	select BR2_PACKAGE_LIBUSB_COMPAT
+	depends on BR2_PACKAGE_PYTHON_NFC_AVAILABLE
 	help
 	  Python module for near field communication.
 
diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in
index 1b0a8b9..ab51c1c 100644
--- a/package/python-pygame/Config.in
+++ b/package/python-pygame/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_PYTHON_PYGAME_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_PYGAME
 	bool "pygame"
-	depends on BR2_PACKAGE_PYTHON
 	select BR2_PACKAGE_SDL
+	depends on BR2_PACKAGE_PYTHON_PYGAME_AVAILABLE
 	help
 	  Pygame is a cross-platfrom library designed to make it easy to write
 	  multimedia software, such as games, in Python. Pygame requires the
diff --git a/package/python-serial/Config.in b/package/python-serial/Config.in
index ea090bd..7475367 100644
--- a/package/python-serial/Config.in
+++ b/package/python-serial/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_PYTHON_SERIAL_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_SERIAL
 	bool "python-serial"
-	depends on BR2_PACKAGE_PYTHON
+	depends on BR2_PACKAGE_PYTHON_SERIAL_AVAILABLE
 	help
 	  python-serial is a Python library to access serial ports.
 
diff --git a/package/python-setuptools/Config.in b/package/python-setuptools/Config.in
index 63c2b01..f03eb53 100644
--- a/package/python-setuptools/Config.in
+++ b/package/python-setuptools/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_PYTHON_SETUPTOOLS_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_PYTHON_SETUPTOOLS
 	bool "python-setuptools"
-	depends on BR2_PACKAGE_PYTHON
 	select BR2_PACKAGE_PYTHON_ZLIB
+	depends on BR2_PACKAGE_PYTHON_SETUPTOOLS_AVAILABLE
 	help
 	  Download, build, install, upgrade, and uninstall Python packages.
 
diff --git a/package/python/Config.in b/package/python/Config.in
index 11aa267..ebcbef2 100644
--- a/package/python/Config.in
+++ b/package/python/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_PYTHON_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_PYTHON
 	bool "python"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_LIBFFI
+	depends on BR2_PACKAGE_PYTHON_AVAILABLE
 	help
 	  The python language interpreter.
 
diff --git a/package/qt/Config.in b/package/qt/Config.in
index b75f224..737702c 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -1,9 +1,13 @@
 comment "qt requires a toolchain with C++ support enabled"
 	depends on !BR2_INSTALL_LIBSTDCPP
 
+config BR2_PACKAGE_QT_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 menuconfig BR2_PACKAGE_QT
 	bool "Qt"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_QT_AVAILABLE
 	help
 	  Qt is a cross-platform application and UI framework for
 	  developers using C++.
diff --git a/package/quagga/Config.in b/package/quagga/Config.in
index 0834201..8933fe7 100644
--- a/package/quagga/Config.in
+++ b/package/quagga/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_QUAGGA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_QUAGGA
 	bool "quagga"
+	depends on BR2_PACKAGE_QUAGGA_AVAILABLE
 	help
 	  Routing software suite, providing implementations of
 	  OSPFv2, OSPFv3 (IPv6), RIP v1 and v2, RIPng (IPv6) and BGPv4+.
diff --git a/package/quota/Config.in b/package/quota/Config.in
index 6c2beff..8a41b4d 100644
--- a/package/quota/Config.in
+++ b/package/quota/Config.in
@@ -1,12 +1,16 @@
-config BR2_PACKAGE_QUOTA
-	bool "quota"
+config BR2_PACKAGE_QUOTA_AVAILABLE
+	def_bool y
 	depends on BR2_INET_RPC
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_QUOTA
+	bool "quota"
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_MOUNT
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_QUOTA_AVAILABLE
 	help
 	  Implementation of the disk quota system.
 
diff --git a/package/radvd/Config.in b/package/radvd/Config.in
index 90c1fd4..bfcb1f5 100644
--- a/package/radvd/Config.in
+++ b/package/radvd/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_RADVD_AVAILABLE
+	def_bool y
+	depends on BR2_INET_IPV6
+
 config BR2_PACKAGE_RADVD
 	bool "radvd"
 	select BR2_PACKAGE_FLEX
 	select BR2_PACKAGE_FLEX_LIBFL
 	select BR2_PACKAGE_LIBDAEMON
-	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_RADVD_AVAILABLE
 	help
 	  IPv6 Router Advertisement Daemon.
 
diff --git a/package/ramspeed/Config.in b/package/ramspeed/Config.in
index b236329..61d84a2 100644
--- a/package/ramspeed/Config.in
+++ b/package/ramspeed/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_RAMSPEED_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_RAMSPEED
 	bool "ramspeed"
+	depends on BR2_PACKAGE_RAMSPEED_AVAILABLE
 	help
 	  RAMspeed is a free open source command line utility
 	  to measure cache and memory performance.
diff --git a/package/rdesktop/Config.in b/package/rdesktop/Config.in
index c0abe27..e82e4cc 100644
--- a/package/rdesktop/Config.in
+++ b/package/rdesktop/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_RDESKTOP_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_RDESKTOP
 	bool "rdesktop"
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXT
-	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_RDESKTOP_AVAILABLE
 	help
 	  rdesktop is an open source client for Windows NT Terminal
 	  Server and Windows 2000/2003 Terminal Services, capable of
diff --git a/package/read-edid/Config.in b/package/read-edid/Config.in
index bdcb7a7..985a18b 100644
--- a/package/read-edid/Config.in
+++ b/package/read-edid/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_READ_EDID_AVAILABLE
+	def_bool y
+	depends on BR2_i386
+
 config BR2_PACKAGE_READ_EDID
 	bool "read-edid"
-	depends on BR2_i386
+	depends on BR2_PACKAGE_READ_EDID_AVAILABLE
 	help
 	  Read-edid is a pair of tools for reading the EDID from a
 	  monitor.  It should work with most monitors made since 1996
diff --git a/package/readline/Config.in b/package/readline/Config.in
index 305955a..b46bb2c 100644
--- a/package/readline/Config.in
+++ b/package/readline/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_READLINE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_READLINE
 	bool "readline"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_READLINE_AVAILABLE
 	help
 	    Enable GNU readline support?
diff --git a/package/rings/Config.in b/package/rings/Config.in
index d1f1efe..857f2eb 100644
--- a/package/rings/Config.in
+++ b/package/rings/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_RINGS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_RINGS
 	bool "rings"
+	depends on BR2_PACKAGE_RINGS_AVAILABLE
 	help
 	  Provides a way to create new Lua states from within Lua.
 
diff --git a/package/rng-tools/Config.in b/package/rng-tools/Config.in
index e6dcf9d..e6a0112 100644
--- a/package/rng-tools/Config.in
+++ b/package/rng-tools/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_RNG_TOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_RNG_TOOLS
 	bool "rng-tools"
 	select BR2_PACKAGE_ARGP_STANDALONE
+	depends on BR2_PACKAGE_RNG_TOOLS_AVAILABLE
 	help
 	  Daemon to use hardware random number generators.
 
diff --git a/package/rp-pppoe/Config.in b/package/rp-pppoe/Config.in
index 668a443..0f8a412 100644
--- a/package/rp-pppoe/Config.in
+++ b/package/rp-pppoe/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_RP_PPPOE_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PPPD
+
 config BR2_PACKAGE_RP_PPPOE
 	bool "rp-pppoe"
-	depends on BR2_PACKAGE_PPPD
+	depends on BR2_PACKAGE_RP_PPPOE_AVAILABLE
 	help
 	  An implementation of the Point-to-point protocol over Ethernet.
 	  Has userspace client and server deamons.  You likely only need
diff --git a/package/rpm/Config.in b/package/rpm/Config.in
index 14072c9..f807cec 100644
--- a/package/rpm/Config.in
+++ b/package/rpm/Config.in
@@ -4,16 +4,20 @@ comment "rpm requires a toolchain with thread support"
 comment "rpm requires libneon with SSL, XML and ZLIB support"
 	depends on !BR2_PACKAGE_NEON || BR2_PACKAGE_NEON_NOXML && BR2_TOOLCHAIN_HAS_THREADS
 
+config BR2_PACKAGE_RPM_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
+	depends on BR2_PACKAGE_NEON
+	depends on !BR2_PACKAGE_NEON_NOXML
+
 config BR2_PACKAGE_RPM
 	bool "rpm"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
 	select BR2_PACKAGE_BEECRYPT
 	select BR2_PACKAGE_POPT
 	select BR2_PACKAGE_OPENSSL
-	depends on BR2_PACKAGE_NEON
-	depends on !BR2_PACKAGE_NEON_NOXML
 	select BR2_PACKAGE_NEON_ZLIB
 	select BR2_PACKAGE_NEON_SSL
+	depends on BR2_PACKAGE_RPM_AVAILABLE
 	help
 	  The RPM package management system.
 
diff --git a/package/rrdtool/Config.in b/package/rrdtool/Config.in
index d315b57..d52f8e4 100644
--- a/package/rrdtool/Config.in
+++ b/package/rrdtool/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_RRDTOOL_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_RRDTOOL
 	bool "rrdtool"
-	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_LIBART
 	select BR2_PACKAGE_LIBPNG
 	select BR2_PACKAGE_ZLIB
+	depends on BR2_PACKAGE_RRDTOOL_AVAILABLE
 	help
 	  RRDtool is the OpenSource industry standard, high performance
 	  data logging and graphing system for time series data.
diff --git a/package/rsh-redone/Config.in b/package/rsh-redone/Config.in
index 454bf30..c16830b 100644
--- a/package/rsh-redone/Config.in
+++ b/package/rsh-redone/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_RSH_REDONE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_RSH_REDONE
 	bool "rsh-redone"
+	depends on BR2_PACKAGE_RSH_REDONE_AVAILABLE
 	help
 	  Rsh-redone is a reimplementation of the remote shell clients and
 	  servers.  It is written from the ground up to avoid the bugs found
diff --git a/package/rsync/Config.in b/package/rsync/Config.in
index be95a7c..a228dd6 100644
--- a/package/rsync/Config.in
+++ b/package/rsync/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_RSYNC_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_RSYNC
 	bool "rsync"
 	# fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_RSYNC_AVAILABLE
 	help
 	  File transfer program to keep remote files in sync.
 
diff --git a/package/rsyslog/Config.in b/package/rsyslog/Config.in
index 2503f71..eacb52f 100644
--- a/package/rsyslog/Config.in
+++ b/package/rsyslog/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_RSYSLOG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_RSYSLOG
 	bool "rsyslog"
+	depends on BR2_PACKAGE_RSYSLOG_AVAILABLE
 	help
 	  Rsyslog is a powerful and flexible syslog implementation
 
diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in
index e645266..c4a840a 100644
--- a/package/rt-tests/Config.in
+++ b/package/rt-tests/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_RT_TESTS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_RT_TESTS
 	bool "rt-tests"
+	depends on BR2_PACKAGE_RT_TESTS_AVAILABLE
 	help
 	  Set of utilities for testing the real-time behaviour of a
 	  Linux system.
diff --git a/package/rtai/Config.in b/package/rtai/Config.in
index ecbff38..9617b12 100644
--- a/package/rtai/Config.in
+++ b/package/rtai/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_RTAI_AVAILABLE
+	def_bool y
+	depends on BR2_LINUX_KERNEL_EXT_RTAI
+
 config BR2_PACKAGE_RTAI
 	bool "rtai"
-	depends on BR2_LINUX_KERNEL_EXT_RTAI
+	depends on BR2_PACKAGE_RTAI_AVAILABLE
 	help
 	  RTAI - the RealTime Application Interface for Linux.
 
diff --git a/package/rtorrent/Config.in b/package/rtorrent/Config.in
index 142ff8b..4f1a445 100644
--- a/package/rtorrent/Config.in
+++ b/package/rtorrent/Config.in
@@ -1,12 +1,16 @@
-config BR2_PACKAGE_RTORRENT
-	bool "rtorrent"
+config BR2_PACKAGE_RTORRENT_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_RTORRENT
+	bool "rtorrent"
 	select BR2_PACKAGE_LIBCURL
 	select BR2_PACKAGE_LIBSIGC
 	select BR2_PACKAGE_LIBTORRENT
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_OPENSSL
+	depends on BR2_PACKAGE_RTORRENT_AVAILABLE
 	help
 	  BitTorrent Client using libtorrent
 
diff --git a/package/ruby/Config.in b/package/ruby/Config.in
index c18d8ad..780c5f7 100644
--- a/package/ruby/Config.in
+++ b/package/ruby/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_RUBY_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_RUBY
 	bool "ruby"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_RUBY_AVAILABLE
 	help
 	  Object Oriented Scripting Language.
 
diff --git a/package/samba/Config.in b/package/samba/Config.in
index 928b40b..036505b 100644
--- a/package/samba/Config.in
+++ b/package/samba/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SAMBA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SAMBA
 	bool "samba"
 	select BR2_PACKAGE_POPT
+	depends on BR2_PACKAGE_SAMBA_AVAILABLE
 	help
 	  Provides print services to all manner of SMB/CIFS clients,
 	  including the numerous versions of Microsoft Windows
diff --git a/package/sane-backends/Config.in b/package/sane-backends/Config.in
index 04222fc..37fe800 100644
--- a/package/sane-backends/Config.in
+++ b/package/sane-backends/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SANE_BACKENDS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SANE_BACKENDS
 	bool "sane-backends"
+	depends on BR2_PACKAGE_SANE_BACKENDS_AVAILABLE
 	help
 	  SANE - Scanner Access Now Easy
 
diff --git a/package/sawman/Config.in b/package/sawman/Config.in
index 8dd3ace..23567dd 100644
--- a/package/sawman/Config.in
+++ b/package/sawman/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SAWMAN_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_DIRECTFB
+
 config BR2_PACKAGE_SAWMAN
 	bool "SawMan (Window Manager)"
-	depends on BR2_PACKAGE_DIRECTFB
+	depends on BR2_PACKAGE_SAWMAN_AVAILABLE
 	help
 	  SaWMan is a new window manager module for use with DirectFB. 
           Its main difference to the default module is that it allows 
diff --git a/package/screen/Config.in b/package/screen/Config.in
index c232392..cc0cc46 100644
--- a/package/screen/Config.in
+++ b/package/screen/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SCREEN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SCREEN
 	bool "screen"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_SCREEN_AVAILABLE
 	help
 	  Screen is a full-screen window manager that multiplexes a physical
 	  terminal between several processes, typically interactive shells.
diff --git a/package/sdl/Config.in b/package/sdl/Config.in
index 65ac8a2..0ba920f 100644
--- a/package/sdl/Config.in
+++ b/package/sdl/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SDL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SDL
 	bool "SDL"
+	depends on BR2_PACKAGE_SDL_AVAILABLE
 	help
 	  Simple DirectMedia Layer - SDL is a library that allows
 	  programs portable low level access to a video framebuffer,
diff --git a/package/sdl_gfx/Config.in b/package/sdl_gfx/Config.in
index 4910b2d..f75bd09 100644
--- a/package/sdl_gfx/Config.in
+++ b/package/sdl_gfx/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SDL_GFX_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_SDL
+
 config BR2_PACKAGE_SDL_GFX
 	bool "SDL_gfx"
-	depends on BR2_PACKAGE_SDL
+	depends on BR2_PACKAGE_SDL_GFX_AVAILABLE
 	help
 	  The SDL_gfx library is an extension to the SDL library which
 	  provides basic antialiased drawing routines such as lines,
diff --git a/package/sdl_image/Config.in b/package/sdl_image/Config.in
index 36aa4a8..21f67b4 100644
--- a/package/sdl_image/Config.in
+++ b/package/sdl_image/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SDL_IMAGE_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_SDL
+
 config BR2_PACKAGE_SDL_IMAGE
 	bool "SDL_image"
-	depends on BR2_PACKAGE_SDL
+	depends on BR2_PACKAGE_SDL_IMAGE_AVAILABLE
 	help
 	  SDL_image is an image file loading library. It loads images
 	  as SDL surfaces, and supports the following formats:
diff --git a/package/sdl_mixer/Config.in b/package/sdl_mixer/Config.in
index 42dfe63..6e43935 100644
--- a/package/sdl_mixer/Config.in
+++ b/package/sdl_mixer/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SDL_MIXER_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_SDL
+
 config BR2_PACKAGE_SDL_MIXER
 	bool "SDL_mixer"
-	depends on BR2_PACKAGE_SDL
+	depends on BR2_PACKAGE_SDL_MIXER_AVAILABLE
 	help
 	  SDL_mixer is a sample multi-channel audio mixer library.
 	  It supports any number of simultaneously playing channels of
diff --git a/package/sdl_net/Config.in b/package/sdl_net/Config.in
index 2001d23..7f213dd 100644
--- a/package/sdl_net/Config.in
+++ b/package/sdl_net/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SDL_NET_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_SDL
+
 config BR2_PACKAGE_SDL_NET
 	bool "SDL_net"
-	depends on BR2_PACKAGE_SDL
+	depends on BR2_PACKAGE_SDL_NET_AVAILABLE
 	help
 	  SDL_net is a small, low-level, cross-platform network library, that
 	  can be used with the Simple DirectMedia Layer library (SDL).
diff --git a/package/sdl_sound/Config.in b/package/sdl_sound/Config.in
index 542c996..693af1a 100644
--- a/package/sdl_sound/Config.in
+++ b/package/sdl_sound/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_SDL_SOUND_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_SDL
+
 config BR2_PACKAGE_SDL_SOUND
 	bool "SDL_sound"
-	depends on BR2_PACKAGE_SDL
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_SDL_SOUND_AVAILABLE
 	help
 	  SDL_sound is a library that handles the decoding of several
 	  popular sound file formats, such as .WAV and .MP3.
diff --git a/package/sdl_ttf/Config.in b/package/sdl_ttf/Config.in
index 9f78b90..606428b 100644
--- a/package/sdl_ttf/Config.in
+++ b/package/sdl_ttf/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_SDL_TTF_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_SDL
+
 config BR2_PACKAGE_SDL_TTF
 	bool "SDL_TTF"
-	depends on BR2_PACKAGE_SDL
 	select BR2_PACKAGE_FREETYPE
+	depends on BR2_PACKAGE_SDL_TTF_AVAILABLE
 	help
 	  SDL_ttf is a sample TrueType font library. It allows you to
 	  use TrueType fonts in your SDL applications.
diff --git a/package/sdparm/Config.in b/package/sdparm/Config.in
index cec0f84..6fd96ac 100644
--- a/package/sdparm/Config.in
+++ b/package/sdparm/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SDPARM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SDPARM
 	bool "sdparm"
+	depends on BR2_PACKAGE_SDPARM_AVAILABLE
 	help
 	  Utility to accesses SCSI device parameters.
 
diff --git a/package/sed/Config.in b/package/sed/Config.in
index 1430915..1813d6f 100644
--- a/package/sed/Config.in
+++ b/package/sed/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SED_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_SED
 	bool "sed"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_SED_AVAILABLE
 	help
 	  Super-useful stream editor.
 
diff --git a/package/ser2net/Config.in b/package/ser2net/Config.in
index 7eb3a6a..3a6ee46 100644
--- a/package/ser2net/Config.in
+++ b/package/ser2net/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SER2NET_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SER2NET
 	bool "ser2net"
+	depends on BR2_PACKAGE_SER2NET_AVAILABLE
 	help
 	  Ser2net provides a way for a user to connect from a network
 	  connection to a serial port..
diff --git a/package/setserial/Config.in b/package/setserial/Config.in
index cffe50e..d84d3d6 100644
--- a/package/setserial/Config.in
+++ b/package/setserial/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SETSERIAL_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_SETSERIAL
 	bool "setserial"
 	# Uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_SETSERIAL_AVAILABLE
 	help
 	     Setserial : configuration of serial ports
diff --git a/package/shared-mime-info/Config.in b/package/shared-mime-info/Config.in
index b08c1fd..d3ffe6d 100644
--- a/package/shared-mime-info/Config.in
+++ b/package/shared-mime-info/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_SHARED_MIME_INFO_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_SHARED_MIME_INFO
 	bool "shared-mime-info"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_LIBXML2
+	depends on BR2_PACKAGE_SHARED_MIME_INFO_AVAILABLE
 	help
 	  The shared-mime-info package contains the core
 	  database of common types and the update-mime-database
diff --git a/package/slang/Config.in b/package/slang/Config.in
index 60facbb..32581a6 100644
--- a/package/slang/Config.in
+++ b/package/slang/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SLANG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SLANG
 	bool "slang"
+	depends on BR2_PACKAGE_SLANG_AVAILABLE
 	help
 	  Multi-platform console display library.
 
diff --git a/package/smartmontools/Config.in b/package/smartmontools/Config.in
index 18320f0..884a5eb 100644
--- a/package/smartmontools/Config.in
+++ b/package/smartmontools/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SMARTMONTOOLS_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_SMARTMONTOOLS
 	bool "smartmontools"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_SMARTMONTOOLS_AVAILABLE
 	help
 	  Control and monitor storage systems using S.M.A.R.T.
 
diff --git a/package/socat/Config.in b/package/socat/Config.in
index ae88be9..ca53c08 100644
--- a/package/socat/Config.in
+++ b/package/socat/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SOCAT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SOCAT
 	bool "socat"
+	depends on BR2_PACKAGE_SOCAT_AVAILABLE
 	help
 	  Multipurpose socket relay program.
 
diff --git a/package/socketcand/Config.in b/package/socketcand/Config.in
index 0d1d983..059f6f5 100644
--- a/package/socketcand/Config.in
+++ b/package/socketcand/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SOCKETCAND_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SOCKETCAND
 	bool "socketcand"
 	select BR2_PACKAGE_LIBCONFIG
+	depends on BR2_PACKAGE_SOCKETCAND_AVAILABLE
 	help
 	  Socketcand is a daemon that provides access to CAN interfaces
 	  on a machine via a network interface.
diff --git a/package/sound-theme-borealis/Config.in b/package/sound-theme-borealis/Config.in
index fcc109f..b453405 100644
--- a/package/sound-theme-borealis/Config.in
+++ b/package/sound-theme-borealis/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SOUND_THEME_BOREALIS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SOUND_THEME_BOREALIS
 	bool "sound-theme-borealis"
+	depends on BR2_PACKAGE_SOUND_THEME_BOREALIS_AVAILABLE
 	help
 	  Borealis sound theme.
 
diff --git a/package/sound-theme-freedesktop/Config.in b/package/sound-theme-freedesktop/Config.in
index 8b48015..f81da7a 100644
--- a/package/sound-theme-freedesktop/Config.in
+++ b/package/sound-theme-freedesktop/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SOUND_THEME_FREEDESKTOP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SOUND_THEME_FREEDESKTOP
 	bool "sound-theme-freedesktop"
+	depends on BR2_PACKAGE_SOUND_THEME_FREEDESKTOP_AVAILABLE
 	help
 	  Default theme for the XDG Sound Theme Specification.
 
diff --git a/package/spawn-fcgi/Config.in b/package/spawn-fcgi/Config.in
index 34cbbb1..1745793 100644
--- a/package/spawn-fcgi/Config.in
+++ b/package/spawn-fcgi/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SPAWN_FCGI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SPAWN_FCGI
 	bool "spawn-fcgi"
+	depends on BR2_PACKAGE_SPAWN_FCGI_AVAILABLE
 	help
 	  FastCGI process spawner.
 	  Project split from lighttpd.
diff --git a/package/speex/Config.in b/package/speex/Config.in
index 424a830..223eee9 100644
--- a/package/speex/Config.in
+++ b/package/speex/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SPEEX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SPEEX
 	bool "speex"
 	select BR2_PACKAGE_LIBOGG
+	depends on BR2_PACKAGE_SPEEX_AVAILABLE
 	help
 	  Speex is an Open Source/Free Software patent-free
 	  audio compression format designed for speech.
diff --git a/package/sqlcipher/Config.in b/package/sqlcipher/Config.in
index 8970115..8afbddb 100644
--- a/package/sqlcipher/Config.in
+++ b/package/sqlcipher/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_SQLCIPHER_AVAILABLE
+	def_bool y
+	depends on !BR2_PACKAGE_SQLITE
+
 config BR2_PACKAGE_SQLCIPHER
 	bool "sqlcipher"
-	depends on !BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_OPENSSL
+	depends on BR2_PACKAGE_SQLCIPHER_AVAILABLE
 	help
 	  SQLCipher is an SQLite extension that provides 256 bits AES
 	  encryption of database files.  Note that it is a fork of SQLite
diff --git a/package/sqlite/Config.in b/package/sqlite/Config.in
index 25aaa3f..88d570b 100644
--- a/package/sqlite/Config.in
+++ b/package/sqlite/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SQLITE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SQLITE
 	bool "sqlite"
+	depends on BR2_PACKAGE_SQLITE_AVAILABLE
 	help
 	  SQLite is a small C library that implements a self-contained,
 	  embeddable, zero-configuration SQL database engine.
diff --git a/package/squashfs/Config.in b/package/squashfs/Config.in
index 93d3594..aaca83e 100644
--- a/package/squashfs/Config.in
+++ b/package/squashfs/Config.in
@@ -1,8 +1,12 @@
-config BR2_PACKAGE_SQUASHFS
-	bool "squashfs"
+config BR2_PACKAGE_SQUASHFS_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_SQUASHFS
+	bool "squashfs"
 	select BR2_PACKAGE_SQUASHFS_GZIP if !(BR2_PACKAGE_SQUASHFS_LZMA || BR2_PACKAGE_SQUASHFS_LZO)
+	depends on BR2_PACKAGE_SQUASHFS_AVAILABLE
 	help
 	  Tools to generate SquashFS filesystems.
 
diff --git a/package/squashfs3/Config.in b/package/squashfs3/Config.in
index 3291272..4993a41 100644
--- a/package/squashfs3/Config.in
+++ b/package/squashfs3/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_SQUASHFS3
-	bool "squashfs3"
+config BR2_PACKAGE_SQUASHFS3_AVAILABLE
+	def_bool y
 	depends on BR2_DEPRECATED
 	depends on BR2_LARGEFILE
+
+config BR2_PACKAGE_SQUASHFS3
+	bool "squashfs3"
+	depends on BR2_PACKAGE_SQUASHFS3_AVAILABLE
 	help
 	  Tools to generate SquashFS 3.x filesystems.
 
diff --git a/package/squid/Config.in b/package/squid/Config.in
index 4ec7fa4..d09267e 100644
--- a/package/squid/Config.in
+++ b/package/squid/Config.in
@@ -1,11 +1,15 @@
 comment "Squid requires a toolchain with C++ and IPv6 support enabled"
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_INET_IPV6
 
-config BR2_PACKAGE_SQUID
-	bool "squid"
+config BR2_PACKAGE_SQUID_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_INET_IPV6
+
+config BR2_PACKAGE_SQUID
+	bool "squid"
 	select BR2_PACKAGE_LIBCAP
+	depends on BR2_PACKAGE_SQUID_AVAILABLE
 	help
 	  Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more.
 
diff --git a/package/sredird/Config.in b/package/sredird/Config.in
index 463269a..cd0b28c 100644
--- a/package/sredird/Config.in
+++ b/package/sredird/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SREDIRD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SREDIRD
 	bool "sredird"
+	depends on BR2_PACKAGE_SREDIRD_AVAILABLE
 	help
 	  Sredird is a serial port redirector that is compliant with
 	  the RFC 2217 "Telnet Com Port Control Option" protocol. This
diff --git a/package/sshfs/Config.in b/package/sshfs/Config.in
index 73d552f..d5e544e 100644
--- a/package/sshfs/Config.in
+++ b/package/sshfs/Config.in
@@ -1,3 +1,8 @@
+config BR2_PACKAGE_SSHFS_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_SSHFS
 	bool "sshfs (FUSE)"
 	select BR2_PACKAGE_LIBFUSE
@@ -6,8 +11,7 @@ config BR2_PACKAGE_SSHFS
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_OPENSSH
-	depends on BR2_LARGEFILE
-	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_SSHFS_AVAILABLE
 	help
 	  FUSE filesystem client based on the SSH File Transfer Protocol.
 
diff --git a/package/sstrip/Config.in b/package/sstrip/Config.in
index 12a5941..9f09864 100644
--- a/package/sstrip/Config.in
+++ b/package/sstrip/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SSTRIP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SSTRIP
 	bool "sstrip"
+	depends on BR2_PACKAGE_SSTRIP_AVAILABLE
 	help
 	  Small utility that removes a few bytes from an executable that
 	  strip leaves behind.
diff --git a/package/startup-notification/Config.in b/package/startup-notification/Config.in
index 277d300..0b626d2 100644
--- a/package/startup-notification/Config.in
+++ b/package/startup-notification/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_STARTUP_NOTIFICATION_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_STARTUP_NOTIFICATION
 	bool "startup-notification"
 	select BR2_PACKAGE_XLIB_LIBX11
-	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_STARTUP_NOTIFICATION_AVAILABLE
 	help
 	  Startup-notification is a library used to monitor application startup.
 
diff --git a/package/statserial/Config.in b/package/statserial/Config.in
index 4db5eb1..ef48c02 100644
--- a/package/statserial/Config.in
+++ b/package/statserial/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_STATSERIAL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_STATSERIAL
 	bool "statserial"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_STATSERIAL_AVAILABLE
 	help
 	  Displays a table of the signals on a standard
 	  9-pin or 25-pin serial port, and indicates the
diff --git a/package/strace/Config.in b/package/strace/Config.in
index bbb582a..b3a1270 100644
--- a/package/strace/Config.in
+++ b/package/strace/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_STRACE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_STRACE
 	bool "strace"
+	depends on BR2_PACKAGE_STRACE_AVAILABLE
 	help
 	  A useful diagnostic, instructional, and debugging tool.
 	  Allows you to track what system calls a program makes
diff --git a/package/stress/Config.in b/package/stress/Config.in
index b092b03..9550e58 100644
--- a/package/stress/Config.in
+++ b/package/stress/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_STRESS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_STRESS
 	bool "stress"
+	depends on BR2_PACKAGE_STRESS_AVAILABLE
 	help
 	  A deliberately simple workload generator for POSIX systems.
 	  It imposes a configurable amount of CPU, memory, I/O, and
diff --git a/package/stunnel/Config.in b/package/stunnel/Config.in
index b1977ed..e3ee61a 100644
--- a/package/stunnel/Config.in
+++ b/package/stunnel/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_STUNNEL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_STUNNEL
 	bool "stunnel"
 	select BR2_PACKAGE_OPENSSL
+	depends on BR2_PACKAGE_STUNNEL_AVAILABLE
 	help
 	  Stunnel is a program that wraps any TCP connection with an SSL
 	  connection.
diff --git a/package/sudo/Config.in b/package/sudo/Config.in
index cd7ab81..6764778 100644
--- a/package/sudo/Config.in
+++ b/package/sudo/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_SUDO_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_SUDO
 	bool "sudo"
 	# uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_SUDO_AVAILABLE
 	help
 	  Sudo is a program designed to allow a sysadmin to give
 	  limited root privileges to users and log root activity.  The
diff --git a/package/supervisor/Config.in b/package/supervisor/Config.in
index 5340181..6bdb274 100644
--- a/package/supervisor/Config.in
+++ b/package/supervisor/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_SUPERVISOR_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_PYTHON
+
 config BR2_PACKAGE_SUPERVISOR
 	bool "supervisor"
-	depends on BR2_PACKAGE_PYTHON
 	select BR2_PACKAGE_PYTHON_SETUPTOOLS
 	select BR2_PACKAGE_PYTHON_MELD3
+	depends on BR2_PACKAGE_SUPERVISOR_AVAILABLE
 	help
 	  A client/server system that allows its users to control a
 	  number of processes on UNIX-like operating systems.
diff --git a/package/sylpheed/Config.in b/package/sylpheed/Config.in
index 16f03be..37b3cfc 100644
--- a/package/sylpheed/Config.in
+++ b/package/sylpheed/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SYLPHEED_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_LIBGTK2
+
 config BR2_PACKAGE_SYLPHEED
 	bool "sylpheed"
-	depends on BR2_PACKAGE_LIBGTK2
+	depends on BR2_PACKAGE_SYLPHEED_AVAILABLE
 	help
 	  lightweight and user-friendly e-mail client.
 
diff --git a/package/synergy/Config.in b/package/synergy/Config.in
index 04351b7..e21c170 100644
--- a/package/synergy/Config.in
+++ b/package/synergy/Config.in
@@ -1,9 +1,13 @@
-config BR2_PACKAGE_SYNERGY
-	bool "synergy"
+config BR2_PACKAGE_SYNERGY_AVAILABLE
+	def_bool y
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_SYNERGY
+	bool "synergy"
 	select BR2_PACKAGE_XLIB_LIBXTST
+	depends on BR2_PACKAGE_SYNERGY_AVAILABLE
 	help
 	  Synergy lets you easily share a single mouse and
 	  keyboard between multiple computers with different
diff --git a/package/sysklogd/Config.in b/package/sysklogd/Config.in
index e3cf2ba..cb14de1 100644
--- a/package/sysklogd/Config.in
+++ b/package/sysklogd/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_SYSKLOGD_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_SYSKLOGD
 	bool "syslogd & klogd"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_SYSKLOGD_AVAILABLE
 	help
 	  System log daemons syslogd and klogd.
 
diff --git a/package/sysprof/Config.in b/package/sysprof/Config.in
index 513a32c..79e387a 100644
--- a/package/sysprof/Config.in
+++ b/package/sysprof/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_SYSPROF_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
+
 config BR2_PACKAGE_SYSPROF
 	bool "sysprof"
 	select BR2_PACKAGE_LIBGLIB2
-	depends on BR2_USE_WCHAR # glib2
 	# In its util.h file, sysprof contains architecture-specific
 	# code
-	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
+	depends on BR2_PACKAGE_SYSPROF_AVAILABLE
 	help
 	  Sysprof is a statistical, system-wide profiler that can
 	  profile user and kernel code using the perf API.
diff --git a/package/sysstat/Config.in b/package/sysstat/Config.in
index 6e62ff1..0b8e917 100644
--- a/package/sysstat/Config.in
+++ b/package/sysstat/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_SYSSTAT_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+
 config BR2_PACKAGE_SYSSTAT
 	bool "sysstat"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	# Uses fork()
-	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_SYSSTAT_AVAILABLE
 	help
           The sysstat utilities are a collection of performance
           monitoring tools for Linux. These include sar, sadf, mpstat,
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index 0e7fc39..b73212f 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -1,10 +1,14 @@
-config BR2_PACKAGE_SYSTEMD
-	bool "systemd"
+config BR2_PACKAGE_SYSTEMD_AVAILABLE
+	def_bool y
 	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
 	depends on BR2_INET_IPV6
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+
+config BR2_PACKAGE_SYSTEMD
+	bool "systemd"
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_LIBCAP
+	depends on BR2_PACKAGE_SYSTEMD_AVAILABLE
 	help
 	  systemd is a system and service manager for Linux, compatible with
 	  SysV and LSB init scripts. systemd provides aggressive parallelization
diff --git a/package/sysvinit/Config.in b/package/sysvinit/Config.in
index 34ec391..d37ce4a 100644
--- a/package/sysvinit/Config.in
+++ b/package/sysvinit/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_SYSVINIT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_SYSVINIT
 	bool "sysvinit"
+	depends on BR2_PACKAGE_SYSVINIT_AVAILABLE
 	help
 	  /sbin/init - parent of all processes
 
diff --git a/package/taglib/Config.in b/package/taglib/Config.in
index d172c34..1bb0ee6 100644
--- a/package/taglib/Config.in
+++ b/package/taglib/Config.in
@@ -1,7 +1,11 @@
 
+config BR2_PACKAGE_TAGLIB_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_TAGLIB
 	bool "taglib"
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_TAGLIB_AVAILABLE
 	help
 	  TagLib is a library for reading and editing the meta-data of
           several popular audio formats. Currently it supports both ID3v1
diff --git a/package/tar/Config.in b/package/tar/Config.in
index 427cae4..1fa844a 100644
--- a/package/tar/Config.in
+++ b/package/tar/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_TAR_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_TAR
 	bool "tar"
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_TAR_AVAILABLE
 	help
 	  A program that saves many files together into a single tape or disk
 	  archive, and can restore individual files from the archive.
diff --git a/package/tcl/Config.in b/package/tcl/Config.in
index 7a4d887..0d4cad0 100644
--- a/package/tcl/Config.in
+++ b/package/tcl/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_TCL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TCL
 	bool "tcl"
+	depends on BR2_PACKAGE_TCL_AVAILABLE
 	help
 	  TCL (Tool Command Language) is a simple textual language.
 
diff --git a/package/tcpdump/Config.in b/package/tcpdump/Config.in
index c284398..42af213 100644
--- a/package/tcpdump/Config.in
+++ b/package/tcpdump/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_TCPDUMP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TCPDUMP
 	bool "tcpdump"
 	select BR2_PACKAGE_LIBPCAP
+	depends on BR2_PACKAGE_TCPDUMP_AVAILABLE
 	help
 	  A tool for network monitoring and data acquisition.
 
diff --git a/package/tcpreplay/Config.in b/package/tcpreplay/Config.in
index 6d3a3bf..c907b2a 100644
--- a/package/tcpreplay/Config.in
+++ b/package/tcpreplay/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_TCPREPLAY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TCPREPLAY
 	bool "tcpreplay"
 	select BR2_PACKAGE_LIBPCAP
+	depends on BR2_PACKAGE_TCPREPLAY_AVAILABLE
 	help
 	  Tcpreplay is a tool for replaying network traffic from files saved
 	  with tcpdump or other tools which write pcap(3) files.
diff --git a/package/tftpd/Config.in b/package/tftpd/Config.in
index 52e23a3..c8a4a39 100644
--- a/package/tftpd/Config.in
+++ b/package/tftpd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_TFTPD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TFTPD
 	bool "tftpd"
+	depends on BR2_PACKAGE_TFTPD_AVAILABLE
 	help
 	  HPA's Trivial File Transfer Protocol (tftp) server.
 
diff --git a/package/thttpd/Config.in b/package/thttpd/Config.in
index 172a2d6..4d73802 100644
--- a/package/thttpd/Config.in
+++ b/package/thttpd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_THTTPD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_THTTPD
 	bool "thttpd"
+	depends on BR2_PACKAGE_THTTPD_AVAILABLE
 	help
 	  thttpd is a simple, small, portable, fast, and secure HTTP server
 
diff --git a/package/ti-utils/Config.in b/package/ti-utils/Config.in
index 94d6204..2bd1ab5c 100644
--- a/package/ti-utils/Config.in
+++ b/package/ti-utils/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_TI_UTILS_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
+
 config BR2_PACKAGE_TI_UTILS
 	bool "ti-utils"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
 	select BR2_PACKAGE_LIBNL
+	depends on BR2_PACKAGE_TI_UTILS_AVAILABLE
 	help
 	  The calibrator and other useful utilities for TI wireless solution,
 	  based on wl12xx driver.
diff --git a/package/tiff/Config.in b/package/tiff/Config.in
index 7850965..eb82eb4 100644
--- a/package/tiff/Config.in
+++ b/package/tiff/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_TIFF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TIFF
 	bool "tiff"
+	depends on BR2_PACKAGE_TIFF_AVAILABLE
 	help
 	  Library for handling TIFF (Tag Image File Format) images.
 
diff --git a/package/tinyhttpd/Config.in b/package/tinyhttpd/Config.in
index 5a6ee88..4b5f9ff 100644
--- a/package/tinyhttpd/Config.in
+++ b/package/tinyhttpd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_TINYHTTPD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TINYHTTPD
 	bool "tinyhttpd"
+	depends on BR2_PACKAGE_TINYHTTPD_AVAILABLE
 	help
 	  A relatively simple webserver written as a school project. It is
 	  exceedingly simple, threaded and handles basic CGI scripts.
diff --git a/package/tn5250/Config.in b/package/tn5250/Config.in
index 807def0..39a9841 100644
--- a/package/tn5250/Config.in
+++ b/package/tn5250/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_TN5250_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TN5250
 	bool "tn5250"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_TN5250_AVAILABLE
 	help
 	  Telnet client that emulates 5250 terminals and printers.
 
diff --git a/package/torsmo/Config.in b/package/torsmo/Config.in
index ec9cb22..0a67e72 100644
--- a/package/torsmo/Config.in
+++ b/package/torsmo/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_TORSMO_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_TORSMO
 	bool "torsmo"
-	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_TORSMO_AVAILABLE
 	help
 	  Torsmo is a system monitor that sits in the corner of your desktop.
 
diff --git a/package/transmission/Config.in b/package/transmission/Config.in
index e7e9f66..3c888bc 100644
--- a/package/transmission/Config.in
+++ b/package/transmission/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_TRANSMISSION_AVAILABLE
+	def_bool y
+	depends on BR2_INET_IPV6
+
 config BR2_PACKAGE_TRANSMISSION
 	bool "transmission"
-	depends on BR2_INET_IPV6
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBCURL
 	select BR2_PACKAGE_LIBEVENT
+	depends on BR2_PACKAGE_TRANSMISSION_AVAILABLE
 	help
 	  Transmission is a cross-platform BitTorrent client.
 
diff --git a/package/tremor/Config.in b/package/tremor/Config.in
index 2e58e09..325c6ad 100644
--- a/package/tremor/Config.in
+++ b/package/tremor/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_TREMOR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TREMOR
 	bool "tremor (fixed point vorbis decoder)"
+	depends on BR2_PACKAGE_TREMOR_AVAILABLE
 	help
 	  Tremor is a fixed point implementation of an Ogg Vorbis
           decoder. It provides a decoding API similar to libvorbis,
diff --git a/package/tslib/Config.in b/package/tslib/Config.in
index 76f1349..7eb7cf5 100644
--- a/package/tslib/Config.in
+++ b/package/tslib/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_TSLIB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_TSLIB
 	bool "libts - The Touchscreen tslib Library"
+	depends on BR2_PACKAGE_TSLIB_AVAILABLE
 	help
 	    http://tslib.berlios.de/
 
diff --git a/package/ttcp/Config.in b/package/ttcp/Config.in
index 0262fc9..de26650 100644
--- a/package/ttcp/Config.in
+++ b/package/ttcp/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_TTCP_AVAILABLE
+	def_bool y
+	depends on BR2_DEPRECATED
+
 config BR2_PACKAGE_TTCP
 	bool "ttcp"
-	depends on BR2_DEPRECATED
+	depends on BR2_PACKAGE_TTCP_AVAILABLE
 	help
 	  Benchmarking tool for determining TCP and UDP performance.
 
diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in
index 9cc837c..4cbb490 100644
--- a/package/uboot-tools/Config.in
+++ b/package/uboot-tools/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_UBOOT_TOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_UBOOT_TOOLS
 	bool "u-boot tools"
+	depends on BR2_PACKAGE_UBOOT_TOOLS_AVAILABLE
 	help
 	  Companion tools for Das U-Boot bootloader.
 
diff --git a/package/udev/Config.in b/package/udev/Config.in
index d3244d1..651087a 100644
--- a/package/udev/Config.in
+++ b/package/udev/Config.in
@@ -1,11 +1,15 @@
-config BR2_PACKAGE_UDEV
-	bool "udev"
+config BR2_PACKAGE_UDEV_AVAILABLE
+	def_bool y
 	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
 	depends on BR2_LARGEFILE # util-linux
 	depends on BR2_USE_WCHAR # util-linux
+
+config BR2_PACKAGE_UDEV
+	bool "udev"
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
 	select BR2_PACKAGE_KMOD
+	depends on BR2_PACKAGE_UDEV_AVAILABLE
 	help
 	  Userspace device daemon.
 
diff --git a/package/udpcast/Config.in b/package/udpcast/Config.in
index d7ccfb4..0a2276d 100644
--- a/package/udpcast/Config.in
+++ b/package/udpcast/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_UDPCAST_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_UDPCAST
 	bool "udpcast"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_UDPCAST_AVAILABLE
 	help
 	  A multicast protocol implementation which happens to
 	  be very handy for imaging drives over the network.
diff --git a/package/uemacs/Config.in b/package/uemacs/Config.in
index f093218..412ea9d 100644
--- a/package/uemacs/Config.in
+++ b/package/uemacs/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_UEMACS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_UEMACS
 	bool "uemacs"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_UEMACS_AVAILABLE
 	help
 	  A small emacs.
 
diff --git a/package/unionfs/Config.in b/package/unionfs/Config.in
index a974c8c..ba437e7 100644
--- a/package/unionfs/Config.in
+++ b/package/unionfs/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_UNIONFS_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_UNIONFS
 	bool "unionfs (FUSE)"
 	select BR2_PACKAGE_LIBFUSE
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_UNIONFS_AVAILABLE
 	help
 	  A userspace unionfs implementation.
 
diff --git a/package/usb_modeswitch/Config.in b/package/usb_modeswitch/Config.in
index a27b3ee..0292985 100644
--- a/package/usb_modeswitch/Config.in
+++ b/package/usb_modeswitch/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_USB_MODESWITCH_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_USB_MODESWITCH
 	bool "usb_modeswitch"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_LIBUSB
 	select BR2_PACKAGE_LIBUSB_COMPAT
+	depends on BR2_PACKAGE_USB_MODESWITCH_AVAILABLE
 	help
 	  USB mode switcher.
 	  Used to switch mode on multiple-function devices
diff --git a/package/usb_modeswitch_data/Config.in b/package/usb_modeswitch_data/Config.in
index 8698bb6..ae05890 100644
--- a/package/usb_modeswitch_data/Config.in
+++ b/package/usb_modeswitch_data/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_USB_MODESWITCH_DATA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_USB_MODESWITCH_DATA
 	bool "usb_modeswitch_data"
 	select BR2_PACKAGE_USB_MODESWITCH
 	# tcl is a runtime dependency
 	select BR2_PACKAGE_TCL
 	select BR2_PACKAGE_TCL_TCLSH
+	depends on BR2_PACKAGE_USB_MODESWITCH_DATA_AVAILABLE
 	help
 	  USB mode switch data
 	  Contains udev rules and events to allow usb_modeswitch to
diff --git a/package/usbmount/Config.in b/package/usbmount/Config.in
index 30c7b5a..3d4588f 100644
--- a/package/usbmount/Config.in
+++ b/package/usbmount/Config.in
@@ -1,11 +1,15 @@
-config BR2_PACKAGE_USBMOUNT
-	bool "usbmount"
+config BR2_PACKAGE_USBMOUNT_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE # util-linux
 	depends on BR2_USE_WCHAR # util-linux
 	depends on BR2_PACKAGE_UDEV
+
+config BR2_PACKAGE_USBMOUNT
+	bool "usbmount"
 	select BR2_PACKAGE_LOCKFILE_PROGS
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+	depends on BR2_PACKAGE_USBMOUNT_AVAILABLE
 	help
 	  The usbmount package automatically mounts USB mass storage devices
 	  when they are plugged in, and unmounts them when they are removed.
diff --git a/package/usbutils/Config.in b/package/usbutils/Config.in
index fd9926c..72c5279 100644
--- a/package/usbutils/Config.in
+++ b/package/usbutils/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_USBUTILS_AVAILABLE
+	def_bool y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+
 config BR2_PACKAGE_USBUTILS
 	bool "usbutils"
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
 	select BR2_PACKAGE_LIBUSB
+	depends on BR2_PACKAGE_USBUTILS_AVAILABLE
 	help
 	  USB enumeration utilities
 
diff --git a/package/ushare/Config.in b/package/ushare/Config.in
index acf025f..dcb2ef7 100644
--- a/package/ushare/Config.in
+++ b/package/ushare/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_USHARE_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_USHARE
 	bool "ushare"
-	depends on BR2_LARGEFILE
 	select BR2_PACKAGE_LIBUPNP
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
+	depends on BR2_PACKAGE_USHARE_AVAILABLE
 	help
 	  uShare is a UPnP (TM) A/V & DLNA Media Server.
 	  It implements the server component that provides UPnP media devices
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index 43a8444..7e667e8 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_UTIL_LINUX
-	bool "util-linux"
+config BR2_PACKAGE_UTIL_LINUX_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
+
+config BR2_PACKAGE_UTIL_LINUX
+	bool "util-linux"
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
 	help
 	  Various useful/essential Linux utilities.
 
diff --git a/package/vala/Config.in b/package/vala/Config.in
index 89b4459..a022acc 100644
--- a/package/vala/Config.in
+++ b/package/vala/Config.in
@@ -1,10 +1,14 @@
+config BR2_PACKAGE_VALA_AVAILABLE
+	def_bool y
+	depends on BR2_USE_WCHAR # glib2
+
 config BR2_PACKAGE_VALA
 	bool "vala"
-	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_VALA_AVAILABLE
 	help
 	  Compiler for the GObject type system.
 
diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in
index dacdd86..fde0b53 100644
--- a/package/valgrind/Config.in
+++ b/package/valgrind/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_VALGRIND
-	bool "valgrind"
+config BR2_PACKAGE_VALGRIND_AVAILABLE
+	def_bool y
 	depends on BR2_i386 || BR2_x86_64 || BR2_cortex_a8 || \
 		   BR2_cortex_a9 || BR2_powerpc
+
+config BR2_PACKAGE_VALGRIND
+	bool "valgrind"
+	depends on BR2_PACKAGE_VALGRIND_AVAILABLE
 	help
 	  Tool for debugging and profiling Linux programs.
 
diff --git a/package/vim/Config.in b/package/vim/Config.in
index 0da158f..99fa37c 100644
--- a/package/vim/Config.in
+++ b/package/vim/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_VIM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_VIM
 	bool "vim"
 	select BR2_PACKAGE_NCURSES
+	depends on BR2_PACKAGE_VIM_AVAILABLE
 	help
 	  VIM Text editor
 
diff --git a/package/vpnc/Config.in b/package/vpnc/Config.in
index 9abc0c5..b1d7588 100644
--- a/package/vpnc/Config.in
+++ b/package/vpnc/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_VPNC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_VPNC
 	bool "vpnc"
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBGPG_ERROR
+	depends on BR2_PACKAGE_VPNC_AVAILABLE
 	help
 	  Client for Cisco VPN concentrator
 	  3000 Series VPN Concentrator
diff --git a/package/vsftpd/Config.in b/package/vsftpd/Config.in
index 8414c88..52aa307 100644
--- a/package/vsftpd/Config.in
+++ b/package/vsftpd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_VSFTPD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_VSFTPD
 	bool "vsftpd"
+	depends on BR2_PACKAGE_VSFTPD_AVAILABLE
 	help
 	  vsftpd is an ftp daemon written with security in mind.
 	  http://vsftpd.beasts.org/
diff --git a/package/vtun/Config.in b/package/vtun/Config.in
index b40de25..37b0ffc 100644
--- a/package/vtun/Config.in
+++ b/package/vtun/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_VTUN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_VTUN
 	bool "vtun - BEWARE: read package/vtun/README.txt before use"
 	select BR2_PACKAGE_LZO
 	select BR2_PACKAGE_OPENSSL
+	depends on BR2_PACKAGE_VTUN_AVAILABLE
 	help
 	  Tool for easily creating Virtual Tunnels over TCP/IP networks
 	  with traffic shaping, compression, and encryption.
diff --git a/package/webkit/Config.in b/package/webkit/Config.in
index 34071e4..a365361 100644
--- a/package/webkit/Config.in
+++ b/package/webkit/Config.in
@@ -1,8 +1,11 @@
-config BR2_PACKAGE_WEBKIT
-	bool "webkit"
+config BR2_PACKAGE_WEBKIT_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
 	depends on BR2_PACKAGE_LIBGTK2
+
+config BR2_PACKAGE_WEBKIT
+	bool "webkit"
 	select BR2_PACKAGE_ICU
 	select BR2_PACKAGE_LIBCURL
 	select BR2_PACKAGE_LIBXML2
@@ -13,6 +16,7 @@ config BR2_PACKAGE_WEBKIT
 	select BR2_PACKAGE_CAIRO_PNG
 	select BR2_PACKAGE_LIBGAIL
 	select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_WEBKIT_AVAILABLE
 	help
 	  WebKit is an open source, standards compliant web browser engine.
 
diff --git a/package/webrtc-audio-processing/Config.in b/package/webrtc-audio-processing/Config.in
index 90341d6..7eef5f8 100644
--- a/package/webrtc-audio-processing/Config.in
+++ b/package/webrtc-audio-processing/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING
-	bool "webrtc-audio-processing"
+config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_AVAILABLE
+	def_bool y
 	depends on BR2_arm || BR2_i386 || BR2_x86_64
 	depends on BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING
+	bool "webrtc-audio-processing"
+	depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_AVAILABLE
 	help
 	  AudioProcessing library based on Google's implementation of
 	  WebRTC.
diff --git a/package/wget/Config.in b/package/wget/Config.in
index 354b48f..271218b 100644
--- a/package/wget/Config.in
+++ b/package/wget/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_WGET_AVAILABLE
+	def_bool y
+	depends on BR2_USE_MMU
+	depends on BR2_USE_WCHAR
+
 config BR2_PACKAGE_WGET
 	bool "wget"
 	# fork()
-	depends on BR2_USE_MMU
-	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_WGET_AVAILABLE
 	help
 	  Network utility to retrieve files from http, https and ftp.
 
diff --git a/package/whetstone/Config.in b/package/whetstone/Config.in
index 7a68160..deca27a 100644
--- a/package/whetstone/Config.in
+++ b/package/whetstone/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_WHETSTONE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_WHETSTONE
 	bool "whetstone"
+	depends on BR2_PACKAGE_WHETSTONE_AVAILABLE
 	help
 	  C Converted Whetstone Double Precision Benchmark
 
diff --git a/package/which/Config.in b/package/which/Config.in
index 5811083..eb75a58 100644
--- a/package/which/Config.in
+++ b/package/which/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_WHICH_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_WHICH
 	bool "which"
+	depends on BR2_PACKAGE_WHICH_AVAILABLE
 	help
 	  The standard 'which' utility.
 
diff --git a/package/wipe/Config.in b/package/wipe/Config.in
index 0241c13..2365f0d 100644
--- a/package/wipe/Config.in
+++ b/package/wipe/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_WIPE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_WIPE
 	bool "wipe"
+	depends on BR2_PACKAGE_WIPE_AVAILABLE
 	help
 	  Wipe is a little command for securely erasing files
 	  from magnetic media. It compiles under various unix platforms.
diff --git a/package/wireless_tools/Config.in b/package/wireless_tools/Config.in
index c51ee9b..0f41a92 100644
--- a/package/wireless_tools/Config.in
+++ b/package/wireless_tools/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_WIRELESS_TOOLS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_WIRELESS_TOOLS
 	bool "wireless tools"
+	depends on BR2_PACKAGE_WIRELESS_TOOLS_AVAILABLE
 	help
 	  A collection of tools to configure wireless lan cards.
 
diff --git a/package/wpa_supplicant/Config.in b/package/wpa_supplicant/Config.in
index d7cefe3..3dbd8a0 100644
--- a/package/wpa_supplicant/Config.in
+++ b/package/wpa_supplicant/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_WPA_SUPPLICANT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_WPA_SUPPLICANT
 	bool "wpa_supplicant"
+	depends on BR2_PACKAGE_WPA_SUPPLICANT_AVAILABLE
 	help
 	  WPA supplicant for secure wireless networks
 
diff --git a/package/wsapi/Config.in b/package/wsapi/Config.in
index 3621648..43efcf4 100644
--- a/package/wsapi/Config.in
+++ b/package/wsapi/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_WSAPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_WSAPI
 	bool "wsapi"
 	select BR2_PACKAGE_COXPCALL
 	select BR2_PACKAGE_LUAFILESYSTEM
 	select BR2_PACKAGE_RINGS
+	depends on BR2_PACKAGE_WSAPI_AVAILABLE
 	help
 	  API that abstracts the web server from Lua web applications.
 
diff --git a/package/x11r7/libxcb/Config.in b/package/x11r7/libxcb/Config.in
index 9554529..bdb2c90 100644
--- a/package/x11r7/libxcb/Config.in
+++ b/package/x11r7/libxcb/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_LIBXCB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_LIBXCB
 	bool "libxcb"
 	select BR2_PACKAGE_PTHREAD_STUBS
 	select BR2_PACKAGE_XCB_PROTO
 	select BR2_PACKAGE_XLIB_LIBXDMCP
 	select BR2_PACKAGE_XLIB_LIBXAU
+	depends on BR2_PACKAGE_LIBXCB_AVAILABLE
 	help
 	  The X protocol C-language Binding (XCB) is a replacement for
 	  Xlib featuring a small footprint, latency hiding, direct access
diff --git a/package/x11r7/mcookie/Config.in b/package/x11r7/mcookie/Config.in
index 2e9cfc7..3e5eccb 100644
--- a/package/x11r7/mcookie/Config.in
+++ b/package/x11r7/mcookie/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_MCOOKIE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_MCOOKIE
 	bool "mcookie"
+	depends on BR2_PACKAGE_MCOOKIE_AVAILABLE
 	help
 	  cookie generator for X server
 
diff --git a/package/x11r7/mesa3d/Config.in b/package/x11r7/mesa3d/Config.in
index 47ded29..4fe949d 100644
--- a/package/x11r7/mesa3d/Config.in
+++ b/package/x11r7/mesa3d/Config.in
@@ -1,3 +1,8 @@
+config BR2_PACKAGE_MESA3D_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XSERVER_xorg
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_MESA3D
 	bool "Mesa 3D Graphics Library"
 	select BR2_PACKAGE_XPROTO_GLPROTO
@@ -7,8 +12,7 @@ config BR2_PACKAGE_MESA3D
 	select BR2_PACKAGE_XPROTO_DRI2PROTO
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_EXPAT
-	depends on BR2_PACKAGE_XSERVER_xorg
-	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
 	help
 	  Mesa 3D, an open-source implementation of the OpenGL specification.
 
diff --git a/package/x11r7/pthread-stubs/Config.in b/package/x11r7/pthread-stubs/Config.in
index c17f7da..0299806 100644
--- a/package/x11r7/pthread-stubs/Config.in
+++ b/package/x11r7/pthread-stubs/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_PTHREAD_STUBS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_PTHREAD_STUBS
 	bool "pthread-stubs"
+	depends on BR2_PACKAGE_PTHREAD_STUBS_AVAILABLE
 	help
 	  This library provides weak aliases for pthread functions not
 	  provided in libc or otherwise available by default.
diff --git a/package/x11r7/xapp_appres/Config.in b/package/x11r7/xapp_appres/Config.in
index 7574659..b0c19dd 100644
--- a/package/x11r7/xapp_appres/Config.in
+++ b/package/x11r7/xapp_appres/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_APPRES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_APPRES
 	bool "appres"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXT
+	depends on BR2_PACKAGE_XAPP_APPRES_AVAILABLE
 	help
 	  list X application resource database
diff --git a/package/x11r7/xapp_bdftopcf/Config.in b/package/x11r7/xapp_bdftopcf/Config.in
index a9caffa..f738419 100644
--- a/package/x11r7/xapp_bdftopcf/Config.in
+++ b/package/x11r7/xapp_bdftopcf/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_BDFTOPCF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_BDFTOPCF
 	bool "bdftopcf"
 	select BR2_PACKAGE_XLIB_LIBXFONT
+	depends on BR2_PACKAGE_XAPP_BDFTOPCF_AVAILABLE
 	help
 	  X.Org bdftopcf application
diff --git a/package/x11r7/xapp_beforelight/Config.in b/package/x11r7/xapp_beforelight/Config.in
index 3a11189..f06738d 100644
--- a/package/x11r7/xapp_beforelight/Config.in
+++ b/package/x11r7/xapp_beforelight/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_BEFORELIGHT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_BEFORELIGHT
 	bool "beforelight"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXT
+	depends on BR2_PACKAGE_XAPP_BEFORELIGHT_AVAILABLE
 	help
 	  screen saver
diff --git a/package/x11r7/xapp_bitmap/Config.in b/package/x11r7/xapp_bitmap/Config.in
index e5bb5e8..efc8007 100644
--- a/package/x11r7/xapp_bitmap/Config.in
+++ b/package/x11r7/xapp_bitmap/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_BITMAP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_BITMAP
 	bool "bitmap"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXMU
 	select BR2_PACKAGE_XDATA_XBITMAPS
+	depends on BR2_PACKAGE_XAPP_BITMAP_AVAILABLE
 	help
 	  X.Org bitmap application
diff --git a/package/x11r7/xapp_editres/Config.in b/package/x11r7/xapp_editres/Config.in
index 390ec48..1586de7 100644
--- a/package/x11r7/xapp_editres/Config.in
+++ b/package/x11r7/xapp_editres/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_EDITRES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_EDITRES
 	bool "editres"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXMU
 	select BR2_PACKAGE_XLIB_LIBXT
+	depends on BR2_PACKAGE_XAPP_EDITRES_AVAILABLE
 	help
 	  a dynamic resource editor for X Toolkit applications
diff --git a/package/x11r7/xapp_fonttosfnt/Config.in b/package/x11r7/xapp_fonttosfnt/Config.in
index eb35710..684123d 100644
--- a/package/x11r7/xapp_fonttosfnt/Config.in
+++ b/package/x11r7/xapp_fonttosfnt/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_FONTTOSFNT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_FONTTOSFNT
 	bool "fonttosfnt"
 	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBFONTENC
+	depends on BR2_PACKAGE_XAPP_FONTTOSFNT_AVAILABLE
 	help
 	  X.Org fonttosfnt application
diff --git a/package/x11r7/xapp_fslsfonts/Config.in b/package/x11r7/xapp_fslsfonts/Config.in
index 1917d61..b31bce2 100644
--- a/package/x11r7/xapp_fslsfonts/Config.in
+++ b/package/x11r7/xapp_fslsfonts/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_FSLSFONTS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_FSLSFONTS
 	bool "fslsfonts"
 	select BR2_PACKAGE_XLIB_LIBFS
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_FSLSFONTS_AVAILABLE
 	help
 	  list fonts served by X font server
diff --git a/package/x11r7/xapp_fstobdf/Config.in b/package/x11r7/xapp_fstobdf/Config.in
index 0a1f62b..a82fc17 100644
--- a/package/x11r7/xapp_fstobdf/Config.in
+++ b/package/x11r7/xapp_fstobdf/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_FSTOBDF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_FSTOBDF
 	bool "fstobdf"
 	select BR2_PACKAGE_XLIB_LIBFS
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_FSTOBDF_AVAILABLE
 	help
 	  generate BDF font from X font server
diff --git a/package/x11r7/xapp_iceauth/Config.in b/package/x11r7/xapp_iceauth/Config.in
index ce2db98..1802936 100644
--- a/package/x11r7/xapp_iceauth/Config.in
+++ b/package/x11r7/xapp_iceauth/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_ICEAUTH_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_ICEAUTH
 	bool "iceauth"
 	select BR2_PACKAGE_XLIB_LIBICE
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_ICEAUTH_AVAILABLE
 	help
 	  ICE authority file utility
diff --git a/package/x11r7/xapp_ico/Config.in b/package/x11r7/xapp_ico/Config.in
index 892f2be..d797212 100644
--- a/package/x11r7/xapp_ico/Config.in
+++ b/package/x11r7/xapp_ico/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_ICO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_ICO
 	bool "ico"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_ICO_AVAILABLE
 	help
 	  animate an icosahedron or other polyhedron
diff --git a/package/x11r7/xapp_listres/Config.in b/package/x11r7/xapp_listres/Config.in
index a3be6b3..e718445 100644
--- a/package/x11r7/xapp_listres/Config.in
+++ b/package/x11r7/xapp_listres/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_LISTRES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_LISTRES
 	bool "listres"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXMU
 	select BR2_PACKAGE_XLIB_LIBXT
+	depends on BR2_PACKAGE_XAPP_LISTRES_AVAILABLE
 	help
 	  list resources in widgets
diff --git a/package/x11r7/xapp_luit/Config.in b/package/x11r7/xapp_luit/Config.in
index aec83a0..c29b005 100644
--- a/package/x11r7/xapp_luit/Config.in
+++ b/package/x11r7/xapp_luit/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_LUIT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_LUIT
 	bool "luit"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBFONTENC
+	depends on BR2_PACKAGE_XAPP_LUIT_AVAILABLE
 	help
 	  Locale and ISO 2022 support for Unicode terminals
diff --git a/package/x11r7/xapp_mkfontdir/Config.in b/package/x11r7/xapp_mkfontdir/Config.in
index 155772d..ae0643a 100644
--- a/package/x11r7/xapp_mkfontdir/Config.in
+++ b/package/x11r7/xapp_mkfontdir/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_MKFONTDIR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_MKFONTDIR
 	bool "mkfontdir"
 	select BR2_PACKAGE_XAPP_MKFONTSCALE
+	depends on BR2_PACKAGE_XAPP_MKFONTDIR_AVAILABLE
 	help
 	  create an index of X font files in a directory
diff --git a/package/x11r7/xapp_mkfontscale/Config.in b/package/x11r7/xapp_mkfontscale/Config.in
index 540dd45..67afb3b 100644
--- a/package/x11r7/xapp_mkfontscale/Config.in
+++ b/package/x11r7/xapp_mkfontscale/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_MKFONTSCALE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_MKFONTSCALE
 	bool "mkfontscale"
 	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBFONTENC
+	depends on BR2_PACKAGE_XAPP_MKFONTSCALE_AVAILABLE
 	help
 	  create an index of scalable font files for X
diff --git a/package/x11r7/xapp_oclock/Config.in b/package/x11r7/xapp_oclock/Config.in
index 00cd413..caa4530 100644
--- a/package/x11r7/xapp_oclock/Config.in
+++ b/package/x11r7/xapp_oclock/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_OCLOCK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_OCLOCK
 	bool "oclock"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_OCLOCK_AVAILABLE
 	help
 	  round X clock
diff --git a/package/x11r7/xapp_rgb/Config.in b/package/x11r7/xapp_rgb/Config.in
index 038b849..8ada3c2 100644
--- a/package/x11r7/xapp_rgb/Config.in
+++ b/package/x11r7/xapp_rgb/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_RGB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_RGB
 	bool "rgb"
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XAPP_RGB_AVAILABLE
 	help
 	  uncompile an rgb color-name database
diff --git a/package/x11r7/xapp_rstart/Config.in b/package/x11r7/xapp_rstart/Config.in
index 1bf61b3..a0ed6c1 100644
--- a/package/x11r7/xapp_rstart/Config.in
+++ b/package/x11r7/xapp_rstart/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_RSTART_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_RSTART
 	bool "rstart"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_RSTART_AVAILABLE
 	help
 	  X.Org rstart application
diff --git a/package/x11r7/xapp_scripts/Config.in b/package/x11r7/xapp_scripts/Config.in
index 691f0e2..32a9080 100644
--- a/package/x11r7/xapp_scripts/Config.in
+++ b/package/x11r7/xapp_scripts/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_SCRIPTS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_SCRIPTS
 	bool "scripts"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_SCRIPTS_AVAILABLE
 	help
 	  start an X program on a remote machine
diff --git a/package/x11r7/xapp_sessreg/Config.in b/package/x11r7/xapp_sessreg/Config.in
index 0796bc1..1d859fc 100644
--- a/package/x11r7/xapp_sessreg/Config.in
+++ b/package/x11r7/xapp_sessreg/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_SESSREG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_SESSREG
 	bool "sessreg"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XAPP_SESSREG_AVAILABLE
 	help
 	  manage utmp/wtmp entries for non-init clients
diff --git a/package/x11r7/xapp_setxkbmap/Config.in b/package/x11r7/xapp_setxkbmap/Config.in
index 2b1389c..d269756 100644
--- a/package/x11r7/xapp_setxkbmap/Config.in
+++ b/package/x11r7/xapp_setxkbmap/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_SETXKBMAP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_SETXKBMAP
 	bool "setxkbmap"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXKBFILE
+	depends on BR2_PACKAGE_XAPP_SETXKBMAP_AVAILABLE
 	help
 	  Controls the keyboard layout of a running X server.
diff --git a/package/x11r7/xapp_showfont/Config.in b/package/x11r7/xapp_showfont/Config.in
index edfab3f..627a56c 100644
--- a/package/x11r7/xapp_showfont/Config.in
+++ b/package/x11r7/xapp_showfont/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_SHOWFONT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_SHOWFONT
 	bool "showfont"
 	select BR2_PACKAGE_XLIB_LIBFS
+	depends on BR2_PACKAGE_XAPP_SHOWFONT_AVAILABLE
 	help
 	  font dumper for X font server
diff --git a/package/x11r7/xapp_smproxy/Config.in b/package/x11r7/xapp_smproxy/Config.in
index 80ab984..4d33c9c 100644
--- a/package/x11r7/xapp_smproxy/Config.in
+++ b/package/x11r7/xapp_smproxy/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_SMPROXY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_SMPROXY
 	bool "smproxy"
 	select BR2_PACKAGE_XLIB_LIBXMU
 	select BR2_PACKAGE_XLIB_LIBXT
+	depends on BR2_PACKAGE_XAPP_SMPROXY_AVAILABLE
 	help
 	  Session Manager Proxy
diff --git a/package/x11r7/xapp_twm/Config.in b/package/x11r7/xapp_twm/Config.in
index 25bf800..e4d4d1f 100644
--- a/package/x11r7/xapp_twm/Config.in
+++ b/package/x11r7/xapp_twm/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_TWM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_TWM
 	bool "twm"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_TWM_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xapp_viewres/Config.in b/package/x11r7/xapp_viewres/Config.in
index 32827c8..f5ffc98 100644
--- a/package/x11r7/xapp_viewres/Config.in
+++ b/package/x11r7/xapp_viewres/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_VIEWRES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_VIEWRES
 	bool "viewres"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_VIEWRES_AVAILABLE
 	help
 	  graphical class browser for Xt
diff --git a/package/x11r7/xapp_x11perf/Config.in b/package/x11r7/xapp_x11perf/Config.in
index 0f1eca8..21c019b 100644
--- a/package/x11r7/xapp_x11perf/Config.in
+++ b/package/x11r7/xapp_x11perf/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_X11PERF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_X11PERF
 	bool "x11perf"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
 	select BR2_PACKAGE_XLIB_LIBXFT
+	depends on BR2_PACKAGE_XAPP_X11PERF_AVAILABLE
 	help
 	  summarize x11perf results
diff --git a/package/x11r7/xapp_xauth/Config.in b/package/x11r7/xapp_xauth/Config.in
index 919fd50..a84d908 100644
--- a/package/x11r7/xapp_xauth/Config.in
+++ b/package/x11r7/xapp_xauth/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_XAUTH_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XAUTH
 	bool "xauth"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXAU
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XAUTH_AVAILABLE
 	help
 	  X authority file utility
diff --git a/package/x11r7/xapp_xbacklight/Config.in b/package/x11r7/xapp_xbacklight/Config.in
index 9756235..4468add 100644
--- a/package/x11r7/xapp_xbacklight/Config.in
+++ b/package/x11r7/xapp_xbacklight/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_XBACKLIGHT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XBACKLIGHT
 	bool "xbacklight"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXRANDR
 	select BR2_PACKAGE_XLIB_LIBXRENDER
+	depends on BR2_PACKAGE_XAPP_XBACKLIGHT_AVAILABLE
 	help
 	  xbacklight
diff --git a/package/x11r7/xapp_xbiff/Config.in b/package/x11r7/xapp_xbiff/Config.in
index ea4b58a..6e3701a 100644
--- a/package/x11r7/xapp_xbiff/Config.in
+++ b/package/x11r7/xapp_xbiff/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XBIFF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XBIFF
 	bool "xbiff"
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XDATA_XBITMAPS
+	depends on BR2_PACKAGE_XAPP_XBIFF_AVAILABLE
 	help
 	  mailbox flag for X
diff --git a/package/x11r7/xapp_xcalc/Config.in b/package/x11r7/xapp_xcalc/Config.in
index 2552be0..9c80b7e 100644
--- a/package/x11r7/xapp_xcalc/Config.in
+++ b/package/x11r7/xapp_xcalc/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XCALC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XCALC
 	bool "xcalc"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XCALC_AVAILABLE
 	help
 	  scientific calculator for X
diff --git a/package/x11r7/xapp_xclipboard/Config.in b/package/x11r7/xapp_xclipboard/Config.in
index 941c219..b032770 100644
--- a/package/x11r7/xapp_xclipboard/Config.in
+++ b/package/x11r7/xapp_xclipboard/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XCLIPBOARD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XCLIPBOARD
 	bool "xclipboard"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XCLIPBOARD_AVAILABLE
 	help
 	  interchange between cut buffer and selection
diff --git a/package/x11r7/xapp_xclock/Config.in b/package/x11r7/xapp_xclock/Config.in
index 083a6d1..f2234ba 100644
--- a/package/x11r7/xapp_xclock/Config.in
+++ b/package/x11r7/xapp_xclock/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XAPP_XCLOCK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XCLOCK
 	bool "xclock"
 	select BR2_PACKAGE_XLIB_LIBX11
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XAPP_XCLOCK
 	select BR2_PACKAGE_XLIB_LIBXFT
 	select BR2_PACKAGE_XLIB_LIBXRENDER
 	select BR2_PACKAGE_XLIB_LIBXKBFILE
+	depends on BR2_PACKAGE_XAPP_XCLOCK_AVAILABLE
 	help
 	  analog / digital clock for X
diff --git a/package/x11r7/xapp_xcmsdb/Config.in b/package/x11r7/xapp_xcmsdb/Config.in
index 99c9cbb..1795970 100644
--- a/package/x11r7/xapp_xcmsdb/Config.in
+++ b/package/x11r7/xapp_xcmsdb/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XCMSDB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XCMSDB
 	bool "xcmsdb"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XCMSDB_AVAILABLE
 	help
 	  Device Color Characterization utility for X Color Management System
diff --git a/package/x11r7/xapp_xcursorgen/Config.in b/package/x11r7/xapp_xcursorgen/Config.in
index c47ec28..705c113 100644
--- a/package/x11r7/xapp_xcursorgen/Config.in
+++ b/package/x11r7/xapp_xcursorgen/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_XCURSORGEN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XCURSORGEN
 	bool "xcursorgen"
 	select BR2_PACKAGE_LIBPNG
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
+	depends on BR2_PACKAGE_XAPP_XCURSORGEN_AVAILABLE
 	help
 	  create an X cursor file from a collection of PNG images
diff --git a/package/x11r7/xapp_xdbedizzy/Config.in b/package/x11r7/xapp_xdbedizzy/Config.in
index 5cba398..c2d3020 100644
--- a/package/x11r7/xapp_xdbedizzy/Config.in
+++ b/package/x11r7/xapp_xdbedizzy/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_XDBEDIZZY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XDBEDIZZY
 	bool "xdbedizzy"
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXP
 	select BR2_PACKAGE_XLIB_LIBXPRINTUTIL
+	depends on BR2_PACKAGE_XAPP_XDBEDIZZY_AVAILABLE
 	help
 	  X.Org xdbedizzy application
diff --git a/package/x11r7/xapp_xditview/Config.in b/package/x11r7/xapp_xditview/Config.in
index 22944f7..1c18c3f 100644
--- a/package/x11r7/xapp_xditview/Config.in
+++ b/package/x11r7/xapp_xditview/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XDITVIEW_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XDITVIEW
 	bool "xditview"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XDITVIEW_AVAILABLE
 	help
 	  display ditroff output
diff --git a/package/x11r7/xapp_xdm/Config.in b/package/x11r7/xapp_xdm/Config.in
index b1c50d5..4de04ec 100644
--- a/package/x11r7/xapp_xdm/Config.in
+++ b/package/x11r7/xapp_xdm/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XAPP_XDM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XDM
 	bool "xdm"
 	select BR2_PACKAGE_XAPP_XINIT
@@ -10,5 +13,6 @@ config BR2_PACKAGE_XAPP_XDM
 	select BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_XPROTO_XINERAMAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XAPP_XDM_AVAILABLE
 	help
 	  X.Org xdm application
diff --git a/package/x11r7/xapp_xdpyinfo/Config.in b/package/x11r7/xapp_xdpyinfo/Config.in
index e6ff686..803f0e2 100644
--- a/package/x11r7/xapp_xdpyinfo/Config.in
+++ b/package/x11r7/xapp_xdpyinfo/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XAPP_XDPYINFO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XDPYINFO
 	bool "xdpyinfo"
 	select BR2_PACKAGE_XLIB_LIBX11
@@ -14,5 +17,6 @@ config BR2_PACKAGE_XAPP_XDPYINFO
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO
+	depends on BR2_PACKAGE_XAPP_XDPYINFO_AVAILABLE
 	help
 	  display information utility for X
diff --git a/package/x11r7/xapp_xdriinfo/Config.in b/package/x11r7/xapp_xdriinfo/Config.in
index 970bff5..670cf21 100644
--- a/package/x11r7/xapp_xdriinfo/Config.in
+++ b/package/x11r7/xapp_xdriinfo/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_XDRIINFO_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_MESA3D
+
 config BR2_PACKAGE_XAPP_XDRIINFO
 	bool "xdriinfo"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XPROTO_GLPROTO
-	depends on BR2_PACKAGE_MESA3D
+	depends on BR2_PACKAGE_XAPP_XDRIINFO_AVAILABLE
 	help
 	  query configuration information of DRI drivers
diff --git a/package/x11r7/xapp_xedit/Config.in b/package/x11r7/xapp_xedit/Config.in
index 98e230d..828600c 100644
--- a/package/x11r7/xapp_xedit/Config.in
+++ b/package/x11r7/xapp_xedit/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XEDIT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XEDIT
 	bool "xedit"
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXPRINTUTIL
+	depends on BR2_PACKAGE_XAPP_XEDIT_AVAILABLE
 	help
 	  simple text editor for X
diff --git a/package/x11r7/xapp_xev/Config.in b/package/x11r7/xapp_xev/Config.in
index e2e05b3..e495b6a 100644
--- a/package/x11r7/xapp_xev/Config.in
+++ b/package/x11r7/xapp_xev/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XEV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XEV
 	bool "xev"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XEV_AVAILABLE
 	help
 	  print contents of X events
diff --git a/package/x11r7/xapp_xeyes/Config.in b/package/x11r7/xapp_xeyes/Config.in
index a7b7737..0c72907 100644
--- a/package/x11r7/xapp_xeyes/Config.in
+++ b/package/x11r7/xapp_xeyes/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_XEYES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XEYES
 	bool "xeyes"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXMU
 	select BR2_PACKAGE_XLIB_LIBXT
+	depends on BR2_PACKAGE_XAPP_XEYES_AVAILABLE
 	help
 	  X.Org xeyes application
diff --git a/package/x11r7/xapp_xf86dga/Config.in b/package/x11r7/xapp_xf86dga/Config.in
index 769ebf6..9f30122 100644
--- a/package/x11r7/xapp_xf86dga/Config.in
+++ b/package/x11r7/xapp_xf86dga/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XF86DGA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XF86DGA
 	bool "xf86dga"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXXF86DGA
+	depends on BR2_PACKAGE_XAPP_XF86DGA_AVAILABLE
 	help
 	  test program for the XFree86-DGA extension
diff --git a/package/x11r7/xapp_xfd/Config.in b/package/x11r7/xapp_xfd/Config.in
index f006b1e..1f2d787 100644
--- a/package/x11r7/xapp_xfd/Config.in
+++ b/package/x11r7/xapp_xfd/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_XFD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XFD
 	bool "xfd"
 	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXFT
+	depends on BR2_PACKAGE_XAPP_XFD_AVAILABLE
 	help
 	  X.Org xfd application
diff --git a/package/x11r7/xapp_xfontsel/Config.in b/package/x11r7/xapp_xfontsel/Config.in
index 0c6aa37..03ca2ef 100644
--- a/package/x11r7/xapp_xfontsel/Config.in
+++ b/package/x11r7/xapp_xfontsel/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XFONTSEL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XFONTSEL
 	bool "xfontsel"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XFONTSEL_AVAILABLE
 	help
 	  point and click selection of X11 font names
diff --git a/package/x11r7/xapp_xfs/Config.in b/package/x11r7/xapp_xfs/Config.in
index e71d89f..f72ab68 100644
--- a/package/x11r7/xapp_xfs/Config.in
+++ b/package/x11r7/xapp_xfs/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_XFS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XFS
 	bool "xfs"
 	select BR2_PACKAGE_XLIB_LIBFS
 	select BR2_PACKAGE_XLIB_LIBXFONT
 	select BR2_PACKAGE_XPROTO_FONTSPROTO
+	depends on BR2_PACKAGE_XAPP_XFS_AVAILABLE
 	help
 	  X font server
diff --git a/package/x11r7/xapp_xfsinfo/Config.in b/package/x11r7/xapp_xfsinfo/Config.in
index 84c8ac1..c67ab1f 100644
--- a/package/x11r7/xapp_xfsinfo/Config.in
+++ b/package/x11r7/xapp_xfsinfo/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XFSINFO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XFSINFO
 	bool "xfsinfo"
 	select BR2_PACKAGE_XLIB_LIBFS
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XFSINFO_AVAILABLE
 	help
 	  X font server information utility
diff --git a/package/x11r7/xapp_xgamma/Config.in b/package/x11r7/xapp_xgamma/Config.in
index b20a784..442506e 100644
--- a/package/x11r7/xapp_xgamma/Config.in
+++ b/package/x11r7/xapp_xgamma/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XGAMMA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XGAMMA
 	bool "xgamma"
 	select BR2_PACKAGE_XLIB_LIBXXF86VM
+	depends on BR2_PACKAGE_XAPP_XGAMMA_AVAILABLE
 	help
 	  Alter a monitor's gamma correction through the X server
diff --git a/package/x11r7/xapp_xgc/Config.in b/package/x11r7/xapp_xgc/Config.in
index 98faba8..375c838 100644
--- a/package/x11r7/xapp_xgc/Config.in
+++ b/package/x11r7/xapp_xgc/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XGC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XGC
 	bool "xgc"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XGC_AVAILABLE
 	help
 	  X graphics demo
diff --git a/package/x11r7/xapp_xhost/Config.in b/package/x11r7/xapp_xhost/Config.in
index 659b34d..910e35a 100644
--- a/package/x11r7/xapp_xhost/Config.in
+++ b/package/x11r7/xapp_xhost/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XHOST_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XHOST
 	bool "xhost"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XHOST_AVAILABLE
 	help
 	  Controls host and/or user access to a running X server.
diff --git a/package/x11r7/xapp_xinit/Config.in b/package/x11r7/xapp_xinit/Config.in
index 9ac2817..1ea946c 100644
--- a/package/x11r7/xapp_xinit/Config.in
+++ b/package/x11r7/xapp_xinit/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XINIT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XINIT
 	bool "xinit"
 	select BR2_PACKAGE_XAPP_XAUTH
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XINIT_AVAILABLE
 	help
 	  X Window System initializer
diff --git a/package/x11r7/xapp_xinput/Config.in b/package/x11r7/xapp_xinput/Config.in
index 2505dd3..11a441f 100644
--- a/package/x11r7/xapp_xinput/Config.in
+++ b/package/x11r7/xapp_xinput/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XINPUT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XINPUT
 	bool "xinput"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXI
+	depends on BR2_PACKAGE_XAPP_XINPUT_AVAILABLE
 	help
 	  xinput
diff --git a/package/x11r7/xapp_xinput_calibrator/Config.in b/package/x11r7/xapp_xinput_calibrator/Config.in
index ac98b8d..fbe9c32 100644
--- a/package/x11r7/xapp_xinput_calibrator/Config.in
+++ b/package/x11r7/xapp_xinput_calibrator/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_XINPUT_CALIBRATOR_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_XAPP_XINPUT_CALIBRATOR
 	bool "xinput-calibrator"
-	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXI
+	depends on BR2_PACKAGE_XAPP_XINPUT_CALIBRATOR_AVAILABLE
 	help
 	  A generic touchscreen calibration program for X.Org.
 
diff --git a/package/x11r7/xapp_xkbcomp/Config.in b/package/x11r7/xapp_xkbcomp/Config.in
index 2b575b2..78f08c9 100644
--- a/package/x11r7/xapp_xkbcomp/Config.in
+++ b/package/x11r7/xapp_xkbcomp/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XKBCOMP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XKBCOMP
 	bool "xkbcomp"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXKBFILE
+	depends on BR2_PACKAGE_XAPP_XKBCOMP_AVAILABLE
 	help
 	  compile XKB keyboard description
diff --git a/package/x11r7/xapp_xkbevd/Config.in b/package/x11r7/xapp_xkbevd/Config.in
index cf31565..40f6d80 100644
--- a/package/x11r7/xapp_xkbevd/Config.in
+++ b/package/x11r7/xapp_xkbevd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XKBEVD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XKBEVD
 	bool "xkbevd"
 	select BR2_PACKAGE_XLIB_LIBXKBFILE
+	depends on BR2_PACKAGE_XAPP_XKBEVD_AVAILABLE
 	help
 	  XKB event daemon
diff --git a/package/x11r7/xapp_xkbprint/Config.in b/package/x11r7/xapp_xkbprint/Config.in
index e7a4242..3ea8e20 100644
--- a/package/x11r7/xapp_xkbprint/Config.in
+++ b/package/x11r7/xapp_xkbprint/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XKBPRINT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XKBPRINT
 	bool "xkbprint"
 	select BR2_PACKAGE_XLIB_LIBXKBFILE
+	depends on BR2_PACKAGE_XAPP_XKBPRINT_AVAILABLE
 	help
 	  print an XKB keyboard description
diff --git a/package/x11r7/xapp_xkbutils/Config.in b/package/x11r7/xapp_xkbutils/Config.in
index 22a819b..92354db 100644
--- a/package/x11r7/xapp_xkbutils/Config.in
+++ b/package/x11r7/xapp_xkbutils/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XKBUTILS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XKBUTILS
 	bool "xkbutils"
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXKBFILE
+	depends on BR2_PACKAGE_XAPP_XKBUTILS_AVAILABLE
 	help
 	  X.Org xkbutils application
diff --git a/package/x11r7/xapp_xkill/Config.in b/package/x11r7/xapp_xkill/Config.in
index fcab92a..0981405 100644
--- a/package/x11r7/xapp_xkill/Config.in
+++ b/package/x11r7/xapp_xkill/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XKILL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XKILL
 	bool "xkill"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XKILL_AVAILABLE
 	help
 	  kill a client by its X resource
diff --git a/package/x11r7/xapp_xload/Config.in b/package/x11r7/xapp_xload/Config.in
index 25c79d2..536909d 100644
--- a/package/x11r7/xapp_xload/Config.in
+++ b/package/x11r7/xapp_xload/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XLOAD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XLOAD
 	bool "xload"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XLOAD_AVAILABLE
 	help
 	  system load average display for X
diff --git a/package/x11r7/xapp_xlogo/Config.in b/package/x11r7/xapp_xlogo/Config.in
index 04f779d..6f5f9d7 100644
--- a/package/x11r7/xapp_xlogo/Config.in
+++ b/package/x11r7/xapp_xlogo/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XAPP_XLOGO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XLOGO
 	bool "xlogo"
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXPRINTUTIL
 	select BR2_PACKAGE_XLIB_LIBXRENDER
 	select BR2_PACKAGE_XLIB_LIBXFT
+	depends on BR2_PACKAGE_XAPP_XLOGO_AVAILABLE
 	help
 	  X Window System logo
diff --git a/package/x11r7/xapp_xlsatoms/Config.in b/package/x11r7/xapp_xlsatoms/Config.in
index 2ad8484..70f3a9e 100644
--- a/package/x11r7/xapp_xlsatoms/Config.in
+++ b/package/x11r7/xapp_xlsatoms/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XLSATOMS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XLSATOMS
 	bool "xlsatoms"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XLSATOMS_AVAILABLE
 	help
 	  list interned atoms defined on server
diff --git a/package/x11r7/xapp_xlsclients/Config.in b/package/x11r7/xapp_xlsclients/Config.in
index f8f6132..14f5bb8 100644
--- a/package/x11r7/xapp_xlsclients/Config.in
+++ b/package/x11r7/xapp_xlsclients/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XLSCLIENTS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XLSCLIENTS
 	bool "xlsclients"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XLSCLIENTS_AVAILABLE
 	help
 	  X.Org xlsclients application
diff --git a/package/x11r7/xapp_xlsfonts/Config.in b/package/x11r7/xapp_xlsfonts/Config.in
index dab61eb..f0ec061 100644
--- a/package/x11r7/xapp_xlsfonts/Config.in
+++ b/package/x11r7/xapp_xlsfonts/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XLSFONTS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XLSFONTS
 	bool "xlsfonts"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XLSFONTS_AVAILABLE
 	help
 	  X.Org xlsfonts application
diff --git a/package/x11r7/xapp_xmag/Config.in b/package/x11r7/xapp_xmag/Config.in
index 44d2c8e..3dbe45e 100644
--- a/package/x11r7/xapp_xmag/Config.in
+++ b/package/x11r7/xapp_xmag/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XMAG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XMAG
 	bool "xmag"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XMAG_AVAILABLE
 	help
 	  X.Org xmag application
diff --git a/package/x11r7/xapp_xman/Config.in b/package/x11r7/xapp_xman/Config.in
index 4f4f067..59de3e3 100644
--- a/package/x11r7/xapp_xman/Config.in
+++ b/package/x11r7/xapp_xman/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XMAN_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XMAN
 	bool "xman"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XMAN_AVAILABLE
 	help
 	  Manual page display program for the X Window System
diff --git a/package/x11r7/xapp_xmessage/Config.in b/package/x11r7/xapp_xmessage/Config.in
index e80562f..ead9e85 100644
--- a/package/x11r7/xapp_xmessage/Config.in
+++ b/package/x11r7/xapp_xmessage/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XMESSAGE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XMESSAGE
 	bool "xmessage"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XMESSAGE_AVAILABLE
 	help
 	  display a message or query in a window (X-based /bin/echo)
diff --git a/package/x11r7/xapp_xmh/Config.in b/package/x11r7/xapp_xmh/Config.in
index 3da965a..3c29311 100644
--- a/package/x11r7/xapp_xmh/Config.in
+++ b/package/x11r7/xapp_xmh/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XMH_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XMH
 	bool "xmh"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XMH_AVAILABLE
 	help
 	  send and read mail with an X interface to MH
diff --git a/package/x11r7/xapp_xmodmap/Config.in b/package/x11r7/xapp_xmodmap/Config.in
index 9be79ab..252e45e 100644
--- a/package/x11r7/xapp_xmodmap/Config.in
+++ b/package/x11r7/xapp_xmodmap/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XMODMAP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XMODMAP
 	bool "xmodmap"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XMODMAP_AVAILABLE
 	help
 	  utility for modifying keymaps and pointer button mappings in X
diff --git a/package/x11r7/xapp_xmore/Config.in b/package/x11r7/xapp_xmore/Config.in
index 23fd147..9b52ea0 100644
--- a/package/x11r7/xapp_xmore/Config.in
+++ b/package/x11r7/xapp_xmore/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XMORE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XMORE
 	bool "xmore"
 	select BR2_PACKAGE_XLIB_LIBXPRINTUTIL
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XMORE_AVAILABLE
 	help
 	  plain text display program for the X Window System
diff --git a/package/x11r7/xapp_xplsprinters/Config.in b/package/x11r7/xapp_xplsprinters/Config.in
index 16a139b..484be69 100644
--- a/package/x11r7/xapp_xplsprinters/Config.in
+++ b/package/x11r7/xapp_xplsprinters/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_XPLSPRINTERS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XPLSPRINTERS
 	bool "xplsprinters"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXP
 	select BR2_PACKAGE_XLIB_LIBXPRINTUTIL
+	depends on BR2_PACKAGE_XAPP_XPLSPRINTERS_AVAILABLE
 	help
 	  shows a list of Xprint printers and it's attributes
diff --git a/package/x11r7/xapp_xpr/Config.in b/package/x11r7/xapp_xpr/Config.in
index 0710d62..0b3971c 100644
--- a/package/x11r7/xapp_xpr/Config.in
+++ b/package/x11r7/xapp_xpr/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XPR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XPR
 	bool "xpr"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XPR_AVAILABLE
 	help
 	  X.Org xpr application
diff --git a/package/x11r7/xapp_xprehashprinterlist/Config.in b/package/x11r7/xapp_xprehashprinterlist/Config.in
index 056fdb6..1514a1a 100644
--- a/package/x11r7/xapp_xprehashprinterlist/Config.in
+++ b/package/x11r7/xapp_xprehashprinterlist/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XPREHASHPRINTERLIST_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XPREHASHPRINTERLIST
 	bool "xprehashprinterlist"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXP
+	depends on BR2_PACKAGE_XAPP_XPREHASHPRINTERLIST_AVAILABLE
 	help
 	  Recomputes the list of available printers.
diff --git a/package/x11r7/xapp_xprop/Config.in b/package/x11r7/xapp_xprop/Config.in
index 314e79f..67877e3 100644
--- a/package/x11r7/xapp_xprop/Config.in
+++ b/package/x11r7/xapp_xprop/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XPROP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XPROP
 	bool "xprop"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XPROP_AVAILABLE
 	help
 	  property displayer for X
diff --git a/package/x11r7/xapp_xrandr/Config.in b/package/x11r7/xapp_xrandr/Config.in
index fe9bd4e..d1d507b 100644
--- a/package/x11r7/xapp_xrandr/Config.in
+++ b/package/x11r7/xapp_xrandr/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XRANDR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XRANDR
 	bool "xrandr"
 	select BR2_PACKAGE_XLIB_LIBXRANDR
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XRANDR_AVAILABLE
 	help
 	  primitive command line interface to RandR extension
diff --git a/package/x11r7/xapp_xrdb/Config.in b/package/x11r7/xapp_xrdb/Config.in
index 8c07857..6310e49 100644
--- a/package/x11r7/xapp_xrdb/Config.in
+++ b/package/x11r7/xapp_xrdb/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XRDB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XRDB
 	bool "xrdb"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XRDB_AVAILABLE
 	help
 	  X server resource database utility
diff --git a/package/x11r7/xapp_xrefresh/Config.in b/package/x11r7/xapp_xrefresh/Config.in
index 16b1e50..b897056 100644
--- a/package/x11r7/xapp_xrefresh/Config.in
+++ b/package/x11r7/xapp_xrefresh/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XREFRESH_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XREFRESH
 	bool "xrefresh"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XREFRESH_AVAILABLE
 	help
 	  refresh all or part of an X screen
diff --git a/package/x11r7/xapp_xset/Config.in b/package/x11r7/xapp_xset/Config.in
index ff697e5..c692fa0 100644
--- a/package/x11r7/xapp_xset/Config.in
+++ b/package/x11r7/xapp_xset/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XSET_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XSET
 	bool "xset"
 	select BR2_PACKAGE_XLIB_LIBXFONTCACHE
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XSET_AVAILABLE
 	help
 	  X.Org xset application
diff --git a/package/x11r7/xapp_xsetmode/Config.in b/package/x11r7/xapp_xsetmode/Config.in
index a08e02d..2d64a25 100644
--- a/package/x11r7/xapp_xsetmode/Config.in
+++ b/package/x11r7/xapp_xsetmode/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XSETMODE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XSETMODE
 	bool "xsetmode"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXI
+	depends on BR2_PACKAGE_XAPP_XSETMODE_AVAILABLE
 	help
 	  set the mode for an X Input device
diff --git a/package/x11r7/xapp_xsetpointer/Config.in b/package/x11r7/xapp_xsetpointer/Config.in
index 2b0b462..768fcf6 100644
--- a/package/x11r7/xapp_xsetpointer/Config.in
+++ b/package/x11r7/xapp_xsetpointer/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_XSETPOINTER_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XSETPOINTER
 	bool "xsetpointer"
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXI
+	depends on BR2_PACKAGE_XAPP_XSETPOINTER_AVAILABLE
 	help
 	  set an X Input device as the main pointer
diff --git a/package/x11r7/xapp_xsetroot/Config.in b/package/x11r7/xapp_xsetroot/Config.in
index 82c0dba..2e9e29d 100644
--- a/package/x11r7/xapp_xsetroot/Config.in
+++ b/package/x11r7/xapp_xsetroot/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XAPP_XSETROOT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XSETROOT
 	bool "xsetroot"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
 	select BR2_PACKAGE_XDATA_XBITMAPS
+	depends on BR2_PACKAGE_XAPP_XSETROOT_AVAILABLE
 	help
 	  X.Org xsetroot application
diff --git a/package/x11r7/xapp_xsm/Config.in b/package/x11r7/xapp_xsm/Config.in
index d06dc6c..943ea7a 100644
--- a/package/x11r7/xapp_xsm/Config.in
+++ b/package/x11r7/xapp_xsm/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XSM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XSM
 	bool "xsm"
 	select BR2_PACKAGE_XLIB_LIBXAW
+	depends on BR2_PACKAGE_XAPP_XSM_AVAILABLE
 	help
 	  X Session Manager
diff --git a/package/x11r7/xapp_xstdcmap/Config.in b/package/x11r7/xapp_xstdcmap/Config.in
index f15c36b..117edd9 100644
--- a/package/x11r7/xapp_xstdcmap/Config.in
+++ b/package/x11r7/xapp_xstdcmap/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XSTDCMAP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XSTDCMAP
 	bool "xstdcmap"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XSTDCMAP_AVAILABLE
 	help
 	  X standard colormap utility
diff --git a/package/x11r7/xapp_xvidtune/Config.in b/package/x11r7/xapp_xvidtune/Config.in
index b1902cd..230090b 100644
--- a/package/x11r7/xapp_xvidtune/Config.in
+++ b/package/x11r7/xapp_xvidtune/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XVIDTUNE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XVIDTUNE
 	bool "xvidtune"
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXXF86VM
+	depends on BR2_PACKAGE_XAPP_XVIDTUNE_AVAILABLE
 	help
 	  video mode tuner for Xorg
diff --git a/package/x11r7/xapp_xvinfo/Config.in b/package/x11r7/xapp_xvinfo/Config.in
index 2612c04..a0a99af 100644
--- a/package/x11r7/xapp_xvinfo/Config.in
+++ b/package/x11r7/xapp_xvinfo/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XVINFO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XVINFO
 	bool "xvinfo"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXV
+	depends on BR2_PACKAGE_XAPP_XVINFO_AVAILABLE
 	help
 	  Print out X-Video extension adaptor information
diff --git a/package/x11r7/xapp_xwd/Config.in b/package/x11r7/xapp_xwd/Config.in
index b7b3172..542b41c 100644
--- a/package/x11r7/xapp_xwd/Config.in
+++ b/package/x11r7/xapp_xwd/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XWD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XWD
 	bool "xwd"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XWD_AVAILABLE
 	help
 	  dump an image of an X window
diff --git a/package/x11r7/xapp_xwininfo/Config.in b/package/x11r7/xapp_xwininfo/Config.in
index 4e09570..738f78c 100644
--- a/package/x11r7/xapp_xwininfo/Config.in
+++ b/package/x11r7/xapp_xwininfo/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XAPP_XWININFO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XWININFO
 	bool "xwininfo"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXMU
+	depends on BR2_PACKAGE_XAPP_XWININFO_AVAILABLE
 	help
 	  window information utility for X
diff --git a/package/x11r7/xapp_xwud/Config.in b/package/x11r7/xapp_xwud/Config.in
index cb8337e..afa1f92 100644
--- a/package/x11r7/xapp_xwud/Config.in
+++ b/package/x11r7/xapp_xwud/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XAPP_XWUD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAPP_XWUD
 	bool "xwud"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XAPP_XWUD_AVAILABLE
 	help
 	  image displayer for X
diff --git a/package/x11r7/xcb-proto/Config.in b/package/x11r7/xcb-proto/Config.in
index 4a6dfe4..ce79b41 100644
--- a/package/x11r7/xcb-proto/Config.in
+++ b/package/x11r7/xcb-proto/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XCB_PROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XCB_PROTO
 	bool "xcb-proto"
+	depends on BR2_PACKAGE_XCB_PROTO_AVAILABLE
 	help
 		The protocol headers that define XCB.
 
diff --git a/package/x11r7/xcb-util/Config.in b/package/x11r7/xcb-util/Config.in
index cf79327..e7e6555 100644
--- a/package/x11r7/xcb-util/Config.in
+++ b/package/x11r7/xcb-util/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XCB_UTIL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XCB_UTIL
 	bool "xcb-util"
+	depends on BR2_PACKAGE_XCB_UTIL_AVAILABLE
 	help
 	  Libraries which sit on top of libxcb, the core X protocol library,
 	  and some of the extension libraries.
diff --git a/package/x11r7/xdata_xbitmaps/Config.in b/package/x11r7/xdata_xbitmaps/Config.in
index 2308cae..be90d7a 100644
--- a/package/x11r7/xdata_xbitmaps/Config.in
+++ b/package/x11r7/xdata_xbitmaps/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XDATA_XBITMAPS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDATA_XBITMAPS
 	bool "xbitmaps"
+	depends on BR2_PACKAGE_XDATA_XBITMAPS_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xdata_xcursor-themes/Config.in b/package/x11r7/xdata_xcursor-themes/Config.in
index 78d1020..c138ab9 100644
--- a/package/x11r7/xdata_xcursor-themes/Config.in
+++ b/package/x11r7/xdata_xcursor-themes/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XDATA_XCURSOR_THEMES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDATA_XCURSOR_THEMES
 	bool "xdata_xcursor-themes"
 	select BR2_PACKAGE_XLIB_LIBXCURSOR
+	depends on BR2_PACKAGE_XDATA_XCURSOR_THEMES_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xdriver_xf86-input-acecad/Config.in b/package/x11r7/xdriver_xf86-input-acecad/Config.in
index 7e1838e..b720d6c 100644
--- a/package/x11r7/xdriver_xf86-input-acecad/Config.in
+++ b/package/x11r7/xdriver_xf86-input-acecad/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_ACECAD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_ACECAD
 	bool "xf86-input-acecad"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_ACECAD_AVAILABLE
 	help
 	  Acecad Flair input driver
diff --git a/package/x11r7/xdriver_xf86-input-aiptek/Config.in b/package/x11r7/xdriver_xf86-input-aiptek/Config.in
index 87fe5b3..6fc9539 100644
--- a/package/x11r7/xdriver_xf86-input-aiptek/Config.in
+++ b/package/x11r7/xdriver_xf86-input-aiptek/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_AIPTEK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_AIPTEK
 	bool "xf86-input-aiptek"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_AIPTEK_AVAILABLE
 	help
 	  Aiptek USB Digital Tablet Input Driver for Linux
diff --git a/package/x11r7/xdriver_xf86-input-evdev/Config.in b/package/x11r7/xdriver_xf86-input-evdev/Config.in
index 248be7e..ee4a124 100644
--- a/package/x11r7/xdriver_xf86-input-evdev/Config.in
+++ b/package/x11r7/xdriver_xf86-input-evdev/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV
 	bool "xf86-input-evdev"
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV_AVAILABLE
 	help
 	  Generic Linux input driver
diff --git a/package/x11r7/xdriver_xf86-input-joystick/Config.in b/package/x11r7/xdriver_xf86-input-joystick/Config.in
index 4a7439a..b823866 100644
--- a/package/x11r7/xdriver_xf86-input-joystick/Config.in
+++ b/package/x11r7/xdriver_xf86-input-joystick/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK
 	bool "xf86-input-joystick"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK_AVAILABLE
 	help
 	  X.Org driver for joystick input devices
diff --git a/package/x11r7/xdriver_xf86-input-keyboard/Config.in b/package/x11r7/xdriver_xf86-input-keyboard/Config.in
index 481c763..0b3bcf2 100644
--- a/package/x11r7/xdriver_xf86-input-keyboard/Config.in
+++ b/package/x11r7/xdriver_xf86-input-keyboard/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD
 	bool "xf86-input-keyboard"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD
 	select BR2_PACKAGE_XPROTO_KBPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD_AVAILABLE
 	help
 	  Keyboard input driver
diff --git a/package/x11r7/xdriver_xf86-input-mouse/Config.in b/package/x11r7/xdriver_xf86-input-mouse/Config.in
index c8e39b0..80a2d9b 100644
--- a/package/x11r7/xdriver_xf86-input-mouse/Config.in
+++ b/package/x11r7/xdriver_xf86-input-mouse/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE
 	bool "xf86-input-mouse"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE_AVAILABLE
 	help
 	  X.Org driver for mouse input devices
diff --git a/package/x11r7/xdriver_xf86-input-synaptics/Config.in b/package/x11r7/xdriver_xf86-input-synaptics/Config.in
index 258dee2..f10dbe4 100644
--- a/package/x11r7/xdriver_xf86-input-synaptics/Config.in
+++ b/package/x11r7/xdriver_xf86-input-synaptics/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_SYNAPTICS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_SYNAPTICS
 	bool "xf86-input-synaptics"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_SYNAPTICS_AVAILABLE
 	help
 	  X.Org driver for synaptics input devices
diff --git a/package/x11r7/xdriver_xf86-input-tslib/Config.in b/package/x11r7/xdriver_xf86-input-tslib/Config.in
index 5185273..fc1868f 100644
--- a/package/x11r7/xdriver_xf86-input-tslib/Config.in
+++ b/package/x11r7/xdriver_xf86-input-tslib/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB
 	bool "xf86-input-tslib"
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
@@ -5,6 +8,7 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
 	select BR2_PACKAGE_TSLIB
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB_AVAILABLE
 	help
 	  Touch screen library input driver
 
diff --git a/package/x11r7/xdriver_xf86-input-vmmouse/Config.in b/package/x11r7/xdriver_xf86-input-vmmouse/Config.in
index b2284cd..26aa758 100644
--- a/package/x11r7/xdriver_xf86-input-vmmouse/Config.in
+++ b/package/x11r7/xdriver_xf86-input-vmmouse/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_VMMOUSE_AVAILABLE
+	def_bool y
+	depends on BR2_i386 || BR2_x86_64
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_VMMOUSE
 	bool "xf86-input-vmmouse"
-	depends on BR2_i386 || BR2_x86_64
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_VMMOUSE_AVAILABLE
 	help
 	  VMWare mouse input driver
diff --git a/package/x11r7/xdriver_xf86-input-void/Config.in b/package/x11r7/xdriver_xf86-input-void/Config.in
index ab4230b..776f805 100644
--- a/package/x11r7/xdriver_xf86-input-void/Config.in
+++ b/package/x11r7/xdriver_xf86-input-void/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID
 	bool "xf86-input-void"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID_AVAILABLE
 	help
 	  null input driver
diff --git a/package/x11r7/xdriver_xf86-video-apm/Config.in b/package/x11r7/xdriver_xf86-video-apm/Config.in
index dea5258..6f369eb 100644
--- a/package/x11r7/xdriver_xf86-video-apm/Config.in
+++ b/package/x11r7/xdriver_xf86-video-apm/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_APM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_APM
 	bool "xf86-video-apm"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -8,5 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_APM
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86RUSHPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_APM_AVAILABLE
 	help
 	  Alliance ProMotion video driver
diff --git a/package/x11r7/xdriver_xf86-video-ark/Config.in b/package/x11r7/xdriver_xf86-video-ark/Config.in
index d9703de..064955b 100644
--- a/package/x11r7/xdriver_xf86-video-ark/Config.in
+++ b/package/x11r7/xdriver_xf86-video-ark/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARK_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARK
 	bool "xf86-video-ark"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARK
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARK_AVAILABLE
 	help
 	  X.Org driver for ark cards
diff --git a/package/x11r7/xdriver_xf86-video-ast/Config.in b/package/x11r7/xdriver_xf86-video-ast/Config.in
index b2a0bc8..2d1819c 100644
--- a/package/x11r7/xdriver_xf86-video-ast/Config.in
+++ b/package/x11r7/xdriver_xf86-video-ast/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AST_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AST
 	bool "xf86-video-ast"
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_AST_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xdriver_xf86-video-ati/Config.in b/package/x11r7/xdriver_xf86-video-ati/Config.in
index 107a57b..793193a 100644
--- a/package/x11r7/xdriver_xf86-video-ati/Config.in
+++ b/package/x11r7/xdriver_xf86-video-ati/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI
 	bool "xf86-video-ati"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -11,5 +14,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	select BR2_PACKAGE_XPROTO_XINERAMAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI_AVAILABLE
 	help
 	  ATI video driver
diff --git a/package/x11r7/xdriver_xf86-video-chips/Config.in b/package/x11r7/xdriver_xf86-video-chips/Config.in
index 29a99ec..55dd600 100644
--- a/package/x11r7/xdriver_xf86-video-chips/Config.in
+++ b/package/x11r7/xdriver_xf86-video-chips/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CHIPS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CHIPS
 	bool "xf86-video-chips"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CHIPS
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_CHIPS_AVAILABLE
 	help
 	  Chips and Technologies video driver
diff --git a/package/x11r7/xdriver_xf86-video-cirrus/Config.in b/package/x11r7/xdriver_xf86-video-cirrus/Config.in
index 31ed634..8aaa664 100644
--- a/package/x11r7/xdriver_xf86-video-cirrus/Config.in
+++ b/package/x11r7/xdriver_xf86-video-cirrus/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS
 	bool "xf86-video-cirrus"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS_AVAILABLE
 	help
 	  Cirrus Logic video driver
diff --git a/package/x11r7/xdriver_xf86-video-dummy/Config.in b/package/x11r7/xdriver_xf86-video-dummy/Config.in
index 2a172cc..cc8e988 100644
--- a/package/x11r7/xdriver_xf86-video-dummy/Config.in
+++ b/package/x11r7/xdriver_xf86-video-dummy/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_DUMMY_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_DUMMY
 	bool "xf86-video-dummy"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_DUMMY
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_DUMMY_AVAILABLE
 	help
 	  X.Org driver for dummy cards
diff --git a/package/x11r7/xdriver_xf86-video-fbdev/Config.in b/package/x11r7/xdriver_xf86-video-fbdev/Config.in
index 8907fe1..46c567d 100644
--- a/package/x11r7/xdriver_xf86-video-fbdev/Config.in
+++ b/package/x11r7/xdriver_xf86-video-fbdev/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV
 	bool "xf86-video-fbdev"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV_AVAILABLE
 	help
 	  video driver for framebuffer device
diff --git a/package/x11r7/xdriver_xf86-video-geode/Config.in b/package/x11r7/xdriver_xf86-video-geode/Config.in
index c60b62c..c589823 100644
--- a/package/x11r7/xdriver_xf86-video-geode/Config.in
+++ b/package/x11r7/xdriver_xf86-video-geode/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GEODE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GEODE
 	bool "xf86-video-geode"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GEODE
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_GEODE_AVAILABLE
 	help
 	  video driver for geode device
diff --git a/package/x11r7/xdriver_xf86-video-glide/Config.in b/package/x11r7/xdriver_xf86-video-glide/Config.in
index ea9abd7..cc9559d 100644
--- a/package/x11r7/xdriver_xf86-video-glide/Config.in
+++ b/package/x11r7/xdriver_xf86-video-glide/Config.in
@@ -1,3 +1,7 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLIDE_AVAILABLE
+	def_bool y
+	depends on BROKEN # needs glide library from http://glide.sourceforge.net/
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLIDE
 	bool "xf86-video-glide"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,6 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLIDE
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
-	depends on BROKEN # needs glide library from http://glide.sourceforge.net/
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLIDE_AVAILABLE
 	help
 	  video driver for glide device
diff --git a/package/x11r7/xdriver_xf86-video-glint/Config.in b/package/x11r7/xdriver_xf86-video-glint/Config.in
index 782b6da..9f5edca 100644
--- a/package/x11r7/xdriver_xf86-video-glint/Config.in
+++ b/package/x11r7/xdriver_xf86-video-glint/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT
 	bool "xf86-video-glint"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -12,5 +15,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT
 	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT_AVAILABLE
 	help
 	  GLINT/Permedia video driver
diff --git a/package/x11r7/xdriver_xf86-video-i128/Config.in b/package/x11r7/xdriver_xf86-video-i128/Config.in
index a66fda6..6e49475 100644
--- a/package/x11r7/xdriver_xf86-video-i128/Config.in
+++ b/package/x11r7/xdriver_xf86-video-i128/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I128_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I128
 	bool "xf86-video-i128"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I128
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_I128_AVAILABLE
 	help
 	  Number 9 I128 video driver
diff --git a/package/x11r7/xdriver_xf86-video-i740/Config.in b/package/x11r7/xdriver_xf86-video-i740/Config.in
index 9d1a040..363ceb7 100644
--- a/package/x11r7/xdriver_xf86-video-i740/Config.in
+++ b/package/x11r7/xdriver_xf86-video-i740/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I740_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I740
 	bool "xf86-video-i740"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I740
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_I740_AVAILABLE
 	help
 	  Intel i740 video driver
diff --git a/package/x11r7/xdriver_xf86-video-intel/Config.in b/package/x11r7/xdriver_xf86-video-intel/Config.in
index 9a1d6cf..ca938f8 100644
--- a/package/x11r7/xdriver_xf86-video-intel/Config.in
+++ b/package/x11r7/xdriver_xf86-video-intel/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL
 	bool "xf86-video-intel"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -8,5 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL
 	select BR2_PACKAGE_XLIB_LIBPCIACCESS
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_MESA3D
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL_AVAILABLE
 	help
 	  Intel video driver
diff --git a/package/x11r7/xdriver_xf86-video-mach64/Config.in b/package/x11r7/xdriver_xf86-video-mach64/Config.in
index f2464e7..d6d10f7 100644
--- a/package/x11r7/xdriver_xf86-video-mach64/Config.in
+++ b/package/x11r7/xdriver_xf86-video-mach64/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MACH64_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MACH64
 	bool "xf86-video-mach64"
 	select BR2_PACKAGE_MESA3D
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MACH64
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_MACH64_AVAILABLE
 	help
 	  mach64 video driver
diff --git a/package/x11r7/xdriver_xf86-video-mga/Config.in b/package/x11r7/xdriver_xf86-video-mga/Config.in
index 40c6f3a..ef06083 100644
--- a/package/x11r7/xdriver_xf86-video-mga/Config.in
+++ b/package/x11r7/xdriver_xf86-video-mga/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA
 	bool "xf86-video-mga"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -11,5 +14,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA_AVAILABLE
 	help
 	  Matrox video driver
diff --git a/package/x11r7/xdriver_xf86-video-neomagic/Config.in b/package/x11r7/xdriver_xf86-video-neomagic/Config.in
index 2e028a7..7faf833 100644
--- a/package/x11r7/xdriver_xf86-video-neomagic/Config.in
+++ b/package/x11r7/xdriver_xf86-video-neomagic/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEOMAGIC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEOMAGIC
 	bool "xf86-video-neomagic"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -8,5 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEOMAGIC
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEOMAGIC_AVAILABLE
 	help
 	  Neomagic video driver
diff --git a/package/x11r7/xdriver_xf86-video-newport/Config.in b/package/x11r7/xdriver_xf86-video-newport/Config.in
index e2effe8..aee66de 100644
--- a/package/x11r7/xdriver_xf86-video-newport/Config.in
+++ b/package/x11r7/xdriver_xf86-video-newport/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEWPORT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEWPORT
 	bool "xf86-video-newport"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEWPORT
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEWPORT_AVAILABLE
 	help
 	  Newport video driver
diff --git a/package/x11r7/xdriver_xf86-video-nv/Config.in b/package/x11r7/xdriver_xf86-video-nv/Config.in
index 943bc14..ab3cd8f 100644
--- a/package/x11r7/xdriver_xf86-video-nv/Config.in
+++ b/package/x11r7/xdriver_xf86-video-nv/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NV
 	bool "xf86-video-nv"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NV
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_NV_AVAILABLE
 	help
 	  NVIDIA video driver
diff --git a/package/x11r7/xdriver_xf86-video-openchrome/Config.in b/package/x11r7/xdriver_xf86-video-openchrome/Config.in
index 4a69246..5aa5917 100644
--- a/package/x11r7/xdriver_xf86-video-openchrome/Config.in
+++ b/package/x11r7/xdriver_xf86-video-openchrome/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME
 	bool "xf86-video-openchrome"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -12,6 +15,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME_AVAILABLE
 	help
 	  Openchrome, A free and Open Source video driver for the VIA/S3G
 	  UniChrome and UniChrome Pro graphics chipsets.
diff --git a/package/x11r7/xdriver_xf86-video-r128/Config.in b/package/x11r7/xdriver_xf86-video-r128/Config.in
index 96bd8d7..3fbea5c 100644
--- a/package/x11r7/xdriver_xf86-video-r128/Config.in
+++ b/package/x11r7/xdriver_xf86-video-r128/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128
 	bool "xf86-video-r128"
 	select BR2_PACKAGE_MESA3D
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128_AVAILABLE
 	help
 	  R128 video driver
diff --git a/package/x11r7/xdriver_xf86-video-rendition/Config.in b/package/x11r7/xdriver_xf86-video-rendition/Config.in
index 9238aec..aa4d69e 100644
--- a/package/x11r7/xdriver_xf86-video-rendition/Config.in
+++ b/package/x11r7/xdriver_xf86-video-rendition/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_RENDITION_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_RENDITION
 	bool "xf86-video-rendition"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_RENDITION
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_RENDITION_AVAILABLE
 	help
 	  Rendition video driver
diff --git a/package/x11r7/xdriver_xf86-video-s3/Config.in b/package/x11r7/xdriver_xf86-video-s3/Config.in
index 1091028..e82ebfd 100644
--- a/package/x11r7/xdriver_xf86-video-s3/Config.in
+++ b/package/x11r7/xdriver_xf86-video-s3/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3
 	bool "xf86-video-s3"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3_AVAILABLE
 	help
 	  X.Org driver for s3 cards
diff --git a/package/x11r7/xdriver_xf86-video-s3virge/Config.in b/package/x11r7/xdriver_xf86-video-s3virge/Config.in
index 6f31864..ff51138 100644
--- a/package/x11r7/xdriver_xf86-video-s3virge/Config.in
+++ b/package/x11r7/xdriver_xf86-video-s3virge/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3VIRGE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3VIRGE
 	bool "xf86-video-s3virge"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3VIRGE
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3VIRGE_AVAILABLE
 	help
 	  S3 ViRGE video driver
diff --git a/package/x11r7/xdriver_xf86-video-savage/Config.in b/package/x11r7/xdriver_xf86-video-savage/Config.in
index a9c8f6c..03bfe8b 100644
--- a/package/x11r7/xdriver_xf86-video-savage/Config.in
+++ b/package/x11r7/xdriver_xf86-video-savage/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE
 	bool "xf86-video-savage"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -10,5 +13,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE_AVAILABLE
 	help
 	  S3 Savage video driver
diff --git a/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in b/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in
index db15116..5ad4c6b 100644
--- a/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in
+++ b/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SILICONMOTION_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SILICONMOTION
 	bool "xf86-video-siliconmotion"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SILICONMOTION
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SILICONMOTION_AVAILABLE
 	help
 	  Silicon Motion video driver
diff --git a/package/x11r7/xdriver_xf86-video-sis/Config.in b/package/x11r7/xdriver_xf86-video-sis/Config.in
index ac2b632..9d676be 100644
--- a/package/x11r7/xdriver_xf86-video-sis/Config.in
+++ b/package/x11r7/xdriver_xf86-video-sis/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS
 	bool "xf86-video-sis"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -12,5 +15,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	select BR2_PACKAGE_XPROTO_XINERAMAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS_AVAILABLE
 	help
 	  SiS and XGI video driver
diff --git a/package/x11r7/xdriver_xf86-video-sisusb/Config.in b/package/x11r7/xdriver_xf86-video-sisusb/Config.in
index b00a8a7..56b8e52 100644
--- a/package/x11r7/xdriver_xf86-video-sisusb/Config.in
+++ b/package/x11r7/xdriver_xf86-video-sisusb/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SISUSB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SISUSB
 	bool "xf86-video-sisusb"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -8,5 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SISUSB
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XINERAMAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SISUSB_AVAILABLE
 	help
 	  SiS USB video driver
diff --git a/package/x11r7/xdriver_xf86-video-suncg14/Config.in b/package/x11r7/xdriver_xf86-video-suncg14/Config.in
index 661c179..e963973 100644
--- a/package/x11r7/xdriver_xf86-video-suncg14/Config.in
+++ b/package/x11r7/xdriver_xf86-video-suncg14/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG14_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG14
 	bool "xf86-video-suncg14"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG14
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG14_AVAILABLE
 	help
 	  CG14 video driver
diff --git a/package/x11r7/xdriver_xf86-video-suncg3/Config.in b/package/x11r7/xdriver_xf86-video-suncg3/Config.in
index 539a95a..f689c01 100644
--- a/package/x11r7/xdriver_xf86-video-suncg3/Config.in
+++ b/package/x11r7/xdriver_xf86-video-suncg3/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG3_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG3
 	bool "xf86-video-suncg3"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG3
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG3_AVAILABLE
 	help
 	  CG3 video driver
diff --git a/package/x11r7/xdriver_xf86-video-suncg6/Config.in b/package/x11r7/xdriver_xf86-video-suncg6/Config.in
index 9496f8d..c5dcbf4 100644
--- a/package/x11r7/xdriver_xf86-video-suncg6/Config.in
+++ b/package/x11r7/xdriver_xf86-video-suncg6/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG6_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG6
 	bool "xf86-video-suncg6"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG6
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG6_AVAILABLE
 	help
 	  GX/Turbo GX video driver
diff --git a/package/x11r7/xdriver_xf86-video-sunffb/Config.in b/package/x11r7/xdriver_xf86-video-sunffb/Config.in
index 76f5b9a..4e91610 100644
--- a/package/x11r7/xdriver_xf86-video-sunffb/Config.in
+++ b/package/x11r7/xdriver_xf86-video-sunffb/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNFFB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNFFB
 	bool "xf86-video-sunffb"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -8,5 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNFFB
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNFFB_AVAILABLE
 	help
 	  SUNFFB video driver
diff --git a/package/x11r7/xdriver_xf86-video-sunleo/Config.in b/package/x11r7/xdriver_xf86-video-sunleo/Config.in
index 29d24a2..712110b 100644
--- a/package/x11r7/xdriver_xf86-video-sunleo/Config.in
+++ b/package/x11r7/xdriver_xf86-video-sunleo/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNLEO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNLEO
 	bool "xf86-video-sunleo"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNLEO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNLEO_AVAILABLE
 	help
 	  Leo video driver
diff --git a/package/x11r7/xdriver_xf86-video-suntcx/Config.in b/package/x11r7/xdriver_xf86-video-suntcx/Config.in
index 3c82739..eab688f 100644
--- a/package/x11r7/xdriver_xf86-video-suntcx/Config.in
+++ b/package/x11r7/xdriver_xf86-video-suntcx/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNTCX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNTCX
 	bool "xf86-video-suntcx"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNTCX
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNTCX_AVAILABLE
 	help
 	  TCX video driver
diff --git a/package/x11r7/xdriver_xf86-video-tdfx/Config.in b/package/x11r7/xdriver_xf86-video-tdfx/Config.in
index 57bb411..4c1a3f6 100644
--- a/package/x11r7/xdriver_xf86-video-tdfx/Config.in
+++ b/package/x11r7/xdriver_xf86-video-tdfx/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX
 	bool "xf86-video-tdfx"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -10,5 +13,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX_AVAILABLE
 	help
 	  3Dfx video driver
diff --git a/package/x11r7/xdriver_xf86-video-tga/Config.in b/package/x11r7/xdriver_xf86-video-tga/Config.in
index 800a8f6..346ee47 100644
--- a/package/x11r7/xdriver_xf86-video-tga/Config.in
+++ b/package/x11r7/xdriver_xf86-video-tga/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA
 	bool "xf86-video-tga"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -8,5 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA_AVAILABLE
 	help
 	  X.Org driver for tga cards
diff --git a/package/x11r7/xdriver_xf86-video-trident/Config.in b/package/x11r7/xdriver_xf86-video-trident/Config.in
index 4a7a477..e6ee3e4 100644
--- a/package/x11r7/xdriver_xf86-video-trident/Config.in
+++ b/package/x11r7/xdriver_xf86-video-trident/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TRIDENT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TRIDENT
 	bool "xf86-video-trident"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -8,5 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TRIDENT
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_TRIDENT_AVAILABLE
 	help
 	  Trident video driver
diff --git a/package/x11r7/xdriver_xf86-video-tseng/Config.in b/package/x11r7/xdriver_xf86-video-tseng/Config.in
index f72b87b..6b9cf43 100644
--- a/package/x11r7/xdriver_xf86-video-tseng/Config.in
+++ b/package/x11r7/xdriver_xf86-video-tseng/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TSENG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TSENG
 	bool "xf86-video-tseng"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TSENG
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_TSENG_AVAILABLE
 	help
 	  Tseng Labs video driver
diff --git a/package/x11r7/xdriver_xf86-video-v4l/Config.in b/package/x11r7/xdriver_xf86-video-v4l/Config.in
index 3bb41fc..a6a154f 100644
--- a/package/x11r7/xdriver_xf86-video-v4l/Config.in
+++ b/package/x11r7/xdriver_xf86-video-v4l/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_V4L_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_V4L
 	bool "xf86-video-v4l"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_V4L_AVAILABLE
 	help
 	  video4linux driver
diff --git a/package/x11r7/xdriver_xf86-video-vesa/Config.in b/package/x11r7/xdriver_xf86-video-vesa/Config.in
index 865f52c..426fd43 100644
--- a/package/x11r7/xdriver_xf86-video-vesa/Config.in
+++ b/package/x11r7/xdriver_xf86-video-vesa/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA
 	bool "xf86-video-vesa"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA_AVAILABLE
 	help
 	  Generic VESA video driver
diff --git a/package/x11r7/xdriver_xf86-video-vmware/Config.in b/package/x11r7/xdriver_xf86-video-vmware/Config.in
index 9093b38..ab5de69 100644
--- a/package/x11r7/xdriver_xf86-video-vmware/Config.in
+++ b/package/x11r7/xdriver_xf86-video-vmware/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE
 	bool "xf86-video-vmware"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XINERAMAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE_AVAILABLE
 	help
 	  VMware SVGA video driver
diff --git a/package/x11r7/xdriver_xf86-video-voodoo/Config.in b/package/x11r7/xdriver_xf86-video-voodoo/Config.in
index 9b770be..7b8d9a9 100644
--- a/package/x11r7/xdriver_xf86-video-voodoo/Config.in
+++ b/package/x11r7/xdriver_xf86-video-voodoo/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VOODOO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VOODOO
 	bool "xf86-video-voodoo"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VOODOO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_VOODOO_AVAILABLE
 	help
 	  Voodoo video driver
diff --git a/package/x11r7/xdriver_xf86-video-wsfb/Config.in b/package/x11r7/xdriver_xf86-video-wsfb/Config.in
index 3b3d406..c8e8b99 100644
--- a/package/x11r7/xdriver_xf86-video-wsfb/Config.in
+++ b/package/x11r7/xdriver_xf86-video-wsfb/Config.in
@@ -1,3 +1,7 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_WSFB_AVAILABLE
+	def_bool y
+	depends on BROKEN # Fails to build. Actually this is OpenBSD/NetBSD stuff.
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_WSFB
 	bool "xf86-video-wsfb"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER
@@ -6,6 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_WSFB
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
-	depends on BROKEN # Fails to build. Actually this is OpenBSD/NetBSD stuff.
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_WSFB_AVAILABLE
 	help
 	  WSFB based chips video driver
diff --git a/package/x11r7/xdriver_xf86-video-xgi/Config.in b/package/x11r7/xdriver_xf86-video-xgi/Config.in
index d0fe665..b758324 100644
--- a/package/x11r7/xdriver_xf86-video-xgi/Config.in
+++ b/package/x11r7/xdriver_xf86-video-xgi/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGI
 	bool "xf86-video-xgi"
 	select BR2_PACKAGE_MESA3D
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGI
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGI_AVAILABLE
 	help
 	  XGI based chips video driver
diff --git a/package/x11r7/xdriver_xf86-video-xgixp/Config.in b/package/x11r7/xdriver_xf86-video-xgixp/Config.in
index 8d466f4..52a80ec 100644
--- a/package/x11r7/xdriver_xf86-video-xgixp/Config.in
+++ b/package/x11r7/xdriver_xf86-video-xgixp/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGIXP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGIXP
 	bool "xf86-video-xgixp"
 	select BR2_PACKAGE_MESA3D
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGIXP
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGIXP_AVAILABLE
 	help
 	  XGIXP based chips video driver
diff --git a/package/x11r7/xfont_encodings/Config.in b/package/x11r7/xfont_encodings/Config.in
index af40da1..e29bd2b 100644
--- a/package/x11r7/xfont_encodings/Config.in
+++ b/package/x11r7/xfont_encodings/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_ENCODINGS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_ENCODINGS
 	bool "encodings"
+	depends on BR2_PACKAGE_XFONT_ENCODINGS_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-adobe-100dpi/Config.in b/package/x11r7/xfont_font-adobe-100dpi/Config.in
index aaac639..8134869 100644
--- a/package/x11r7/xfont_font-adobe-100dpi/Config.in
+++ b/package/x11r7/xfont_font-adobe-100dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_ADOBE_100DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_ADOBE_100DPI
 	bool "font-adobe-100dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_ADOBE_100DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-adobe-75dpi/Config.in b/package/x11r7/xfont_font-adobe-75dpi/Config.in
index f1c0a41..d48a5ee 100644
--- a/package/x11r7/xfont_font-adobe-75dpi/Config.in
+++ b/package/x11r7/xfont_font-adobe-75dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_ADOBE_75DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_ADOBE_75DPI
 	bool "font-adobe-75dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_ADOBE_75DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-adobe-utopia-100dpi/Config.in b/package/x11r7/xfont_font-adobe-utopia-100dpi/Config.in
index 02f2aeb..7141b16 100644
--- a/package/x11r7/xfont_font-adobe-utopia-100dpi/Config.in
+++ b/package/x11r7/xfont_font-adobe-utopia-100dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_100DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_100DPI
 	bool "font-adobe-utopia-100dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_100DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-adobe-utopia-75dpi/Config.in b/package/x11r7/xfont_font-adobe-utopia-75dpi/Config.in
index 4a6e29c..7002afc 100644
--- a/package/x11r7/xfont_font-adobe-utopia-75dpi/Config.in
+++ b/package/x11r7/xfont_font-adobe-utopia-75dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_75DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_75DPI
 	bool "font-adobe-utopia-75dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_75DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-adobe-utopia-type1/Config.in b/package/x11r7/xfont_font-adobe-utopia-type1/Config.in
index d1efb70..36c41ff 100644
--- a/package/x11r7/xfont_font-adobe-utopia-type1/Config.in
+++ b/package/x11r7/xfont_font-adobe-utopia-type1/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_TYPE1_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_TYPE1
 	bool "font-adobe-utopia-type1"
+	depends on BR2_PACKAGE_XFONT_FONT_ADOBE_UTOPIA_TYPE1_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-alias/Config.in b/package/x11r7/xfont_font-alias/Config.in
index b655160..63c2913 100644
--- a/package/x11r7/xfont_font-alias/Config.in
+++ b/package/x11r7/xfont_font-alias/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_ALIAS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_ALIAS
 	bool "font-alias"
+	depends on BR2_PACKAGE_XFONT_FONT_ALIAS_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-arabic-misc/Config.in b/package/x11r7/xfont_font-arabic-misc/Config.in
index acbdf7c..5850c3f 100644
--- a/package/x11r7/xfont_font-arabic-misc/Config.in
+++ b/package/x11r7/xfont_font-arabic-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_ARABIC_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_ARABIC_MISC
 	bool "font-arabic-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_ARABIC_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bh-100dpi/Config.in b/package/x11r7/xfont_font-bh-100dpi/Config.in
index dc405a2..09d468b 100644
--- a/package/x11r7/xfont_font-bh-100dpi/Config.in
+++ b/package/x11r7/xfont_font-bh-100dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BH_100DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BH_100DPI
 	bool "font-bh-100dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_BH_100DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bh-75dpi/Config.in b/package/x11r7/xfont_font-bh-75dpi/Config.in
index 6cd334e..33d5135 100644
--- a/package/x11r7/xfont_font-bh-75dpi/Config.in
+++ b/package/x11r7/xfont_font-bh-75dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BH_75DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BH_75DPI
 	bool "font-bh-75dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_BH_75DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/Config.in b/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/Config.in
index 0e082d5..5a3122c 100644
--- a/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/Config.in
+++ b/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI
 	bool "font-bh-lucidatypewriter-100dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/Config.in b/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/Config.in
index 126fb85..07e9c86 100644
--- a/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/Config.in
+++ b/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI
 	bool "font-bh-lucidatypewriter-75dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bh-ttf/Config.in b/package/x11r7/xfont_font-bh-ttf/Config.in
index 2590798..9f56478 100644
--- a/package/x11r7/xfont_font-bh-ttf/Config.in
+++ b/package/x11r7/xfont_font-bh-ttf/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BH_TTF_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BH_TTF
 	bool "font-bh-ttf"
+	depends on BR2_PACKAGE_XFONT_FONT_BH_TTF_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bh-type1/Config.in b/package/x11r7/xfont_font-bh-type1/Config.in
index 047268c..9e598b7 100644
--- a/package/x11r7/xfont_font-bh-type1/Config.in
+++ b/package/x11r7/xfont_font-bh-type1/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BH_TYPE1_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BH_TYPE1
 	bool "font-bh-type1"
+	depends on BR2_PACKAGE_XFONT_FONT_BH_TYPE1_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bitstream-100dpi/Config.in b/package/x11r7/xfont_font-bitstream-100dpi/Config.in
index 81393c5..e5ed91e 100644
--- a/package/x11r7/xfont_font-bitstream-100dpi/Config.in
+++ b/package/x11r7/xfont_font-bitstream-100dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BITSTREAM_100DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BITSTREAM_100DPI
 	bool "font-bitstream-100dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_BITSTREAM_100DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bitstream-75dpi/Config.in b/package/x11r7/xfont_font-bitstream-75dpi/Config.in
index bada475..40c5b82 100644
--- a/package/x11r7/xfont_font-bitstream-75dpi/Config.in
+++ b/package/x11r7/xfont_font-bitstream-75dpi/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BITSTREAM_75DPI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BITSTREAM_75DPI
 	bool "font-bitstream-75dpi"
+	depends on BR2_PACKAGE_XFONT_FONT_BITSTREAM_75DPI_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bitstream-speedo/Config.in b/package/x11r7/xfont_font-bitstream-speedo/Config.in
index 70750f6..b2d94ee 100644
--- a/package/x11r7/xfont_font-bitstream-speedo/Config.in
+++ b/package/x11r7/xfont_font-bitstream-speedo/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BITSTREAM_SPEEDO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BITSTREAM_SPEEDO
 	bool "font-bitstream-speedo"
+	depends on BR2_PACKAGE_XFONT_FONT_BITSTREAM_SPEEDO_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-bitstream-type1/Config.in b/package/x11r7/xfont_font-bitstream-type1/Config.in
index d482a6d..eac0566 100644
--- a/package/x11r7/xfont_font-bitstream-type1/Config.in
+++ b/package/x11r7/xfont_font-bitstream-type1/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_BITSTREAM_TYPE1_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_BITSTREAM_TYPE1
 	bool "font-bitstream-type1"
+	depends on BR2_PACKAGE_XFONT_FONT_BITSTREAM_TYPE1_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-cronyx-cyrillic/Config.in b/package/x11r7/xfont_font-cronyx-cyrillic/Config.in
index a0085f5..80439f7 100644
--- a/package/x11r7/xfont_font-cronyx-cyrillic/Config.in
+++ b/package/x11r7/xfont_font-cronyx-cyrillic/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_CRONYX_CYRILLIC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_CRONYX_CYRILLIC
 	bool "font-cronyx-cyrillic"
+	depends on BR2_PACKAGE_XFONT_FONT_CRONYX_CYRILLIC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-cursor-misc/Config.in b/package/x11r7/xfont_font-cursor-misc/Config.in
index 03ed530..11d60dc 100644
--- a/package/x11r7/xfont_font-cursor-misc/Config.in
+++ b/package/x11r7/xfont_font-cursor-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_CURSOR_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_CURSOR_MISC
 	bool "font-cursor-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_CURSOR_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-daewoo-misc/Config.in b/package/x11r7/xfont_font-daewoo-misc/Config.in
index 9e45341..62562ee 100644
--- a/package/x11r7/xfont_font-daewoo-misc/Config.in
+++ b/package/x11r7/xfont_font-daewoo-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_DAEWOO_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_DAEWOO_MISC
 	bool "font-daewoo-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_DAEWOO_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-dec-misc/Config.in b/package/x11r7/xfont_font-dec-misc/Config.in
index 326ea9b..3cc39b5 100644
--- a/package/x11r7/xfont_font-dec-misc/Config.in
+++ b/package/x11r7/xfont_font-dec-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_DEC_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_DEC_MISC
 	bool "font-dec-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_DEC_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-ibm-type1/Config.in b/package/x11r7/xfont_font-ibm-type1/Config.in
index 92783af..a42c105 100644
--- a/package/x11r7/xfont_font-ibm-type1/Config.in
+++ b/package/x11r7/xfont_font-ibm-type1/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_IBM_TYPE1_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_IBM_TYPE1
 	bool "font-ibm-type1"
+	depends on BR2_PACKAGE_XFONT_FONT_IBM_TYPE1_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-isas-misc/Config.in b/package/x11r7/xfont_font-isas-misc/Config.in
index 2e77f66..d10d432 100644
--- a/package/x11r7/xfont_font-isas-misc/Config.in
+++ b/package/x11r7/xfont_font-isas-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_ISAS_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_ISAS_MISC
 	bool "font-isas-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_ISAS_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-jis-misc/Config.in b/package/x11r7/xfont_font-jis-misc/Config.in
index 6a59cce..b13f018 100644
--- a/package/x11r7/xfont_font-jis-misc/Config.in
+++ b/package/x11r7/xfont_font-jis-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_JIS_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_JIS_MISC
 	bool "font-jis-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_JIS_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-micro-misc/Config.in b/package/x11r7/xfont_font-micro-misc/Config.in
index 1420cbd..c2a7e01 100644
--- a/package/x11r7/xfont_font-micro-misc/Config.in
+++ b/package/x11r7/xfont_font-micro-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_MICRO_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_MICRO_MISC
 	bool "font-micro-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_MICRO_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-misc-cyrillic/Config.in b/package/x11r7/xfont_font-misc-cyrillic/Config.in
index e793d70..b771179 100644
--- a/package/x11r7/xfont_font-misc-cyrillic/Config.in
+++ b/package/x11r7/xfont_font-misc-cyrillic/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_MISC_CYRILLIC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_MISC_CYRILLIC
 	bool "font-misc-cyrillic"
+	depends on BR2_PACKAGE_XFONT_FONT_MISC_CYRILLIC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-misc-ethiopic/Config.in b/package/x11r7/xfont_font-misc-ethiopic/Config.in
index aa3b834..5145243 100644
--- a/package/x11r7/xfont_font-misc-ethiopic/Config.in
+++ b/package/x11r7/xfont_font-misc-ethiopic/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_MISC_ETHIOPIC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_MISC_ETHIOPIC
 	bool "font-misc-ethiopic"
+	depends on BR2_PACKAGE_XFONT_FONT_MISC_ETHIOPIC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-misc-meltho/Config.in b/package/x11r7/xfont_font-misc-meltho/Config.in
index dcc6c84..8a9c2a3 100644
--- a/package/x11r7/xfont_font-misc-meltho/Config.in
+++ b/package/x11r7/xfont_font-misc-meltho/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_MISC_MELTHO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_MISC_MELTHO
 	bool "font-misc-meltho"
+	depends on BR2_PACKAGE_XFONT_FONT_MISC_MELTHO_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-misc-misc/Config.in b/package/x11r7/xfont_font-misc-misc/Config.in
index b3e4fc1..066309a 100644
--- a/package/x11r7/xfont_font-misc-misc/Config.in
+++ b/package/x11r7/xfont_font-misc-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_MISC_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_MISC_MISC
 	bool "font-misc-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_MISC_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-mutt-misc/Config.in b/package/x11r7/xfont_font-mutt-misc/Config.in
index e27ea74..cdec328 100644
--- a/package/x11r7/xfont_font-mutt-misc/Config.in
+++ b/package/x11r7/xfont_font-mutt-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_MUTT_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_MUTT_MISC
 	bool "font-mutt-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_MUTT_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-schumacher-misc/Config.in b/package/x11r7/xfont_font-schumacher-misc/Config.in
index d37babc..2826b80 100644
--- a/package/x11r7/xfont_font-schumacher-misc/Config.in
+++ b/package/x11r7/xfont_font-schumacher-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_SCHUMACHER_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_SCHUMACHER_MISC
 	bool "font-schumacher-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_SCHUMACHER_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-screen-cyrillic/Config.in b/package/x11r7/xfont_font-screen-cyrillic/Config.in
index a1f02d0..c4da2a8 100644
--- a/package/x11r7/xfont_font-screen-cyrillic/Config.in
+++ b/package/x11r7/xfont_font-screen-cyrillic/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_SCREEN_CYRILLIC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_SCREEN_CYRILLIC
 	bool "font-screen-cyrillic"
+	depends on BR2_PACKAGE_XFONT_FONT_SCREEN_CYRILLIC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-sony-misc/Config.in b/package/x11r7/xfont_font-sony-misc/Config.in
index a4ce4ab..bdcbeeb 100644
--- a/package/x11r7/xfont_font-sony-misc/Config.in
+++ b/package/x11r7/xfont_font-sony-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_SONY_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_SONY_MISC
 	bool "font-sony-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_SONY_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-sun-misc/Config.in b/package/x11r7/xfont_font-sun-misc/Config.in
index 07603a1..37c4332 100644
--- a/package/x11r7/xfont_font-sun-misc/Config.in
+++ b/package/x11r7/xfont_font-sun-misc/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_SUN_MISC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_SUN_MISC
 	bool "font-sun-misc"
+	depends on BR2_PACKAGE_XFONT_FONT_SUN_MISC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-util/Config.in b/package/x11r7/xfont_font-util/Config.in
index 4edeffd..6578f77 100644
--- a/package/x11r7/xfont_font-util/Config.in
+++ b/package/x11r7/xfont_font-util/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_UTIL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_UTIL
 	bool "font-util"
+	depends on BR2_PACKAGE_XFONT_FONT_UTIL_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-winitzki-cyrillic/Config.in b/package/x11r7/xfont_font-winitzki-cyrillic/Config.in
index c804441..a16c0ab 100644
--- a/package/x11r7/xfont_font-winitzki-cyrillic/Config.in
+++ b/package/x11r7/xfont_font-winitzki-cyrillic/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_WINITZKI_CYRILLIC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_WINITZKI_CYRILLIC
 	bool "font-winitzki-cyrillic"
+	depends on BR2_PACKAGE_XFONT_FONT_WINITZKI_CYRILLIC_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xfont_font-xfree86-type1/Config.in b/package/x11r7/xfont_font-xfree86-type1/Config.in
index b7d0587..48e50ea 100644
--- a/package/x11r7/xfont_font-xfree86-type1/Config.in
+++ b/package/x11r7/xfont_font-xfree86-type1/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XFONT_FONT_XFREE86_TYPE1_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XFONT_FONT_XFREE86_TYPE1
 	bool "font-xfree86-type1"
+	depends on BR2_PACKAGE_XFONT_FONT_XFREE86_TYPE1_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xkeyboard-config/Config.in b/package/x11r7/xkeyboard-config/Config.in
index 8e27dac..a4c49da 100644
--- a/package/x11r7/xkeyboard-config/Config.in
+++ b/package/x11r7/xkeyboard-config/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XKEYBOARD_CONFIG_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XKEYBOARD_CONFIG
 	bool "xkeyboard-config"
 	select BR2_PACKAGE_XAPP_XKBCOMP
+	depends on BR2_PACKAGE_XKEYBOARD_CONFIG_AVAILABLE
 	help
 	  keyboard configuration database for X
 
diff --git a/package/x11r7/xlib_libFS/Config.in b/package/x11r7/xlib_libFS/Config.in
index 0c8a729..bfe8ec1 100644
--- a/package/x11r7/xlib_libFS/Config.in
+++ b/package/x11r7/xlib_libFS/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBFS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBFS
 	bool "libFS"
 	select BR2_PACKAGE_XLIB_XTRANS
 	select BR2_PACKAGE_XPROTO_XPROTO
 	select BR2_PACKAGE_XPROTO_FONTSPROTO
+	depends on BR2_PACKAGE_XLIB_LIBFS_AVAILABLE
 	help
 	  X.Org FS library
diff --git a/package/x11r7/xlib_libICE/Config.in b/package/x11r7/xlib_libICE/Config.in
index d63f935..7286d81 100644
--- a/package/x11r7/xlib_libICE/Config.in
+++ b/package/x11r7/xlib_libICE/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XLIB_LIBICE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBICE
 	bool "libICE"
 	select BR2_PACKAGE_XLIB_XTRANS
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBICE_AVAILABLE
 	help
 	  X.Org ICE library
diff --git a/package/x11r7/xlib_libSM/Config.in b/package/x11r7/xlib_libSM/Config.in
index ef83b53..0646e58 100644
--- a/package/x11r7/xlib_libSM/Config.in
+++ b/package/x11r7/xlib_libSM/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBSM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBSM
 	bool "libSM"
 	select BR2_PACKAGE_XLIB_LIBICE
 	select BR2_PACKAGE_XLIB_XTRANS
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBSM_AVAILABLE
 	help
 	  X.Org SM library
diff --git a/package/x11r7/xlib_libX11/Config.in b/package/x11r7/xlib_libX11/Config.in
index e1189ff..9915d36 100644
--- a/package/x11r7/xlib_libX11/Config.in
+++ b/package/x11r7/xlib_libX11/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBX11
 	bool "libX11"
 	select BR2_PACKAGE_LIBXCB
@@ -12,5 +15,6 @@ config BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO
 	select BR2_PACKAGE_XPROTO_BIGREQSPROTO
 	select BR2_PACKAGE_XPROTO_XCMISCPROTO
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 	help
 	  X.Org X11 library
diff --git a/package/x11r7/xlib_libXScrnSaver/Config.in b/package/x11r7/xlib_libXScrnSaver/Config.in
index 5df9a00..098c8dc 100644
--- a/package/x11r7/xlib_libXScrnSaver/Config.in
+++ b/package/x11r7/xlib_libXScrnSaver/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBXSCRNSAVER_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXSCRNSAVER
 	bool "libXScrnSaver"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_SCRNSAVERPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXSCRNSAVER_AVAILABLE
 	help
 	  X.Org XScrnSaver library
diff --git a/package/x11r7/xlib_libXau/Config.in b/package/x11r7/xlib_libXau/Config.in
index a220f01..e6e2815 100644
--- a/package/x11r7/xlib_libXau/Config.in
+++ b/package/x11r7/xlib_libXau/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XLIB_LIBXAU_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXAU
 	bool "libXau"
 	select BR2_PACKAGE_XPROTO_XPROTO
 	select BR2_PACKAGE_XUTIL_UTIL_MACROS
+	depends on BR2_PACKAGE_XLIB_LIBXAU_AVAILABLE
 	help
 	  X.Org Xau library
diff --git a/package/x11r7/xlib_libXaw/Config.in b/package/x11r7/xlib_libXaw/Config.in
index 1c10bc0..5bcbbd0 100644
--- a/package/x11r7/xlib_libXaw/Config.in
+++ b/package/x11r7/xlib_libXaw/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXAW
 	bool "libXaw"
 	select BR2_PACKAGE_XLIB_LIBX11
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXPM
 	select BR2_PACKAGE_XPROTO_XPROTO
 	select BR2_PACKAGE_XLIB_LIBXP
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 	help
 	  X.Org Xaw library
diff --git a/package/x11r7/xlib_libXcomposite/Config.in b/package/x11r7/xlib_libXcomposite/Config.in
index 14da977..17d2dae 100644
--- a/package/x11r7/xlib_libXcomposite/Config.in
+++ b/package/x11r7/xlib_libXcomposite/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XLIB_LIBXCOMPOSITE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXCOMPOSITE
 	bool "libXcomposite"
 	select BR2_PACKAGE_XPROTO_COMPOSITEPROTO
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XLIB_LIBXCOMPOSITE
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXFIXES
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXCOMPOSITE_AVAILABLE
 	help
 	  X.Org Xcomposite library
diff --git a/package/x11r7/xlib_libXcursor/Config.in b/package/x11r7/xlib_libXcursor/Config.in
index 6519cc7..46ac040 100644
--- a/package/x11r7/xlib_libXcursor/Config.in
+++ b/package/x11r7/xlib_libXcursor/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXCURSOR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXCURSOR
 	bool "libXcursor"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXFIXES
 	select BR2_PACKAGE_XLIB_LIBXRENDER
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXCURSOR_AVAILABLE
 	help
 	  X.Org Xcursor library
diff --git a/package/x11r7/xlib_libXdamage/Config.in b/package/x11r7/xlib_libXdamage/Config.in
index 2427486..6e4facc 100644
--- a/package/x11r7/xlib_libXdamage/Config.in
+++ b/package/x11r7/xlib_libXdamage/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXDAMAGE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXDAMAGE
 	bool "libXdamage"
 	select BR2_PACKAGE_XPROTO_DAMAGEPROTO
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXFIXES
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXDAMAGE_AVAILABLE
 	help
 	  X.Org Xdamage library
diff --git a/package/x11r7/xlib_libXdmcp/Config.in b/package/x11r7/xlib_libXdmcp/Config.in
index 218ff15..7e4266c 100644
--- a/package/x11r7/xlib_libXdmcp/Config.in
+++ b/package/x11r7/xlib_libXdmcp/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XLIB_LIBXDMCP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXDMCP
 	bool "libXdmcp"
 	select BR2_PACKAGE_XUTIL_UTIL_MACROS
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXDMCP_AVAILABLE
 	help
 	  X.Org Xdmcp library
diff --git a/package/x11r7/xlib_libXext/Config.in b/package/x11r7/xlib_libXext/Config.in
index 823a165..8d7b2c3 100644
--- a/package/x11r7/xlib_libXext/Config.in
+++ b/package/x11r7/xlib_libXext/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXEXT
 	bool "libXext"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
 	help
 	  X.Org Xext library
diff --git a/package/x11r7/xlib_libXfixes/Config.in b/package/x11r7/xlib_libXfixes/Config.in
index 9bbabb2..fdc134f 100644
--- a/package/x11r7/xlib_libXfixes/Config.in
+++ b/package/x11r7/xlib_libXfixes/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXFIXES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXFIXES
 	bool "libXfixes"
 	select BR2_PACKAGE_XPROTO_FIXESPROTO
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XPROTO_XEXTPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXFIXES_AVAILABLE
 	help
 	  X.Org Xfixes library
diff --git a/package/x11r7/xlib_libXfont/Config.in b/package/x11r7/xlib_libXfont/Config.in
index 407a099..ec4d48e 100644
--- a/package/x11r7/xlib_libXfont/Config.in
+++ b/package/x11r7/xlib_libXfont/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XLIB_LIBXFONT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXFONT
 	bool "libXfont"
 	select BR2_PACKAGE_FREETYPE
@@ -7,5 +10,6 @@ config BR2_PACKAGE_XLIB_LIBXFONT
 	select BR2_PACKAGE_XPROTO_FONTSPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
 	select BR2_PACKAGE_XFONT_ENCODINGS
+	depends on BR2_PACKAGE_XLIB_LIBXFONT_AVAILABLE
 	help
 	  X.Org Xfont library
diff --git a/package/x11r7/xlib_libXfontcache/Config.in b/package/x11r7/xlib_libXfontcache/Config.in
index 3a20451..e40c9cd 100644
--- a/package/x11r7/xlib_libXfontcache/Config.in
+++ b/package/x11r7/xlib_libXfontcache/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBXFONTCACHE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXFONTCACHE
 	bool "libXfontcache"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_FONTCACHEPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXFONTCACHE_AVAILABLE
 	help
 	  X.Org Xfontcache library
diff --git a/package/x11r7/xlib_libXft/Config.in b/package/x11r7/xlib_libXft/Config.in
index 6eef170..6e1dab0 100644
--- a/package/x11r7/xlib_libXft/Config.in
+++ b/package/x11r7/xlib_libXft/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XLIB_LIBXFT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXFT
 	bool "libXft"
 	select BR2_PACKAGE_FONTCONFIG
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XLIB_LIBXFT
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXRENDER
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXFT_AVAILABLE
 	help
 	  X.Org Xft library
diff --git a/package/x11r7/xlib_libXi/Config.in b/package/x11r7/xlib_libXi/Config.in
index ca5ab59..cdb2622 100644
--- a/package/x11r7/xlib_libXi/Config.in
+++ b/package/x11r7/xlib_libXi/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXI
 	bool "libXi"
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXI_AVAILABLE
 	help
 	  X.Org Xi library
diff --git a/package/x11r7/xlib_libXinerama/Config.in b/package/x11r7/xlib_libXinerama/Config.in
index 5a79b4e..5c07517 100644
--- a/package/x11r7/xlib_libXinerama/Config.in
+++ b/package/x11r7/xlib_libXinerama/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBXINERAMA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXINERAMA
 	bool "libXinerama"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_XINERAMAPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXINERAMA_AVAILABLE
 	help
 	  X.Org Xinerama library
diff --git a/package/x11r7/xlib_libXmu/Config.in b/package/x11r7/xlib_libXmu/Config.in
index ed239dc..4bc3333 100644
--- a/package/x11r7/xlib_libXmu/Config.in
+++ b/package/x11r7/xlib_libXmu/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXMU
 	bool "libXmu"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
 	help
 	  X.Org Xmu library
diff --git a/package/x11r7/xlib_libXp/Config.in b/package/x11r7/xlib_libXp/Config.in
index 532d8ac..eb0298c 100644
--- a/package/x11r7/xlib_libXp/Config.in
+++ b/package/x11r7/xlib_libXp/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXP
 	bool "libXp"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXAU
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_PRINTPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXP_AVAILABLE
 	help
 	  X.Org Xp library
diff --git a/package/x11r7/xlib_libXpm/Config.in b/package/x11r7/xlib_libXpm/Config.in
index 528498c..f83b881 100644
--- a/package/x11r7/xlib_libXpm/Config.in
+++ b/package/x11r7/xlib_libXpm/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXPM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXPM
 	bool "libXpm"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXPM_AVAILABLE
 	help
 	  X.Org Xpm library
diff --git a/package/x11r7/xlib_libXprintAppUtil/Config.in b/package/x11r7/xlib_libXprintAppUtil/Config.in
index 351675a..3ebf84f 100644
--- a/package/x11r7/xlib_libXprintAppUtil/Config.in
+++ b/package/x11r7/xlib_libXprintAppUtil/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBXPRINTAPPUTIL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXPRINTAPPUTIL
 	bool "libXprintAppUtil"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXP
 	select BR2_PACKAGE_XLIB_LIBXPRINTUTIL
+	depends on BR2_PACKAGE_XLIB_LIBXPRINTAPPUTIL_AVAILABLE
 	help
 	  X.Org XprintAppUtil library
diff --git a/package/x11r7/xlib_libXprintUtil/Config.in b/package/x11r7/xlib_libXprintUtil/Config.in
index 1f397f4..c437dca 100644
--- a/package/x11r7/xlib_libXprintUtil/Config.in
+++ b/package/x11r7/xlib_libXprintUtil/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXPRINTUTIL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXPRINTUTIL
 	bool "libXprintUtil"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXP
 	select BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_XPROTO_PRINTPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXPRINTUTIL_AVAILABLE
 	help
 	  X.Org XprintUtil library
diff --git a/package/x11r7/xlib_libXrandr/Config.in b/package/x11r7/xlib_libXrandr/Config.in
index 3b3ebd5..2243a7a 100644
--- a/package/x11r7/xlib_libXrandr/Config.in
+++ b/package/x11r7/xlib_libXrandr/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XLIB_LIBXRANDR_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXRANDR
 	bool "libXrandr"
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XLIB_LIBXRANDR
 	select BR2_PACKAGE_XLIB_LIBXRENDER
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXRANDR_AVAILABLE
 	help
 	  X.Org Xrandr library
diff --git a/package/x11r7/xlib_libXrender/Config.in b/package/x11r7/xlib_libXrender/Config.in
index c723e4d..b5f8d76 100644
--- a/package/x11r7/xlib_libXrender/Config.in
+++ b/package/x11r7/xlib_libXrender/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBXRENDER_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXRENDER
 	bool "libXrender"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXRENDER_AVAILABLE
 	help
 	  X.Org Xrender library
diff --git a/package/x11r7/xlib_libXres/Config.in b/package/x11r7/xlib_libXres/Config.in
index 39abbbf..a511ff6 100644
--- a/package/x11r7/xlib_libXres/Config.in
+++ b/package/x11r7/xlib_libXres/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXRES_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXRES
 	bool "libXres"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_RESOURCEPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXRES_AVAILABLE
 	help
 	  X.Org XRes library
diff --git a/package/x11r7/xlib_libXt/Config.in b/package/x11r7/xlib_libXt/Config.in
index 6557e20..8c7c74a 100644
--- a/package/x11r7/xlib_libXt/Config.in
+++ b/package/x11r7/xlib_libXt/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXT
 	bool "libXt"
 	select BR2_PACKAGE_XLIB_LIBSM
@@ -6,5 +9,6 @@ config BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_XPROTO_XPROTO
 	select BR2_PACKAGE_XCB_PROTO
 	select BR2_PACKAGE_LIBXCB
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 	help
 	  X.Org Xt library
diff --git a/package/x11r7/xlib_libXtst/Config.in b/package/x11r7/xlib_libXtst/Config.in
index 8853bde..0e5067c 100644
--- a/package/x11r7/xlib_libXtst/Config.in
+++ b/package/x11r7/xlib_libXtst/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXTST_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXTST
 	bool "libXtst"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXI
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_RECORDPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXTST_AVAILABLE
 	help
 	  X.Org Xtst library
diff --git a/package/x11r7/xlib_libXv/Config.in b/package/x11r7/xlib_libXv/Config.in
index 90f07f3..d9da0ef 100644
--- a/package/x11r7/xlib_libXv/Config.in
+++ b/package/x11r7/xlib_libXv/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXV_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXV
 	bool "libXv"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXV_AVAILABLE
 	help
 	  X.Org Xv library
diff --git a/package/x11r7/xlib_libXvMC/Config.in b/package/x11r7/xlib_libXvMC/Config.in
index 90c0e74..50784ed 100644
--- a/package/x11r7/xlib_libXvMC/Config.in
+++ b/package/x11r7/xlib_libXvMC/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XLIB_LIBXVMC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXVMC
 	bool "libXvMC"
 	select BR2_PACKAGE_XLIB_LIBX11
@@ -5,5 +8,6 @@ config BR2_PACKAGE_XLIB_LIBXVMC
 	select BR2_PACKAGE_XLIB_LIBXV
 	select BR2_PACKAGE_XPROTO_VIDEOPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXVMC_AVAILABLE
 	help
 	  X.Org XvMC library
diff --git a/package/x11r7/xlib_libXxf86dga/Config.in b/package/x11r7/xlib_libXxf86dga/Config.in
index 5e21502..4bcdd74 100644
--- a/package/x11r7/xlib_libXxf86dga/Config.in
+++ b/package/x11r7/xlib_libXxf86dga/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXXF86DGA_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXXF86DGA
 	bool "libXxf86dga"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXXF86DGA_AVAILABLE
 	help
 	  X.Org Xxf86dga library
diff --git a/package/x11r7/xlib_libXxf86vm/Config.in b/package/x11r7/xlib_libXxf86vm/Config.in
index 9e32188..41a36bd 100644
--- a/package/x11r7/xlib_libXxf86vm/Config.in
+++ b/package/x11r7/xlib_libXxf86vm/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XLIB_LIBXXF86VM_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXXF86VM
 	bool "libXxf86vm"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXXF86VM_AVAILABLE
 	help
 	  X.Org Xxf86vm library
diff --git a/package/x11r7/xlib_libdmx/Config.in b/package/x11r7/xlib_libdmx/Config.in
index 879f689..d1d3b8b 100644
--- a/package/x11r7/xlib_libdmx/Config.in
+++ b/package/x11r7/xlib_libdmx/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBDMX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBDMX
 	bool "libdmx"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XLIB_LIBXEXT
 	select BR2_PACKAGE_XPROTO_DMXPROTO
+	depends on BR2_PACKAGE_XLIB_LIBDMX_AVAILABLE
 	help
 	  X.Org dmx library
diff --git a/package/x11r7/xlib_libfontenc/Config.in b/package/x11r7/xlib_libfontenc/Config.in
index d2a3023..ccf26b8 100644
--- a/package/x11r7/xlib_libfontenc/Config.in
+++ b/package/x11r7/xlib_libfontenc/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XLIB_LIBFONTENC_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBFONTENC
 	bool "libfontenc"
 	select BR2_PACKAGE_XPROTO_XPROTO
+	depends on BR2_PACKAGE_XLIB_LIBFONTENC_AVAILABLE
 	help
 	  X.Org fontenc library
diff --git a/package/x11r7/xlib_liboldX/Config.in b/package/x11r7/xlib_liboldX/Config.in
index e312921..5ad792e 100644
--- a/package/x11r7/xlib_liboldX/Config.in
+++ b/package/x11r7/xlib_liboldX/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XLIB_LIBOLDX_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBOLDX
 	bool "liboldX"
 	select BR2_PACKAGE_XLIB_LIBX11
+	depends on BR2_PACKAGE_XLIB_LIBOLDX_AVAILABLE
 	help
 	  X.Org oldX library
diff --git a/package/x11r7/xlib_libpciaccess/Config.in b/package/x11r7/xlib_libpciaccess/Config.in
index b53aa31..62f062f 100644
--- a/package/x11r7/xlib_libpciaccess/Config.in
+++ b/package/x11r7/xlib_libpciaccess/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XLIB_LIBPCIACCESS_AVAILABLE
+	def_bool y
+	depends on BR2_LARGEFILE
+
 config BR2_PACKAGE_XLIB_LIBPCIACCESS
 	bool "libpciaccess"
-	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_XLIB_LIBPCIACCESS_AVAILABLE
 	help
 	  X.Org libpciaccess
 
diff --git a/package/x11r7/xlib_libxkbfile/Config.in b/package/x11r7/xlib_libxkbfile/Config.in
index ccd35fa..cb61e21 100644
--- a/package/x11r7/xlib_libxkbfile/Config.in
+++ b/package/x11r7/xlib_libxkbfile/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XLIB_LIBXKBFILE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXKBFILE
 	bool "libxkbfile"
 	select BR2_PACKAGE_XLIB_LIBX11
 	select BR2_PACKAGE_XPROTO_KBPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXKBFILE_AVAILABLE
 	help
 	  X.Org xkbfile library
diff --git a/package/x11r7/xlib_libxkbui/Config.in b/package/x11r7/xlib_libxkbui/Config.in
index ceab305..d852ee2 100644
--- a/package/x11r7/xlib_libxkbui/Config.in
+++ b/package/x11r7/xlib_libxkbui/Config.in
@@ -1,7 +1,11 @@
+config BR2_PACKAGE_XLIB_LIBXKBUI_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_LIBXKBUI
 	bool "libxkbui"
 	select BR2_PACKAGE_XLIB_LIBXKBFILE
 	select BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_XPROTO_KBPROTO
+	depends on BR2_PACKAGE_XLIB_LIBXKBUI_AVAILABLE
 	help
 	  X.Org xkbui library
diff --git a/package/x11r7/xlib_xtrans/Config.in b/package/x11r7/xlib_xtrans/Config.in
index 7c8bae7..c73780b 100644
--- a/package/x11r7/xlib_xtrans/Config.in
+++ b/package/x11r7/xlib_xtrans/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XLIB_XTRANS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XLIB_XTRANS
 	bool "xtrans"
+	depends on BR2_PACKAGE_XLIB_XTRANS_AVAILABLE
 	help
 	  X.Org xtrans library
diff --git a/package/x11r7/xproto_applewmproto/Config.in b/package/x11r7/xproto_applewmproto/Config.in
index 51a5fd5..c328fae 100644
--- a/package/x11r7/xproto_applewmproto/Config.in
+++ b/package/x11r7/xproto_applewmproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_APPLEWMPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_APPLEWMPROTO
 	bool "applewmproto"
+	depends on BR2_PACKAGE_XPROTO_APPLEWMPROTO_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xproto_bigreqsproto/Config.in b/package/x11r7/xproto_bigreqsproto/Config.in
index c431ef2..3f73cae 100644
--- a/package/x11r7/xproto_bigreqsproto/Config.in
+++ b/package/x11r7/xproto_bigreqsproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_BIGREQSPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_BIGREQSPROTO
 	bool "bigreqsproto"
+	depends on BR2_PACKAGE_XPROTO_BIGREQSPROTO_AVAILABLE
 	help
 	  X.Org BigReqs protocol headers
diff --git a/package/x11r7/xproto_compositeproto/Config.in b/package/x11r7/xproto_compositeproto/Config.in
index 136900a..fe6173c 100644
--- a/package/x11r7/xproto_compositeproto/Config.in
+++ b/package/x11r7/xproto_compositeproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_COMPOSITEPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_COMPOSITEPROTO
 	bool "compositeproto"
+	depends on BR2_PACKAGE_XPROTO_COMPOSITEPROTO_AVAILABLE
 	help
 	  X.Org Composite protocol headers
diff --git a/package/x11r7/xproto_damageproto/Config.in b/package/x11r7/xproto_damageproto/Config.in
index 068ed2b..317ac10 100644
--- a/package/x11r7/xproto_damageproto/Config.in
+++ b/package/x11r7/xproto_damageproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_DAMAGEPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_DAMAGEPROTO
 	bool "damageproto"
+	depends on BR2_PACKAGE_XPROTO_DAMAGEPROTO_AVAILABLE
 	help
 	  X.Org Damage protocol headers
diff --git a/package/x11r7/xproto_dmxproto/Config.in b/package/x11r7/xproto_dmxproto/Config.in
index dc048b1..174bae3 100644
--- a/package/x11r7/xproto_dmxproto/Config.in
+++ b/package/x11r7/xproto_dmxproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_DMXPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_DMXPROTO
 	bool "dmxproto"
+	depends on BR2_PACKAGE_XPROTO_DMXPROTO_AVAILABLE
 	help
 	  X.Org DMX protocol headers
diff --git a/package/x11r7/xproto_dri2proto/Config.in b/package/x11r7/xproto_dri2proto/Config.in
index 3fe5aa1..6bac3d1 100644
--- a/package/x11r7/xproto_dri2proto/Config.in
+++ b/package/x11r7/xproto_dri2proto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_DRI2PROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_DRI2PROTO
 	bool "dri2proto"
+	depends on BR2_PACKAGE_XPROTO_DRI2PROTO_AVAILABLE
 	help
 	  X.Org DRI2 protocol headers
diff --git a/package/x11r7/xproto_fixesproto/Config.in b/package/x11r7/xproto_fixesproto/Config.in
index d419fa1..c5fee23 100644
--- a/package/x11r7/xproto_fixesproto/Config.in
+++ b/package/x11r7/xproto_fixesproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_FIXESPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_FIXESPROTO
 	bool "fixesproto"
+	depends on BR2_PACKAGE_XPROTO_FIXESPROTO_AVAILABLE
 	help
 	  X.Org Fixes protocol headers
diff --git a/package/x11r7/xproto_fontcacheproto/Config.in b/package/x11r7/xproto_fontcacheproto/Config.in
index daa6c7f..d1fef1c 100644
--- a/package/x11r7/xproto_fontcacheproto/Config.in
+++ b/package/x11r7/xproto_fontcacheproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_FONTCACHEPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_FONTCACHEPROTO
 	bool "fontcacheproto"
+	depends on BR2_PACKAGE_XPROTO_FONTCACHEPROTO_AVAILABLE
 	help
 	  X.Org Fontcache protocol headers
diff --git a/package/x11r7/xproto_fontsproto/Config.in b/package/x11r7/xproto_fontsproto/Config.in
index b00220c..dfdebd9 100644
--- a/package/x11r7/xproto_fontsproto/Config.in
+++ b/package/x11r7/xproto_fontsproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_FONTSPROTO
 	bool "fontsproto"
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 	help
 	  X.Org Fonts protocol headers
diff --git a/package/x11r7/xproto_glproto/Config.in b/package/x11r7/xproto_glproto/Config.in
index 28ceb9c..4a7941d 100644
--- a/package/x11r7/xproto_glproto/Config.in
+++ b/package/x11r7/xproto_glproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_GLPROTO
 	bool "glproto"
+	depends on BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
 	help
 	  X.Org GL protocol headers
diff --git a/package/x11r7/xproto_inputproto/Config.in b/package/x11r7/xproto_inputproto/Config.in
index fcccb26..fc32030 100644
--- a/package/x11r7/xproto_inputproto/Config.in
+++ b/package/x11r7/xproto_inputproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_INPUTPROTO
 	bool "inputproto"
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
 	help
 	  X.Org Input protocol headers
diff --git a/package/x11r7/xproto_kbproto/Config.in b/package/x11r7/xproto_kbproto/Config.in
index ce568d7..41ff4e7 100644
--- a/package/x11r7/xproto_kbproto/Config.in
+++ b/package/x11r7/xproto_kbproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_KBPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_KBPROTO
 	bool "kbproto"
+	depends on BR2_PACKAGE_XPROTO_KBPROTO_AVAILABLE
 	help
 	  X.Org KB protocol headers
diff --git a/package/x11r7/xproto_printproto/Config.in b/package/x11r7/xproto_printproto/Config.in
index 69e214f..3067089 100644
--- a/package/x11r7/xproto_printproto/Config.in
+++ b/package/x11r7/xproto_printproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_PRINTPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_PRINTPROTO
 	bool "printproto"
+	depends on BR2_PACKAGE_XPROTO_PRINTPROTO_AVAILABLE
 	help
 	  X.Org Print protocol headers
diff --git a/package/x11r7/xproto_randrproto/Config.in b/package/x11r7/xproto_randrproto/Config.in
index 097ec8f..b6938ff 100644
--- a/package/x11r7/xproto_randrproto/Config.in
+++ b/package/x11r7/xproto_randrproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_RANDRPROTO
 	bool "randrproto"
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
 	help
 	  X.Org Randr protocol headers
diff --git a/package/x11r7/xproto_recordproto/Config.in b/package/x11r7/xproto_recordproto/Config.in
index 9fd5b88..3265c79 100644
--- a/package/x11r7/xproto_recordproto/Config.in
+++ b/package/x11r7/xproto_recordproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_RECORDPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_RECORDPROTO
 	bool "recordproto"
+	depends on BR2_PACKAGE_XPROTO_RECORDPROTO_AVAILABLE
 	help
 	  X.Org Record protocol headers
diff --git a/package/x11r7/xproto_renderproto/Config.in b/package/x11r7/xproto_renderproto/Config.in
index 5b5806f..00d7dde 100644
--- a/package/x11r7/xproto_renderproto/Config.in
+++ b/package/x11r7/xproto_renderproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_RENDERPROTO
 	bool "renderproto"
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
 	help
 	  X.Org Render protocol headers
diff --git a/package/x11r7/xproto_resourceproto/Config.in b/package/x11r7/xproto_resourceproto/Config.in
index 4aec708..9f73608 100644
--- a/package/x11r7/xproto_resourceproto/Config.in
+++ b/package/x11r7/xproto_resourceproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_RESOURCEPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_RESOURCEPROTO
 	bool "resourceproto"
+	depends on BR2_PACKAGE_XPROTO_RESOURCEPROTO_AVAILABLE
 	help
 	  X.Org Resource protocol headers
diff --git a/package/x11r7/xproto_scrnsaverproto/Config.in b/package/x11r7/xproto_scrnsaverproto/Config.in
index 83176a0..45830e2 100644
--- a/package/x11r7/xproto_scrnsaverproto/Config.in
+++ b/package/x11r7/xproto_scrnsaverproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_SCRNSAVERPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_SCRNSAVERPROTO
 	bool "scrnsaverproto"
+	depends on BR2_PACKAGE_XPROTO_SCRNSAVERPROTO_AVAILABLE
 	help
 	  X.Org ScrnSaver protocol headers
diff --git a/package/x11r7/xproto_videoproto/Config.in b/package/x11r7/xproto_videoproto/Config.in
index 271c78f..d80ecb5 100644
--- a/package/x11r7/xproto_videoproto/Config.in
+++ b/package/x11r7/xproto_videoproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_VIDEOPROTO
 	bool "videoproto"
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
 	help
 	  X.Org Video protocol headers
diff --git a/package/x11r7/xproto_windowswmproto/Config.in b/package/x11r7/xproto_windowswmproto/Config.in
index d1a36ac..a5b1391 100644
--- a/package/x11r7/xproto_windowswmproto/Config.in
+++ b/package/x11r7/xproto_windowswmproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_WINDOWSWMPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_WINDOWSWMPROTO
 	bool "windowswmproto"
+	depends on BR2_PACKAGE_XPROTO_WINDOWSWMPROTO_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xproto_xcmiscproto/Config.in b/package/x11r7/xproto_xcmiscproto/Config.in
index f7ba153..54c54d5 100644
--- a/package/x11r7/xproto_xcmiscproto/Config.in
+++ b/package/x11r7/xproto_xcmiscproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XCMISCPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XCMISCPROTO
 	bool "xcmiscproto"
+	depends on BR2_PACKAGE_XPROTO_XCMISCPROTO_AVAILABLE
 	help
 	  X.Org XCMisc protocol headers
diff --git a/package/x11r7/xproto_xextproto/Config.in b/package/x11r7/xproto_xextproto/Config.in
index d80d76c..816fbd4 100644
--- a/package/x11r7/xproto_xextproto/Config.in
+++ b/package/x11r7/xproto_xextproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XEXTPROTO
 	bool "xextproto"
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
 	help
 	  X.Org XExt protocol headers
diff --git a/package/x11r7/xproto_xf86bigfontproto/Config.in b/package/x11r7/xproto_xf86bigfontproto/Config.in
index 7af30d0..9719b08 100644
--- a/package/x11r7/xproto_xf86bigfontproto/Config.in
+++ b/package/x11r7/xproto_xf86bigfontproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO
 	bool "xf86bigfontproto"
+	depends on BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO_AVAILABLE
 	help
 	  X.Org XF86BigFont protocol headers
diff --git a/package/x11r7/xproto_xf86dgaproto/Config.in b/package/x11r7/xproto_xf86dgaproto/Config.in
index 7561b8a..751d872 100644
--- a/package/x11r7/xproto_xf86dgaproto/Config.in
+++ b/package/x11r7/xproto_xf86dgaproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XF86DGAPROTO
 	bool "xf86dgaproto"
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
 	help
 	  X.Org XF86DGA protocol headers
diff --git a/package/x11r7/xproto_xf86driproto/Config.in b/package/x11r7/xproto_xf86driproto/Config.in
index 8aeac87..48a92f7 100644
--- a/package/x11r7/xproto_xf86driproto/Config.in
+++ b/package/x11r7/xproto_xf86driproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XF86DRIPROTO
 	bool "xf86driproto"
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 	help
 	  X.Org XF86DRI protocol headers
diff --git a/package/x11r7/xproto_xf86rushproto/Config.in b/package/x11r7/xproto_xf86rushproto/Config.in
index 961c31f..bf2017b 100644
--- a/package/x11r7/xproto_xf86rushproto/Config.in
+++ b/package/x11r7/xproto_xf86rushproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XF86RUSHPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XF86RUSHPROTO
 	bool "xf86rushproto"
+	depends on BR2_PACKAGE_XPROTO_XF86RUSHPROTO_AVAILABLE
 	help
 	  X.Org XF86Rush protocol headers
diff --git a/package/x11r7/xproto_xf86vidmodeproto/Config.in b/package/x11r7/xproto_xf86vidmodeproto/Config.in
index 395c175..0f97b9f 100644
--- a/package/x11r7/xproto_xf86vidmodeproto/Config.in
+++ b/package/x11r7/xproto_xf86vidmodeproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO
 	bool "xf86vidmodeproto"
+	depends on BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO_AVAILABLE
 	help
 	  X.Org XF86VidMode protocol headers
diff --git a/package/x11r7/xproto_xineramaproto/Config.in b/package/x11r7/xproto_xineramaproto/Config.in
index 12c8e05..0f570c2 100644
--- a/package/x11r7/xproto_xineramaproto/Config.in
+++ b/package/x11r7/xproto_xineramaproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XINERAMAPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XINERAMAPROTO
 	bool "xineramaproto"
+	depends on BR2_PACKAGE_XPROTO_XINERAMAPROTO_AVAILABLE
 	help
 	  X.Org Xinerama protocol headers
diff --git a/package/x11r7/xproto_xproto/Config.in b/package/x11r7/xproto_xproto/Config.in
index a5f88ef..7669d35 100644
--- a/package/x11r7/xproto_xproto/Config.in
+++ b/package/x11r7/xproto_xproto/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XPROTO_XPROTO
 	bool "xproto"
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 	help
 	  X.Org xproto protocol headers
diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index ddc03c6..8de8fd1 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -1,3 +1,7 @@
+config BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	def_bool y
+	depends on !BR2_avr32
+
 config BR2_PACKAGE_XSERVER_XORG_SERVER
 	bool "xorg-server"
 	select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_XSERVER_xorg
@@ -48,7 +52,7 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_XPROTO
 	select BR2_PACKAGE_XUTIL_UTIL_MACROS
 	select BR2_PACKAGE_XKEYBOARD_CONFIG
-	depends on !BR2_avr32
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
 	help
 	  xorg-server 1.7.5
 	  No description available
diff --git a/package/x11r7/xutil_makedepend/Config.in b/package/x11r7/xutil_makedepend/Config.in
index 0b091b0..b141316 100644
--- a/package/x11r7/xutil_makedepend/Config.in
+++ b/package/x11r7/xutil_makedepend/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XUTIL_MAKEDEPEND_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XUTIL_MAKEDEPEND
 	bool "makedepend"
+	depends on BR2_PACKAGE_XUTIL_MAKEDEPEND_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11r7/xutil_util-macros/Config.in b/package/x11r7/xutil_util-macros/Config.in
index 10b1a59..787c52f 100644
--- a/package/x11r7/xutil_util-macros/Config.in
+++ b/package/x11r7/xutil_util-macros/Config.in
@@ -1,4 +1,8 @@
+config BR2_PACKAGE_XUTIL_UTIL_MACROS_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XUTIL_UTIL_MACROS
 	bool "util-macros"
+	depends on BR2_PACKAGE_XUTIL_UTIL_MACROS_AVAILABLE
 	help
 	  No description available
diff --git a/package/x11vnc/Config.in b/package/x11vnc/Config.in
index fdb3bad..61f2327 100644
--- a/package/x11vnc/Config.in
+++ b/package/x11vnc/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_X11VNC_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_X11VNC
 	bool "x11vnc"
-	depends on BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XLIB_LIBXT
+	depends on BR2_PACKAGE_X11VNC_AVAILABLE
 	help
 	  VNC server for X11 display
diff --git a/package/xavante/Config.in b/package/xavante/Config.in
index db34d66..c534520 100644
--- a/package/xavante/Config.in
+++ b/package/xavante/Config.in
@@ -1,3 +1,6 @@
+config BR2_PACKAGE_XAVANTE_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XAVANTE
 	bool "xavante"
 	select BR2_PACKAGE_CGILUA
@@ -6,6 +9,7 @@ config BR2_PACKAGE_XAVANTE
 	select BR2_PACKAGE_LUAFILESYSTEM
 	select BR2_PACKAGE_LUASOCKET
 	select BR2_PACKAGE_WSAPI
+	depends on BR2_PACKAGE_XAVANTE_AVAILABLE
 	help
 	  Xavante is a Lua HTTP 1.1 Web server that uses a modular
 	  architecture based on URI mapped handlers.
diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index ecab23e..bef3f41 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -1,7 +1,11 @@
-config BR2_PACKAGE_XENOMAI
-	bool "Xenomai Userspace"
+config BR2_PACKAGE_XENOMAI_AVAILABLE
+	def_bool y
 	depends on BR2_i386 || BR2_x86_64 || BR2_arm || \
 		   BR2_bfin || BR2_powerpc || BR2_sh4
+
+config BR2_PACKAGE_XENOMAI
+	bool "Xenomai Userspace"
+	depends on BR2_PACKAGE_XENOMAI_AVAILABLE
 	help
 	  Real-Time Framework for Linux
 	  http://www.xenomai.org
diff --git a/package/xerces/Config.in b/package/xerces/Config.in
index 374729a..78cabd1 100644
--- a/package/xerces/Config.in
+++ b/package/xerces/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XERCES_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR
+
 config BR2_PACKAGE_XERCES
 	bool "xerces-c++"
-	depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR
+	depends on BR2_PACKAGE_XERCES_AVAILABLE
 	help
 	  Xerces-C++ is a validating XML parser written in portable C++.
 
diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in
index fda068f..2c03807 100644
--- a/package/xfsprogs/Config.in
+++ b/package/xfsprogs/Config.in
@@ -5,12 +5,16 @@ comment "Note that xfsprogs needs a toolchain with UCLIBC_SV4_DEPRECATED and UCL
 comment "xfsprogs requires a toolchain with LARGEFILE + WCHAR support"
         depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)
 
-config BR2_PACKAGE_XFSPROGS
-	bool "xfsprogs"
+config BR2_PACKAGE_XFSPROGS_AVAILABLE
+	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR # util-linux
+
+config BR2_PACKAGE_XFSPROGS
+	bool "xfsprogs"
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	depends on BR2_PACKAGE_XFSPROGS_AVAILABLE
 	help
 	  The XFS file system utilities and libraries
 
diff --git a/package/xinetd/Config.in b/package/xinetd/Config.in
index 76fe603..e53504e 100644
--- a/package/xinetd/Config.in
+++ b/package/xinetd/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XINETD_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XINETD
 	bool "xinetd"
+	depends on BR2_PACKAGE_XINETD_AVAILABLE
 	help
 	  xinetd is a secure replacement for inetd. It was originally written by
 	  panos@cs.colorado.edu.
diff --git a/package/xl2tp/Config.in b/package/xl2tp/Config.in
index 8f9d9b1..18f47f1 100644
--- a/package/xl2tp/Config.in
+++ b/package/xl2tp/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_XL2TP_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XL2TP
 	bool "xl2tp"
 	select BR2_PACKAGE_LIBPCAP
+	depends on BR2_PACKAGE_XL2TP_AVAILABLE
 	help
 	  Layer 2 Tunnelling Protocol (RFC2661).
 
diff --git a/package/xmlstarlet/Config.in b/package/xmlstarlet/Config.in
index 99762b8..0fcfe72 100644
--- a/package/xmlstarlet/Config.in
+++ b/package/xmlstarlet/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XMLSTARLET_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XMLSTARLET
 	bool "xmlstarlet"
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_LIBXSLT
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_XMLSTARLET_AVAILABLE
 	help
 	  Command Line XML Toolkit
 
diff --git a/package/xstroke/Config.in b/package/xstroke/Config.in
index 5589fe6..4325263 100644
--- a/package/xstroke/Config.in
+++ b/package/xstroke/Config.in
@@ -1,9 +1,13 @@
+config BR2_PACKAGE_XSTROKE_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_XSTROKE
 	bool "xstroke"
-	depends on BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XLIB_LIBXFT
 	select BR2_PACKAGE_XLIB_LIBXTST
 	select BR2_PACKAGE_XLIB_LIBXPM
+	depends on BR2_PACKAGE_XSTROKE_AVAILABLE
 	help
 	  Handwriting recognition for X
 
diff --git a/package/xterm/Config.in b/package/xterm/Config.in
index 33adf25..7950145 100644
--- a/package/xterm/Config.in
+++ b/package/xterm/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XTERM_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_XTERM
 	bool "xterm"
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_XLIB_LIBXAW
-	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_XTERM_AVAILABLE
 	help
 	  xterm terminal emulator
 
diff --git a/package/xvkbd/Config.in b/package/xvkbd/Config.in
index a75687d..155b32a 100644
--- a/package/xvkbd/Config.in
+++ b/package/xvkbd/Config.in
@@ -1,8 +1,12 @@
+config BR2_PACKAGE_XVKBD_AVAILABLE
+	def_bool y
+	depends on BR2_PACKAGE_XORG7
+
 config BR2_PACKAGE_XVKBD
 	bool "xvkbd"
-	depends on BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XLIB_LIBXAW
 	select BR2_PACKAGE_XLIB_LIBXTST
+	depends on BR2_PACKAGE_XVKBD_AVAILABLE
 	help
 	  on-screen keyboard for X
 
diff --git a/package/xz/Config.in b/package/xz/Config.in
index 50116f2..f196f33 100644
--- a/package/xz/Config.in
+++ b/package/xz/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_XZ_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_XZ
 	bool "xz-utils"
+	depends on BR2_PACKAGE_XZ_AVAILABLE
 	help
 	  XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm
 	  compression format, which provides memory-hungry but powerful
diff --git a/package/yajl/Config.in b/package/yajl/Config.in
index be2c133..cfbf721 100644
--- a/package/yajl/Config.in
+++ b/package/yajl/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_YAJL_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_YAJL
 	bool "yajl"
+	depends on BR2_PACKAGE_YAJL_AVAILABLE
 	help
 	  Yet Another JSON Library. YAJL is a small event-driven
 	  (SAX-style) JSON parser written in ANSI C, and a small
diff --git a/package/yasm/Config.in b/package/yasm/Config.in
index 2dc25aa..66d75c7 100644
--- a/package/yasm/Config.in
+++ b/package/yasm/Config.in
@@ -1,6 +1,10 @@
+config BR2_PACKAGE_YASM_AVAILABLE
+	def_bool y
+	depends on BR2_i386 || BR2_x86_64
+
 config BR2_PACKAGE_YASM
 	bool "yasm"
-	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_PACKAGE_YASM_AVAILABLE
 	help
 	  Yasm is a complete rewrite of the NASM-2.10.01 assembler.
 	  It supports the x86 and AMD64 instruction sets, accepts NASM
diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in
index e1d3d52..dd1adb6 100644
--- a/package/zeromq/Config.in
+++ b/package/zeromq/Config.in
@@ -1,13 +1,17 @@
 comment "zeromq requires a toolchain with C++, LARGEFILE + WCHAR support"
 	depends on !(BR2_INSTALL_LIBSTDCPP &&  BR2_LARGEFILE && BR2_USE_WCHAR)
 
-config BR2_PACKAGE_ZEROMQ
-	bool "zeromq"
+config BR2_PACKAGE_ZEROMQ_AVAILABLE
+	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_LARGEFILE # util-linux
 	depends on BR2_USE_WCHAR # util-linux
+
+config BR2_PACKAGE_ZEROMQ
+	bool "zeromq"
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	depends on BR2_PACKAGE_ZEROMQ_AVAILABLE
 	help
 	  ØMQ (ZeroMQ, 0MQ, zmq) looks like an embeddable networking
 	  library but acts like a concurrency framework. It gives you
diff --git a/package/zlib/Config.in b/package/zlib/Config.in
index 8954214..f17495e 100644
--- a/package/zlib/Config.in
+++ b/package/zlib/Config.in
@@ -1,5 +1,9 @@
+config BR2_PACKAGE_ZLIB_AVAILABLE
+	def_bool y
+
 config BR2_PACKAGE_ZLIB
 	bool "zlib"
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 	help
 	  Standard (de)compression library.  Used by things like
 	  gzip and libpng.
diff --git a/package/zxing/Config.in b/package/zxing/Config.in
index c1d342c..fd91424 100644
--- a/package/zxing/Config.in
+++ b/package/zxing/Config.in
@@ -1,10 +1,14 @@
 comment "zxing requires a toolchain with C++ support"
 	depends on !BR2_INSTALL_LIBSTDCPP
 
+config BR2_PACKAGE_ZXING_AVAILABLE
+	def_bool y
+	depends on BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_ZXING
 	bool "zxing"
-	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	depends on BR2_PACKAGE_ZXING_AVAILABLE
 	help
 	  ZXing (pronounced "zebra crossing") is an open-source,
 	  multi-format 1D/2D barcode image processing library
