Skip to contentSkip to conversation

Introduce the _AVAILABLE mechanism

PATCH New Yann E. MORIN 5 participants 42 messages Sep 9, 2012 – Nov 2, 2012 Arm/actions semi architecture Page 2 of 2

lore
Share & tools
lore
#20 lore raw

PATCH 6/7 packages: check proper use of 'select' against packages

In reply to Yann E. MORIN

This patch checks that all 'select' on a package have a 'depends on' on the corresponding _AVAILABLE symbol.

---
 package/acl/Config.in                              |    1 +
 package/alsa-lib/Config.in                         |    1 +
 package/alsamixergui/Config.in                     |    3 +
 package/apr-util/Config.in                         |    5 ++
 package/argus/Config.in                            |    1 +
 package/atk/Config.in                              |    1 +
 package/autoconf/Config.in                         |    1 +
 package/automake/Config.in                         |    2 +
 package/bash/Config.in                             |    1 +
 package/bison/Config.in                            |    1 +
 package/blackbox/Config.in                         |    1 +
 package/bluez_utils/Config.in                      |    2 +
 package/boost/Config.in                            |    2 +
 package/bsdiff/Config.in                           |    1 +
 package/cairo/Config.in                            |    2 +
 package/cdrkit/Config.in                           |    2 +
 package/cgilua/Config.in                           |    1 +
 package/connman/Config.in                          |    4 ++
 package/conntrack-tools/Config.in                  |    2 +
 package/copas/Config.in                            |    2 +
 package/cvs/Config.in                              |    1 +
 package/dbus-glib/Config.in                        |    1 +
 package/dbus-python/Config.in                      |    1 +
 package/dhcpdump/Config.in                         |    1 +
 package/dialog/Config.in                           |    1 +
 package/directfb/Config.in                         |    2 +
 package/dmraid/Config.in                           |    1 +
 package/docker/Config.in                           |    1 +
 package/dsp-tools/Config.in                        |    1 +
 package/dstat/Config.in                            |    1 +
 package/e2fsprogs/Config.in                        |    3 +
 package/efl/expedite/Config.in                     |    3 +
 package/efl/libecore/Config.in                     |    1 +
 package/efl/libedbus/Config.in                     |    3 +
 package/efl/libedje/Config.in                      |    7 +++
 package/efl/libeet/Config.in                       |    3 +
 package/efl/libefreet/Config.in                    |    3 +
 package/efl/libelementary/Config.in                |    4 ++
 package/efl/libembryo/Config.in                    |    1 +
 package/efl/libethumb/Config.in                    |    5 ++
 package/efl/libevas/Config.in                      |    3 +
 package/enchant/Config.in                          |    1 +
 package/fbgrab/Config.in                           |    1 +
 package/fbterm/Config.in                           |    2 +
 package/feh/Config.in                              |    7 +++
 package/file/Config.in                             |    1 +
 package/flashrom/Config.in                         |    2 +
 package/flot/Config.in                             |    1 +
 package/fltk/Config.in                             |    1 +
 package/fluxbox/Config.in                          |    1 +
 package/fontconfig/Config.in                       |    2 +
 package/freerdp/Config.in                          |    6 +++
 package/games/prboom/Config.in                     |    3 +
 package/gamin/Config.in                            |    1 +
 package/gdk-pixbuf/Config.in                       |    1 +
 package/giblib/Config.in                           |    2 +
 package/glib-networking/Config.in                  |    1 +
 package/gmpc/Config.in                             |    8 ++++
 package/gnutls/Config.in                           |    1 +
 package/gob2/Config.in                             |    4 ++
 package/gvfs/Config.in                             |    3 +
 package/hostapd/Config.in                          |    1 +
 package/htop/Config.in                             |    1 +
 package/ifplugd/Config.in                          |    1 +
 package/imlib2/Config.in                           |    1 +
 package/ipsec-tools/Config.in                      |    3 +
 package/ipset/Config.in                            |    1 +
 package/iw/Config.in                               |    1 +
 package/jquery-sparkline/Config.in                 |    1 +
 package/jquery-validation/Config.in                |    1 +
 package/kismet/Config.in                           |    3 +
 package/latencytop/Config.in                       |    2 +
 package/lcdproc/Config.in                          |    1 +
 package/less/Config.in                             |    1 +
 package/libcue/Config.in                           |    2 +
 package/libdrm/Config.in                           |    6 +++
 package/libdvdnav/Config.in                        |    1 +
 package/libeXosip2/Config.in                       |    1 +
 package/libfreefare/Config.in                      |    2 +
 package/libftdi/Config.in                          |    2 +
 package/libgail/Config.in                          |    1 +
 package/libgcrypt/Config.in                        |    1 +
 package/libgeotiff/Config.in                       |    1 +
 package/libglade/Config.in                         |    3 +
 package/libglib2/Config.in                         |    2 +
 package/libgtk2/Config.in                          |    8 ++++
 package/libhid/Config.in                           |    2 +
 package/libid3tag/Config.in                        |    1 +
 package/libiqrf/Config.in                          |    1 +
 package/libmms/Config.in                           |    1 +
 package/libmpd/Config.in                           |    1 +
 package/libnetfilter_conntrack/Config.in           |    1 +
 package/libnetfilter_cttimeout/Config.in           |    1 +
 package/libnfc-llcp/Config.in                      |    1 +
 package/libnfc/Config.in                           |    2 +
 package/libnss/Config.in                           |    3 +
 package/liboauth/Config.in                         |    1 +
 package/libpcap/Config.in                          |    1 +
 package/libpng/Config.in                           |    1 +
 package/librsvg/Config.in                          |    5 ++
 package/librsync/Config.in                         |    3 +
 package/libsexy/Config.in                          |    1 +
 package/libsoup/Config.in                          |    2 +
 package/libsvgtiny/Config.in                       |    1 +
 package/libtheora/Config.in                        |    2 +
 package/libtorrent/Config.in                       |    1 +
 package/libvorbis/Config.in                        |    1 +
 package/libxml-parser-perl/Config.in               |    1 +
 package/libxslt/Config.in                          |    1 +
 package/linphone/Config.in                         |    4 ++
 package/linux-pam/Config.in                        |    2 +
 package/lockfile-progs/Config.in                   |    1 +
 package/logrotate/Config.in                        |    1 +
 package/ltrace/Config.in                           |    1 +
 package/lttng-babeltrace/Config.in                 |    3 +
 package/lttng-libust/Config.in                     |    3 +
 package/lttng-tools/Config.in                      |    2 +
 package/luaexpat/Config.in                         |    1 +
 package/lzop/Config.in                             |    1 +
 package/matchbox/Config.in                         |    5 ++
 package/mediastreamer/Config.in                    |    1 +
 package/midori/Config.in                           |    2 +
 package/minicom/Config.in                          |    1 +
 package/mpc/Config.in                              |    2 +
 package/mpfr/Config.in                             |    1 +
 package/mtdev2tuio/Config.in                       |    2 +
 package/multimedia/alsa-utils/Config.in            |    1 +
 package/multimedia/aumix/Config.in                 |    1 +
 package/multimedia/gst-dsp/Config.in               |    1 +
 package/multimedia/gst-ffmpeg/Config.in            |    5 ++
 package/multimedia/gst-plugins-bad/Config.in       |    1 +
 package/multimedia/gst-plugins-good/Config.in      |    1 +
 package/multimedia/gst-plugins-ugly/Config.in      |    1 +
 package/multimedia/gstreamer/Config.in             |    1 +
 package/multimedia/madplay/Config.in               |    2 +
 package/multimedia/mpd/Config.in                   |    1 +
 package/multimedia/musepack/Config.in              |    2 +
 package/multimedia/pulseaudio/Config.in            |    4 ++
 package/multimedia/vorbis-tools/Config.in          |    4 ++
 package/mutt/Config.in                             |    1 +
 package/mysql_client/Config.in                     |    2 +
 package/nano/Config.in                             |    1 +
 package/nbd/Config.in                              |    1 +
 package/netatalk/Config.in                         |    4 ++
 package/netkittelnet/Config.in                     |    1 +
 package/network-manager/Config.in                  |   10 +++++
 package/newt/Config.in                             |    1 +
 package/nfs-utils/Config.in                        |    1 +
 package/ngircd/Config.in                           |    1 +
 package/ngrep/Config.in                            |    2 +
 package/ofono/Config.in                            |    4 ++
 package/opencv/Config.in                           |    1 +
 package/openocd/Config.in                          |    2 +
 package/openssh/Config.in                          |    2 +
 package/openssl/Config.in                          |    1 +
 package/openswan/Config.in                         |    2 +
 package/oprofile/Config.in                         |    2 +
 package/pango/Config.in                            |    3 +
 package/parted/Config.in                           |    4 ++
 package/pcmanfm/Config.in                          |    2 +
 package/pkg-config/Config.in                       |    1 +
 package/poco/Config.in                             |    2 +
 package/procps/Config.in                           |    1 +
 package/psmisc/Config.in                           |    1 +
 package/python-dpkt/Config.in                      |    1 +
 package/python-mad/Config.in                       |    1 +
 package/python-meld3/Config.in                     |    1 +
 package/python-netifaces/Config.in                 |    1 +
 package/python-nfc/Config.in                       |    2 +
 package/python-pygame/Config.in                    |    1 +
 package/python-setuptools/Config.in                |    1 +
 package/python/Config.in                           |    1 +
 package/quota/Config.in                            |    2 +
 package/radvd/Config.in                            |    3 +
 package/rdesktop/Config.in                         |    3 +
 package/readline/Config.in                         |    1 +
 package/rng-tools/Config.in                        |    1 +
 package/rpm/Config.in                              |    5 ++
 package/rrdtool/Config.in                          |    4 ++
 package/rtorrent/Config.in                         |    5 ++
 package/samba/Config.in                            |    1 +
 package/screen/Config.in                           |    1 +
 package/sdl_ttf/Config.in                          |    1 +
 package/shared-mime-info/Config.in                 |    2 +
 package/socketcand/Config.in                       |    1 +
 package/speex/Config.in                            |    1 +
 package/sqlcipher/Config.in                        |    1 +
 package/squid/Config.in                            |    1 +
 package/sshfs/Config.in                            |    3 +
 package/startup-notification/Config.in             |    1 +
 package/statserial/Config.in                       |    1 +
 package/stunnel/Config.in                          |    1 +
 package/supervisor/Config.in                       |    2 +
 package/synergy/Config.in                          |    1 +
 package/sysprof/Config.in                          |    1 +
 package/systemd/Config.in                          |    2 +
 package/tcpdump/Config.in                          |    1 +
 package/tcpreplay/Config.in                        |    1 +
 package/ti-utils/Config.in                         |    1 +
 package/tn5250/Config.in                           |    1 +
 package/transmission/Config.in                     |    4 ++
 package/udev/Config.in                             |    3 +
 package/uemacs/Config.in                           |    1 +
 package/unionfs/Config.in                          |    1 +
 package/usb_modeswitch/Config.in                   |    2 +
 package/usb_modeswitch_data/Config.in              |    3 +
 package/usbmount/Config.in                         |    3 +
 package/usbutils/Config.in                         |    1 +
 package/ushare/Config.in                           |    1 +
 package/vala/Config.in                             |    1 +
 package/vim/Config.in                              |    1 +
 package/vpnc/Config.in                             |    2 +
 package/vtun/Config.in                             |    2 +
 package/webkit/Config.in                           |    9 ++++
 package/wsapi/Config.in                            |    3 +
 package/x11r7/libxcb/Config.in                     |    4 ++
 package/x11r7/mesa3d/Config.in                     |    7 +++
 package/x11r7/xapp_appres/Config.in                |    2 +
 package/x11r7/xapp_bdftopcf/Config.in              |    1 +
 package/x11r7/xapp_beforelight/Config.in           |    4 ++
 package/x11r7/xapp_bitmap/Config.in                |    4 ++
 package/x11r7/xapp_editres/Config.in               |    4 ++
 package/x11r7/xapp_fonttosfnt/Config.in            |    3 +
 package/x11r7/xapp_fslsfonts/Config.in             |    2 +
 package/x11r7/xapp_fstobdf/Config.in               |    2 +
 package/x11r7/xapp_iceauth/Config.in               |    2 +
 package/x11r7/xapp_ico/Config.in                   |    1 +
 package/x11r7/xapp_listres/Config.in               |    4 ++
 package/x11r7/xapp_luit/Config.in                  |    2 +
 package/x11r7/xapp_mkfontdir/Config.in             |    1 +
 package/x11r7/xapp_mkfontscale/Config.in           |    3 +
 package/x11r7/xapp_oclock/Config.in                |    3 +
 package/x11r7/xapp_rgb/Config.in                   |    1 +
 package/x11r7/xapp_rstart/Config.in                |    1 +
 package/x11r7/xapp_scripts/Config.in               |    1 +
 package/x11r7/xapp_sessreg/Config.in               |    2 +
 package/x11r7/xapp_setxkbmap/Config.in             |    2 +
 package/x11r7/xapp_showfont/Config.in              |    1 +
 package/x11r7/xapp_smproxy/Config.in               |    2 +
 package/x11r7/xapp_twm/Config.in                   |    4 ++
 package/x11r7/xapp_viewres/Config.in               |    1 +
 package/x11r7/xapp_x11perf/Config.in               |    3 +
 package/x11r7/xapp_xauth/Config.in                 |    4 ++
 package/x11r7/xapp_xbacklight/Config.in            |    3 +
 package/x11r7/xapp_xbiff/Config.in                 |    2 +
 package/x11r7/xapp_xcalc/Config.in                 |    1 +
 package/x11r7/xapp_xclipboard/Config.in            |    1 +
 package/x11r7/xapp_xclock/Config.in                |    5 ++
 package/x11r7/xapp_xcmsdb/Config.in                |    1 +
 package/x11r7/xapp_xcursorgen/Config.in            |    3 +
 package/x11r7/xapp_xdbedizzy/Config.in             |    3 +
 package/x11r7/xapp_xditview/Config.in              |    1 +
 package/x11r7/xapp_xdm/Config.in                   |   10 +++++
 package/x11r7/xapp_xdpyinfo/Config.in              |   14 +++++++
 package/x11r7/xapp_xdriinfo/Config.in              |    2 +
 package/x11r7/xapp_xedit/Config.in                 |    2 +
 package/x11r7/xapp_xev/Config.in                   |    1 +
 package/x11r7/xapp_xeyes/Config.in                 |    4 ++
 package/x11r7/xapp_xf86dga/Config.in               |    2 +
 package/x11r7/xapp_xfd/Config.in                   |    4 ++
 package/x11r7/xapp_xfontsel/Config.in              |    1 +
 package/x11r7/xapp_xfs/Config.in                   |    3 +
 package/x11r7/xapp_xfsinfo/Config.in               |    2 +
 package/x11r7/xapp_xgamma/Config.in                |    1 +
 package/x11r7/xapp_xgc/Config.in                   |    1 +
 package/x11r7/xapp_xhost/Config.in                 |    2 +
 package/x11r7/xapp_xinit/Config.in                 |    2 +
 package/x11r7/xapp_xinput/Config.in                |    2 +
 package/x11r7/xapp_xinput_calibrator/Config.in     |    2 +
 package/x11r7/xapp_xkbcomp/Config.in               |    2 +
 package/x11r7/xapp_xkbevd/Config.in                |    1 +
 package/x11r7/xapp_xkbprint/Config.in              |    1 +
 package/x11r7/xapp_xkbutils/Config.in              |    2 +
 package/x11r7/xapp_xkill/Config.in                 |    2 +
 package/x11r7/xapp_xload/Config.in                 |    1 +
 package/x11r7/xapp_xlogo/Config.in                 |    4 ++
 package/x11r7/xapp_xlsatoms/Config.in              |    2 +
 package/x11r7/xapp_xlsclients/Config.in            |    2 +
 package/x11r7/xapp_xlsfonts/Config.in              |    1 +
 package/x11r7/xapp_xmag/Config.in                  |    1 +
 package/x11r7/xapp_xman/Config.in                  |    1 +
 package/x11r7/xapp_xmessage/Config.in              |    1 +
 package/x11r7/xapp_xmh/Config.in                   |    1 +
 package/x11r7/xapp_xmodmap/Config.in               |    1 +
 package/x11r7/xapp_xmore/Config.in                 |    2 +
 package/x11r7/xapp_xplsprinters/Config.in          |    3 +
 package/x11r7/xapp_xpr/Config.in                   |    2 +
 package/x11r7/xapp_xprehashprinterlist/Config.in   |    2 +
 package/x11r7/xapp_xprop/Config.in                 |    2 +
 package/x11r7/xapp_xrandr/Config.in                |    2 +
 package/x11r7/xapp_xrdb/Config.in                  |    2 +
 package/x11r7/xapp_xrefresh/Config.in              |    1 +
 package/x11r7/xapp_xset/Config.in                  |    2 +
 package/x11r7/xapp_xsetmode/Config.in              |    2 +
 package/x11r7/xapp_xsetpointer/Config.in           |    3 +
 package/x11r7/xapp_xsetroot/Config.in              |    3 +
 package/x11r7/xapp_xsm/Config.in                   |    1 +
 package/x11r7/xapp_xstdcmap/Config.in              |    2 +
 package/x11r7/xapp_xvidtune/Config.in              |    2 +
 package/x11r7/xapp_xvinfo/Config.in                |    2 +
 package/x11r7/xapp_xwd/Config.in                   |    2 +
 package/x11r7/xapp_xwininfo/Config.in              |    2 +
 package/x11r7/xapp_xwud/Config.in                  |    1 +
 package/x11r7/xdata_xcursor-themes/Config.in       |    1 +
 package/x11r7/xdriver_xf86-input-acecad/Config.in  |    4 ++
 package/x11r7/xdriver_xf86-input-aiptek/Config.in  |    4 ++
 package/x11r7/xdriver_xf86-input-evdev/Config.in   |    4 ++
 .../x11r7/xdriver_xf86-input-joystick/Config.in    |    4 ++
 .../x11r7/xdriver_xf86-input-keyboard/Config.in    |    5 ++
 package/x11r7/xdriver_xf86-input-mouse/Config.in   |    4 ++
 .../x11r7/xdriver_xf86-input-synaptics/Config.in   |    4 ++
 package/x11r7/xdriver_xf86-input-tslib/Config.in   |    5 ++
 package/x11r7/xdriver_xf86-input-vmmouse/Config.in |    4 ++
 package/x11r7/xdriver_xf86-input-void/Config.in    |    4 ++
 package/x11r7/xdriver_xf86-video-apm/Config.in     |    8 ++++
 package/x11r7/xdriver_xf86-video-ark/Config.in     |    6 +++
 package/x11r7/xdriver_xf86-video-ati/Config.in     |   11 +++++
 package/x11r7/xdriver_xf86-video-chips/Config.in   |    6 +++
 package/x11r7/xdriver_xf86-video-cirrus/Config.in  |    7 +++
 package/x11r7/xdriver_xf86-video-dummy/Config.in   |    7 +++
 package/x11r7/xdriver_xf86-video-fbdev/Config.in   |    6 +++
 package/x11r7/xdriver_xf86-video-geode/Config.in   |    6 +++
 package/x11r7/xdriver_xf86-video-glide/Config.in   |    6 +++
 package/x11r7/xdriver_xf86-video-glint/Config.in   |   12 ++++++
 package/x11r7/xdriver_xf86-video-i128/Config.in    |    7 +++
 package/x11r7/xdriver_xf86-video-i740/Config.in    |    7 +++
 package/x11r7/xdriver_xf86-video-intel/Config.in   |    8 ++++
 package/x11r7/xdriver_xf86-video-mach64/Config.in  |    7 +++
 package/x11r7/xdriver_xf86-video-mga/Config.in     |   11 +++++
 .../x11r7/xdriver_xf86-video-neomagic/Config.in    |    8 ++++
 package/x11r7/xdriver_xf86-video-newport/Config.in |    6 +++
 package/x11r7/xdriver_xf86-video-nv/Config.in      |    7 +++
 .../x11r7/xdriver_xf86-video-openchrome/Config.in  |   12 ++++++
 package/x11r7/xdriver_xf86-video-r128/Config.in    |    7 +++
 .../x11r7/xdriver_xf86-video-rendition/Config.in   |    6 +++
 package/x11r7/xdriver_xf86-video-s3/Config.in      |    7 +++
 package/x11r7/xdriver_xf86-video-s3virge/Config.in |    7 +++
 package/x11r7/xdriver_xf86-video-savage/Config.in  |   10 +++++
 .../xdriver_xf86-video-siliconmotion/Config.in     |    7 +++
 package/x11r7/xdriver_xf86-video-sis/Config.in     |   12 ++++++
 package/x11r7/xdriver_xf86-video-sisusb/Config.in  |    8 ++++
 package/x11r7/xdriver_xf86-video-suncg14/Config.in |    5 ++
 package/x11r7/xdriver_xf86-video-suncg3/Config.in  |    5 ++
 package/x11r7/xdriver_xf86-video-suncg6/Config.in  |    5 ++
 package/x11r7/xdriver_xf86-video-sunffb/Config.in  |    8 ++++
 package/x11r7/xdriver_xf86-video-sunleo/Config.in  |    5 ++
 package/x11r7/xdriver_xf86-video-suntcx/Config.in  |    5 ++
 package/x11r7/xdriver_xf86-video-tdfx/Config.in    |   10 +++++
 package/x11r7/xdriver_xf86-video-tga/Config.in     |    8 ++++
 package/x11r7/xdriver_xf86-video-trident/Config.in |    8 ++++
 package/x11r7/xdriver_xf86-video-tseng/Config.in   |    7 +++
 package/x11r7/xdriver_xf86-video-v4l/Config.in     |    4 ++
 package/x11r7/xdriver_xf86-video-vesa/Config.in    |    6 +++
 package/x11r7/xdriver_xf86-video-vmware/Config.in  |    7 +++
 package/x11r7/xdriver_xf86-video-voodoo/Config.in  |    7 +++
 package/x11r7/xdriver_xf86-video-wsfb/Config.in    |    6 +++
 package/x11r7/xdriver_xf86-video-xgi/Config.in     |    7 +++
 package/x11r7/xdriver_xf86-video-xgixp/Config.in   |    7 +++
 package/x11r7/xkeyboard-config/Config.in           |    1 +
 package/x11r7/xlib_libFS/Config.in                 |    3 +
 package/x11r7/xlib_libICE/Config.in                |    2 +
 package/x11r7/xlib_libSM/Config.in                 |    3 +
 package/x11r7/xlib_libX11/Config.in                |   12 ++++++
 package/x11r7/xlib_libXScrnSaver/Config.in         |    3 +
 package/x11r7/xlib_libXau/Config.in                |    2 +
 package/x11r7/xlib_libXaw/Config.in                |    6 +++
 package/x11r7/xlib_libXcomposite/Config.in         |    5 ++
 package/x11r7/xlib_libXcursor/Config.in            |    4 ++
 package/x11r7/xlib_libXdamage/Config.in            |    4 ++
 package/x11r7/xlib_libXdmcp/Config.in              |    2 +
 package/x11r7/xlib_libXext/Config.in               |    3 +
 package/x11r7/xlib_libXfixes/Config.in             |    4 ++
 package/x11r7/xlib_libXfont/Config.in              |    7 +++
 package/x11r7/xlib_libXfontcache/Config.in         |    3 +
 package/x11r7/xlib_libXft/Config.in                |    6 +++
 package/x11r7/xlib_libXi/Config.in                 |    4 ++
 package/x11r7/xlib_libXinerama/Config.in           |    3 +
 package/x11r7/xlib_libXmu/Config.in                |    4 ++
 package/x11r7/xlib_libXp/Config.in                 |    4 ++
 package/x11r7/xlib_libXpm/Config.in                |    4 ++
 package/x11r7/xlib_libXprintAppUtil/Config.in      |    3 +
 package/x11r7/xlib_libXprintUtil/Config.in         |    4 ++
 package/x11r7/xlib_libXrandr/Config.in             |    6 +++
 package/x11r7/xlib_libXrender/Config.in            |    3 +
 package/x11r7/xlib_libXres/Config.in               |    4 ++
 package/x11r7/xlib_libXt/Config.in                 |    6 +++
 package/x11r7/xlib_libXtst/Config.in               |    4 ++
 package/x11r7/xlib_libXv/Config.in                 |    4 ++
 package/x11r7/xlib_libXvMC/Config.in               |    5 ++
 package/x11r7/xlib_libXxf86dga/Config.in           |    4 ++
 package/x11r7/xlib_libXxf86vm/Config.in            |    4 ++
 package/x11r7/xlib_libdmx/Config.in                |    3 +
 package/x11r7/xlib_libfontenc/Config.in            |    1 +
 package/x11r7/xlib_liboldX/Config.in               |    1 +
 package/x11r7/xlib_libxkbfile/Config.in            |    2 +
 package/x11r7/xlib_libxkbui/Config.in              |    3 +
 package/x11r7/xserver_xorg-server/Config.in        |   42 ++++++++++++++++++++
 package/x11vnc/Config.in                           |    1 +
 package/xavante/Config.in                          |    6 +++
 package/xfsprogs/Config.in                         |    2 +
 package/xl2tp/Config.in                            |    1 +
 package/xmlstarlet/Config.in                       |    2 +
 package/xstroke/Config.in                          |    3 +
 package/xterm/Config.in                            |    2 +
 package/xvkbd/Config.in                            |    2 +
 package/zeromq/Config.in                           |    2 +
 406 files changed, 1202 insertions(+), 0 deletions(-)
package/acl/Config.in +1 -0
index 6fbca7a..f73d11c 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_ACL_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_ATTR_AVAILABLE
 
 config BR2_PACKAGE_ACL
 	bool "acl"
package/alsa-lib/Config.in +1 -0
index ec8a558..29b4638 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_ALSA_LIB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ALSA_LIB_PCM_AVAILABLE
 
 config BR2_PACKAGE_ALSA_LIB
 	bool "alsa-lib"
package/alsamixergui/Config.in +3 -0
index 6095653..426a186 100644
@@ -3,6 +3,9 @@ config BR2_PACKAGE_ALSAMIXERGUI_AVAILABLE
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
 	depends on BR2_PACKAGE_ALSA_LIB_AVAILABLE
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_ALSA_LIB_MIXER_AVAILABLE
+	depends on BR2_PACKAGE_FLTK_AVAILABLE
+	depends on BR2_PACKAGE_ALSA_LIB_PCM_AVAILABLE
 
 config BR2_PACKAGE_ALSAMIXERGUI
 	select BR2_PACKAGE_XORG7
package/apr-util/Config.in +5 -0
index 62d267c..ba57a71 100644
@@ -1,6 +1,11 @@
 config BR2_PACKAGE_APR_UTIL_AVAILABLE
 	def_bool y
 	depends on !BR2_PREFER_STATIC_LIB
+	depends on BR2_PACKAGE_NEON_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_NEON_AVAILABLE
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_APR_AVAILABLE
+	depends on BR2_PACKAGE_SQLITE_AVAILABLE
 
 config BR2_PACKAGE_APR_UTIL
 	bool "apr-util"
package/argus/Config.in +1 -0
index a8853e0..c266e41 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_ARGUS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBPCAP_AVAILABLE
 
 config BR2_PACKAGE_ARGUS
 	bool "argus"
package/atk/Config.in +1 -0
index 4534761..72f97af 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_ATK_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_ATK
 	bool "atk"
package/autoconf/Config.in +1 -0
index 5f0a4b1..a2b5c06 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_AUTOCONF_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_MICROPERL_AVAILABLE
 
 config BR2_PACKAGE_AUTOCONF
 	bool "autoconf"
package/automake/Config.in +2 -0
index e5f52a2..f485cd8 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_AUTOMAKE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_AUTOCONF_AVAILABLE
+	depends on BR2_PACKAGE_MICROPERL_AVAILABLE
 
 config BR2_PACKAGE_AUTOMAKE
 	bool "automake"
package/bash/Config.in +1 -0
index 043fb4e..09b8ba7 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_BASH_AVAILABLE
 	def_bool y
 	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_BASH
 	bool "bash"
package/bison/Config.in +1 -0
index a0a4a7f..c89e458 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_BISON_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
 	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_M4_AVAILABLE
 
 config BR2_PACKAGE_BISON
 	bool "bison"
package/blackbox/Config.in +1 -0
index 1e14aa4..a1cad19 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_BLACKBOX_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_BLACKBOX
 	bool "blackbox"
package/bluez_utils/Config.in +2 -0
index 4079501..a9f0690 100644
@@ -2,6 +2,8 @@ config BR2_PACKAGE_BLUEZ_UTILS_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+	depends on BR2_PACKAGE_DBUS_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_BLUEZ_UTILS
 	bool "bluez-utils"
package/boost/Config.in +2 -0
index 7bfdcbb..1c4dd8f 100644
@@ -4,6 +4,8 @@ comment "boost requires a toolchain with C++ support enabled"
 config BR2_PACKAGE_BOOST_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_BZIP2_AVAILABLE
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_BOOST
 	bool "boost"
package/bsdiff/Config.in +1 -0
index e5d1424..b279ddb 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_BSDIFF_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_BZIP2_AVAILABLE
 
 config BR2_PACKAGE_BSDIFF
 	bool "bsdiff"
package/cairo/Config.in +2 -0
index 2c61751..69f9736 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_CAIRO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_FONTCONFIG_AVAILABLE
+	depends on BR2_PACKAGE_PIXMAN_AVAILABLE
 
 config BR2_PACKAGE_CAIRO
 	bool "cairo"
package/cdrkit/Config.in +2 -0
index bcd85ef..b03e63a 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_CDRKIT_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBCAP_AVAILABLE
+	depends on BR2_PACKAGE_BZIP2_AVAILABLE
 
 config BR2_PACKAGE_CDRKIT
 	# Needed for libbz
package/cgilua/Config.in +1 -0
index 14514ba..fdbc15c 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_CGILUA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LUAFILESYSTEM_AVAILABLE
 
 config BR2_PACKAGE_CGILUA
 	bool "cgilua"
package/connman/Config.in +4 -0
index 10d16e8..f4f765d 100644
@@ -4,6 +4,10 @@ config BR2_PACKAGE_CONNMAN_AVAILABLE
 	depends on BR2_USE_WCHAR # libglib2 and gnutls
 	depends on BR2_INET_IPV6
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+	depends on BR2_PACKAGE_IPTABLES_AVAILABLE
+	depends on BR2_PACKAGE_DBUS_AVAILABLE
+	depends on BR2_PACKAGE_GNUTLS_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_CONNMAN
 	bool "connman"
package/conntrack-tools/Config.in +2 -0
index 2c31226..014ffbc 100644
@@ -2,6 +2,8 @@ config BR2_PACKAGE_CONNTRACK_TOOLS_AVAILABLE
 	def_bool y
 	depends on BR2_INET_IPV6
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBNETFILTER_CONNTRACK_AVAILABLE
+	depends on BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT_AVAILABLE
 
 config BR2_PACKAGE_CONNTRACK_TOOLS
 	bool "conntrack-tools"
package/copas/Config.in +2 -0
index c56d01b..0149993 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_COPAS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LUASOCKET_AVAILABLE
+	depends on BR2_PACKAGE_COXPCALL_AVAILABLE
 
 config BR2_PACKAGE_COPAS
 	bool "copas"
package/cvs/Config.in +1 -0
index c815b56..359b5c8 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_CVS_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_CVS
 	bool "cvs"
package/dbus-glib/Config.in +1 -0
index a77015e..1c7ab7a 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_DBUS_GLIB_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_DBUS_AVAILABLE
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_DBUS_GLIB
 	bool "dbus-glib"
package/dbus-python/Config.in +1 -0
index f540f63..71b9e7e 100644
@@ -3,6 +3,7 @@ config BR2_PACKAGE_DBUS_PYTHON_AVAILABLE
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_PACKAGE_DBUS_AVAILABLE
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_DBUS_GLIB_AVAILABLE
 
 config BR2_PACKAGE_DBUS_PYTHON
 	bool "dbus-python"
package/dhcpdump/Config.in +1 -0
index 19736ac..05d4285 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_DHCPDUMP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBPCAP_AVAILABLE
 
 config BR2_PACKAGE_DHCPDUMP
 	bool "dhcpdump"
package/dialog/Config.in +1 -0
index f26001d..73ebfa4 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_DIALOG_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_DIALOG
 	bool "dialog"
package/directfb/Config.in +2 -0
index a1e3a42..b3cfaf5 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_DIRECTFB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
 
 config BR2_PACKAGE_DIRECTFB
 	bool "directfb"
package/dmraid/Config.in +1 -0
index 0ab7367..8d190e7 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_DMRAID_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LVM2_AVAILABLE
 
 config BR2_PACKAGE_DMRAID
 	bool "dmraid"
package/docker/Config.in +1 -0
index 40846df..df76033 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_DOCKER_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_DOCKER
 	bool "docker"
package/dsp-tools/Config.in +1 -0
index 91b0fac..e95240c 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_DSP_TOOLS_AVAILABLE
 	def_bool y
 	depends on BR2_cortex_a8
+	depends on BR2_PACKAGE_TIDSP_BINARIES_AVAILABLE
 
 config BR2_PACKAGE_DSP_TOOLS
 	bool "dsp-tools"
package/dstat/Config.in +1 -0
index 74ee200..7fc4744 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_DSTAT_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # python
+	depends on BR2_PACKAGE_PYTHON_AVAILABLE
 
 config BR2_PACKAGE_DSTAT
 	bool "dstat"
package/e2fsprogs/Config.in +3 -0
index bfe8559..095205a 100644
@@ -3,6 +3,9 @@ config BR2_PACKAGE_E2FSPROGS_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR # util-linux
+	depends on BR2_PACKAGE_UTIL_LINUX_LIBUUID_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_LIBBLKID_AVAILABLE
 
 config BR2_PACKAGE_E2FSPROGS
 	bool "e2fsprogs"
package/efl/expedite/Config.in +3 -0
index 2f5fdd3..2ed2394 100644
@@ -1,6 +1,9 @@
 config BR2_PACKAGE_EXPEDITE_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_LIBEVAS_AVAILABLE
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
+	depends on BR2_PACKAGE_LIBEET_AVAILABLE
 
 config BR2_PACKAGE_EXPEDITE
 	bool "expedite"
package/efl/libecore/Config.in +1 -0
index 67ef94a..dfa52fd 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBECORE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
 
 config BR2_PACKAGE_LIBECORE
 	bool "libecore"
package/efl/libedbus/Config.in +3 -0
index 6019dc1..2ac1880 100644
@@ -1,6 +1,9 @@
 config BR2_PACKAGE_LIBEDBUS_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+	depends on BR2_PACKAGE_DBUS_AVAILABLE
+	depends on BR2_PACKAGE_LIBECORE_AVAILABLE
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
 
 config BR2_PACKAGE_LIBEDBUS
 	bool "libedbus"
package/efl/libedje/Config.in +7 -0
index 7a377fe..9a37f4a 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_LIBEDJE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBEMBRYO_AVAILABLE
+	depends on BR2_PACKAGE_LIBEVAS_AVAILABLE
+	depends on BR2_PACKAGE_LIBECORE_AVAILABLE
+	depends on BR2_PACKAGE_LUA_AVAILABLE
+	depends on BR2_PACKAGE_LIBECORE_EVAS_AVAILABLE
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
+	depends on BR2_PACKAGE_LIBEET_AVAILABLE
 
 config BR2_PACKAGE_LIBEDJE
 	bool "libedje"
package/efl/libeet/Config.in +3 -0
index f9d5a56..1166a68 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_LIBEET_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_JPEG_AVAILABLE
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
 
 config BR2_PACKAGE_LIBEET
 	bool "libeet"
package/efl/libefreet/Config.in +3 -0
index ec7a033..53d55d0 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_LIBEFREET_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBECORE_AVAILABLE
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
+	depends on BR2_PACKAGE_LIBEET_AVAILABLE
 
 config BR2_PACKAGE_LIBEFREET
 	bool "libefreet"
package/efl/libelementary/Config.in +4 -0
index 0b4cb3d..04c2997 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_LIBELEMENTARY_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBEVAS_AVAILABLE
+	depends on BR2_PACKAGE_LIBECORE_AVAILABLE
+	depends on BR2_PACKAGE_LIBEDJE_AVAILABLE
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
 
 config BR2_PACKAGE_LIBELEMENTARY
 	bool "libelementary"
package/efl/libembryo/Config.in +1 -0
index efd48c0..8287645 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBEMBRYO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
 
 config BR2_PACKAGE_LIBEMBRYO
 	bool "libembryo"
package/efl/libethumb/Config.in +5 -0
index 61629b0..e6eab4a 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_LIBETHUMB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBEVAS_AVAILABLE
+	depends on BR2_PACKAGE_LIBECORE_AVAILABLE
+	depends on BR2_PACKAGE_LIBEDJE_AVAILABLE
+	depends on BR2_PACKAGE_LIBECORE_EVAS_AVAILABLE
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
 
 config BR2_PACKAGE_LIBETHUMB
 	bool "libethumb"
package/efl/libevas/Config.in +3 -0
index d25a03e..b95cf6c 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_LIBEVAS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
+	depends on BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH_AVAILABLE
+	depends on BR2_PACKAGE_LIBEINA_AVAILABLE
 
 config BR2_PACKAGE_LIBEVAS
 	bool "libevas"
package/enchant/Config.in +1 -0
index e7e86c5..528790c 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_ENCHANT_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_ENCHANT
 	bool "enchant"
package/fbgrab/Config.in +1 -0
index 5a64aa4..342ad2f 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_FBGRAB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBPNG_AVAILABLE
 
 config BR2_PACKAGE_FBGRAB
 	bool "fbgrab"
package/fbterm/Config.in +2 -0
index 87926ef..c94fb2d 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_FBTERM_AVAILABLE
 	def_bool y
 	depends on (BR2_INSTALL_LIBSTDCPP && BR2_ENABLE_LOCALE && BR2_USE_WCHAR)
+	depends on BR2_PACKAGE_FONTCONFIG_AVAILABLE
+	depends on BR2_PACKAGE_LIBERATION_AVAILABLE
 
 config BR2_PACKAGE_FBTERM
 	bool "fbterm"
package/feh/Config.in +7 -0
index a54b6e9..e1e5ba7 100644
@@ -1,6 +1,13 @@
 config BR2_PACKAGE_FEH_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
+	depends on BR2_PACKAGE_IMLIB2_X_AVAILABLE
+	depends on BR2_PACKAGE_IMLIB2_JPEG_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXINERAMA_AVAILABLE
+	depends on BR2_PACKAGE_GIBLIB_AVAILABLE
+	depends on BR2_PACKAGE_IMLIB2_PNG_AVAILABLE
+	depends on BR2_PACKAGE_LIBCURL_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_FEH
 	bool "feh"
package/file/Config.in +1 -0
index ed60857..34c3229 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_FILE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_FILE
 	bool "file"
package/flashrom/Config.in +2 -0
index 4a64e55..a9b8506 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_FLASHROM_AVAILABLE
 	def_bool y
 	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_PACKAGE_DMIDECODE_AVAILABLE
+	depends on BR2_PACKAGE_PCIUTILS_AVAILABLE
 
 config BR2_PACKAGE_FLASHROM
 	bool "flashrom"
package/flot/Config.in +1 -0
index d63bcb5..00222c0 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_FLOT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_JQUERY_AVAILABLE
 
 config BR2_PACKAGE_FLOT
 	bool "flot"
package/fltk/Config.in +1 -0
index 3738446..aa54294 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_FLTK_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_FLTK
 	bool "fltk"
package/fluxbox/Config.in +1 -0
index c95d3d4..0b46356 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_FLUXBOX_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_FLUXBOX
 	bool "fluxbox"
package/fontconfig/Config.in +2 -0
index 670cfd4..15a0e34 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_FONTCONFIG_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
+	depends on BR2_PACKAGE_EXPAT_AVAILABLE
 
 config BR2_PACKAGE_FONTCONFIG
 	bool "fontconfig"
package/freerdp/Config.in +6 -0
index 112c5b0..f3ca91b 100644
@@ -1,6 +1,12 @@
 config BR2_PACKAGE_FREERDP_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXCURSOR_AVAILABLE
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_FREERDP
 	bool "freerdp"
package/games/prboom/Config.in +3 -0
index aa51225..74aa0ab 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_PRBOOM_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_SDL_MIXER_AVAILABLE
+	depends on BR2_PACKAGE_SDL_AVAILABLE
+	depends on BR2_PACKAGE_SDL_NET_AVAILABLE
 
 config BR2_PACKAGE_PRBOOM
 	bool "PrBoom"
package/gamin/Config.in +1 -0
index d835789..800788c 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GAMIN_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_GAMIN
 	bool "gamin"
package/gdk-pixbuf/Config.in +1 -0
index 7bb6e13..12f9b68 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GDK_PIXBUF_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_GDK_PIXBUF
 	bool "gdk-pixbuf"
package/giblib/Config.in +2 -0
index cbbd777..c42cf77 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_GIBLIB_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
+	depends on BR2_PACKAGE_IMLIB2_X_AVAILABLE
+	depends on BR2_PACKAGE_IMLIB2_AVAILABLE
 
 config BR2_PACKAGE_GIBLIB
 	bool "giblib"
package/glib-networking/Config.in +1 -0
index 6dc6da2..ff51947 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GLIB_NETWORKING_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_GLIB_NETWORKING
 	bool "glib-networking"
package/gmpc/Config.in +8 -0
index 6449ff9..6459f3c 100644
@@ -3,6 +3,14 @@ config BR2_PACKAGE_GMPC_AVAILABLE
 	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
+	depends on BR2_PACKAGE_LIBSOUP_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_LIBMPD_AVAILABLE
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_SQLITE_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBSM_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBICE_AVAILABLE
 
 config BR2_PACKAGE_GMPC
 	bool "gmpc"
package/gnutls/Config.in +1 -0
index a9271c4..638836c 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GNUTLS_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LIBGCRYPT_AVAILABLE
 
 config BR2_PACKAGE_GNUTLS
 	bool "gnutls"
package/gob2/Config.in +4 -0
index a39e04f..9376dca 100644
@@ -2,6 +2,10 @@ config BR2_PACKAGE_GOB2_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_FLEX_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_FLEX_LIBFL_AVAILABLE
+	depends on BR2_PACKAGE_BISON_AVAILABLE
 
 config BR2_PACKAGE_GOB2
 	bool "gob2"
package/gvfs/Config.in +3 -0
index e453df4..f8246c7 100644
@@ -2,6 +2,9 @@ config BR2_PACKAGE_GVFS_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_DBUS_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_SHARED_MIME_INFO_AVAILABLE
 
 config BR2_PACKAGE_GVFS
 	bool "gvfs"
package/hostapd/Config.in +1 -0
index 7434548..ef79cb3 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_HOSTAPD_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
+	depends on BR2_PACKAGE_LIBNL_AVAILABLE
 
 config BR2_PACKAGE_HOSTAPD
 	bool "hostapd"
package/htop/Config.in +1 -0
index b644d14..a114386 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_HTOP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_HTOP
 	bool "htop"
package/ifplugd/Config.in +1 -0
index cff64de..a4bbd33 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_IFPLUGD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBDAEMON_AVAILABLE
 
 config BR2_PACKAGE_IFPLUGD
 	bool "ifplugd"
package/imlib2/Config.in +1 -0
index 069b8a6..cdeba8b 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_IMLIB2_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
 
 config BR2_PACKAGE_IMLIB2
 	bool "imlib2"
package/ipsec-tools/Config.in +3 -0
index b90ec23..6fd4db8 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_IPSEC_TOOLS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_FLEX_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
+	depends on BR2_PACKAGE_FLEX_LIBFL_AVAILABLE
 
 config BR2_PACKAGE_IPSEC_TOOLS
 	bool "ipsec-tools"
package/ipset/Config.in +1 -0
index e96c8fe..ddb63c8 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_IPSET_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBMNL_AVAILABLE
 
 config BR2_PACKAGE_IPSET
 	bool "ipset"
package/iw/Config.in +1 -0
index 4abca8d..d9df279 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_IW_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
+	depends on BR2_PACKAGE_LIBNL_AVAILABLE
 
 config BR2_PACKAGE_IW
 	bool "iw"
package/jquery-sparkline/Config.in +1 -0
index 4c9d8c3..dccd7ce 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_JQUERY_SPARKLINE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_JQUERY_AVAILABLE
 
 config BR2_PACKAGE_JQUERY_SPARKLINE
 	bool "jQuery-Sparkline"
package/jquery-validation/Config.in +1 -0
index a8a1603..36c3b8e 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_JQUERY_VALIDATION_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_JQUERY_AVAILABLE
 
 config BR2_PACKAGE_JQUERY_VALIDATION
 	bool "jQuery-Validation"
package/kismet/Config.in +3 -0
index e868fff..c3dad3d 100644
@@ -4,6 +4,9 @@ comment "Kismet requires a toolchain with C++ support enabled"
 config BR2_PACKAGE_KISMET_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_NCURSES_TARGET_PANEL_AVAILABLE
+	depends on BR2_PACKAGE_LIBPCAP_AVAILABLE
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_KISMET
 	bool "kismet"
package/latencytop/Config.in +2 -0
index d4c0b2a..f742b1b 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_LATENCYTOP_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_LATENCYTOP
 	bool "latencytop"
package/lcdproc/Config.in +1 -0
index 9231203..7ccb007 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LCDPROC_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_LCDPROC
        bool "lcdproc"
package/less/Config.in +1 -0
index d71f9f1..c0c8389 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LESS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_LESS
 	bool "less"
package/libcue/Config.in +2 -0
index 0645578..dcaba57 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_LIBCUE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_FLEX_AVAILABLE
+	depends on BR2_PACKAGE_FLEX_LIBFL_AVAILABLE
 
 config BR2_PACKAGE_LIBCUE
 	bool "libcue"
package/libdrm/Config.in +6 -0
index da7d729..0ed6c03 100644
@@ -2,6 +2,12 @@ config BR2_PACKAGE_LIBDRM_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXXF86VM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_DRI2PROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
+	depends on BR2_PACKAGE_PTHREAD_STUBS_AVAILABLE
 
 config BR2_PACKAGE_LIBDRM
 	bool "libdrm"
package/libdvdnav/Config.in +1 -0
index 0425976..07e71af 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBDVDNAV_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE # libdvdread
+	depends on BR2_PACKAGE_LIBDVDREAD_AVAILABLE
 
 config BR2_PACKAGE_LIBDVDNAV
 	bool "libdvdnav"
package/libeXosip2/Config.in +1 -0
index 3a71fa7..35b16a5 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBEXOSIP2_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBOSIP2_AVAILABLE
 
 config BR2_PACKAGE_LIBEXOSIP2
 	bool "libeXosip2"
package/libfreefare/Config.in +2 -0
index 1dfea84..09b0bdb 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_LIBFREEFARE_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBNFC_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
 
 config BR2_PACKAGE_LIBFREEFARE
 	bool "libfreefare"
package/libftdi/Config.in +2 -0
index f37ccc7..008d827 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_LIBFTDI_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBUSB_COMPAT_AVAILABLE
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 
 config BR2_PACKAGE_LIBFTDI
 	bool "libftdi"
package/libgail/Config.in +1 -0
index ad0664d..9c9537a 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBGAIL_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
+	depends on BR2_PACKAGE_PANGO_AVAILABLE
 
 config BR2_PACKAGE_LIBGAIL
 	bool "libgail"
package/libgcrypt/Config.in +1 -0
index ee4749a..d10f921 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBGCRYPT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBGPG_ERROR_AVAILABLE
 
 config BR2_PACKAGE_LIBGCRYPT
 	bool "libgcrypt"
package/libgeotiff/Config.in +1 -0
index 4fd59ce..f3a680f 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBGEOTIFF_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_TIFF_AVAILABLE
 
 config BR2_PACKAGE_LIBGEOTIFF
        bool "libgeotiff"
package/libglade/Config.in +3 -0
index 80b242a..497044f 100644
@@ -2,6 +2,9 @@ config BR2_PACKAGE_LIBGLADE_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_ATK_AVAILABLE
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_LIBGLADE
 	bool "libglade"
package/libglib2/Config.in +2 -0
index 3a47038..4230fa5 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_LIBGLIB2_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # gettext
+	depends on BR2_PACKAGE_LIBFFI_AVAILABLE
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_LIBGLIB2
 	bool "libglib2"
package/libgtk2/Config.in +8 -0
index c0ecf49..c254df4 100644
@@ -3,6 +3,14 @@ config BR2_PACKAGE_LIBGTK2_AVAILABLE
 	depends on BR2_PACKAGE_XORG7||BR2_PACKAGE_DIRECTFB
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_INSTALL_LIBSTDCPP # pango
+	depends on BR2_PACKAGE_CAIRO_PDF_AVAILABLE
+	depends on BR2_PACKAGE_PANGO_AVAILABLE
+	depends on BR2_PACKAGE_CAIRO_PS_AVAILABLE
+	depends on BR2_PACKAGE_ATK_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_GDK_PIXBUF_AVAILABLE
+	depends on BR2_PACKAGE_CAIRO_AVAILABLE
+	depends on BR2_PACKAGE_CAIRO_SVG_AVAILABLE
 
 config BR2_PACKAGE_LIBGTK2
 	bool "libgtk2"
package/libhid/Config.in +2 -0
index ec3abb8..8252c3f 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_LIBHID_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBUSB_COMPAT_AVAILABLE
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 
 config BR2_PACKAGE_LIBHID
 	bool "libhid"
package/libid3tag/Config.in +1 -0
index 8e13b54..a6cfd5a 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBID3TAG_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_LIBID3TAG
 	bool "libid3tag"
package/libiqrf/Config.in +1 -0
index 9007752..a72c1c0 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBIQRF_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 
 config BR2_PACKAGE_LIBIQRF
 	bool "libiqrf"
package/libmms/Config.in +1 -0
index 80fe2e4..24b86ad 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBMMS_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_LIBMMS
 	bool "libmms"
package/libmpd/Config.in +1 -0
index 65eb21b..90fd097 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBMPD_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_LIBMPD
 	bool "libmpd"
package/libnetfilter_conntrack/Config.in +1 -0
index cb13940..0ddab22 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBNETFILTER_CONNTRACK_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBNFNETLINK_AVAILABLE
 
 config BR2_PACKAGE_LIBNETFILTER_CONNTRACK
 	bool "libnetfilter_conntrack"
package/libnetfilter_cttimeout/Config.in +1 -0
index 9781203..e37c565 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBMNL_AVAILABLE
 
 config BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT
 	bool "libnetfilter_cttimeout"
package/libnfc-llcp/Config.in +1 -0
index 67e88ce..2f0d926 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBNFC_LLCP_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBNFC_AVAILABLE
 
 config BR2_PACKAGE_LIBNFC_LLCP
 	bool "libnfc-llcp"
package/libnfc/Config.in +2 -0
index 065dabc..6046517 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_LIBNFC_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBUSB_COMPAT_AVAILABLE
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 
 config BR2_PACKAGE_LIBNFC
 	bool "libnfc"
package/libnss/Config.in +3 -0
index f0ece99..8dbd864 100644
@@ -1,6 +1,9 @@
 config BR2_PACKAGE_LIBNSS_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_SQLITE_AVAILABLE
+	depends on BR2_PACKAGE_LIBNSPR_AVAILABLE
 
 config BR2_PACKAGE_LIBNSS
 	bool "libnss"
package/liboauth/Config.in +1 -0
index 74e0b4d..6025843 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBOAUTH_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
 
 config BR2_PACKAGE_LIBOAUTH
 	bool "liboauth"
package/libpcap/Config.in +1 -0
index 2e8e0ae..4ad903f 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBPCAP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_LIBPCAP
 	bool "libpcap"
package/libpng/Config.in +1 -0
index b0796bb..655bcab 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBPNG_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_LIBPNG
 	bool "libpng"
package/librsvg/Config.in +5 -0
index 331b474..5fb222f 100644
@@ -2,6 +2,11 @@ config BR2_PACKAGE_LIBRSVG_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_PANGO_AVAILABLE
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_CAIRO_AVAILABLE
+	depends on BR2_PACKAGE_CAIRO_PNG_AVAILABLE
 
 config BR2_PACKAGE_LIBRSVG
 	bool "librsvg"
package/librsync/Config.in +3 -0
index 9ed2b24..2f04521 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_LIBRSYNC_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_BZIP2_AVAILABLE
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_POPT_AVAILABLE
 
 config BR2_PACKAGE_LIBRSYNC
 	bool "librsync"
package/libsexy/Config.in +1 -0
index a4d202e..de39d68 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBSEXY_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
 
 config BR2_PACKAGE_LIBSEXY
 	bool "libsexy"
package/libsoup/Config.in +2 -0
index 190f160..3b3600d 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_LIBSOUP_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2 and gnutls
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_LIBSOUP
 	bool "libsoup"
package/libsvgtiny/Config.in +1 -0
index aa28766..903c2d3 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBSVGTINY_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
 
 config BR2_PACKAGE_LIBSVGTINY
 	bool "libsvgtiny"
package/libtheora/Config.in +2 -0
index c17c96c..2139162 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_LIBTHEORA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBVORBIS_AVAILABLE
+	depends on BR2_PACKAGE_LIBOGG_AVAILABLE
 
 config BR2_PACKAGE_LIBTHEORA
 	bool "libtheora"
package/libtorrent/Config.in +1 -0
index f26d6cf..e4d877f 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBTORRENT_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_LIBSIGC_AVAILABLE
 
 config BR2_PACKAGE_LIBTORRENT
 	bool "libtorrent"
package/libvorbis/Config.in +1 -0
index dca00da..edd4829 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBVORBIS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBOGG_AVAILABLE
 
 config BR2_PACKAGE_LIBVORBIS
 	bool "libvorbis"
package/libxml-parser-perl/Config.in +1 -0
index a3028b3..3ae04d0 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBXML_PARSER_PERL_AVAILABLE
 	def_bool y
        depends on BR2_HOST_ONLY
+	depends on BR2_PACKAGE_EXPAT_AVAILABLE
 
 config BR2_PACKAGE_LIBXML_PARSER_PERL
        bool "libxml-parser-perl"
package/libxslt/Config.in +1 -0
index 0e3d4b2..ad39f03 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBXSLT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
 
 config BR2_PACKAGE_LIBXSLT
 	bool "libxslt"
package/linphone/Config.in +4 -0
index f641009..6f34190 100644
@@ -1,6 +1,10 @@
 config BR2_PACKAGE_LINPHONE_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP # mediastreamer
+	depends on BR2_PACKAGE_ORTP_AVAILABLE
+	depends on BR2_PACKAGE_MEDIASTREAMER_AVAILABLE
+	depends on BR2_PACKAGE_SPEEX_AVAILABLE
+	depends on BR2_PACKAGE_LIBEXOSIP2_AVAILABLE
 
 config BR2_PACKAGE_LINPHONE
 	bool "linphone"
package/linux-pam/Config.in +2 -0
index e75da43..dc034c8 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_LINUX_PAM_AVAILABLE
 	def_bool y
 	depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR)
+	depends on BR2_PACKAGE_FLEX_AVAILABLE
+	depends on BR2_PACKAGE_FLEX_LIBFL_AVAILABLE
 
 config BR2_PACKAGE_LINUX_PAM
 	bool "linux-pam"
package/lockfile-progs/Config.in +1 -0
index ce10a94..17605da 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LOCKFILE_PROGS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBLOCKFILE_AVAILABLE
 
 config BR2_PACKAGE_LOCKFILE_PROGS
 	bool "lockfile programs"
package/logrotate/Config.in +1 -0
index 0130b0c..fee0c51 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LOGROTATE_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_POPT_AVAILABLE
 
 config BR2_PACKAGE_LOGROTATE
 	bool "logrotate"
package/ltrace/Config.in +1 -0
index c3f9714..b528437 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LTRACE_AVAILABLE
 	def_bool y
 	depends on !(BR2_avr32 || BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64 || BR2_xtensa)
+	depends on BR2_PACKAGE_LIBELF_AVAILABLE
 
 config BR2_PACKAGE_LTRACE
 	bool "ltrace"
package/lttng-babeltrace/Config.in +3 -0
index 23ef11f..0958b7f 100644
@@ -3,6 +3,9 @@ config BR2_PACKAGE_LTTNG_BABELTRACE_AVAILABLE
 	depends on BR2_PACKAGE_LTTNG_TOOLS_AVAILABLE
 	depends on BR2_USE_WCHAR
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_UTIL_LINUX_LIBUUID_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_LTTNG_BABELTRACE
 	bool "lttng-babeltrace"
package/lttng-libust/Config.in +3 -0
index f22c75e..398ae70 100644
@@ -3,6 +3,9 @@ config BR2_PACKAGE_LTTNG_LIBUST_AVAILABLE
 	depends on BR2_USE_WCHAR
 	depends on BR2_LARGEFILE
 	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+	depends on BR2_PACKAGE_UTIL_LINUX_LIBUUID_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
+	depends on BR2_PACKAGE_LIBURCU_AVAILABLE
 
 config BR2_PACKAGE_LTTNG_LIBUST
 	bool "lttng-libust"
package/lttng-tools/Config.in +2 -0
index 3bd95fc..5362a18 100644
@@ -2,6 +2,8 @@ config BR2_PACKAGE_LTTNG_TOOLS_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_LTTNG_MODULES_AVAILABLE
 	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+	depends on BR2_PACKAGE_LIBURCU_AVAILABLE
+	depends on BR2_PACKAGE_POPT_AVAILABLE
 
 config BR2_PACKAGE_LTTNG_TOOLS
 	bool "lttng-tools"
package/luaexpat/Config.in +1 -0
index 4e893d3..383b1a0 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LUAEXPAT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_EXPAT_AVAILABLE
 
 config BR2_PACKAGE_LUAEXPAT
 	bool "luaexpat"
package/lzop/Config.in +1 -0
index 43136d5..f903434 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LZOP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LZO_AVAILABLE
 
 config BR2_PACKAGE_LZOP
 	bool "lzop"
package/matchbox/Config.in +5 -0
index d393e52..4a0af87 100644
@@ -1,6 +1,11 @@
 config BR2_PACKAGE_MATCHBOX_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	depends on BR2_PACKAGE_FONTCONFIG_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXCURSOR_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXDAMAGE_AVAILABLE
+	depends on BR2_PACKAGE_EXPAT_AVAILABLE
 
 config BR2_PACKAGE_MATCHBOX
 	bool "MatchBox Window Manager"
package/mediastreamer/Config.in +1 -0
index c20e056..55eff6d 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_MEDIASTREAMER_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP # until fixed
+	depends on BR2_PACKAGE_ORTP_AVAILABLE
 
 config BR2_PACKAGE_MEDIASTREAMER
 	bool "mediastreamer"
package/midori/Config.in +2 -0
index f350314..ae35bd0 100644
@@ -3,6 +3,8 @@ config BR2_PACKAGE_MIDORI_AVAILABLE
 	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
 	depends on BR2_INSTALL_LIBSTDCPP # webkit
 	depends on BR2_USE_WCHAR	 # webkit
+	depends on BR2_PACKAGE_LIBSEXY_AVAILABLE
+	depends on BR2_PACKAGE_WEBKIT_AVAILABLE
 
 config BR2_PACKAGE_MIDORI
 	bool "midori"
package/minicom/Config.in +1 -0
index 76c1391..63d93bb 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_MINICOM_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_MINICOM
 	bool "minicom"
package/mpc/Config.in +2 -0
index 8ec89e6..6514cb3 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_MPC_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_GMP_AVAILABLE
+	depends on BR2_PACKAGE_MPFR_AVAILABLE
 
 config BR2_PACKAGE_MPC
 	bool "mpc"
package/mpfr/Config.in +1 -0
index 1df1ffc..11f4101 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_MPFR_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_GMP_AVAILABLE
 
 config BR2_PACKAGE_MPFR
 	bool "mpfr"
package/mtdev2tuio/Config.in +2 -0
index b8ccf08..3e1c24d 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_MTDEV2TUIO_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # liblo
+	depends on BR2_PACKAGE_MTDEV_AVAILABLE
+	depends on BR2_PACKAGE_LIBLO_AVAILABLE
 
 config BR2_PACKAGE_MTDEV2TUIO
 	bool "mtdev2tuio"
package/multimedia/alsa-utils/Config.in +1 -0
index fd21957..47b5cd7 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_ALSA_UTILS_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_ALSA_LIB_AVAILABLE
 
 config BR2_PACKAGE_ALSA_UTILS
 	bool "alsa-utils"
package/multimedia/aumix/Config.in +1 -0
index 7987915..796c186 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_AUMIX_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_AUMIX
 	bool "aumix"
package/multimedia/gst-dsp/Config.in +1 -0
index 66c542d..aeda66f 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GST_DSP_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_GSTREAMER && BR2_cortex_a8
+	depends on BR2_PACKAGE_TIDSP_BINARIES_AVAILABLE
 
 config BR2_PACKAGE_GST_DSP
 	bool "gst-dsp"
package/multimedia/gst-ffmpeg/Config.in +5 -0
index 2ed797e..bc1b247 100644
@@ -3,6 +3,11 @@ config BR2_PACKAGE_GST_FFMPEG_AVAILABLE
 	depends on BR2_PACKAGE_GSTREAMER_AVAILABLE
 	depends on BR2_LARGEFILE
 	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_FFMPEG_POSTPROC_AVAILABLE
+	depends on BR2_PACKAGE_FFMPEG_GPL_AVAILABLE
+	depends on BR2_PACKAGE_FFMPEG_AVAILABLE
+	depends on BR2_PACKAGE_FFMPEG_SWSCALE_AVAILABLE
+	depends on BR2_PACKAGE_GST_PLUGINS_BASE_AVAILABLE
 
 config BR2_PACKAGE_GST_FFMPEG
 	bool "gst-ffmpeg"
package/multimedia/gst-plugins-bad/Config.in +1 -0
index d5e9f1a..1fae9a4 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GST_PLUGINS_BAD_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_GSTREAMER_AVAILABLE
+	depends on BR2_PACKAGE_GST_PLUGINS_BASE_AVAILABLE
 
 menuconfig BR2_PACKAGE_GST_PLUGINS_BAD
 	bool "gst-plugins-bad"
package/multimedia/gst-plugins-good/Config.in +1 -0
index ba79da5..0b1a09f 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GST_PLUGINS_GOOD_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_GSTREAMER_AVAILABLE
+	depends on BR2_PACKAGE_GST_PLUGINS_BASE_AVAILABLE
 
 menuconfig BR2_PACKAGE_GST_PLUGINS_GOOD
 	bool "gst-plugins-good"
package/multimedia/gst-plugins-ugly/Config.in +1 -0
index f2784c9..8cb8cfb 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GST_PLUGINS_UGLY_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_GSTREAMER_AVAILABLE
+	depends on BR2_PACKAGE_GST_PLUGINS_BASE_AVAILABLE
 
 menuconfig BR2_PACKAGE_GST_PLUGINS_UGLY
 	bool "gst-plugins-ugly"
package/multimedia/gstreamer/Config.in +1 -0
index bc5507f..3a2b52a 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_GSTREAMER_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_GSTREAMER
 	bool "gstreamer"
package/multimedia/madplay/Config.in +2 -0
index 92ce1e4..1505219 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_MADPLAY_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBMAD_AVAILABLE
+	depends on BR2_PACKAGE_LIBID3TAG_AVAILABLE
 
 config BR2_PACKAGE_MADPLAY
 	bool "madplay"
package/multimedia/mpd/Config.in +1 -0
index 84de844..66464cd 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_MPD_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 menuconfig BR2_PACKAGE_MPD
 	bool "mpd"
package/multimedia/musepack/Config.in +2 -0
index 15ab2da..e8800c2 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_MUSEPACK_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBCUEFILE_AVAILABLE
+	depends on BR2_PACKAGE_LIBREPLAYGAIN_AVAILABLE
 
 config BR2_PACKAGE_MUSEPACK
 	bool "musepack"
package/multimedia/pulseaudio/Config.in +4 -0
index 21ee4ea..1114e74 100644
@@ -1,6 +1,10 @@
 config BR2_PACKAGE_PULSEAUDIO_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LIBTOOL_AVAILABLE
+	depends on BR2_PACKAGE_JSON_C_AVAILABLE
+	depends on BR2_PACKAGE_SPEEX_AVAILABLE
+	depends on BR2_PACKAGE_LIBSNDFILE_AVAILABLE
 
 config BR2_PACKAGE_PULSEAUDIO
 	bool "pulseaudio"
package/multimedia/vorbis-tools/Config.in +4 -0
index 4ad76ab..05fce95 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_VORBIS_TOOLS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBVORBIS_AVAILABLE
+	depends on BR2_PACKAGE_LIBAO_AVAILABLE
+	depends on BR2_PACKAGE_LIBCURL_AVAILABLE
+	depends on BR2_PACKAGE_LIBOGG_AVAILABLE
 
 config BR2_PACKAGE_VORBIS_TOOLS
 	bool "vorbis-tools"
package/mutt/Config.in +1 -0
index 03062f6..79596e8 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_MUTT_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_MUTT
 	bool "mutt"
package/mysql_client/Config.in +2 -0
index 23b416b..b539b5a 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_MYSQL_CLIENT_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_READLINE_AVAILABLE
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_MYSQL_CLIENT
 	bool "MySQL client"
package/nano/Config.in +1 -0
index 9db120a..d186173 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_NANO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_NANO
 	bool "nano"
package/nbd/Config.in +1 -0
index 3be526c..e2be1e7 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_NBD_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_NBD
 	bool "nbd"
package/netatalk/Config.in +4 -0
index b72e0ef..b8af80e 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_NETATALK_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBGCRYPT_AVAILABLE
+	depends on BR2_PACKAGE_LIBGPG_ERROR_AVAILABLE
+	depends on BR2_PACKAGE_BERKELEYDB_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
 
 config BR2_PACKAGE_NETATALK
 	bool "netatalk"
package/netkittelnet/Config.in +1 -0
index e5b98d4..2885c75 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_NETKITTELNET_AVAILABLE
 	def_bool y
 	depends on BR2_INET_RPC
+	depends on BR2_PACKAGE_NETKITBASE_AVAILABLE
 
 config BR2_PACKAGE_NETKITTELNET
 	bool "netkittelnet"
package/network-manager/Config.in +10 -0
index 254458e..cd970cb 100644
@@ -5,6 +5,16 @@ config BR2_PACKAGE_NETWORK_MANAGER_AVAILABLE
 	depends on BR2_LARGEFILE # acl
 	depends on BR2_USE_WCHAR # libglib2 and gnutls
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+	depends on BR2_PACKAGE_WIRELESS_TOOLS_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_LIBUUID_AVAILABLE
+	depends on BR2_PACKAGE_DBUS_AVAILABLE
+	depends on BR2_PACKAGE_UDEV_ALL_EXTRAS_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
+	depends on BR2_PACKAGE_GNUTLS_AVAILABLE
+	depends on BR2_PACKAGE_UDEV_AVAILABLE
+	depends on BR2_PACKAGE_LIBNL_AVAILABLE
+	depends on BR2_PACKAGE_WIRELESS_TOOLS_LIB_AVAILABLE
+	depends on BR2_PACKAGE_DBUS_GLIB_AVAILABLE
 
 config BR2_PACKAGE_NETWORK_MANAGER
 	bool "NetworkManager"
package/newt/Config.in +1 -0
index 547911a..8a6ebbd 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_NEWT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_SLANG_AVAILABLE
 
 config BR2_PACKAGE_NEWT
 	bool "newt"
package/nfs-utils/Config.in +1 -0
index ecb7d05..f84fa37 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_NFS_UTILS_AVAILABLE
 	def_bool y
 	depends on BR2_INET_RPC
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_PORTMAP_AVAILABLE
 
 config BR2_PACKAGE_NFS_UTILS
 	bool "nfs-utils"
package/ngircd/Config.in +1 -0
index 720d372..892c57a 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_NGIRCD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_NGIRCD
 	bool "ngircd"
package/ngrep/Config.in +2 -0
index 258f7c0..8405679 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_NGREP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBPCAP_AVAILABLE
+	depends on BR2_PACKAGE_PCRE_AVAILABLE
 
 config BR2_PACKAGE_NGREP
 	bool "ngrep"
package/ofono/Config.in +4 -0
index 55e0607..36a074f 100644
@@ -2,6 +2,10 @@ config BR2_PACKAGE_OFONO_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # gettext/libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+	depends on BR2_PACKAGE_DBUS_AVAILABLE
+	depends on BR2_PACKAGE_LIBCAP_NG_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO_AVAILABLE
 
 config BR2_PACKAGE_OFONO
 	bool "ofono"
package/opencv/Config.in +1 -0
index d0f953f..77f25c3 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_OPENCV_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 menuconfig BR2_PACKAGE_OPENCV
 	bool "opencv"
package/openocd/Config.in +2 -0
index b53535d..961422c 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_OPENOCD_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBUSB_COMPAT_AVAILABLE
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 
 config BR2_PACKAGE_OPENOCD
 	bool "openocd"
package/openssh/Config.in +2 -0
index de3b1e1..d1f70e9 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_OPENSSH_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
 
 config BR2_PACKAGE_OPENSSH
 	bool "openssh"
package/openssl/Config.in +1 -0
index 0382826..c592b67 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_OPENSSL_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_OPENSSL
 	bool "openssl"
package/openswan/Config.in +2 -0
index 7d09454..3dd54bc 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_OPENSWAN_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_IPROUTE2_AVAILABLE
+	depends on BR2_PACKAGE_GMP_AVAILABLE
 
 config BR2_PACKAGE_OPENSWAN
 	bool "openswan"
package/oprofile/Config.in +2 -0
index 9525eec..56e991e 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_OPROFILE_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_BINUTILS_AVAILABLE
+	depends on BR2_PACKAGE_POPT_AVAILABLE
 
 config BR2_PACKAGE_OPROFILE
 	bool "oprofile"
package/pango/Config.in +3 -0
index c064f91..e81f3e3 100644
@@ -2,6 +2,9 @@ config BR2_PACKAGE_PANGO_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_INSTALL_LIBSTDCPP # freetype support
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_CAIRO_AVAILABLE
+	depends on BR2_PACKAGE_EXPAT_AVAILABLE
 
 config BR2_PACKAGE_PANGO
 	bool "pango"
package/parted/Config.in +4 -0
index a5f8422..d26f714 100644
@@ -2,6 +2,10 @@ config BR2_PACKAGE_PARTED_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_UTIL_LINUX_LIBUUID_AVAILABLE
+	depends on BR2_PACKAGE_LVM2_AVAILABLE
+	depends on BR2_PACKAGE_READLINE_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
 
 config BR2_PACKAGE_PARTED
 	bool "parted"
package/pcmanfm/Config.in +2 -0
index 5ebdeb5..48d411d 100644
@@ -3,6 +3,8 @@ config BR2_PACKAGE_PCMANFM_AVAILABLE
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
 	depends on BR2_USE_WCHAR # glib2
 	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
+	depends on BR2_PACKAGE_STARTUP_NOTIFICATION_AVAILABLE
+	depends on BR2_PACKAGE_GAMIN_AVAILABLE
 
 config BR2_PACKAGE_PCMANFM
 	bool "pcmanfm"
package/pkg-config/Config.in +1 -0
index a7edcfc..9644fe4 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PKG_CONFIG_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_PKG_CONFIG
 	bool "pkg-config"
package/poco/Config.in +2 -0
index 449fa93..a4f163c 100644
@@ -2,6 +2,8 @@ config BR2_PACKAGE_POCO_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_PCRE_AVAILABLE
 
 config BR2_PACKAGE_POCO
 	bool "poco"
package/procps/Config.in +1 -0
index 0af3bdf..942fef8 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_PROCPS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_PROCPS
 	bool "procps"
package/psmisc/Config.in +1 -0
index 05fe88d..7339f5c 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_PSMISC_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_PSMISC
 	bool "psmisc"
package/python-dpkt/Config.in +1 -0
index 61383d9..82a0903 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_DPKT_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_PYTHON_DPKT
 	bool "python-dpkt"
package/python-mad/Config.in +1 -0
index ea42057..62d7f34 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_MAD_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_LIBMAD_AVAILABLE
 
 config BR2_PACKAGE_PYTHON_MAD
 	bool "python-mad"
package/python-meld3/Config.in +1 -0
index 66379e5..6218275 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_MELD3_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_PYTHON_PYEXPAT_AVAILABLE
 
 config BR2_PACKAGE_PYTHON_MELD3
 	bool "python-meld3"
package/python-netifaces/Config.in +1 -0
index 4d092ed..7c6a232 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_NETIFACES_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_PYTHON_SETUPTOOLS_AVAILABLE
 
 config BR2_PACKAGE_PYTHON_NETIFACES
 	bool "python-netifaces"
package/python-nfc/Config.in +2 -0
index 4855cf2..7a298c2 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_PYTHON_NFC_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_LIBUSB_COMPAT_AVAILABLE
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 
 config BR2_PACKAGE_PYTHON_NFC
 	bool "python-nfc"
package/python-pygame/Config.in +1 -0
index 728351f..53f38de 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_PYGAME_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_SDL_AVAILABLE
 
 config BR2_PACKAGE_PYTHON_PYGAME
 	bool "pygame"
package/python-setuptools/Config.in +1 -0
index 74b511d..51f9c48 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_SETUPTOOLS_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE
 
 config BR2_PACKAGE_PYTHON_SETUPTOOLS
 	bool "python-setuptools"
package/python/Config.in +1 -0
index ebcbef2..f76c8e6 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_PYTHON_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LIBFFI_AVAILABLE
 
 config BR2_PACKAGE_PYTHON
 	bool "python"
package/quota/Config.in +2 -0
index 8a41b4d..f16de02 100644
@@ -3,6 +3,8 @@ config BR2_PACKAGE_QUOTA_AVAILABLE
 	depends on BR2_INET_RPC
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_MOUNT_AVAILABLE
 
 config BR2_PACKAGE_QUOTA
 	bool "quota"
package/radvd/Config.in +3 -0
index bfcb1f5..e3ef4f1 100644
@@ -1,6 +1,9 @@
 config BR2_PACKAGE_RADVD_AVAILABLE
 	def_bool y
 	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_LIBDAEMON_AVAILABLE
+	depends on BR2_PACKAGE_FLEX_AVAILABLE
+	depends on BR2_PACKAGE_FLEX_LIBFL_AVAILABLE
 
 config BR2_PACKAGE_RADVD
 	bool "radvd"
package/rdesktop/Config.in +3 -0
index 0168a09..7abb5ea 100644
@@ -1,6 +1,9 @@
 config BR2_PACKAGE_RDESKTOP_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_RDESKTOP
 	bool "rdesktop"
package/readline/Config.in +1 -0
index b46bb2c..c7986a0 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_READLINE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_READLINE
 	bool "readline"
package/rng-tools/Config.in +1 -0
index e6a0112..947f672 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_RNG_TOOLS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_ARGP_STANDALONE_AVAILABLE
 
 config BR2_PACKAGE_RNG_TOOLS
 	bool "rng-tools"
package/rpm/Config.in +5 -0
index f807cec..b74d435 100644
@@ -9,6 +9,11 @@ config BR2_PACKAGE_RPM_AVAILABLE
 	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
 	depends on BR2_PACKAGE_NEON
 	depends on !BR2_PACKAGE_NEON_NOXML
+	depends on BR2_PACKAGE_NEON_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_NEON_SSL_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
+	depends on BR2_PACKAGE_BEECRYPT_AVAILABLE
+	depends on BR2_PACKAGE_POPT_AVAILABLE
 
 config BR2_PACKAGE_RPM
 	bool "rpm"
package/rrdtool/Config.in +4 -0
index d52f8e4..f86318c 100644
@@ -1,6 +1,10 @@
 config BR2_PACKAGE_RRDTOOL_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_LIBPNG_AVAILABLE
+	depends on BR2_PACKAGE_LIBART_AVAILABLE
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
 
 config BR2_PACKAGE_RRDTOOL
 	bool "rrdtool"
package/rtorrent/Config.in +5 -0
index 4f1a445..df72d35 100644
@@ -2,6 +2,11 @@ config BR2_PACKAGE_RTORRENT_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_LIBTORRENT_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
+	depends on BR2_PACKAGE_LIBSIGC_AVAILABLE
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
+	depends on BR2_PACKAGE_LIBCURL_AVAILABLE
 
 config BR2_PACKAGE_RTORRENT
 	bool "rtorrent"
package/samba/Config.in +1 -0
index 036505b..3a89061 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_SAMBA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_POPT_AVAILABLE
 
 config BR2_PACKAGE_SAMBA
 	bool "samba"
package/screen/Config.in +1 -0
index cc0cc46..9fa9c18 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_SCREEN_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_SCREEN
 	bool "screen"
package/sdl_ttf/Config.in +1 -0
index 06c7301..ec24e1d 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_SDL_TTF_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_SDL_AVAILABLE
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
 
 config BR2_PACKAGE_SDL_TTF
 	bool "SDL_TTF"
package/shared-mime-info/Config.in +2 -0
index d3ffe6d..0113653 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_SHARED_MIME_INFO_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_SHARED_MIME_INFO
 	bool "shared-mime-info"
package/socketcand/Config.in +1 -0
index 059f6f5..989f909 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_SOCKETCAND_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBCONFIG_AVAILABLE
 
 config BR2_PACKAGE_SOCKETCAND
 	bool "socketcand"
package/speex/Config.in +1 -0
index 223eee9..c5e3305 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_SPEEX_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBOGG_AVAILABLE
 
 config BR2_PACKAGE_SPEEX
 	bool "speex"
package/sqlcipher/Config.in +1 -0
index 8afbddb..5360102 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_SQLCIPHER_AVAILABLE
 	def_bool y
 	depends on !BR2_PACKAGE_SQLITE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
 
 config BR2_PACKAGE_SQLCIPHER
 	bool "sqlcipher"
package/squid/Config.in +1 -0
index d09267e..77845f8 100644
@@ -5,6 +5,7 @@ config BR2_PACKAGE_SQUID_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_LIBCAP_AVAILABLE
 
 config BR2_PACKAGE_SQUID
 	bool "squid"
package/sshfs/Config.in +3 -0
index d5e544e..4d8a53f 100644
@@ -2,6 +2,9 @@ config BR2_PACKAGE_SSHFS_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_OPENSSH_AVAILABLE
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
+	depends on BR2_PACKAGE_LIBFUSE_AVAILABLE
 
 config BR2_PACKAGE_SSHFS
 	bool "sshfs (FUSE)"
package/startup-notification/Config.in +1 -0
index 305fcd9..a039302 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_STARTUP_NOTIFICATION_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_STARTUP_NOTIFICATION
 	bool "startup-notification"
package/statserial/Config.in +1 -0
index ef48c02..c2e11f2 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_STATSERIAL_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_STATSERIAL
 	bool "statserial"
package/stunnel/Config.in +1 -0
index e3ee61a..0ba144c 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_STUNNEL_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
 
 config BR2_PACKAGE_STUNNEL
 	bool "stunnel"
package/supervisor/Config.in +2 -0
index bed8a61..8ae0b35 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_SUPERVISOR_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_PYTHON_AVAILABLE
+	depends on BR2_PACKAGE_PYTHON_SETUPTOOLS_AVAILABLE
+	depends on BR2_PACKAGE_PYTHON_MELD3_AVAILABLE
 
 config BR2_PACKAGE_SUPERVISOR
 	bool "supervisor"
package/synergy/Config.in +1 -0
index 3e76269..0dad3ef 100644
@@ -3,6 +3,7 @@ config BR2_PACKAGE_SYNERGY_AVAILABLE
 	depends on BR2_PACKAGE_XORG7_AVAILABLE
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
+	depends on BR2_PACKAGE_XLIB_LIBXTST_AVAILABLE
 
 config BR2_PACKAGE_SYNERGY
 	bool "synergy"
package/sysprof/Config.in +1 -0
index 79e387a..0f0f712 100644
@@ -2,6 +2,7 @@ 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
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_SYSPROF
 	bool "sysprof"
package/systemd/Config.in +2 -0
index b73212f..1ba8e03 100644
@@ -3,6 +3,8 @@ config BR2_PACKAGE_SYSTEMD_AVAILABLE
 	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
 	depends on BR2_INET_IPV6
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+	depends on BR2_PACKAGE_LIBCAP_AVAILABLE
+	depends on BR2_PACKAGE_DBUS_AVAILABLE
 
 config BR2_PACKAGE_SYSTEMD
 	bool "systemd"
package/tcpdump/Config.in +1 -0
index 42af213..68a562b 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_TCPDUMP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBPCAP_AVAILABLE
 
 config BR2_PACKAGE_TCPDUMP
 	bool "tcpdump"
package/tcpreplay/Config.in +1 -0
index c907b2a..7c3736d 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_TCPREPLAY_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBPCAP_AVAILABLE
 
 config BR2_PACKAGE_TCPREPLAY
 	bool "tcpreplay"
package/ti-utils/Config.in +1 -0
index 2bd1ab5c..2d3b606 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_TI_UTILS_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
+	depends on BR2_PACKAGE_LIBNL_AVAILABLE
 
 config BR2_PACKAGE_TI_UTILS
 	bool "ti-utils"
package/tn5250/Config.in +1 -0
index 39a9841..ea86d39 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_TN5250_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_TN5250
 	bool "tn5250"
package/transmission/Config.in +4 -0
index 3c888bc..4ab1003 100644
@@ -1,6 +1,10 @@
 config BR2_PACKAGE_TRANSMISSION_AVAILABLE
 	def_bool y
 	depends on BR2_INET_IPV6
+	depends on BR2_PACKAGE_ZLIB_AVAILABLE
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
+	depends on BR2_PACKAGE_LIBCURL_AVAILABLE
+	depends on BR2_PACKAGE_LIBEVENT_AVAILABLE
 
 config BR2_PACKAGE_TRANSMISSION
 	bool "transmission"
package/udev/Config.in +3 -0
index 651087a..18e197e 100644
@@ -3,6 +3,9 @@ config BR2_PACKAGE_UDEV_AVAILABLE
 	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
 	depends on BR2_LARGEFILE # util-linux
 	depends on BR2_USE_WCHAR # util-linux
+	depends on BR2_PACKAGE_KMOD_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_LIBBLKID_AVAILABLE
 
 config BR2_PACKAGE_UDEV
 	bool "udev"
package/uemacs/Config.in +1 -0
index 412ea9d..d0aec17 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_UEMACS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_UEMACS
 	bool "uemacs"
package/unionfs/Config.in +1 -0
index ba437e7..24c0610 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_UNIONFS_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBFUSE_AVAILABLE
 
 config BR2_PACKAGE_UNIONFS
 	bool "unionfs (FUSE)"
package/usb_modeswitch/Config.in +2 -0
index 0292985..b878f6e 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_USB_MODESWITCH_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBUSB_COMPAT_AVAILABLE
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 
 config BR2_PACKAGE_USB_MODESWITCH
 	bool "usb_modeswitch"
package/usb_modeswitch_data/Config.in +3 -0
index ae05890..3e7bfc5 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_USB_MODESWITCH_DATA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_USB_MODESWITCH_AVAILABLE
+	depends on BR2_PACKAGE_TCL_TCLSH_AVAILABLE
+	depends on BR2_PACKAGE_TCL_AVAILABLE
 
 config BR2_PACKAGE_USB_MODESWITCH_DATA
 	bool "usb_modeswitch_data"
package/usbmount/Config.in +3 -0
index 66a9fcb..a672867 100644
@@ -3,6 +3,9 @@ config BR2_PACKAGE_USBMOUNT_AVAILABLE
 	depends on BR2_LARGEFILE # util-linux
 	depends on BR2_USE_WCHAR # util-linux
 	depends on BR2_PACKAGE_UDEV_AVAILABLE
+	depends on BR2_PACKAGE_LOCKFILE_PROGS_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_AVAILABLE
+	depends on BR2_PACKAGE_UTIL_LINUX_LIBBLKID_AVAILABLE
 
 config BR2_PACKAGE_USBMOUNT
 	bool "usbmount"
package/usbutils/Config.in +1 -0
index 72c5279..d5976bf 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_USBUTILS_AVAILABLE
 	def_bool y
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	depends on BR2_PACKAGE_LIBUSB_AVAILABLE
 
 config BR2_PACKAGE_USBUTILS
 	bool "usbutils"
package/ushare/Config.in +1 -0
index dcb2ef7..65dcc5d 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_USHARE_AVAILABLE
 	def_bool y
 	depends on BR2_LARGEFILE
+	depends on BR2_PACKAGE_LIBUPNP_AVAILABLE
 
 config BR2_PACKAGE_USHARE
 	bool "ushare"
package/vala/Config.in +1 -0
index a022acc..013b3fa 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_VALA_AVAILABLE
 	def_bool y
 	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_PACKAGE_LIBGLIB2_AVAILABLE
 
 config BR2_PACKAGE_VALA
 	bool "vala"
package/vim/Config.in +1 -0
index 99fa37c..020eb94 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_VIM_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_NCURSES_AVAILABLE
 
 config BR2_PACKAGE_VIM
 	bool "vim"
package/vpnc/Config.in +2 -0
index b1d7588..4a65ae5 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_VPNC_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LIBGCRYPT_AVAILABLE
+	depends on BR2_PACKAGE_LIBGPG_ERROR_AVAILABLE
 
 config BR2_PACKAGE_VPNC
 	bool "vpnc"
package/vtun/Config.in +2 -0
index 37b0ffc..639f39b 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_VTUN_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_OPENSSL_AVAILABLE
+	depends on BR2_PACKAGE_LZO_AVAILABLE
 
 config BR2_PACKAGE_VTUN
 	bool "vtun - BEWARE: read package/vtun/README.txt before use"
package/webkit/Config.in +9 -0
index bd26ebc..549355f 100644
@@ -3,6 +3,15 @@ config BR2_PACKAGE_WEBKIT_AVAILABLE
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
 	depends on BR2_PACKAGE_LIBGTK2_AVAILABLE
+	depends on BR2_PACKAGE_LIBSOUP_AVAILABLE
+	depends on BR2_PACKAGE_LIBXML2_AVAILABLE
+	depends on BR2_PACKAGE_ICU_AVAILABLE
+	depends on BR2_PACKAGE_LIBXSLT_AVAILABLE
+	depends on BR2_PACKAGE_SQLITE_AVAILABLE
+	depends on BR2_PACKAGE_ENCHANT_AVAILABLE
+	depends on BR2_PACKAGE_LIBCURL_AVAILABLE
+	depends on BR2_PACKAGE_LIBGAIL_AVAILABLE
+	depends on BR2_PACKAGE_CAIRO_PNG_AVAILABLE
 
 config BR2_PACKAGE_WEBKIT
 	bool "webkit"
package/wsapi/Config.in +3 -0
index 43efcf4..779029e 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_WSAPI_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_LUAFILESYSTEM_AVAILABLE
+	depends on BR2_PACKAGE_COXPCALL_AVAILABLE
+	depends on BR2_PACKAGE_RINGS_AVAILABLE
 
 config BR2_PACKAGE_WSAPI
 	bool "wsapi"
package/x11r7/libxcb/Config.in +4 -0
index bdb2c90..9002f68 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_LIBXCB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAU_AVAILABLE
+	depends on BR2_PACKAGE_PTHREAD_STUBS_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXDMCP_AVAILABLE
+	depends on BR2_PACKAGE_XCB_PROTO_AVAILABLE
 
 config BR2_PACKAGE_LIBXCB
 	bool "libxcb"
package/x11r7/mesa3d/Config.in +7 -0
index 1237eeb..0da1a18 100644
@@ -2,6 +2,13 @@ config BR2_PACKAGE_MESA3D_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_XSERVER_xorg_AVAILABLE
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_XLIB_LIBXXF86VM_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_DRI2PROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXDAMAGE_AVAILABLE
+	depends on BR2_PACKAGE_EXPAT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXFIXES_AVAILABLE
 
 config BR2_PACKAGE_MESA3D
 	bool "Mesa 3D Graphics Library"
package/x11r7/xapp_appres/Config.in +2 -0
index b0c19dd..39e4c26 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_APPRES_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_APPRES
 	bool "appres"
package/x11r7/xapp_bdftopcf/Config.in +1 -0
index f738419..68ae3ce 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_BDFTOPCF_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXFONT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_BDFTOPCF
 	bool "bdftopcf"
package/x11r7/xapp_beforelight/Config.in +4 -0
index f06738d..2179820 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_BEFORELIGHT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXSCRNSAVER_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_BEFORELIGHT
 	bool "beforelight"
package/x11r7/xapp_bitmap/Config.in +4 -0
index efc8007..29f253e 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_BITMAP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XDATA_XBITMAPS_AVAILABLE
 
 config BR2_PACKAGE_XAPP_BITMAP
 	bool "bitmap"
package/x11r7/xapp_editres/Config.in +4 -0
index 1586de7..f5f8145 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_EDITRES_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_EDITRES
 	bool "editres"
package/x11r7/xapp_fonttosfnt/Config.in +3 -0
index 684123d..07c9585 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_FONTTOSFNT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBFONTENC_AVAILABLE
 
 config BR2_PACKAGE_XAPP_FONTTOSFNT
 	bool "fonttosfnt"
package/x11r7/xapp_fslsfonts/Config.in +2 -0
index b31bce2..d26d64e 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_FSLSFONTS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBFS_AVAILABLE
 
 config BR2_PACKAGE_XAPP_FSLSFONTS
 	bool "fslsfonts"
package/x11r7/xapp_fstobdf/Config.in +2 -0
index a82fc17..6e7860c 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_FSTOBDF_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBFS_AVAILABLE
 
 config BR2_PACKAGE_XAPP_FSTOBDF
 	bool "fstobdf"
package/x11r7/xapp_iceauth/Config.in +2 -0
index 1802936..8b1b6e1 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_ICEAUTH_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBICE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_ICEAUTH
 	bool "iceauth"
package/x11r7/xapp_ico/Config.in +1 -0
index d797212..f5dee1d 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_ICO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_ICO
 	bool "ico"
package/x11r7/xapp_listres/Config.in +4 -0
index e718445..e40e0eb 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_LISTRES_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_LISTRES
 	bool "listres"
package/x11r7/xapp_luit/Config.in +2 -0
index c29b005..c88be81 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_LUIT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBFONTENC_AVAILABLE
 
 config BR2_PACKAGE_XAPP_LUIT
 	bool "luit"
package/x11r7/xapp_mkfontdir/Config.in +1 -0
index ae0643a..255b408 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_MKFONTDIR_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XAPP_MKFONTSCALE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_MKFONTDIR
 	bool "mkfontdir"
package/x11r7/xapp_mkfontscale/Config.in +3 -0
index 67afb3b..3486d7e 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_MKFONTSCALE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBFONTENC_AVAILABLE
 
 config BR2_PACKAGE_XAPP_MKFONTSCALE
 	bool "mkfontscale"
package/x11r7/xapp_oclock/Config.in +3 -0
index caa4530..fe75566 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_OCLOCK_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_OCLOCK
 	bool "oclock"
package/x11r7/xapp_rgb/Config.in +1 -0
index 8ada3c2..1cd5614 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_RGB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XAPP_RGB
 	bool "rgb"
package/x11r7/xapp_rstart/Config.in +1 -0
index a0ed6c1..90b8bf4 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_RSTART_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_RSTART
 	bool "rstart"
package/x11r7/xapp_scripts/Config.in +1 -0
index 32a9080..041bde9 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_SCRIPTS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_SCRIPTS
 	bool "scripts"
package/x11r7/xapp_sessreg/Config.in +2 -0
index 1d859fc..c462b69 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_SESSREG_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XAPP_SESSREG
 	bool "sessreg"
package/x11r7/xapp_setxkbmap/Config.in +2 -0
index d269756..f645bdf 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_SETXKBMAP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXKBFILE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_SETXKBMAP
 	bool "setxkbmap"
package/x11r7/xapp_showfont/Config.in +1 -0
index 627a56c..447364c 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_SHOWFONT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBFS_AVAILABLE
 
 config BR2_PACKAGE_XAPP_SHOWFONT
 	bool "showfont"
package/x11r7/xapp_smproxy/Config.in +2 -0
index 4d33c9c..7d565f2 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_SMPROXY_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_SMPROXY
 	bool "smproxy"
package/x11r7/xapp_twm/Config.in +4 -0
index e4d4d1f..b86f13b 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_TWM_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_TWM
 	bool "twm"
package/x11r7/xapp_viewres/Config.in +1 -0
index f5ffc98..a69f96a 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_VIEWRES_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_VIEWRES
 	bool "viewres"
package/x11r7/xapp_x11perf/Config.in +3 -0
index 21c019b..b795237 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_X11PERF_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXFT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_X11PERF
 	bool "x11perf"
package/x11r7/xapp_xauth/Config.in +4 -0
index a84d908..cebe9ab 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_XAUTH_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XAUTH
 	bool "xauth"
package/x11r7/xapp_xbacklight/Config.in +3 -0
index 4468add..71acf53 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_XBACKLIGHT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXRANDR_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXRENDER_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XBACKLIGHT
 	bool "xbacklight"
package/x11r7/xapp_xbiff/Config.in +2 -0
index 6e3701a..0ace85b 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XBIFF_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XDATA_XBITMAPS_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XBIFF
 	bool "xbiff"
package/x11r7/xapp_xcalc/Config.in +1 -0
index 9c80b7e..08105fc 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XCALC_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XCALC
 	bool "xcalc"
package/x11r7/xapp_xclipboard/Config.in +1 -0
index b032770..a83384b 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XCLIPBOARD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XCLIPBOARD
 	bool "xclipboard"
package/x11r7/xapp_xclock/Config.in +5 -0
index f2234ba..2d22cc1 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XAPP_XCLOCK_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXFT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXKBFILE_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXRENDER_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XCLOCK
 	bool "xclock"
package/x11r7/xapp_xcmsdb/Config.in +1 -0
index 1795970..9128983 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XCMSDB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XCMSDB
 	bool "xcmsdb"
package/x11r7/xapp_xcursorgen/Config.in +3 -0
index 705c113..4830b37 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_XCURSORGEN_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXCURSOR_AVAILABLE
+	depends on BR2_PACKAGE_LIBPNG_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XCURSORGEN
 	bool "xcursorgen"
package/x11r7/xapp_xdbedizzy/Config.in +3 -0
index c2d3020..554433d 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_XDBEDIZZY_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXP_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXPRINTUTIL_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XDBEDIZZY
 	bool "xdbedizzy"
package/x11r7/xapp_xditview/Config.in +1 -0
index 1c18c3f..9a86598 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XDITVIEW_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XDITVIEW
 	bool "xditview"
package/x11r7/xapp_xdm/Config.in +10 -0
index 4de04ec..4cf7732 100644
@@ -1,5 +1,15 @@
 config BR2_PACKAGE_XAPP_XDM_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XAPP_SESSREG_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XAPP_XINIT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXINERAMA_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXDMCP_AVAILABLE
+	depends on BR2_PACKAGE_XAPP_XRDB_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XINERAMAPROTO_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XDM
 	bool "xdm"
package/x11r7/xapp_xdpyinfo/Config.in +14 -0
index 803f0e2..2abd188 100644
@@ -1,5 +1,19 @@
 config BR2_PACKAGE_XAPP_XDPYINFO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXTST_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXI_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_PRINTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_KBPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXXF86VM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXXF86DGA_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXP_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXRENDER_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XDPYINFO
 	bool "xdpyinfo"
package/x11r7/xapp_xdriinfo/Config.in +2 -0
index c7882a3..2ecb0fa 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_XAPP_XDRIINFO_AVAILABLE
 	def_bool y
 	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XDRIINFO
 	bool "xdriinfo"
package/x11r7/xapp_xedit/Config.in +2 -0
index 828600c..d2ea198 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XEDIT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXPRINTUTIL_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XEDIT
 	bool "xedit"
package/x11r7/xapp_xev/Config.in +1 -0
index e495b6a..233bf85 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XEV_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XEV
 	bool "xev"
package/x11r7/xapp_xeyes/Config.in +4 -0
index 0c72907..b48ab85 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_XEYES_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XEYES
 	bool "xeyes"
package/x11r7/xapp_xf86dga/Config.in +2 -0
index 9f30122..f9a3e25 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XF86DGA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXXF86DGA_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XF86DGA
 	bool "xf86dga"
package/x11r7/xapp_xfd/Config.in +4 -0
index 1f2d787..56efd3a 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_XFD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_FONTCONFIG_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXFT_AVAILABLE
+	depends on BR2_PACKAGE_FREETYPE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XFD
 	bool "xfd"
package/x11r7/xapp_xfontsel/Config.in +1 -0
index 03ca2ef..4064574 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XFONTSEL_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XFONTSEL
 	bool "xfontsel"
package/x11r7/xapp_xfs/Config.in +3 -0
index f72ab68..1aa8435 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_XFS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXFONT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBFS_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XFS
 	bool "xfs"
package/x11r7/xapp_xfsinfo/Config.in +2 -0
index c67ab1f..005a7d3 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XFSINFO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBFS_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XFSINFO
 	bool "xfsinfo"
package/x11r7/xapp_xgamma/Config.in +1 -0
index 442506e..b20a93d 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XGAMMA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXXF86VM_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XGAMMA
 	bool "xgamma"
package/x11r7/xapp_xgc/Config.in +1 -0
index 375c838..4e437a4 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XGC_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XGC
 	bool "xgc"
package/x11r7/xapp_xhost/Config.in +2 -0
index 910e35a..b52a37d 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XHOST_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XHOST
 	bool "xhost"
package/x11r7/xapp_xinit/Config.in +2 -0
index 1ea946c..40b2b57 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XINIT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XAPP_XAUTH_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XINIT
 	bool "xinit"
package/x11r7/xapp_xinput/Config.in +2 -0
index 11a441f..acece9a 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XINPUT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXI_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XINPUT
 	bool "xinput"
package/x11r7/xapp_xinput_calibrator/Config.in +2 -0
index fbe9c32..8570e7c 100644
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_XAPP_XINPUT_CALIBRATOR_AVAILABLE
 	def_bool y
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_XLIB_LIBXI_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XINPUT_CALIBRATOR
 	bool "xinput-calibrator"
package/x11r7/xapp_xkbcomp/Config.in +2 -0
index 78f08c9..466b492 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XKBCOMP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXKBFILE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XKBCOMP
 	bool "xkbcomp"
package/x11r7/xapp_xkbevd/Config.in +1 -0
index 40f6d80..6c3de56 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XKBEVD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXKBFILE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XKBEVD
 	bool "xkbevd"
package/x11r7/xapp_xkbprint/Config.in +1 -0
index 3ea8e20..0bebab9 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XKBPRINT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXKBFILE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XKBPRINT
 	bool "xkbprint"
package/x11r7/xapp_xkbutils/Config.in +2 -0
index 92354db..4bb4a8f 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XKBUTILS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXKBFILE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XKBUTILS
 	bool "xkbutils"
package/x11r7/xapp_xkill/Config.in +2 -0
index 0981405..fed870b 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XKILL_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XKILL
 	bool "xkill"
package/x11r7/xapp_xload/Config.in +1 -0
index 536909d..9c642b8 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XLOAD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XLOAD
 	bool "xload"
package/x11r7/xapp_xlogo/Config.in +4 -0
index 6f5f9d7..77cb4a8 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XAPP_XLOGO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXFT_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXPRINTUTIL_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXRENDER_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XLOGO
 	bool "xlogo"
package/x11r7/xapp_xlsatoms/Config.in +2 -0
index 70f3a9e..84dac87 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XLSATOMS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XLSATOMS
 	bool "xlsatoms"
package/x11r7/xapp_xlsclients/Config.in +2 -0
index 14f5bb8..00efba9 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XLSCLIENTS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XLSCLIENTS
 	bool "xlsclients"
package/x11r7/xapp_xlsfonts/Config.in +1 -0
index f0ec061..01ddc54 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XLSFONTS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XLSFONTS
 	bool "xlsfonts"
package/x11r7/xapp_xmag/Config.in +1 -0
index 3dbe45e..454386b 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XMAG_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XMAG
 	bool "xmag"
package/x11r7/xapp_xman/Config.in +1 -0
index 59de3e3..8f36e8a 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XMAN_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XMAN
 	bool "xman"
package/x11r7/xapp_xmessage/Config.in +1 -0
index ead9e85..b2daefe 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XMESSAGE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XMESSAGE
 	bool "xmessage"
package/x11r7/xapp_xmh/Config.in +1 -0
index 3c29311..c733432 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XMH_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XMH
 	bool "xmh"
package/x11r7/xapp_xmodmap/Config.in +1 -0
index 252e45e..7238a2b 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XMODMAP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XMODMAP
 	bool "xmodmap"
package/x11r7/xapp_xmore/Config.in +2 -0
index 9b52ea0..e7a503a 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XMORE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXPRINTUTIL_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XMORE
 	bool "xmore"
package/x11r7/xapp_xplsprinters/Config.in +3 -0
index 484be69..3bb9c85 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_XPLSPRINTERS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXP_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXPRINTUTIL_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XPLSPRINTERS
 	bool "xplsprinters"
package/x11r7/xapp_xpr/Config.in +2 -0
index 0b3971c..181c8cd 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XPR_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XPR
 	bool "xpr"
package/x11r7/xapp_xprehashprinterlist/Config.in +2 -0
index 1514a1a..7d520df 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XPREHASHPRINTERLIST_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXP_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XPREHASHPRINTERLIST
 	bool "xprehashprinterlist"
package/x11r7/xapp_xprop/Config.in +2 -0
index 67877e3..a744009 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XPROP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XPROP
 	bool "xprop"
package/x11r7/xapp_xrandr/Config.in +2 -0
index d1d507b..9cb8547 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XRANDR_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXRANDR_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XRANDR
 	bool "xrandr"
package/x11r7/xapp_xrdb/Config.in +2 -0
index 6310e49..cdb3e29 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XRDB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XRDB
 	bool "xrdb"
package/x11r7/xapp_xrefresh/Config.in +1 -0
index b897056..201f966 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XREFRESH_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XREFRESH
 	bool "xrefresh"
package/x11r7/xapp_xset/Config.in +2 -0
index c692fa0..1bd396a 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XSET_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXFONTCACHE_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XSET
 	bool "xset"
package/x11r7/xapp_xsetmode/Config.in +2 -0
index 2d64a25..0778721 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XSETMODE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXI_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XSETMODE
 	bool "xsetmode"
package/x11r7/xapp_xsetpointer/Config.in +3 -0
index 768fcf6..d85dca9 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_XSETPOINTER_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXI_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XSETPOINTER
 	bool "xsetpointer"
package/x11r7/xapp_xsetroot/Config.in +3 -0
index 2e9e29d..18638ed 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XAPP_XSETROOT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XDATA_XBITMAPS_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XSETROOT
 	bool "xsetroot"
package/x11r7/xapp_xsm/Config.in +1 -0
index 943ea7a..d1d7e77 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XSM_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XSM
 	bool "xsm"
package/x11r7/xapp_xstdcmap/Config.in +2 -0
index 117edd9..26ba37f 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XSTDCMAP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XSTDCMAP
 	bool "xstdcmap"
package/x11r7/xapp_xvidtune/Config.in +2 -0
index 230090b..b641c3f 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XVIDTUNE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXXF86VM_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XVIDTUNE
 	bool "xvidtune"
package/x11r7/xapp_xvinfo/Config.in +2 -0
index a0a99af..8397363 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XVINFO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXV_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XVINFO
 	bool "xvinfo"
package/x11r7/xapp_xwd/Config.in +2 -0
index 542b41c..410c923 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XWD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XWD
 	bool "xwd"
package/x11r7/xapp_xwininfo/Config.in +2 -0
index 738f78c..65ed98b 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XAPP_XWININFO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XWININFO
 	bool "xwininfo"
package/x11r7/xapp_xwud/Config.in +1 -0
index afa1f92..08551bb 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XAPP_XWUD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 
 config BR2_PACKAGE_XAPP_XWUD
 	bool "xwud"
package/x11r7/xdata_xcursor-themes/Config.in +1 -0
index c138ab9..249e210 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XDATA_XCURSOR_THEMES_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXCURSOR_AVAILABLE
 
 config BR2_PACKAGE_XDATA_XCURSOR_THEMES
 	bool "xdata_xcursor-themes"
package/x11r7/xdriver_xf86-input-acecad/Config.in +4 -0
index b720d6c..069f9ce 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_ACECAD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_ACECAD
 	bool "xf86-input-acecad"
package/x11r7/xdriver_xf86-input-aiptek/Config.in +4 -0
index 6fc9539..59df0c1 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_AIPTEK_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_AIPTEK
 	bool "xf86-input-aiptek"
package/x11r7/xdriver_xf86-input-evdev/Config.in +4 -0
index ee4a124..b4736a3 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV
 	bool "xf86-input-evdev"
package/x11r7/xdriver_xf86-input-joystick/Config.in +4 -0
index b823866..c280e2c 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK
 	bool "xf86-input-joystick"
package/x11r7/xdriver_xf86-input-keyboard/Config.in +5 -0
index 0b3bcf2..8970b02 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_KBPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD
 	bool "xf86-input-keyboard"
package/x11r7/xdriver_xf86-input-mouse/Config.in +4 -0
index 80a2d9b..5d1b74f 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE
 	bool "xf86-input-mouse"
package/x11r7/xdriver_xf86-input-synaptics/Config.in +4 -0
index f10dbe4..b148f00 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_SYNAPTICS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_SYNAPTICS
 	bool "xf86-input-synaptics"
package/x11r7/xdriver_xf86-input-tslib/Config.in +5 -0
index fc1868f..d675428 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_TSLIB_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB
 	bool "xf86-input-tslib"
package/x11r7/xdriver_xf86-input-vmmouse/Config.in +4 -0
index 26aa758..9c1b928 100644
@@ -1,6 +1,10 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_VMMOUSE_AVAILABLE
 	def_bool y
 	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_VMMOUSE
 	bool "xf86-input-vmmouse"
package/x11r7/xdriver_xf86-input-void/Config.in +4 -0
index 776f805..e2c4126 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID
 	bool "xf86-input-void"
package/x11r7/xdriver_xf86-video-apm/Config.in +8 -0
index 6f369eb..aa4f426 100644
@@ -1,5 +1,13 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_APM_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86RUSHPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_APM
 	bool "xf86-video-apm"
package/x11r7/xdriver_xf86-video-ark/Config.in +6 -0
index 064955b..b94c4b4 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARK_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARK
 	bool "xf86-video-ark"
package/x11r7/xdriver_xf86-video-ati/Config.in +11 -0
index 793193a..ddaba8a 100644
@@ -1,5 +1,16 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XINERAMAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI
 	bool "xf86-video-ati"
package/x11r7/xdriver_xf86-video-chips/Config.in +6 -0
index 55dd600..d048e9b 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CHIPS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CHIPS
 	bool "xf86-video-chips"
package/x11r7/xdriver_xf86-video-cirrus/Config.in +7 -0
index 8aaa664..0314e91 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS
 	bool "xf86-video-cirrus"
package/x11r7/xdriver_xf86-video-dummy/Config.in +7 -0
index cc8e988..a427360 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_DUMMY_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_DUMMY
 	bool "xf86-video-dummy"
package/x11r7/xdriver_xf86-video-fbdev/Config.in +6 -0
index 46c567d..4daf040 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV
 	bool "xf86-video-fbdev"
package/x11r7/xdriver_xf86-video-geode/Config.in +6 -0
index c589823..a9cd33e 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GEODE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GEODE
 	bool "xf86-video-geode"
package/x11r7/xdriver_xf86-video-glide/Config.in +6 -0
index cc9559d..7f8da3c 100644
@@ -1,6 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLIDE_AVAILABLE
 	def_bool y
 	depends on BROKEN # needs glide library from http://glide.sourceforge.net/
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLIDE
 	bool "xf86-video-glide"
package/x11r7/xdriver_xf86-video-glint/Config.in +12 -0
index 9f5edca..c0e7dbe 100644
@@ -1,5 +1,17 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT
 	bool "xf86-video-glint"
package/x11r7/xdriver_xf86-video-i128/Config.in +7 -0
index 6e49475..75012b3 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I128_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I128
 	bool "xf86-video-i128"
package/x11r7/xdriver_xf86-video-i740/Config.in +7 -0
index 363ceb7..9c0e171 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I740_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I740
 	bool "xf86-video-i740"
package/x11r7/xdriver_xf86-video-intel/Config.in +8 -0
index ca938f8..533cced 100644
@@ -1,5 +1,13 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBPCIACCESS_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL
 	bool "xf86-video-intel"
package/x11r7/xdriver_xf86-video-mach64/Config.in +7 -0
index d6d10f7..626e18d 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MACH64_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MACH64
 	bool "xf86-video-mach64"
package/x11r7/xdriver_xf86-video-mga/Config.in +11 -0
index ef06083..b97f306 100644
@@ -1,5 +1,16 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA
 	bool "xf86-video-mga"
package/x11r7/xdriver_xf86-video-neomagic/Config.in +8 -0
index 7faf833..33f32d3 100644
@@ -1,5 +1,13 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEOMAGIC_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEOMAGIC
 	bool "xf86-video-neomagic"
package/x11r7/xdriver_xf86-video-newport/Config.in +6 -0
index aee66de..e9bd84d 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEWPORT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEWPORT
 	bool "xf86-video-newport"
package/x11r7/xdriver_xf86-video-nv/Config.in +7 -0
index ab3cd8f..c24e5a9 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NV_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NV
 	bool "xf86-video-nv"
package/x11r7/xdriver_xf86-video-openchrome/Config.in +12 -0
index 5aa5917..ac93049 100644
@@ -1,5 +1,17 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_GLPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXVMC_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXCOMPOSITE_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME
 	bool "xf86-video-openchrome"
package/x11r7/xdriver_xf86-video-r128/Config.in +7 -0
index 3fbea5c..fff4192 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128
 	bool "xf86-video-r128"
package/x11r7/xdriver_xf86-video-rendition/Config.in +6 -0
index aa4d69e..4dcf5ec 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_RENDITION_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_RENDITION
 	bool "xf86-video-rendition"
package/x11r7/xdriver_xf86-video-s3/Config.in +7 -0
index e82ebfd..bb0c1d3 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3
 	bool "xf86-video-s3"
package/x11r7/xdriver_xf86-video-s3virge/Config.in +7 -0
index ff51138..be3ab1a 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3VIRGE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_S3VIRGE
 	bool "xf86-video-s3virge"
package/x11r7/xdriver_xf86-video-savage/Config.in +10 -0
index 03bfe8b..5267bb0 100644
@@ -1,5 +1,15 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE
 	bool "xf86-video-savage"
package/x11r7/xdriver_xf86-video-siliconmotion/Config.in +7 -0
index 5ad4c6b..fa96861 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SILICONMOTION_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SILICONMOTION
 	bool "xf86-video-siliconmotion"
package/x11r7/xdriver_xf86-video-sis/Config.in +12 -0
index 9d676be..5a87b92 100644
@@ -1,5 +1,17 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XINERAMAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS
 	bool "xf86-video-sis"
package/x11r7/xdriver_xf86-video-sisusb/Config.in +8 -0
index 56b8e52..ae9836b 100644
@@ -1,5 +1,13 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SISUSB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XINERAMAPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SISUSB
 	bool "xf86-video-sisusb"
package/x11r7/xdriver_xf86-video-suncg14/Config.in +5 -0
index e963973..e84d2c9 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG14_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG14
 	bool "xf86-video-suncg14"
package/x11r7/xdriver_xf86-video-suncg3/Config.in +5 -0
index f689c01..4bbf9ae 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG3_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG3
 	bool "xf86-video-suncg3"
package/x11r7/xdriver_xf86-video-suncg6/Config.in +5 -0
index c5dcbf4..d1556c0 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG6_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNCG6
 	bool "xf86-video-suncg6"
package/x11r7/xdriver_xf86-video-sunffb/Config.in +8 -0
index 4e91610..15ec01b 100644
@@ -1,5 +1,13 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNFFB_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNFFB
 	bool "xf86-video-sunffb"
package/x11r7/xdriver_xf86-video-sunleo/Config.in +5 -0
index 712110b..c784e06 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNLEO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNLEO
 	bool "xf86-video-sunleo"
package/x11r7/xdriver_xf86-video-suntcx/Config.in +5 -0
index eab688f..4c32e5c 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNTCX_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SUNTCX
 	bool "xf86-video-suntcx"
package/x11r7/xdriver_xf86-video-tdfx/Config.in +10 -0
index 4c1a3f6..dd47882 100644
@@ -1,5 +1,15 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_LIBDRM_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DRIPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX
 	bool "xf86-video-tdfx"
package/x11r7/xdriver_xf86-video-tga/Config.in +8 -0
index 346ee47..5fec82a 100644
@@ -1,5 +1,13 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA
 	bool "xf86-video-tga"
package/x11r7/xdriver_xf86-video-trident/Config.in +8 -0
index e6ee3e4..43b3625 100644
@@ -1,5 +1,13 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TRIDENT_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TRIDENT
 	bool "xf86-video-trident"
package/x11r7/xdriver_xf86-video-tseng/Config.in +7 -0
index 6b9cf43..81a685c 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TSENG_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TSENG
 	bool "xf86-video-tseng"
package/x11r7/xdriver_xf86-video-v4l/Config.in +4 -0
index a6a154f..fae3ee5 100644
@@ -1,5 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_V4L_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_VIDEOPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_V4L
 	bool "xf86-video-v4l"
package/x11r7/xdriver_xf86-video-vesa/Config.in +6 -0
index 426fd43..e8f1934 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA
 	bool "xf86-video-vesa"
package/x11r7/xdriver_xf86-video-vmware/Config.in +7 -0
index ab5de69..e0857fd 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XINERAMAPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE
 	bool "xf86-video-vmware"
package/x11r7/xdriver_xf86-video-voodoo/Config.in +7 -0
index 7b8d9a9..840982f 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VOODOO_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86DGAPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VOODOO
 	bool "xf86-video-voodoo"
package/x11r7/xdriver_xf86-video-wsfb/Config.in +6 -0
index c8e8b99..9be43e3 100644
@@ -1,6 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_WSFB_AVAILABLE
 	def_bool y
 	depends on BROKEN # Fails to build. Actually this is OpenBSD/NetBSD stuff.
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_WSFB
 	bool "xf86-video-wsfb"
package/x11r7/xdriver_xf86-video-xgi/Config.in +7 -0
index b758324..7507e50 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGI_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGI
 	bool "xf86-video-xgi"
package/x11r7/xdriver_xf86-video-xgixp/Config.in +7 -0
index 52a80ec..10969c7 100644
@@ -1,5 +1,12 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGIXP_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_RENDERPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_RANDRPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_MESA3D_AVAILABLE
 
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_XGIXP
 	bool "xf86-video-xgixp"
package/x11r7/xkeyboard-config/Config.in +1 -0
index a4c49da..762d31f 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_XKEYBOARD_CONFIG_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XAPP_XKBCOMP_AVAILABLE
 
 config BR2_PACKAGE_XKEYBOARD_CONFIG
 	bool "xkeyboard-config"
package/x11r7/xlib_libFS/Config.in +3 -0
index bfe8ec1..88d1b98 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XLIB_LIBFS_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_XTRANS_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_FONTSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XLIB_LIBFS
 	bool "libFS"
package/x11r7/xlib_libICE/Config.in +2 -0
index 7286d81..bd2853b 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XLIB_LIBICE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_XTRANS_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
 
 config BR2_PACKAGE_XLIB_LIBICE
 	bool "libICE"
package/x11r7/xlib_libSM/Config.in +3 -0
index 0646e58..94657fb 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XLIB_LIBSM_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_XTRANS_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBICE_AVAILABLE
 
 config BR2_PACKAGE_XLIB_LIBSM
 	bool "libSM"
package/x11r7/xlib_libX11/Config.in +12 -0
index 9915d36..47d0e27 100644
@@ -1,5 +1,17 @@
 config BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_KBPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXAU_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_BIGREQSPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_XTRANS_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XEXTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_INPUTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XCMISCPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXDMCP_AVAILABLE
+	depends on BR2_PACKAGE_XUTIL_UTIL_MACROS_AVAILABLE
+	depends on BR2_PACKAGE_LIBXCB_AVAILABLE
 
 config BR2_PACKAGE_XLIB_LIBX11
 	bool "libX11"
package/x11r7/xlib_libXScrnSaver/Config.in +3 -0
index 098c8dc..174716c 100644
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XLIB_LIBXSCRNSAVER_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_SCRNSAVERPROTO_AVAILABLE
 
 config BR2_PACKAGE_XLIB_LIBXSCRNSAVER
 	bool "libXScrnSaver"
package/x11r7/xlib_libXau/Config.in +2 -0
index e6e2815..c15a79c 100644
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_XLIB_LIBXAU_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XUTIL_UTIL_MACROS_AVAILABLE
 
 config BR2_PACKAGE_XLIB_LIBXAU
 	bool "libXau"
package/x11r7/xlib_libXaw/Config.in +6 -0
index 5bcbbd0..56ad8a2 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_XLIB_LIBXAW_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBXMU_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXP_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXPM_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXT_AVAILABLE
 
 config BR2_PACKAGE_XLIB_LIBXAW
 	bool "libXaw"
package/x11r7/xlib_libXcomposite/Config.in +5 -0
index 17d2dae..7759c91 100644
@@ -1,5 +1,10 @@
 config BR2_PACKAGE_XLIB_LIBXCOMPOSITE_AVAILABLE
 	def_bool y
+	depends on BR2_PACKAGE_XLIB_LIBX11_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_COMPOSITEPROTO_AVAILABLE
+	depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
+	depends on BR2_PACKAGE_XPROTO_XPROTO_AVAILABLE
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXcursor/Config.in +4 -0
index 46ac040..3fc66ca 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXdamage/Config.in +4 -0
index 6e4facc..a658f45 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXdmcp/Config.in +2 -0
index 7e4266c..8081016 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXext/Config.in +3 -0
index 8d7b2c3..74ee824 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXfixes/Config.in +4 -0
index fdc134f..981eef7 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXfont/Config.in +7 -0
index ec4d48e..80196dd 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXfontcache/Config.in +3 -0
index e40c9cd..719701e 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXft/Config.in +6 -0
index 6e1dab0..fba8598 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXi/Config.in +4 -0
index cdb2622..b5c762a 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXinerama/Config.in +3 -0
index 5c07517..71b20b7 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXmu/Config.in +4 -0
index 4bc3333..12e62c7 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXp/Config.in +4 -0
index eb0298c..47a8fa7 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXpm/Config.in +4 -0
index f83b881..cfad625 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXprintAppUtil/Config.in +3 -0
index 3ebf84f..c87552e 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXprintUtil/Config.in +4 -0
index c437dca..1e6bd43 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXrandr/Config.in +6 -0
index 2243a7a..62a6f02 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXrender/Config.in +3 -0
index b5f8d76..a03e4d4 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXres/Config.in +4 -0
index a511ff6..072d4d3 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXt/Config.in +6 -0
index 8c7c74a..1b93a85 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXtst/Config.in +4 -0
index 0e5067c..ebf61c0 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXv/Config.in +4 -0
index d9da0ef..9d5ae32 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXvMC/Config.in +5 -0
index 50784ed..cccba38 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXxf86dga/Config.in +4 -0
index 4bcdd74..2645223 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libXxf86vm/Config.in +4 -0
index 41a36bd..3f12ea8 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libdmx/Config.in +3 -0
index d1d3b8b..80fcdf6 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libfontenc/Config.in +1 -0
index ccf26b8..2c949fd 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_liboldX/Config.in +1 -0
index 5ad792e..faaf67f 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libxkbfile/Config.in +2 -0
index cb61e21..3f2fb32 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xlib_libxkbui/Config.in +3 -0
index d852ee2..9c888e1 100644

Lines of this file are not shown. View the raw message.

package/x11r7/xserver_xorg-server/Config.in +42 -0

42 lines not on this page · raw message

package/x11vnc/Config.in +1 -0
index 2a2692b..c61befa 100644

Lines of this file are not shown. View the raw message.

package/xavante/Config.in +6 -0
index c534520..86ead43 100644

Lines of this file are not shown. View the raw message.

package/xfsprogs/Config.in +2 -0
index 2c03807..2dda4e3 100644

Lines of this file are not shown. View the raw message.

package/xl2tp/Config.in +1 -0
index 18f47f1..b9c6329 100644

Lines of this file are not shown. View the raw message.

package/xmlstarlet/Config.in +2 -0
index 0fcfe72..4bef3c4 100644

Lines of this file are not shown. View the raw message.

package/xstroke/Config.in +3 -0
index 797f68f..afdf684 100644

Lines of this file are not shown. View the raw message.

package/xterm/Config.in +2 -0
index 9a12a5e..736281d 100644

Lines of this file are not shown. View the raw message.

package/xvkbd/Config.in +2 -0
index 9d9da81..9f6ba07 100644

Lines of this file are not shown. View the raw message.

package/zeromq/Config.in +2 -0
index dd1adb6..ce8f725 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Signature · 1 line
1.7.2.5

Part of the diff is not shown here. View the raw message.

#21 lore raw

PATCH 7/7 script/support: get rid of now-useless pkg-avail script

In reply to Yann E. MORIN

This script has done its job, and is no-longer needed. RIP, script!

---
 support/scripts/pkg-avail |  286 ---------------------------------------------
 1 files changed, 0 insertions(+), 286 deletions(-)
 delete mode 100755 support/scripts/pkg-avail
support/scripts/pkg-avail deleted +0 -286
deleted file mode 100755
index 1f616fd..0000000
@@ -1,286 +0,0 @@
-#!/bin/bash
-set -e
-
-#-----------------------------------------------------------------------------
-# Find all packages and introduce the _AVAILABLE symbols for each of them
-# 10 packages per cset, it's easier to review
-
-AWK_SCRIPT_ADD='
-BEGIN {
-    nb_lines = 0;
-    delete lines;
-}
-
-{ lines[nb_lines++] = $0; }
-
-END {
-    PKG = toupper( pkg );
-    is_pkg = 0;
-    for( i = 0; i < nb_lines; i++ ) {
-        if( lines[i] ~ "^(menu)?config[[:space:]]+BR2_PACKAGE_" PKG "([[:space:]]+.*)?$" ) {
-            pkg_line = lines[i];
-            printf( "config BR2_PACKAGE_%s_AVAILABLE\n", PKG );
-            printf( "\tdef_bool y\n" );
-            is_pkg = 1;
-            break;
-        }
-        printf( "%s\n", lines[i] );
-    }
-
-    if( is_pkg ) {
-        deps_end = i+1;
-        nb_not_deps = 0;
-        while( deps_end < nb_lines ) {
-            if( lines[deps_end] ~ "^([[:space:]]+help)?$" ) {
-                break;
-            } else if ( lines[deps_end] ~ "^[[:space:]]+depends on " ) {
-                print lines[deps_end];
-                while( lines[deps_end] ~ "\\\\$" ) {
-                    deps_end++;
-                    print lines[deps_end];
-                }
-            } else {
-                not_deps[nb_not_deps++] = lines[deps_end];
-            }
-            deps_end++;
-        }
-        printf( "\n" );
-
-        printf( "%s\n", pkg_line );
-        for( i = 0; i < nb_not_deps; i++ ) {
-            printf( "%s\n", not_deps[i] );
-        }
-        printf( "\tdepends on BR2_PACKAGE_%s_AVAILABLE\n", PKG );
-
-        for( i = deps_end; i < nb_lines; i++ ) {
-            printf( "%s\n", lines[i] );
-        }
-    }
-}
-'
-
-#-----------------------------------------------------------------------------
-# Find all packages that depends on another package, and switch that to
-# the new _AVAILABLE dependency, plus a select on the main symbol
-
-AWK_SCRIPT_USE='
-BEGIN {
-    nb_lines = 0;
-    delete lines;
-}
-
-{ lines[nb_lines++] = $0; }
-
-END {
-    PKG = toupper( pkg );
-    nb_depends = 0;
-    delete depends;
-    for( i = 0; i < nb_lines; i++ ) {
-        if( lines[i] == "" ) {
-            break;
-        } else if( lines[i] ~ "^[[:space:]]+depends on BR2_PACKAGE_[^|&[:space:]]+$" ) {
-            pkg = gensub( "^[[:space:]]+depends on BR2_PACKAGE_([^[:space:]]+).*$",
-                          "\\1", "g", lines[i] );
-            depends[nb_depends++] = pkg;
-            printf( "\tdepends on BR2_PACKAGE_%s_AVAILABLE\n", pkg );
-        } else {
-            printf( "%s\n", lines[i] );
-        }
-    }
-
-    for( ; i < nb_lines; i++ ) {
-        printf( "%s\n", lines[i] );
-        if( lines[i] ~ "^(menu)?config BR2_PACKAGE_" PKG "$" ) {
-            while( lines[++i] !~ "^([[:space:]]+(select|help)|[[:space:]]*$)" ) {
-                printf( "%s\n", lines[i] );
-            }
-            break;
-        }
-    }
-
-    for( j=0; j < nb_depends; j++ ) {
-        printf( "\tselect BR2_PACKAGE_%s\n", depends[j] );
-    }
-
-    for( ; i < nb_lines; i++ ) {
-        printf( "%s\n", lines[i] );
-    }
-}
-'
-
-#-----------------------------------------------------------------------------
-# Check that all 'select' on packages have a corresponding 'depends on' the
-# corresponding _AVAILABLE symbol
-
-AWK_SCRIPT_CHECK='
-BEGIN {
-    nb_lines = 0;
-    delete lines;
-}
-
-{ lines[nb_lines++] = $0; }
-
-END {
-    PKG = toupper( pkg );
-    delete selects;
-
-    for( i = 0; i < nb_lines; i++ ) {
-        if( lines[i] ~ "^(menu)?config BR2_PACKAGE_" PKG "$" ) {
-            break;
-        }
-    }
-
-    for( ; i < nb_lines; i++ ) {
-        if( lines[i] ~ "^([[:space:]]+help|$)" ) {
-            break
-        } else if( lines[i] ~ "^[[:space:]]+select BR2_PACKAGE_[^|&[:space:]]+$" ) {
-            pkg = gensub( "^[[:space:]]+select BR2_PACKAGE_([^[:space:]]+)$",
-                          "\\1", "g", lines[i] );
-            selects[pkg] = 1;
-        }
-    }
-
-    for( i = 0; i < nb_lines; i++ ) {
-        printf( "%s\n", lines[i] );
-        if( lines[i] ~ "^config BR2_PACKAGE_" PKG "_AVAILABLE$" ) {
-            break;
-        }
-    }
-
-    for( i++; i < nb_lines; i++ ) {
-        if( lines[i] == "" ) {
-            break;
-        } else if( lines[i] ~ "^[[:space:]]+depends on BR2_PACKAGE_[^|&[:space:]]+_AVAILABLE$" ) {
-            pkg = gensub( "^[[:space:]]+depends on BR2_PACKAGE_([^[:space:]]+)_AVAILABLE$",
-                          "\\1", "g", lines[i] );
-            selects[pkg] = 0;
-        }
-        printf( "%s\n", lines[i] );
-    }
-
-    for( pkg in selects ) {
-        if( selects[pkg] == 1 ) {
-            printf( "\tdepends on BR2_PACKAGE_%s_AVAILABLE\n", toupper( pkg ) );
-        }
-    }
-
-    for( ; i < nb_lines; i++ ) {
-        printf( "%s\n", lines[i] );
-    }
-}
-'
-
-
-#-----------------------------------------------------------------------------
-
-munge_files() {
-    local awk_script="${1}"
-
-    find package -type f -name Config.in    \
-    |sort                                   \
-    |(while read in_file; do
-        pkg="${in_file%/*}"
-        pkg="${pkg##*/}"
-        i=${i:-0}
-        printf "\rMunging package %s (%d)...                                    \r"   \
-               "${pkg}" ${i}
-        gawk -v pkg="${pkg//-/_}" "${awk_script}" "${in_file}" >/tmp/Config.in
-        mv /tmp/Config.in "${in_file}"
-        i=$((i+1))
-      done
-      printf "\n"
-    )
-}
-
-# I have a local patch that updates the doc for the _AVAILABLE stuff,
-# and I want all munging patches to be pushed after that
-stg push -a >/dev/null 2>&1 || true
-
-# Add the _AVAILABLE symbols...
-cat >/tmp/commit.msg <<-_EOF_
-	packages: introduce the _AVAILABLE symbol to all packages
-	
-	Introducing this symbol to all packages will allow other packages
-	to both safely select a package, and inherit its dependency.
-	
-	Given two packages, the mechanism works as follow:
-	
-	    ---8<---
-	    config BR2_PKG_FOO_AVAILABLE
-	    	depends on BR2_LARGEFILE
-	
-	    config BR2_PKG_FOO
-	    	bool "foo"
-	    	depends on BR2_PKG_FOO_AVAILABLE
-	    ---8<---
-	
-	    ---8<---
-	    config BR2_PKG_BAR_AVAILABLE
-	    	def_bool y
-	    	depends on BR2_PKG_FOO_AVAILABLE
-	    	depends on BR2_HAS_THREADS
-	
-	    config BR2_PKG_BAR
-	        bool "bar"
-	    	depends on BR2_PKG_BAR_AVAILABLE
-	    	select BR2_PKG_FOO
-	    ---8<---
-	
-	In this case, the 'select' on package 'foo' from package 'bar' is possible,
-	because package 'bar' inherits, via the BR2_PKG_BAR_AVAILABLE symbol, the
-	same dependencies as package 'foo'. So, package 'bar' can not be visible
-	if package 'foo' is not (although 'bar' may be hidden because of other
-	dependencies of its own, missing threads in the example).
-	
-	This patch only introduces this new symbol for all packages, moves the
-	packages' dependencies to these new symbols, and makes each package depend
-	solely on this new symbol. Cross-package use of 'select' will be introduced
-	in a later patch.
-	
-	With the construct above, using 'select' is now safe.
-_EOF_
-stg new --sign -f /tmp/commit.msg pkg-add-available
-rm /tmp/commit.msg
-munge_files "${AWK_SCRIPT_ADD}"
-stg refresh
-
-# ... and use them, now! ;-)
-cat >/tmp/commit.msg <<-_EOF_
-	packages: use the newly-introduced _AVAILABLE symbol
-	
-	This patch transforms all 'depends on' on a package to a 'depends on'
-	the corresponding _AVAILABLE symbol, and adds a 'select' against the
-	dependant package.
-_EOF_
-stg new --sign -f /tmp/commit.msg pkg-use-available
-rm /tmp/commit.msg
-munge_files "${AWK_SCRIPT_USE}"
-stg refresh
-
-# Finally, check for missing 'depends on ..._AVAILABLE'
-cat >/tmp/commit.msg <<-_EOF_
-	packages: check proper use of 'select' against packages
-	
-	This patch checks that all 'select' on a package have a 'depends on'
-	on the corresponding _AVAILABLE symbol.
-_EOF_
-stg new --sign -f /tmp/commit.msg pkg-check-available
-rm /tmp/commit.msg
-munge_files "${AWK_SCRIPT_CHECK}"
-stg refresh
-
-# And eventually, get rid of ourselves (Seppuku!)
-cat >/tmp/commit.msg <<-_EOF_
-	script/support: get rid of now-useless pkg-avail script
-	
-	This script has done its job, and is no-longer needed.
-	RIP, script!
-_EOF_
-stg new --sign -f /tmp/commit.msg pkg-delete-pkg_avail
-rm /tmp/commit.msg
-rm -f support/scripts/pkg-avail
-git rm support/scripts/pkg-avail
-stg refresh
-
-# And eventually, get rid of ourselves (Seppuku!)
-
Signature · 1 line
1.7.2.5
#22 lore raw

cover Introduce the _AVAILABLE mechanism

In reply to Yann E. MORIN

Hello again!

Quoted 2 lines · On Monday 10 September 2012 01:40:45 Yann E. MORIN wrote:

This patch series is an RFC for how to handle the _AVAILABLE symbol in packages.

Patches 4 and 6 were too big for the list, so they are pending, awaiting moderator approval... Sorry for the inconvenience...

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#23 lore raw

cover Introduce the _AVAILABLE mechanism

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yann" == Yann E MORIN <[email protected]> writes:

Yann> Hello again!

Quoted 2 lines · Yann> On Monday 10 September 2012 01:40:45 Yann E. MORIN wrote:
Quoted 2 lines

This patch series is an RFC for how to handle the _AVAILABLE symbol in packages.

Yann> Patches 4 and 6 were too big for the list, so they are pending, awaiting Yann> moderator approval... Sorry for the inconvenience...

I've approved them now. Thanks.

Signature · 1 line
Bye, Peter Korsgaard
#24 lore raw

cover Introduce the _AVAILABLE mechanism

In reply to Yann E. MORIN

Yann,

Quoted 23 lines · Yann E. MORIN

This patch series is an RFC for how to handle the _AVAILABLE symbol in packages.

See this thread for the original proposal:

    http://lists.busybox.net/pipermail/buildroot/2012-August/057144.html

In this series, all packages are converted to use the _AVAILABLE symbol. My reasoning behind this is that:

1. all packages use the same mechanism, so they are consistent with each others
2. modifying a package (ie. adding new dependencies) is easy, and does not require tracking down all dependant packages
3. the dependencies of the comments "foo requires bar" are automatically updated in this case (although that's minor, and the comment themselves need updating)
4. with the new script in patch 2, it's dirt-easy to add a new package using the _AVAILABLE mechanism

On the other hand, Arnout pointed out that only packages with depenencies on toolchain features should be converted, and in cascade, packages that depend on those, leaving alone packages that do not have any depednency at all (if I understood correctly):

Quoted 6 lines
    http://lists.busybox.net/pipermail/buildroot/2012-August/058040.html

Of course, no need to say I'm in favor of modifying all packages, if at least only for points 1&2 above. ;-) Of course, I understand Arnout's concerns about keeping simplicity and not adding cruft where it is not needed. This post is to request comments on this new deeply-impacting change.

Sorry for not getting back to you earlier about this.

I am definitely in favour of this, and I'm really impressed by the methodology you've used to achieve this. I will post a few comments as replies to the individual patches with minor things.

However, I'd like you to update us on what are the remaining issues to be solved before being able to commit this (of course, the script needs to be re-executed to update all packages that have changed since you posted the patch series, but you seemed to mention other issues as well, gettext and maybe others).

Quoted 4 lines

Again, this series is an _RFC_ on the _AVAILABLE mechanism, so the first question we must answer is:

Do we even want this mechanism in buildroot at all?

Yes, we want this mechanism. Anyone trying to solve
http://autobuild.buildroot.org/results/3eaadd2365d60f574ba8daef45b34370cc5c6272/build-end.log
would agree with this change. I agree that it makes the simple package slightly more complicated, but not too much, so it sounds to me like it is a reasonable trade-off.

Best regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#25 lore raw

cover Introduce the _AVAILABLE mechanism

In reply to Yann E. MORIN

Yann,

Quoted 9 lines · Yann E. MORIN

To be noted, the changes in patch 4 to 6 are purely mechanical, and will need more review and manual tweaks before that series can be applied. Most notably, having the gettext rework series [0] applied first would eliminate a large class of corner-cases (eg. cases like: "select PKG_FOO if BLA"). Also, some packages have 'select' on other package's options, and that needs to be manually reviewed, as it's not easy to distinguish a package's option symbol from a package symbol (eg. BR2_PACKAGE_UTIL_LINUX_MOUNT: is it a package named 'util-linux-mount', or is it the option 'mount' of a package named 'util-linux'?)

Ok, I noted three "problems", that I think will have to fixed manually.

Problem 1: recursive dependencies introduced
============================================

Running 'make menuconfig', I get:

package/python/Config.in:6:error: recursive dependency detected!
package/python/Config.in:6: symbol BR2_PACKAGE_PYTHON is selected by BR2_PACKAGE_PYTHON_DPKT
package/python-dpkt/Config.in:5: symbol BR2_PACKAGE_PYTHON_DPKT depends on BR2_PACKAGE_PYTHON
package/x11r7/Config.in:1:error: recursive dependency detected!
package/x11r7/Config.in:1: symbol BR2_PACKAGE_XORG7 is selected by BR2_PACKAGE_MATCHBOX
package/matchbox/Config.in:10: symbol BR2_PACKAGE_MATCHBOX depends on BR2_PACKAGE_MATCHBOX_AVAILABLE
package/matchbox/Config.in:1: symbol BR2_PACKAGE_MATCHBOX_AVAILABLE depends on BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE
package/x11r7/xlib_libXext/Config.in:1: symbol BR2_PACKAGE_XLIB_LIBXEXT_AVAILABLE depends on BR2_PACKAGE_XORG7
package/x11r7/Config.in:16:error: recursive dependency detected!
package/x11r7/Config.in:16: choice <choice> contains symbol BR2_PACKAGE_XSERVER_xorg
package/x11r7/Config.in:22: symbol BR2_PACKAGE_XSERVER_xorg is part of choice BR2_PACKAGE_MESA3D
package/x11r7/mesa3d/Config.in:13: symbol BR2_PACKAGE_MESA3D is selected by BR2_PACKAGE_LIBEVAS_GL
package/efl/libevas/Config.in:144: symbol BR2_PACKAGE_LIBEVAS_GL is part of choice <choice>
package/efl/libevas/Config.in:139: choice <choice> contains symbol <choice>
package/efl/libevas/Config.in:139: choice <choice> contains symbol BR2_PACKAGE_LIBEVAS_SDL_GL
package/efl/libevas/Config.in:86: symbol BR2_PACKAGE_LIBEVAS_SDL_GL depends on BR2_PACKAGE_XSERVER_xorg
package/x11r7/Config.in:22: symbol BR2_PACKAGE_XSERVER_xorg is part of choice <choice>
package/libgtk2/Config.in:15:error: recursive dependency detected!
package/libgtk2/Config.in:15: symbol BR2_PACKAGE_LIBGTK2 is selected by BR2_PACKAGE_LIBGLADE
package/libglade/Config.in:9: symbol BR2_PACKAGE_LIBGLADE is selected by BR2_PACKAGE_SYSPROF_GUI
package/sysprof/Config.in:19: symbol BR2_PACKAGE_SYSPROF_GUI depends on BR2_PACKAGE_LIBGTK2
package/multimedia/gst-plugins-base/Config.in:5:error: recursive dependency detected!
package/multimedia/gst-plugins-base/Config.in:5: symbol BR2_PACKAGE_GST_PLUGINS_BASE is selected by BR2_PACKAGE_QT_PHONON
package/qt/Config.in:268: symbol BR2_PACKAGE_QT_PHONON depends on BR2_PACKAGE_GSTREAMER
package/multimedia/gstreamer/Config.in:6: symbol BR2_PACKAGE_GSTREAMER is selected by BR2_PACKAGE_GST_PLUGINS_BASE

Looking at the first one, it seems to be caused by the fact that all Python external packages are enclosed inside a "if BR2_PACKAGE_PYTHON" in package/Config.in, so this Python dependency is already available.

I think this problem can only be solved with manual intervention.

Problem 2: incorrect addition of dependencies on package sub-options
====================================================================

In package/python-dpkt/Config.in, your script generates:

config BR2_PACKAGE_PYTHON_DPKT_AVAILABLE
def_bool y
depends on BR2_PACKAGE_PYTHON_AVAILABLE depends on BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE

But the last line shouldn't be there. BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE doesn't exist: BR2_PACKAGE_PYTHON_ZLIB is a sub-option of the python package.

On the other hand, the sub-option are lacking the addition of "depends on ..._AVAILABLE", for example in package/python/Config.in:

config BR2_PACKAGE_PYTHON_ZLIB
bool "zlib module"
select BR2_PACKAGE_ZLIB
help
zlib support in Python

this should become:

config BR2_PACKAGE_PYTHON_ZLIB
bool "zlib module"
select BR2_PACKAGE_ZLIB
+ depends on BR2_PACKAGE_ZLIB_AVAILABLE
help
zlib support in Python

But then in that case, we should also have a BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE symbol, so that python-dpkt can depend on it instead of forcefully selecting BR2_PACKAGE_PYTHON_ZLIB, without knowing if zlib is available or not.

This problem however is going to be present in many many places, so I don't know if manual intervention is reasonable for it. But on the other hand, I am not sure it is possible to write an automated script to solve this problem.

Problem 3: removing legacy
==========================

Due to the absence of such a _AVAILABLE mechanism, we have added a lot of "depends on" in many packages that would now become useless. Take for example libgtk2:

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 [...]

Those last two "depends on" are now useless, because those dependencies are automatically provided by the depends on CAIRO_AVAILABLE and LIBGLIB2_AVAILABLE.

So those legacy dependencies should be removed.

Here, I don't think an automated process is possible, a human intervention will be needed to find out if those legacy dependencies can be removed or not, on a case by case basis.

So all in all, the problem I'm most worried about is problem (2). Have you thought about it already?

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#26 lore raw

cover Introduce the _AVAILABLE mechanism

Thomas, All,

Quoted 14 lines · On Sunday 14 October 2012 Thomas Petazzoni wrote:
Quoted 9 lines · Yann E. MORIN

To be noted, the changes in patch 4 to 6 are purely mechanical, and will need more review and manual tweaks before that series can be applied. Most notably, having the gettext rework series [0] applied first would eliminate a large class of corner-cases (eg. cases like: "select PKG_FOO if BLA"). Also, some packages have 'select' on other package's options, and that needs to be manually reviewed, as it's not easy to distinguish a package's option symbol from a package symbol (eg. BR2_PACKAGE_UTIL_LINUX_MOUNT: is it a package named 'util-linux-mount', or is it the option 'mount' of a package named 'util-linux'?)

Ok, I noted three "problems", that I think will have to fixed manually.

Quoted 8 lines

Problem 1: recursive dependencies introduced
============================================

Running 'make menuconfig', I get:

package/python/Config.in:6:error: recursive dependency detected!
package/python/Config.in:6: symbol BR2_PACKAGE_PYTHON is selected by BR2_PACKAGE_PYTHON_DPKT
package/python-dpkt/Config.in:5: symbol BR2_PACKAGE_PYTHON_DPKT depends on BR2_PACKAGE_PYTHON

[--SNIP lots of recursive deps--]

Quoted 3 lines

Looking at the first one, it seems to be caused by the fact that all Python external packages are enclosed inside a "if BR2_PACKAGE_PYTHON" in package/Config.in, so this Python dependency is already available.

Strange. I do not recall all those recursive deps issues. I'll check here.

My gut feeling is that the "if BR2_PACKAGE_PYTHON" should go, now that we have _AVAILABLE.

Quoted 1 line

I think this problem can only be solved with manual intervention.

Yep.

Quoted 37 lines

Problem 2: incorrect addition of dependencies on package sub-options
====================================================================

In package/python-dpkt/Config.in, your script generates:

config BR2_PACKAGE_PYTHON_DPKT_AVAILABLE
def_bool y
depends on BR2_PACKAGE_PYTHON_AVAILABLE depends on BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE

But the last line shouldn't be there. BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE doesn't exist: BR2_PACKAGE_PYTHON_ZLIB is a sub-option of the python package.

On the other hand, the sub-option are lacking the addition of "depends on ..._AVAILABLE", for example in package/python/Config.in:

config BR2_PACKAGE_PYTHON_ZLIB
bool "zlib module"
select BR2_PACKAGE_ZLIB
help
zlib support in Python

this should become:

config BR2_PACKAGE_PYTHON_ZLIB
bool "zlib module"
select BR2_PACKAGE_ZLIB
+ depends on BR2_PACKAGE_ZLIB_AVAILABLE
help
zlib support in Python

But then in that case, we should also have a BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE symbol, so that python-dpkt can depend on it instead of forcefully selecting BR2_PACKAGE_PYTHON_ZLIB, without knowing if zlib is available or not.

Quoted 4 lines

This problem however is going to be present in many many places, so I don't know if manual intervention is reasonable for it. But on the other hand, I am not sure it is possible to write an automated script to solve this problem.

As much as I remember, there were not so much cases like that. But, except for manual intervention, I do not see how we could differentiate that case.

The problem is (form my script's point of view):
Is BR2_PACKAGE_PYTHON_ZLIB representing:
- the package "python-zlib", or
- the option "zlib" of the package "python"?

Except for intrumenting the option symbol (eg.: BR2_PACKAGE_PYTHON_OPT_ZLIB) which I doubt we want to, there is no easy way for the script to detect this situation.

And then, do we want to push the _AVAILABLE semantic dow to sub-option? I doubt we do.

So, depending on sub-options should be as:

config BR2_PACKAGE_PYTHON_DPKT_AVAILABLE
def_bool y
depends on BR2_PACKAGE_PYTHON_AVAILABLE depends on BR2_PACKAGE_PYTHON_ZLIB # Sub-option

Quoted 18 lines

Problem 3: removing legacy
==========================

Due to the absence of such a _AVAILABLE mechanism, we have added a lot of "depends on" in many packages that would now become useless. Take for example libgtk2:

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 [...]

Those last two "depends on" are now useless, because those dependencies are automatically provided by the depends on CAIRO_AVAILABLE and LIBGLIB2_AVAILABLE.

Quoted 5 lines

So those legacy dependencies should be removed.

Here, I don't think an automated process is possible, a human intervention will be needed to find out if those legacy dependencies can be removed or not, on a case by case basis.

Yep, manual intervention, one of the corener-cases I wrote about in my intro mail.

Quoted 2 lines

So all in all, the problem I'm most worried about is problem (2). Have you thought about it already?

Yep, I've thought about it. Answer: manual review.
( Don't worry, *I* will have to do it before I submit a final series! ;-) )

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#27 lore raw

cover Introduce the _AVAILABLE mechanism

Yann,

Quoted 5 lines · Yann E. MORIN
Quoted 3 lines

Looking at the first one, it seems to be caused by the fact that all Python external packages are enclosed inside a "if BR2_PACKAGE_PYTHON" in package/Config.in, so this Python dependency is already available.

Strange. I do not recall all those recursive deps issues. I'll check here.

Ok.

Quoted 2 lines

My gut feeling is that the "if BR2_PACKAGE_PYTHON" should go, now that we have _AVAILABLE.

Yes, it's a possible solution that sounds reasonable.

Quoted 25 lines
Quoted 9 lines

But then in that case, we should also have a BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE symbol, so that python-dpkt can depend on it instead of forcefully selecting BR2_PACKAGE_PYTHON_ZLIB, without knowing if zlib is available or not.

This problem however is going to be present in many many places, so I don't know if manual intervention is reasonable for it. But on the other hand, I am not sure it is possible to write an automated script to solve this problem.

As much as I remember, there were not so much cases like that. But, except for manual intervention, I do not see how we could differentiate that case.

The problem is (form my script's point of view):
Is BR2_PACKAGE_PYTHON_ZLIB representing:
- the package "python-zlib", or
- the option "zlib" of the package "python"?

Except for intrumenting the option symbol (eg.: BR2_PACKAGE_PYTHON_OPT_ZLIB) which I doubt we want to, there is no easy way for the script to detect this situation.

And then, do we want to push the _AVAILABLE semantic dow to sub-option? I doubt we do.

Quoted 6 lines

So, depending on sub-options should be as:

config BR2_PACKAGE_PYTHON_DPKT_AVAILABLE
def_bool y
depends on BR2_PACKAGE_PYTHON_AVAILABLE depends on BR2_PACKAGE_PYTHON_ZLIB # Sub-option

Unfortunately this is not what we want:

* We want the python-dpkt package to be visible to the user only if Python (BR2_PACKAGE_PYTHON) has been enabled;

* However, when one enables BR2_PACKAGE_PYTHON, we want the python-dpkt package to be visible even if the BR2_PACKAGE_PYTHON_ZLIB option is not selected, and we want this option to be automatically enabled when the user enables the python-dpkt package. However, we have to be careful not to show the python-dpkt option if for some reason the BR2_PACKAGE_PYTHON_ZLIB option cannot be selected due to a dependency that isn't available (in our zlib is available on all architectures, but we could imagine depending on, say, libfoobar that is only available on certain architectures)

The reasoning is that:

* We can assume that a user knows that the Python interpreter should be enabled in order to see all Python external packages;

* However, we don't want to have the user to know about the need to enable the BR2_PACKAGE_PYTHON_ZLIB suboption in order to get access to python-dpkt.

In other words: we can assume the user knows about big subsystems (X.org, Python, Perl, etc.), but we don't want him to know the fine details of the dependencies on sub-options.

Quoted 6 lines
Quoted 3 lines

Here, I don't think an automated process is possible, a human intervention will be needed to find out if those legacy dependencies can be removed or not, on a case by case basis.

Yep, manual intervention, one of the corener-cases I wrote about in my intro mail.

Ok.

Quoted 5 lines
Quoted 2 lines

So all in all, the problem I'm most worried about is problem (2). Have you thought about it already?

Yep, I've thought about it. Answer: manual review.
( Don't worry, *I* will have to do it before I submit a final series! ;-) )

Ok.

So, for me, problem (2) remains unsolved at the moment. I guess the only solution is to add _AVAILABLE kconfig knobs for all the package sub-options that select other packages. But this means adding a lot more _AVAILABLE knobs than we initially thought.

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#28 lore raw

cover Introduce the _AVAILABLE mechanism

Quoted 3 lines · Thomas Petazzoni

In other words: we can assume the user knows about big subsystems (X.org, Python, Perl, etc.), but we don't want him to know the fine details of the dependencies on sub-options.

Someone (I don't remember who) proposed to stop doing that, because it adds
little value. Indeed, it's not as if 9 extra entries in the Scripting Languages menu will suddenly make it more difficult to navigate. Maybe X.org is an exception, but even there most packages are collected in the x11r7 menus (and those could still be kept in a conditional).

Originally I was in favour of having the BR2_PACKAGE_PYTHON conditionals,
but it _would_ probably make life simpler if we only had dependencies on toolchain options...

Yann, what do you think, would it make suboption handling simpler if there
was no 'depends on BR2_PACKAGE_PYTHON'?

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#29 lore raw

cover Introduce the _AVAILABLE mechanism

Arnout, Thomas, All,

Quoted 11 lines · On Tuesday 16 October 2012 Arnout Vandecappelle wrote:
Quoted 3 lines · Thomas Petazzoni

In other words: we can assume the user knows about big subsystems (X.org, Python, Perl, etc.), but we don't want him to know the fine details of the dependencies on sub-options.

Someone (I don't remember who) proposed to stop doing that, because it adds
little value. Indeed, it's not as if 9 extra entries in the Scripting Languages menu will suddenly make it more difficult to navigate. Maybe X.org is an exception, but even there most packages are collected in the x11r7 menus (and those could still be kept in a conditional).

Quoted 6 lines

Originally I was in favour of having the BR2_PACKAGE_PYTHON conditionals,
but it _would_ probably make life simpler if we only had dependencies on toolchain options...

Yann, what do you think, would it make suboption handling simpler if there
was no 'depends on BR2_PACKAGE_PYTHON'?

In fact, I think python modules _should_ depends on BR2_PACKAGE_PYTHON, and that should be more easily handled when _AVAILABLE is, well, available.

The problem with python modules is that they are hidden behind a
if BR2_PACKAGE_PYTHON
source [python-modules]
endif
*in* *addition* *of*, for each package:
depends on BR2_PACKAGE_PYTHON

I think the "if BR2_PACKAGE_PYTHON" should be removed, and we should keep only the per-package depends on. If/when we add _AVAILABLE, it will be easier to manage.

Yes, that will add more entries in the menuconfig. But that's not as it were not already a bit crowded... ;-) And it can go in a sub-menu, anyway, like:

    Interpreters  --->
        Python support  --->
           [ ] Python
           External python modules  --->
               [ ] Foo

When you select python:

    Interpreters  --->
        Python support  --->
           [*] Python
           python module format (.pyc only)
           Core python modules  --->
               [ ] Bar
           External python modules  --->
               [ ] Foo

And when you select Foo:

    Interpreters  --->
        Python support  --->
           -*- Python
           python module format (.pyc only)
           Core python modules  --->
               [ ] Bar
           External python modules  --->
               [*] Foo

The most problematic issue I've encountered is with X11r7. The top-level config option is BR2_PACKAGE_XORG7, but it is *not* a package.

What I would suggest is something like (just out of my tired brain):

choice
prompt "X Window System server type"

config BR2_PACKAGE_XSERVER_none
bool "None"

config BR2_PACKAGE_XSERVER_xorg # <-- Note how it currently is lower-case
bool "Modular X.org" # 'xorg' in the repository...
depends on BR2_PACKAGE_XSERVER_xorg_AVAILABLE
select BR2_HAS_XORG7

comment 'X.org requires largefile and C++ support'
depends on !BR2_PACKAGE_XSERVER_xorg_AVAILABLE

config BR2_PACKAGE_XSERVER_tinyx # <-- Ditto lower-case 'tinyx'...
bool "TinyX"
depends on BR2_PACKAGE_XSERVER_tinyx_AVAILABLE select BR2_HAS_XORG7

comment 'TinyX depends on BLABLA'
depends on !BR2_PACKAGE_XSERVER_xorg_AVAILABLE

endchoice

config BR2_HAS_XORG7
bool

menu "Xorg7 libs and apps"
source "package/Xfoo/Config.in"
# source other packages, too
endmenu

And then in package Xfoo:

config BR2_PACKAGE_XFOO_AVAILABLE
def_bool y
depends on BR2_HAS_XORG7
depends on BR2_PACKAGE_BAR_AVAILABLE

comment "Package Xfoo requires an Xserver"
depends on !BR2_PACKAGE_XFOO_AVAILABLE

config BR2_PACKAGE_XFOO
bool "Xfoo"
depends on BR2_PACKAGE_XFOO_AVAILABLE
select BR2_PACKAGE_BAR

And so on...

Of course, it goes against the mantra:
I know I want package 'Xfoo', just select whatever I need to get it, for ${DEITY_NAME}'s sake!

It should probably be possible to keep that semantic, yet with a bit more involvement.

Comments?

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#30 lore raw

cover Introduce the _AVAILABLE mechanism

Quoted 2 lines · Yann E. MORIN

The most problematic issue I've encountered is with X11r7. The top-level config option is BR2_PACKAGE_XORG7, but it is*not* a package.

I don't see what is the problem with that. USE_WCHAR is also not a package.
Except maybe the name is inconvenient.

Quoted 13 lines

What I would suggest is something like (just out of my tired brain):

choice
prompt "X Window System server type"

config BR2_PACKAGE_XSERVER_none
bool "None"

config BR2_PACKAGE_XSERVER_xorg #<-- Note how it currently is lower-case
bool "Modular X.org" # 'xorg' in the repository...
depends on BR2_PACKAGE_XSERVER_xorg_AVAILABLE
select BR2_HAS_XORG7

Quoted 7 lines

comment 'X.org requires largefile and C++ support'
depends on !BR2_PACKAGE_XSERVER_xorg_AVAILABLE

config BR2_PACKAGE_XSERVER_tinyx #<-- Ditto lower-case 'tinyx'...
bool "TinyX"
depends on BR2_PACKAGE_XSERVER_tinyx_AVAILABLE select BR2_HAS_XORG7

Actually, the XSERVER_tinyx/xorg option is wrongly placed: it should be
a sub-option of BR2_PACKAGE_XSERVER_XORG_SERVER. The choice has no real effect unless BR2_PACKAGE_XSERVER_XORG_SERVER is also selected (and all the xorg-server modules select the xorg-server). But that's a wholly different story.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#31 lore raw

cover Introduce the _AVAILABLE mechanism

In reply to Arnout Vandecappelle

Arnout,

Quoted 6 lines · Arnout Vandecappelle

Originally I was in favour of having the BR2_PACKAGE_PYTHON
conditionals, but it _would_ probably make life simpler if we only had dependencies on toolchain options...

Yann, what do you think, would it make suboption handling simpler
if there was no 'depends on BR2_PACKAGE_PYTHON'?

The real problem with _AVAILABLE is not caused by Python/X.org packages being under a big "if" condition. The big problem we hadn't really seen is that we don't only need to add _AVAILABLE options for each package, but also for each package sub-options that does a select on another package. This means that the number of _AVAILABLE kconfig options to add is a lot bigger than we expected, at a point that probably makes the _AVAILABLE solution relatively impractical.

Best regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#32 lore raw

cover Introduce the _AVAILABLE mechanism

Thomas, Arnout, All,

Quoted 8 lines · On Wednesday 17 October 2012 Thomas Petazzoni wrote:
Quoted 6 lines · Arnout Vandecappelle

Originally I was in favour of having the BR2_PACKAGE_PYTHON
conditionals, but it _would_ probably make life simpler if we only had dependencies on toolchain options...

Yann, what do you think, would it make suboption handling simpler
if there was no 'depends on BR2_PACKAGE_PYTHON'?

Quoted 7 lines

The real problem with _AVAILABLE is not caused by Python/X.org packages being under a big "if" condition. The big problem we hadn't really seen is that we don't only need to add _AVAILABLE options for each package, but also for each package sub-options that does a select on another package. This means that the number of _AVAILABLE kconfig options to add is a lot bigger than we expected, at a point that probably makes the _AVAILABLE solution relatively impractical.

Maybe the solution would be that we do not add _AVAILABLE to sub-options, but we can still use it from sub-options. Eg. (condensed):

config PKG_FOO_AVAIL
def_bool y
depends on blabla

config PKG_FOO
bool "package foo"
depends on PKG_FOO_AVAIL
select blabla

config PKG_BAR_AVAIL
def_bool y
depends on booboo

config PKG_BAR
bool "package bar"
depends on PKG_BAR_AVAIL
select booboo

if PKG_BAR

config PKG_BAR_OPTION
bool "bar's option"
depends on PKG_FOO_AVAIL
select PKG_FOO

comment "bar's option needs package foo"
depends on !PKG_FOO_AVAIL

endif # PKG_BAR

Isn't that sufficient?

For python's external modules, we should treat them as normal packages that "depends on BR2_PACKAGE_PYTHON_AVAILABLE" and "select BR2_PACKAGE_PYTHON".

Dito for the Xorg's packages, except it's a bit different because the BR2_PACKAGE_XORG7 symbol does *not* represent a package (see my previous mail for a proposed change).

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#33 lore raw

cover Introduce the _AVAILABLE mechanism

Quoted 29 lines · Yann E. MORIN

Maybe the solution would be that we do not add _AVAILABLE to sub-options, but we can still use it from sub-options. Eg. (condensed):

config PKG_FOO_AVAIL
def_bool y
depends on blabla

config PKG_FOO
bool "package foo"
depends on PKG_FOO_AVAIL
select blabla

config PKG_BAR_AVAIL
def_bool y
depends on booboo

config PKG_BAR
bool "package bar"
depends on PKG_BAR_AVAIL
select booboo

if PKG_BAR

config PKG_BAR_OPTION
bool "bar's option"
depends on PKG_FOO_AVAIL
select PKG_FOO

Quoted 6 lines

comment "bar's option needs package foo"
depends on !PKG_FOO_AVAIL

endif # PKG_BAR

Isn't that sufficient?

From a quick review, it sounds sufficient indeed. What surprises me is why we didn't think about this solution the other day when discussing your _AVAILABLE patch set.

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#34 lore raw

cover Introduce the _AVAILABLE mechanism

Thomas, Arnout, All,

Quoted 5 lines · On Wednesday 17 October 2012 Thomas Petazzoni wrote:
Quoted 3 lines · Yann E. MORIN

Maybe the solution would be that we do not add _AVAILABLE to sub-options, but we can still use it from sub-options. Eg. (condensed):

[--SNIP--]

Quoted 5 lines
Quoted 1 line

Isn't that sufficient?

From a quick review, it sounds sufficient indeed. What surprises me is why we didn't think about this solution the other day when discussing your _AVAILABLE patch set.

To be honest, I'm surprised too I did not think about it. ;-]

In fact, as an after-thought, I do know why. That's because I was thinking the other way-around: a package that depends on a sub-option of another package, sub-option which in turn depends on a third package. *That* one would require an _AVAILABLE for sub-options.

For example, libuuid which is a sub-option of util-linux (although that one sub-option has no dpendency; but you get the idea) is select by a few other packages (eg. parted, ntfs-3g...).

And going *that* route is IMHO not what we want.

And first, we need to know if the case really exists (I was not able to find a good heuristic to find such a case with a simple grep, so I gave up the search).

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#35 lore raw

cover Introduce the _AVAILABLE mechanism

Yann,

Quoted 10 lines · Yann E. MORIN
Quoted 3 lines

From a quick review, it sounds sufficient indeed. What surprises me is why we didn't think about this solution the other day when discussing your _AVAILABLE patch set.

To be honest, I'm surprised too I did not think about it. ;-]

In fact, as an after-thought, I do know why. That's because I was thinking the other way-around: a package that depends on a sub-option of another package, sub-option which in turn depends on a third package. *That* one would require an _AVAILABLE for sub-options.

Aaah yes.

Quoted 5 lines

For example, libuuid which is a sub-option of util-linux (although that one sub-option has no dpendency; but you get the idea) is select by a few other packages (eg. parted, ntfs-3g...).

And going *that* route is IMHO not what we want.

Our example was the one of python-dpkt, which was doing a:

depends on BR2_PACKAGE_PYTHON
select BR2_PACKAGE_PYTHON_ZLIB

or BR2_PACKAGE_PYTHON_ZLIB is not a package per-se, but a sub-option of the python package. And this this sub-option does a select, we should introduce a BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE, I don't see a way around it.

Except modifying kconfig, as we discussed, of course...

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#36 lore raw

cover Introduce the _AVAILABLE mechanism

Quoted 9 lines · Thomas Petazzoni

Our example was the one of python-dpkt, which was doing a:

depends on BR2_PACKAGE_PYTHON
select BR2_PACKAGE_PYTHON_ZLIB

or BR2_PACKAGE_PYTHON_ZLIB is not a package per-se, but a sub-option of the python package. And this this sub-option does a select, we should introduce a BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE, I don't see a way around it.

It is still possible to add an _AVAILABLE for sub-options that need them.
For something like a python module, it does make sense have an _AVAILABLE for the sub-option. Similar for GStreamer modules using an external library. These things can be considered a separate (micro)package, in some sense.

If the script converts the python-dpkt example above into
depends on BR2_PACKAGE_PYTHON_ZLIB_AVAILABLE
select BR2_PACKAGE_PYTHON_ZLIB
won't kconfig detect that PYTHON_ZLIB_AVAILABLE doesn't exist? Then it will be easy enough to fix those suboptions manually (if there aren't too many of them...).

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#37 lore raw

cover Introduce the _AVAILABLE mechanism

In reply to Yann E. MORIN

Although we'll discuss this at the BR devel day next Saturday, Yann won't be there
so we'd better have some discussion on the list as well (unless, Yann, you could be available on chat?).

On 09/10/12 01:40, Yann E. MORIN wrote:
[snip]

Quoted 10 lines

On the other hand, Arnout pointed out that only packages with depenencies on toolchain features should be converted, and in cascade, packages that depend on those, leaving alone packages that do not have any depednency at all (if I understood correctly):

     http://lists.busybox.net/pipermail/buildroot/2012-August/058040.html

Of course, no need to say I'm in favor of modifying all packages, if at least only for points 1&2 above. ;-) Of course, I understand Arnout's concerns about keeping simplicity and not adding cruft where it is not needed. This post is to request comments on this new deeply-impacting change.

With the pkg-new script, my concern is much reduced. The simplicity of having
the same pattern all over wins out in that case.

[snip]

Quoted 6 lines

Again, this series is an _RFC_ on the _AVAILABLE mechanism, so the first question we must answer is:

Do we even want this mechanism in buildroot at all?

Then, and only then, can we decide what to do, and how far to push it.

There is still an alternative: patch Kconfig to "properly" handle
select/depend transitivity. I.e., when a symbol selects another symbol, this implies that all dependencies of the other symbol are inherited. Did anyone ever investigate the feasibility of such an feature?

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#38 lore raw

cover Introduce the _AVAILABLE mechanism

Arnout, All,

Quoted 3 lines · On Wednesday 31 October 2012 Arnout Vandecappelle wrote:

Although we'll discuss this at the BR devel day next Saturday, Yann won't be there
so we'd better have some discussion on the list as well (unless, Yann, you could be available on chat?).

No, I won't be on-line at all.

I'll be in Bracelona, too, but will be touring with my girlfriend. That excludes any form of interaction with you guys during these two days! ;-)

Quoted 8 lines · Yann E. MORIN

[snip]

Quoted 6 lines

On the other hand, Arnout pointed out that only packages with depenencies on toolchain features should be converted, and in cascade, packages that depend on those, leaving alone packages that do not have any depednency at all (if I understood correctly):

     http://lists.busybox.net/pipermail/buildroot/2012-August/058040.html
Quoted 7 lines
Quoted 4 lines

Of course, no need to say I'm in favor of modifying all packages, if at least only for points 1&2 above. ;-) Of course, I understand Arnout's concerns about keeping simplicity and not adding cruft where it is not needed. This post is to request comments on this new deeply-impacting change.

With the pkg-new script, my concern is much reduced. The simplicity of having
the same pattern all over wins out in that case.

OK. Did you have a look at it? Does it fit your use-case? What would be missing? (Note: it's still a little bare, and would probably do with a little bit of enhancements, but at least proves the point that it is possible to help adding new packages.)

Quoted 4 lines

[snip]

Quoted 3 lines

Again, this series is an _RFC_ on the _AVAILABLE mechanism, so the first question we must answer is:

Quoted 8 lines
Quoted 3 lines

Do we even want this mechanism in buildroot at all?

Then, and only then, can we decide what to do, and how far to push it.

There is still an alternative: patch Kconfig to "properly" handle
select/depend transitivity. I.e., when a symbol selects another symbol, this implies that all dependencies of the other symbol are inherited. Did anyone ever investigate the feasibility of such an feature?

Yes. Both Thomas and I have had a look (but separately). I got an headache each time I tried to understand the kconfig code. IIRC, Thomas' experience was a bit in the same vein.

My point of view is that we must consider (unless proven otherwise) that modifying kconfig to handle this select/depends mess is not possible.

If it were to be the case, then the change should go upstream (eg. the Linux kernel) for review first, and then we should lobby for it to be included there, before we should even try to use it.

But until then, lets consider this to be a limitation in kconfig that we have no possibiliy to overcome in kconfig itself.

With this in mind, I think the _AVAILABLE stuff (or any other alternate solution that still has to emerge) is the way to go.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#39 lore raw

cover Introduce the _AVAILABLE mechanism

Arnout, All,

Quoted 1 line · On Wednesday 31 October 2012 Yann E. MORIN wrote:

On Wednesday 31 October 2012 Arnout Vandecappelle wrote:

[--SNIP--]

Quoted 4 lines
Quoted 4 lines

There is still an alternative: patch Kconfig to "properly" handle
select/depend transitivity. I.e., when a symbol selects another symbol, this implies that all dependencies of the other symbol are inherited. Did anyone ever investigate the feasibility of such an feature?

[--SNIP--]

Quoted 3 lines

If it were to be the case, then the change should go upstream (eg. the Linux kernel) for review first, and then we should lobby for it to be included there, before we should even try to use it.

Let me also add this:

This is a change is the kconfig semantics, and will probably be a little bit difficult to make it accepted upstream, unless the solution is also usefull for the Linux kernel, which has gone to great lengths to avoid this very situation for many years now.

So, I would not count in such a change to be in a futur kernel in the foreseeable futur.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#40 lore raw

cover Introduce the _AVAILABLE mechanism

In reply to Yann E. MORIN
Quoted 10 lines · Yann E. MORIN
Quoted 4 lines
Quoted 4 lines

There is still an alternative: patch Kconfig to "properly" handle
select/depend transitivity. I.e., when a symbol selects another symbol, this implies that all dependencies of the other symbol are inherited. Did anyone ever investigate the feasibility of such an feature?

Yes. Both Thomas and I have had a look (but separately). I got an headache each time I tried to understand the kconfig code. IIRC, Thomas' experience was a bit in the same vein.

My point of view is that we must consider (unless proven otherwise) that modifying kconfig to handle this select/depends mess is not possible.

I completely agree. But if it had been easy to do, it might have been
preferable over adding verbosity to Config.in.

In that case, I guess I'll have to take the time to review those patches
before Saturday :-)

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#41 lore raw

cover Introduce the _AVAILABLE mechanism

Arnout, All,

Quoted 9 lines · On Wednesday 31 October 2012 Arnout Vandecappelle wrote:
Quoted 8 lines · Yann E. MORIN
Quoted 4 lines
Quoted 4 lines

There is still an alternative: patch Kconfig to "properly" handle
select/depend transitivity. I.e., when a symbol selects another symbol, this implies that all dependencies of the other symbol are inherited. Did anyone ever investigate the feasibility of such an feature?

Yes. Both Thomas and I have had a look (but separately). I got an headache each time I tried to understand the kconfig code. IIRC, Thomas' experience was a bit in the same vein.

Quoted 8 lines
Quoted 2 lines

My point of view is that we must consider (unless proven otherwise) that modifying kconfig to handle this select/depends mess is not possible.

I completely agree. But if it had been easy to do, it might have been
preferable over adding verbosity to Config.in.

In that case, I guess I'll have to take the time to review those patches
before Saturday :-)

I am supposed to send an updated series tomorrow evening. "Supposed to", that's the problematic phrase in this sentence.

I am late. So late.

But on the other hand, this new series would not be very different from the last I sent, so I wonder if it really makes sense to re-post.

But, I want to send an email that sums up the state of the change:
- for the series as it is:
- what's been done
- where there are issues
- what's left to do
- for future work:
- options dependening on another package
- package depending on option of another package
- ...

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'